Você está na página 1de 593

6ª Edição

Andrew Tanenbaum
Nick Feamster
David Wetheral 1 Giga bit
Et hernet Comunicação
Óptica

'":t.:gU Fast Ethernet


'.

Et hernet -
• ...
Snooping

- - -

ifransP.or:te: Sem-
t:;~ Conexão ...

~lgoritmo
o
ASSOCIADO CXR.
Cimara
'
~ Brasil•lra )
' dollvro

T164r Tanenbaum, Andrew.


Redes de computadores [recu rso eletrônico] / Andrew
Tanenbaum, Nick Fean1ster, David Wetherall; tradução: Daniel
Vieira; revisão técnica: Isaías Lima. - 6. ed. - [São Paulo]:
Pearson ; Porto Alegre : Bookman, 2021.
E-pub.

Ed itado também como livro impresso en1 2021.


ISBN 978-85-8260-561-5

1. Redes de comp utadores. 2. Internet. 1. Fean1ster, Nick.


II. Wetherall, David. III. Título.

CDU 004.7

Catalogação na pu blicação: Ka rin Lorien Menoncin - CRB 10/2147


Andrew Tanenbaum
Vrije Universiteit
Amsterdã, Holanda

Nick Feamster
Universidade de Chicago
Chicago, IL

David Wetherall
Google

6ª Edição

Trad ução
Daniel Vieira

Revisão Técnica
Isaías Li1na, Ph.D.
Professor da Universidade Federal de ltaj ubá (Uni fei)

Versão impressa
desta obra: 2021

'i>

Pearson Porto Alegre
2021
Obra originalmente publicada sob o título
Co1nputer netivorks, 6th edition, by Andrew Tanenbaum, published by Pearson Education, Inc., publishing
as Pearson, Copyright ©2021.

All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic, or mechanical, including photocopying, recording, or by any storage retrieval system, without
permission from Pearson Education,Inc.

Portuguese language translation copyright ©2021, by Grupo A Educação S.A., publishing as Bookman.
ISBN 9780135408001

Gerente editorial: Arysinha Jacques Affonso

Colaboraram nesta edição:

Editora: Simone de Fraga

Preparação de original: Daniela de Freitas Louzada

Leitura final: Paola de Oliveira

Capa: Márcio Monticelli

Projeto gráfico e editoração: Clic Editoração Eletrônica Ltda.

Reservados todos os direitos de publicação ao


GRUPO A EDUCAÇÃO S.A.
(Bookman é um selo editorial do GRUPO A EDUCAÇÃO S.A.)
Rua Ernesto Alves, 150 - Bairro Floresta
90220-190- Porto Alegre- RS
Fone: (51) 3027-7000

SAC 0800 703 3444 - www.grupoa.com.br


,
E proibida a duplicação ou reprodução deste volume, no todo ou em parte, sob quaisquer
formas ou por quaisquer meios (eletrônico, mecânico, gravação, fotocópia, distribuição na Web
e outros), sem permissão expressa da Editora.
Os autores

Andre\v S. Tanenbaum é bacharel em ciências pelo MIT e Ele obteve o Ph.D. e1n ciência da computação pelo
Ph.D. pela Universidade da Califórnia em Berkeley. E' pro- MJT em 2005, e S.B. e M.Eng. em engenharia elétrica e
fessor emérito de ciência da computação na Universidade ciência da computação pelo M1T en1 2000 e 200 l, respecti-
Vrije em Amsterdã, Holanda, onde lecionou sisternas ope- vamente. Ele trabalhou na Looksmart (que se tornou o ser-
racionais, redes e assuntos relacionados por rnais de 40 viço de diretório do Alta Vista), onde escreveu o prin1eiro
anos. Desenvolve pesquisas sobre sistemas operacionais, rastreador Web da empresa. Na Damballa, ele ajudou a pro-
embora tenha trabalhado com compiladores, sistemas dis- jetar o primeiro algoritmo de detecção de botnet da empresa.
tribuídos, segurança e outros tópicos no decon·er dos anos. O Professor Feamster é membro do conselho daACM.
Esses projetos de pesquisa resultaram e1n mais de 200 arti- Ele recebeu o Prên1io Presidencial de Início de Carreira
gos em periódicos e conferências. para Cientistas e Engenheiros (PECASE) por suas contri-
O professor Tanenbaum também foi autor e coautor de buições nas técnicas baseadas e1n dados para a segurança
cinco livros que até agora já tiveram 24 edições. Os livros de redes. Seu trabalho inicial na Plataforma de Controle de
forarn traduzidos para 21 idiomas, incluindo basco, chinês, Rotean1ento ganhou o USENIX Test ofTin1e Award por sua
influência na rede definida por software. Ele criou o pri-
francês, alernão, japonês, coreano, ro1neno, sérvio, espa-
1neiro curso on-line sobre o assunto. Ta1nbé1n foi instrutor
nhol, tailandês e português, e são usados em universidades
fundador do programa de rnestrado on-line em ciência da
no mundo inteiro.
computação da Georgia Tech.
É tarnbém o criador do MINIX, tun pequeno clone do
Feamster é um ávido corredor de longa distância, ten-
UNIX, destinado inicialn1ente ao uso e1n laboratórios de
do completado 20 rnaratonas, incluindo as de Boston, Nova
programação para alunos, e que foi a inspiração direta para Iorque e Chicago.
o Linux e sua plataforma inicial.
Tanenbaum é rnembro do conselho da ACM, rnembro David J. Wetherall trabalha no Google. Anteriormente, foi
do conselho do IEEE e mernbro da Royal Netherlands Aca- professor adjunto de ciência da computação e engenharia
den1y of Arts and Sciences. Tambérn ganhou diversos prê- na Universidade de Washington e consultor da fntel Labs,
mios científicos ACN, UEEE e USENIX, que estão listados a1nbas em Seattle. Obteve o bacharelado en1 engenharia
em sua página na Wikipedia. Tambérn possui dois doutora- elétrica pela Universidade do Oeste Australiano e o Pb.D.
dos com !áurea. Sua página na Internet pode ser encontrada em ciência da computação pelo MIT.
em wtvw.cs. vu.nll~ast. Trabalhou na área de redes durante as duas últimas
décadas. Sua pesquisa está focada em sistemas de rede, es-
Nick Feamster é o professor Neubauer de ciência da pecialmente redes sem fios e computação móvel, projeto de
con1putação e Diretor do Centro de Dados e Cornputação protocolos da Internet e medição de rede.
(CDAC) da Universidade de Chicago. Sua pesquisa se con- Wetherall recebeu o prêmio ACM SIGCOMM
centra em n1uitos aspectos de redes de computadores e sis- Test-of-Time pela pesquisa pioneira em redes ativas, uma
ternas em rede, corn foco ern operações de rede, segurança arquitetura para introduzir novos serviços de rede com ra-
de rede e censura na Internet, além de aplicações de apren- pidez. Recebeu também o IEEE William Bennett Prize por
dizado de 1náquina para redes de computadores. inovações no mapeamento da Internet. Sua pesquisa foi
.
VI Os autores

reconhecida com um prên1io NSF CAREER e1n 2002, e ele programa do SIGCOMM, NSDI e MobiSys, e cofundador
se tornou Sloan Fellow em 2004. dos workshops ACM HotNets. Vem auxiliando diversos co-
Wetberall participa da comunidade de pesquisa so- mitês de programa para conferências sobre redes e é editor
bre redes. Ele também é copresidente dos comitês de da ACM Co1nputer Conzmunication Review.
Para Suzanne, Barbara, Daniel, Aron, Nathan, Marvin, Matilde, Olivia e Mirte (AST)
Para Marshini, Mila e Kira (NF)
Para Katrin, Lucy e Pepper (DJW)
Esta página foi deixada em branco intencionalmente.
Prefácio

Este livro está agora em sua 6ª edição. Cada edição cor- para a grande quantidade de material novo sobre segurança
respondeu a uma fase diferente no 1nodo como as redes de de redes.
computadores eram usadas. Quando surgiu a primeira edi- Naturalmente, o livro também contém muitas outras
ção em 1980, as redes eram u1na curiosidade acadêmica. mudanças para acompanhar o mundo em constante mudan-
Quando a 2" edição foi publicada em 1988, as redes eram ça das redes de computadores. Veja, a seguir, uma lista de-
usadas por universidades e grandes en1presas. Quando talhada, capítulo por capítulo, com as principais 1nudanças:
a 3ª edição foi publicada em 1996, as redes de co1nputa-
• O Capítulo l te1n a mesma função introdutória das
dores, especialmente a Internet, já tinham se tornado uma
edições anteriores, mas o conteúdo foi revisado e
realidade do dia a dia de milhões de pessoas. Com a 4ª edi-
atualizado. Houve atualizações específicas, incluindo
ção, em 2003, as redes se1n fios e os computadores mó-
o acrésciino de discussões adicionais sobre a Internet
veis já eram comuns para acessar a Web e a Internet. Na
das coisas e arquiteturas celulares 1nodernas, como as
5ª edição, as redes tratava1n da distribuição de conteúdo
redes 4G e 5G. Grande parte da discussão sobre a polí-
(especialmente vídeos usando CDNs e redes peer-to-peer)
tica da Internet também foi atualizada, especialtnente
e telefones móveis. Agora, na 6ª edição, a ênfase do setor
a discussão sobre a neutralidade da rede.
está no desempenho muito alto, com redes de celulares 5G,
Ethernet de 100 gigabits e WiFi 802.11 ax em velocidades • O Capítulo 2 foi atualizado para incluir tuna discussão
chegando até a 11 Gbps. de 1neios físicos predominantes nas redes de acesso,
como as arquiteturas DOCSIS e de fibra. Ta1nbém
foi acrescentado o tratamento de arquiteturas e tec-
nologias modernas de redes celulares, e a seção so-
Novo nesta edição
bre redes de satélites também foi substancialJnente
Entre as muitas 1nudanças neste livro, a mais importante é atualizada. Foram incluídas tecnologias e1nergentes,
o acréscimo do Prof. Nick Feamster como coautor. O Prof. como a virtualização, incluindo discussões sobre ope-
Feamster tem Ph.D. pelo MIT e atualmente é professor na radoras de rede móvel virtual e divisão de redes ce-
Universidade de Chicago. lulares. A discussão sobre política foi reorganizada e
Outra 1nudança importante é que o Capítulo 8 (sobre atualizada para incluir a discussão sobre as questões
segurança) foi bastante modificado pelo Prof. Herbert Bos, da política na área de redes sem fio, como o espectro.
da Vrije Universiteit de An1sterdã. O foco 1nudou de cripto- • O Capítulo 3 foi atualizado para incluir o DOCSIS
grafia para segurança de redes. As questões de haqueamen- como exemplo de protocolo, visto que é u1na tecno-
to, ataques de DoS e muitas outras são noticiadas quase to- logia de acesso muito utilizada. Muitos dos códigos
dos os dias, e portanto sotnos muito gratos ao Prof. Bos por de correção de erros, obviamente, não 1nudam com o
refazer o capítulo para lidar con1 esses importantes proble- te1npo.
tnas. O capítulo discute vulnerabilidades, como con·igi-las, • O Capítulo 4 foi atualizado, contendo 1naterial
con10 os hackers respondem às correções, como os defen- novo sobre Ethernet de 40 e 100 gigabits, 802.11 ac,
sores reagem e assim por diante, ad inflnitum. O material 802.11 ad e 802.11 ax. Foi adicionado n1aterial novo
sobre criptografia foi reduzido un1 pouco para abrir espaço sobre DOCSIS, explicando a subcamada MAC em
x Prefácio

redes por cabo. O material sobre 802.16 foi removido, • O Capítulo 8 foi completan1ente refonnulado. Nas
pois parece agora que essa tecnologia será substituída edições anteriores, o foco do capítulo na segurança era
pelas tecnologias 4G e 5G para celulares. A seção so- quase exclusivamente sobre a segurança da inforn1a-
bre RFID també1n foi removida, a fim de dar espaço ção por nleio da criptografia. No entanto, a criptogra-
para material novo, mas ta1nbém porque não estava fia é apenas um dos aspectos da segurança de redes e,
diretamente relacionada a redes. se olharmos para os incidentes de segurança na prá-
• O Capítulo 5 foi atualizado para esclarecer e mo- tica, geralmente não é o aspecto onde os problemas
dernizar as discussões sobre controle de congestio- se encontram. Para remediar isso, adicionamos novo
namento. As seções sobre controle de tráfego forain conteúdo sobre princípios de segurança, técnicas bá-
atualizadas e esclarecidas, e as discussões sobre 1no- sicas de ataque, defesas e uma grande ga1na de pro-
delagem e engenharia de tráfego foram atualizadas. blemas de segurança relacionados a sistemas. Além
O capítulo inclui uma seção totalmente nova sobre disso, atualizamos as seções existentes, removendo
rede definida por software (SDN), incluindo Open- algumas técnicas de criptografia que agora estão ob-
Flow e hardware programável (p. ex., Tofino). Oca- soletas e introduzindo versões mais modernas de pro-
pítulo tan1bé1n inclui un1a discussão sobre as aplica- tocolos e padrões.
ções emergentes de SDN, como a tele1netria inband • O Capítulo 9 contém u1na lista atualizada de leituras
de redes. Algumas das discussões sobre TPv6 ta1nbém sugeridas e uma bibliografia abrangente.
fora1n atualizadas.
Além disso, foram incluídos novos exercícios e novas
• O Capítulo 6 foi extensivan1ente revisado para in- referências.
cluir o material novo sobre protocolos de transporte
modernos, incluindo TCP CUBIC, QUCC e BBR. O
1naterial sobre 1nedição de desempenho foi totalmente Lista de acrônimos
reescrito para se concentrar na medição do throughput
em redes de computadores, incluindo uma ampla dis- Os livros de informática estão repletos de acrônimos, e este
cussão sobre os desafios de medir o througbput da não é uma exceção. Ao concluir a leitura deste volume,
rede de acesso à medida que au1nenta1n as velocidades todas estas siglas terão um sentido claro para você: AES,
nos provedores de acesso. O capítulo também inclui AMf, ARP, ARQ, ASK, BGP, BSC, CCK, COM, CDN,
1naterial novo sobre a medição da qualidade da expe- CRL, DCF, DES, DIS, DMT, DMZ, DNS, EAP, ECN,
riência do usuário, u1na área e1nergente na medição de EDE, EPC, FDD, FDM, FEC, FSK, GEO, GSM, HFC,
dese1npenbo. HLR, HLS, HSS, IAB, IDS, IGP, IKE, IPS, ISM, ISO, ISP,
ITU, IXC, IXP, KDC, LAN, LCP, LEC, LEO, LER, LLD,
• O Capítulo 7 foi bastante revisado. Foram retiradas
1nais de 60 páginas de material que não são 1nais re- LSR, LTE, MAN, MEO, MFJ, MGW, MIC, MME, MPD,
MSC, MSS, MTU, NAP, NAT , NAY, NCP, NFC, NIC,
levantes para um livro sobre redes de computadores.
NID, NRZ, ONF, OSI, PAR, PCF, PCM, PCS, PGP, PHP,
O material sobre DNS foi quase totalmente reescri-
PIM, PKI, PON, POP, PPP, PSK, RAS, RCP, RED, RIP,
to para refletir os desenvolvirnentos modernos no
RMT, RNC, RPC, RPR, RTO, RTP, SCO, SDH, SDN, SIP,
DNS, incluindo as tendências contínuas para cripto-
SLA, SNR, SPE, SSL, TCG, TCM, TCP, TDM, TLS, TPM,
grafar o DNS e nlelhorar suas características de pri-
UDP, URL, USB, UTP, UWB, VLR, VPN , W3C, WAF,
vacidade e1n geral. Protocolos emergentes também
WAN, WDM, WEP, WFQ e WPA. Mas não se preocupe.
são discutidos, como o DNS sobre HTTPS e outras
Cada u1n aparecerá co1n texto em negrito e será cuidadosa-
técnicas de preservação de privacidade para DNS.
mente definido antes de ser usado. Apenas como um teste,
A discussão sobre a Web foi a1npla1nente atualizada
veja quantos você consegue identificar antes de ler o livro,
para refletir a crescente implantação de criptografia
escreva o número na margem e depois tente novamente de-
na Web, bem como extensas questões de privacida-
pois de ler o livro.
de (p. ex., rastreamento) que agora estão difundidas
na Web. O capítulo inclui uma seção totalmente nova
sobre privacidade na Web, discussões mais extensas
sobre a 1noderna tecnologia de entrega de conteúdo
Materiais de recurso para professores
(p. ex., redes de entrega de conteúdo) e tuna discus- O professor interessado em recursos pedagó-
são ampliada sobre redes peer-to-peer. A seção sobre - gicos co1nplementares deve acessar o site do
a evolução da Internet também foi editada para refle- Grupo A (grupoa.com.br), fazer o seu cadasb
tir as tendências e1n direção aos serviços distribuídos tro, buscar pela página do livro e localizar a área de Mate-
e1n nuvem. rial Co1nplementar para ter acesso aos PPTs.
Prefácio xi

Agradecimentos Nossa editora na Pearson, Tracy Dunkelberger, nova-


mente nos ajudou rnuito. Sem seu conselho, direção e per-
Muitas pessoas nos ajudaram durante o curso da 6ª edição. sistência, talvez esta edição nunca teria acontecido. Obriga-
Gostaríamos de agradecer especialmente a Phyllis Davis do, Tracy. Somos realmente gratos por sua ajuda.
(St. Louis Comrnunity College), Farah Kandah (University Finalmente, chegamos às pessoas mais importantes.
of Tennessee, Chattanooga), Jason Livingood (Comcast), Suzanne já passou por isso 23 vezes, e ainda tem paciência
Louise Moser (University of California, Santa Bárbara), e amor sern fim . Barbara e Marvin agora sabem a diferen-
Jenni fer Rexford (Princeton), Paul Schmitt (Princeton), ça entre livros bons e ruins, e sempre são minha inspira-
Doug Sicker (CMU), Wenye Wang (North Carolina State ção para a produção de bons livros. Daniel e Matilde são
University) e Greg White (Cable Labs). ben1-vi11dos à nossa farnília. Aron, Nathan, Olivia e Mirte
Alguns dos alunos deran1 retorno va lioso sobre o provavelrnente não lerão este livro tão cedo, mas me inspi-
manuscrito, incluindo: Ece Doganer, Yael Goede, Bruno rarn e nie tornarn esperançoso a respeito do futuro (AST).
Hoevelaken, Elena lbi, Oskar Klonowski, Johanna Sãnger, Marshini, Mila e Kira: minha rede favorita é aquela que
Theresa Schantz, Karlis Svi lans, Mascha van der Marel, juntos forn1a1nos. Obrigado por seu apoio e amor (NF).
Anthony Wilkcs. Obrigado por suas ideias e con1entários. Katrin e Lucy oferecerarn apoio sen1 firn e sempre conse-
Jesse Donkervlict (Vrije Universiteit) pensando em guira111 rnanter urn sorriso em 1neu rosto. Obrigado (DJW).
desafiar o leitor, criou rnuitos dos problemas que constam
no fi rn de cada capítulo.
Paul Nagin (Chimborazo Publishing, lnc.) produziu Andre\v S. Tanenbaum
os slides em PowerPoint para uso dos instrutores. Nick Feamster
David J. WetheraJI
Esta página foi deixada em branco intencionalmente.
Sumário

1 INTRODUÇÃO 1

1.1 USOS DE REDES DE COMPUTADORES 1


1.1.1 Acesso à informação 2
1.1.2 Comunicação entre pessoas 3
1.1.3 Comércio eletrônico 4
1.1.4 Entretenimento 4
1.1.5 A Internet das Coisas 5

1.2 TIPOS DE REDES DE COMPUTADORES 5


1.2.1 Redes de banda larga 5
1.2.2 Redes móveis e sem fio 6
1.2.3 Redes de provedor de conteúdo 8
1.2.4 Redes de trânsito 8
1.2.5 Redes comerciais 8

1.3 TECNOLOGIA DE REDES LOCAIS A GLOBAIS 10


1.3.1 Redes pessoais 10
1.3.2 Redes locais 10
1.3.3 Redes domésticas 12
1.3.4 Redes metropolitanas 13
1.3.5 Redes a longas distâncias 14
1.3.6 Redes interligadas (internets) 16

1.4 EXEMPLOS DE REDES 17


1.4.1 A Internet 17
1.4.2 Redes de telefonia móvel 23
1.4.3 Redes sem fio (WiFi) 28
.
XIV Sumário

1.5 PROTOCOLOS DE REDE 30


1.5.1 Objetivos de projeto30
1.5.2 Camadas de protocolos 31
1.5.3 Conexões e confiabilidade 34
1.5.4 Primitivas de serviço 36
1.5.5 Relacionamento entre serviços e protocolos 37

1.6 MODELOS DE REFERÊNCIA 38


1.6.1 O modelo de referência OSI 38
1.6.2 O modelo de referência TCP/IP 38
1.6.3 Uma crítica aos protocolos e ao modelo OSI 40
1.6.4 Uma crítica aos protocolos e ao modelo TCP/IP 42
1.6.5 O modelo de dados usado neste livro 43

1.7 PADRONIZAÇÃO DE REDES 43


1.7.1 Padronização e código fonte aberto 43
1.7.2 Quem é quem no mundo das telecomunicações 44
1.7.3 Quem é quem no mundo dos padrões internacionais 45
1.7.4 Quem é quem no mundo dos padrões da Internet 46

1.8 - •
QUESTOES POLITICAS, LEGAIS E SOCIAIS 47
1.8.1 Discurso on-line 48
1.8.2 Neutralidade da rede 48
1.8.3 Segurança 49
1.8.4 Privacidade 50
1.8.5 Desinformação e "fake news" 50

1.9 UNIDADES DE MEDIDA 51

1.10 VISÃO GERAL DOS PRÓXIMOS CAPÍTULOS 51

1.11 RESUMO 52

2 A CAMADA FÍSICA 57
2.1 MEIOS DE TRANSMISSÃO GUIADOS 57
2.1.1 Armazenamento persistente 57
2.1.2 Pares trançados 58
2.1.3 Cabo coaxial 59
2.1.4 Linhas de energia elétrica 60
2.1.5 Fibra óptica 60
Sumário xv

2.2 TRANSMISSÃO SEM FIO 64


2.2.1 Oespectro eletromagnético 64
2.2.2 Espectro de dispersão por salto de frequência 65
2.2.3 Espectro de dispersão de sequência direta 66
2.2.4 Comunicação de banda ultralarga 66

2.3 TRANSMISSÃO ATRAVES DO ESPECTRO 66
2.3.1 Transmissão de rádio 67
2.3.2 Transmissão de micro-ondas 68
2.3.3 Transmissão de infravermelho 68
2.3.4 Transmissão via luz 69

2.4 DE FORMAS DE ONDA A BITS 69


2.4.1 A base teórica da comunicação de dados 69
2.4.2 A taxa de dados máxima de um canal 73
2.4.3 Modulação digital 73
2.4.4 Multiplexação 78

2.5 A REDE PÚBLICA DE TELEFONIA COMUTADA 83


2.5.1 Estrutura do sistema telefônico 84
2.5.2 Ocircuito terminal: modems, ADSL e fibra óptica 86
2.5.3 Troncos e multiplexação 91
2.5.4 Comutação 95

2.6 REDES DE TELEFONIA MÓVEL 99


2.6.1 Conceitos comuns: células, handoff, paging 99
2.6.2 Tecnologia de primeira geração (1G): voz analógica 100
2.6.3 Tecnologia de segunda geração (2G): voz digital 101
2.6.4 GSM: Global System for Mobile Communications 101
2.6.5 Tecnologia de terceira geração (3G): voz e dados digitais 104
2.6.6 Tecnologia de quarta geração (4G): comutação de pacotes 106
2.6.7 Tecnologia de quinta geração (5G) 107

2.7 REDES POR CABO 108


2.7.1 História das redes por cabo: TV por antena comunitária 108
2.7.2 Acesso de banda larga à Internet por cabo: redes HFC 109
2.7.3 DOCSIS 111
2.7.4 Compartilhamento de recursos em redes DOCSIS: nós e minislots 111

2.8 SATÉLITES DE COMUNICAÇÕES 112


2.8.1 Satélites geoestacionários 113
2.8.2 Satélites terrestres de órbita média 116
2.8.3 Satélites terrestres de órbita baixa 116
xvi Sumário

2.9 COMPARAÇÃO DE DIFERENTES REDES DE ACESSO 118


2.9.1 Redes de acesso terrestres: cabo, fibra e ADSL 118
2.9.2 Redes terrestres e por satélite 118

2.10 POLÍTICA NA CAMADA FÍSICA 119


2.10.1 Alocação do espectro 120
2.10.2 A rede celular 121
2.10.3 A rede telefônica 122

2.11 RESUMO 124

3 A CAMADA DE ENLACE DE DADOS 129

3.1 QUESTÕES DE PROJETO DA CAMADA DE ENLACE DE DADOS 129


3.1.1 Serviços oferecidos à camada de rede 130
3.1.2 Enquadramento 131
3.1.3 Controle de erros 134
3.1.4 Controle de fluxo 134

3.2 DETECÇÃO E CORREÇÃO DE ERROS 135


3.2.1 Códigos de correção de erros 136
3.2.2 Códigos de detecção de erros 139

3.3 PROTOCOLOS BÁSICOS DE ENLACE DE DADOS 143


3.3.1 Premissas básicas para simplificação 143
3.3.2 Noções básicas de transmissão e recepção 143
3.3.3 Protocolo simplex da camada de enlace de dados 146

3.4 MELHORANDO A EFICltNCIA 149


3.4.1 Objetivo: transmissão bidirecional, múltiplos quadros
em andamento 150
3.4.2 Exemplos de protocolos full-duplex de janela deslizante 152

3.5 EXEMPLOS DE PROTOCOLOS DE ENLACE DE DADOS 163


3.5.1 Pacotes sobre SONET 163
3.5.2 ADSL (Asymmetric Digital Subscriber Line) 165
3.5.3 DOCSIS (Data Over Cable Service Interface Specification) 167

3.6 RESUMO 168


Sumário xvi i

4 A SUBCAMADA DE CONTROLE DE ACESSO AO MEIO 173

4.1 O PROBLEMA DA ALOCAÇÃO DE CANAIS 173


4.1.1 Alocação estática de canais 174
4.1.2 Premissas para a alocação dinâmica de canais 174

4.2 PROTOCOLOS DE ACESSO MÚLTIPLO 176


4.2.1 ALOHA 176
4.2.2 Protocolos de acesso múltiplo com detecção de portadora 178
4.2.3 Protocolos livres de colisão 181
4.2.4 Protocolos de disputa limitada 183
4.2.5 Protocolos de LANs sem fio 185

4.3 ETHERNET 187


4.3.1 Camada física da Ethernet clássica 187
4.3.2 Oprotocolo da subcamada MAC Ethernet 188
4.3.3 Desempenho da Ethernet 191
4.3.4 Ethernet comutada 192
4.3.5 Fast Ethernet 193
4.3.6 Gigabit Ethernet 195
4.3.7 Ethernet de 10 gigabits 197
4.3.8 Ethernet de 40 e 100 gibabits 198
4.3.9 Retrospectiva da Ethernet 198

4.4 LANS SEM FIO 199


4.4.1 802.11: arquitetura e pilha de protocolos 199
4.4.2 802.11: a camada física 201
4.4.3 802.11: o protocolo da subcamada MAC 202
4.4.4 802.11: estrutura do quadro 207
4.4.5 Serviços 207

4.5 BLUETOOTH 209


4.5.1 Arquitetura do Bluetooth 209
4.5.2 Aplicações do Bluetooth 210
4.5.3 A pilha de protocolos do Bluetooth 210
4.5.4 A camada de rádio do Bluetooth 211
4.5.5 As camadas de enlace do Bluetooth 212
4.5.6 A estrutura de quadro do Bluetooth 212
4.5.7 Bluetooth 5 213
xviii Sumário

4.6 DOCSIS 214


4.6.1 Visão geral 214
4.6.2 Alcance 214
4.6.3 Alocação de largura de banda do canal 214

4.7 COMUTAÇÃO NA CAMADA DE ENLACE DE DADOS 215


4.7.1 Uso de bridges 215
4.7.2 Learning bridges 216
4.7.3 Spanning Tree Bridges 218
4.7.4 Repetidores, hubs, bridges, switches, roteadores e gateways 220
4.7.5 LANs virtuais 221

4.8 RESUMO 225

5 A CAMADA DE REDE 231

5.1 QUESTÕES DE PROJETO DA CAMADA DE REDE 231


5.1.1 Comutação de pacotes store-and-forward 231
5.1.2 Serviços oferecidos à camada de transporte 232
5.1.3 Implementação do serviço não orientado a conexões 233
5.1.4 Implementação do serviço orientado a conexões 234
5.1.5 Comparação entre redes de circuitos virtuais e de datagramas 235

5.2 ALGORITMOS DE ROTEAMENTO EM UMA ÚNICA REDE 236


5.2.1 O princípio de otimização 237
5.2.2 Roteamento pelo caminho mais curto 238
5.2.3 Flooding 239
5.2.4 Roteamento por vetor de distância 241
5.2.5 Roteamento de estado de enlace 243
5.2.6 Roteamento hierárquico dentro de uma rede 246
5.2.7 Roteamento por broadcast 247
5.2.8 Roteamento por multicast 249
5.2.9 Roteamento por anycast 251

5.3 CONTROLE DE TRÁFEGO NA CAMADA DE REDE 251


5.3.1 Necessidade de controle de tráfego: congestionamento 251
5.3.2 Técnicas de controle de congestionamento 253

5.4 QUALIDADE DE SERVIÇO E QUALIDADE DE EXPERIÊNCIA DA APLICAÇÃO 261


5.4.1 Requisitos de qualidade de serviço da aplicação 262
5.4.2 Superprovisionamento 264
5.4.3 Listagem de pacotes 264
Sumário xix

5.4.4 Serviços integrados 268


5.4.5 Serviços diferenciados 270

5.5 INTERLIGAÇÃO DE REDES 272


5.5.1 Visão geral 272
5.5.2 Diferenças entre redes 273
5.5.3 Conexão de redes heterogêneas 274
5.5.4 Conexão de extremidades em redes heterogêneas 276
5.5.5 Roteamento entre múltiplas redes 277
5.5.6 Suporte a diferentes tamanhos de pacotes: fragmentação 277

5.6 REDES DEFINIDAS POR SOFTWARE 280


5.6.1 Visão geral 280
5.6.2 Plano de controle SDN: controle de software logicamente
centralizado 281
5.6.3 Plano de dados SDN: hardware programável 282
5.6.4 Telemetria programável de redes 283

5.7 A CAMADA DE REDE DA INTERNET 284


5.7.1 Oprotocolo IP versão 4 (1Pv4) 285
5.7.2 Endereços IP 288
5.7.3 IP Versão 6 296
5.7.4 Protocolos de controle da Internet 302
5.7.5 Rótulos de comutação e MPLS 305
5.7.6 OSPF - protocolo de roteamento de gateway interior 307
5.7.7 BGP - protocolo de roteamento de gateway exterior 310
5.7.8 Multicast na Internet 315

5.8 POLÍTICA NA CAMADA DE REDE 315


5.8.1 Disputas entre pares 316
5.8.2 Priorização de tráfego 316

5.9 RESUMO 317

6 A CAMADA DE TRANSPORTE 321

6.1 OSERVIÇO DE TRANSPORTE 321


6.1.1 Serviços oferecidos às camadas superiores 321
6.1 .2 Primitivas do serviço de transporte 322
6.1.3 Soquetes de Berkeley 324
6.1 .4 Exemplo de programação de soquetes: um servidor de arquivos
da Internet 326
xx Sumário

6.2 ELEMENTOS DE PROTOCOLOS DE TRANSPORTE 329


6.2.1 Endereçamento 330
6.2.2 Estabelecimento de conexões 331
6.2.3 Encerramento de conexões 336
6.2.4 Controle de erros e controle de fluxo 338
6.2.5 Multiplexação 342
6.2.6 Recuperação de falhas 342

6.3 CONTROLE DE CONGESTIONAMENTO 344


6.3.1 Alocação desejável de largura de banda 344
6.3.2 Regulando a velocidade de envio 347
6.3.3 Problemas da rede sem fio 349

6.4 OS PROTOCOLOS DE TRANSPORTE DA INTERNET: UDP 351


6.4.1 Introdução ao UDP 351
6.4.2 Chamada de procedimentos remotos 352
6.4.3 Protocolos de transporte em tempo real 354

6.5 OS PROTOCOLOS DE TRANSPORTE DA INTERNET: TCP 358


6.5.1 Introdução ao TCP 358
6.5.2 O modelo de serviço do TCP 358
6.5.3 O protocolo TCP 360
6.5.4 Ocabeçalho do segmento do TCP 361
6.5.5 Estabelecimento de conexões TCP 363
6.5.6 Encerramento da conexão TCP 364
6.5.7 Modelagem e gerenciamento de conexões TCP 364
6.5.8 Janela deslizante do TCP 366
6.5.9 Gerenciamento de timers do TCP 368
6.5.10 Controle de congestionamento do TCP 370
6.5.11 CUBIC TCP 376

6.6 PROTOCOLOS DE TRANSPORTE E CONTROLE DE CONGESTIONAMENTO 376


6.6.1 QUIC: Quick UDP Internet Connections 377
6.6.2 BBR: controle de congestionamento baseado
em banda larga com gargalo 377
6.6.3 Ofuturo do TCP 379

6.7 QUESTÕES DE DESEMPENHO 379


6.7.1 Problemas de desempenho em redes de computadores 379
6.7.2 Medição do desempenho da rede 380
6.7.3 Medição da vazão da rede de acesso 380
Sumário xxi

6.7.4 Medição da qualidade da experiência 381


6.7.5 Projeto de host para redes rápidas 381
6.7.6 Processamento rápido de segmentos 383
6.7.7 Compactação de cabeçalho 385
6.7.8 Protocolos para redes longas de banda larga 386

6.8 RESUMO 389

7 A CAMADA DE APLICAÇÃO 393

7.1 DNS - DOMAIN NAME SYSTEM 393


7.1.1 História e visão geral 393
7.1.2 Oprocesso de pesquisa do DNS 394
7.1.3 Oambiente de nomes e hierarquia do DNS 395
7.1.4 Consultas e respostas do DNS 398
7.1.5 Resolução de nomes 402
7.1.6 Prática com o DNS 403
7.1.7 Privacidade do DNS 403
7.1.8 Disputa por nomes 405

7.2 CORREIO ELETRÔNICO 405


7.2.1 Arquitetura e serviços 406
7.2.2 Oagente do usuário 407
7.2.3 Formatos de mensagens 409
7.2.4 Transferência de mensagens 411
7.2.5 Entrega final 415

7.3 A WORLD WIDE WEB 417


7.3.1 Visão geral da arquitetura 417
7.3.2 Objetos Web estáticos 423
7.3.3 Páginas Web dinâmicas e aplicações Web 423
7.3.4 HTTP e HTTPS 426
7.3.5 Privacidade na Web 433

7.4 STREAMING DE ÁUDIO EVf DEO 436


,
7.4.1 Audio digital 437
7.4.2 Vídeo digital 438
7.4.3 Streaming de mídia armazenada 440
7.4.4 Streaming em tempo real 444
..
XX II Sumário

7.5 ENTREGA DE CONTEÚDO 450


7.5.1 Conteúdo e tráfego na Internet 451
7.5.2 Parques de servidores e proxies Web 453
7.5.3 Redes de entrega de conteúdo 455
7.5.4 Redes peer-to-peer 458
7.5.5 Evolução da Internet 461

7.6 RESUMO 464

8 SEGURANÇA DE REDES 469

8.1 FUNDAMENTOS DA SEGURANÇA DE REDES 470


8.1.1 Princípios básicos da segurança 471
8.1.2 Princípios básicos do ataque 472
8.1.3 De ameaças a soluções 473

8.2 OS PRINCIPAIS INGREDIENTES DE UM ATAQUE 474


8.2.1 Exploração 474
8.2.2 Sniffing e snooping (com um toque de spoofing) 475
8.2.3 Spoofing (além do ARP) 476
8.2.4 Interrupção 483

8.3 -
FIREWALLS E SISTEMAS DE DETECÇAO DE INTRUSAO - 486
8.3.1 Firewalls 486
8.3.2 Detecção e prevenção de intrusão 488

8.4 CRIPTOGRAFIA 490


8.4.1 Introdução à criptografia 490
8.4.2 Dois princípios fundamentais da criptografia 492
8.4.3 Cifras de substituição 493
8.4.4 Cifras de transposição 494
8.4.5 Chave única 495

8.5 ALGORITMOS DE CHAVE SIMÉTRICA 498


8.5.1 Data Encryption Standard (DES) 499
8.5.2 Advanced Encryption Standard (AES) 499
8.5.3 Modos de cifra 500

8.6 ALGORITMOS DE CHAVE PÚBLICA 503


8.6.1 RSA 504
8.6.2 Outros algoritmos de chave pública 505
Sumário xxiii

8.7 ASSINATURAS DIGITAIS 505


8.7.1 Assinaturas de chave simétrica 506
8.7.2 Assinaturas de chave pública 507
8.7.3 Sumário de mensagens 508
8.7.4 Oataque do aniversário 509

8.8 GERENCIAMENTO DE CHAVES PÚBLICAS 511


8.8.1 Certificados 511
8.8.2 X.509 512
8.8.3 Infraestrutura de chave pública 513

8.9 PROTOCOLOS DE AUTENTICAÇÃO 515


8.9.1 Autenticação baseada em chave secreta
compartilhada 516
8.9.2 Como estabelecer chave compartilhada: a troca
de chaves de Diffie-Hellman 518
8.9.3 Autenticação com o uso de um centro de distribuição
de chaves 520
8.9.4 Autenticação com a utilização do Kerberos 522
8.9.5 Autenticação com a criptografia de chave pública 523

8.1O SEGURANÇA DA COMUNICAÇÃO 523


8.10.1 IPsec 523
8.10.2 Redes privadas virtuais 526
8.10.3 Segurança em redes sem fio 527

8.11 SEGURANÇA DE CORREIO ELETRÔNICO 529


8.11.1 Pretty Good Privacy 529
8.11.2 S/MIME 532

8.12 SEGURANÇA DA WEB 532


8.12.1 Ameaças 532
8.12.2 Nomenclatura segura e DNSSEC 533
8.12.3 Segurança da camada de transporte 535
8.12.4 Executando código não confiável 537

8.13 QUESTÕES SOCIAIS 539


8.13.1 Comunicação confidencial e anônima 539
8.13.2 Liberdade de expressão 541
8.13.3 Direitos autorais 543

8.14 RESUMO 545


.
XXIV Sumário

9 LEITURAS RECOMENDADAS E REFERÊNCIAS 551


9.1 -
SUGESTOES DE LEITURA 551
9.1.1 Introdução e trabalhos na área 551
9.1.2 A camada física 552
9.1.3 A camada de enlace de dados 553
9.1.4 A subcamada de controle de acesso ao meio 553
9.1.5 A camada de rede 553
9.1.6 A camada de transporte 554
9.1.7 A camada de aplicação 554
9.1.8 Segurança na rede 555

9.2 REFERÊNCIAS 556


IV

lntrodu ao

Cada um dos três séculos anteriores foi don1inado por un1a Durante as duas primeiras décadas de sua existência, os
única nova tecnologia. o século xvm foi a época dos gran- sisten1as co1nputacionais eram altan1ente centralizados, em
des sistemas 111ecânicos que aco1npanharam a Revolução geral instalados em uma grande sala, muitas vezes com pa-
Industrial. O século XTX foi a era das máquinas a vapor. redes de vidro, através das quais os visitantes podiarn con-
As principais conquistas tecnológicas do século XX se de- templar, embevecidos, aquele grande "cérebro eletrônico".
ram no can1po da aquisição, do processan1ento e da distribui- Uma empresa de médio porte ou uma universidade contava
ção de infonnações. Entre outros desenvolvimentos, vimos apenas con1 um ou dois con1putadores, enquanto as grandes
a instalação das redes de telefonia em escala mundial, a in- instituições tinha1n, no n1áxi1no, algun1as dezenas. Era pura
venção do rádio e da televisão, o nascunento e o crescimento ficção científica a ideia de que, em 50 anos, cornputadores
sem precedentes da indústria de informática, o lança1nento muito mais poderosos, menores que os selos postais, seriam
dos satélites de comunicação e, naturalt11ente, a Internet. produzidos em massa, aos bilhões.
Quem sabe quais milagres surgirão no século XXI? A fusão dos computadores e das comunicações teve
Como resultado do rápido progresso tecnológico, es- uma profunda influência na fonna como os sistemas com-
sas áreas estão convergindo rapidarnente no século XXI putacionais são organizados. O conceito então dominante
e as diferenças entre coleta, transporte, armazenamento e de "centro de con1putação" como un1a sala com um grande
processamento de informações estão desaparecendo com con1putador ao qual os usuários levam seu trabalho para
muita velocidade. Organizações com centenas de escritó- processa1nento agora está completa1nente obsoleto (embora
rios dispersos por uma extensa área geográfica normalmen- os centros de dados com centenas de milhares de servidores
te espera1n, com wn sunples pressionar de u1n botão, poder de lnten1et estejam se tornando con1uns). O velho modelo
'
examinar o status atual de suas filiais mais remotas. A me- de um único co1nputador atendendo a todas as necessidades
dida que cresce nossa capacidade de colher, processar e computacionais da organização foi substituído por outro
distribuir infonnações, torna-se ainda 1naior a demanda por em que os trabalhos são realizados por um grande número
fonnas mais sofisticadas de processa1nento de informação. de computadores separados, porém interconectados. Esses
sistemas são chamados de redes de computadores. O pro-
jeto e a organização dessas redes são os temas deste livro.
Ao Longo da obra, utilizaren1os a expressão "rede de
1.1 USOS DE REDES DE computadores" para indicar um conjunto de dispositivos
COMPUTADORES de computação autônomos interconectados. Dois computa-
dores estão interconectados quando podem trocar infom1a-
Apesar de a indústria de informática ainda ser jove1n em ções. A interconexão pode ser feita por diversos meios de
comparação a outros setores (p. ex., o de automóveis e o de transmissão, incluindo fio de cobre, cabos de fibra óptica,
transportes aéreos), foi simplesmente espetacular o progres- micro-ondas e ondas de rádio (p. ex., micro-ondas, irúra-
so que os computadores conheceram em um curto período. vermelllo e satélites de comunicações). Existem redes de
2 Redes de computadores

muitos tamanhos, n1odelos e formas, como veremos no en1 grande parte de uma propaganda comportan1ental alta-
decorrer do livro. Elas nonnalmente estão conectadas para mente direcionada, o que necessariamente implica a coleta
criar redes maiores, com a Internet sendo o exe1nplo mais de dados sobre o comportamento de usuários individuais.
conhecido de uma rede de redes. Essa informação costuma ser mal utilizada.
Bibliotecas digitais on-line e sites de vendas agora
hospeda1n versões digitais de conteúdo, variando de revis-
1.1.1 Acesso à informação tas acadêmicas a livros. Muitas organizações profissionais,
O acesso à informação pode ser feito de várias for1nas. como a ACM (ww1-11.acn1.org) e a lEEE Computer Society
U1n 1nétodo co1num de acessar infonnações pela Internet (wwH1.con1puter.org), já têm muitas publicações e anais de
é usar um navegador Web, que pennite ao usuário recupe- conferências on-line. Leitores de e-books (l ivros eletrôni-
rar informações de vários websites, incluindo sites de redes cos) e bibliotecas on-line pode1n tomar os livros i1npressos
sociais, cada vez mais populares. Os aplicativos móveis obsoletos. Os céticos devem observar o efeito que a máqui-
etn smartpbones agora também permjtem que os usuários na de impressão teve sobre os manuscritos medievais com
acessem informações remotas. Os tópicos incluem artes, ih1tninuras.
comércio, culinária, governo, saúde, história, bobbies, en- Grande parte das informações na Internet é acessada
. . ,... . . .
treten1mento, c1enc1a, esportes, vtagens e muttos outros. por nleio de um modelo cliente-servidor, no qual un1 cliente
A diversão vem de tantas maneiras que é difícil rnencionar, solicita explicita1nente infonnações de um servidor que as
além de algu1nas maneiras que é melhor não 1nencionar. hospeda, confonne ilustrado na Figura 1.1.
En1 grande parte, os veículos de comunicação passa- O modelo cliente-servidor é bastante usado e forma a
ram a funcionar on-line, com alguns até deixando totalmen- base de grande parte do uso da rede. A realização mais po-
te seus formatos impressos. O acesso à informação, incluin- pular é a de uma aplicação Web, em que o servidor fornece
do os noticiários, é cada vez mais personalizável. Algu1nas páginas Web co1n base e1n seu banco de dados em resposta
publicações on-line até penniten1 que você diga que está às solicitações do cliente, que podem atualizar o banco de
interessado en1 políticos corruptos, grandes incêndios, es- dados. O modelo cliente-servidor é aplicável não apenas
cândalos envolvendo celebridades e epidernias, mas nada quando cliente e servidor estão ambos no mesmo prédio
de futebol , obrigado. Essa tendência certamente ameaça o (e pertencem à mes1na empresa), 1nas ta1nbém quando estão
emprego de jornaleiros de l 2 anos, mas a distribuição on- n1uito afastados. Por exe1nplo, quando u1na pessoa em casa
-line pen11itiu que as notícias alcançassen1 públicos cada acessa uma página na World Wide Web, o mesmo modelo é
vez maiores e mais variados. empregado, com o servidor Web re1noto fazendo o papel do
Cada vez mais, as notícias também estão sendo se- servidor e o computador pessoal do usuário sendo o cliente.
lecionadas por platafonnas de redes sociais, nas quais os Sob a maioria das condições, um único servidor pode lidar
usuários podem postar e compartilhar conteúdo de notí- con1 u1n grande nún1ero (centenas ou 1nilhares) de clientes
cias de diversas fontes, e nas quais as notícias que qual- simultaneamente.
quer usuário vê são priorizadas e personalizadas com base Se exa1ninarmos o modelo cliente-servidor em deta-
em suas preferências explícitas e algoritmos complexos de lhes, veremos que dois processos (programas em execução)
aprendizado de 1náquina, que preveem as preferências do são envolvidos, un1 na n1áquina cliente e u1n na 1náquina
usuário con1 base em seu histórico. A publicação on-line e servidora. A comunicação toma a fonna do processo cliente
a restauração de conteúdo em platafonnas de redes sociais enviando uma nlensagem pela rede ao processo servidor.
dão suporte a um modelo de financiamento que depende Então, o processo cliente espera por uma mensagem em

Servidor

~.
Rede

D 11:ni :1::1

Figura 1.1 Uma rede com dois clientes e um servidor.


Capítulo 1 • Introdução 3

resposta. Quando o processo servidor recebe a solicitação, direitos autorais em toda a história registrada (Lam e Tan,
ele executa o trabalho solicitado ou procura pelos dados so- 2001; Macedonia, 2000). També1n existe1n aplicações le-
licitados e envia uma resposta de volta. Essas mensagens gais para a cornunicação peer-to-peer. Entre elas estão os
são mostradas na Figura l .2. fãs compartilhando músicas de domínio público, famílias
Outro modelo popular para acessar infor1na- compartilhando fotos e filmes, e usuários baixando pacotes
ções é a co1nunicação peer-to-peer (ou não hierárqui- de software públicos. Na verdade, uma das aplicações 1nais
ca) (Parameswaran et ai., 2001). Nessa forma de comuni- populares de toda a Internet, o correio eletrônico, é basica-
cação, indivíduos que constituem um grupo livre podem se
n1ente peer-to-peer. Essa fonna de comunicação provavel-
comunicar co1n outros pa1ticipantes do grupo, co1no 1nostra
mente crescerá bastante no futuro.
a Figura 1.3. Em princípio, toda pessoa pode se co1nunicar
com uma ou n1ais pessoas; não existe qualquer divisão es-
trita entre clientes e servidores. 1.1.2 Comunicação entre pessoas
Muitos sistemas peer-to-peer, corno BitTorrent (Cohen,
2003), não possuem qualquer banco de dados de conteúdo A co1nunicação entre pessoas é a resposta do século XXI
central. Em vez disso, cada usuário 1nantém seu próprio ao telefone do século XIX. O correio eletrônico (e-mail)
banco de dados no local e oferece uma lista de outros mem- já é usado diariamente por milhões de pessoas em todo o
bros do sistema. Urn novo usuário pode, então, ir até qual- mundo e seu uso está crescendo rapidamente. Em geral, ele
quer membro existente para ver o que ele tern e obter os já conté1n áudio e vídeo, além de texto e i1nagens. O odor
no1nes de outros membros para inspecionar 1nais conteúdo e pode demorar um pouco mais.
mais nomes. Esse processo de pesquisa pode ser repetido in-
Muitos usuários da Internet agora já contam com algu-
defmidamente para a criação de um grande banco de dados
ma forn1a de mensagens instantâneas para se comunica-
local do que existe no sistema inteiro. Essa é uma atividade
que seria tediosa para as pessoas, mas os computadores se rem com outras pessoas na Internet. Esse recurso, derivado
destaca1n nisso. do programa talk do UNIX, em uso desde aproximadamen-
A comunicação peer-to-peer normalmente é usada te 1970, permite que duas pessoas digitem mensagens uma
para compartilhar músicas e vídeos. Ela alcançou o auge para a outra em tempo real. Ta1nbén1 existem serviços de
por volta dos anos 2000, co1n u1n serviço de compartilha- mensagens para várias pessoas, corno o T\vitter, pennitin-
mento de músicas cha1nado Napster, que foi encerrado do que os usuários enviem pequenas mensagens de texto
depois daquilo que provaveln1ente foi a maior violação de chamadas "tweets" (possivelmente incluindo vídeo), para

Máquina cliente Máquina servidora


o 1c1 açao
/ -
1 Rede
"
/
'

/
1
" Resposta
\
\

Processo c liente Processo servidor

Figura 1.2 Omodelo cliente-servidor envolve solicitações e respostas.

Figura 1.3 Em um sistema não hierárquico, não existem clientes e servidores fixos.
4 Redes de computadores

seu círculo de amigos, outros seguidores ou para o n1undo Outra área em que o comércio eletrônico já é un1a rea-
inteiro. lidade é o acesso a instituições financeiras. Muitas pessoas
A Internet pode ser usada pelas aplicações para já pagam suas contas, ad1ninistram contas bancárias e até
transportar áudio (p. ex., estações de rádio pela Internet, mes1no 1nanipulam seus investimentos eletronicamente.
serviços de strean1ing de música) e vídeo (p. ex., Netflix, Aplicações de tecnologia financeira, ou "fmtech'', permi-
YouTube). Além de ser un1 modo barato de se comunicar tem que os usuários realize1n u1na grande variedade de
com amigos distantes, essas aplicações podem oferecer transações financeiras on-line, incluindo a transferência de
experiências ricas, como teleaprendizado, o que significa valores entre contas bancárias.
assistir a au las às 8h da 1nanhã sem a inconveniência de Leilões on-line de objetos usados se ton1ara1n un1a
ter de levantar da cama. Com o passar do tempo, o uso indústria próspera. Diferentemente do comércio eletrônico
das redes para 1nelhorar a comunicação entre os seres hu- tradicional, que segue o modelo cliente-servidor, os leilões
manos poderá ser mais importante do que qualquer outro. on-line são um tipo de sistema peer-to-peer, no sentido de
Isso pode se tornar extremamente in1portante para pessoas que os consumidores podem atuar como compradores e
que estão geografican1ente distantes, dando-lhes o mesmo vendedores, embora haja u1n servidor central que manté1n o
acesso aos serviços que os moradores de um grande centro banco de dados de produtos à venda.
urbano já têm. Algumas dessas formas de comércio eletrônico utili-
Entre as comunicações interpessoais e o acesso à in- za1n pequenas abreviações baseadas no fato de que "to" e
formação estão as aplicações de rede social. Aqui, o fluxo "2" têm a mesma pronúncia em inglês. As 1nais populares
de informações é controlado pelos relacionamentos que as estão relacionadas na Figura 1.4.
pessoas declaram umas às outras. Uma das redes sociais
mais populares é o Facebook. Ela permite que os indiví-
duos criem e atualizem seus perfis pessoais e compartilhem 1.1 .4 Entretenimento
as atualizações com outras pessoas de que1n declarara1n ser Nossa quarta categoria é o entretenimento. Ela tem feito
amigas. Outras aplicações de rede social podem fazer apre- grande progresso nas residências ao longo dos últimos anos,
sentações por meio de amigos dos amigos, enviar mensa- com a distribuição de música, programas de rádio e televi-
gens de notícias aos amigos, como o Twitter, e 1nuito mais. são, e os filn1es pela Internet co1neçando a competir com os
Ainda de forn1a 1nais livre, os grupos de pessoas po- mecanismos tradicionais. Os usuários podem localizar, com-
de1n trabalhar juntas para criar conteúdo. Un1a \Viki, por prar e baixar músicas en1 MP3 e filmes em alta resolução e
exemplo, é um website colaborativo que os membros de depois incluí-los em sua coleção pessoal. Os programas de
uma comunidade editam. A mais famosa é a Wikipedia, TV agora alcançam muitos lares via sistemas de JPTV (IP
uma enciclopédia que qualquer utn pode editar, mas exis- Television), que são baseados na tecnologia IP e1n vez das
te1n milhares de outras wikis. transmissões de TV a cabo ou rádio. As aplicações de strea-
rning de 1nídia permitem que os usuários sintonizem estações
de rádio pela Internet ou assistatn a episódios recentes dos
1.1.3 Comércio eletrônico seus programas favoritos. Naturalmente, todo esse conteúdo
Fazer con1pras on-line já é uma atividade popular e pennite pode ser passado aos diferentes aparelhos, monitores e alto-
ao usuário examinar catálogos de milhares de empresas e -falantes de sua casa, normalmente com uma rede se1n fio.
receber os produtos diretamente e1n sua porta. Depois que Logo, talvez seja possível selecionar qualquer filme
um cliente compra um produto eletronicamente, se ele não ou progra1na de televisão, qualquer que seja a época ou país
souber co1no usá-lo, o suporte técnico on-line poderá ser em que tenha sido produzido, e exibi-lo em sua tela no mes-
consultado. mo instante. Novos fihnes poderão se tomar interativos e,

Abreviação Nome completo Exemplo


82C Business-to-consumer Pedidos de livros on-line
828 8usiness-to-business Fabricante de automóveis solicitando pneus a um
fornecedor
G2C Government-to-consumer Governo distribuindo eletronicamente formulários
de impostos
C2C Consumer-to- consumer Leilões on-line de produtos usados
P2P Peer-to-peer Compartilhamento de música ou arquivo; Skype

Figura 1.4 Algumas formas de comércio eletrônico.


Capítulo 1 • Introdução 5

ocasionahnente, o usuário poderá ser solicitado a interferir an1biental don1éstico quando tiver terminado, para ajudá-lo
no roteiro (Macbeth deve matar o rei ou esperar pelo mo- a economizar em sua conta de água.
mento certo?), com cenários alternativos para todas as hipó-
teses. A televisão ao vivo também poderá se tomar interativa,
com os telespectadores participando de programas de per-
guntas e respostas, escolhendo entre concorrentes, e assim 1.2 TIPOS DE REDES DE
por diante. COMPUTADORES
Outra forma de entretenimento são os jogos eletrôni-
cos. Já temos jogos de simulação em te1npo real com vários Existem muitos tipos distintos de redes de co1nputadores.
participantes, como os de esconde-esconde e1n u1n labirinto Esta seção é uma visão geral de algu1nas delas, incluindo
virtual, e si1nuladores de voo em que os jogadores de u1na aquelas que normahnente usamos para acessar a Internet
equipe tentam abater os da equipe adversária. Os 1nundos (redes móveis ou de banda larga), aquelas que nlantêm os
virtuais oferecen1 un1 a1nbiente persistente, en1 que 1nilha- dados e as aplicações que usamos cotidianamente (redes de
res de usuários podem experimentar urna realidade compar- centros de dados), aquelas que conecta1n redes de acesso a
tilhada com gráficos tridimensionais. centros de dados (redes de trânsito), e aquelas que usamos
em um campus, prédio de escritórios ou outra organização
(redes comerciais).
1.1.5 A Internet das Coisas
A computação ubíqua envolve a co1nputação que está en1- 1.2.1 Redes de banda larga
butida no dia a dia, segundo Mark Weiser (1991). Muitos E1n 1977, Ken Olsen era presidente da Digital Equipment
lares já estão preparados com sistemas de segurança que Corporation, então o segundo maior fornecedor de con1pu-
inclue1n sensores e1n portas e janelas. Além disso, existem tadores de todo o mundo (depois da IBM). Quando lhe per-
muitos outros sensores que podem ser embutidos em um guntara1n por que a Digital não estava seguindo a tendência
monitor doméstico inteligente, como no consumo de ener- do mercado de computadores pessoais, ele disse: "Não há
gia. Medidores inteligentes de eletricidade, gás e água in- nenhu1na razão para qualquer indivíduo ter um co1nputador
formam o uso pela rede. Isso econo1niza dinheiro para a en1 casa''. A história 1nostrou o contrário, e a Digital não
companhia, pois não é preciso enviar funcionários para ler existe mais. As pessoas inicialmente con1pravam compu-
a medição do consu1no. Seus detectores de fumaça podem tadores para processamento de textos e jogos. Nos últimos
ligar para os bo1nbeiros em vez de fazer niuito barulho (o anos, talvez a maior motivação seja o acesso ã Internet.
que não adianta 1nuito se não houver alguém en1 casa). Re- Agora, niuitos dispositivos eletrônicos do consu1nidor,
frigeradores inteligentes poderiam pedir mais leite quando como conversores digitais, consoles de jogos, aparelhos de
ele estiver quase acabando. A ' medida que o custo dos sen-
TV e até mesmo fechaduras de porta, já vêm com co1npu-
sores e da cornunicação diminui, mais e mais aplicações de tadores embutidos, que acessam redes de computadores,
medição e envio de informações serão disponibilizadas pe- especialmente sem fio. As redes do1nésticas são bastante
las redes. Essa revolução contínua, norn1alinente chamada usadas para entretenimento, incluindo escuta, exibição e
de loT (Internet of Tbings, ou Internet das Coisas), está criação de música, fotos e vídeos.
preparada para conectar à Internet pratican1ente qualquer O acesso à Internet oferece, aos usuários domésticos,
dispositivo eletrônico que co1npran1os. conectividade a co1nputadores remotos. Assim como as
Cada vez mais, os dispositivos eletrônicos do consu- en1presas, os usuários domésticos podem acessar info1n1a-
midor estão em rede. Por exemplo, algun1as câ1neras de ções, comunicar-se com outras pessoas e comprar produtos
últi1na geração já possuem capacidade para rede se1n fio, e serviços com o comércio eletrônico. O principal bene-
utilizada para enviar fotos a um monitor próximo, para se- ficio agora vem da conexão com o exterior da casa. Bob
rem exibidas. Fotógrafos profissionais de esportes também Metcalfe, o inventor da Ethernet, fonnulou a hipótese de
podem enviar suas fotos para seus editores em tempo real, que o valor de uma rede é proporcional ao quadrado do nú-
primeiro sem fio, para um ponto de acesso, e em seguida mero de usuários, pois esse é aproximadamente o número
para a Internet. Dispositivos co1no televisores que se co- de conexões diferentes que podem ser feitas (Gilder, 1993).
nectam na tomada da parede podem usar a rede de ener gia Essa hipótese é conhecida como a "lei de Metcalfe". Ela
elétrica para enviar informações pela casa, nos fios que ajuda a explicar como a tre1nenda popularidade da Internet
transporta1n eletricidade. Pode não ser surpresa ter esses vem de seu tamanho.
objetos na rede, mas objetos que não imagina1nos co1no Hoje, as redes de acesso de banda larga estão se
con1putadores ta1nbé1n podem detectar e comunicar infor- proliferando. Em muitas partes do mundo, o acesso por
mações. Por exemplo, seu chuveiro poderá registrar o uso banda larga é fornecido às residências por 1neio do cobre
de água, dando-lhe un1 feedback visual enquanto você se (p. ex., linhas telefônicas), cabo coaxial (p. ex., cabo) ou
ensaboa, e informar para uma aplicação de monitoramento fibra óptica. As velocidades de acesso à Internet de banda
6 Redes de computadores

larga tan1bé1n continuam a aun1entar, com 1nuitos prove- un1 aviso sonoro é emitido. O pri1neiro motorista a pres-
dores entregando um gigabit por segundo para residências sionar u1n botão na tela de vídeo atende à corrida. O sur-
individuais nos países desenvolvidos. E1n algumas partes gimento das redes móveis e sem fio també1n levou a uma
do mundo, especialmente nos países em desenvolvilnento, revolução no próprio transporte ten·estre, co1n a "economia
o modo predominante de acesso à Internet é móvel. do con1partilhamento" pern1itindo que os 1notoristas usem
seus telefones co1no um dispositivo de despacho, como
acontece com empresas de compartilhan1ento de corridas,
1.2.2 Redes móveis e sem fio como Uber e Lyft.
As redes sem fio também são importantes para os 1ni-
Computadores n1óveis, como notebooks, tablets e smar-
litares. Se, de u1na hora para outra, for necessário travar
tphones, constituem u1n dos segmentos de 1nais rápido
uma guerra en1 qualquer lugar no mundo, talvez não seja
crescimento do setor de infonnática. Suas vendas já supera-
possível contar com a possibilidade de usar a infraestrutura
ram as de co1nputadores desktop. Por que alguém desejaria
de rede local. Será melhor levar seu próprio equipa1nento
um? As pessoas que estão em trânsito normalmente dese-
de rede.
jam usar seus dispositivos móveis para ler e enviar e-mails,
Embora as redes sem fio e a computação móvel fre-
"tuitar", assistir a filmes, baixar música, jogar, verificar
quentemente estejam relacionadas, elas não são idênticas,
mapas ou simplesmente navegar na Web em busca de infor-
como mostra a Figura 1.5. Aqui, observa1nos uma distinção
mações ou por diversão. Elas querem fazer todas as coisas
entre redes sem fio fi xas e sem fi o móveis. Algumas ve-
que fazem em casa e no escritório. Naturalmente, querem
zes, até mes1no os notebooks podem estar conectados por
fazê-las em qualquer lugar, na terra, no 1nar ou no ar.
fios. Por exemplo, se um viajante conecta um notebook à
A conectividade à Internet habilita muitos desses tomada de rede em um quarto de hotel, ele tem mobilidade
usos móveis. Como ter uma conexão com fio é impos- sem precisar utilizar urna rede sem fio. A crescente difusão
sível em carros, barcos e aviões, há 1nuito interesse nas das redes sen1 fio está tornando essa situação cada vez mais
redes sem fio. As redes celulares operadas pelas empre- rara, embora, para obter um melhor desempenho, as redes
sas de telefonia são um tipo conhecido de rede sem fio , com fio sejatn sempre melhores.
que dá cobertura para snJartpbones. Os botspots sem fio Etn contrapartida, alguns computadores se1n fio não
baseados no padrão 802.11 são outro tipo de rede se1n são po11áteis. E1n casa, escritórios ou hotéis que não tê1n
fio para computadores n1óveis e dispositivos portáteis, cabeamento adequado, pode ser mais conveniente conectar
corno srnartphones e tablets. Eles surgem em todo lugar computadores desktop ou aparelhos sem fio do que instalar
a que as pessoas vão, resultando em urna malha com co- os fios. A instalação de urna rede sem fio pode exigir pouco
bertura en1 cafés, hotéis, aeroportos, escolas, trens e avi- mais do que adquirir utna pequena caixa cotn alguns com-
ões. Qualquer u1n co1n un1 notebook e u1n n1odem se1n ponentes eletrônicos, retirá-la da embalagen1 e conectá-la
fio pode simplesmente ligar seu computador e estar co- ao equipa1nento. Essa solução pode ser 1nuito 1nais barata
nectado à Internet pelo hotspot, con10 se o computador do que pedir que u1n profissional monte conduítes para pas-
estivesse conectado a un1a rede com fio. sar a fiação no prédio.
As redes se1n fio têm grande valor para frotas de cami- Finaln1ente, ta1nbé1n há as verdadeiras aplicações
nhões, táxis, veículos de entrega e funcionários de serviços 1nóveis, se1n fio, co1no pessoas percorrendo lojas co1n um
de assistência técnica que precisam manter-se em contato computador portátil e registrando o estoque. Em muitos
com sua base de operações. Por exemplo, em muitas cida- aeroportos mais cbeios, os funcionários de devolução de
des, os 1notoristas de táxi são trabalhadores autônon1os, em carros alugados trabalham no estacionamento co1n compu-
vez de serem funcionários de uma empresa de táxi. Em al- tadores n1óveis se1n fio. Eles lee1n os códigos de ban·as ou
gumas dessas cidades, os táxis têm urna tela de vídeo que o chips de RFID dos carros devolvidos e seu dispositivo mó-
motorista pode observar. Ao receber uma chamada de clien- vel, que possui uma impressora embutida, chama o compu-
te, um despachante central digita os pontos de partida e des- tador principal, recebe a informação da locação e i1nprirne
tino. Essa informação aparece nas telas dos motoristas, e a conta no ato.

Sem fio Móvel Aplicações típicas


Não Não Computadores desktop em escritórios
Não Sim Um notebook usado em um quarto de hotel
Sim Não Redes em edifícios que não dispõem de fiação
Sim Sim Computador portátil para registrar o estoque de uma loja

Figura 1.5 Combinações de redes sem fio e computação móvel.


Capítulo 1 • Introdução 7

O impulso fundan1ental das aplicações 1nóveis, sem estão tentando descobrir como obter un1a fatia do comércio
fio, vem do telefone 1nóvel. A convergência entre os tele- eletrônico. Do ponto de vista da loja, esse esquema pode
fones e a Internet está acelerando o cresci.mento dos apli- poupar-lhes a maior parte das tarifas da empresa de cartões
cativos móveis. Smartphones, como o iPhone da Apple de
,
crédito, o que pode significar u1na porcentagem elevada.
e o Galaxy da Samsung, co1nbinam aspectos de telefones E claro que esse plano pode ter efeito contrário ao deseja-
celulares e computadores n1óveis. Esses telefones tan1bém do, pois os clientes de tuna loja poderia1n usar as leitoras
se conectam a hotspots sem fio e alteman1 automaticamente de RFID ou código de barras em seus dispositivos móveis
entre as redes para escolher a melhor opção para o usuá- para verificar os preços dos concorrentes antes de comprar
rio. O envio de mensagens de texto, ou texting (ou SMS, e, depois, obter instantanea1nente tun relatório detalhado de
con10 é conhecido fora dos Estados Unidos) pela rede ce- onde mais o item poderia ser adquirido e a que preço.
lular foi tremendamente popular no início. Ele pem1ite que Uma enorme vantagem do m-commerce é que os
um usuário de smartphone digite uma mensagem curta que usuários de telefones celulares se acostumaran1 a pagar
é então entregue pela rede celular para outro assinante mó- por tudo (ao contrário dos usuários da Internet, que espe-
vel. O SMS é muito lucrativo, pois custa à operadora uma ram conseguir tudo de graça). Se urn website da Internet
pequena fração de um centavo para repassar uma mensa- cobrasse uma taxa para permitir a seus clientes efetuar pa-
gem de texto, um serviço pelo qual elas cobram muito mais. gamentos com cartão de crédito, haveria uma imensa recla-
A digitação de curtas rnensagens de texto nos celulares, em mação dos usuários. Se uma operadora de telefonia celular
determinada época, foi uma grande fonte de renda para as permitisse às pessoas pagar por itens de uma loja usando o
operadoras. Atualmente, muitas alternativas, que usam o telefone no caixa e depois cobrassem urna tarifa por essa
plano de dados do telefone celular ou a rede sem fio, in- conveniência, provavelmente isso seria aceito como algo
cluindo WhatsApp, Signal e Facebook Messenger, substi- normal. O tempo dirá.
tuíram o SMS. Os usos dos computadores móveis e sem fio aumen-
Outros aparelhos eletrônicos ta1nbé1n podem usar re- tarão rapida1nente no futuro, à medida que o tan1anho dos
des celulares e hotspot para permanecer conectados a com- computadores diininui, provavelmente de 1naneiras que
putadores remotos. Tablets e leitores de livros eletrônicos ninguém é capaz de prever. Vejamos algumas das possibi-
podetn baixar um Uvro recém-adquirido, a próxima edição lidades. Redes de sensores são compostas de nós que co-
de uma revista ou o jornal de hoje, onde quer que eles es- lhem e repassam as inforn1ações que eles detectarn sobre o
teja1n. Os porta-retratos eletrônicos pode1n ser atualizados estado do n1undo físico. Os nós podem fazer pa1te de itens
auto1naticamente co1n iinagens novas. fan1iliares, co1no carros ou telefones, ou então podem ser
Smartphones normalmente conhecem seus próprios pequenos dispositivos separados. Por exemplo, seu carro
locais. Sistemas de GPS (Global Positioning System) po- poderia colher dados sobre sua localização, velocidade,
den1 localizar diretamente um dispositivo, e stnartpbones vibração e economia de con1bustível a partir de seu siste-
em geral também realizam a triangulação entre hotspots ma de diagnóstico de bordo e enviar essa informação para
Wi-Fi com locais conhecidos, para detern1inar seu local. um banco de dados (Hull et ai., 2006). Esses dados podem
Algumas aplicações são intencionalmente dependentes do ajudar a localizar buracos, planejar viagens evitando estra-
local. Mapas móveis e orientações são candidatos óbvios, das congestionadas e lhe informar se seu automóvel é um
visto que seu telefone habilitado com GPS e seu carro pro- "beberrão" e1n comparação com outros carros no n1es1no
vavehnente têm uma ideia n1elhor de onde você está do que trecho da estrada.
você mesmo. O mesmo pode acontecer com as buscas por Redes de sensores estão revolucionando a ciência ofe-
uma livraria próxima ou um restaurante japonês, ou uma recendo diversos dados sobre o co1nportamento que não
previsão do tempo. Outros serviços podern registrar o local, poderiam ser observados anteriormente. Utn exe1nplo é o
con10 a anotação de onde fotos e vídeos foram feitos. Essa rastrea1nento da 1nigração de zebras individuais, colocando
anotação é conhecida como geomarcação. um pequeno sensor em cada animal (Juang et ai., 2002).
Os smartphones estão sendo cada vez mais usados Os pesquisadores inseriram um computador sern fio em
no m-commerce (mobile-commerce) (Senn, 2000). Men- u1n cubo de 1 mm de borda (Warneke et ai., 2001 ). Com
sagens de texto cu1tas do sma1tphone são usadas para au- co1nputadores 1nóveis desse tamanho, até mes1no pássaros,
torizar pagamentos de alimentos e1n n1áquinas, ingressos roedores e insetos podem ser rastreados.
de cine1na e outros itens pequenos, em vez de dinheiro em Os parquín1etros sem fio podem aceitar pagan1entos
espécie e cartões de crédito. O débito aparece, então, na com cartão de crédito ou débito, com verificação instantâ-
conta do telefone celular. Quando equipado com tecnologia nea pelo enlace se1n fio, bem como relatar quando estão em
NFC (Near Field Communication), o sn1artphone pode uso. Isso pennite aos motoristas baixar u1n 1napa de estacio-
atuar como um sn1artcard con1 RFID e interagir com um namento atualizado para seu carro, de modo que, podem en-
leitor próximo para realizar o pagamento. A força motriz contrar un1a vaga disponível mais facilmente. E claro que,
por trás desse fenômeno consiste em tuna mistura de fabri - quando um parquímetro expira, ele também pode verificar
cantes de dispositivos 1nóveis e operadores de redes, que a presença de u1n carro (e1nitindo u1n sinal a partir dele)
8 Redes de computadores

e infonnar isso ao funcionário no estacionamento. Estima- de Internet em geral não é a rnesn1a que hospeda o conteúdo
-se que os 1nunicípios dos Estados Unidos poderiam coletar dos websites que você visita com frequência. Nonnalmen-
US$ l Obilhões extras dessa maneira (Harte et ai., 2000). te, o conteúdo e as aplicações são hospedados em redes de
centro de dados, e você pode acessar esse conteúdo a partir
de utna rede de acesso. Logo, o conteúdo deve atravessar
1.2.3 Redes de provedor de conteúdo a Internet do centro de dados até a rede de acesso e, final -
Muitos serviços da Internet agora são atendidos "pela nu- rnente, até o seu dispositivo.
vem" ou e1n uma rede de centro de dados (ou "data cen- Quando o provedor de conteúdo e seu provedor de
ter"). As redes rnodemas dos centros de dados possuem serviço de Internet (ISP - Internet Service Provider)
centenas de milhares ou milhões de servidores em um úni- não estão conectados diretamente, eles geralmente contam
co local, geralmente em uma configuração muito densa de com uma rede de trânsito para transportar o tráfego entre
fileiras de racks em prédios que podem ter mais de u1n qui- eles. As redes de trânsito nortnalmente cobram do lSP e do
lômetro de extensão. As redes de centro de dados atendem provedor de conteúdo pelo transporte de tráfego de pon-
às crescentes dernandas da computação em nuvem e são ta a ponta. Se a rede que hospeda o conteúdo e a rede de
projetadas para mover grandes quantidades de dados entre acesso trocarem tráfego suficiente entre eles, podem deci-
os servidores no centro de dados, be1n como entre o centro dir se interconectar diretamente. Um exe1nplo no qual a in-
de dados e o restante da Internet. terconexão direta é comum é entre grandes ISPs e grandes
Atualrnente, muitas das aplicações e serviços que provedores de conteúdo, como Google ou Netflix. Nesses
você usa, desde os websites que você visita até o editor de casos, o lSP e o provedor de conteúdo deve1n construir e
documentos baseado em nuvem usado para fazer anota- manter a infraestrutura de rede necessária para faci litar a
ções, armazenam dados em uma rede de centro de dados. interconexão direta, e1n geral e1n 1nuitos locais geografica-
As redes de centro de dados enfrentarn desafios de esca- mente dispersos.
la, tanto para o tlu·oughput da rede quanto para o uso de Tradicionalmente, as redes de trânsito são conhecidas
energia. Um dos principais desafios de throughput da rede como redes de backbone, pois têm a função de transportar
é a chatnada "largura de banda da seção transversal", que o tráfego entre duas extremidades. Há muitos anos, as redes
é a taxa de dados que pode ser entregue entre dois servido- de trânsito erarn extremamente lucrativas, visto que todas
res. Os prirneiros projetos de rede de centro de dados eram as outras redes dependiatn delas (e pagavatn) para se conec-
baseados em urna topologia simples e1n árvore, com três tar ao restante da Internet.
ca1nadas de switches: acesso, agregação e núcleo; este es- Na última década, poré1n, pudemos ver duas tendên-
querna siinples não podia ser expandido com facilidade e cias. A primeira delas é a consolidação de conteúdo em um
ta1nbém era sujeito a fa lhas. punhado de grandes provedores de conteúdo, gerada pela
Muitos serviços populares da Internet precisam ofere- proliferação de serviços hospedados em nuvern e grandes
cer conteúdo a usuários em todo o mundo. Para isso, muitos redes de distribuição de conteúdo (CDNs). A segunda ten-
sites e serviços na Internet uti lizam uma CON (Content dência é a expansão da quantidade de redes de provedores
Oelivery Network), que é um graode conjunto de servido- de acesso individual: enquanto os provedores de acesso po-
res distribuídos geografican1ente, de modo que o conteúdo dem ter sido pequenos e regionais, muitos têm abrangência
é colocado o mais próximo possível dos usuários que o nacional (ou mesmo internacional), o que aumentou a gama
estão solicitando. Grandes provedores de conteúdo, como de locais geográficos onde podem conectar-se
,
a outras re-
Google, Facebook e Nettlix, operam suas próprias CDNs. des, bern como a sua base de assinantes. A medida que o ta-
Algun1as CDNs, como Akan1ai e Cloudtlare, oferecem ser- 1nanho (e o poder de negociação) das redes de acesso e das
viços de hospedagern para serviços menores, que não têrn redes de provedores de conteúdo continuan1 a aumentar,
sua própria CDN. as redes maiores passaram a depender menos das redes de
O conteúdo que os usuários desejam acessar, desde ar- trânsito para entregar seu tráfego, preferindo muitas vezes
quivos estáticos até streaming de vídeo, pode ser replicado se interconectar diretamente e contar com a rede de trânsito
em vários locais em urna única CDN. Quando urn usuário apenas como uma contingência.
solicita conteúdo, a CDN deve decidir qual réplica deverá
atendê-lo. Esse processo deve considerar a distância entre
cada réplica e o cliente, a carga etn cada servidor CDN, e 1.2.5 Redes comerciais
a carga de tráfego e o congestionamento na própria rede. Muitas organizações (como empresas e universidades) têm
uma grande quantidade de co1nputadores. Cada funcio-
nário pode usar um cornputador para realizar tarefas que
1.2.4 Redes de trânsito
variam desde o projeto de produtos à elaboração da folha
A lnte1net passa por muitas redes operadas de 1naneira inde- de pagamento. Non11almente, essas máquinas são conec-
pendente. A rede controlada pelo seu provedor de serviços tadas a uma rede comum, permitindo aos funcionários
Capítulo 1 • Introdução 9

con1partilhar dados, infom1ações e recursos de con1putação con1putador ou a seu usuário.) As máquinas cliente e ser-
entre si. vidor são conectadas entre si por uma rede, como ilustrado
O compartilhamento de recursos toma progra1nas, na Figura 1.1. Observe que mostramos a rede como u1na
equipamentos e especiahnente dados ao alcance de todas as sin1ples elipse, sem qualquer detalhe. Utilizaremos essa for-
pessoas na rede, independentemente da localização tisica ma quando menciona1mos u1na rede no sentido 1nais abs-
do recurso ou do usuário. Un1 exemplo óbvio e bastante trato. Quando fore1n necessários 1nais detalhes, eles serão
disseminado é um grupo de funcionários de um escritório fon1ecidos.
que co1npartilha1n uma itnpressora comu1n. Nenhu1n dos Um segundo objetivo da configuração de u1na rede de
indivíduos necessita de um aparelho privativo, e un1a i1n- computadores comercial está relacionado às pessoas, e não
pressora de grande capacidade conectada em rede muitas às infom1ações ou 1nesmo aos computadores. Uma rede de
vezes é n1ais econômica, mais rápida e de manutenção 1nais computadores pode oferecer un1 poderoso meio de comu-
fácil que um grande conjunto de impressoras individuais. nicação entre os funcionários. Praticamente toda empresa
Contudo, talvez mais i1nportante do que compa1tilhar com dois ou mais computadores ten1 o recurso de e-mail
recursos fisicos co1no impressoras e siste1nas de backup, (correio eletrônico), que os funcionários em geral utili-
seja compartilhar informações. A maioria das e1npresas tem zan1 para suprir uma grande parte da con1unicação diária.
registros de clientes, informações de produtos, estoques, De fato, os funcionários trocan1 e-mails sobre os assuntos
extratos financeiros, infonnações sobre i1npostos e muitos mais corriqueiros, mas grande parte das mensagens com que
outros dados on-line. Se todos os computadores de um ban- as pessoas lidam diaria1nente não tem nenhun1 significado,
co sofressem un1a pane, ele provavelmente não duraria mais porque os chefes descobriram que podem enviar a mesma
de cinco minutos. Uma instalação industrial n1odema, com mensage1n (nonnahnente, se1n 1nuito conteúdo) a todos os
uma linha de 1nontagem controlada por co1nputadores, não seus subordinados, bastando pressionar um botão.
duraria nem cinco segundos. Hoje, até mesmo u1na pequena Ligações telefônicas entre os funcionários podem ser
agência de viagens ou un1a firn1a jurídica co1n três pessoas feitas pela rede de computadores, en1 vez de pela co1npanhia
depende intensamente de redes de con1putadores para permi- telefônica. Essa tecnologia se cha1na telefonia IP ou Voice
tir aos seus funcionários acessar infonnações e documentos over IP (VoIP) quando a tecnologia da Internet é empregada.
relevantes de forn1a quase instantânea. O 1nicrofone e o alto-falante e1n cada extre1no podem perten-
Para en1presas menores, os computadores provavel- cer a um telefone habilitado para VoIP ou ao computador do
mente se encontram em um único escritório ou talvez em funcionário. As e1npresas descobrira1n que essa é uma fom1a
um único prédio; porém, no caso de e1npresas 1naiores, os maravilhosa de economizar nas contas telefônicas.
con1putadores e funcionários poden1 estar dispersos por de- Outras formas de comunicação mais ricas são possí-
zenas de escritórios e instalações em 1nuitos países. Apesar veis co1n as redes de con1putadores. O vídeo pode ser acres-
disso, um vendedor e1n Nova Iorque às vezes precisa aces- centado ao áudio, de modo que os funcionários em locais
sar um banco de dados de estoque de produtos localizado distantes possam ver e ouvir uns aos outros enquanto reali-
em Cingapura. Redes chamadas VPNs (Virtual Private zam uma reunião. Essa técnica é uma ferramenta eficiente
Netlvorks) podem ser usadas para unir as redes individuais para elin1inar o custo e o tempo anteriormente dedicados a
em diferentes locais e1n u1na rede lógica. Em outras pala- viagens. O compartilhamento da área de trabalho per-
vras, o simples fato de um usuário estar a 15 mil quilôme- mite que os trabalhadores remotos vejam e interajam com
tros de distância de seus dados não deve in1pedi-lo de usá- uma tela de con1putador. Co1n isso, duas ou 1nais pessoas
-los como se eles fossem dados locais. Resumindo, trata-se em locais distantes podem participar de uma reunião, ven-
de uma tentativa de dar fim à "tirania da geografia". do e ouvindo uns aos outros e até mes1no escrevendo um
No mais simples dos termos, é possível imaginar que relatório em um quadro compartilhado. Quando un1 fun-
o sistema de infonnações de u1na empresa consista em um cionário faz uma mudança em um documento on-line, os
ou mais bancos de dados com informações da e1npresa e outros podem vê-la itnediatamente, em vez de esperar vá-
em algum número de funcionários que necessitem acessá- rios dias por uma carta. Essa agilidade facilita a cooperação
-los ren1otamente. Nesse modelo, os dados são annazena- entre grupos de pessoas dispersas, enquanto anteriormente
dos e111 poderosos computadores cha111ados servidores. isso era impossível. Atualmente, estão começando a ser
Normaltnente, eles são instalados e mantidos em u1n local usadas outras formas de coordenação remota mais ambi-
central por um administrador de sistemas. Ao contrário, os ciosas, como a telemedicina (p. ex., no monitoramento de
funcionários têm e1n suas n1esas máquinas mais simples, pacientes remotos), mas elas podem se tornar muito mais
chamadas clientes, com as quais acessam dados remotos, in1portantes. Algrunas vezes, diz-se que a comunicação e o
por exemplo, para incluir e1n planilhas eletrônicas que es- transporte estão disputando uma corrida, e a tecnologia que
tão elaborando. (Algumas vezes, faremos referência ao vencer tornará a outra obsoleta.
usuário humano da máquina cliente como o "cliente", mas Um terceiro objetivo para muitas empresas é reali-
deve ficar claro, pelo contexto, se estamos nos referindo ao zar negócios eletronicamente, em especial com clientes e
10 Redes de computadores

fon1ecedores. E1npresas aéreas, livrarias e outros varejistas


descobriram que 1nuitos clientes gostam da conveniência
de fazer co1npras em casa. Consequentemente, muitas em-
presas oferecem catálogos de seus produtos e serviços e -
o-
recebe1n pedidos on-line. Fabricantes de automóveis, aero-
naves e co1nputadores, entre outros, compram subsistemas '
de diversos fornecedores e depois monta1n as peças. Utili-
zando redes de computadores, os fabricantes podem emitir
pedidos eletronica1nente, confon11e necessário. Isso reduz
a necessidade de grandes estoques e aumenta a eficiência.

1.3 TECNOLOGIA DE REDES


Figura 1.6 Configuração de rede pessoal Bluetooth.
LOCAIS A GLOBAIS
As redes pessoais também podem ser 1nontadas com
As redes podem variar de pequenas e pessoais a grandes e
diversas outras tecnologias que se comunicam por curtas
globais. Nesta seção, vamos explorar as diversas tecnolo-
distâncias, conforme veremos no Capítulo 4.
gias de rede que implementa1n redes de diferentes ta1na-
nhos e escalas.
1.3.2 Redes locais
1.3.1 Redes pessoais Uma rede local, ou LAN (Local Area Nenvork) é uma
rede particular que opera dentro e próximo de um único
As redes pessoais, ou PANs (Personal Arca Networks), prédio, como uma residência, u1n escritório ou uma fá-
pennitem que dispositivos se con1unique1n pelo alcance brica. As LANs são rnuito usadas para conectar co1nputa-
de uma pessoa. Um exen1plo con1um é uma rede sem fio dores pessoais e aparelhos eletrônicos, para permitir que
que conecta um co1nputador com seus periféricos. Outros compartilhem recursos (como impressoras) e troquem
exemplos incluem a rede que conecta seus fones de ouvido infonnações.
sem fio e seu relógio ao s1nartphone. Ela ta1nbém é muito As LANs sem fio são 1nuito populares atualmente.
usada para conectar u1n fone a tm1 celular se1n o uso de Elas incialmente ganharam popularidade em residências,
fios, e pode pennitir que seu celular se conecte ao seu carro prédios de escritórios mais antigos e outros lugares onde
simplesmente aproximando-se dele. a instalação de cabos é muito cara ou trabalhosa. Nesses
Quase todo computador te1n n1onitor, teclado, mouse sistemas, cada computador tem um rádio mode1n e uma
e impressora conectados. Sem usar tecnologia sem fio, essa antena, que ele usa para se co1nunicar com outros compu-
conexão deve ser feita com cabos. Tantas pessoas têm difi- tadores. Quase se1npre, cada computador fala con1 u1n dis-
culdade para encontrar os cabos con·etos e encaixá-los nos positivo chamado ponto de acesso (AP - Access Point),
conectores certos (e1nbora nonnaln1ente tenha1n cores e for- roteador sem fio ou estação-base, como mostra a Figura
mas diferentes) que a maioria dos vendedores de computador l.7(a). Esse dispositivo repassa os pacotes entre os compu-
oferece a opção de enviar um técnico à casa do usuário para tadores sem fio e ta1nbé1n entre eles e a Internet. Ser o AP
fazê-lo. Para ajudar esses usuários, algumas e1npresas se reu- é como ser o garoto popular na escola, pois todos querem
niran1 para projetar un1a rede sem fio de curta distância, cha- falar com você. Outro cenário comum envolve dispositi-
mada Bluetooth, a fim de conectar esses componentes sem o vos próxirnos retransmitindo pacotes uns para os outros em
uso de fios. A ideia é que, se o seu dispositivo tem Bluetooth, uma configuração chan1ada de rede em malha. En1 alguns
então você não precisa de cabos. Você si1nples1nente os liga casos, os retransmissores são os mes1nos nós que os tenni-
e eles con1eça1n a se comunicar. Para 1nuitas pessoas, essa nais; no entanto, mais comumente, uma rede em malha in-
facilidade de operação é u1na grande vantagem. cluirá um conjunto separado de nós cuja única responsabi-
Na fonna mais si1nples, as redes Bluetooth usam u1n lidade é retrans1nitir o tráfego. As configurações de rede em
paradig1na n1estre-escravo da Figura 1.6. A unidade do sis- malha são co1nuns em países em desenvolvi1nento, onde
ten1a (o PC) nonnalmente é o mestre, falando con1 o mouse implantar a conectividade e1n uma região pode ser compli-
e o teclado, por exe1nplo, como escravos. O mestre diz aos cado ou dispendioso. Elas também estão se tornando cada
escravos quais endereços usar, quando eles podem transmi- vez mais populares para redes do1nésticas, especialn1ente
tir, por quanto tempo, quais frequências eles podem usar, e en1 grandes residências.
assin1 por diante. Discutiremos o Bluetooth com mais deta- Existe um padrão para as LANs sen1 fio, chamado
lhes no Capítulo 4. IEEE 802.11, popularmente conhecido como WiFi. Ele
Capítulo 1 • Introdução 11

Ponto de À rede cabeada Ethernet


acesso Portas comutada Ao restante
da rede

DDD D D D
Figura 1.7 LANs sem fio e com fio. (a) 802.11. (b) Ethernet comutada.

trabalha em velocidades de 11 Mbps (802.11 b) a 7 Gbps pensaram nesse caso, e agora todos os switches do inundo
(802.11 ad). Observe que, neste livro, va1nos aderir à tra- utiliza1n seu algoritmo antilooping (Perln1an, 1985). É fun-
dição e medir as velocidades de linha e1n 1negabits/s, onde ção do protocolo descobrir que caminhos os pacotes devem
1 Mbps é 1.000.000 bits/s, e gigabits/s, onde 1 Gbps é atravessar para alcançar o computador pretendido com se-
1.000.000.000 bits/s. As potências de dois são usadas ape- gurança. Vere1nos co1no isso funciona no Capítulo 4.
nas para armazenan1ento, onde uma n1en1ória de 1 MB é Tambén1 é possível dividir uma LAN fisica grande em
220 ou 1.048.576 bytes. Discutiremos o padrão 802.11 no duas LANs lógicas n1enores., Você pode estar se pergun-
Capítulo 4. tando por que isso seria útil. As vezes, o layout do equipa-
As LANs corn fio utilizarn uma série de tecnologias mento de rede não corresponde à estrut1u·a da organização.
de trans1nissão diferentes; os n1odos de trans1nissão tisicos Por exemplo, os departa1nentos de engenharia e finanças de
con1uns são cobre, cabo coaxial e fibra óptica. As LANs uma empresa poderian1 ter computadores na mesma LAN
são restritas em tamanho, o que significa que o tempo de fisica, pois estão na mesma ala do prédio, mas poderia ser
transmissão, no pior caso, é limitado e conhecido com an- mais fácil administrar o sistema se engenharia e finanças
tecedência. Conhecer esses liinites ajuda na tarefa de pro- tivessem, cada um, sua própria LAN virtual, ou VLAN.
jetar protocolos de rede. Normalmente, as LANs com fio Nesse projeto, cada porta é 1narcada com uma "cor", di-
trabalha1n em velocidades de 100 Mbps a 40 Gpbs, tê1n gamos, verde para engenharia e vern1elha para finanças.
baixo atraso de transporte de dados (nunca mais de dezenas O switch então encaminha pacotes de modo que os com-
de milissegundos, e geralmente muito menos) e com elas putadores conectados às portas verdes sejam separados dos
ocorre1n poucos erros de trans1nissão. As LANs co1n fio computadores conectados às portas ve1melhas. Os pacotes
norn1almente tê1n menor latência, 1nenor perda de pacotes de broadcast enviados e1n un1a porta de cor ve1n1elha, por
e maior throughput que as LANs sem fio, mas, com o pas- exemplo, não serão recebidos em un1a porta de cor verde,
sar do tempo, essa lacuna de desempenho tem se estreitado. como se existissem duas LANs fisicas diferentes. Estudare-
É muito mais fácil enviar sinais por um fio ou por uma fibra mos as v ·LANs no final do Capítulo 4.
do que pelo ar. Também existem outras topologias de LAN com fio.
Muitas LANs com fio são compostas de enlaces cabe- Na verdade, a Ethernet comutada é uma versão moderna do
ados ponto a ponto. O l EEE 802.3, popularmente chama- projeto Ethernet original, que envia todos os pacotes por um
do Ethernet, é de longe o tipo mais co1num de LAN co1n único cabo. No máxuno u1na máquina poderia transmitir com
fio. A Figura 1.7(b) mostra uma topologia de exemplo da sucesso de cada vez, e um mecanismo distribuído arbitrava
Ethernet comutada. Cada computador troca informações o uso e resolvia conflitos da rede compartilhada. Ele usava
usando o protocolo Ethernet e se conecta a um dispositi- um algoritmo simples: os computadores poderiam transmitir
vo de rede chamado S\vitch, com u1n enlace ponto a ponto. sempre que o cabo estivesse ocioso. Se dois ou 1nais pacotes
A função do switch é repassar os pacotes entre os compu- colidissem, cada computador simplesmente esperaria por u1n
tadores que estão conectados a ele, usando o endereço em te1npo aleatório e tentaria mais tarde. Chamare1nos essa ver-
cada pacote para determinar para qual computador enviar. são de Ethernet clássica para fazer a distinção e, como você
Um switch possui várias portas, cada qual podendo já deve imaginar, aprenderá sobre ela no Capítulo 4.
se conectar a outro dispositivo, como um co1nputador ou As redes de broadcast, corn e se1n fio, ainda podem
até 1nesmo a outro switch. Para 1nontar LANs 1naiores, ser divididas e1n estáticas e dinâmicas. Em uma alocação
os switches podem ser conectados uns aos outros usando estática típica, o tempo seria dividido e1n intervalos dis-
suas portas. O que acontece se você os conectar em um cretos e seria utilizado um algoritmo de rodízio, fazendo
Ioop? A rede ainda funcionará? Feliz1nente, os projetistas cada máquina transmitir apenas no intervalo de tempo de
12 Redes de computadores

que dispõe. A alocação estática desperdiça a capacidade do usar" em casa, mas precisavam fazer muitas chan1adas para
canal quando uma 1náquina não tem nada a transmitir du- o suporte técnico. Os dispositivos precisam ser fáceis de
rante o intervalo (slot) alocado a ela, e, assin1, a maioria dos usar e funcionar sem exigir que o usuário leia e compreenda
sistemas procura alocar o canal dinamicamente (ou seja, totalmente um 1nanual de 50 páginas.
por demanda). Em segundo lugar, a segurança e a confiabilidade têm
Os métodos de alocação dinâmica de utu canal comutu riscos 1naiores porque a insegurança dos dispositivos pode
são centralizados ou descentralizados. No método centrali- apresentar a1neaças diretas à saúde e à segurança do con-
zado, existe apenas uma entidade, por exemplo, a estação- sumidor. Perder alguns arquivos para um vírus de e-1nail é
-base nas redes celulares, que determina quem transmitirá unia coisa; permitir que un1 assaltante desanne seu sistema
em seguida. Para executar essa tarefa, a entidade aceita vá- de segurança a partir de seu computador nióvel e depois
rios pacotes e os prioriza de acordo com algum algoritmo saqueie sua casa é algo nluito diferente. Nos últin1os anos,
interno. No método descentralizado, não existe nenhuma vimos inú1neros exemplos de dispositivos loT inseguros
entidade central - cada 1náquina deve decidir por si 1nesma ou co1n nlau funcionamento, resultando e1n tudo, desde tu-
se a transn1issão deve ser realizada. Você poderia pensar bulações congeladas até o controle remoto de dispositivos
que isso sen1pre leva ao caos, mas isso não acontece. Mais por nleio de scripts 1naliciosos de terceiros. A falta de uma
tarde, estudaremos muitos algoritmos criados para impedir segurança séria en1 n1uitos desses dispositivos tomou pos-
a instauração do caos potencial - logicamente, desde que sível para um intruso observar detalhes sobre a atividade
todas as máquinas obedeçam às regras. do usuário e1n casa; mes1no quando o conteúdo da co1nu-
nicação é criptografado, simplesmente saber o tipo de dis-
positivo que está se con1unicando e os volumes e horários
1.3.3 Redes domésticas do tráfego pode revelar 1nuito sobre o co1nporta1nento par-
Vale a pena gastar utu pouco mais de tempo discutindo as ticular do usuário.
LANs don1ésticas, ou redes domésticas. Elas são u1n tipo Terceiro, as redes do1nésticas evoluen1 organica1nen-
de LAN, podem ter u1na ampla gama de dispositivos co- te, à medida que as pessoas compra1n vários dispositivos
nectados à lnten1et, e precisa1n ser particularmente fáceis eletrônicos de consumo e os conectam à rede. Co1no resul-
de gerenciar, confiáveis e seguras, especialmente nas mãos tado, ao contrá1;0 de u1na LAN corporativa mais ho1nogê-
de usuários não técnicos. nea, o conjunto de tecnologias conectadas à rede domésti-
Há muitos anos, uma rede doméstica provavelmente ca pode ser significativan1ente mais diverso. No entanto,
consistia em alguns laptops e1u u1na LAN sem fio. Hoje, apesar dessa diversidade, as pessoas esperan1 que esses
uma rede doméstica pode incluir dispositivos como smar- dispositivos sejam capazes de interagir (p. ex., eles quere1n
tphones, impressoras se1n fio, tennostatos, alarmes contra ser capazes de usar o assistente de voz fabricado por u1n
roubo, detectores de fu1naça, lâ1npadas, câmeras, televi- fornecedor para controlar as luzes de outro fornecedor).
sores, aparelhos de son1, alto-falantes inteligentes, refri- Un1a vez instalados, os dispositivos podem pern1anecer
geradores, e assim por diante. A proliferação de aparelhos conectados por anos (ou décadas). Isso significa nenhuma
conectados à Internet e eletrônicos de consumo, frequente- guerra de formato: dizer aos clientes para con1prar perifé1i-
mente chamados de To T, torna possível conectar quase todo cos co1n interfaces IEEE 1394 (FireWire) e alguns anos de-
dispositivo eletrônico (incluindo sensores de vários tipos) à pois voltar atrás e dizer que USB 3.0 é a interface do mês
Internet. Essa enorme escala e diversidade de dispositivos e depois dizer que 802.1 lg - opa, não, é melhor 802.1 ln
conectados à Inten1et apresenta novos desafios para pro- - quero dizer, 802.ac - na verdade, é melhor usar 802.11 ax
jetar, gerenciar e proteger uma rede don1éstica. O monito- (diferentes redes sem fio) - deixará os consumidores nluito
ramento remoto dos lares está se tornando cada vez mais nervosos.
cornum, com aplicações que variarn desde 1nonitoramento Por fim, as margens de lucro são pequenas em pro-
de segurança até a manutenção e depreciação do local, já dutos eletrônicos de consumo, portanto, muitos dispositi-
que rnuitos filhos adultos estão dispostos a gastar algum vos visam ser o mais barato possível. Quando confronta-
dinheiro para ajudar seus pais idosos a viver com segurança dos com a escolha de qual porta-retratos djgital conectado
em suas próprias casas. à Internet con1prar, muitos usuários podem optar por utn
En1bora pudéssemos pensar na rede doméstica como mais barato. A pressão para reduzir os custos dos dispositi-
apenas outra LAN, na prática, ela provavelmente terá pro- vos de consumo to1na ainda 1nais difícil atingir os objetivos
priedades diferentes das outras redes, por alguns 1notivos. citados. Segurança, confiabilidade e interoperabilidade, em
Primeiro, os dispositivos que as pessoas conecta1n à sua última análise, custam dinheiro. E1n alguns casos, os fabri-
rede doméstica precisam ser muito fáceis de instalar e man- cantes ou consun1idores podem precisar de incentivos po-
ter. Os roteadores sem fio, e1n certa ocasião, fora1n o iten1 derosos para fabricar e aderir a padrões reconhecidos.
eletrônico de consumo mais devolvido, pois as pessoas os Redes domésticas normaln1ente operam e1n cilna de
compravam esperando ter un1a rede sem fio "pronta para redes sem fio. A conveniência e o custo favorecem as redes
Capítulo 1 • Introdução 13

sem ,fio porque não há fios para adaptar, ou pior, readap- 1.3.4 Redes metropolitanas
tar. A tnedida que os dispositivos conectados à Internet se
proliferam, torna-se cada vez mais inconveniente colocar Uma rede metropolitana, ou MAN (Metropolitan Area
uma porta de rede com fio e1n qualquer lugar da casa onde Nenvork), abrange u1na cidade. O exen1plo mais conheci-
haja uma ton1ada elétrica. As redes sem fio são mais conve- do de MANs é a rede de televisão a cabo. Esses sistemas
nientes e econô1nicas. No entanto, depender delas apresen- cresceram a partir de antigos sistemas de antenas comunitá-
ta desafios únicos de desernpenho e segurança. Primeiro, à rias usadas em áreas corn fraca recepção do sinal de televi-
medida que os usuários trocam mais tráfego em suas redes são pelo ar. Nesses priJneiros sistemas, urna grande antena
era colocada no alto de colina próxima e o sinal era, então,
domésticas e conectatn niais dispositivos a elas, a rede sem
conduzido até as casas dos assinantes.
fio doméstica se torna cada vez mais um gargalo de desem-
penho. Quando isso acontece, um passatempo comum é En1 ptincípio, esses sistemas eran1 ad hoc projetados
culpar o provedor pelo baixo desetnpenho. Os ISPs costu- no local. Posteriormente, as empresas começaram a entrar
no negócio, obtendo concessões dos governos municipais
mam não gostar muito disso.
para conectar cidades inteiras por fios. A etapa seguinte
Em segundo lugar, as ondas de rádio sern fio podem foi a programação de televisão e até ines1no canais intei-
atravessar as paredes (na banda popular de 2,4 GHz, mas ros criados apenas para transmissão por cabos. Esses ca-
nen1 tanto na de 5 GHz). En1bora a segurança se1n fio tenha nais costumavam ser bastante especializados, oferecendo
melhorado substancialmente na última década, ela ainda apenas notícias, apenas esportes, apenas culinária, apenas
está sujeita a 1nuitos ataques que permitem a escuta clan- jardinagen1, e assün por diante. Entretanto, desde sua con-
destina, e certos aspectos do tráfego, como endereços de cepção até o final da década de 1990, eles se destinavam
hardware de dispositivo e volu1ne de tráfego, continua1n somente à recepção de televisão.
sem criptografia. No Capítulo 8, estudarernos como a crip- A partir do momento e1n que a Internet atraiu u1na au-
tografia pode ser utilizada para proporcionar segurança, diência de rnassa, as operadoras de redes de TV a cabo co-
mas, com usuários inexperientes, é mais fácil falar do que meçara1n a perceber que, com algumas 1nudanças no siste-
fazer. n1a, elas poderiam oferecer serviços da Internet full-duplex
As redes de ener gia elétrica também podem penni- en1 partes não utilizadas do espectro. Nesse mo1nento, o
tir que os dispositivos conectados às tomadas transmitam sistema de TV a cabo começou a se transformar, passan-
informações por toda a casa. De qualquer forma, você já do de uma forma de distribuição apenas de televisão para
precisa conectar a TV, e dessa forma ela pode obter conec- uma rede metropolitana. Em u1na primeira aproxi1nação,
tividade com a Internet ao mesmo tempo. A dificuldade é un1a MAN seria semelhante ao siste1na mostrado na Figu-
como transportar energia e sinais de dados ao mesn10 tem- ra 1.8, na qual observamos que os sinais de televisão e de
po - parte da resposta é que eles usam faixas de frequência Internet são transmitidos à central a cabo centralizada (ou
diferentes. sisten1a de tenninação de 1nodem a cabo) para distribuição

- - - - - - - -
fiJ fiJ fiJ fiJ fiJ fiJ fiJ fiJ fiJ i1
Caixa de
junção-...._

Antena
- - - - - - - -

Central
- - - - - - - -

Figura 1.8 Uma rede metropolitana baseada na TV a cabo.


14 Redes de computadores

subsequente às casas das pessoas. Voltare1nos a esse assun- Na 1naioria das WANs, a sub-rede consiste en1 dois
to, estudando-o em detalhes no Capítulo 2. componentes distintos: linhas de transn1issão e elementos
A televisão a cabo não é a única MAN. Os desenvol- de comutação. As linhas de transmissão transportam bits
vimentos recentes para acesso à Internet de alta velocidade entre as 1náquinas. Elas podem ser fonnadas por fios de
sem fio resultaram em outra MAN , que foi padronizada cobre, cabo coaxial, fibra óptica, ou 1nesmo enlaces de ra-
como IEEE 802.16 e é conhecida populannente co1no diodifusão. A 1naioria das empresas não tem linhas de trans-
WiMAX. Todavia, parece que ela não foi adiante. Outras missão disponíveis, então elas alugam as linhas de uma em-
tecnologias sem fio , LTE (Long Term Evolution) e 5G, presa de telecomunicações. Os elementos de comutação,
també1n serão abordadas no Capítulo 2. ou apenas co1nutadores, são dispositivos especializados
que conectam três ou mais linhas de transmissão. Quando
os dados chegam a un1a interface de entrada, o ele1nento de
1.3.5 Redes a longas distâncias comutação deve escolher uma interface de saída para en-
Uma rede a longa distância, ou WAN (Wide Area Ne- caminhá-los. Esses computadores de comutação receberam
hvork), abrange uma grande área geográfica, com frequên- diversos non1es no passado, sendo roteador o 111ais comu-
. , . , , . .
mente usado hoje. Em inglês, algumas pessoas pronunciam
eia um pais, um continente ou ate mesmo vanos continen-
tes. Uma WAN pode atender a uma organização privada, esse nome da mesma forma que "rooter" e outras fazem
como no caso de uma WAN corporativa, ou pode ser uma rima corn "doubter". A definição da pronúncia ficará como
oferta de serviço comercial, como no caso de uma rede de exercício para o leitor. (Observe que a resposta correta per-
• •
transito. cebida talvez varie de região para região.)
Vamos começar nossa discussão co1n as WANs co- Na maioria das WANs, a rede contém muitas lin11as de
nectadas por fio , usando o exe1nplo de uma e1npresa co1n transmissão, cada u1na conectando um par de roteadores.
filiais e1n diferentes cidades. Na Figura 1.9, a WAN é uma Dois roteadores que não cornpartilham uma linha de trans-
rede que conecta escritórios em Perth, Melboume e Bris- n1issão precisa1n fazer isso por rneio de outros roteadores.
bane. Cada um desses escritórios contém co1nputadores Pode haver muitos caminhos na rede conectando esses dois
que executam progra1nas (ou seja, aplicações) do usuário. roteadores. O processo em que o roteador torna a decisão
Seguiremos a tradição e chamaremos essas 1náquinas de sobre qual caminho usar é charnado de algoritmo de rote-
hosts. O restante da rede que conecta esses hosts é cha- amento. Como cada roteador torna a decisão quanto a onde
mada sub-rede de comunicação ou, simplificando, apenas enviar um pacote em seguida é chamado de algoritmo de
sub-rede. A tarefa da sub-rede é transportar mensagens de encaminhamento. Estudaremos alguns tipos etn detalhes
un1 host para outro, exata1nente como o siste1na de telefo- no Capítulo S.
nia transporta as palavras (na realidade, sons) do falante ao Vale a pena fazer um breve comentário em relação
ouvinte. ao termo "sub-rede". Originalmente, seu único significado

Sub-rede "'-
Linha de
. - --------------
""'

~ª:::_~.~s-~sa·~-~----_-_-_-_-_-_-_____________~~---'~~
Roteador,........... _ \ 1

/,,............ ------- ,','


,,'' I
_, , I
f
f
f
f
/

D Melbourne

Figura 1.9 WAN que conecta três escritórios de filiais na Austrália.


Capítulo 1 • Introdução 15

identificava o conjunto de roteadores e linhas de co1nunica- U1na última diferença é naquilo que é conectado à
ção que transportava pacotes entre os hosts de origem e de sub-rede. Podem ser computadores individuais, con10 foi o
destino. Contudo, o tenno adquiriu um segundo significa- caso
,
para a conexão às LANs, ou podem ser LANs inteiras.
do, em conjunto co1n o endereça1nento da rede. Discutire- E assim que redes maiores são montadas a partir de redes
mos esse significado no Capítulo 5 e ficare1nos com o sig- n1enores. E1n relação à sub-rede, ela te1n a mes1na função.
nificado original (uma coleção de linhas de comunicação
de dados e roteadores) até chegarmos lá. Redes privadas virtuais e SD-WANs
A WAN, conforme a descreven1os, é se1nelhante a
uma grande LAN cabeada, rnas existem algumas diferenças En1 vez de alugar 1inhas de transmissão dedicadas, uma
importantes que vão alé1n dos extensos cabos de ioterco- en1presa pode conectar seus escritórios à Inten1et. Isso per-
nexão. Normahnente, em uma WAN, os hosts e a sub-re- mite que as conexões sejam feitas entre os escritórios como
de pertencem e são ad1ninistrados por diferentes pessoas. enlaces virtuais que usam a capacidade de infraestrutura
Em nosso exemplo, os funcionários poderiam ser respon- da Internet. Como já dissemos, esse arranjo, mostrado na
sáveis por seus próprios computadores, enquanto o depar- Figura 1.1 O, é chamado de rede privada virtual, ou VPN.
ta1nento de Tecnologia da Inforn1ação (TI) da empresa está E1n comparação con1 u1na rede com enlaces físicos dedi-
encarregado do restante da rede. Vere1nos lin1ites n1ais cla- cados, uma VPN tem a vantagem comum da virtualização,
ros nos próximos exemplos, em que o provedor da rede ou ou seja, oferece flexibilidade na reutilização de recurso (co-
a companhia telefônica opera a sub-rede. A separação dos nectividade com a lnten1et). U1na YPN ta1nbé1n te1n ades-
aspectos de comunicação puros da rede (a sub-rede) dos as- vantage1n norn1al da virtualização, que é a falta de controle
pectos da aplicação (os hosts) simplifica bastante o projeto sobre os recursos subjacentes. Co1n uma linha dedicada, a
geral da rede. capacidade é clara. Com uma YPN, o desempenho pode va-
Un1a segunda diferença é que os roteadores normal- riar conforme a conectividade básica da Internet. A própria
mente conectarão diferentes tipos de tecnologia de rede. rede ta1nbém pode ser operada com um provedor de serviço
As redes dentro dos escritórios podem ser Ethernet comu- de Internet (ISP) con1ercial. A Figura 1.11 1nostra essa es-
tada, por exemplo, enquanto as linhas de trans1nissão de trutura, que conecta os sites WAN entre si e com o restante
longa distância poden1 ser enlaces SONET (que vere1nos no da Internet.
Capítulo 2). Algum dispositivo é necessário para juntá-las. Outros tipos de WANs utilizam muito as tecnologias
O leitor atento notará que isso vai alé1n da nossa definição sem fio. Nos sistemas via satélite, cada computador no solo
de uma rede. Isso significa que muitas WANs de fato serão tem uma antena através da qual ele pode enviar e receber
redes interligadas, ou redes compostas, que são criadas a dados de e para u1n satélite em órbita. Todos os computa-
partir de 1nais de urna rede. Voltaremos a esse assunto sobre dores podem escutar a saída do satélite, e em alguns casos
redes interligadas na próxima seção. eles também podem escutar as transmissões que sobe1n de

Internet

Enlace via
internet ~- -- - - _____ _ __ - - Brisbane

-------- D
-- -- -- I
I

--- ---------- -- ,,............


I
I
........ ........ I
I
I
... ... I
... ... I
I
... ... I

Melbourne

Figura 1.1 O WAN usando uma rede privada virtual.


16 Redes de computadores

Rede ISP

Unha de
transmissão
Brisbane
Rede do
cliente

Perth

Melbourne

Figura 1.11 WAN usando uma rede ISP.

seus cornputadores para o satélite. As redes de satélite são locais re1notos e conectividade complementar da Internet,
inerentemente de radiodifusão, e são 1nais úteis quando mais barata, para conectar esses locais. A lógica escrita no
essa propriedade é importante, ou quando não existe uma software reprograma os elementos de comutação em tempo
infraestrutura em solo (pense nas companhias de petróleo real para otimizar a rede em tennos de custo e desempenho.
explorando e1n um deserto isolado). SD-WANs são um exemplo de rede definida por software,
A rede de telefonia celular é outro exemplo de uma ou SDN (Soft,vare-Defined Network), uma tecnologia
WAN que usa tecnologia se1n fio. Esse siste1na já passou que ganhou impulso na última década e que gerahnente
por cinco gerações. A primeira geração era analógica e usa- descreve arquiteturas de rede que controlam a rede usando
da apenas para voz. A segunda geração era digital e ape- uma combinação de switches programáveis com a lógica
nas para voz. A terceira geração era digital e se destinava de controle imple1nentada como um programa de software
a voz e dados. A quarta geração é puramente digital, até separado.
mes1no para voz. A quinta geração também é puramente di-
gital e muito 1nais rápida que a quarta, também corn 1nenos
atrasos. 1.3.6 Redes interligadas (internets)
Cada estação-base de celular cobre urna distância Existe111 muitas redes no nlundo, frequenten1ente apre-
muito 1naior do que uma LAN sem fio, com um alcance sentando diferentes tecnologias de hardware e software.
medido em quilô1netros, e1n vez de dezenas de metros. Normalmente, as pessoas conectadas a redes distintas pre-
As estações-base são conectadas umas às outras por uma cisa1n se co1nunicar entre si. Para que esse desejo se torne
rede de backbone que normalmente é conectada por cabos. realidade, é preciso que se estabeleçam conexões entre re-
As taxas de dados das redes celulares nonnahnente estão na des diferentes, quase sempre inco1npatíveis. Um conjunto
orde1n de 100 Mbps, muito 1nenos do que uma LAN sem de redes interconectadas forma uma rede interligada, ou
fio, que pode chegar a uma orden1 de 7 Gbps. Falaren1os internet. Esses termos serão usados em um sentido genéri-
bastante sobre essas redes no Capítulo 2. co, em contraste com a Internet 1nundial (un1a rede interli-
Mais recentemente, as organizações distribuídas por gada específica), que sempre será representada com inicial
regiões geográficas e que precisa1n conectar seus locais maiúscula. A Internet conecta provedores de conteúdo, re-
estão projetando e implantando as chamadas WANs de- des de acesso, redes empresariais, redes don1ésticas e mui-
fmidas por sofnvare (ou SD-WANs), que usam tecnolo- tas outras. Veremos a Internet com muito mais detalhes em
gias diferentes e co111plementares para conectar diversos outro ponto deste livro.
locais, inas fornecem um único acordo de nível de servi- U1na rede é formada pela combinação de uma sub-re-
ço, ou SLA (Service-Levei Agreement) por toda a rede. de e seus bosts. Entretanto, a palavra "rede" é normalmen-
Por exemplo, uma rede pode usar uma combinação de li- te usada também em um sentido mais livre. Uma sub-rede
nhas alugadas dedicadas e mais caras para conectar vários poderia ser descrita como uma rede, como no caso da "rede
Capítulo 1 • Introdução 17

ISP" da Figura 1.11. U1na rede interligada tan1bém pode ser 1.4.1 A Internet
descrita corno urna rede, como no caso da WAN na Figura
1.9. Seguiremos uma prática setnelhante e, se estivermos A Internet é um vasto conjunto de redes diferentes que uti-
distinguindo uma rede de outros arranjos, ficarernos com lizam certos protocolos con1uns e fornecem determinados
nossa definição original de uma coleção de computadores serviços cornuns. É u1n sisterna incomum no sentido de não
interconectados por uma única tecnologia. ter sido planejado nem ser controlado por urna única orga-
Uma rede interligada é formada pela interconexão de nização. Para entendê-Ia melhor, vamos começar do início
redes distintas, operadas independentemente. Em nossa e observar como e por que ela foi desenvolvida. Se desejar
visão, a conexão entre un1a LAN e uma WAN ou a cone- conhecer urna história maravilhosa sobre o surgimento da
Internet, recomendarnos o livro de John Naughton (2000).
xão de duas LANs é o modo normal de formar uma rede
Trata-se de um daqueles raros livros que não apenas são
interligada, mas existe pouco acordo sobre a terminologia
divertidos de ler, mas também tem 20 páginas de citações
nessa área. Em geral, se duas ou mais redes operadas de
destinadas aos historiadores sérios. Uma parte do material
maneira independente pagam para se interconectar, ou se a
a seguir se baseia nesse livro. Para ver un1a história mais
tecnologia subjacente é diferente ern partes distintas (p. ex.,
recente, leia o livro de Brian McCullough (2018).
broadcast versus ponto a ponto, e cabeada versus sem fio),
provavelmente temos uma rede interligada. É claro que ta1nbém fora1n escritos inúmeros li-
vros técnicos sobre a Internet, sua história e seus proto-
O dispositivo que faz uma conexão entre duas ou mais
colos. Para obter mais infonnações consulte, por exem-
redes e oferece a conversão necessária, tanto em termos de
plo, Severance (2015).
hardware quanto de software, é urn gateway. Os gateways
são distinguidos pela camada em que operarn na hierarquia
de protocolos. Falarernos n1ais sobre carnadas e hierarquias AARPANET
de protocolos na próxirna seção, mas, por enquanto, in1a- A história começa no final da década de 1950. No auge da
gine que as camadas mais altas são mais ligadas às apli- Guerra Fria, o Departamento de Defesa dos Estados Unidos
cações, como a Web, e as camadas mais baixas são mais queria urna rede de controle e comando capaz de sobreviver
ligadas a enlaces de transmissão, como a Ethernet. Como o a uma guerra nuclear. Nessa época, todas as comunicações
beneficio de formar u1na rede interligada é conectar con1- militares passavam pela rede de telefonia pública, consi-
putadores pelas redes, não queremos usar u1n gateway em derada vulnerável. A razão para essa convicção pode ser
muito baixo nível, ou então não poderernos fazer conexões vista na Figura 1.12(a). Nessa figura, os pontos pretos re-
entre diferentes tipos de redes. Também não queremos usar presentam centrais de co1nutação telefônica, cada uma das
urn gateway em urn nível muito alto, ou então a conexão só quais conectada a milhares de telefones. Por sua vez, essas
funcionará para determinadas aplicações. O nível interme- centrais de comutação estavarn conectadas a centrais de
diário, que é o mais apropriado, normalmente é charnado de comutação de nível mais alto (centrais interurbanas), for-
camada de rede, e um roteador é um gateway que comuta mando uma hierarquia nacional com apenas uma pequena
pacotes nessa camada. Em geral, urna rede interligada será redundância. A vulnerabilidade do sistema era o fato de que
conectada por gateways da camada de rede, ou roteadores; a destruição de algumas centrais intertu·banas importantes
poré1n, até mesn10 urna única grande rede contém muitos poderia fragmentar o sistema ern muitas ilhas isoladas, de
roteadores. 1nodo que os generais no Pentágono não poderiam ligar
para uma base em Los Angeles.
Por volta de 1960, o Departarnento de Defesa dos
Estados Unidos frrn1ou u1n contrato corn a RAND Corpo-
1.4 EXEMPLOS DE REDES ration para encontrar uma solução. Um de seus funcioná-
rios, Paul Baran, apresentou o projeto altamente distribuído
O assunto de redes de computadores abrange 1nuitos tipos e tolerante a falhas apresentado na Figura l.25(b). Tendo
diferentes de redes, grandes e pequenas, bem conhecidas en1 vista que os caminhos entre duas centrais de con1utação
e pouco conhecidas. Elas tên1 diferentes objetivos, escalas quaisquer eram agora muito n1ais longos do que a distância
e tecnologias. Nas seções a seguir, examinaremos alguns que os sinais analógicos podiam percorrer sen1 distorção,
exemplos, para tennos un1a ideia da variedade existente na Baran propôs o uso da tecnologia digital de cornutação de
área de redes de coruputadores. pacotes. Ele enviou diversos relatórios para o Departa1nento
Começaremos com a Internet, provavelmente a "rede" de Defesa dos Estados Unidos descrevendo suas ideias em
mais conhecida, e estudarernos sua história, sua evolução e detalhes (Baran, 1964). Os funcionários do Pentágono gos-
sua tecnologia. Em seguida, considerarernos a rede de tele- tara1n do conceito e pediram à AT &T, na época a empresa
fonia móvel. Tecnicamente, ela é rnuito diferente da Inter- que detinha o monopólio nacional da telefonia nos Estados
net. Depois, vere1nos o IEEE 802 .11 , o padrão dominante Unidos, que construísse um protótipo. A AT &T descartou
para LANs sem fio. as ideias de Baran. Afinal, a maior e mais rica corporação
18 Redes de computadores

Central de
comutação --...

Central
interurbana
L~--­

(a) (b)

Figura 1.12 (a) Estrutura do sistema de telefonia. (b) Sistema distribuído de comutação proposto por Baran.

do n1undo não podia pennitir que um jovem pretensioso Principies, realizado e1n Gatlinburg, Tennessee, no final de
lhe ensinasse a criar u1n sistema telefônico (ainda 1nais na l 967 (Roberts, 1967). Para grande surpresa de Roberts, ou-
Califórnia, já que a AT &Tera uma co1npanhia da costa les- tro documento na conferência descrevia u1n siste1na seme-
te). A empresa infonnou que a rede de Baran não podia ser lhante, que não apenas tinha sido projetado, como também
construída, e a ideia foi abandonada. havia sido totahnente implementado sob a orientação de
Vários anos se passara1n e o Departamento de Defe- Donald Davies no National Physical Laboratory (NPL), na
sa dos Estados Unidos ainda não tinha un1 siste1na melhor Inglaten·a. O sistema do NPL não era nacional, ele simples-
de comando e controle. Para entender o que aconteceu e1n mente conectava vários con1putadores no campus do NPL.
seguida, te1nos de retornar a outubro de 1957, quando a Apesar disso, Roberts ficou convencido de que a comuta-
União Soviética derrotou os Estados Unidos na corrida ção de pacotes podia funcionar. Alé1u do mais, ele citava o
espacial com o lança1nento do pri1neiro satélite artificial, trabalho anterionnente descartado de Baran. Roberts voltou
o Sputnik. Quando tentou descobrir quem tinha "donni- de Gatlinburg determinado a construir o que mais tarde fi-
do no ponto'', o Presidente Dwight Eisenhower acabou cou conhecido co1no ARPANET.
detectando a disputa entre o Exército, a Marinha e a For- No plano que foi desenvolvido, a sub-rede consistiria
ça Aérea pelo orçamento de pesquisa do Pentágono. Sua en1 1n inico1nputadores cha1nados processadores de nlensa-
resposta in1ediata foi criar u1na organização centralizada gens de interface, ou IMPs (Interface Message Proces-
de pesquisa de defesa, a ARPA, ou Advanced Research sors), conectados por linhas de transmissão de 56 kbps, as
Projetcts Agency. AARPA não tinha cientistas nem labo- mais velozes na época. Para garantir sua alta confiabilidade,
ratórios; de fato, ela não tinha nada além de um escritório e cada IMP seria conectado a pelo menos dois outros IMPs.
de un1 pequeno orçan1ento (para os padrões do Pentágono). Cada pacote enviado pela sub-rede deveria conter o ende-
A agência realizava seu trabalho oferecendo concessões e reço de destino completo, de 1nodo que, se algumas linhas
contratos a universidades e empresas cujas ideias lhe pare- ou IMPs fossem destruídos, as mensagens poderian1 ser re-
. .
c1am promissoras. direcionadas automaticamente para caminhos alternativos.
Durante os pritneiros anos, a ARPA tentou compreen- Cada nó da rede deveria ter um IMP e um bost na
der qual deveria ser sua 1nissão. Em 1967, a atenção do mes1na sala, conectados por um fio curto. Um host poderia
então diretor de programas da ARPA, Larry Roberts, que enviar mensagens de até 8063 bits para seu IMP que, em
estava tentando descobrir como oferecer acesso remoto seguida, as dividiria em pacotes de no máximo 1008 bits e
aos computadores, se voltou para as redes. Ele entrou ern os encaminharia de forma independente até o destino. Cada
contato com diversos especialistas para decidir o que fa- pacote era recebido por completo antes de ser enca1ninha-
zer. Um deles, Wesley Clark, sugeriu a criação de u1na sub- do; assim, a sub-rede se tomou a primeira rede eletrônica
-rede comutada por pacotes, dando a cada host seu próprio de comutação de pacotes store-and-forward (armazenar e
roteador. enca1ninhar).
Após certo ceticismo inicial, Roberts comprou a Em seguida, a ARPA abriu uma concorrência para a
ideia e apresentou um documento bastante vago sobre construção da sub-rede e 12 ernpresas apresentaram propos-
ela no ACM SIGOPS Symposium on Operating System tas. Depois de avaliar todas elas, a ARPA selecionou a BBN,
Capítulo 1 • Introdução 19

uma empresa de consultoria de Ca1nbridge, Massachusetts e, Esses quatro nós foram escolhidos porque todos tinha1n um
em dezembro de 1968, assinou u1n contrato para 1nontar a grande número de contratos com a ARPA, e todos tinham
sub-rede e desenvolver o software para ela. A BBN resol- computadores host diferentes e completamente inco1npatí-
veu utilizar, con10 lMPs, minico1nputadores Honeywell veis (para aumentar o desafio). A primeira mensagem hosta
DDP-316 especialtnente 1nodificados, co1n 12K palavras de host havia sido enviada dois 1neses antes, do nó na UCLA,
16 bits de memória principal. Os IMPs não tinha1n unidades por u1na equipe liderada por Len Kleinrock (pioneiro da
de discos, pois os componentes móveis eram considerados teoria de comutação de pacotes), para o nó em SRI. A rede
pouco confiáveis. Os IMPs eram interconectados por linhas cresceu rapidamente à medida que outros IMPs foram en-
de 56 kbps, alugadas das co1npanhias telefônicas. Embora tregues e instalados e logo se estendeu por todo o território
56 kbps seja agora a única escolha para os moradores de norte-americano. A Figura 1.14 mostra a rapidez com que a
áreas rurais, na época era o melhor que o dinheiro podia ARPANET se desenvolveu nos três primeiros anos.
comprar. Além de ajudar no súbito crescimento da ARPANET,
O software fo i dividido ern duas partes: sub-rede e a ARPA também fmanciou pesquisas sobre o uso de redes
host. O software da sub-rede consistia na extre1nidade IMP de satélite e redes 1nóveis de rádio de pacotes. Em un1a hoje
da conexão host-IMP, no protocolo IMP-IMP e em um pro- famosa demonstração, um motorista de caminhão viajando
tocolo do IMP de origem para o IMP de destino, criado para pela Califórnia utilizou a rede de rádio de pacotes para en-
au1nentar a confiabilidade. O projeto original da ARPA- viar mensagens à SRI, que então foram encaminhadas pela
NET pode ser visto na Figura 1. J3. ARPANET até a Costa Leste dos Estados Unidos, de onde
Fora da sub-rede, também havia necessidade de soft- foram enviadas à University College, em Londres, pela
ware, ou seja, a extremidade referente ao host da conexão rede de satélite. Isso permitiu que um pesquisador no cami-
host-IMP, o protocolo host-bost e o software de aplicação. nhão usasse um computador situado em Londres enquanto
Logo ficou claro que a BBN acreditava que, quando tivesse dirigia pelo estado da Califórnia.
aceitado uma 1nensagem em uma conexão host-TMP e a ti- Essa experiência também de1nonstrou que os proto-
vesse colocado na conexão host-IMP no destino, sua tarefa colos da ARPANET não eram adequados para execução
teria terminado. em redes diferentes. Essa observação ocasionou mais
Entretanto, Roberts tinha um problema: os hosts tam- pesquisas sobre protocolos, culminando com a invenção
bé1n precisavam de software. Para lidar co1n ele, Roberts dos protocolos TCP/IP (Cerf e Kahn, 1974). O TCP/ IP foi
convocou u1na reunião con1 os pesquisadores de rede, em criado especifica1nente para lidar co1n a con1unicação en-
sua 1naioria estudantes universitários, em Snowbird, Utah, tre redes interligadas, algo que se tomou mais importante
no verão de 1969. Os universitários esperavam que algum à medida que um número maior de redes era conectado à
perito e1n redes explicasse o projeto geral da rede e seu ARPANET.
software, e depois atribuísse a cada um deles a tarefa de Para estimular a adoção desses novos protocolos,
desenvolver uma parte do projeto. Eles ficaram absoluta- a ARPA ofereceu diversos contratos para imple1nentar
mente surpresos ao ver que não havia nenbu1n especialista o TCP/IP em diferentes plataformas de computação, in-
em rede e nenhum projeto geral. Teriam de descobrir o que cluindo sistemas IBM, DEC e HP, bem como no UNlX de
fazer por conta própria. Berkeley. Os pesquisadores na University of Califomia e1n
No entanto, em dezembro de 1969 entrou no ar Berkeley reescrevera1n o TCP/IP com un1a nova interface
u1na rede experimental com quatro nós: University of de programação (soquetes) para o lançamento iminen-
California, Los Angeles (UCLA) e Santa Barbara (UCSB), te da versão 4.2BSD do UNIX de Berkeley. Eles também
Stanford Research Institute (SRI) e University of Utah. escreveram muitos progran1as aplicativos, utilitários e de

Protocolo host-host / Host


~ ------------------------------- ·
Protocolo
host-IMP--J1------~==-=~;~;;~/\--
~ . ara IMP dest\no
Protocolo_I~!'-~r~~e~ .?. ---------- -~P--...__,,
- --- ---- co'º
?~o\O •I\?
Protocolo lMP-lMP \~?-\'~' Sub-rede

IMP

Figura 1.13 Projeto original da ARPANET.


20 Redes de computadores

SRI UTAH SRI UTAH MIT SRI UTAH ILLINOIS MIT LINCOLN CASE

DC soe CARN

UCLA UCLA RAND BBN UCLA RAND BBN HARVARD BURROUGHS

(a) (b) (e)

SRI LBL MCCLELLAN UTAH ILLINOIS MIT

MCCLELLAN AMESTIP
BBN
SRI /UTAH NCAR GWC LINCOLN CASE HARVARD
AMESIMP LINC
X-PARC ABERDEEN
RADC
CARN STANFORD
AMES O use LINC
UCSB MITRE FNWC RAND
MIT TINKER
STANO soe ETAC
MITRE RADC
UCSB UCSD SAAC
UCLA RAND TINKER BBN HARVARD NBS BELVOIR

UCLA soe use NOAA GWC CASE

(d) (e)

Figura 1.14 O crescimento da ARPANET. (a) Dezembro de 1969. (b) Julho de 1970. (c) Março de 1971. (d) Abril de 1972.
(e) Setembro de 1972.

gerenciamento para mostrar como era conveniente usar a ARPANET, que seria aberta a todos os grupos de pesquisa
rede com soquetes. universitários.
A ocasião foi perfeita. Muitas universidades tinham Para ter algo concreto com que começar, a NSF deci-
acabado de adquirir um segundo ou um terceiro compu- diu construir uma rede de backbone para conectar seus seis
tador VAX e uma LAN para conectá-los, mas não tinham centros de supercomputadores, localizados em San Diego,
nenhum software de rede. Quando surgiu o 4.2BSD, com Boulder, Chan1paign, Pittsburgh, Ithaca e Princeton. Cada
TCP/TP, soquetes e muitos utilitários de rede, o pacote com- supercomputador ganhou um irn1ão mais novo, um micro-
pleto foi adotado imediatamente. Além disso, com o TCP/ computador LSI-11, chamado fuzzbaU. Os fuzzballs esta-
IP, era fáci l conectar as LANs à ARPANET, e muitos fi ze- vam conectados a linhas privadas de 56 kbps e fonnava1n
ram isso. Como resultado, o uso do TCP/IP cresceu rapida- a sub-rede, usando a 1nesma tecnologia de hardware da
mente durante meados da década de 1970. ARPANET. Contudo, a tecnologia de software era diferen-
te: os fuzzballs se comunicavam diretamente com o TCP/
IP desde o início, criando assim a prüneira WAN TCP/IP.
NSFNET
A NSF também fmanciou cerca de 20 redes regionais
No final da década de 1970, a NSF (National Science Foun- que fora1n conectadas ao backbone para que os usuários de
dation) percebeu o enorn1e impacto que a ARPANET estava milhares de universidades, laboratórios de pesquisa, biblio-
causando nas pesquisas universitárias nos Estados Unidos, tecas e museus tivessem acesso a um dos supercomputado-
permitindo que cientistas de todo o país co1npartilhas- res e se comunicassem entre si. A rede completa, incluindo
sem dados e trabalhasse1n juntos en1 projetos de pesquisa. o backbone e as redes regionais, foi chamada NSFNET
No entanto, para entrar na ARPANET, uma universidade (National Science Foundation Net,vork). Ela se conec-
precisava ter um contrato de pesquisa co1n o Departa1nen- tava à ARPANET por meio de um link entre um IMP e um
to de Defesa dos Estados Unidos, e 1nuitas não tinha1n tun fuzzball no centro de processamento de dados de Carnegie-
contrato. A resposta inicial da NSF foi patrocinar a Com- -Mellon. O prin1eiro backbone da NSFNET está ilustrado
puter Science Net,vork (CSNET) em 1981. Ela conectava na Figura L.15, sobreposta a um mapa dos Estados Unidos.
departamentos de ciência da computação e laboratórios de A NSFNET foi um sucesso instantâneo e logo esta-
pesquisa industrial à ARPANET por meio de linhas disca- va sobrecarregada. In1ediata1nente, a NSF con1eçou a pla-
das e privadas. No final da década de 1980, a NSF foi ain- nejar sua sucessora e firmou un1 contrato con1 o consór-
da 1nais longe e decidiu desenvolver uma sucessora para a cio MERIT, de Michigan, para executá-la. Junto à MCI
Capítulo 1 • Introdução 21

o Centro de supercomputador da NSF


0 Rede intermediária da NSF
• Ambos

Figura 1.15 Obackbone da NSFNET em 1988.

(adquirida pela Verizon ern 2006) forarn alugados canais se n1antere1n no mercado, que era a ideia, naturaln1ente.
de fibra óptica de 448 kbps para fornecer a versão 2 do ba- Como resultado, o conceito de uru único backbone padrão
ckbone. Máquinas IBM PC-RT foram usadas como rotea- foi substituído por uma infraestrutura cornpetitiva, com fins
dores. Logo, o segundo backbone também estava operando lucrativos. Muitas pessoas gostam de criticar o governo dos
com sua capacidade máxima e, ern 1990, ele foi atualizado Estados Unidos por não ser inovador, mas, na área de redes,
para 1,5 Mbps. foram o Departa1nento de Defesa e a NSF que criaram a
O contínuo crescimento levou a NSF a perceber que infraestrutura que fom1ou a base para a Internet, e depois
o governo não podia continuar a financiar a rede para sem- a entregaram à indústria para cuidar de sua operação. Isso
pre. Além disso, as organizações comerciais queriam par- aconteceu porque, quando o Departamento de Defesa pediu
ticipar da rede, n1as eram proibidas pelo estatuto da NSF à AT&T para criar a ARPANET, ela não valorizou as redes
de utilizar redes mantidas corn verbas da fundação. Conse- de computadores e recusou-se a criá-la.
quentemente, a NSF estimulou a MERIT, a MCT e a IBM Durante a década de 1990, muitos outros países e
a forn1arem urna en1presa sem fms lucrativos, a ANS (Ad- regiões também construíra1n redes nacionais de pesqui-
vanced Networks and Services) que foi a primeira etapa sa, geraln1ente n1oldadas de acordo com a ARPANET e a
em direção à comercialização. Em 1990, a ANS assun1iu a NSFNET. Na Europa, essas redes incluírarn EuropaNET e
NSFNET e atualizou os links de 1,5 Mbps para 45 Mbps, EBONE, que começaran1 corn linhas de 2 Mbps e depois
a fim de formar a ANSNET. Essa rede operou por cinco foram atualizadas para linhas de 34 Mbps. Mais tarde, a
anos e depois foi vendida à America Online. Todavia, nessa infraestrutura de rede na Europa também foi entregue à
época, diversas ernpresas estavam oferecendo o serviço IP indústria.
comercial e se tomou claro que o governo deveria deixar o A Internet n1udou 1nuito desde então. Seu tamanho ex-
negócio de redes. plodiu com o surgimento da World Wide Web (WWW), no
Para facilitar a transição e garantir que todas as redes início da década de 1990. Dados recentes do Internet Syste-
regionais pudessem se cornunicar entre si, a NSF contratou 1ns Consortiurn indicam que o nún1ero de hosts visíveis na
quatro diferentes operadoras de redes para estabelecer um Internet supera os 600 milhões. Esse número é apenas uma
ponto de acesso de rede, ou NAP (Nenvork Access Point). estimativa por baixo, mas ele é nluito superior aos poucos
Essas operadoras eram a PacBell (San Francisco), Amerite- milhões de hosts que existiam quando a primeira conferên-
ch (Chicago), MFS (Washington, D.C.) e Sprint (cidade de cia sobre a WWW foi realizada no CERN, em 1994.
Nova Iorque). Todas as operadoras de redes que quisessem A maneira como usamos a Internet também mudou ra-
oferecer serviços de backbone às redes regionais da NSF dicalmente. No início, aplicações como e-mail para acadê-
tinham de estabelecer conexão com todos os NAPs. n1icos, grupos de notícias, login remoto e transferência de
Nessa estratégia, um pacote originário de un1a das re- arquivos dominavam. Depois, ela passou a ser um e-n1ail
des regionais tinha a opção de escolher uma das concessio- para cada um, depois a Web e a distribuição de conteúdo
nárias de backbone para ser transferido do NAP de origem peer-to-peer, como a Napster, hoje fora de operação. Atual-
para o NAP de destino. Consequentemente, as concessioná- n1ente, distribuição de mídia en1 tempo real e redes sociais
rias de backbone foram obrigadas a concorrer com as redes (p. ex., Twitter e Facebook) estão ganhando cada vez mais
regionais, tendo de oferecer preços e serviços 1nelhores para força. O tráfego dominante na Internet agora, com certeza,
22 Redes de computadores

é o streaming de vídeo (p. ex., Nettlix e YouTube). Esses HFC (Hybrid Fiber-Coaxial), é uma única infraestrutu-
desenvolvimentos valorizara1n os tipos de 1nídia da Internet ra integrada que utiliza um transporte baseado em pacotes,
e, portanto, geraram muito mais tráfego, ocasionando mu- chamado DOCSIS (Data Over Cable Service Interface
danças na própria arquitetura da Internet. Specification), para trans1nitir diversos serviços de da-
dos, incluindo canais de televisão, dados de alta velocida-
Arquitetura da Internet de e voz. O dispositivo na residência é cha1nado modem
a cabo, e o dispositivo no terminal de cabo é chamado
A arquitetura da Internet também mudou muito por ter cres- CMTS (Cable Modem Termination System). A palavra
cido de forma explosiva. Nesta seção, apresentaremos uma modem é uma contração de "modulador/deniodulador" e
breve visão geral da Internet atual. O quadro é co1nplicado refere-se a qualquer dispositivo que faz a conversão entre
pelas continuas reviravoltas nos negócios das empresas te- bits digitais e sinais analógicos.
lefônicas (telcos), e1npresas de cabo e ISPs, o que muitas As redes de acesso são li1nitadas pela largura de banda
vezes torna dificil saber quem está fazendo o quê. Um fator da "últin1a milha", ou última perna da transmissão. Durante
que iinpulsiona essas reviravoltas é a convergência das te- a última década, o padrão DOCSIS teve avanços e permitiu
lecomunicações, em que u1na rede é usada para fins ante- um throughput significativa1nente maior para as redes do-
rionnente distintos. Por exemplo, em uma "jogada tripla", n1ésticas. O padrão 1nais recente, DOCSIS 3.1 full duplex,
utna empresa vende seu serviço de telefonia, TV e Internet possui suporte a taxas de dados simétricas upstream e do-
na mesma conexão de rede por u1n preço 1nenor que os três wnstream, com uma capacidade máxima de 1OGbps. Outra
serviços custaria1n individuahnente. Consequentemente, opção para a implantação da última milha envolve o uso de
esta descrição terá de ser u1n pouco nlais simples que a fibra óptica até as residências, usando urna tecnologia co-
realidade. E o que é verdade agora pode não ser verdade nhecida como FTTH (Fiber to the Home). Para empresas
a1nanhã. en1 áreas comerciais, pode fazer sentido alugar uma linha
O quadro geral da arquitetura da Internet é mostrado de transmissão dedicada, de alta velocidade, dos escritó-
na Figura 1..16. Agora, van1os examinar cada item dessa fi- rios até o ISP 1nais próximo. E1n grandes cidades de algu-
gura, começando com um computador doméstico (nas bor- mas partes do inundo, existem linhas dedicadas de até 1O
das do esquema). Para entrar na Internet, o computador é Gbps; velocidades n1ais baixas ta1nbé1n estão disponíveis.
conectado a un1 provedor de serviço de Internet, de quem o Por exemplo, uma linha T3 trabalha en1 aproximadamente
usuário compra acesso à Internet. Co1n isso, o computador 45 Mbps. Em outras partes do mundo, especialmente nos
pode trocar pacotes com todos os outros hosts acessíveis na países em desenvolvimento, não existe nem cabo nen1 fi -
Internet. Existe1n muitos tipos diferentes de acesso à Inter- bra e, e1n algumas dessas regiões, o rueio predon1inante de
net, e eles normalmente são distinguidos por quanta largura acesso à Inte111et está saltando diretamente para redes sem
de banda oferecem e quanto custam, n1as o atributo mais fio ou móveis de velocidade mais alta. Na próxima seção,
itnportante é a conectividade. daremos uma ideia do acesso à Internet por meios móveis.
Um modo comum de se conectar de sua casa à Internet Agora, podemos mover pacotes entre a residência e
é enviando smais pela mfraestrutura de TV a cabo. A rede o ISP. Chamamos o local em que os pacotes do cliente en-
a cabo, às vezes cha1nada de rede híbrida fibra-coaxial, ou tram na rede do ISP de ponto de presença, ou POP (Point

Centro Provedor de serviço de internet


de dados
,,,::;; ( Rede de backbone
,-- Roteador

Interconexão
1 1 1
(Peering) --....._1
1 1 Dispositivo móvel ~
~ Fibra
1 1
•• 1 •· J (FTTX)

CDN/
a cabo
POP Nuvem distribuída Caminho CMTS
dos dados

Figura 1.16 Visão geral da arquitetura da Internet.


Capítulo 1 • Introdução 23

of Presence). Em seguida, explicaremos como os pacotes enlaces de fibra óptica de alta largura de banda. Esses JSPs
são movimentados entre os POPs de diferentes ISPs. Desse não pagam pelo trânsito. Eles normalmente são chamados
ponto em diante, o sistema é totalmente digital e co1nutado ISPs da camada 1 e forma1n o backbone principal da In-
por pacotes. ten1et, pois todos os outros devem ser conectar a eles para
As redes do ISP podem ter escopo regional, nacional alcançar a Internet inteira.
ou internacional. Já vimos que sua arquitetura é composta Empresas que fornecem muito conteúdo, como Face-
por linhas de transmissão de longa distância que interco- book e Netflix, localizam seus servidores em centros de
nectam roteadores nos POPs nas diferentes cidades que os dados que estão bem conectados com o restante da Inter-
ISPs atendem. Esse equipamento é chamado de backbone net. Esses centros de dados são projetados para computa-
do ISP. Se um pacote é destinado para um host servido di- dores, não para humanos, e podem estar cheios de racks e
retamente pelo ISP, ele é roteado pelo backbone e entregue 1nais racks de máquinas, o que chamamos de um parque de
ao host. Caso contrário, ele deve ser entregue a outro ISP. servidores. A colocalização ou a hospedagem de centros
Os ISPs conectam suas redes para trocar tráfego nos de dados pennite que os clientes coloque1n equipa1nentos
IXPs (Internet eXchange Points). Diz-se que os ISPs co- como servidores nos POPs do ISP, de modo que possa ha-
nectados são emparelhados (peer). Existem 1nuitos IXPs ver conexões curtas e rápidas entre os servidores e os back-
em cidades do mundo inteiro. Eles são desenhados verti- bones do ISP. O setor de hospedagem da lnternet tornou-se
calmente na Figura 1.16, pois as redes de ISP se sobrepõem cada vez mais virtualizado, de 1nodo que agora é con1um
geograficamente. Basicamente, um IXP é un1a sala cheia de alugar uma máquina virtual, executada e1n um parque de
roteadores, pelo menos um por ISP. Uma LAN na sala co- servidores, em vez de instalar um computador fisico. Es-
necta todos os roteadores, de nlodo que os pacotes podem ses centros de dados são tão grandes (centenas de 1n ilhares
ser encaminhados de qualquer backbone ISP para qualquer ou 1nilhões de máquinas) que a eletricidade te1n um grande
outro backbone ISP. Os IXPs podem ser instalações gran- custo, de modo que, às vezes, eles são construídos em lo-
des e independentes, que competem entre si por negócios. cais onde a eletricidade é mais barata. Por exe1nplo, o Goo-
Um dos maiores é o Amsterdam Internet Exchange (AMS- gle montou urn centro de dados de dois bilhões de dólares
-IX), ao qual se conectam mais de 800 ISPs e através do en1 The Dalles, Oregon, porque a cidade está próxi1na de
qual são trocados mais de 4000 gigabits (4 terabits) de trá- uma grande hidrelétrica no Rio Columbia, que lhe fornece
fego a cada segundo. energia limpa e barata.
O emparelhamento que ocorre nos fXPs depende dos Por convenção, a arquitetura da Internet tem sido vis-
relacionamentos co1nerciais entre os ISPs, e existe1n mui- ta como un1a hierarquia, com os provedores de nível 1 no
topo e outras redes mais abaixo, dependendo se são grandes
tas co1nbinações possíveis. Por exe1nplo, um ISP pequeno
redes regionais ou redes de acesso menores, co1no pode ser
poderia pagar a utn ISP maior pela conectividade à Internet
visto na Figura 1. 17. No entanto, ao longo da última dé-
para alcançar hosts distantes, assiJn como um cliente con1-
pra o serviço de um provedor de Internet. Nesse caso, diz- cada, essa hierarquia evoluiu e se "achatou" drasticatnente
(Figura 1.18). O ímpeto para essa mudança foi o surgi1nento
-se que o ISP pequeno paga pelo tráfego. Como alternativa,
de provedores de conteúdo "hipergigantes", incluindo Goo-
dois ISPs grandes poderiam decidir trocar tráfego de modo
gle, Netflix, Twitch e Amazon, além de CDNs grandes e
que cada ISP possa entregar algum tráfego ao outro ISP
distribuídas globalmente, corno Akamai, Limelight e Clou-
sem pagar por isso. Um dos muitos paradoxos da Internet é
dflare. Eles mudaram a arquitetura da Internet mais u1na
que os ISPs que concorrem por clientes uns com os outros
vez. Embora, no passado, esses provedores de conteúdo
publicamente normalmente trabalham em cooperação para
tivessem que depender de redes de trânsito para entregar
realizar o emparelhamento (Metz, 2001).
conteúdo a ISPs de acesso local, tanto ISPs de acesso quan-
O caminho que um pacote segue pela Internet depende to provedores de conteúdo se proliferaram e se tornaram
das escolhas de emparelhamento dos ISPs. Se o lSP que tão grandes que 1nuitas vezes se conectam diretan1ente uns
entrega um pacote se emparelhar co1n o ISP de destino, ele aos outros em muitos locais distintos. Às vezes, o caminho
pode entregar o pacote direta1nente a seu par. Caso contrá- comum da Internet será diretamente do seu ISP de acesso
rio, ele pode rotear o pacote para o local 1nais próximo e1n ao provedor de conteúdo. Em alguns casos, o provedor de
que se conecta a un1 provedor de trânsito pago, de modo conteúdo até 1nes1no hospedará servidores dentro da rede
que o provedor possa entregar o pacote. Dois exemplos do JSP de acesso.
de can1inhos pelos ISPs são desenhados na Figura 1.16.
Nonnaln1ente, o can1inho seguido por un1 pacote não será
o caminho mais curto pela Internet. Ele pode ser o menos 1.4.2 Redes de telefonia móvel
congestionado ou o n1ais barato para os JSPs.
Alguns poucos provedores de trânsito, incluindo As redes de telefonia móvel tên1 mais de cinco bilhões de
AT&T e Levei 3, operam grandes redes internacionais de assinantes no n1undo inteiro. Para entender melhor esse
backbones, com milhares de roteadores conectados por nú1nero, ele significa aproximadamente 65% da população
24 Redes de computadores

Operadoras
Provedor de backbone Provedor de backbone
de backbone
nacionais 1 \ / 1
1 \ / 1
\ /
---------------- ~ ----~--------r--- ~ ---------------
1 \ / 1
1 \ / 1
1 \ / 1
1
Provedores I ', 1 1
de acesso
regionais ISP regional ISP reg ional ISP regional

/ 1 \
/ \
-----------~---L-
/ 1 ---------~----------
\
/
/ 1 \
Emparelhamento ,.--, / \

- - - - Trânsito '
ISP 1 ISP 2 ISP 3 ISP4
Provedores
de acesso
locais
I \ I \ I 1 I 1 I 1

I \ I I 1 I 1 I 1
I 1 I I 1 I 1 I \

Redes IP
do cliente

Consumidores e clientes comerciais

Figura 1.17 A arquitetura da Internet nos anos 1990 seguia uma estrutura hierárquica.

--------- ---- ------------ --- --


--....
Operadores
de backbone
Provedor de backbone >---< Provedor de backbone
-- -'-,' ' '
. . \ ' Il i \' ' '
nac1ona1s \ \ / I 1 \ ', ' ,' O G)
\ ' / J 1 \ ', , ',o ...,
\ \ ,, , \ ' \ ::JQ)

------------r---~--------~- L -~---~~--~-------- ~ à
\ \ I I 1 \ ', 3 (1)
1 \ li I 1 \ ' ã: ()
1 \ I I I \ ', O 0
1
\ 1
\ ~
(1)
z
CON \ CON I CDN !f' Q.
o~ (")
Provedores ISP 1-- -- --\'---\ ISP nacional ISP nacional ro
1
de acesso nacional - 1 (/) o
. .
reg1ona1s '::,------' ,, ~a
.... , _- ' \ a.~'
..... .... --- n>a.
<C o
I \- - <1> -
Emparelhamento ISP nacional 1
ISP nacional 3
CON
---- Trânsito I
I /
/ 1 1 1 1
I / 1
1 1 \ 1
1 1 \ 1
I I 1
/ J 1 1 \ 1
I I 1 \ 1
I J 1 \
/ J 1
I / J 1 \
1 1 1 \
1
I /

Redes IP
do cliente

Consumidores e clientes comerciais

Figura 1.18 Achatamento da hierarquia da Internet.


Capítulo 1 • Introdução 25

mundial. Muitos, ou a n1aioria dos assinantes, tê1n acesso por pacotes, e agora é chamado de EPC (Evolved Packet
à Internet por meio de seu dispositivo móvel (ITU, 2016). Core). O núcleo da rede 3G UMTS evoluiu a partir do nú-
Em 2018, o tráfego da Internet por redes de telefonia móvel cleo da rede usada para o sistema 2G GSM, que veio an-
se tornou 1nais da 1netade do tráfego on-line global. Conse- tes dela; o 40 EPC completou a transição para uma rede
quenten1ente, o estudo do siste1na de telefonia 1nóvel vem de núcleo totahnente co1nutada por pacotes. O sistema SG
em seguida. també1n é total111ente digital. Não há co1no voltar agora.
O analógico está tão morto quanto o pássaro dodô.
Arquitetura da rede de telefonia móvel Os serviços de dados se tornaram u1na parte 1nuito
mais importante da rede de telefonia móvel do que cos-
A arquitetura da rede de telefonia móvel é muito diferente tumavam ser, começando com mensagens de texto e os
daquela da Internet. Ela possui várias partes, co1no 1nos- pri1neiros serviços de dados por pacotes, como GPRS
tra a versão simplificada da arquitetura 4G LTE na Figura (General Packet Radio Ser vice) no sistema GSM. Esses
1.19. Este é um dos padrões de rede 1nóvel mais comuns, serviços de dados mais antigos funcionava111 em dezenas de
e continuará a ser até que seja substituído pelo SG , a rede kbps, mas os usuários queriam velocidades ainda maiores.
de quinta geração. Em breve, discutire1nos a história das As redes de telefonia móvel mais novas transportam paco-
diversas gerações. tes de dados etn velocidades 1núltiplas de Mbps. Para co1n-
Em primeiro lugar, existe a E- UTRAN (Evolved paração, uma chamada de voz é feita a uma taxa nominal
UMTS Terrestrial Radio Access Net~vo rk), que é um de 64 kbps, normalmente três a quatro vezes menos com
no1ne sofisticado para o protocolo de comunicação por compactação.
rádio usado pelo ar entre os dispositivo móveis (p. ex ., o Para transportar todos esses dados, os nós do núcleo
telefone celular) e a estação-base celular, que agora é cha- da rede UMTS se conectam diretamente a uma rede de
mado de eNodeB. UMTS (Universal Mobile 'felecommu- co1nutação de pacotes. O S-GW (Ser ving Netlvork Ga-
nications System) é o nome fom1al da rede de telefonia teway) e o P-GW (Packet Data Nenvork Gateway) entre-
celular. Os avanços na interface do ar durante as últimas dé- ga1n pacotes de dados de e para smartphones e se conecta1n
cadas aumentaram bastante as velocidades dos dados sem a redes externas de pacotes, co1no a Internet.
fio (e ainda estão aumentando). A interface do ar é baseada Essa transição deverá continuar nas redes de telefonia
em CDMA (Code Division Multiple Access), uma técnica móvel do futuro. Os protocolos da Internet são ainda utili-
que estudaremos no Capítulo 2. zados em smartphones para estabelecer conexões para cha-
A estação-base da rede celular forma, com seu contro- madas de voz por u1na rede de dados de pacotes, na forma
lador, a rede de acesso por rádio. Essa parte é o lado sem de VoIP. IP e pacotes são usados desde o acesso via rádio
fio da rede de telefonia Lnóvel. O nó controlador ou RNC até o acesso ao núcleo da rede. Naturaln1ente, o modo como
(Radio Netlvork Controller) controla co1no o espectro é as redes IP são projetadas também está 1nudando para dar
utilizado. A estação-base implementa a interface com o ar. melhor suporte à qualidade do serviço. Se isso não ocorrer,
O restante da rede de telefonia 1nóvel transporta o trá- problemas com áudio e vídeo picotados não impressiona-
fego para a rede de acesso por rádio. Ela é chan1ada núcleo rão os clientes pagantes. Retornaremos a esse assunto no
da rede. Em redes 4G, seu núcleo passou a ser co1nutado Capítulo 5.

E-UTRAN EPC
, ~~----------------, ' , , ;-------------------- -, '
r
1
D.. . . . . . . . . . . . ~.~( »)
,,.·'·"::i\~
/;
·:
1
•'
1
,
HSS
'' 1

•' UE ..·· 1


1
,,....··
....··
.··......··
D MME

UE
_. .
.......·······•·
1

, UE
D ·····-···
eNodeB
1
1
1
1
1
1
1
1
1

'
S-GW P-GW

'
, ________________ , ,' '' ' '
'' , ,,
'---------------------
Figura 1.19 Arquitetura simplificada da rede de telefonia móvel 4G LTE.
26 Redes de computadores

Outra diferença entre redes de telefonia móvel e a In- levan1 seus aparelhos, mas co1npram um novo cartão SIM
ternet tradicional é a mobilidade. Quando um usuário sai do quando chega1n em seu destino, a fim de fazer ligações lo-
alcance de uma estação-base celular e entra no alcance de cais sem pagar pelo roaming.
outra, o fluxo de dados deve ser redirecionado da estação- Para reduzir a chance de fraudes, as informações nos
-base antiga para a nova. Essa técnica é conhecida como cartões SIM ta1nbén1 são usadas pela rede de telefonia
transferência (handover ou handoft), co1no ilustra a 1nóvel para autenticar os assinantes e verificar se eles têm
Figura 1.20. permissão para usar a rede. Com UMTS, o aparelho móvel
Ou o dispositivo móvel ou a estação-base podem so- também usa as informações no cartão SIM para verificar se
licitar u1na transferência quando a qualidade do sinal cai. está falando co1n uma rede legíti1na.
En1 algumas redes de celular, nonnalmente nas baseadas na Outra consideração iinportante é a privacidade. Os si-
tecnologia CDMA, é possível conectar-se à nova estação- nais sem fio são transn1itidos para todos os receptores vi-
-base antes de se desconectar da estação antiga. Isso me- zinhos, de n1odo que, para dificultar a escuta das conver-
lhora a qualidade da conexão para o smartphone, pois não sas, chaves criptográficas no cartão SIM são usadas para
existe interrupção no serviço - o aparelho fica conectado a encriptar as trans1nissões. Essa técnica oferece un1a priva-
duas estações-base por um pequeno período. Esse 1nodo de cidade muito melhor do que os sistemas 1G, que eram facil-
fazer u1na transferência é chamado de soft handover, para mente interceptados, mas não resolve todos os problemas,
distingui-lo do hard handover, em que o aparelho se des- em virtude das deficiências nos esquemas de encriptação.
conecta da estação-base antiga antes de se conectar à nova.
Uma questão relacionada é como encontrar u1n apare- Comutação de pacotes e comutação de circuitos
lho 1nóvel em primeiro lugar quando existe urna chamada.
Cada rede de telefonia móvel tem um HSS (Home Subs- Desde o início das redes, uma guerra estava sendo travada
criber Server) no núcleo da rede, que sabe o local de cada entre as pessoas que apoiam redes de con1utação de paco-
assinante, bem cotno outras informações de perfil usadas tes (não orientadas a conexões) e as pessoas que apoia1n
para autenticação e autorização. Desse modo, cada apare- redes de comutação de circuitos (orientadas a conexões).
lho poderá ser encontrado contatando o HSS. Os principais proponentes da con1utação de pacotes vêm
Uma última área que deve ser discutida é a seguran- da comunidade da Internet. Em um projeto não orientado
ça. Historicamente, as companhias telefônicas têm levado a a conexões, cada pacote é roteado independenten1ente u1n
segurança 1nuito mais a sério do que as empresas da Inter- do outro. Por conseguinte, se alguns roteadores deixare1n
net, em razão da necessidade de cobrar pelo serviço e evitar de funcionar durante un1a sessão de comunicação, nenhum
fraudes (no pagamento). Infelizmente, isso não diz muita dano será provocado desde que o sistema possa ser recon-
coisa. Apesar disso, na evolução das tecnologias entre lG figurado dina1nica1nente, de 1nodo que os pacotes subse-
e 5G, as companhias de telefonia móvel conseguiram irn- quentes encontre1n algun1a rota até o destino, mesn10 que
plementar alguns mecanismos de segurança básicos para os seja diferente daquele que os pacotes anteriores usaram.
aparelhos n1óveis. Em uma rede de comutação de pacotes, se muitos deles
chegare1n a u1n roteador durante u1n intervalo e1n particu-
A partir do sistema 2G GSM, o smartphone foi divi-
lar, o roteador sufocará e provavelmente perderá pacotes.
dido em um aparelho e um chip removível, contendo as
Por fim, o emissor notará isso e reenviará os dados, mas a
informações de identidade e conta do assinante. O chip é
qualidade do serviço sofre, a menos que as aplicações con-
chamado infonna lmente de cartão SIM, abreviação de
sidere1n essa variabilidade.
Subscriber ldentity Module (1nódulo de identificação do
assinante). Os cartões SIM podem ser trocados para apare- O can1po da comutação de circuitos vem do inundo
das companhias telefônicas. No sistema telefônico conven-
lhos diferentes para serem ativados, e oferecem uma base
cional, uma pessoa precisa digitar um número e esperar
para a segurança. Quando os clientes GSM viajam para
uma conexão antes de falar ou enviar dados. Esse esquema
outros países, em férias ou a negócios, eles nonnalmente
de conexão estabelece uma rota através do sisten1a telefô-
nico que é mantida até que a chamada termine. Todas as
......... .,,. ......... .,,. ......... .,,. ......... .,,. palavras ou pacotes seguem a mesma rota. Se uma linha
/' /Ã'- /' /Ã'- ou uma central no caminho for interrompida, a chamada é
················-···········~ ...~.......................~
cancelada, tornando-a 1nenos tolerante a falhas do que um
projeto não orientado a conexões.

..
ili: 1 . . iiil 1 ••
A comutação de circuitos pode dar suporte à qualida-
de de serviço mais facilmente. Estabelecendo uma conexão
com antecedência, a sub-rede pode reservar recursos como
(a} (b)
largura de banda do enlace, melhor espaço de buffer e de
Figura 1.20 Handover de telefone móvel (a} antes e (b) CPU do S>vitch. Se alguém tentar estabelecer uma chamada
depois. e não houver recursos suficientes, a chamada é rejeitada e
Capítulo 1 • Introdução 27

quem liga recebe um sinal de ocupado. Desse 1nodo, quan- geral usando um leilão de espectro en1 que as operadoras de
do u1na conexão é estabelecida, a conexão receberá u1n ser- rede submetem ofertas. Ter uma parte do espectro licencia-
viço bom. do facilita o projeto e a operação dos siste111as, uma vez que
A surpresa na Figura 1. 19 é que existe equipamento ninguém 1nais te1n permissão para transmitir nesse espec-
de comutação de pacotes e de circuitos no núcleo da rede. tro, mas isso nonnalmente custa muito dinheiro. No Reino
Isso mostra uma rede de telefonia 1nóvel e1n transição, com Unido e1n 2000, por exen1plo, cinco licenças 3G foram lei-
as companhias capazes de implementar uma ou, às vezes, loadas por um total de cerca de US$ 40 bilhões.
ambas as alternativas. As redes de telefonia móvel mais an- É a escassez do espectro que ocasionou o projeto de
tigas usavam um núcleo comutado por circuitos no estilo rede celular mostrado na Figura 1.2 1, que agora é usado
da rede telefônica tradicional para transportar chamadas de para as redes de telefonia 1nóvel. Para controlar a interfe-
voz. Esse legado é visto na rede UMTS co1n os elementos rência de rádio entre os usuários, a área de cobertura é divi-
MSC (Mobile Switching Center), GMSC (Gate,vay Mo- dida em células. Dentro de uma célula, os usuários recebem
bile s,vitching Center) e MGW (Media Gate,vay), que canais que não interferem uns com os outros e não causa1n
estabelecem conexões por um núcleo de rede com comu- muita interferência para as células adjacentes. Isso permite
tação de circuitos, como a PSTN (Public Switched Tele- uma boa reutilização do espectro, ou reutilização de fre-
phone Nenvork). quência, nas células vizinhas, o que au1nenta a capacidade
da rede. Nos siste1nas IG, que transportava1n cada canal de
Redes de telefonia móvel da antiga voz en1 uma banda de fi·equência específica, as frequências
geração: 1G, 2G e 3G eram cuidadosamente escolhidas, de modo que não entras-
sem ern conflito com as células vizinhas. Desse modo, uma
A arquitetura da rede de telefonia móvel mudou bastante dada frequência só poderia ser reutilizada uma vez em vá-
durante os últimos 50 anos, junto com seu incrível cresci- rias células. Os sistemas 30 modernos pennitem que cada
mento. Os sistemas de telefonia móvel de primeira geração célula utilize todas as freq uências, mas de u1n 1nodo que re-
transmitiam chamadas de voz como sinais com variação sulte em u1n nível tolerável de interferência com as células
contínua (analógicos) em vez de sequências de bits (digi- vizinhas. Existem variações no projeto celular, incluindo
tais). O sistetna avançado de telefonia móvel, ou AMPS o uso de antenas direcionais ou setorizadas nas torres das
(Advanced Mobile Phone System), in1plantado nos Es- células, para reduzir ainda mais a interferência, n1as a ideia
tados Unidos em 1982, era um sistema de primeira gera- básica é a 1nesn1a.
ção bastante utilizado. Os sistemas de telefonia móvel de
segunda geração comutavatn para trans1nitir cha1nadas de
voz etn forma digital e aumentar a capacidade, melhorar a
Redes de telefonia móvel modernas: 4G e 5G
segurança e oferecer 1nensagens de texto. U1n exe1nplo de As redes de telefonia móvel se destina1n a desempenhar um
sistema 20 é o sistema global para cornunicações móveis, grande papel nas redes futuras. Elas agora são 1nais usadas
ou GSM (Global System for Mobile communications), para aplicativos de banda larga 1nóvel (p. ex., acessar a Web
que foi implantado a partir de 1991 e tornou-se o sistema de pelo telefone) do que chamadas de voz, e isso tem impli-
telefonia móvel 1nais usado no mundo. cações i1nportantes para as interfaces do ar, arquitetura do
Os sistemas de terceira geração, ou 30, foratn implan- núcleo da rede e segurança de redes futuras. As tecnologias
tados inicialmente em 200 1 e oferecem tanto voz digital 4G, mais tarde 4G LTE (Long Term Evolution) que ofere-
con10 serviços de dados digitais de banda larga. Eles tan1- cem velocidades mais rápidas, surgiram no final dos anos
bém vêm com muito jargão e muitos padrões diferentes à 2000.
sua escolha. O sistema 30 é vaga1nente definido pela ITU
(un1a agência de padrões internacionais que discutire1nos
mais adiante) como fornecendo velocidades de pelo menos
2 Mbps para usuários parados ou caminhando, e 384 kbps Células
em um veículo em movimento. A rede UMTS é o princi- Estação-base
pal siste1na 30 que está sendo rapidan1ente in1plantado no
mundo inteiro. Ele tambén1 é a base para seus diversos su-
cessores, e pode oferecer até 14 Mbps no downlink (enlace
de descida) e quase 6 Mbps no uplink (enlace de subida).
Versões futuras usarão antenas múltiplas e rádios para for-
necer aos usuários velocidades ainda 1naiores.
O recurso escasso nos sistemas 30, assim como nos
sistemas 20 e 1G antes deles, é o espectro de radiofrequên-
cia. Os governos licenciam o direito de usar partes do es-
pectro para as operadoras de rede de telefonia móvel, em Figura 1.21 Projeto celular das redes de telefonia móvel.
28 Redes de computadores

As redes 4G LTE rapidamente se to111ara1n o modo A primeira decisão foi a mais fácil: con10 denon1iná-
predominante de acesso à Internet 1nóvel no final dos anos -lo. Todos os outros padrões de LANs produzidos pelo co-
2000, vencendo concorrentes como o 802.16, às vezes cha- mitê de padrões 802 do IEEE tinham números como 802.1,
mado de WiMAX. As tecnologias 5G promete1n velocida- 802.2, 802.3, até 802. l O; assi1n, o padrão de LAN sem fio
des mais rápidas - até 1O Gbps - e agora estão definidas recebeu a denominação 802. 11 , uma ideia brilhante. Uma
para iinplantação em grande escala no início dos anos 2020. gíria co1nu1n para ela é WiFi, mas esse é um padrão impor-
Uma das principais distinções entre essas tecnologias é o tante e merece respeito, de modo que o chamaremos pelo
espectro de frequência do qual dependem. Por exemplo, 4G seu nome correto, 802.11 . Many variants and versions of
usa bandas de frequência de até 20 MHz; em contraste, o the 802.11 standard have en1erged and evolved over the
5G é projetado para operar em bandas de frequência 111uito years.
1nais altas, de até 6 GHz. O desafio ao passar para frequên- Depois de definir o no1ne, o restante era mais dificil.
cias 1nais altas é que os sinais não viajam tão longe quanto O primeiro problema foi descobrir uma banda de fi·equên-
as frequências 1nais baixas, de nlodo que a tecnologia deve cia adequada que estivesse disponível, de preferência em
levar em consideração a atenuação do sinal, interferência todo o mundo. A técnica empregada foi o oposto da que foi
e erros, utilizando algoritmos e tecnologias mais recen- usada nas redes de telefonia móvel. Em vez do caro espec-
tes, conjuntos de antenas múltiplas para entrada e saída tro licenciado, os sistemas 802.11 operatn nas bandas não
(MIMO). As 1nicro-ondas curtas nessas frequências ta1n- licenciadas, co1no as bandas ISM (Industrial, Scientific,
bém são facilmente absorvidas pela água, exigindo esfor- and Medical) definidas pela TTU-R (p. ex., 902-928 MHz,
ços especiais para que funcione1n quando estiver chovendo. 2,4-2,5 GHz, 5,725-5,825 GHz). Todos os dispositivos têm
pennissão para usar esse espectro, desde que limitem sua
potência de transn1issão para pern1itir a coexistência de di-
1.4.3 Redes sem fio (WiFi) ferentes dispositivos. Naturalmente, isso significa que os
rádios 802.11 podem estar competindo com telefones sem
Quase na mesma época em que surgira1n os notebooks, fio, controles para abertura de portas de garage1n e fornos
muitas pessoas sonhavam com o dia en1 que entrariam e1n de micro-ondas. Assim, a não ser que os projetistas pense1n
um escritório e, como mágica, seus aparelhos se conecta- que as pessoas desejarão ligar para as portas de suas gara-
riam à Internet. Diversos grupos começaram a trabalhar gens, é importante resolver isso.
para descobrir maneiras de alcançar esse objetivo. A abor- As redes 802.11 são compostas de clientes, como no-
dagem mais prática é equipar o escritório e os notebooks tebooks e smartphones, e infraestrutura cha111ada pontos
co1n transmissores e receptores de rádio de ondas curtas de acesso, ou APs (Access Points), que são instalados nos
para permitir a comunicação entre eles. prédios. Os pontos de acesso também são chamados de
O trabalho nessa área rapidan1ente levou à comer- estações-base. Eles se conectarn à rede cabeada, e toda a
cialização de LANs sem fio por várias empresas. O pro- co1nunicação entre os clientes passa por u1n ponto de aces-
blen1a era encontrar duas delas que fossem con1patíveis. so. Ta1nbém é possível que os clientes no alcance do rádio
Essa proliferação de padrões significava que um compu- falem diretamente, como dois computadores em um escri-
tador equipado com um rádio da marca X não funcionaria tório sem um ponto de acesso. Esse arranjo é cha1nado de
em u1na sala equipada com uma estação-base da marca Y. rede ad hoc, usado com muito 1nenos frequência do que
Em meados da década de 1990, a indústria decidiu que um o modo de ponto de acesso. Os dois 1nodos aparecen1 na
padrão de LAN sem fio poderia ser uma boa ideia e, assim, Figura 1.22.
o con1itê do IEEE que padronizou as LANs com tio recebeu A transmissão 802.11 é complicada pelas condições
a tarefa de elaborar um padrão de LANs se1n fio. da rede se111 fio, que variam até mesmo com pequenas

Ponto de À rede cabeada


acesso

!~\
D
(a) (b)

Figura 1.22. (a) Rede sem fio com um ponto de acesso. (b) Rede ad hoc.
Capítulo 1 • Introdução 29

( / V á rios caminhos

Sinal não enfraquecido

Transmissor
sem fio

Refletor 1 Receptor
sem fio
Sinal enfraquecido

Figura 1.23 Enfraquecimento por múltiplos caminhos.

rnudanças no arnbiente. Nas frequências usadas para 802.11 , 802. l lad, mais recente, pode chegar a 7 Gbps, mas ape-
os sinais de rádio podem ser refletidos por objetos sólidos, nas dentro de urn único arnbiente, pois as ondas de rádio
de modo que vários ecos de uma transrnissão podem alcan- nas frequências utilizadas não atravessam as paredes com
çar u1u receptor por diferentes cantinhos. Os ecos podern facilidade.
cancelar ou reforçar um ao outro, fazendo o sinal recebido Como o meio sem fio é inerentemente de difusão, os
flutuar bastante. Esse fenôrneno é charnado enfraqueci- dispositivos 802.11 também precisam lidar com o problema
mento por múltiplos caminhos (ou multipath fading) e de que múltiplas trans1uissões que são enviadas ao 1nesmo
pode ser visto na Figura 1.23. tempo colidirão, podendo interferir na recepção. Para lidar
A ideia-chave para contornar as condições variáveis corn esse problema, o 802.1 1 usa um esquema de acesso
da rede sern fio é a diversidade de caminhos, ou o envio múltiplo com detecção de portadora, CSMA (Carrier
de informações por vários caminhos independentes. Desse Sense Multiple Acccss), com base nas ideias da rede Ether-
modo, a informação provavelmente será recebida mesmo net clássica com fio, que, ironica1nente, se baseava em uma
que um deles seja ruim, devido a um enfraquecimento. antiga rede sem fio desenvolvida no Havaí, cha1nada ALO-
Esses carninhos independentes norn1almente são embuti- HA. Os computadores esperam por urn intervalo aleatório
dos no esquema de rnodulação digital, usado no hardware. antes de transmitir, e adiam suas transmissões se descobri-
As opções incluen1 usar diferentes frequências pela banda ren1 que mais alguérn já está transmitindo. Esse esquema
permitida, seguir diferentes caminhos espaciais entre di- torna rnenos provável que dois cornputadores enviem ao
ferentes pares de antenas ou repetir os bits por diferentes rnesmo ten1po. Contudo, ele não funciona tão bem quanto
períodos. no caso das redes corn fio. Para entender por que, examine
Distintas versões do 802.11 tê1n usado todas essas téc- a Figura 1.24. Suponha que o cornputador A esteja transrni-
nicas. O padrão inicial (de 1997) definia uma LAN sern fio tindo para o co1nputador B, 1nas o alcance de rádio do trans-
que funcionava a 1 Mbps ou 2 Mbps pelo salto entre fre- missor de A é niuito curto para chegar ao con1putador C.
quências ou espalhamento do sinal pelo espectro permitido. Se C quiser transn1itir para B, ele pode escutar antes de co-
Quase imediatarnente, as pessoas reclamararn que ela era meçar, mas o fato de que ele não escuta nada não significa
muito lenta, de modo que o trabalho foi iniciado corn pa-
drões 1nais rápidos. O projeto do espectro espalhado foi es-
tendido e tornou-se o padrão 802.1 1b ( 1999), funcionando
Alcance Alcance
em velocidades de até li Mbps. Os padrões 802. lla (1999) de rádio de rádio
e 802.1 lg (2003) passaram para um esquema de modulação deA deC
diferente, chamado multiplexação ortogonal por divisão
de frequência, ou OFDM (Orthogooal Frequency Divi-
sion Multiplexing). Este divide uma banda larga do espec-
tro ern muitas fatias estreitas, sobre as quais diferentes bits
são enviados em paralelo. Esse esquema melhorado, que
estudaremos no Capítulo 2, aumentou as velocidades do
802.11 a/g para 54 Mbps. Esse é um au1nento significativo,
mas as pessoas ainda queriam 1nais vazão para dar supor-
te a usos mais exigentes. A versão mais recente do padrão
oferece velocidades 1nais altas para dados. O 802.1 lac, Figura 1.24 Oalcance de um único rádio pode não abran-
comumente ernpregado, pode alcançar 3,5 Gbps. O padrão ger o sistema inteiro.
30 Redes de computadores

que sua transmissão terá sucesso. A impossibilidade de C dessa convergência é o LTE-Unlicensed (LTE-U), que é
escutar A antes de começar faz co1n que ocorram colisões. un1a adaptação da tecnologia 4G LTE de rede celular, que
Depois de qualquer colisão, o emissor então espera outro Lhe pe1mite operar no espectro não licenciado, uma alterna-
tempo aleatório 1naior e retransmite o pacote. Apesar disso tiva aos "hotspots" WiFi pertencentes ao ISP. Voltaren1os a
e de algu1nas outras questões, o esque1na funciona muito ver todas essas tecnologias de s1nartphone e redes celulares
bem na prática. no Capítulo 4.
Outro problema é a mobilidade. Se um cliente móvel
se afastar do ponto de acesso que está usando e seguir para
o alcance de u1n ponto de acesso diferente, é preciso haver
algu1na forma de transferência (handover). A solução é que 1.5 PROTOCOLOS DE REDE
uma rede 802.11 pode consistir em múltiplas células, cada
uma con1 seu próprio ponto de acesso, e um siste1na de dis- Co1neçamos esta seção com uma discussão sobre os objeti-
tribuição que as conecta. O sistema de distribuição nonnal- vos de projeto de diversos protocolos de rede. Em seguida,
mente é a Ethernet comutada, mas ele pode usar qualquer exploraremos um conceito central no projeto de protoco-
tecnologia. A' medida que os clientes se movem, eles po- lo de rede: as camadas. Depois, falaremos sobre serviços
dem encontrar outro ponto de acesso con1 um sinal melhor orientados e não orientados a cooexões, bem como sobre
que o usado atualmente e mudar sua associação. De fora, as primitivas de serviço específicas que dão supo11e a esses
.
o sisten1a inteiro se parece con1 uma única LAN con1 fio. serviços.
Assün, a mobilidade no 802.11 tem sido li1nitada e1n
comparação com a mobilidade na rede de telefonia móvel.
1.5.1 Objetivos de projeto
Nonualmente, o 802. 11 é usado por clientes que vão de
um local fixo para outro, em vez de ser usado e1n trânsito. Geralmente, os protocolos de rede compartilban1 um con-
A 1nobilidade não é realmente necessária para esse tipo de junto comu1n de objetivos de projeto, que incluem confia-
uso. Até mesmo quando a mobilidade do 802.11 é usada, bilidade (a capacidade de se recuperar de erros, defeitos ou
ela se estende por uma única rede 802.11, que poderia co- falhas), alocação de recursos (compartiU1amento de acesso
brir, no máximo, um prédio grande. Futuros esquemas pre- a um recurso comum e limitado), capacidade de evolução
cisarão oferecer n1obilidade por diferentes redes e diferen- (que pennite a implantação incremental de melhorias ao
tes tecnologias (p. ex., 802.21, que cuida da transferência longo do tetnpo) e segurança (defesa da rede contra diver-
entre redes cabeadas e sem fio) . sos tipos de ataques). Nesta seção, exploran1os cada um
Finaln1ente, existe o proble1na da segurança. Como desses objetivos en1 um alto nível.
as transmissões se1n fio são feitas por radiodifusão, é fácil
que computadores vizinhos recebam pacotes de infonua- Confiabilidade
ções que não foram solicitados por eles. Para evitar isso, o
padrão 802.11 incluiu u1n esquema de encriptação conhe- Alguns dos principais aspectos de projeto que ocorrem nas
cido como WEP (Wired Equivalent Privacy). A ideia foi redes de computadores aparecerão camada após camada.
tomar a segurança da rede se1n fio semelhante à segurança A seguir, mencionaremos rapidan1ente os mais importantes.
da rede cabeada. Essa é un1a boa ideia, 1nas infelizmente o Confiabilidade é a questão de projeto de criar uma
esquema tinha fa lhas e logo foi quebrado (Borisov et ai., rede que opere corretamente, embora sendo composta por
2001 ). Desde então, ele foi substituído por esquen1as 1nais uma coleção de componentes que não são confiáveis. Pense
recentes, que possuem diferentes detalhes criptográficos no nos bits de um pacote trafegando pela rede. Há uma chance
padrão 802.11 i, também chamado WiFi Protected Access, de que alguns deles sejam recebidos com proble1nas (inver-
inicialmente WPA e agora substituído pelo WPA2, além de tidos) em virtude de um ruído elétrico casual, sinais sem
protocolos mais sofisticados, co1no 802.lX, que pennite a fio aleatórios, falhas de hardware, bugs de software, e as-
autenticação do ponto de acesso ao cliente, baseada em cer- sim por diante. Como é possível encontrar e consertar esses
tificados, bem como uma série de outras formas de o cliente erros?
se autenticar com o ponto de acesso. Um mecanismo para localizar erros na informação
O 802.11 causou uma revolução nas redes sem fio, que recebida usa códigos para detecção de erros. As informa-
ainda deverá continuar. Além de prédios, ele agora está ins- ções recebidas incorretamente podem, então, ser retransmi-
talado em trens, aviões, barcos e automóveis, de 1nodo que tidas até que sejam recebidas corretamente. Códigos mais
as pessoas podem navegar pela Internet enquanto viajam. poderosos permitem a correção de erros, em que a 1nen-
Os s1nartphones e todos os tipos de aparelhos de consumo, sage1n correta é recuperada a partir de bits possivelmente
de consoles de jogos a câmeras digitais, podem se comu- incorretos, que foram recebidos originalmente. Esses dois
nicar com ele. Há ainda u1na convergência do 802.11 co1n mecanisn1os funcionam acrescentando informações redun-
outros tipos de tecnologias móveis; um exemplo importante dantes. Eles são usados nas camadas baixas, para proteger
Capítulo 1 • Introdução 31

os pacotes enviados por enlaces individuais, e nas camadas Capacidade de evolução


altas, para verificar se o conteúdo correto foi recebido.
Outra questão de projeto refere-se à evolução da rede. Com
Outra questão de confiabilidade é descobrir um cami-
nho que funcione através de u1na rede. Normalmente, exis- o tempo, as redes se tomam maiores e novos projetos pre-
te1n vários ca1ninhos entre orige1n e destino e, em tuna rede cisam ser conectados à rede existente. Vi1nos o mecanis-
grande, pode haver alguns enlaces ou roteadores com defei- mo-chave de estrutura usado para dar suporte à mudança,
to. Suponha que a rede esteja parada em Berlim. Os pacotes dividindo o problema geral e ocultando detalhes da imple-
enviados de Londres a Roma por Berlim não passarão, mas mentação: as camadas de protocolos. Mas há muitas ou-
poderíamos enviar pacotes de Londres a Roma por Paris. tras estratégias à disposição dos projetistas.
A rede deve to1nar essa decisão auto1naticamente. Esse tó- Como existem muitos computadores na rede, cada ca-
pico é chamado de roteamento. mada precisa de um mecanismo para identificar transmis-
sores e receptores envolvidos em uma determinada 1nensa-
gem. Esse n1ecanismo é conhecido como endereçamento
Alocação de recursos ou nomeação, nas camadas baixa e alta, respectiva1nente.
Uma segunda questão de projeto é a alocação de recursos. U1n aspecto do crescimento é que diferentes tecnolo-
Quando as redes ficam grandes, aparecem novos proble- gias de rede normalmente têm diferentes lin1itações. Por
mas. As cidades podem ter congestionamentos, falta de nú- exemplo, nem todos os canais de comunicação preservam
meros de telefone e é fácil se perder dentro delas. Poucas a orde1n das 1nensagens enviadas neles, ocasionando solu-
pessoas têm esses problemas em seu próprio bairro, mas, ções que as numeram. Outro exemplo são as diferenças no
em uma cidade inteira, eles podem ser um grande transtor- tamanho máximo de uma mensagem que as redes podem
no. Projetos que continuam a funcionar be1n quando a rede transmitir. Isso ocasiona nlecanismos para dividir, transmi-
fica grande são considerados escaláveis. As redes oferecem tir e depois juntá-las novatnente. Esse tópico geral é chama-
um serviço aos hosts a partir de seus recursos subjacentes, do de interligação de redes.
como a capacidade de linhas de transmissão. Para fazer isso
ben1, elas precisam de mecanismos que divide1n seus re- Segurança
cursos de modo que um host não interfira n1uito e1n outro.
Muitos projetos co1npartilham a largura de banda da A últin1a questão de projeto trata de proteger a rede, de-
rede dinamicamente, de acordo co1n a necessidade dos fendendo-a contra diferentes tipos de ameaças. Uma das
hosts em curto prazo, em vez de dar a cada host uma fra- ameaças que mencionamos anteriormente é a bisbilhota-
ção fixa da largura de banda, que ele pode ou não utilizar. gem nas comunicações. Mecanismos que oferecem confi-
Esse projeto é cha1nado multiplexação estatística, que sig- dencialidade defendem contra essa ameaça e são usados
nifica con1partilhar com base nas estatísticas de den1anda. em várias camadas. Os mecanismos para autenticação im-
Ele pode ser aplicado às camadas inferiores para u1n único pedem que alguém finja ser outra pessoa. Eles poderian1 ser
enlace, nas ca1nadas altas para un1a rede ou 1nes1no em apli- usados para diferenciar websites falsos de um banco real,
cações que usam a rede. ou para permitir verificar se uma chamada da rede celular
Uma questão de alocação que afeta cada nível é como está reahnente vindo de seu telefone, para que você pague
i1npedir que u1n transn1issor rápido envie tuna quantidade a conta con·eta. Outras ferran1entas para integridade in1pe-
excessiva de dados a um receptor mais lento. Nonnalmen- de1n tnudanças clandestinas nas mensagens, co1no alterar
te, usa-se u1na espécie de feedback do receptor para o trans- "debite US$ l Oda 1ninha conta" para "debite US$ 1.000 da
missor. Esse tópico é chamado controle de fluxo . Às vezes, minha conta". Todos esses projetos são baseados em cripto-
o problema é que a rede fica sobrecarregada porque muitos grafia, que estudaremos no Capítulo 8.
co1nputadores querem enviar muito tráfego e a rede não
pode entregar tudo isso. A sobrecarga da rede é chamada de
congestionamento. Uma estratégia é que cada computador
1.5.2 Camadas de protocolos
reduza sua demanda quando experimentar um congestiona- Para reduzir a complexidade de seu projeto, a maioria das
mento, e isso pode ser usado em todas as carnadas. redes é organizada como uma pilha de camadas (ou ní-
É interessante observar que a rede tem mais recursos veis), colocadas umas sobre as outras. O número, o no1ne,
a oferecer do que simplesmente largura de banda. Para usos o conteúdo e a função de cada camada diferem de uma rede
como o transporte de vídeo ao vivo, a prontidão na entrega para outra. No entanto, e1n todas as redes, o objetivo de
in1porta muito. A n1aioria das redes precisa oferecer serviço cada camada é oferecer determinados serviços às camadas
às aplicações que desejam essa entrega em tempo real ao superiores, isolando-as dos detalhes de implementação real
mesmo tempo que oferece serviço a aplicações que desejam desses serviços oferecidos. Em certo sentido, cada camada
uma alta vazão. A qualidade de serviço é o nome dado aos é uma espécie de máquina virtual, oferecendo detenninados
mecanismos que reconciliam essas demandas concorrentes. serviços à camada situada acima dela.
32 Redes de computadores

Na realidade, esse conceito é familiar e utilizado em ocorre a co1nunicação propriamente dita. Na Figura 1.25, a
toda a ciência da computação, na qual é conhecido por di- comunicação vi1tual é representada por linhas pontilhadas,
ferentes nomes, como ocultação de informações, tipos de e a co1nunicação física por linhas contínuas.
dados abstratos, encapsula1nento de dados e programação Entre cada par de camadas adjacentes existe tuna in-
orientada a objetos. A ideia fundamental é que um deter- terface, que define as operações e os serviços que a ca1nada
minado item de software (ou hardware) forneça um serviço inferior tem a oferecer à camada aci1na dela. Quando os
a seus usuários, 1nas mantenha ocultos os detalhes de seu projetistas de rede decidem a quantidade de camadas que
estado interno e de seus algoritmos. será incluída e1n uma rede e o que cada uma delas deve fa-
Quando a camada n de uma máquina se comunica zer, u1na das considerações mais importantes é a definição
cotn a camada n de outra tnáquina, coletivatnente, as regras de inte1faces claras entre as camadas. Isso exige que cada
e convenções usadas nesse diálogo são conhecidas co1no camada execute um conjunto específico de funções bem
o protocolo da camada n. Basicamente, um protocolo é definidas. Além de reduzir o volu1ne de informações que
u1n acordo entre as partes que se comunicam, estabelecen- deve ser passado de uma camada para outra, as interfaces
do como se dará a co1nunicação. Co1no analogia, quando bem definidas também simplificam a substituição de uma
un1a mulher é apresentada a um home1n, ela pode estender camada por um protocolo ou imple1nentação completamen-
a mão para ele que, por sua vez, pode apertá-la ou beijá-la, te diferentes. Por exemplo, imagine a substituição de todas
dependendo, por exe1nplo, do fato de ela ser uma advogada as linhas telefônicas por canais de satélite, pois o novo pro-
norte-americana que esteja participando de u1na reunião de tocolo ou a nova implementação só precisa oferecer exata-
negócios ou uma princesa europeia presente em um baile mente o mesmo conjunto de serviços à sua vizinha de cima,
de gala. A violação do protocolo dificultará a con1unicação, assim como era feito na implementação anterior. E' comum
se não tomá-la completamente impossível. que hosts diferentes utilizem implementações distintas do
A Figura 1.25 ilustra uma rede de cinco ca1nadas. mesmo protocolo (nom1ahnente, escrito por empresas dife-
As entidades que ocupam as camadas correspondentes em rentes). De fato, o próprio protocolo pode mudar em algu-
diferentes máquinas são cha1nadas pares (ou peers). Os pa- ma camada sem que as can1adas acima e abaixo dela sequer
res podem ser processos de software, dispositivos de hard- percebam.
ware, ou mesmo seres humanos. Em outras palavras, são os U1n conjunto de camadas e protocolos é cha1nado de
pares que se comunicam utilizando o protocolo. a rquitetura de rede. A especificação de uma arquitetu-
Na realidade, os dados não são transferidos diretamen- ra deve conter inforn1ações suficientes para per1nitir que
te da camada n de tuna 1náquina para a ca1nada n e1n outra un1 in1plementador desenvolva o programa ou construa o
máquina. Em vez disso, cada can1ada transfere os dados e hardware de cada ca1nada de forma que ela obedeça cor-
as informações de controle para a camada imediatamente retamente ao protocolo adequado. Nem os detalhes da im-
abaixo dela, até a ca1nada mais baixa ser alcançada. Abaixo ple1nentaçâo ne1n a especificação das interfaces pertencem
da camada 1 encontra-se o meio físico por meio do qual à arquitetura, pois tudo fica oculto dentro das máquinas e

Host 1 Host 2
1Camada 5 1~ - - ~~C:t~=~I~ _d_a_<:_ª-~1:C:ª_ ~ - - • Camada 5

Interface da camada 4/5 f


Protocolo da camada 4
Camada4 ~ - --------------- - ---- • Camada4

Interface da camada 3/4

1Camada3 1~ --~~C:t~=~l~_d_a_c:_a_~1:C:~~-- • Camada 3

Interface da camada 213


Protocolo da camada 2
Camada2 • --------------------- • Camada 2

Interface da camada 1/2

1Camada 1 I·--~~C:t~=~I~ _d_a_c:_a_~1:C:ª_ ~ - - ·I


Camada 1 1

i i
Meio físico

Figura 1.25 Camadas, protocolos e interfaces.


Capítulo 1 • Introdução 33

não é visível do exte1ior. Nem sequer é necessário que as camada 1). Quando chega, a mensage1n é traduzida para o
interfaces de todas as 1náquinas de uma rede sejam iguais, francês e passada através da interface 2/3 para o segundo
desde que cada uma delas possa usar todos os protocolos filósofo. Observe que cada protocolo é totalmente indepen-
da maneira correta. U1na lista de protocolos usados por um dente dos de1nais, desde que as interfaces não seja111 alte-
detern1inado sistema, um protocolo por ca1nada, é chamada radas. Nada impede que os tradutores mudem do holandês
de pilha de protocolos. Arquiteturas de rede, pilhas de pro- para o finlandês, desde que ambos concorden1 com a mo-
tocolos e os próprios protocolos são os principais assuntos dificação e que ela não afete sua interface com a ca1nada 1
deste livro. ou co1n a camada 3. De 1nodo se1nelhante, as secretárias po-
Uma analogia pode ajudar a explicar a ideia de uma dem passar de fax para correio eletrônico ou telefone sem
co1nunicação em várias camadas. hnagine dois filósofos atrapalhar (ou mesmo informar) as outras camadas. Cada
(processos pares na camada 3), um dos quais fala urdu e processo só pode acrescentar infonnações dirigidas a seu
português e o outro fala chinês e francês. Como não falam
par, e elas não são enviadas à can1ada superior.
um idio1na con1um, eles contratam tradutores (processos
pares na can1ada 2), que por sua vez tê1n cada qual uma se- Vejamos agora u1n exemplo n1ais técnico: como ofe-
cretária (processos pares na camada 1). O filósofo 1 deseja recer comunicação à ca111ada superior da rede de cinco ca-
transmitir sua predileção por otyctolagus cuniculus a seu madas na Figura l .27. U1na mensagem, M, é produzida pelo
par. Para tal, ele envia urna mensagem (em português) atra- processo de u1na aplicação que funciona na ca1nada 5 e é en-
vés da interface 2/3 a seu tradutor, na qual diz "Gosto de tregue à camada 4 para transmissão. A camada 4 coloca um
coelhos", como mostra a Figura 1.26. Como os tradutores cabeçalho no início da 1nensage1n para identificá-la e envia
resolveram usar um idioma neutro, o holandês, conhecido o resultado à camada 3. O cabeçalho inclui informações de
de a1nbos, a mensagern foi convertida para "lk vind konij- controle, como endereços, a fim de permitir que a camada 4
nen leuk". A escolha do idioma é o protocolo da camada 2, da máquina de destino entregue a mensagem. Outros exem-
que deve ser processada pelos pares dessa camada. plos de infonnação de controle usados em algumas camadas
O tradutor entrega a mensagem a uma secretária são nún1eros de sequência (caso a can1ada inferior não pre-
para ser transmitida, por exemplo, por fax (o protocolo da serve a ordem da 1nensagem), tamanhos e tempos.

Local A LocalB

Gosto J'aime
de - - Mensagem bien les
coelhos lapins
3 3

Informação
L: Holandês para o tradutor Tradutor L: Holandês
lk vind remoto lk vind
kon ijnen konijnen
2 2
leuk leuk

Informação
Fax#--- - - para a secretária Fax#---
L: Holandês remota Secretária - -.- L: Holandês
lk vind -~i)L..... lk vind
1 1
...._;:,.:s:.-11 konijnen konijnen
leuk leuk

Figura 1.26 A arquitetura filósofo-tradutor-secretária.


34 Redes de computadores

Camada

5 M .. _____ -~r~:~c_o~~ ~~ ~~~~~~ _


s______ -I M
'---~---'

ada 4
4 --------· H4 M

Protocolo
/
3
da camada 3
H3 M2 -------------

Protocolo da
--- H3 H4 M1 H3 M2

camada 2
1H2 I H3 I M2 I T2 I.. - - - - - - - • H2 H3 H4 M, T2 H2 H3 M2 T2

Máquina de origem Máquina de destino

Figura 1.27 Exemplo de fluxo de informações que admite a comunicação virtual na camada 5.

Em muitas redes, não há li1nite para o tamanho das Yale a pena lembrar que as camadas inferiores de uma
mensagens trans1nitidas no protocolo da camada 4, mas hierarquia de protocolos costumam ser implementadas no
quase sempre há u1n limite imposto pelo protocolo da ca- hardware ou co1no ftrmware. Apesar disso, algoritmos de
mada 3. Consequentemente, a camada 3 deve dividir as protocolo muito co1nplexos estão envolvidos no processo,
mensagens recebidas em unidades menores, pacotes, ane- mesmo se estiverem embutidos (parcial ou totalmente) no
xando un1 cabeçalho da camada 3 a cada pacote. Nesse hardware.
exen1plo, M é dividido em duas partes, M1 e M 2 , que serão
transmitidas separadamente.
A camada 3 decide as linhas de saída que serão usadas
1.5.3 Conexões e confiabilidade
e trans1nite os pacotes ã can1ada 2. Esta acrescenta não ape- As camadas pode1n oferecer dois tipos diferentes de servi-
nas um cabeçalho a cada fragmento, mas também un1 final , ços às camadas situadas acima delas: orientados a conexões
e fornece a unidade resultante à camada 1 para transmissão e não orientados a conexões. Elas também podem ofere-cer
física. Na 1náquina receptora, a mensage1n se move de bai- diversos níveis de confiabilidade.
xo para cin1a, de camada a camada, com os cabeçalhos sen-
do retirados durante o processo. Nenhum dos cabeçalhos Serviços orientados a conexões
das ca1nadas abaixo de n é repassado ã ca1nada n.
O serviço orientado a conexões se baseia no sistema tele-
Para entender a Figura 1.27, é in1portante observar a fônico. Para falar com alguém, você tira o fone do gancho,
relação entre a comunicação virtual e a comunicação real, digita o número, fala e, em seguida, desliga. Da mesma for-
e a diferença entre protocolos e interfaces. Por exemplo, 01a, para utilizar utn serviço de rede orientado a conexões,
para os processos pares na camada 4, sua comunicação é priineiro o usuário estabelece uma conexão, a utiliza, e de-
"horizontal", utilizando o protocolo da camada 4. O proce- pois a libera. O aspecto essencial de uma conexão é que
dimento de cada um deles tem um nome se1nelhante a En- ela funciona co1no um tubo: o trans1nissor empurra objetos
viarParaOutroLado e ReceberDoOutroLado, embora esses (bits) etn uma extremidade, e eles são recebidos pelo recep-
procediinentos na realidade se comuniquem com camadas tor na outra extremidade. Na maioria dos casos, a ordem é
inferiores através da interface 3/4, e não con1 o outro lado. preservada, de forma que os bits chegam na sequência em
A abstração de processos pares (peers) é fundamental que foram enviados.
para toda a estrutura da rede. Com sua utilização, a difí- Em alguns casos, quando uma conexão é estabelecida,
cil tarefa de projetar a rede completa pode ser dividida em o transmissor, o receptor e a sub-rede conduzem u1na nego-
diversos probletnas de projeto menores e 1nais fáceis , ou ciação sobre os parân1etros a serem usados, como o tama-
seja, projetos de camadas individuais. Por conseguinte, na nho 1náxüno das 1nensagens, a qualidade do serviço exigida
prática, todas as redes utilizam ca1nadas. e outras questões. Em geral, un1 lado faz uma proposta e a
Capítulo 1 • Introdução 35

outra parte pode aceitá-la, rejeitá-la ou fazer uma contra- de bytes. Na prin1eira variação, os li1nites das niensagens
proposta. Um circuito é outro nome para uma conexão com são preservados. Quando duas mensagens de 1.024 bytes
recursos associados, co1no uma largura de banda fixa. Isso são enviadas, elas chegam co1no duas 1nensagens distintas
ve1n desde a rede telefônica, e1n que u1n circuito era um de 1.024 bytes, nunca como u1na única mensagem de 2.048
caminho pelo fio de cobre que transportava uma conversa bytes. Na segunda, a conexão é simples1nente um fluxo de
telefônica. bytes, sem limites de n1ensagem. Quando 2.048 bytes che-
gam ao receptor, não há como saber se eles foram enviados
Serviços não orientados a conexões con10 urna 1nensage1n de 2.048 bytes, duas mensagens de
1.024 bytes ou 2.048 mensagens de l byte. Se as páginas
Ao contrário do serviço orientado a conexões, o serviço de um livro são enviadas por u1na rede a u1na fotoco1npo-
não orientado a conexões se baseia no sistema postal. sitora como mensagens separadas, talvez seja importante
Cada mensagem (carta) carrega o endereço de destino com- preservar os liinites da mensagem. E1n contrapartida, para
pleto e cada Lm1a delas é roteada pelos nós intennediários baixar um filme de DVD, um fluxo de bytes do servidor
através do sistema, independentemente de todas as outras para o computador do usuário é tudo o que é necessário.
mensagens. Existem diferentes nomes para 1nensagens ern Os li1nites de 1nensagens (diferentes cenas) dentro do filme
diferentes contextos; um pacote é unia 111ensagem na ca- não são relevantes.
mada de rede. Quando os nós intern1ediários recebem uma En1 algumas situações, a conveniência de não ter de
mensagetn completa antes de enviá-la para o próxi1no nó, estabelecer u1na conexão para enviar u1na única 1nensagem
isso é chamado de comutação store-and-for\vard. A alter- é desejável, mas a confiabilidade é essencial. O serviço de
nativa, e1n que a transmissão de tuna mensagem em um nó
datagramas confirmados pode ser oferecido para essas
con1eça antes de ser completa1nente recebida por ele, é cha- aplicações. Ele é semelhante a enviar uma carta registra-
mada de comutação cut-through. Nonnalmente, quando
da e solicitar um aviso de recebimento. Quando o aviso é
duas mensagens são enviadas ao mesmo destino, a primeira
devolvido, o transmissor fica absolutamente certo de que
a ser enviada é a primeira a chegar. No entanto, é possível
a ca1ta foi entregue ao destinatário e não perdida ao longo
que a priineira 1nensagem a ser enviada esteja atrasada, de
do canúnho. As mensagens de texto nos telefones celulares
modo que a segunda chegue pri111eiro.
são um exemplo.
Nem todas as aplicações exigetn o uso de conexões.
O conceito de usar comunicação não confiável pode
Por exemplo, muitos usuários enviam e-mails indesejados
ser confuso a princípio. Afinal, por que alguém iria preferir
para 1n uitos destinatários. O serviço não orientado a co-
uma comunicação não confiável à comunicação confiável?
nexões é não confiável (o que significa não confirmado)
E1n prin1eiro lugar, a con1unicação confiável (en1 nosso
geralmente é chamado de serviço de datagrama, uma ana-
sentido, isto é, confirn1ada) pode não estar disponível em
logia ao serviço de telegratna, que tan1bé111 não reton1a uma
uma determinada camada. Por exemplo, a Ethernet não for-
confinnação ao ren1etente.
nece comunicação confiável. Ocasionahnente, os pacotes
podem ser danificados em trânsito. Cabe aos níveis mais
Confiabilidade altos do protocolo lidar com esse proble1na. Em particular,
Os serviços orientados e não orientados a conexões podem muitos serviços confiáveis são montados em cima de um
ser caracterizados por sua confiabilidade. Alguns são con- serviço de datagra1na não confiável. E1n segundo lugar, os
fiáveis, no sentido de nunca perderem dados. E1n geral, um atrasos inerentes ao fornecimento de um serviço confiável
serviço confiável é imple1nentado para que o receptor con- podem ser inaceitáveis, em especial nas aplicações em tem-
finne o recebimento de cada mensagem, de niodo que o po real, como as de multünídia. Por essas razões, coexistem
transmissor certifique-se de que ela chegou. O processo de tanto a comunicação confiável quanto a não confiável.
confinnação introduz overhead e atrasos, que nonnalrnente Para algumas aplicações, os atrasos introduzidos pe-
compensa1n, mas às vezes o preço que precisa ser pago pela las confi1mações são inaceitáveis, como o tráfego de voz
confiabi lidade é muito alto. digital por VoIP. Os usuários do VoIP preferem ouvir um
Un1a situação típica em que um serviço orientado a pouco de ruído na linha ou uma palavra truncada de vez
conexões confiável é apropriado é a transferência de arqui- en1 quando a experimentar un1 atraso para aguardar confir-
vos. O proprietário do arquivo deseja se certificar de que mações. O mesmo acontece durante a transmissão de uma
todos os bits chegaram correta1nente e na tnesma ordem conferência de vídeo - não há problema se aparecerem al-
em que foram enviados. São poucos os clientes de trans- guns pixeis errados. No entanto, é irritante ver uma imagem
ferência de arquivos que preferem um serviço que ocasio- parada enquanto o fluxo é interro1npido e reiniciado para
nalmente desorganiza ou perde alguns bits, mesmo que ele a correção de erros, ou ter de esperar mais tempo para que
seja muito mais rápido. chegue un1 fluxo de vídeo perfeito.
O serviço orientado a conexões confiável te1n duas Outro serviço é o de solicitação-resposta. Nele,
variações secundárias: sequências de mensagens e fluxos o transmissor envia um único datagrama contendo uma
36 Redes de computadores

solicitação, e a resposta contém a réplica. A solicitação-res- poderia1n ser fornecidas para in1plementar um fluxo de
posta em geral é usada para itnple1nentar a comunicação no bytes confiável, considere as listadas na Figura 1.29. Elas
modelo cliente-servidor: o cliente emite uma solicitação e o serão familiares aos fãs da interface de sockets do Berkeley,
servidor responde. Por exe1nplo, um cliente de smartphone pois são urna versão si1nplificada dela.
poderia enviar uma consulta a un1 servidor de 1napa para Essas primitivas podem ser usadas para uma interação
receber uma lista de restaurantes japoneses mais próximos. de solicitação-resposta e1n um ambiente cliente-servidor.
A Figura 1.28 resun1e os tipos de serviços descritos Para ilustrar co1no, esboçamos um protocolo sin1ples que
anteriormente. implementa o serviço usando datagramas confinnados.
Prin1eiro, o servidor executa LISTEN para indicar que
está preparado para aceitar conexões de entrada. Um n1odo
1.5.4 Primitivas de serviço comum de implementar LlSTEN é tomá-la uma cha1nada
Um serviço é especificado fonnalmente por um conjunto de bloqueio do siste1na. Depois de executar a primitiva, o
de primitivas (operações) disponíveis para que os proces- processo servidor fica bloqueado até que stnja u1na solici-
sos do usuário acessem o serviço. Essas priinitivas infor- tação de conexão.
mam ao serviço que ele deve executar alguma ação ou re- Em seguida, o processo cliente executa CONNECT
latar uma ação executada por uma entidade par. Se a pilha para estabelecer uma conexão co1n o servidor. A cha1nada
de protocolos estiver localizada no sistema operacional, CONNECT precisa especificar a quem se conectar; assim,
como ocorre com frequência, as primitivas serão normal- ela poderia ter um parân1etro fornecendo o endereço do
mente chamadas do sistema. Essas chamadas geram uma servidor. Então, em geral, o sistema operacional envia um
chamada para o modo kernel, que então devolve o controle pacote ao par solicitando que ele se conecte, corno mostra
da máquina ao siste1na operacional para enviar os pacotes o item (1) na Figura 1.30. O processo cliente é suspenso até
' .
necessar1os. haver uma resposta.
O conjunto de pri1nitivas disponíveis depende da Quando o pacote chega ao servidor, o siste1na opera-
natureza do serviço que está sendo fornecido. As prin1iti- cional vê que o pacote está solicitando uma conexão. Ele
vas para um serviço orientado a conexões são diferentes verifica se existe um ouvinte e, se houver, desbloqueia o
das oferecidas em um serviço não orientado a conexões. ouvinte. O processo servidor pode, então, estabelecer uma
Como u1n exemplo 1nínimo das primitivas de serviço que conexão co1n a chamada ACCEPT. Isso envia de volta uma

Serviço Exemplo

Fluxo de mensagens confiável Sequência de páginas


Orientados a
conexões Fluxo de bytes confiável Download de filme

Conexão não confiável VolP

Datagrama não confiável E-mail indesejado


Não orientados
Datagrama confirmado Mensagem de texto
a conexões
Solicitação-resposta Consulta a banco de dados

Figura 1.28 Seis diferentes tipos de serviço.

Primitiva Significado
LISTEN Bloco que espera por uma conexão de entrada
CONNECT Estabelecer uma conexão com um par que está à espera

ACCEPT Aceitar uma conexão de entrada de um par


RECEIVE Bloco que espera por uma mensagem de entrada
SENO Enviar uma mensagem ao par
DISCONNECT Encerrar uma conexão

Figura 1.29 Seis primitivas de serviço que oferecem um serviço simples orientado a conexão.
Capítulo 1 • Introdução 37

Máquina c liente Máquina servidora


(1) Solicitação de conexão
(2) Resposta de aceitação
Processo
c liente -- r---._ ~

(3) Solicitação de dados


Processo
do sistema
(4) Réplica
' • Chamadas
do sistema
(5) Desconexão
Sistema
operacional { Kernel
Pilha de
protocolos
Drivers (6) Desconexão Kernel
Pilha de
protocolos
Drivers

Fígura 1.30 Uma interação cliente-servidor simples, usando datagramas confirmados.

resposta (2) ao processo cliente para aceitar a conexão. datagramas confirmados, de modo que podemos ignorar os
A chegada dessa resposta libera o cliente. Nesse 1nomento, pacotes perdidos.
o cliente e o servidor estão ern execução e têm uma cone- Considerando-se que são necessários seis pacotes para
xão estabelecida entre eles. completar esse protocolo, alguém poderia perguntar por
A analogia óbvia entre esse protocolo e a vida real que não é utilizado urn protocolo não orientado a conexões.
ocorre quando um consumidor (cliente) liga para o gerente A resposta é que, ern um mundo perfeito, esse tipo de pro-
do serviço de atendünento ao consumidor de uma en1presa. tocolo poderia ser usado e, nesse caso, seriatn necessários
No início do dia, o gerente de serviço inicia a sequência apenas dois pacotes: un1 para a solicitação e outro para a
ficando próximo ao telefone para atendê-lo caso ele toque. resposta. Entretanto, como pode haver n1ensagens extensas
Mais tarde, o cliente efetua a chamada. Quando o gerente em qualquer sentido (p. ex., urn arquivo corn vários rnega-
levanta o fone do gancho, a conexão é estabelecida. bytes), erros de transtnissão e pacotes perdidos, a situação
A próxima etapa é a execução de RECEIVE pelo 1nuda. Se a resposta consistisse ern centenas de pacotes, al-
servidor, a firn de se preparar para aceitar a primeira soli- guns dos quais pudessem se perder durante a transmissão,
citação. Nonnaln1ente, o servidor faz isso itnediatamente como o cliente saberia que alguns fragmentos se perderam?
após ser liberado de LISTEN, antes de a confirmação po- Como o cliente saberia que o último pacote recebido foi, de
der retornar ao cliente. A chamada de RECETVE bloqueia fato, o últirno pacote enviado? Suponha que o cliente qui-
o servidor. sesse urn segundo arquivo. Como ele poderia distinguir o
Depois, o cliente executa SEND para transrnitir sua pacote 1 do segundo arquivo de um pacote 1 perdido do pri-
solicitação (3), seguida pela execução de RECEIVE para rneiro arquivo, que por acaso tivesse encontrado o caminho
receber a resposta. A chegada do pacote de solicitação à até o cliente? Em resumo, no mundo real, um simples pro-
máquina servidora desbloqueia o processo servidor, para tocolo de solicitação-resposta sobre uma rede não confiável
que ele possa processar a solicitação. Depois de tenninar o normalmente é inadequado. No Capítulo 3, estudaremos
trabalho, ele utiliza SEND para enviar a resposta ao cliente en1 detalhes urna série de protocolos que resolvem esses e
(4). A chegada desse pacote desbloqueia o cliente, que ago- outros problemas. Por enquanto, basta dizer que às vezes
ra pode exarninar a resposta. Se tiver solicitações adicio- ter u1n fluxo de bytes confiável e ordenado entre processos
nais, o cliente poderá fazê-las nesse momento. é 1nuito conveniente.
Ao terminar, ele utiliza DISCONNECT para encerrar
a conexão (5). Em geral, urna DISCONNECT inicial é uma
chamada de bloqueio, suspendendo o cliente e enviando um 1.5.5 Relacionamento entre
pacote ao servidor para informar que a conexão não é mais serviços e protocolos
necessária. Quando o servidor recebe o pacote, ele próprio
também emite uma DISCONNECT, confirmando o pacote Serviços e protocolos são conceitos diferentes. Essa distin-
do cliente e liberando a conexão (6). Quando o pacote do ção é tão itnportante que vamos enfatizá-la mais uma vez.
servidor retorna à 1náquina cliente, o processo cliente é li- Um serviço é un1 conjunto de primitivas (operações) que
berado e a conexão é interrompida. Em resumo, é assim que uma camada oferece à carnada situada acima dela. O ser-
funciona a comunicação orientada a conexões. viço define as operações que a camada está preparada para
É claro que a vida não é tão simples assiin. Muitos executar em nome de seus usuários, mas não informa abso-
detalhes podem dar errado. O sincronismo pode estar incor- lutamente nada sobre como essas operações são implemen-
reto (p. ex., CONNECT ser executada antes de LISTEN), tadas. Um serviço se relaciona a uma interface entre duas
os pacotes podem ser perdidos e muito mais. Examinare- camadas, sendo a camada mferior o fornecedor do serviço e
mos todas essas questões corn rnuitos detalhes rnais adian- a camada superior, o usuário do serviço.
te; poré1n, por enquanto, a Figura 1.30 resume o funciona- Por sua vez, o protocolo é um conjunto de regras
mento possível de uma comunicação cliente-servidor com que controla o formato e o significado dos pacotes ou
38 Redes de computadores

mensagens que são trocados pelas entidades pares contidas 1.6.1 O modelo de referência OSI
em uma camada. As entidades utilizam protocolos com a
finalidade de implementar suas definições de serviço. Elas O modelo OSI (exceto o 1neio físico) é representado na
têm a liberdade de trocar seus protocolos, desde que não Figura 1.32. Esse modelo se baseia e1n uma proposta de-
alterem o serviço visível para seus usuários. Portanto, o ser- senvolvida pela Intemational Standards Organization (ISO)
viço e o protocolo são independentes um do outro. Esse é como un1 priineiro passo e1n direção à padronização inter-
um conceito fundamental, que qualquer projetista de rede nacional dos protocolos usados nas várias camadas (Day
precisa entender bem. e Zimmennann, 1983), revisado e1n 1995 (Day, 1995).
Em outras palavras, os serviços estão relacionados às Cha1na-se Modelo de referência ISO OSI (Open Systems
interfaces entre camadas, como ilustra a Figura 1.31 , e os Interconnection), pois trata da interconexão de sistemas
protocolos se relacionam aos pacotes, enviados entre enti- abertos - ou seja, sistemas abertos à con1unicação com ou-
dades pares em máquinas diferentes. E importante não con- tros sistemas. Para abreviar, va1nos chamá-lo simplesmente
fundir esses dois conceitos. de modelo OSI.
Vale a pena fazer u1na analogia con1 as linguagens de O 1nodelo OST tem sete can1adas. Veja, a seguir, um re-
programação. Um serviço é como u1n objeto ou um tipo sumo dos princípios aplicados para chegar às sete camadas.
de dado abstrato em uma linguage1n orientada a objetos. 1. U1na camada deve ser criada onde houver necessidade
Ele define as operações que podem ser executadas sobre de outro grau de abstração.
um objeto, mas não especifica como essas operações são
2. Cada camada deve executar uma função bem definida.
i1nplementadas. En1 contraste, um protocolo se refere à iln -
plementação do serviço e, consequentemente, não é visível 3. A função de cada camada deve ser escolhida ten-
' .
ao usuano. do em vista a definição de protocolos padronizados
Muitos protocolos mais antigos não distinguiam servi- internacionalmente.
ço e protocolo. Na prática, uma camada normal poderia ter 4. Os limites de camadas deve1n ser escolhidos para mi-
uma primitiva de serviço SEND PACKET, com o usuário nimizar o fluxo de infonnações pelas interfaces.
fornecendo um ponteiro para u1n pacote totalmente monta- 5. O número de camadas deve ser grande o bastante para
do. Essa organização signjficava que todas as mudanças no que funções distintas não precisem ser desnecessaria-
protocolo ficavam imediatamente visíveis para os usuários. mente colocadas na mesma camada e pequeno o su-
Hoje, a 1naioria dos projetistas de redes considera tal proje- ficiente para que a arquitetura não se ton1e difícil de
to um sério equívoco. controlar.
O modelo OSI tem três conceitos fundamentais:
1. Serviços.
1.6 MODELOS DE REFERÊNCIA 2. Interfaces.
O projeto de protocolo e1n camadas é uma das abstrações- 3. Protocolos.
-chave para o projeto de redes. Uma das principais questões Provavelmente a maior contribuição do modelo OSl
é definir a funcionalidade de cada camada e as interações seja tornar explícita a distinção entre esses três conceitos.
entre elas. Dois 1nodelos predon1inantes são o 1nodelo de Cada camada executa alguns serviços para a camada acima
referência TCP/IP e o modelo de referência OSI. Discu- dela. A definição do serviço informa o que a camada faz,
tiremos cada um deles a seguir, bem como o modelo que e não a forma como as entidades acima dela a acessam ou
usamos no restante deste livro, que alcança um meio termo como ela funciona.
entre eles. O modelo TCP/IP originalmente não fazia a distinção
clara entre esses serviços, interfaces e protocolos, embora
Camada k + 1 Camada k + 1 as pessoas tivesse1n tentado adaptá-lo para que se tornasse
mais semelhante ao 1nodelo OSI.
t Serviço fornecido pela camada
t
Protocolo 1.6.2 O modelo de referência TCP/IP
Camada k •- - - - -- -- - -- - - - -- -- - -- - -- - - - - - __ .,.. Camada k

O modelo de referência TCP/IP é usado na "avó" de todas

t
Camada k - 1
t
Camada k - 1
as redes de computadores a longa distância, a ARPANET,
e sua sucessora, a Internet mundial. Conforme descreve-
mos anteriom1ente, a ARPANET era uma rede de pesqui-
Figura 1.31 Relacionamento entre um serviço e um sa patrocinada pelo Departamento de Defesa dos Estados
protocolo. Unidos. Pouco a pouco, centenas de universidades e
Capítulo 1 • Introdução 39

Camada Nome da
unidade trocada

7 1 Aplicação 1•-- - -- -- -- -~~º~C:~~C: .9~ _ª.?~i~~~ã_o_ - - - - - - - - - - 1 Aplicação APDU

Interface t t
_ Protocolo de apresentação _
6 Apresentaçao • -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Apresentaçao PPDU

t t
5 Sessão 1·-----------~r.?!~~o~~ 9~_s~~~~º- -- -- -- -- -- - Sessão SPDU

t ._____,_,
4 I·- - - - - - - - - _P!9~~c.?!~ ~~ !r~~~e~r:!~ - -- - --- - - - 1 Transporte
Transporte TPDU
~--t.---~ Limite da sub-rede de comunicação ~-....,t.---~
r
Protocolo da sub-rede internà

3 ~-R-ed_e_~l- -- - 1 Rede 1.1 ~1 Rede I· - --- Rede Pacote

t
2 Enlace
de dados - -- Enlace
de dados ·-- - Enlace
de dados -
t
1 ~-Fí_si_cª_~I- - 1 Física l·--- 1 Física I· -
Host A Roteador Roteador
' Protocolo host-roteador da camada d
./

Protocolo host- roteador da camada de dados


~--Protocolo host-roteador da camada física

Figura 1.32 O modelo de referência OSI.

repartições públicas foram conectadas, usando linhas tele- permanecessem intactas enquanto as máquinas de origem
fônicas dedicadas. Mais tarde, quando foram criadas as re- e de destino estivesse1n funcionando, mesmo que algumas
des de rádio e satélite, os protocolos existentes corneçaram máquinas ou linhas de transrnissão intermediárias deixas-
a ter proble1nas de interligação com elas, o que forçou a sem de operar repentinamente. Além disso, como eram vi-
criação de uma nova arquitetura de referência. Desse modo, sadas aplicações com requisitos divergentes, desde a trans-
quase desde o início, a capacidade para conectar várias re- ferência de arquivos e a trans1nissão de dados de voz em
des de maneira unifonne foi um dos principais objetivos tempo real, era necessária uma arquitenrra flexível.
do projeto. Essa arquitetura posteriormente ficou conhecida
como modelo de referência TCP/IP, graças a seus dois A camada de enlace
principais protocolos. Esse modelo foi definido pela pri-
meira vez ern Cerf e Kahn ( 1974), depois melhorado e defi- Todas essas necessidades levaram à escolha de uma rede
nido como um padrão na cornunidade da Internet (Braden, de comutação de pacotes baseada e1n utna camada de in-
1989). A filosofia de projeto na qual se baseia o 1nodelo é terligação de redes com serviço não orientado a conexões,
discutida em Clark ( 1988). passando por diferentes topologias de redes. A camada de
Diante da preocupação do Departamento de Defesa enlace, a mais baixa no 1nodelo, descreve o que os enlaces,
dos Estados Unidos de que seus preciosos hosts, roteado- como linhas seriais e a Ethernet clássica, precisam fazer
res e gateways de interconexão de redes fossem destruí- para cumprir os requisitos dessa carnada de interconexão
dos de u1na hora para outra por um ataque da então União con1 serviço não orientado a conexões. Ela não é uma ca-
Soviética, outro objetivo principal foi que a rede pudesse mada propriarnente dita, no sentido normal do termo, mas
sobreviver à perda do hardware de sub-redes, sem que as uma interface entre os hosts e os enlaces de transmissão.
conversações existentes fossem interro1npidas. Em outras O material inicial sobre o 1nodelo TCP/IP tem pouco a dizer
palavras, o Departamento de Defesa queria que as conexões sobre ela.
40 Redes de computadores

A camada internet (camada de rede) como acontece na camada de transporte OSI. Dois proto-
colos de ponta a ponta foram definidos aqui. O primeiro
A camada internet integra toda a arquitetura, mantendo-a deles, o protocolo de controle de transmissão, ou TCP
unida. Ela aparece na Figura 1.33. Sua tarefa é permitir que (Transmission Control Protocol), é orientado a conexões
os hosts injetcn1 pacotes e1n qualquer rede e garantir que confiável que permite a entrega sem erros de um fluxo de
eles trafegarão independentemente até o destino (talvez em bytes originário de uma determinada máquina em qualquer
uma rede diferente). Eles podem chegar até mesmo em uma computador da rede interligada. Esse protocolo fragmenta
ordem diferente daquela em que foram enviados, obrigando o fluxo de bytes de entrada em mensagens discretas e passa
as can1adas superiores a reorganizá-los, caso a entrega em cada u1na delas para a can1ada internet. No destino, o pro-
ordem seja desejável. Observe que o tenno "internet" (rede cesso TCP receptor volta a nlontar as mensagens recebi-
interligada) é usado aqui en1 u1n sentido genérico, embora das no fluxo de saída. O TCP ta111bén1 cuida do controle de
essa camada esteja presente na Internet. fluxo, impedindo que un1 trans111issor rápido sobrecarregue
A analogia usada nesse caso diz respeito ao sistema un1 receptor lento com u1n volu111e de 1nensagens maior do
de correio convencional. Uma pessoa pode deixar uma se- que ele pode 111anipular.
quência de cartas internacionais em uma caixa de correio O segundo protocolo nessa ca111ada, o protocolo de
e1n um país e, com um pouco de sorte, a nlaioria delas será datagra1na do usuário, ou UDP (User Datagram Proto-
entregue no endereço correto no país de destino. Provavel- col), é sem conexões, não confiável, para aplicações que
mente, as cartas atravessarão um ou mais centros de tria- não desejam a sequência ou o controle de fluxo do TCP,
gem de correio internacionais ao longo do caminho, mas
e que deseja111 oferecer seu próprio controle (se houver).
isso é transparente para os usuários. Além disso, o fato de Ele é muito usado para consultas isoladas, com solicitação
cada país (ou seja, cada rede) ter seus próprios selos, tama- e resposta, tipo cliente-servidor, e aplicações em que a en-
nhos de envelope preferidos e regras de entrega fica oculto trega imediata é mais importante do que a entrega precisa,
dos usuários. como na transmissão de voz ou vídeo. A relação entre IP,
A camada internet define um formato de pacote ofi- TCP e UDP é ilustrada na Figura 1.34. Desde que o modelo
cial e um protocolo chamado IP (Internet Protocol), mais foi desenvolvido, o 1P tem sido implementado em muitas
um protocolo que o acompanha, chan1ado ICMP (Internet outras redes.
Control Message Protocol). A tarefa da camada internet é
entregar pacotes IP onde eles são destinados. O roteamento
de pacotes clara1nente é u1na questão de grande importân- A camada de aplicação
cia nessa camada, assiin co1no o controle de congestiona- O 1nodelo TCP/IP não te1n as camadas de sessão ou de
mento. O proble1na do roteamento, em grande parte, já foi apresentação - não foi percebida qualquer necessidade para
resolvido, mas o congestiona1nento só pode ser tratado com elas. Eru vez disso, as aplicações simplesmente inclue1n
o auxílio de ca111adas superiores. quaisquer funções de sessão e apresentação que forem ne-
cessárias. A experiência de111011strou que essa visão está
A camada de tran sporte correta: elas são pouco usadas na maioria das aplicações,
de modo que pratica111ente desaparecera1n.
No modelo TCP/IP, a ca1nada localizada acima da camada
internet agora é chamada camada de transporte. Sua fi- Acima da camada de transporte, encontramos a cama-
nalidade é permitir que as entidades pares dos hosts de ori- da de aplicação, que contém todos os protocolos de nível
ge1n e de destino mantenham uma conversação, exata1nente 111ais alto. Entre eles estão o protocolo de terminal virtual
(TELNET), o protocolo de transferência de arquivos (FTP)
e o protocolo de correio eletrônico (SMTP). Muitos outros
OSI TCP/IP protocolos foram incluídos no decorrer dos anos. Alguns
dos 1nais importantes que estudaremos, mostrados na Fi-
7 Aplicação Aplicação
gura 1.34, incluem o DNS (Domain Name Service), que
6 Apresentação Ausente
mapeia os nomes de hosts para seus respectivos endereços
no modelo da camada de rede, o HTIP, usado para buscar páginas na
5 Sessão World Wide Web, e o RTP, utilizado para entregar mídia em
4 Transporte Transporte te111po real, con10 voz ou vídeo.

3 Rede Internet

2 Enlace de dados Enlace 1.6.3 Uma crítica aos protocolos


e ao modelo OSI
1 Física
Nem o n1odelo OS! e seus respectivos protocolos nem o
Fígura 1.33 O modelo de referência TCP/IP. modelo TCP/JP e seus respectivos protocolos são perfeitos.
Capítulo 1 • Introdução 41

Aplicação HTTP SMTP RTP DNS


1 1 1 1 1 1 1 1
'
Transporte
1
TCP
1 1
UDP
1- """ ~-
Camadas - Protocolos
Internet IP ICMP 1-
1 1 1

Enlace DSL SONET 802.11 Ethernet


1 1 1 11 11 1

Figura 1.34 Omodelo TCP/IP com alguns protocolos que estudaremos.

Os dois podem ser e têm sido alvo de uma série de críticas. inicial, as empresas descobrem o assunto e tem início a
Nesta seção e na próxima, examinaremos algumas delas. onda de bilhões de dólares em investimentos.
Começaremos pelo rnodelo OST e, ern seguida, passaremos E' essencial que os padrões sejam desenvolvidos entre
ao modelo TCP/IP. os dois "elefantes". Se eles forem desenvolvidos muito cedo
Na época em que a segunda edição norte-americana (antes que os resultados da pesquisa sejam concluídos), o
deste livro foi publicada ( 1989), muitos especialistas ti- assunto poderá não estar devidamente cornpreendido; o
nha1n a impressão de que os protocolos e o modelo OSI resultado é um padrão ruim. Se eles forem desenvolvidos
controlaria1n o mundo e atropelaria1n tudo o que se pusesse rnuito tarde, rnuitas empresas talvez já tenham feito inves-
em seu caminho. Isso não aconteceu. Por quê? Vale a pena timentos maciços para descobrir maneiras diferentes de ti-
fazer uma revisão de alguinas razões, que podem ser resu- rar proveito dessa nova tecnologia e, portanto, os padrões
midas da seguinte 1naneira: mon1ento ruim, projeto ruiin, serão efetiva1nente ignorados. Se o intervalo entre os dois
i1nplementações ruins e política ruin1. elefantes for muito curto (porque todos estão apressados
para começar), a equipe de desenvolvirnento dos padrões
Momento ruim poderá ser esmagada.
Vamos começar pelo problema mais importante: momento Hoje sabemos que os protocolos do padrão OSI foram
ruim. O momento em que um padrão é estabelecido é de esmagados. Os protocolos TCP/lP concon·entes já estavam
fundamental importância para seu sucesso. David Clark, sendo amplamente utilizados nas universidades de pesquisa
do Massachusetts lnstitute ofTechnology (MIT), te1u uma na época e1n que apareceran1 os protocolos OSI. Antes rnes-
teoria sobre os padrões, que ele chama o apocalipse dos 1110 do início da onda de investin1entos de bilhões de dóla-
dois elefantes, ilustrada na Figura l.35. res, o mercado acadêmico já era suficienten1ente grande, e
Essa figura mostra o volun1e de atividades relacio- n1uitos fabricantes co1neçara1n a oferecer produtos TCP/IP,
nadas a um novo assunto. Quando o assunto é descoberto, apesar de estarem cautelosos. Quando o OSl surgiu, eles
há uma grande atividade de pesquisa, em forma de discus- não estavam dispostos a investir em uma segunda pilha de
sões, artigos e reuniões. Após algu1n tempo dessa atividade protocolos enquanto não fossem forçados a isso, por esse

Investimentos
Pesquisa bilionários

! !
t
> Padrões

!
Tempo - -

Figura 1.35 Oapocalipse dos dois elefantes.


42 Redes de computadores

motivo não houve ofertas iniciais no n1ercado. Com todas IP era parte do UNIX e, na década de 1980, as universida-
as empresas aguardando que algué1n desse o primeiro pas- des tinham verdadeira adoração pelo UNIX.
so, nenhuma delas o iniciou, e o OSI nunca aconteceu. Por sua vez, o OSl era considerado un1a criação dos
ministérios de telecomunicações europeus, da Comunida-
Projeto ruim de Europeia e, mais tarde, do governo dos Estados Unidos.
Essa crença só era verdadeira em parte, 1nas a ideia de um
A segunda razão para que o OSI não vingasse estava nas punhado de burocratas tentando e1npun·ar u1n padrão tec-
falhas do modelo e dos protocolos. A escolha de sete ca- nicamente inferior pela garganta dos pobres pesquisadores
madas foi mais política do que técnica, e duas camadas e programadores que, de fato, trabalhavam no desenvolvi-
(a de sessão e a de apresentação) estão praticamente vazias, n1ento de redes de co1nputadores, não foi de muita ajuda
enquanto duas outras (a de enlace de dados e a de rede) se à causa do OSI. Algumas pessoas vira1n nesse desenvolvi-
encontra1n sobrecarregadas. 1nento a repetição de un1 episódio da década de 1960, quan-
O modelo OSI, com os protocolos e as definições de do a IBM anunciou que a PL/l era a linguagem do futuro;
serviços inter-relacionados, é extraordinariamente comple- 1nais tarde, essa afirinação foi desmentida pelo Departa-
xo. Quando empilhados, os padrões impressos chegam a n1ento de Defesa dos Estados Unidos, que afinnou que a
quase um 1netro de altura. Além disso, eles são de difícil linguagem do futuro seria a Ada.
iinplen1entação e sua operação não é nada eficiente. Nesse
contexto, vale a pena lembrar o enigma proposto por Paul
Mockapetris e citado em Rose (1993): 1.6.4 Uma crítica aos protocolos
P: O que você vê quando encontra um mafioso que e ao modelo TCP/ IP
adota um padrão internacional? Os protocolos e o modelo TCP/IP também têm seus pro-
R: Alguém que lhe faz uma oferta que você não con- blen1as. Em primeiro lugar, o 1nodelo não diferencia com
segue entender. a clareza necessária os conceitos de serviço, interface e
protocolo. As boas práticas da engenharia de software exi-
Além de ser incompreensível, outro problema com o
gem uma diferenciação entre especificação e imple1nenta-
OSI é que algumas funções, como endereçamento e con-
ção, algo que o OSI faz com muito cuidado, ao contrário
trole de fluxo e de erros, aparece1n repetidamente e1n cada
do TCP/IP. Consequenten1ente, o modelo TCP/IP não é o
camada. Por exe1nplo, Saltzer et ai. ( 1984) le1nbrara1n que,
rnelhor dos guias para a criação de novas redes com base
para ser eficaz, o controle de erros deve ser fe ito na camada
e1n novas tecnologias.
mais alta, de modo que sua repetição em cada uma das ca-
Em segundo lugar, o 1nodelo TCP/IP não é nada
madas inferiores é desnecessária e ineficiente.
abrangente e não consegue descrever outras pilhas de pro-
tocolos que não a pilha TCP/IP. Por exemplo, seria pratica-
Implementações ruins mente impossível tentar descrever o Bluetooth usando esse
Em virtude da enorme complexidade do modelo e dos modelo.
protocolos, ninguém ficou surpreso com o fato de as im- Em terceiro lugar, a ca1nada de enlace não é reahnente
plementações iniciais serem lentas, pesadas e gigantescas. uma camada no sentido em que o termo é usado no con-
Todas as pessoas que as experimentaram saíran1 chamusca- texto dos protocolos hierarquizados. Trata-se, na verdade,
das. Não demorou muito para que elas associassem "OSI" de uma interface (entre as camadas de rede e de enlace de
à "baixa qualidade". A imagem resistiu inclusive às signi- dados). A distinção entre uma interface e uma camada é
ficativas melhorias a que os produtos foram sub1netidos ao crucial e você deve considerá-la com cuidado.
longo do ten1po. Quando as pessoas acham que algo é ruim, Em quaito lugar, o modelo TCP/ IP não faz distinção
. .
as consequenc1as aparecem. entre as carnadas física e de enlace de dados. Elas são com-
Em contrapartida, uma das prin1eiras imple1nentações pletan1ente diferentes. A camada fisica está relacionada às
do TCP/IP fazia parte do UNIX de Berkeley e era muito características de transmissão do fio de cobre, dos cabos de
boa (sem contar que era gratuita). As pessoas começaram a fibra óptica e da comunicação sem fio. A tarefa da camada
usá-la rapida1nente, criando, assim, uma grande co1nunida- de enlace de dados é deliinitar o início e o fim dos quadros
de de usuários que, por sua vez, estimulou novas 1nelhorias, e enviá-los de u1n lado a outro com o grau de confiabilidade
que levara1n a uma comunidade ainda maior. Nesse caso, a desejado. Urn modelo mais adequado deve incluir as duas
espiral foi claramente ascendente, não descendente. camadas como elementos distintos. O modelo TCP/IP não
faz isso.
Por firn , apesar de os protocolos TP e TCP terem sido
Política ruim
cuidadosamente projetados e bem i1nple1nentados, o mes-
En1 decon·ência da iinplementação inicial, muitas pessoas, 1110 não aconteceu com rnuitos outros protocolos ocasio-
em particular no universo acadêmico, pensaram que o TCP/ nais, gerahnente produzidos por alguns alunos fonnados,
Capítulo 1 • Introdução 43

pesquisando até se cansaren1. As in1plementações desses Web. Contudo, nossa preocupação é com a parte do pro-
protocolos era1n distribuídas gratuitamente, o que acabava gran1a que usa a rede. No caso do navegador Web, esse é
difundindo seu uso de tal forma que se tomou dificil subs- o protocolo HTTP. Também existem programas de suporte
tituí-las. Hoje, a fidelidade a esses produtos é n10tivo de importantes na can1ada de aplicação, como o DNS, que são
alguns e1nbaraços. Por exe1nplo, o protocolo de tenninal usados por 1nuitas aplicações. Estes forma1n a cola que faz
virtual, o TELNET, fo i projetado para un1 terminal de te- a rede funcionar.
letipo 1necânico, capaz de processar dez caracteres por se- Nossa sequência de capítulos é baseada nesse modelo.
gundo. Ele não reconhece o mouse e as interfaces gráficas Dessa forma, mantemos o valor do modelo OSI para en-
do usuário. No entanto, esse protocolo é usado em larga tender as arquiteturas de rede, mas nos concentramos prin-
escala ainda hoje, 50 anos depois de seu surgimento. cipahnente nos protocolos que são i1nportantes na prática,
do TCP/IP e dos protocolos relacionados aos n1ais novos,
como os padrões 802.11, SONET e Bluetooth.
1.6.5 O modelo de dados usado neste livro
Conforme mencionado, o ponto forte do n1odelo de refe-
rência OSI é o rnodelo propriamente dito (menos as cama-
das de apresentação e sessão), que provou ser excepcional-
1.7 PADRONIZAÇÃO DE REDES
mente útil para a discussão de redes de computadores. Por Em geral, a inovação na Internet depende tanto de aspec-
sua vez, o ponto forte do modelo de referência TCP/IP são tos políticos e legais quanto da própria tecnologia. Tradi-
os protocolos, que têm sido bastante utilizados há muitos cionalmente, os protocolos da Internet tê1n avançado por
anos. Como os cientistas da co1nputação gostam de receber rneio de u111 processo de padronização, que explicaremos
seu bolo e comê-lo também, usaremos o 1nodelo híbrido da en1 seguida.
Figura 1.36 como base para este livro.
Esse modelo tem cinco camadas, partindo da camada
fisica e subindo pelas camadas de enlace, rede e transpo11e, 1.7.1 Padronização e código fonte aberto
até chegar à ca1nada de aplicação. A camada física especifi- Existem muitos fabricantes e fornecedores de redes, cada
ca como transmitir os bits por diferentes meios de transmis- qual co111 suas próprias ideias sobre como as coisas devem
são, como sinais elétricos (ou outro semelhante). A cama- ser feitas. Sern coordenação, haveria um caos co1npleto, e
da de enlace trata de como enviar tnensagens de tamanho os usuários nada conseguiria1n fazer. A única opção de que
definido entre computadores diretamente conectados, com a indústria dispõe é a criação de alguns padrões de rede.
níveis de confiabilidade especificados - Ethen1et e 802.1 1 Além de permitirem que diferentes computadores se cornu-
são exemplos de padrões dessa ca111ada. niquem, bons padrões também amplia1n o tnercado para os
A camada de rede cuida de co1no co1nbinar vários en- produtos que adere1n às suas regras. U1n mercado 1nais am-
laces nas redes, e redes de redes em intemets, de 1nodo a plo estimula a produção em 1nassa, proporciona economia
enviar pacotes entre con1putadores distantes. Isso inclui a de escala no processo de produção, 1nelhores implementa-
tarefa de localizar o caminho pelo qual os pacotes serão en- ções e outros beneficios que reduzem o preço e aumentam
viados. O IP é o principal exemplo de protocolo que estuda- mais ainda a aceitação de um produto.
re1nos para essa ca1nada. A camada de transporte fortalece Nesta seção, exa1ninaremos rapidamente o ilnportan-
as garantias de entrega da camada de rede, normalmente te, mas pouco conhecido, mundo da padronização interna-
com maior confiabilidade, e oferece abstrações de entrega, cional. Contudo, primeiro vamos discutir o que pertence a
como un1 fluxo de bytes confiável, que correspondem às um padrão. U1na pessoa razoável poderia supor que um pa-
necessidades das diferentes aplicações. O TCP é um exern- drão lhe informa co1no um protocolo deve funcionar, a fim
plo in1portante de protocolo da can1ada de transporte. de que você faça um bom trabalho de implementação. Essa
Por fim, a camada de aplicação contém programas que pessoa estaria errada.
utiliza1n a rede. Muitas aplicações de rede, mas não todas, Os padrões define1n o que é necessário para a inte-
possuetn interfaces com o usuário, corno um navegador roperabilidade: nem mais, nem menos. Isso pennite o
surgimento de um mercado maior e também que as em-
presas dispute1n com base na qualidade de seus produtos.
5 Aplicação
Por exe1nplo, o padrão 802.11 define n1uitas velocidades
4 Transporte de transmissão, mas não diz quando um emissor deve usar
3 Rede qual velocidade, o que é um fator essencial no bom de-
2 Enlace sen1penbo. isso fica a critério de quem fabrica o produto.
1 Física Geralmente, conseguir interoperabilidade dessa maneira
é dificil, pois existem muitas escolhas de implementação
Figura 1.36 O modelo de referência usado neste livro. e os padrões normalmente definem muitas opções. Para o
44 Redes de computadores

802.11, havia tantos problemas que, en1 un1a estratégia que entre associações de teleco1nunicações que controla os pa-
se tornou uma prática con1um, urn grupo comercial chama- drões de telefonia móvel 3G UMTS.
do WiFi Alliance foi iniciado para trabalhar com a intero-
perabilidade dentro dele. No contexto das redes definidas
por software, a ONF (Open Networking Foundation) 1.7.2 Quem é quem no mundo
busca desenvolver tanto padrões quanto implementações das telecomunicações
de software co1n código fonte aberto para esses padrões,
garantindo a interoperabilidade dos protocolos para contro- O status legal das companhias telefônicas do inundo va-
ria consideravelmente de un1 país para outro. De un1 lado,
lar switches de rede programáveis.
estão os Estados Unidos, que têm muitas empresas tele-
Um padrão de protocolo define o protocolo usado,
fônicas privadas (em sua maioria, muito pequenas). Mais
mas não a interface de serviço internamente, exceto para algumas foram incluídas co1n a divisão da AT&T em 1984
ajudar a explicar o próprio protocolo. As interfaces de (então a maior corporação do mundo, oferecendo servi-
serviço reais normalmente são patenteadas. Por exen1plo, ço telefônico a cerca de 80% dos telefones dos Estados
não in1porta o rnodo como o TCP realiza interface com o Unidos) e o Teleco1nn1unications Act de 1996, que rees-
IP dentro de um co1nputador para falar co1n tun host re- truturou a regulamentação para promover a concorrência.
moto. Só in1porta que o host re1noto fale TCP/IP. Na ver- Essa ideia não gerou o resultado esperado, pois grandes
dade, TCP e IP normalmente são ilnplementados juntos, companhias telefônicas con1praram as menores até que, na
sem qualquer interface distinta. Corn isso, boas interfaces maioria dos lugares, havia apenas uma (no máximo, duas)
de serviço, assim como boas APls (Application Program- restantes.
ming Interfaces), são valiosas por usar os protocolos, e as No outro extremo, estão os países en1 que o governo
melhores (como as interfaces de sockets de Berkeley) po-
federal detém o monopólio de toda a área de co1nunicações,
den1 se ton1ar muito populares. incluindo correios, telégrafos, telefone e muitas vezes rá-
Os padrões se dividen1 e1n duas categorias: de fato e dio e televisão. A maior parte do mundo se enquadra nessa
de direito. Os padrões de fa to são aqueles que se consa- categoria. Em alguns casos, as telecomunicações são co-
graram naturalmente, sem qualquer plano formal. O HTTP, mandadas por tuna e1npresa nacionalizada, n1as e111 outros
protocolo no qual a Web funciona, começou como um pa- elas são controladas por un1a estatal, em geral conhecida
drão de fato. Ele fazia parte dos primeiros navegadores da como administração PTT (Post, Telegraph & Telephone).
WWW desenvolvidos por Tin1 Berners-Lee no CERN, e No mundo inteiro, a tendência é de liberalização e com-
seu uso decolou co1n o crescimento da Web. O Bluetooth petição, encerrando o monopólio do governo. A ma ioria
é outro exe1nplo. Ele foi desenvolvido originahnente pela dos países europeus agora tem suas PTTs (parcialn1ente)
Ericsson, n1as agora todos o utiliza1n. privatizadas, mas em outros lugares o processo ainda está
Os padrões de direito, ao contrário, são adotados por ganhando impulso lentamente.
um órgão de padronização formal. E1n geral, as autoridades Com todos esses diferentes fornecedores de serviços,
de padronização internacional são divididas em duas clas- é cada vez 1naior a necessidade de oferecer compatibilidade
ses: as que foram estabelecidas por tratados entre governos en1 escala mundial para garantir que pessoas (e co1nputa-
nacionais, e as organizações voluntárias, criadas indepen- dores) em diferentes países possam se comunicar. Na ver-
dentemente de tratados. Na área de padrões de redes de dade, essa necessidade já existe há muito tempo. Em 1865,
con1putadores, há diversas organizações de an1bos os tipos, representantes de diversos governos europeus se reuniram
especialmente ITU, ISO, IETF e IEEE, os quais veremos para fonna r a predecessora da atual ITU (International
nas próximas subseções. Telecommunication Union). Sua missão era padronizar as
Na prática, os relacionamentos entre padrões, em- telecornunicações internacionais, até então dominadas pelo
presas e órgãos de padronização são complicados. Os pa- telégrafo.
drões de fato normalmente evoluem para padrões de direi- Já naquela época estava claro que, se rnetade dos paí-
to, especiahnente se tiverem sucesso. Isso aconteceu no ses utilizasse código Morse e a outra nletade usasse algurn
caso do HTTP, que foi rapidamente adotado pelo IETF. outro código, haveria proble1nas de comunicação. Quando
Os órgãos de padrões nonnaln1ente ratificam os padrões o telefone passou a ser um serviço internacional, a ITU
mutuamente, como se estivessem dando um tapinha nas tambétn se encarregou de padronizar a telefonia. Em 1947,
costas uns dos outros, a fim de aumentar o mercado para a ITU tornou-se un1 órgão das Nações Unidas.
u1na tecnologia. Atualmente, muitas alianças comerciais A ITU tem cerca de 200 membros governamentais,
ocasionais que são formadas em torno de detenninadas incluindo quase todos os membros das Nações Unidas.
tecnologias també1n desempenham um papel significativo Tendo em vista que os Estados Unidos não têm uma PTT,
no desenvolvimento e refmamento de padrões de rede. Por outro gn1po teve de representá-los. Essa tarefa coube ao
exe1nplo, o projeto de parceria do 3G, ou 3GPP (Third Departarnento de Estado, provavelmente porque a ITU se
Generation Partnership Project) é uma colaboração relacionava com países estrangeiros, a especialidade desse
Capítulo 1 • Introdução 45

departa1nento. Existen1 mais de 700 men1bros setoriais e Quando a transição iniciada na década de 1980 for
associados, incluindo e1npresas de telefonia (p. ex., AT&T, concluída e as teleco1nunicações deixarem de ser u1na
Vodafone, Sprint), fabricantes de equipamentos de teleco- questão interna de cada país para ganhar o status de questão
municações (p. ex., Cisco, Nokia, Norte!), fornecedores de global, os padrões ganharão cada vez mais in1portância, e
con1putadores (p. ex., Microsoft, Deli, Toshiba), fabrican- um nú1nero cada vez nlaior de organizações desejará parti-
tes de chips (p. ex., Intel, Motorola, TI) e outras empresas cipar do processo de definição de padrões. Para obter mais
interessadas (p. ex., Boeing, CBS, VeriSign). infonnações sobre a ITU, consulte lrmer (1994).
A ITU tem três setores principais. Vamos nos concen-
trar principahnente na JTU-T, o setor de padronização de
telecomunicações, que controla os sistemas de telefonia 1.7.3 Quem é quem no mundo dos
e de comunicação de dados. Antes de 1993, a ITU-T era padrões internacionais
conhecida como CCITT, acrônimo de Comité Consulta-
Os padrões internacionais são produzidos e publicados pela
tif Intemational Télégraphique et Téléphonique, seu nome ISO (lnternational Standards Organization), uma orga-
em francês. A ITU-R, o setor de radiocon1unicações, é res- nização voluntária independente, fundada em 1946. Seus
ponsável pela coordenação do uso, por grupos de interesse tnembros são as organizações nacionais de padrões dos
concorrentes, das frequências de rádio no mundo inteiro. 161 países-1nembros. Entre eles estão as seguintes organi-
O outro setor é ITU-D, o setor de desenvolvimento. Ele zações : ANSI (Estados Unidos), BSI (Grã-Bretanha), AF-
pro1nove o desenvolviinento de tecnologias de informação NOR (França), DIN (Alemanha) e 157 outros.
e co1nunicação para estreitar a "divisão digital" entre as
A ISO publica padrões sobre os mais variados assun-
empresas co1n acesso efetivo às tecnologias de informação tos, desde porcas e parafusos (literahnente) ao revestimento
e países com acesso limitado.
usado nos postes telefônicos (se1n mencionar sementes de
A tarefa da ITU-T é definir recomendações técnicas cacau [ISO 2451] , redes de pesca [ISO 1530], roupas ín-
para interfaces de telefonia, telégrafos e comunicação de timas femininas [ISO 4416] e vários outros assuntos que
dados. Em geral, essas recomendações se transformam em ninguém imaginaria que estivessem sujeitos à padroniza-
padrões internacionalmente reconhecidos, e1nbora, tecni- ção). En1 questões de padrões de teleco1nunicação, a ISO
camente, sejam apenas sugestões que os governos podem e a ITU-T normalmente cooperam (a ISO é um membro da
adotar ou ignorar, como quiserem (porque os governos são ITU-T) para evitar a ironia de dois padrões internacionais
como garotos de 13 anos - eles não gosta1n de receber or- oficiais e mutuamente incompatíveis.
dens). Na prática, um país que deseja adotar um padrão de A ISO já publicou mais de 21 mil padrões, incluin-
telefonia diferente do restante do inundo ten1 toda a liber- do os padrões OSI. Ela ten1 1nais de 200 co1nitês técni-
dade de fazê-lo, mas ficará isolado de todos os outros, de cos (TCs; Technical Committees), numerados por ordem
modo que ninguém poderá ligar para lá ou de lá para fora. de criação, cada um lidando com um assunto específico.
Essa opção pode ser válida na Coreia do Norte, mas seria a O TC l lida com porcas e parafusos (padronizando as me-
fonte de muitos problemas em outros lugares. didas da rosca). O JTC I trata da tecnologia de informação,
O trabalho real da ITU-T é feito em seus grupos de incluindo redes, con1putadores e software. Ele é o primeiro
estudo (SG; Study Groups). Atualmente existen1 11 gn1pos (e até aqui único) co1nitê técnico conjunto, criado e1n 1987
de estudo, geralmente com até 400 pessoas, que abordam mesclando o TC97 com as atividades no IEC, outro órgão
assuntos variando desde cobrança telefônica até serviços de de padronização. Cada TC tem subconutês que, por sua
multimídia e segurança. O SG 15, por exen1plo, padroniza vez, se dividem em grupos de trabalho.
as conexões por fibra óptica até as casas - isso permite que O trabalho real da ISO é feito em grande parte nos
os fabricantes produzam produtos que funcionam em todos grupos de trabalho, em tomo dos quais se reúnem l 00 mil
os lugares. Para tomar possível a obtenção de algum resul- voluntários de todo o mundo. Muitos desses "voluntários"
tado, os grupos de estudo se dividem en1 setores de trabalho foram escalados para trabalhar e1n questões da ISO pelos
que, por sua vez, se dividem em equipes de especialistas seus empregadores, cujos produtos estão sendo padroniza-
que, por sua vez, se dividem en1 grupos ocasionais. Uma dos. Outros são funcionários públicos ansiosos por desco-
vez burocracia, se1npre burocracia. brir um meio de transformar o que é feito em seus países
Apesar de todas essas dificuldades, a ITU-T consegue de origetn em padrão internacional. Especialistas acadêmi-
realizar algo. Desde sua origem, ela produziu cerca de 3 mil cos també1n tê1n participação ativa em muitos grupos de
reco1nendações, muitas das quais são bastante utilizadas na trabalho.
prática. Por exemplo, a Reco1nendação H.264 (também um O procedin1ento usado pela ISO para a adoção de pa-
padrão ISO conhecido como MPEG-4 AVC) é bastante usa- drões foi criado de modo a obter o maior consenso possível.
da para compactação de vídeo, e os certificados de chave O processo começa quando uma das organizações de pa-
pública X.509 são usados para navegação segura na Web e drões nacionais sente a necessidade de um padrão interna-
para assinaturas digitais no correio eletrônico. cional em alguma área. Em seguida, é formado um grupo
46 Redes de computadores

de trabalho con1 a finalidade de produzir um rascunho de seguinte comentário sobre padronização na Internet, hoje
comitê ou CD (Committee Draft). Depois, o CD é distri- famoso: "consenso rígido e código funcional".
buído a todas as entidades associadas, que têm seis meses Quando a ARPANET foi estabelecida, o Departamen-
para analisá-lo. Se ele for aprovado por uma ampla maioria, to de Defesa dos Estados Unidos criou um comitê infor-
u1n docu1nento revisado, chamado rascunho de norma in- mal para supervisioná-la. E1n 1983, o co1nitê passou a ser
ternacional ou DIS (Draft International Standard), será chamado IAB (Internet Activities Board) e teve seus ob-
produzido e distribuído para receber comentários e ser vo- jetivos ampliados, ou seja, foi possível 1nanter os pesqui-
tado. Com base nos resultados dessa rodada, o texto final sadores envolvidos co1n a ARPANET e a Internet 1nais ou
do padrão internacional ou IS (International Standard) n1enos voltados para uma 1nesma direção, un1a tarefa nada
é preparado, aprovado e publicado. Nas áreas de grande fácil. Mais tarde, o significado do acrônin10 "IAB" 1nudou
controvérsia, o CD ou o DIS passam por diversas revisões para Internet Architecture Board.
até obter o número de votos necessário, em um processo Cada um dos cerca de 1Ome1nbros do IAB coordenou
que pode durar anos. uma força-tarefa sobre algum aspecto importante. O IAB
O NIST (National lnstitute of Standards aod Te- pro1novia diversas reuniões anuais para discutir os resul-
chnology) é un1 órgão do Departamento de Comércio dos tados e prestar contas ao Departamento de Defesa e à NSF,
Estados Unidos. Ele, que já foi chamado de National Bureau que na época financiava1n a maior pa1te de suas atividades.
ofStandards, emite padrões que controlam as compras feitas Quando havia necessidade de u1n padrão (p. ex., um novo
pelo governo dos Estados Unidos, exceto as do Departamen- algorillno de roteamento), os 1ne1nbros do IAB o elabora-
to de Defesa, que tem seus próprios padrões. van1 e, e1n seguida, anunciavam a 1nudança aos estudantes
Outro participante essencial no mundo dos padrões universitários (que eram o núcleo do esforço de software),
é o lEEE (lnstitute of Electrical and Electronics E ogi- de n1odo que pudessem ilnple1nentá-lo. A co1nunicação era
neers), a maior organização profissional do inundo. Além feita por u1na série de relatórios técnicos, chamados RFCs
de publicar u1na série de revistas científicas e pro1nover (Request For Comments). As RFCs são armazenadas on-
diversas conferências a cada ano, o IEEE ten1 u1n grupo -line, e todas as pessoas interessadas podem ter acesso a
que desenvolve padrões nas áreas de engenharia elétrica e elas e1n w111w.ietf org/rfc. Elas são nu1neradas en1 ordem
inforrnática. O comitê 802 do l EEE padronizou vários ti- cronológica de criação, e já são 1nais de 8 nlil. Va1nos nos
pos de LANs. Estudaren1os alguns de seus resultados 1nais referir a muitas RFCs neste livro.
adiante. O trabalho em si é feito por um conjunto de grupos
Por volta de 1989, a Internet havia crescido tanto que
de trabalho, os quais estão listados na Figura l .37. A taxa
esse estilo altamente infonnal não funcionava mais. Mui-
de sucesso dos diversos grupos de trabalho do 802 tem sido
tos fab1icantes estavam oferecendo produtos TCP/TP e não
baixa; ter u1n número 802.x não é garantia de sucesso. To- queria1n 1nudá-los só porque uma dezena de pesquisadores
davia, o impacto das histórias de sucesso (em especial do
acreditava ter uma ideia melhor. No verão de 1989, o IAB
802.3 e do 802.11) no setor e no inundo tem sido enonne.
se reorganizou mais u1na vez. Os pesquisadores se reuni-
ram em tomo da IRTF (Internet Research Task Force),
1.7.4 Quem é quem no mundo que se 11·ansformou e1n uma subsidiária do IAB, junto com
a IETF (Internet Engineering Task Force). O IAB foi no-
dos padrões da Internet vamente ocupado por pessoas que representavam u1na faixa
A Internet mundial te1n seus próprios 1necanismos de pa- 1nais ampla de organizações que a sin1ples con1unidade de
dronização, que são bastante diferentes dos adotados pela pesquisa. Inicialn1ente, os 1ne1nbros do g1upo teriam um
ITU-T e pela ISO. Grosso modo, pode-se dizer que as pes- n1andato indireto de dois anos, sendo os novos 1ne1nbros
soas que participan1 das reuniões de padronização da TTU indicados pelos antigos. Mais tarde foi criada a Internet
ou da TSO se apresentam de paletó e gravata, ao passo que Society, integrada por pessoas interessadas na Internet.
as pessoas que participam das reuniões de padronização na De certa forma, a Interr1et Society pode ser comparada à
Internet usam jeans (exceto quando os encontros são em ACM ou ao IEEE. Ela é achninistrada por conselheiros elei-
locais quentes, quando vestem bermudas e camisetas). tos que, por sua vez, indica1n os me1nbros do IAB.
As reuniões da ITU-T e da ISO são frequentadas por A ideia dessa divisão era fazer a IRTF se concentrar
pessoas ligadas à iniciativa privada e ao governo, cuja espe- em pesquisas em longo prazo, enquanto a IETF lidaria com
cialidade é a padronização. Para essas pessoas, a padroniza- questões de engenharia em curto prazo. A IETF foi dividi-
ção é algo sagrado e a ela dedicam suas vidas. Por sua vez, da e1n grupos de trabalho, e cada un1 deveria resolver u1n
as pessoas ligadas à Tnten1et tên1 uma natureza anárquica. proble1na específico. Os coordenadores desses grupos de
No entanto, com centenas de 1nilhões de pessoas fazendo trabalho inicialmente fonnariam uma espécie de co1nitê ge-
tudo por sua conta, a co1nunicação é prejudicada. Por essa ral para orientar o esforço de engenharia. Entre os assuntos
razão, os padrões - apesar dos pesares - acabam se fazen- estudados estava1n novas aplicações, infonnações para o
do necessários. Nesse contexto, David Clark, do MIT fez o usuário, integração do OSI, roteamento e endereçamento,
Capítulo 1 • Introdução 47

Número Assunto
802.1 Avaliação e arquitetura de LANs
802.2 Controle de enlace lógico
802.3. Ethernet

802.4 t Token bus (barramento de tokens; foi usado por algum tempo em unidades industriais)

802.5 t Token ring (anel de tokens; a entrada da IBM no mundo das LANs)

802.6 t Fila dual barramento dual (primeira rede metropolitana)

802.7 t Grupo técnico consultivo sobre tecnologias de banda larga


802.8 t Grupo técnico consultivo sobre tecnologias de fibra óptica
802.9 t LANs isócronas (para aplicações em tempo real)

802.10 t LANs virtuais e segurança


802.11 • LANs sem fio (WiFi)

802.12 t Prioridade de demanda (AnyLAN da Hewlett-Packard)

802.13 Número relacionado à má sorte. Ninguém o quis


802.14 t Modems a cabo (extinto: um consórcio industrial conseguiu chegar primeiro)
802.15. Redes pessoais (Bluetooth, Zigbee)
802.16 t Banda larga sem fio (WiMAX)

802.17 t Anel de pacote resiliente

802.18 Grupo técnico consultivo sobre questões de regulamentação de rádio


802.19 Grupo técnico consultivo sobre coexistência de todos esses padrões
802.20 Banda larga móvel sem fio (semelhante ao 802.16e)
802.21 Transferência independente do meio (para tecnologias de roaming)
802.22 Rede regional sem fio

Figura 1.37 Os grupos de trabalho 802. Os grupos importantes estão marcados com *. Aqueles marcados com t desistiram
e foram dissolvidos.

segurança, gerenciamento de redes e padrões. Por fim , for- Para os padrões da Web, o World Wide Web C on-
maram-se tantos grupos de trabalho (mais de 70) que foi sortium (W3C) desenvolve protocolos e diretrizes para
necessário agrupá-los em áreas, cujos coordenadores pas- facilitar o crescirnento da Web en1 longo prazo. Esse é um
saram a integrar o comitê geral. consórcio industrial liderado por Tin1 Berners-Lee e es-
Além disso, foi adotado u1n processo de padroniza- tabelecido em 1994, quando a Web realmente começou a
ção mais fo1mal, semelhante aos da ISO. Para se tornar um ganhar força. O W3C agora é composto por quase 500 e1n-
Proposed Standard (padrão proposto), a ideia básica presas, universidades e outras organizações, e já produziu
deve ser explicada em u1na RFC e despertar na comunidade n1ais de l 00 recon1endações do W3C, co1110 são chamados
interesse suficiente para rnerecer algum tipo de considera- seus padrões, abrangendo assuntos como HTML e privaci-
ção. Para chegar ao estágio de Draft Standard (padrão dade na Web.
de r ascunho), urna implementação funcional precisa ser
rigorosamente testada por, no 1níni1no, dois locais indepen-
dentes por pelo menos 4 1neses. Se o IAB for convenci-
do de que a ideia é viável e de que o software funciona, 1.8 QUESTÕES POLÍTICAS,
ele poderá atribuir à RFC em questão o status de Internet LEGAIS E SOCIAIS
Standard (padrão da Internet). Alguns padrões da Inter-
net forarn adotados pelo Departamento de Defesa dos Esta- As redes de co1nputadores, assim como a irnprensa há cer-
dos Unidos (MJL-STD), tomando-se obrigatórios para seus ca de 500 anos, permiten1 que os cidadãos comuns mani-
fornecedores. festem suas opiniões de maneiras que não eram possíveis
48 Redes de computadores

anterionnente. Contudo, junto co1n o lado bo1n ve1n o lado algoritmos de classificação de conteúdo auto1natizados e
ruim, pois essa nova liberdade traz consigo u1na série de baseados em aprendizado de 1náquina ta1nbén1 está levando
questões sociais, políticas e éticas. Nesta seção, vamos alguns defensores a responsabilizar as plataformas de 1ní-
mencionar rapidan1ente algu1nas delas; e1n cada capítulo dia social por u1na gama mais a1npla de conteúdo, uma vez
do livro, mostraremos algu1nas questões políticas, legais que esses algoritmos buscam ser capazes de detectar au-
e sociais específicas, além de questões sociais ligadas a tomaticamente o conteúdo indesejado, desde violações de
tecnologias específicas, onde for necessário. Aqui, vamos direitos autorais até discursos de ódio. Contudo, a realidade
apresentar alguns dos aspectos políticos e sociais de mais é mais complicada, pois esses algoritmos podem gerar fal-
alto nível, que estão agora afetando diversas áreas na tec- sos positivos. Se o algorit1110 de uma plataforn1a classifica
nologia da Internet, como priorização de tráfego, coleta e falsamente o conteúdo como ofensivo ou ilegal e o remove
privacidade dos dados, e controle sobre a livre exposição automaticamente, essa ação pode ser considerada censura
de ideias on-line. ou afronta à liberdade de expressão. Se as leis determinam
que as platafonnas realizem esses tipos de ações automati-
zadas, elas podem estar auton1atizando a censura.
1.8.1 Discurso on-line A indústria de gravação e filmagem costuma defender
Redes sociais, quadros de mensagens, sites de compar- leis que exigem o uso de tecnologias auton1atizadas para
tilhamento de conteúdo e uma série de outTas aplicações moderação de conteúdo. Nos Estados Unidos, esses avisos
pennitem que as pessoas compa1tilhen1 suas ideias co1n são conhecidos con10 notas de demolição DMCA pelo Di-
indivíduos de mesmo pensamento. Desde que os assuntos gital Milleunium Copyright Act, que ameaçam realizar
sejam restritos a assuntos técnicos ou passatempos como ações legais se a parte em questão não ren1over o conteúdo.
jardinagen1, não surgirão muitos problemas. E' importante ressaltar que o ISP ou provedor de conteúdo
Os proble1nas con1eça1n a vir à tona quando as pes- não é responsabilizado por violação de direitos autorais se
soas abordam temas com os quais realmente se preocupam, passar, para a parte que infringiu, o aviso de que o conteúdo
como política, religião ou sexo. Os pontos de vista postados deve ser re1novido. O ISP ou provedor de conteúdo não pre-
podem ser altatnente ofensivos para algu1nas pessoas. Além cisa buscar ativan1ente qualquer conteúdo que viole direitos
disso, as opiniões não estão obrigatoriamente li1nitadas ao autorais - esse ônus recai sobre o detentor dos direitos au-
texto; fotos coloridas de alta resolução e 1nesmo pequenos torais (p. ex., a gravadora ou o produtor do filme). Por ser
vídeos podem ser facilmente compartilhados nessas plata- um desafio encontrar e identificar conteúdo protegido por
formas. Em alguns casos, como na pornografia infantil ou direitos autorais, os detentores desses direitos, compreensi-
incentivo ao te1Torismo, o discurso também pode ser ilegal. vehnente, continuan1 a pressionar por leis que transferem o
A capacidade das nlídias sociais e das chan1adas pla- ônus para os ISPs e provedores de conteúdo.
taformas de conteúdo gerado pelo usuário de atuarem
como canais para a exposição ilegal ou ofensiva de ideias 1.8.2 Neutralidade da rede
levantou questões importantes sobre o papel dessas pla-
taformas na moderação do conteúdo hospedado nelas. Uma das questões legais e políticas mais predominantes nos
Por muito te1npo, plataformas co1no Facebook, Twitter e últimos 15 anos tem sido a extensão à qual os TSPs podem
YouTube tiveram considerável imunidade contra proces- bloquear ou priorizar o conteúdo em suas próprias redes.
sos quando esse tipo de conteúdo é hospedado em seus O argumento de que os ISPs deve1n fornecer a mes1na qua-
sites. Nos Estados Unidos, por exe1nplo, a Seção 230 do lidade de serviço a determinado tipo de tráfego de aplica-
Communications Decency Act protege essas plataformas ção, não importando quem está fornecendo esse conteúdo,
de processos criminais federais caso algum conteúdo ilegal é conhecido co1no neutralidade da rede (Wu, 2003).
seja hospedado em seus sites. Durante 1nuitos anos, essas Os princípios básicos da neutralidade da rede corres-
plataformas de mídia social têm afirmado que são apenas pondem a quatro regras: 1) sem bloqueio; 2) sem repressão;
unia ferramenta de infonnações, semelhante a uma gráfi- 3) sem priorização paga; e 4) transparência sobre práticas
ca, e não devem ser responsabilizadas pelos conteúdos que razoáveis de gerenciamento de rede que possam ser vistas
hospedatn. Entretanto, como elas têm cada vez mais filtra- como violando qualquer uma das três primeiras regras. Ob-
do, priorizado e personalizado o conteúdo que mostram serve que a neutralidade da rede não impede que um TSP
para usuários individuais, o argumento de que esses sites priorize qualquer tráfego. Como vere1nos etn outros ca-
são apenas "plataformas" começou a 1uir. pítulos, em alguns casos pode fazer sentido para um ISP
Tanto nos Estados Unidos quanto na Europa, por priorizar o tráfego em tempo real (p. ex., jogos e videocon-
exemplo, o pêndulo está começando a osci lar, com a ferência) em relação a outro tráfego não interativo (p. ex.,
aprovação de leis que responsabilizariam essas platafor- backup de um arquivo grande). As regras nonnahnente
mas por certos gêneros de conteúdo ilegal on-line, co1no abre1n exceção para tais "práticas razoáveis de gerencia-
aquele relacionado ao tráfico sexual on-line. A ascensão de mento de rede". Naturalmente, pode haver discussão sobre
Capítulo 1 • Introdução 49

o que é tuna prática "razoável" de gerencia1nento de rede. Esse projeto aberto não apenas estin1ulou un1a onda de ino-
O que as regras pretendem evitar são situações em que um vação, mas também tornou a Internet uma plataforn1a para
ISP bloqueia ou restringe o tráfego como uma prática anti- ataques de escala e escopo sem precedentes. Exploraremos
competitiva. Especificamente, as regras têm como objetivo a segurança en1 detalhes no Capítulo 8.
evitar que u1n ISP bloqueie ou restrinja o tráfego VoIP se U1n dos tipos de ataque 1nais prevalentes e danosos
ele competir com sua própria oferta de telefonia pela Inter- é um ataque de negação de serviço distribuído, ou DDoS
net (como ocorreu quando a AT &T bloqueou o FaceTime (Distributed Denial of Service), pelo qual 1nuitas n1áqui-
da Apple) ou quando um serviço de vídeo (p. ex., Netflix) nas na rede enviatn tráfego direcionado à máquina da víti-
concorre co1n seu próprio serviço de vídeo por de1nanda. ma, na tentativa de esgotar seus recursos. Existem muitos
À primeiJ"a vista, embora o princípio da neutralidade tipos diferentes de ataques DDoS, mas sua fonna 1nais si1n-
da rede possa parecer si1nples, as nuances jurídicas e po- ples é aquela em que um grande número de máquinas com-
líticas são significativamente 1nais complicadas, especial- prometidas, às vezes chamadas de botnet, enviam tráfego
mente considerando co1no as leis e as redes diferem entre para uma única vítima. Os ataques DDoS geralmente são
os países. Uma das questões legais nos Estados Unidos diz lançados de máquinas comprometidas de uso geral (p. ex.,
respeito a quem tem autoridade para impor as regras de notebooks e servidores), n1as a proliferação de dispositivos
neutralidade da rede. Por exemplo, várias decisões judiciais loT inseguros agora criou um vetor totalmente novo para
na última década concedera1n e subsequentemente revoga- o lançamento de ataques DDoS. Um ataque coordenado
ram a autoridade da Federal Communications Corrunission
por um 1nilhão de torradeiras inteligentes conectadas à In-
(FCC) para impor regras de neutralidade da rede aos ISPs.
ternet pode derrubar o Google? Infelizmente, grande parte
Grande parte do debate no país gira em tomo de se u1n
da indústria de IoT en1 particular não se preocupa com a
ISP deve ser classificado como um serviço de "operado-
segurança do software e, po1tanto, a defesa contra ataques
ra comu1n'', semelhante a um serviço público, ou se deve
vindos desses dispositivos altamente inseguros atualmente
ser considerado um serviço de informação, nos moldes do
recai sobre as operadoras de rede. Novas estruturas de in-
Google e do Facebook. Como muitas dessas empresas ofe-
rece1n produtos e1n un1 conjtmto cada vez mais diversifica- centivo ou regulatórias podem ser necessárias para desen-
do de mercados, fica cada vez n1ais difícil classificá-las em corajar usuários de conectar dispositivos IoT inseguros à
uma ou outra categoria. Em 11 de junho de 2018, a neutra- rede. De modo geral, muitos problemas de segurança da
lidade da rede foi abolida em todos os Estados Unidos por Internet estão relacionados a incentivos.
orde1n da FCC. No eutanto, alguns estados podeu1 adotar E-mail de spam (ou correio eletrônico indesejado)
suas próprias regras de neutralidade da rede. constitui agora 1nais de 90% de todo o tráfego de e-1nail,
Um tópico que se relaciona à neutralidade da rede e porque os sparnmers coletaram milhões de endereços de
é predon1inante e1n 1nuitos países ao redor do mundo é a e-mail e os aspirantes a profissionais de marketing podem
prática de taxa zero, pela qual um ISP pode cobrar de seus enviar mensagens geradas por computador a u1n baixo
assinantes de acordo com o uso dos dados, mas conceder custo. Felizmente, o software de filtragem é capaz de ler e
uma isenção (ou seja, "taxa zero") para um serviço especí- descartar o spa1n gerado por outros computadores. Os pri-
fico. Por exe1nplo, o ISP pode cobrar de seus assinantes o 111eiros softwares de filtragem de spam dependiam bastante
streaming da Netflix, mas permitir o streaming ilinutado de do conteúdo das mensagens de e-mail para diferenciar o
outros serviços de vídeo que deseja promover. Em alguns spam indesejado de e-mails legítimos, mas os ren1etentes
países, as operadoras de celular usam a taxa zero como di- de spam rapidamente encontraram seu caminho para con-
ferenciador: por exe1nplo, u1na operadora de celular pode tornar esses filtros, já que é relativamente fácil gerar 100
não cobrar pelo uso do WhatsApp co1no un1a pro1noção maneiras de escrever Viagra. Por sua vez, as propriedades
para tentar atrair assinantes de outras operadoras. Outro da 1nensagem de e-mail, cotno o endereço IP do remetente
exen1plo de taxa zero é o serviço básico do Facebook, que e do destinatário, bem como os padrões de envio de e-mail,
concede aos assinantes do JSP acesso gratuito e ili1nitado 1nostram-se úteis para distinguir características 1nuito 1nais
a um pacote de sites e serviços que o Facebook empaco- resistentes à evasão.
ta con10 parte de u1na oferta gratuita. Muitas partes veem Alguns e-n1ails indesejados são simplesmente irritan-
essas ofertas em conflito com a neutralidade da rede, uma tes. Outros, no entanto, pode1n ser tentativas de lançar gol-
vez que oferecem acesso preferencial a alguns serviços e pes em grande escala ou roubar suas informações pessoais,
aplicativos em relação a outros. como senhas ou infonnações de contas bancárias. As n1en-
sagens de phishing se disfarçam como originadas de uma
parte confiável, por exemplo, seu banco, para tentar induzi-
1.8.3 Segurança
-lo a revelar inforn1ações confidenciais, co1no números de
A Internet foi projetada para que qualquer pessoa pudes- cartão de crédito. O roubo de identidade está se tornando
se se conectar facilmente a ela e começar a enviar tráfego. um proble1na sério, pois os ladrões coletam infonnações
50 Redes de computadores

suficientes para obter cartões de crédito e outros documen- Diversas tecnologias, que vão de VPNs a software de
tos em nome da vítima. navegação anônima, co1no o navegador Tor, visam n1elho-
rar a privacidade do usuário ocultando a orige1n do tráfego.
O nível de proteção que cada um desses sistemas oferece
1.8.4 Privacidade
depende das propriedades do siste1na. Por exen1plo, um
A' 1nedida que as redes de computadores e os dispositivos provedor de VPN pode i1npedir que seu ISP veja qualquer
que conectamos a elas se proliferam, fica cada vez mais tráfego de Internet não criptografado, mas a operadora do
fácil para várias partes coletar dados sobre con10 cada um se1viço VPN ainda pode ver o tráfego não criptografado.
de nós utiliza a rede. As redes de co1nputadores facilitam a O Tor pode oferecer urna camada adicional de proteção,
con1unicação, 1nas também permitem que as pessoas que mas sua eficácia é variada, e muitos pesquisadores notaram
administram a rede bisbilhotem o tráfego. Diversas entida- suas fraquezas, principalmente quando uma !'.mica entida-
des pode1n coletar dados sobre o uso da Internet, incluindo de controla grandes partes da infraestrutura. A comunica-
seu provedor de serviços de Internet, sua operadora de tele- ção anônin1a pode oferecer a alunos, funcionários e cida-
fonia móvel, aplicativos, websites, serviços de hospedage1n dãos u1na maneira de denunciar o comportamento ilegal
em nuven1, redes de distribuição de conteúdo, fabricantes sem medo de represálias. Contudo, nos Estados Unidos e
de dispositivos, anunciantes e fornecedores de software de na maioria das outras dernocracias, a lei permite especi-
rastreamento da Web. ficamente a uma pessoa acusada o direito de confrontar e
Outra prática predominante em muitos websites e pro- desafiar seu acusador no tribunal, de fonna que acusações
vedores de aplicativos é traçar perfis e rastrear usuários anônimas não podem ser usadas como prova. Redes de
coletando dados sobre seu comportamento na rede com computadores fazem surgir novos problemas legais quando
o passar do tempo. Urna forma de os anunciantes rastre- interagetn com leis antigas. Uma questão legal continua-
aretn os usuários é colocar pequenos arquivos, cha1na- mente interessante diz respeito ao acesso aos dados. Por
dos cookies, que os navegadores da Web armazenan1 nos exemplo, o que determina se um governo deve ser capaz
computadores desses usuários. Os cookies permiten1 que de acessar dados sobre seus cidadãos? Se os dados residi-
anunciantes e empresas de rastrea1nento acompanhem o rem em outro país, eles estão protegidos contra pesquisa?
cornportarnento de navegação dos usuários e as atividades Se os dados atravessam um país, até que ponto eles fica1n
de u1n site para outro. Nos últimos anos, ta1nbé1n foram sujeitos às leis desses países? A Microsoft enfrentou essas
desenvolvidos mecanismos de rastreamento mais sofisti- questões em um caso da Suprema Corte, em que o gover-
cados, corno a impressão digital do navegador (browser no dos Estados Unidos está tentando obter acesso sobre os
fingerprinting); acontece que a configuração do seu nave- cidadãos norte-americanos em servidores da Microsoft Io-
gador é exclusiva o suficiente para você, de fonna que urna cal izados na Trianda. Nos próxi1nos anos, é provável que a
empresa pode usar o código em sua página Web para extrair natureza "sem fronteiras" da Internet continue a levantar
as configurações do navegador e determinar sua identidade questões na interseção da lei com a tecnologia.
única com grande probabilidade de sucesso. As empresas
que oferecem serviços baseados na Web podem manter
grandes quantidades de informações pessoais sobre seus 1.8.5 Desinformação e "fake news"
usuários, permitindo-lhes estudar diretamente suas ativi-
dades. Por exemplo, se você usa o Gmail, o Google pode A Internet torna possível encontrar infonnações co1n rapi-
ler seu e-mail e 1nostrar propagandas con1 base em seus dez, mas uma grande parte elas é incorreta, enganosa ou to-
interesses. talmente errada. Aquele aconselhamento médico que você
Com a proliferação dos serviços para dispositivos 1nó- conseguiu na Internet sobre sua dor no peito pode ter vindo
veis, a privacidade local também se tomou uma preocupa- de um ganhador do Prêmio Nobel ou de algué1n que aban-
ção cada vez 1naior (Beresford e Stajano, 2003). O fornece- donou os estudos no ensino médio. Cada vez 1nais, há uma
dor do sistema operacional do seu s1nartphone te1n acesso preocupação sobre co1no os cidadãos en1 todo o mundo en-
a informações precisas de localização, incluindo suas co- contram informações sobre notícias e eventos atuais. A elei-
ordenadas geográficas e até mesmo sua altitude, em virtu- ção presidencial de 2016 nos Estados Unidos, por exemplo,
de da leitura feita pelo sensor de pressão barométrica de viu o surgimento das chamadas "fake news", pelas quais
alguns aparelhos. Por exemplo, u1n fornecedor do sistema certos partidos elaboraram explicitamente histórias falsas
operacional Android para sn1artphone, Google, pode de- con1 o objetivo de enganar os leitores e fazê-los acreditar
tenninar seu local exato dentro de um prédio ou shopping nelas. As campanhas de desinformação itnpuseram novos
center, a fim de lhe enviar anúncios com base nas lojas por desafios aos operadores de rede e plataformas. Primeiro,
onde você passa. Operadoras de telefonia móvel também corno definir desinformação em primeiro lugar? Segundo, a
pode1n obter info1Tnações sobre o seu local geográfico de- desinformação pode ser detectada de forma confiável? Por
te1minando a to1Te de celular com que seu smartphone está fim, o que u1n operador de rede ou plataforma deve fazer
se co1nunicando. sobre isso, uma vez que seja detectado?
Capítulo 1 • Introdução 51

1.9 UNIDADES DE MEDIDA 1.10 VISÃO GERAL DOS


Para evitar qualquer confusão, vale a pena declarar expli- PRÓXIMOS CAPÍTULOS
citamente que, neste livro, como na ciência da computa-
Este livro descreve os princípios e a prática em redes de
ção em geral, as unidades do sistema métrico são usadas
computadores. A maioria dos capítulos começa con1 uma
no lugar das unidades inglesas tradicionais. Os principais
discussão dos princípios relevantes, seguida por uma sé-
prefixos de medida estão listados na Figura 1.38. Em geral,
rie de exemplos ilustrativos. Ern geral, esses exemplos são
os prefixos são abreviados por sua letra inicial, cotn as uni-
extraídos da Internet e das redes sern fio, corno a rede de
dades maiores que 1 em maiúsculas (KB, MB, etc.). Urna
telefonia móvel, urna vez que elas são irnportantes e rnuito
exceção (por razões históricas) é a unidade kbps para indi-
diferentes. Serão apresentados outros exemplos quando for
car kilobits/s. Desse 1nodo, un1a linha de comunicação de
relevante.
1 Mbps transmite 106 bits/s e um clock de l 00 psegundos
(ou 100 ps) pulsa a cada I o·'º segundos. Tendo em vista que A estrutura deste livro segue o modelo híbrido da Fi-
os prefixos rnili e rnicro começam arnbos pela letra "rn'', foi gura 1.36. A partir do Capítulo 2, vamos começar a per-
preciso fazer urna escolha. Nonnalmente, "1n" representa correr nosso carninho pela hierarquia de protocolos, co-
mili e"µ" (a letra grega mi) representa micro. n1eçando pela parte inferior. Apresentaremos uma rápida
Também vale a pena assinalar que, para medir tama- análise do processo de comunicação de dados, com siste-
nhos de rnemória, disco, arquivos e bancos de dados, urna mas de transrnissão cabeada e sem fio. Esse material está
prática comum na indústria, as unidades têm significa- voltado para o n1odo corno entregamos informações pelos
dos um pouco diferentes. Nesses casos, kilo significa 210 canais fisicos, apesar de examinarmos apenas sua arquite-
(1.024), em vez de 103 (1.000), porque as memórias sem- tura e deixarmos de lado os aspectos de hardware. Diversos
pre são medidas e1n potências de dois. Desse 1nodo, uma exemplos da camada fisica também são discutidos, como as
memória de 1 KB conté1n 1.024 bytes, e não 1.000 bytes. redes de telefonia pública cornutada, de telefones celulares
Observe também que a letra "B" maiúscula, nesse uso, sig- e a rede de televisão a cabo.
nifica "bytes" (unidades de oito bits), enquanto uma letra Os Capítulos 3 e 4 discutem a camada de enlace de
"b" minúscula significa "bits". De modo sernelhante, uma dados em duas partes. O Capítulo 3 exarnina o problema
memória de 1 MB contém 2 20 (l.048.576) bytes, uma rne- de co1no enviar pacotes por um enlace, incluindo detecção
mória de 1 GB contéin 230 (1.073.741.824) bytes e urn ban- e correção de erros. Examina1nos o DSL (usado para aces-
co de dados de l TB contérn 240 (1.099.511.627.776) bytes. so à Internet de banda larga por linhas telefônicas) como
No entanto, uma linha de comunicação de l kbps transmite um exemplo do mundo real de um protocolo de enlace de
1.000 bits por sef,rundo, e uma LAN de 1O Mbps funcio- dados.
na a 10.000.000 bits/s, porque essas velocidades não são O Capítulo 4 é dedicado à subcamada de acesso ao
potências de dois. Infelizrnente, 1nuitas pessoas tende1n a meio, que faz parte da camada de enlace de dados que lida
misturar esses dois sisternas, especialmente para tamanhos com a questão de como compartilhar un1 canal entre vários
de disco. Para evitar ambiguidade, neste livro usaremos os con1putadores. Os exemplos que examinamos incluem re-
shnbolos KB, MB, GB e TB para 2 , 2 2º, 2 30 e 2 º bytes,
10 4
des sem fio, como 802.11 e LANs com fio, como a Ether-
respectivamente, e os símbolos kbps, Mbps, Gbps e Tbps net clássica. Também discutimos os switches da can1ada de
para 103, 106 , 109 e 10 12 bits/s, respectiva1nente. enlace que conectam as LANs, como a Ethernet comutada.

Exp. Explícita Prefixo Exp. Explícita Prefixo


10- 3 0,001 mili 10 3 1.000 Kilo
10- 5 0,000001 micro 106 1.000.000 Mega
10- 9 0,000000001 nano 109 1.000.000.000 Giga
10-12 0,000000000001 pico 1012 1.000.000.000.000 Tera
1o-15 0,000000000000001 femto 1015 1.000.000.000.000.000 Peta
10-18 0,000000000000000001 atto 1018 1.000.000.000.000.000. 000 Exa
10-21 0,000000000000000000001 zepto 1021 1.000.000.000.ooo.ooo.ooo.ooo Zetta
10-24 0,000000000000000000000001 yocto 1024 1.ooo.ooo.ooo.000.000.000.ooo.ooo Yotta

Figura 1.38 Os principais prefixos de medida.


52 Redes de computadores

O Capítulo 5 trata da camada de rede, em especial o compartilhar infonnações corporativas, normahnente usan-
roteamento. Serão abordados muitos algoritmos de rote- do o modelo cliente-servidor co1n os desktops de funcioná-
amento, tanto estático quanto dinâmico. Todavia, 1nesmo rios atuando co1no clientes que acessam servidores podero-
com bons algoritmos de roteamento, se for oferecido 1nais sos na sala de máquinas. Para as pessoas, as redes oferecem
tráfego do que a rede pode 1nanipular, alguns pacotes sofre- acesso a un1a série de inforn1ações e fontes de entreteni-
rão atrasos ou serão descartados. Discutimos essa questão mento, bem como um modo de co1nprar e vender produtos
desde como impedir o congestionamento até como garantir e serviços. Em geral, as pessoas têm acesso à Internet com
certa qualidade de serviço. A conexão de redes heterogê- a utilização de um telefone ou provedores a cabo em casa,
neas para fom1ar redes interligadas leva a nun1erosos pro- en1bora u1n número cada vez 1naior de pessoas tenha uma
blemas que ta1nbén1 são analisados. A camada de rede na conexão sem fio para notebooks e s1nartphones. Os avanços
Internet recebe uma extensa abordagem. na tecnologia estão permitindo novos tipos de aplicações
O Capítulo 6 é dedicado à camada de transporte. móveis e redes com computadores embutidos em apare-
Grande parte da ênfase é sobre os protocolos orientados a lhos e outros dispositivos do usuário. Os mesmos avanços
conexões e confiabilidade, uma vez que muitas aplicações levanta1n questões sociais, como preocupações acerca de
necessitam deles. Estudare1nos e1n detalhes os protoco- privacidade.
los de transporte da Internet, UDP e TCP, bem como seus De inodo geral, as redes podem ser divididas e1n
problemas de desempenho, especiahnente do TCP, u1n dos LA.Ns, MANs, WANs e internets. As LANs normalmen-
principais protocolos da Internet. te abrangem um prédio e opera1n ern altas velocidades.
O Capítulo 7 é dedicado à ca1nada de aplicação, seus As MANs em geral abrangem u1na cidade, e un1 exen1plo
protocolos e suas aplicações. O pri1neiro tópico é o DNS, é o siste1na de televisão a cabo, que hoje é utilizado por
que é o catálogo telefônico da Internet. En1 seguida, vem o muitas pessoas para acessar a Internet. As WANs abrangem
correio eletrônico, incluindo uma discussão de seus proto- um país ou um continente. Algumas das tecnologias usadas
colos. Depois, passamos para a Web, com descrições deta- para montar essas redes são ponto a ponto (p. ex., u1n cabo),
lhadas de conteúdo estático e dinâmico, e o que acontece enquanto outras são por broadcast (p. ex., as redes se1n fio).
nos lados cliente e servidor. Depois disso, examinamos As redes podem ser interconectadas com roteadores para
multimídia em rede, incluindo streaming de áudio e vídeo. formar internets, das quais a Internet é maior e mais conhe-
Por fim, discutimos as redes de entrega de conteúdo, in- cido exemplo. As redes se1n fio, as LANs 802.11 e a tele-
cluindo a tecnologia peer-to-peer. fonia móvel 4G, também estão se tornando extrema1nente
O Capítulo 8 dedica-se à segurança das redes. Esse populares.
tópico tem aspectos que se relacionam a todas as camadas; O software de rede consiste em protocolos ou regras
assim, é 1nais fácil estudá-los depois que todas as camadas pelas quais os processos se comunicam. A maioria das re-
tiverem sido completamente examinadas. O capítulo co111e- des aceita as hierarquias de protocolos, cotn cada camada
ça com uma introdução à criptografia. Mais adiante, é apre- fornecendo serviços às camadas situadas acima dela e iso-
sentado como a criptografia pode ser usada para garantir a lando-as dos detalhes dos protocolos usados nas camadas
segurança da co1nunicação, do co1reio eletrônico e da Web. inferiores. Em geral, as pilhas de protocolos se baseiam nos
O capítulo termina com uma discussão de algurnas áreas rnodelos OSI ou TCP/IP. Ambos têm camadas de enlace,
em que a segurança atinge a privacidade, a liberdade de ex- rede, transporte e aplicação, mas apresentam diferenças
pressão, a censura e outras questões sociais. nas outras camadas. As questões de projeto inclue1n con-
O Capítulo 9 conté1n un1a lista con1entada de leituras fiabilidade, alocação de recLrrsos, crescimento, segurança e
sugeridas, organizadas por capítulo. Seu objetivo é ajudar outros. Grande parte deste livro lida com protocolos e seu
os leitores que desejam ter mais conhecimentos sobre re- projeto.
des. O capítulo também apresenta uma bibliografia em or- As redes fornecem vários serviços a seus usuários, os
dem alfabética com todas as referências citadas neste livro. quais poden1 variar da entrega de pacotes por 1nelbores es-
Os websites dos autores contêm outras informações forços por serviços não orientados a conexões até a entrega
que podem ser do seu interesse: garantida por serviços orientados a conexões. Em algumas
redes, o serviço não orientado a conexões é fornecido em
https://1-vww.pearsonhighered.co1n/tanenbaun1
uma camada e o serviço orientado a conexões é oferecido
https://co1nputernetworksbook. co1n na camada acima dela.
Entre as redes mais conhecidas estão a Internet, a rede
de telefonia móvel e as LANs 802.11. A Inten1et evoluiu
1.11 RESUMO a partir da ARPANET, à qual fora1n acrescentadas outras
redes para formar u1na rede interligada. A Internet atual é,
As redes de computadores têm iJ1ún1eros usos, tanto por na realidade, un1 conjunto com muitos nJilhares de redes
empresas quanto por indivíduos, tanto em casa quanto em que usam a pilha de protocolos TCP/IP. A rede de telefo-
trânsito. As empresas utilizam redes de con1putadores para nia 1nóvel oferece acesso sem fio e móvel à Internet, em
Capítulo 1 • Introdução 53

velocidades n1útiplas de Mbps e, naturaln1ente, tan1bém servidor está na Califórnia? Suponha que a velocidade de
realiza chan1adas de voz. As LANs sem fio baseadas no pa- propagação em cobre e fibra seja igual a 2/3 da velocidade
drão IEEE 802.11 são implantadas e1n muitas casas, hotéis, da luz no vácuo.
aeroportos e restaurantes, e podem oferecer conectividade 8. Um servidor envia pacotes a um cliente via satélite. Os paco-
em velocidades de 1 Gbps ou mais. As redes se1n fio tan1- tes devem atravessar um ou vários satélites antes de chega-
bén1 estão vendo u1n ele1nento de convergência, conforme re1n ao seu destino. Os satélites usam comutação de pacotes
evidenciado em propostas como LTE-U, que permitiriam store-and-forward, com um te1npo de comutação de 100 µseg.
aos protocolos de rede operar no espectro não licenciado, Se os pacotes percorrerem uma distância total de 29.700 ktn,
ao lado do 802. 11. por quantos satélites os pacotes terão que passar se 1% do
Fazer vários computadores se co1nunicarem exige atraso for causado pela comutação de pacotes?
u1na extensa padronização, tanto de hardware quanto de 9. Um sistema cliente-servidor usa uma rede de satélite, com
software. Organizações co1no ITU-T, ISO, IEEE e IAB ad- o satélite a uma altura de 40.000 km. Qual é o rnaior atraso
ministram partes diferentes do processo de padronização. e1n resposta a uma solicitação?
10. Um sinal viaja a 2/3 da velocidade da luz e leva 100 1nilis-
segundos para chegar ao seu destino. Que distância o sinal
percorreu?
PROBLEMAS 11. Agora que quase todo inundo tem u111 co1nputador domés-
tico ou dispositivo móvel conectado a urna rede de compu-
1. Você estabelece um canal de con1unicação entre dois caste- tadores, será possível realizar referendos públicos instan-
los medievais, permitindo que um corvo treinado carregue tâneos sobre legislações in1portantes pendentes. Em últi1na
repetidamente um pergaminho do castelo que o enviou ao análise, as legislaturas existentes poderia1n ser eli1ninadas,
castelo que o recebe, a 160 kn1 de distância. O corvo voa para permitir que a vontade do povo fosse expressa direta-
a unia velocidade 1nédia de 40 km/h e carrega u1n perga- 1nente. Os aspectos positivos de tal den1ocracia direta são
1ninho de cada vez. Cada perga1ninho contém 1,8 terabytes bastante óbvios; discuta alguns dos aspectos negativos.
de dados. Calcule a taxa de dados deste canal ao enviar (i)
1,8 terabytes de dados; (ii) 3,6 terabytes de dados; (iii) um 12. Um conjunto de cinco roteadores deve ser conectado a uma
fluxo infinito de dados. sub-rede ponto a ponto. Entre cada par de roteadores, os
projetistas pode1n colocar unia linha de alta velocidade,
2. Como parte da lnten1et das Coisas, os dispositivos do dia a
urna linha de média velocidade, u1na linha de baixa velo-
dia estão cada vez 1nais conectados a redes de co1nputado-
cidade ou nenhuma linha. Se forem necessários 50 ms do
res. A IoT faci lita às pessoas, entre outras coisas, n1onitorar
ten1po do co1nputador para gerar e inspecionar cada topo-
seus pertences e o uso dos aparelhos. Mas qualquer tecno-
logia, quanto ten1po será necessário para inspecionar todas
logia pode ser usada tanto para o bem quanto para o 01al.
elas?
Discuta algumas desvantagens dessa tecnologia.
3. As redes sem fio ultrapassara1n as redes con1 fio em popu- 13. Um grupo de 2" - 1 roteadores está interconectado em uma
laridade, en1bora normalmente forneçao1 meoos largura de árvore binária centralizada, co1n urn roteador e1n cada nó da
banda. Indique duas razões pelas quais isso aconteceu. árvore. O roteador i se co1nunica com o roteador j enviando
u1na mensagem para a raiz da árvore. A raiz, então, envia a
4. Em vez de co1nprar seu próprio hardware, pequenas en1-
mensagem de volta para}. Derive tuna expressão aproxin1a-
presas costun1a1n hospedar suas aplicações em centros de
da para o nú1nero médio de saltos por niensage1n para u1n
dados. Discuta as vantagens e desvantagens dessa técnica,
nú1nero n grande, supondo que todos os pares de roteadores
tanto do ponto de vista da en1presa quanto de seus usuários.
são igualn1ente prováveis.
5. Unia alternativa para uma LAN é simples1nente instalar um
J4. U1na desvantagem de uma sub-rede de broadcast é a capaci-
grande siste1na de te1npo co1npartilhado (ti1nesharing) co111
tenninais para todos os usuários. Apresente duas vantagens dade desperdiçada quando há vários hosts tentando acessar
de um sistema cliente-servidor que utilize uma LAN. o canal ao n1es1no tempo. Como um exemplo simples, su-
ponha que o tempo esteja dividido en1 slots discretos, com
6. O desempenho de um sistema cliente-servidor é influen-
cada u1n dos n hosts tentando usar o canal co1n probabilida-
ciado por dois fatores de rede: a largura de banda da rede
de p durante cada slot. Que fração dos slots é desperdiçada
(q uantos bits/sela pode transportar) e a latência (quantos
em consequência das colisões?
segundos o primeiro bit leva para ir do cliente até o servi-
dor). Dê un1 exemplo de uma rede que exibe alta largura de 15. Em redes de co1nputadores e outros siste111as co1nplexos,
banda e alta latência. Depois, dê u1n exemplo de rede co1u o grande número de interações entre seus componentes
baixa largura de banda e baixa latência. rnuitas vezes toma impossível prever co1n muita confian-
7. Um fator que influencia no atraso de u1n sistema de co- ça se e quando coisas ruins acontecerão. Co1no os objeti-
mutação de pacotes store-and-forward é qual o tempo ne- vos de projeto das redes de computadores levain isso em
cessário para arn1azenar e encaminhar um pacote por um consideração?
switch. Se o tempo de comutação é 20 µs, é provável que 16. Explique por que a ca1uada de enlace, a camada de rede e
esse seja um fator importante na resposta de um sistema a camada de transporte precisa1n adicionar informações de
cliente-servidor quando o cliente está e1n Nova Iorque e o orige1n e destino à carga útil (payload).
54 Redes de computadores

17. Combine as ca1nadas - enlace, rede e transporte - co1n 24. Em algumas redes, a ca1nada de enlace de dados trata os
as garantias que cada u1na pode fornecer às camadas erros de trans1nissão solicitando a retranstnissão de quadros
superiores. danificados. Se a probabilidade de u1n quadro estar danifi-
cado é p, qual é o número médio de transmissões necessá-
rias para enviar uni quadro? Suponha que as confirniações
Garantia Camada nunca sejam perdidas.
Entrega pelo melhor esforço Rede 25. Quais das camadas OS! e TCPn P trata1n de cada u1n dos
seguintes:
Entrega confiável Transporte
(a) Dividir o fluxo de bits transmitido em quadros.
Entrega em ordem Transporte (b) Deter1ninar qual rota deve ser usada através da
Abstração de fluxo de bytes Transporte
sub-rede.
26. Se a unidade trocada no nível do enlace de dados é cha-
Abstração de enlace ponto a ponto Enlace de dados mada de quadro e a unidade trocada no nível da rede é
cha1nada de pacote, os quadros encapsula1n os pacotes ou
18. Cada ca1nada de rede interage co1n a ca1nada abaixo dela os pacotes encapsulam os quadros? Explique sua resposta.
usando sua interface. Para cada tuna das funções a seguir, 27. Considere uma hierarquia de protocolos de seis camadas
indique a qual interface ela pertence. em que a camada J é a 1nais baixa e a camada 6 é a mais
alta. U111a aplicação envia uma 1nensagem M, passando-
-a para a caniada 6. Todas as camadas pares anexam u1n
Função Interface término à carga útil (payload) e todas as ca1nadas ímpares
enviar_bits_por_enlace(bits) anexam u1n cabeçalho à carga útil. Desenhe os cabeçalhos,
ténninos e a n1ensagem original M na ordem em que são
enviar_bytes_para_processo(dest, orig, bytes) enviados pela rede.
enviar_bytes_por_enlace(dest, orig, bytes) 28. Uni siste1na teni unia hierarquia de protocolos coni n ca-
madas. As aplicações geram n1ensagens com M bytes de
enviar_bytes_para_máquina{dest, orig, bytes)
comprimento. Em cada uma das camadas é acrescentado
um cabeçalho com h bytes. Que fração da largura de banda
19. Suponha que dois terminais de rede tenham u1n te1npo de da rede é preenchida pelos cabeçalhos?
ida e volta de 100 1nilissegundos e que o renietente trans- 29. Dê cinco exemplos de um dispositivo conectado a duas re-
mita cinco pacotes a cada viagem de ida e volta. Qual serà des ao mesmo te1npo e explique por que isso é útil.
a taxa de transmissão do re1netente para este tempo de ida 30. A sub-rede da Figura l. l 2(b) foi projetada para resistir a
e volta, assumindo pacotes de 1500 bytes? Dê sua resposta uma guerra nuclear. Quantas bombas seriam necessárias
e1n bytes por segundo. para particionar os nós em dois conjuntos desconectados?
20. O presidente da Specialty Paint Corp. resolve trabalhar coni Suponha que qualquer bomba destrua uni nó e todos os
u1na cervejaria local com a finalidade de produzir u1na lata links conectados a ele.
de cerveja invisível ( co1no uma medida para evitar acú1nu- 31. A cada 18 meses, a Internet praticamente dobra de tamanl10.
lo de lixo). Ele pede que o departamento jurídico anal ise Embora ninguém possa dizer com certeza, estima-se que
a questão e este, por sua vez, entra em contato com a em- havia 1 bilhão de hosts em 2018. Utilize esses dados para
presa de engenharia. Co1no resultado, o engenheiro-chefe calcular o nú.1nero previsto de hosts da Internet e1n 2027.
entra en1 contato com o funcionário de cargo equivalente Você acredita nisso? Explique por que sin1 ou por que não.
na cervejaria para discutir os aspectos técnicos do projeto. 32. Quando u1n arquivo é transferido entre dois computadores,
E1n seguida, os engenheiros envia1n um relatório a seus res- duas estratégias de confirniação são possíveis. Na prinieira,
pectivos departan1entos jurídicos, que então discuten1 por o arquivo é dividido e1n pacotes, os quais são confinnados
telefone os aspectos legais. Por fi1n , os presidentes das duas individualmente pelo receptor, mas a transferência do ar-
empresas discute1n as questões financeiras do negócio. Que quivo como um todo não é confirmada. Na segunda, os pa-
princípio de um protocolo multicamadas (com base no mo- cotes não são confirmados individualmente, mas, ao chegar
delo OS!) esse mecanismo de comunicação infringe? a seu destino, o arquivo inteiro é confinnado. Analise essas
21. Duas redes pode1n oferecer um serviço orientado a cone- duas abordagens.
xões bastante confiável. U1na delas oferece un1 fluxo de 33. As operadoras da rede de telefonia 1nóvel precisa1n saber
bytes confiável e a outra, u1n fluxo de mensagens confiável. onde estão localizados os smartphones de seus assinantes
Elas são idênticas? Se foreni, por que se faz essa distinção? (logo, seus usuários). Explique por que isso é ruim para os
Se não, dê um exemplo de como elas diferem. usuários. Agora, dê motivos pelos quais isso é bo1n para
22. O que significa "negociação" e1n u1na discussão sobre pro- eles.
tocolos de rede? Dê um exemplo. 34. Qual era o co1npri1nento de um bit, em 1netros, no padrão
23. Na Figura 1.31, é mostrado um serviço. Há outros serviços 802.3 original? Utilize uma velocidade de trans1nissão de
i1nplícitos nessa figura? E1n caso afirmativo, onde? Caso 1O Mbps e suponha que a velocidade de propagação no
contrário, por que não? cabo coaxial seja igual a 2/3 da velocidade da luz no vácuo.
Capítulo 1 • Introdução 55

35. U1na imagem te1n 3840 x 2160 pixeis com 3 bytes/pixel. 45. O programa ping lhe permite enviar um pacote de teste a
Suponha que a imagem seja descotnpactada. Quanto tempo um dado local e verificar quanto tempo ele de1nora para ir
é necessário para trans1niti-la por u1n canal de n1oden1 de 56 e voltar. Tente usar ping para ver quanto tempo ele dernora
kbps? E por um mode111 a cabo de 1 Mbps? E por u111a rede para trafegar do local em que você está até vários locais
Ethernet de 1OMbps? E pela rede Ethernet de 100 Mbps? E conhecidos. A partir desses dados, represente o te111po em
pela gigabit Ethernet? trânsito de nlão única pela Internet co1no uma função de
36. A Ethernet e as redes se1n fio apresentaa1 algumas se1ne- distância. É melhor usar universidades, uma vez que a
lhanças e algumas diferenças. U1na propriedade da Ethernet localização de seus servidores é conhecida com grande
é de que apenas un1 quadro pode ser trans mitido de cada precisão. Por exe1nplo, berkeley. edu está em Berkeley,
vez en1 uma rede desse tipo. A rede 802. 11 con1partilha essa Califórnia; 111it. edu está em Cambridge, Massachusetts;
propriedade com a Ethernet? Analise sua resposta. vu.nl está em Atnsterdã, Holanda; wwiv.usyd.edu.au está
em Sydney, Austrália; e 1vw1v.uct.ac.za está en1 Cidade do
37. As redes se1n fio são fáceis de instalar, o que as torna ba-
Cabo, África do Sul.
ratas, já que os custos de instalação gerahnente superam os
custos do equipamento. No entanto, elas tambén1 tên1 algu- 46. Vá ao website da lETF, 1v~v1v.ietf.org, para ver o que eles
mas desvantagens. Cite duas delas. estão fazendo. Escolha um projeto de que você goste e es-
creva u1n relatório de meia página sobre o problema e aso-
38. Liste duas vantagens e duas desvantagens da existência de
lução proposta.
padrões internacionais para protocolos de redes.
47. A padronização é muito impo rtante no inundo das redes.
39. Quando um sistema tem u1na parte permanente e uma parte
ITU e ISO são as principais organizações oficiais de padro-
re1novível (como u1na unidade de CD-ROM e o CD-ROM),
nização. Acesse seus respectivos sites, www.itu.org e w1v1v.
é i1nportante que o siste1na seja padronizado, de modo que
iso.org, e descubra sobre seu trabalho de padronização. Es-
empresas diferentes possa1n produzir as partes permanentes
creva um breve relatório sobre os tipos de coisas que eles
e as ren1ovíveis, para que sejan1 compatíveis entre si. Cite
padronizaran1.
três exe1nplos fora da indústria de infonnática em que es-
ses padrões internacionais estão presentes. Agora, cite três 48. A Internet é co1nposta por u1n grande número de redes. Sua
áreas fora da indústria de informática em que eles não estão organização detemlina a topologia da Internet. Uma quanti-
presentes. dade considerável de infonnações sobre a topologia da In-
ternet está disponível on-line. Use u1n mecanis1no de busca
40. A Figura 1.34 mostra vários protocolos diferentes na pilha
para descobrir mais sobre a topologia da Internet e escreva
de rede TCPnP. Ex plique por que pode ser útil ter vários
u1n breve relatório resumindo suas descobertas.
protocolos em uma única can1ada. Dê um exemplo.
49. Pesquise na Internet para descobrir alguns dos pontos de
41. Suponha que os algorittnos usados para implen1entar as
emparelhamento (peering points) importantes, usados
operações na camada k seja1n rnudados. Como isso afeta as
atualmente para o roteamento de pacotes na Internet.
operações nas camadas k - 1 e k + 1?
50. Escreva um progran1a que in1plemente o fluxo de niensa-
42. Suponha que haja urna rnudança no serviço (conjunto de
gens da carnada superior até a camada inferior do modelo
operações) fornecido pela camada k. Como isso afeta os
de protocolo de sete camadas. Seu programa deverá in-
serviços nas carnadas k - 1 e k + 1?
cluir urna fu nção de protocolo separada para cada camada.
43. Descubra como abrir o monitor de rede embutido ern seu Os cabeçalhos de protocolo são sequências de até 64 carac-
navegador. Abra-o e navegue até u1na página web (p. ex., teres. Cada função do protocolo tem dois parãinetros: uma
https://1111-v~v.cs. vu.nll-astl). Quantas solicitações seu nave- rnensagem passada do protocolo da camada rnais alta (un1
gador (cliente) envia ao servidor? Que tipos de sol icitação buffer de caracteres) e o tamanho da mensagem. Essa fu n-
ele envia? Por que essas solicitações são feitas separada- ção conecta seu cabeçalho na frente da 1nensage1n, i1nprime
mente e não como uma única solicitação grande? a nova mensagem na saída padrão e depois chama a função
44. Faça un1a lista de atividades que você pratica todo dia em do protocolo da ca1nada inferior. A entrada do programa é
que são utilizadas redes de cornputadores. u1na rnensage1n vinda da aplicação.
Esta página foi deixada em branco intencionalmente.
A camada física

Neste capítulo, analisaremos a camada mais baixa da hie- 2.1 MEIOS DE TRANSMISSÃO
rarquia em nosso n1odelo de referência, a camada física.
Ela define as interfaces elétrica, de sincronização e outras, GUIADOS
pelas quais os bits são enviados co1no sinais pelos canais.
A camada física é o alicerce sobre o qual a rede é cons- O objetivo da ca1nada física é transmitir um fluxo bruto de
truída. Como as propriedades dos diferentes tipos de ca- bits de tnna máquina para outra. Vários meios físicos po-
nais físicos determinam o desempenho (p. ex., trougbput, dem ser usados para realizar a trans1nissão real. Quase sem-
latência e taxa de erros), este é um botn lugar para corneçar pre, o meio de transn1issão que ocorre por um fio ou cabo
nossa jornada até a "terra das redes". físico é chamado de meio de transmissão guiado, pois as
Inicialmente, discutiremos três meios de transn1issão: trans1nissões de sinal são guiadas ao longo de u1n caminho
guiado ou cabeado (p. ex., fio de cobre, cabo coaxial, fi- por um fio ou cabo. Os rneios de transmissão guiados mais
bra óptica), sern fio (rádio terrestre) e satélite. Cada uma con1uns são o cabo de cobre (na forma de cabo coaxial ou
dessas tecnologias tem diferentes propriedades que afe- par trançado) e a fibra óptica. Cada tipo de 1neio de trans-
tam o projeto e o desempenho das redes que as utilizam. Dlissão guiada tem seu próprio conjunto de desvantagens
Esse material fornecerá informações fundamentais sobre en1 termos de frequência, largura de banda, atraso, custo e
as principais tecnologias de transmissão usadas em redes facilidade de instalação e 1nanutenção. A largura de banda é
modernas. uma métrica da capacidade de transporte de um meio. Ela é
Depois, faremos urna análise teórica da transmissão medida en1 Hz (ou MHz ou GHz) e seu no1ne é uma hon1e-
de dados, apenas para descobrir que a mãe natureza in1- nagem ao flsico ale1nâo Heinrich He1tz. Isso será discutido
põe limites sobre o que pode ser enviado por um canal (ou em detalhes neste capítulo.
seja, um meio de transrnissão físico usado para enviar bits).
Em seguida, abordare1nos a modulação digital, que trata de
2.1.1 Armazenamento persistente
como os sinais analógicos são convertidos em bits digitais
e em sinais novamente. A seguir, examinaremos os esque- Uma das formas mais comuns de transportar dados de um
mas de multiplexação, explorando como várias conversas dispositivo para outro é gravá-los e1n annazena1nento per-
podem ser feitas no mesmo meio de transmissão ao mes1no sistente, como o armazenamento magnético ou em estado
tempo, sem interferir umas com as outras. sólido (p. ex., DVDs graváveis) e transportar fisicamente
Por fim, veremos três exemplos de siste1nas de co- a fita ou os discos para a 1náquina de destino, onde eles
municação usados na prática nas redes de computadores a fmalmente serão lidos. Apesar de não ser tão sofisticado
longas distâncias: o sistema de telefonia (fixa), o siste1na de quanto a utilização de um satélite de comunicação geossín-
telefonia móvel (ou celular) e o sistema de televisão a cabo. crono, esse 1nétodo costuma ser muito n1ais econôn1ico, em
Como os três são muito importantes na prática, dedicare- especial Das aplicações em que a alta largura de banda ou o
mos uma boa quantidade de espaço a cada um. custo por bit transportado é o fator mais i1nportante.
58 Redes de computadores

Un1 cálculo simples esclarecerá essa questão. Uma fita de trans1nissão n1ais antigos e ainda n1ais co111uns é o par
Ultrium de padrão indust1ial pode annazenar 30 terabytes. trançado, que consiste em dois fios de cobre encapados,
Uma caixa de 60 x 60 x 60 cm pode conter cerca de 1.000 em geral com cerca de 1 mm de espessura. Os fios são en-
fitas desse tipo, perfazendo uma capacidade total de 800 te- rolados de fonna helicoidal, assin1 co1no uma molécula de
rabytes, ou 6.400 terabits (6,4 petabits). Uma caixa de fitas DNA. O trançado dos fios é feito porque dois fios paralelos
pode ser entregue e1n qualquer parte dos Estados Unidos formam uma antena sitnples. Quando os fios são trança-
em 24 horas pelo serviço de Sedex dos Correios, pela Fede- dos, as ondas de diferentes partes dos fios se cancelam, o
ral Expresse por outras transportadoras. A largura de banda que significa menor interferência. U1n sinal nonnalmente é
efetiva dessa transmissão é de 6.400 terabits/86.400 s, ou transportado a partir da diferença das tensões terminais (di-
um pouco 1nais de 70 Gbps. Se o destino estiver a apenas ferença de potencial - ddp) entre os dois fios no par. Essa
uma hora de distância, a largura de banda será a1npliada trans1nissão do sinal como a diferença entre os dois níveis
para mais de 1.700 Gbps. Nenhuma rede de computado- de tensão, em vez de uma tensão absoluta, oferece melhor
res consegue nem mesmo se aproximar desse desempenho. in1unidade ao ruído externo, pois o ruído tende a afetar a
Logicamente, as redes estão ficando mais rápidas, mas as tensão trafegando pelos dois fios da 111esma fonna, 111anten-
densidades das fitas ta1nbé1n estão au111entando. do a ddp relativamente inalterada.
Se considerarrnos o custo, obtere1nos um quadro se- A aplicação 111ais comum do par trançado é o sistema
melhante. O custo de uma fita Ultriu111 é de aproxin1ada- telefônico. Quase todos os telefones estão conectados à es-
mente US$ 40 quando a compra é feita no atacado. Un1a
tação central da co111panhia telefônica por u111 par trançado.
fita pode ser reutilizada pelo menos 10 vezes. Portanto, o
Tanto as chamadas telefônicas quanto o acesso à Internet
custo das fitas passa a ser US$ 4.000 por caixa, para cada
por ADSL utilizam essas linhas. Os pares trançados podem
utilização. Adicione a esse montante mais US$ L.000 pelo
se estender por diversos quilômetros sem amplificação,
frete (provavelmente muito menos) e teremos um custo
mas, quando se trata de distâncias 111ais longas, o sinal é
final aproxi111ado de US$ 5.000 para transportar 800 TB.
atenuado e existe a necessidade de repetidores. Quando
Consequentemente, para transportar 1 gigabyte, gastaremos
1nuitos pares trançados percorrem paralelamente uma dis-
pouco 1nais de 1neio centavo de dólar. Nenhuma rede pode
tância muito grande, como acontece na ligação entre um
competir com esses valores. Moral da história:
prédio e a estação central da co1npanhia telefônica, eles são
Nun ca subestilne a largura de banda de uma cami- reunidos e envolvidos por uma capa protetora. Se não esti-
nhonete cheia de.fitas "voando " na estrada. vessem trançados, esses pares provocaria1n muitas interfe-
rências. E111 locais onde as linhas telefônicas são instaladas
Para 111over quantidades de dados niuito grandes, ge-
en1 postes, é comum vermos cabos de pares trançados com
ralmente essa é a 111elhor solução. A Amazon te1n o que
vários centímetros de diâmetro.
chama de "Snowmobile", que é um grande caminhão cheio
de milhares de discos rígidos, todos conectados a un1a rede Os pares trançados podem ser usados na transmissão
de alta velocidade dentro do caminhão. A capacidade total de sinais analógicos ou digitais. A largw·a de banda depen-
do caminhão é de 100 PB ( 100.000 TB ou 100 milhões de de da espessura do fio e da distância percorrida, 111as, em
GB). Quando uma empresa tem uma grande quantidade de n1uitos casos, é possível alcançar diversos n1egabits/s por
dados para 1nover, ela pode levar o caminhão às suas insta- alguns quilômetros, e mais do que isso quando são usados
lações e se conectar à rede de fibra óptica da empresa e, em alguns truques. Em virtude do dese1npenho adequado, da
seguida, sugar todos os dados para o caminhão. Feito isso, grande disponibilidade e do baixo custo, os pares trançados
o caminhão se dirige para outro local e despeja todos os são usados e1n larga escala e é provável que pennaneça.1n
dados. Por exemplo, uma e111presa que deseja substituir seu
. ..
assim nos prox1mos anos.
próprio centro de dados completo pela nuvem da Amazon O cabeamento de par trançado pode ser de vários ti-
pode estar interessada nesse serviço. Para enormes volu- pos. A variedade mais comum empregada em muitos pré-
mes de dados, nenhum outro método de transporte de dados dios é chamada cabeamento de Categoria Se, ou "Cat Se".
pode se aproximar disso. Um par trançado de Categoria Se consiste em dois fios iso-
lados e leve1nente trançados. Quatro pares desse tipo nor-
malmente são agrupados e1n uma capa plástica para prote-
2.1.2 Pares trançados ger os fios e mantê-los juntos. Esse arranjo pode ser visto
Embora as características de largura de banda do armaze- na Figura 2.1 .
nan1ento persistente seja1n excelentes, os aspectos de atraso Diferentes padrões de LAN podem usar os pares
são ruins. O tempo de transmissão é medido em horas ou trançados de formas distintas. Por exen1plo, a Ethernet de
dias, e não en1 milissegundos. Muitas aplicações, incluin- l 00 Mbps usa dois (dos quatro) pares, um para cada di-
do a Web, videoconferência e jogos on-line, conta1n com reção. Para alcançar velocidades mais altas, a Ethernet
a trans1nissão de dados com pouco atraso. Um dos meios de 1 Gbps usa todos os quatro pares nas duas direções
Capítulo 2 • A camada física 59

Até a Categoria 6, esses tipos de fios são conhecidos


Par trançado ----..... con10 par trançado não blindado, ou UTP (Unshielded
Twisted Pair), pois consistem simplesmente em fios e iso-
la1nento. Ao contrário, os cabos de Categoria 7 possuem
uma blindagem nos pares de fios individuais e tan1bén1 ao
redor do cabo inteiro (mas dentro da capa plástica proteto-

Figura 2.1
.. >

Cabo UTP Categoria 5e com quatro pares


- ra). A blindagem reduz a suscetibilidade à interferência ex-
terna e linha cruzada com outros cabos vizinhos, atendendo
às especificações de desempenho exigidas. Os cabos são
trançados. Estes cabos podem ser usados para redes locais reminiscências dos cabos de pares trançados blindados de
(LANs). alta qualidade, porém grossos e caros, que a IBM introdu-
ziu no início da década de 1980, mas que não se tornaram
populares fora das instalações da e1npresa. Evidentemente,
simultanearnente; isso requer que o receptor decomponha o é hora de tentar novamente.
sinal que é transmitido localn1ente.
Neste ponto, devemos explicar alguma terminologia
geral. Os en laces que podem ser usados nos dois sentidos 2.1.3 Cabo coaxial
ao mesrno tempo, corno urna estrada de rnão dupla, são cha- Outro 1neio de transmissão comum é o cabo coaxial (co-
mados enlaces full-duplex. Ao contrário, os que são usados nhecido por muitos apenas con10 "coax"). Ele tem melhor
em qualquer sentido, mas apenas um de cada vez, corno blindagem e maior largura de banda que os pares trança-
utna linha férrea de trilho único, são chamados enlaces dos e, assim, pode se estender por distâncias tnais longas
half-duplex. Urna terceira categoria consiste e1n enlaces em velocidades n1ais altas. Dois tipos de cabo coaxial são
que pennitern o tráfego ern apenas urna direção, como uma amplamente utilizados. Um deles, o cabo de 50 ohms, é
rua de 1não única, chan1ados enlaces simplex. con1umente empregado nas transmissões digitais. O ou-
Retornando ao par trançado, os cabos Cat 5 substituí- tro tipo, o cabo de 75 ohms, é usado com frequência nas
ran1 os cabos Categoria 3 mais antigos co1n u1n cabo sen1e- transmissões analógicas e de televisão a cabo. Essa dis-
lhante que usa o 1nes1no conector, porém con1 mais voltas tinção se baseia mais em fatores históricos do que téc-
por metro. Mais voltas resultarn em menos interferências e nicos (p. ex., as primeiras antenas dipolo tinham uma
ern urn si nal de melhor qualidade por distâncias .maiores, in1pedância de 300 ohms e era fácil desenvolver transfor-
tornando os cabos mais adequados para a comunicação de rnadores de casamento de impedância de 4: 1). Começan-
computador de alta velocidade, especialmente LANs Ether- do ern n1eados da década de 1990, as operadoras de TV
net de 100 Mbps e 1 Gbps. a cabo começaram a oferecer acesso à Internet por cabo,
Os fios n1ais novos provavehnente serão de Catego- o que tornou o cabo de 75 ohms 1nais importante para a
ria 6 ou mesmo de Categoria 7, as quais têm especifi- comunicação de dados.
cações mais rígidas para lidar co1n sinais de larguras de U1n cabo coaxial consiste em um fio de cobre esticado
banda maiores. Alguns cabos na Categoria 6 e superiores na parte central, protegido por um material isolante. O iso-
podern aceitar os en laces de 1O Gbps que agora são co- lante é envolvido por um condutor cilíndrico, geralmente
n1uns ern 1nuitas redes, como em novos prédios co1ner- como urna malha sól ida entrelaçada. O condutor externo
ciais. Os fios de Categoria 8 trabalham com velocidades é coberto por u1na camada plástica protetora. A Figura 2.2
maiores que as categorias inferiores, mas operam somente apresenta urna vista de corte de um cabo coaxial.
a cu11as distâncias, em torno de 30 1n, e portanto são ade- A construção e a blindagen1 do cabo coaxial propor-
quados apenas dentro dos centros de dados. O padrão de ciona1n a ele uma boa combinação de alta largura de ban-
Categoria 8 tem duas opções: Classe 1, que é cornpatível da e excelente i1nunidade ao ruído (p. ex., contra controles
co1n a Categoria 6A, e Classe II, que é co1npatível con1 a de porta de garagem e fon1os de n1icro-ondas). A largura
Categoria 7A. de banda possível depende da qualidade e do tamanho do

Núcleo Material Condutor Capa


de cobre isolante externo plástica
em malha protetora
\

Figura 2.2 Um cabo coaxial.


60 Redes de computadores

cabo. O cabo coaxial possui largura de banda extre1narnen- eficiente. Os sinais elétricos são enviados a 50-60 Hz e a
te alta; os cabos modernos têm un1a largura de banda de fiação atenua os sinais de freq uência muito 1nais alta (MHz)
até 6 GHz, permitindo, assim, que muitas conversas sejam necessários para a comunicação de dados de alto nível.
transmitidas silnultanea1nente por um único cabo coaxial As propriedades eléh·icas da fiação variam de urna casa
(um único programa de televisão poderia ocupar aproxin1a- para outra e 1nudam à medida que os aparelhos são liga-
dan1ente 3,5 MHz). Os cabos coaxiais eram muito usados dos e desligados, fazendo os sinais de dados oscilarem pela
no sistema telefônico para linhas de longa distância, mas fiação. As correntes transitórias quando os aparelhos são li-
agora estão sendo substituídos por fibras ópticas nessas gados e desligados criam ruído por uma grande faixa de fre-
rotas. Poré1n, eles ainda são usados en1 larga escala pelas quências. Sem o trançado cuidadoso dos pares trançados, a
redes de televisão a cabo e em redes inetropolitanas, alén1 fiação elétrica atua con10 uma boa antena, apanhando sinais
da conectividade com a Internet de alta velocidade para re- externos e emitindo sinais próprios. Esse comporta1nento
sidências em muitas partes do mundo. significa que, para atender aos requisitos da regulamenta-
ção, o sinal de dados precisa excluir frequências licencia-
das, corno as faixas de radioan1ador.
2.1.4 Linhas de energia elétrica Apesar dessas dificuldades, é possível enviar pelo
As redes de telefonia e de televisão a cabo não são as únicas menos 500 Mbps pela fiação elétrica doméstica usando es-
fontes de fiação que podem ser reutilizadas para a con1uni- que1nas de comunicação que resistem às frequências co1n-
cação de dados. Há u1n outro tipo de fiação ainda mais co- prometidas e às sucessões de erros. Muitos produtos usam
mum: as linhas de energia elétrica. Estas oferecem energia diversos padrões próprios para as redes de energia elétrica,
elétrica às casas, e a fiação elétrica dentro das casas distri- de modo que há padrões em desenvolvimento ativo.
bui a energia às tomadas elétricas.
O uso das linhas de energia elétrica para comunicação
de dados é u1na ideia antiga. Elas têm sido usadas pelas
2.1.5 Fibra óptica
companhias de eletricidade para a comunicação de baixo Muitas pessoas na indústria de informática se orgulham da
nível há muitos anos, como para fazer 1nedição re1nota e rapidez com que a tecnologia usada nos cornputadores vem
controlar dispositivos em casa (p. ex., o padrão X l 0). Nos n1elhorando, conforme a lei de Moore, que prevê a dupli-
últimos anos, tem havido un1 interesse renovado na co1nu- cação do número de transistores por chip a cada dois anos
nicação de alto nível por essas linhas, tanto dentro de casa, aproximadamente (Kuszyk e Hammoudeh, 2018). O IBM
como uma LAN, quanto fora dela, para o acesso de banda PC original (de 1981) funcionava com uma velocidade de
larga à Internet. Va1nos nos concentrar no cenário mais co- clock de 4,77 MHz; 40 anos depois, os PCs podiam usar
mum: usar fios elétricos dentro de casa. un1a CPU de quatro núcleos a 3 GHz. Esse au1nento é um
A conveniência de usar linhas de energia para a rede ganho de fator em tomo de 2.500. Impressionante.
de dados deve ser clara. Basta conectar urna TV e u1n recep- No rnesrno período, enlaces de comunicação remotos
tor na parede, o que você precisa fazer de qualquer forma, passaram de 45 Mbps (utna linha T3 no sistema telefôni-
pois ele precisa de energia, e ele poderá enviar e receber co) para 100 Gbps (u1na linha rnode111a de longa distância).
fihnes pela fiação elétrica. Essa configuração pode ser vista Esse ganho também é impressionante, um fator de n1ais de
na Figura 2.3. Não há outro conector ou rádio. O sinal de 2.000, enquanto, no mesmo período, a taxa de erros passou
dados é sobreposto ao sinal de baixa frequência (ou no fio de 10-5 por bit para quase zero. Na última década, as CPUs
ativo, ou "quente"), enquanto os dois sinais usam a fiação isoladas se aproximaram dos li1nites físicos, rnotivo pelo
ao mesn10 te1npo. qual agora é o nún1ero de CPUs que está sendo aumentado
A dificuldade em usar a fiação elétrica do1niciliar por chip. Por sua vez, a largura de banda alcançável co1n
como utna rede é que ela foi projetada para distribuir ener- a tecnologia de fibra óptica pode ultrapassar a casa dos
gia elétrica. Essa tarefa é muito diferente de distribuir si- 50.000 Gbps (50 Tbps) e nem estamos perto de alcançar
nais de dados, algo para o qual a fiação do1néstica é pouco esses lin1ites. O lin1ite prático atual é de cerca de l 00 Gbps,

- - - - Sinal de dados

...
"'----- Sinal de energia

Figura 2.3 Rede de dados que usa a fiação elétrica domiciliar.


Capítulo 2 • A camada fís ica 61

em razão de nossa incapacidade de realizar a conversão en- ele. Conectando u1na fonte de luz e1n uma ponta de uma
tre sinais elétricos e ópticos em uma velocidade maior. Para fibra óptica e um detector na outra, temos um sistema de
criar enlaces de 1naior capacidade, muitos canais simples- transmissão de dados unidirecional (i.e., simplex) que acei-
mente corre1n em paralelo por uma única fibra. ta um sinal elétrico, o converte e o transmite por pulsos de
Nesta seção, estudaremos a fibra óptica para descobrir luz, para depois novan1ente converter a saída para um sinal
con10 funciona essa tecnologia de transmissão. Na corrida elétrico na ponta receptora.
entre informática e comunicação, esta pode ganhar em vir- Esse sistema de transmissão perderia luz para o n1eio
tude das redes de fibra óptica. As implicações reais disso e seria inútil na prática se não fosse por um princípio inte-
seriam essencialmente largura de banda infinita e u1na nova ressante da física. Quando um raio de luz passa de um n1eio
premissa de que os computadores são terrivelmente lentos para outro - por exemplo, de sílica fundida para o ar - , o
e, por essa razão, as redes deveria1n tentar evitar a compu- raio é refratado (inclinado) no limite sílica/ar, como mostra
tação a todo custo, independentemente do desperdício de a Figura 2.4(a). Aqui, vemos um raio de luz incidindo no li-
largura de banda que isso signifique. Essa mudança levará mite em u1n ângulo o: 1 emergindo em um ângulo /31• A quan-
algwn tempo para entrar na cabeça de uma geração de cien- tidade de refração depende das propriedades dos dois 1neios
tistas da computação e engenheiros ensinados a pensar em (em particular, seus índices de refração). Para ângulos de
termos dos baixos limites de transmissão impostos pelos incidência acima de um certo valor crítico, a luz é refratada
fios de cobre. de volta para a sílica; nada escapa para o ar. Assim, um raio
Naturahnente, esse cenário não diz tudo, pois não in- de luz incidente e1n um ângulo crítico ou acima é intercep-
clui custos. O custo para instalar fibra até chegar aos con- tado dentro da fibra, como mostra a Figura 2.4(b), e pode se
sumidores, evitando a baixa largura de banda dos fios e a propagar por muitos quilôn1etros praticamente sem perdas.
disponibilidade limitada de espectro, é muito alto. A ener- O exemplo da Figura 2.4(b) mostra apenas um raio
gia para a movimentação de bits também custa mais que a interceptado, 1nas, como qualquer raio de luz incidente no
energia para sua computação. Sempre podemos ter ilhas de li1nite acima do ângulo crítico será refletido inten1amente,
injustiça, onde a computação ou a comunicação é basica- muitos raios distintos estarão ricocheteando em diferentes
mente gratuita. Por exemplo, na borda da Internet, usamos ângulos. Dizemos que cada raio tem um modo específico;
computação e armazenatnento para o problema de compac- assim, uma fibra que apresenta essa propriedade é chamada
tação e caching de conteúdo, tudo para fazer melhor uso de fibra multimodo. Se o diâ1netro da fibra for reduzido a
dos enlaces de acesso à Inten1et. Dentro da Internet, pode- alguns compri1nentos de onda de luz (1nenos de 1O micra,
mos fazer o contrário, com empresas como o Google mo- ao contrário de mais de 50 micra para a fibra multimodo),
vendo grandes quantidades de dados pela rede até onde for a fibra agirá como um guia de onda e a luz só poderá se
mais barato ar1nazená-los ou computá-los. propagar em linha reta, se1n ricochetear, produzindo, assim,
A fibra óptica é usada para transmissão por longa uma fibra de modo único ou fibra monomodo. As fibras
distância nos backbones da rede, LANs de alta velocida- de modo único são mais caras, 1nas são a1nplamente uti-
de (e1nbora, até aqui, o cobre sempre tenha conseguido lizadas em distâncias mais longas; elas podem transmitir
acompanhar) e acesso à Internet e1n alta velocidade, como sinais para distâncias aproximadamente 50 vezes maiores
FTTH (Fiber to the Home). Um siste1na de transmissão que as fibras 1nultimodo. As fibras de 1nodo único disponí-
óptico te1n três co1nponentes-chave: a fonte de luz, o 1neio veis no nlomento poden1 trans1nitir dados a 100 Gbps por
de trans1nissão e o detector. Convencionaln1ente, um pulso 100 km sem amplificação. Fora1n obtidas taxas de dados
de luz indica u.m bit 1 e a ausência de luz indica um bit ainda mais altas em laboratório, para distâncias mais cuttas.
O. O meio de transmissão é uma fibra de vidro ultrafina. A decisão entre o uso de fibra 1nonomodo ou multimodo
O detector gera um pulso elétrico quando a luz incide sobre depende da aplicação. A fibra multin1odo pode ser usada

Ar
Limite
ar/sílica 131

""
Sílica Fonte de luz

(a) (b)

Figura 2.4 (a) Três exemplos de um raio de luz dentro de uma fibra de sílica incidindo no limite fronteira ar/sílica em diferen-
tes ângulos. (b) A luz interceptada pela reflexão total interna.
62 Redes de computadores

para trans1nissões de até cerca de 15 km e pen11itir o uso A comunicação óptica comumente utiliza três ban-
de equipamento de fibra óptica relativa1nente mais barato. das de comprimentos de onda. Elas são centralizadas em
Contudo, a largura de banda da fibra multimodo torna-se 0,85, 1,30 e 1,55 micra, respectivamente. As três bandas
mais lin1itada com o aumento da distância. têm entre 25.000 e 30.000 GHz de largura. A banda de
0,85 mícron foi usada primeiro. Ela tem maior atenuação
Transmissão de luz na fibra e, por isso, é usada para distâncias n1ais curtas, n1as, nesse
compritnento de onda, os lasers e os circuitos eletrônicos
As fibras ópticas são feitas de vidro, que, por sua vez, é podem ser produzidos a partir do mesmo material (arseneto
produzido a partir da areia, un1a matéria-pri1na abundante de gálio). As duas últin1as bandas tê1n boas propriedades
e de baixo custo. Os antigos egípcios já dominavan1 a ma- de atenuação (uma perda inferior a 5% por quilômetro).
nufatura do vidro, 1nas o material produzido por eles não A banda de 1,55 mícron agora é muito utilizada con1 am-
podia ter mais de 1 mm de espessura para que a luz pu- plificadores dopados con1 érbio, que atuam diretamente no
desse ah·avessá-lo. O vidro transparente usado nas janelas domínio óptico.
foi desenvolvido durante a Renascença. O vidro usado nas Os pulsos de luz enviados através de uma fibra se
modernas fibras ópticas é tão transparente que se, em vez expandem à medida que se propagam. Essa expansão é
de água, os oceanos fosse1n cheios desse tipo de 1naterial, chamada dispersão cromática. O volume da dispersão
seria possível ver o fundo do mar da superfície, da n1esma depende do compri1nento de onda. Uma forma de i1npedir
forma que é possível ver o solo quando voa1nos de avião que esses pulsos dispersos se sobreponham é au1nentar a
em u1n dia claro. distância entre eles, mas isso só pode ser feito reduzindo-se
A atenuação de luz através do vidro depende do com- a taxa de sinalização. Felizmente, descobriu-se que, quando
pri1nento de onda da luz (bem con10 de algu1nas proprie- os pulsos são produzidos em uma forma especial relaciona-
dades fisicas do vidro). Ela é definida como a razão da da ao recíproco do cosseno hiperbólico, praticamente todos
potência do sinal de entrada e saída. Para o tipo de vidro os efeitos de dispersão são cancelados e é possível enviar
usado nas fibras, a atenuação é mostrada na Figura 2.5, em pulsos por milhares de quilômetros sem que haja uma dis-
decibéis (dB) por quilô1netro linear de fibra. Por exen1plo, torção significativa. Esses pulsos são chamados sólitons.
quando o fator de potência é igual a dois, obtemos un1a ate- Eles estão começando a ser inuito utilizados na prática.
nuação de 1O log,0 2 = 3 dB. Discutiremos sobre decibéis
mais adiante. Resu1nindo, essa é uma forma logarítmica de
medir as taxas de potência, com 3 dB significando um fator
Cabos de fibra
de potência de dois. A figura mosh·a a parte do infravem1e- Os cabos de fibra óptica são se1nelhantes aos cabos coaxiais,
lho do espectro que, na prática, é a utilizada. A luz visível exceto por não terem a malha metálica. A Figura 2.6(a)
tem comprimentos de onda ligeiramente mais curtos, que mostra a vista lateral de un1a única fibra. No centro fica
variam de 0,4 a O,7 mícron ( 1 mícron é igual a 1o-6 m). o núcleo de vidro através do qual a luz se propaga. Nas
Na verdade, esses comprimentos de onda seriam de 400 nm fibras multimodo, o núcleo normalmente tem 50 micra
a 700 nm, n1as 1nantere1nos a nomenclatura tradicional. de diâ1netro, o que corresponde à espessura de u1n fio de

Banda de Banda de Banda de


2,0 0,85µ 1,30µ 1,55µ
1
1,8 1
1
1,6 1
~ 1
E 1
..... 1,4
..><: 1
1
CD
"O 1
~ 1,2 1
o 1
""°"
l'Cl
:J
1,0 1
1
e(IJ 0,8 1 1
< 0,6
1
1
1
1
1 1
1 1
0,4 1 1
1 1 1
0,2 1 1 1 1
1 1 1 1
1 1 1 1
o 0,8 0,9 1,0 1,1 1,2 1,3 1,4 1,5 1,6 1, 7 1,8
Comprimento de onda (micra)

Figura 2.5 Atenuação da luz na fibra, na região do infravermelho.


Capítulo 2 • A camada física 63

Revestimento ........_ Cobertura


externo
Núcleo
(vidro)

\
Revestimento Cobertura
interno (vidro) (plástico) Núcleo Revestimento
interno
(a) (b)

Figura 2.6 {a) Vista lateral de uma única fibra. (b) Vista da extremidade de um cabo com três fibras.

cabelo humano. Nas fibras de modo único, o núcleo tem sólida. A união por fusão é quase tão boa quanto uma fibra
entre 8 e l O1nicra. sen1 emendas; no entanto, mesrno nesse caso, há uma pe-
O núcleo é envolvido por u1n revestin1ento de vidro quena atenuação. Nos três tipos de uniões pode1n ocorrer
co1n um índice de refração inferior ao do núcleo, para 1nanter reflexões no ponto de junção, e a energia refletida pode
toda a luz nele. Em seguida, há uma cobertura de plástico interferir no sinal.
fino para proteger o revestimento interno. Geralmente, as fi- Dois tipos de fontes de luz geralmente são usa-
bras são agrupadas em feixes, protegidas por u1n revestimen- dos para fazer a sinalização: os diodos etnissores de luz
to externo. A Figura 2.6(b) 1nostra um cabo co1n três fibras. (Light E1nitting Diodes, ou LEDs ) e os lasers semicon-
Normaln1ente, os cabos de fibra terrestres são coloca- dutores. Eles tê1n diferentes propriedades, co1no n1ostra a
dos no solo a um metro da superficie, onde ocasionalmente Figura 2. 7. O cornprimento de onda desses elementos pode
são atacados por retroescavadeiras ou roedores. Próxitno ser ajustado pela inserção de i.nterferômetros de Fabry-Pe-
ao litoral, cabos de fibra transoceânicos são enterrados em rot ou Mach-Zehnder entre a fonte e a fibra. Os interferô-
trincheiras por uma espécie de arado 1narítimo. E1n águas n1etros de Fabry-Perot são cavidades ressonantes simples
profundas, eles são depositados no fundo , onde podem ser que consistem em dois espelhos paralelos. A luz incide per-
arrastados por redes de pesca ou comidos por lulas gigantes. pendicularmente aos espelhos. O comprimento da cavidade
As fibras podetn estar conectadas de três maneiras filtra os compriJnentos de onda que cabetn etn u1n nú1nero
diferentes. Prin1eiro, elas podem ter conectores e1n suas inteiro de períodos. Os interferômetros de Mach-Zehnder
extremidades e sere1n plugadas em soquetes de fibra. separa1n a luz em dois feixes, os quais percorrem distâncias
Os conectores perdem de 10 a 20o/o da luz, 1nas facilitam ligeiran1ente diferentes e são recombinados no destino, fi-
a reconfiguração dos siste1nas. Segundo, elas podem ser cando em fase para certos comprimentos de onda.
unidas mecanica1nente. Nesse caso, as duas extre1nida- A extre1nidade de recepção de un1a fibra óptica con-
des são cuidadosa1nente colocadas uma perto da outra e1n siste em um fotodiodo, que emite u1n pulso elétrico ao ser
u1na luva especial e fixadas no lugar. O alinhan1ento pode atingido pela luz. O tempo de resposta de um fotodiodo,
ser melhorado fazendo-se a luz passar pela junção e, em que converte o sinal do do1nínio óptico para o elétrico, limi-
seguida, rea lizando-se pequenos ajustes cuja finalidade é ta as taxas de dados a cerca de 100 Gbps. O ruído térmico
maxi1nizar o sinal. As junções n1ecânicas são realizadas também é in1portante, de modo que un1 pulso de luz deve
em cerca de 5 minutos por uma equipe treinada e resul- conduzir energia suficiente para ser detectado. Com pulsos
tam em un1a perda de 10°/o da luz. Terceiro, duas peças de de potência suficiente, a taxa de erros pode se tomar muito
fibra podem ser fundidas de tnodo a fonnar uma conexão pequena.

Item LED Laser semicondutor


Taxa de dados Baixa Alta
Tipo de fibra Multimodo Multimodo ou modo único
Distância Curta Longa
Vida útil Longa Curta
Sensibilidade à temperatura Insignificante Substancial

Custo Baixo Alto

Figura 2.7 Uma comparação entre laser semicondutor e LEDs utilizados como fontes de luz.
64 Redes de computadores

Comparação entre fibras ópticas e fios de cobre Nas próximas seções, examinaremos os conceitos bá-
sicos da comunicação sem fio em geral, pois ela tem muitas
É instrutivo comparar a fibra com o cobre. A fibra tem mui- outras aplicações importantes além de oferecer conectivi-
tas vantagens. Para começar, ela pode gerenciar larguras dade aos usuários que desejam navegar na Web enquanto
de banda 1nuito 1nais altas do que o cobre. Essa caracte- estão na praia. Existem algumas outras circunstâncias e1n
rística sozinha já justificaria seu uso nas redes de última que a comunicação sem fio apresenta vantagens até mes-
geração. Em razão da baixa atenuação, os repetidores só mo para dispositivos fixos. Por exemplo, quando há difi-
são necessários a cada 50 km de distância em linhas longas, culdades para instalar cabos de fibra óptica em um prédio,
em comparação con1 a distância de 5 km no caso do cobre, por causa de acidentes geográficos (1nontanhas, florestas,
resultando e1n u1na economia de custo signjficativa. A fibra pântanos, etc.), a tecnologia de transmissão sem fio pode
també1n ten1 a vantagen1 de não ser afetada por picos de ser mais apropriada. Vale a pena observar que a moderna
tensão, interferência eletron1agnética ou quedas no forneci- cornunicação digital sen1 fio teve início como um projeto
mento de energia. Ela ta1nbé1n está in1une à ação corrosiva de pesquisa do professor Norman Abra1nson, da University
. . .
de alguns ele1nentos qu1n11cos que pairam no ar, o que e
,
of Hawaii, na década de 1970, no qual os usuários estava111
i1nportante en1 an1bientes industriais desfavoráveis. separados de seu centro de computação pelo Oceano Pacífi-
Por 1nais estranho que possa parecer, as empresas te- co e o siste111a de telefonia era inadequado. Discutiremos a
lefônicas gosta1n da fibra por outra razão: ela é fina e leve. respeito desse sistema, ALOHA, no Capítulo 4.
Muitos dos dutos de cabos atuais estão completamente lota-
dos, de modo que não há espaço para aumentar sua capaci-
dade. Alé1n da remoção e subsequente substituição de todo 2.2.1 O espectro eletromagnético
o cobre por fibras esvaziar os dutos, o cobre tem um ex- Quando se n1ovem, os elétrons criam ondas eletro1nagné-
celente valor de revenda para as refinarias especializadas, ticas que podem se propagar pelo espaço livre (até mesmo
pois trata-se de u1n 1ninério de altíssima qualidade. Além no vácuo). Essas ondas foram previstas pelo físico inglês
disso, a fibra é muito mais leve que o cobre. Mil pares tran- James Clerk Maxwell ern 1865 e foram observadas pela
çados com 1 km de comprimento pesarn 8 toneladas. Duas prirneira vez pelo tisico alemão Heinrich Hertz em 1887.
fibras têm 1nais capacidade e pesa1n apenas 100 kg, redu- O número de oscilações de uma onda eletromagnética por
zindo de maneira significativa a necessidade de sistemas segundo é chamado frequência,/, e é medido em Hz (ern
mecânjcos de suporte, que exigem mais manutenção. Nas hon1enagem a Heinrich Hertz). A distância entre dois pon-
novas rotas, as fibras são preferidas por tere1n um custo de tos máxin1os (ou mínimos) consecutivos é chamada com-
instalação muito 1nais baixo. Por fim, elas não desperdi- primento de onda, designada universalrnente pela letra
çan1 luz e di ficihnente são interceptadas. Por essas razões, grega ), (lan1bda).
a fibra é u1na alten1ativa con1 excelente nível de segurança Quando se instala uma antena de tamanho apropriado
contra possíveis escutas telefônicas. en1 u1n circuito elétrico, as ondas eletro1nagnéticas pode1n
No entanto, a fibra tem a desvantagem de ser un1a tec- ser transn1itidas e recebidas con1 eficiência por um receptor
nologia 1nenos fa1n iliar, exigindo conhecimentos que nem localizado a L11na distância bastante razoável. Toda a comu-
todos os engenheiros têm e, alé1n disso, as fibras pode1n ser nicação se1n fio é baseada nesse princípio.
danificadas com faci lidade, se forem encurvadas demais. No vácuo, todas as ondas eletromagnéticas viaj an1 à
Como a transmissão óptica é basicamente urudirecional, a n1esma velocidade, independentemente de sua frequência.
comunicação bidirecional exige duas fibras ou duas bandas Essa velocidade, geraln1ente chamada velocidade da luz, e,
de frequência em uma única fibra. Por fim, as interfaces de é aproximadamente igual a 3 x 108 m/s, ou cerca de 30 cm
fibra são mais caras que as interfaces elétricas. Apesar disso, por nanossegundo. No cobre ou na fibra, a velocidade cai
o futuro de toda a comunicação fixa de dados para distâncias para cerca de 2/3 desse valor e se toma ligeiramente depen-
superiores a alguns metros depende claramente da fibra. Para dente da frequência. A velocidade da luz é o limite máximo
obter mais informações sobre todos os aspectos das fibras que se pode alcançar no universo. Nenhum objeto ou sinal
ópticas e de suas redes, consulte Pearson (2015). pode se mover com maior rapidez do que ela.
A relação fundamental entre/,), e e (no vácuo) é:

J.f= c (2. l)
2.2 TRANSMISSÃO SEM FIO
Corno e é uma constante, se conhecennosf, chegaremos a ),
Mu itas pessoas agora possuem conectividade sem fio para e vice-versa. Via de regra, quando 2 é medido em metros e
muitos dispositivos, desde notebooks e s1nartphones até re- f em MHz,).._( -:::, 300. Por exernplo, ondas de 100 MHz têm
lógios e refrigeradores inteligentes. Todos esses dispositivos cerca de 3 111 de co1nprimento, ondas de 1.000 MI-fz tê1n
conta1n con1 a comunicação se1n fio para trans1nitir informa- 0,3 1n e ondas co1n O, 1 n1etro tên1 L11na frequência igual a
ções para outros dispositivos e extre1n idades da rede. 3.000 MHz.
Capítulo 2 • Acamada física 65

O espectro eletro1nagnético é 1nostrado na Figura 2.8. na banda de micro-ondas, e ainda 1nais na fibra, pois está
As faixas de rádio, micro-ondas, infravermelho e luz visí- n1ais à direita e1n nossa escala logarínnica. Como exemplo,
vel do espectro pode1n ser usadas na transn1issão de infor- considere a banda de l ,30 mícron da Figura 2.5, que tem
mações, por meio de modulação da amplitude, da frequên- uma largura de O, 17 micra. Se usarmos a Equação 2.1 para
cia ou da fase das ondas. A luz ultravioleta, os raios X e encontrar a faixa de frequência dos comprimentos de onda
os raios ga1na representariam opções ainda melhores, por inicial e final , descobrimos que ela é de aproximadamen-
terem frequências mais altas, mas são difíceis de produzir e te 30.000 GHz. Com uma razoável relação sinal/ruído de
modular, alé1n de não se propagaren1 be1n através dos pré- 1OdB, teremos 300 Tbps.
dios e de sere1n perigosos para os seres vivos. A 1naioria das transmissões utiliza uma banda de
As bandas (ou faixas) de frequências listadas na parte fi·equência relativa1nente estreita (ou seja, t::,.j/f << 1). Elas
inferior da Figura 2.8 são os nomes oficiais definidos pela concentram seus sinais nessa banda estreita para usar o es-
ITU (International Telecommunication Union) e se ba- pectro com mais eficiênc.ia e obter taxas de dados razoáveis
seia1n nos co1npri1nentos de onda; portanto, a banda LF vai trans1nitindo com potência suficiente. O restante desta se-
de 1 a 1O kn1 (aproxi1nadamente, de 30 kHz a 300 kHz). ção descreve três tipos diferentes de trans1nissão que utili-
Os te1mos LF, MF e HF são as abreviaturas, em inglês, de zam bandas de frequência mais largas.
baixa, média e alta frequências, respectivamente. É claro
que, quando esses nomes foram criados, ninguém esperava
ultrapassar 10 MHz, de fonna que foram atribuídos os se- 2. 2.2 Espectro de dispersão por
guintes nomes às bandas mais altas surgidas posteriormen- salto de frequência
te: Very, Ultra, Super, Extremely e Tremendously Higb Fre-
quency. Alétn desses não há outros nomes, mas lncredibly, No espectro por salto de frequência, o transn1issor salta
Astonishingly e Prodigiously High Frequency (IHF, AHF de u1na frequência para outra centenas de vezes por segun-
e PHF) ta1nbé1n serviria1n muito be1n. Acima de 10 12 Hz, do. Essa técnica é 1nuito usada em comunicações militares,
entran1os no espectro do infravermelho, onde a con1paração pois dificulta a detecção das transmissões e é pratica1nente
normalmente é com a luz, e não com o rádio. impossível obstruí-las. Ela também oferece boa resistên-
A base teórica para a comunicação, que veremos mais cia ao enfraquecimento devido a sinais ton1ando 1núlti-
adiante neste capítulo, afirma que o volume de informações plos ca1ninhos da origem ao destino e interferindo após a
que um sinal como u1na onda eletromagnética é capaz de recombinação. Também oferece resistência à interferência
transportar depende da potência recebida e é proporcional de banda estreita, porque o receptor não fica restrito a uma
à sua largura de banda. Observando a Figura 2.8, é possí- frequência, quando i1npossibilitada, por tempo sufici ente
vel entender com clareza por que as pessoas ligadas a re- para encerrar a co1nunicação. Essa robustez a torna útil para
des gostam tanto das fibras ópticas. Muitos GHz de largura as partes mais sobrecarregadas do espectro, como as bandas
de banda estão disponíveis para a transmissão de dados ISM que descreveremos em breve. Essa técnica também é

f (Hz) 10° 102 104 106 10 8 10 10 1012 10 14 1016 10 18 1020 1022 1024

Rádio Micro- Infra- uv Raio X Raio gama


-ondas vermelho
,, ''
,,, Luz/ ' '
''
,,
,,
,,
,,
,,
f (Hz) 10~' 105 106 10 7
1 . Fibra
Par trançado Satélite
1
Coaxial Micro-ondas óptica
Rádio Rádio terrestre
Marítimo AM FM

TV
1 1 1 1 1 1 1 1 1 1 1 1
Banda LF MF HF VHF UHF SHF EHF THF
Figura 2.8 Oespectro eletromagnético e a maneira como ele é usado na comunicação.
66 Redes de computadores

aplicada con1ercialn1ente, por exe1nplo, no Bluetooth e nas antigas do protocolo de LANs sem fio 802. l l b. Para obter
versões mais antigas das redes 802.11. informações 1nais detalhadas e fascinantes sobre a história
Como curiosidade, vale a pena mencionar que uma da comunicação por espectro de dispersão, consulte Wal-
das pessoas que criaram essa técnica foi a atriz de cinema ters (2013).
austríaca Hedy Laman" famosa por atuar em filmes euro-
peus na década de 1930 con1 seu nome real Hedwig (Hedy)
Kiesler. Seu primeiro marido era um rico fabricante de ar- 2.2.4 Comunicação de banda ultralarga
mamentos e mostrou a ela como era fácil bloquear os sinais A comunicação de banda ultralarga, ou UWB (Ultra-Wide-
de rádio então empregados para controlar torpedos. Quando Band) envia uma série de pulsos rápidos, de baixa energia,
descobriu que ele estava vendendo a1mas a Hitler, ela ficou variando suas frequências de portadora para trocar infom1a-
horrorizada, se disfarçou de criada para escapar dele e fugiu ções. As rápidas transições levam a u1n sinal que se espalha
para Hollywood, a fim de continuar sua carreira como atriz estreitamente por uma banda de frequência muito larga. Esse
de cinema. Em seu tempo livre, Hedy inventou o salto de 1nétodo é definido co1no sinais que tê1n uma largura de banda
frequência para ajudar no esforço de guerra dos Aliados. de pelo n1enos 500 MHz ou pelo 1nenos 20º/o da frequência
Seu esquema utilizava 88 frequências, o nú1nero de central de sua banda de frequência. A UWB també1n aparece
teclas (e frequências) do piano. Por sua invenção, ela e seu na Figura 2.9. Com tanta largura de banda, a UWB tem o
amigo, o compositor George Antheil, recebera1n a patente potencial de se comunicar a várias centenas de 1negabits por
2.292.387 dos Estados Unidos. Porém, eles não consegui- segundo. Por se espalhar por uma a1npla banda de frequên-
ram convencer a Marinha a1uericana de que sua invenção cia, ela pode tolerar uma grande quantidade de interferência
tinha alguma utilidade prática, e nunca recebera1n royalties relativamente forte de outros sinais de banda estreita. Tão
por ela. So1nente anos depois de expirar a patente, a técnica ünportante quanto isso, co1no a UWB te111 pouquíssima ener-
foi redescoberta e usada em dispositivos eletrônicos móveis, gia em qualquer frequência quando usada para trans1nissão
e1n vez de bloquear sinais para torpedos na época da guerra. em curta distância, ela não causa interferência prejudicial
para outros sinais de rádio de banda estreita. Ao contrário da
transmissão por espectro de dispersão, a comunicação UWB
2.2.3 Espectro de dispersão
transn1ite de formas que não interfere1u com os sinais da por-
de sequência direta tadora na mesma banda de frequência. Ela também pode ser
O espectro de dispersão de sequência direta usa u1na usada para formar imagens através de objetos sólidos (solo,
sequência de código para dispersar o sinal de dados por paredes e corpos), ou como parte de siste1nas de localização
uma banda de frequência mais ampla. É bastante usado precisos. A tecnologia é popular para aplicações internas a
co1nerciahnente, como u1n meio eficiente na utilização do curta distância, alé1n de in1agens precisas de radar e tecnolo-
espectro, para per1nitir que vários sinais co1npartilhe1n a gias de rastreamento de local.
mes1na banda de frequência. Esses sinais podem receber di-
ferentes códigos, um método cbainado acesso múltiplo por
divisão de código, ao qual retornaremos mais adiante neste
capítulo. Tal método aparece e1n contraste com o salto de 2.3 TRANSMISSÃO ATRAVÉS
frequência na Figura 2.9. Ele forn1a a base das redes de te- DO ESPECTRO
lefonia 1nóvel 3G e também é usado no GPS (Global Posi-
tioning System). Mesmo sem códigos diferentes, o espectro A seguir, mostraremos como as diversas partes do espectro
de dispersão de sequência direta, assüu como o espectro de eletromagnético da Figura 2.8 são usadas, con1eçando pelo
dispersão por salto de frequência, pode tolerar interferência rádio. Partiremos da premissa de que todas as transmissões
e enfraquecimento, pois apenas uma fração do sinal dese- utilizan1 uma banda de frequência estreita, a menos que seja
jado é perdida. Ele é usado nesse papel nas versões mais dito de outra forma.

,...,~ ..
Espectro de Espectro de
,...,
(Usuário COMA com .
d ispersão de
.
sequencia
1
1
1
1
• 1
1
1
1
dispersão
por salto de
código diferente) /direta 1 1 1 1 frequência
1 1 1 1
1 1 1 1
Sustentação 1 1 1 1
UWB 1 1 1 1
(Usuário COMA com 1 1 1 1

1
\ código diferente)
1
1 '
1 1
r--. '
!
1

Frequência

Figura 2.9 Comunicação por espectro de dispersão e banda ultralarga (UWB).


Capítulo 2 • A camada física 67

2.3.1 Transmissão de rádio a potência, en1bora o sinal recebido ta1nbém possa depen-
der muito das reflexões. Ondas de rádio de alta frequência
As ondas de rádio são fáceis de gerar, podern percorrer lon- também são absorvidas pela chuva e outros obstáculos, até
gas distâncias e penetrar facihnente ern prédios, portanto, certo ponto, mais do que as frequências baixas. Em todas as
são muito utilizadas para comunicação, seja em ambientes frequências, as ondas de rádio estão sujeitas à interferência
fechados, seja en1 locais abertos. As ondas de rádio tambérn de motores e outros equipamentos elétricos.
são omnidirecionais, o que significa que elas viajarn ern to-
E' interessante comparar a atenuação das ondas de rá-
das as direções a partir da origem. Desse 1nodo, o transmis-
dio com a dos sinais nos meios guiados. Com fibra, cabo
sor e o receptor não precisarn estar cuidadosa e fisicamente
coaxial e par trançado, o sinal cai pela mesma fração por
alinhados.
distância unitária, por exemplo, 20 dB por 100 m para o
Vale lembrar que o rádio omnidirecional nem sempre par trançado. Com o rádio, o sinal cai pela mesma fração
é bom. Na década de 1970, a General Motors decidiu equi-
enquanto a distância dobra, por exemplo, 6 dB pelo dobro
par todos os seus novos Cadillacs co1n freios controlados
do espaço livre. Isso significa que as ondas de rádio po-
por computador, que impediam o travamento das rodas.
den1 percorrer longas distâncias, e a interferência entre os
Quando o motorista pisava no pedal de freio, o cornputador
usuários é um problema. Por essa razão, todos os governos
prendia e soltava os freios, em vez de travá-los de verdade.
exercen1 um rígido controle sobre o licencia1nento do uso
U1n belo dia, um policial rodoviário de Ohio começou a
de transmissores de rádio, com apenas algumas exceções,
usar seu novo rádio móvel para falar com a central de polí-
descritas mais adiante neste capítulo.
cia e, de repente, o Cadillac próxirno a ele passou a se com-
portar como u1n cavalo selvagetn. Depois de ser abordado Nas bandas VLF, LF e MF, as ondas de rádio se pro-
pelo patrulheiro, o motorista disse que não tinha feito nada pagam perto do solo, como mostra a Figura 2.1 O(a). Elas
e que o carro tinha ficado louco de urna hora para outra. podem ser detectadas dentro de um raio de, talvez, 1nil qui-
Com o ten1po, con1eçou a surgir un1 padrão: às vezes, lômetros nas frequências mais baixas; nas frequências mais
os Cadillacs enlouquecian1, 1nas somente quando trafe- altas, esse raio é rnenor. A radiodifusão ern frequências AM
gavarn pelas principais estradas de Ohio, particularmente utiliza a banda MF, razão pela qual as ondas de rádio pro-
quando estavarn sendo observados por un1 policial rodo- duzidas pelas estações de rádio AM de Boston não podem
viário. A General Motors demorou a entender o motivo ser captadas facilmente em Nova York. As ondas de rádio
pelo qual os Cadillacs funcionavarn sem problemas nos nessas bandas atravessam os prédios com facilidade; esse é
outros estados e ta1nbém em rodovias secundárias de Ohio. o rnotivo por que os rádios portáteis funcionarn ern ambien-
Só depois de muita pesquisa, eles descobriram que a fia- tes fechados. O principal problema relacionado à utilização
ção do Cadillac formava uma ótüna antena que captava a dessas bandas para comunicação de dados diz respeito à
frequência usada pelo novo sistema de rádio da Patrulha baixa largura de banda que oferecem.
Rodoviária de Ohio. Nas bandas HF e VHF, as ondas terrestres tendem a
As propriedades das ondas de rádio dependem da ser absorvidas pela Terra. No entanto, as ondas que alcan-
frequência. Etn baixas frequências, as ondas de rádio atra- çam a ionosfera, uma camada de partículas carregadas situ-
vessam bem os obstáculos, mas a potência cai bruscamente adas em torno da Terra a uma altura de 100 a 500 km, são
à medida que a distância da origem aumenta - pelo menos refi·atadas por ela e enviadas de volta à Te1Ta, como mostra
cerca de l lr2 no ar - , pois a energia do sinal se espalha de a Figura 2.1 O(b). Em determinadas condições atmosféricas,
forma mais estreita por uma superficie rnaior. Essa atenu- os sinais podem ricochetear diversas vezes. Os operadores
ação é chamada de perda no caminho. Em altas frequên- de radioarnador utilizarn essas bandas em comunicações de
cias, as ondas de rádio tendem a viajar em linha reta e a longa distância. Os militares também se con1unica1n nas
ricochetear nos obstáculos. A perda no caminho ainda reduz bandas Hf e VHF.

Onda
/terrestre
))))--- -- --.

Superfície da Terra
(a)

Figura 2.10 (a} Nas bandas VLF, LF e MF, as ondas de rádio obedecem à curvatura da Terra. (b) Na banda HF, elas ricoche-
teiam na ionosfera.
68 Redes de computadores

2.3.2 Transmissão de micro-ondas centítnetros de con1prin1ento e são absorvidas pela chuva.


Esse efeito não causaria qualquer problen1a se estivéssemos
Acitna de 100 MHz, as ondas trafegam praticamente em li- planejando construir um gigantesco forno de micro-ondas
nha reta e, portanto, podem ser concentradas e1n wna faixa para ser usado a céu aberto mas, no caso das comunicações,
estreita. A concentração de toda a energia en1 um pequeno trata-se de tun grave proble1na. Assitn como acontece com
feixe através de uma antena parabólica (como a conhecida o enfraqueci1nento por múltiplos caminhos, a única solução
antena de TV por satélite) oferece uma relação sinal/ruído é desligar os enlaces que estão sendo afetados pela chuva e
muito mais alta, 1nas as antenas de trans1nissão e recepção criar uma nova rota que os contorne.
deve1n estar alinhadas co1n o máximo de precisão. Além Em resumo, a comunicação por micro-ondas é tão
disso, essa direcionalidade permite o alinhamento de vários utilizada na telefonia de longa distância, em telefones ce-
transmissores em uma única fileira, fazendo eles se comu- lulares, na distribuição de sinais de televisão e em outros
nicarem com vários receptores também alinhados sem que usos que foi preciso desenvolver uma severa diminuição
haja interferência, desde que seja1n observadas algumas do espectro. Ela ten1 uma série de vantagens significati-
regras 1níni1nas de espaçan1ento. Antes da fibra óptica, du-
vas sobre a fibra. A mais impo1iante delas é que as micro-
rante décadas essas 1nicro-ondas formaram o núcleo do sis-
-ondas dispensa1n a necessidade de se ter direitos sobre u1n
tema de transmissão telefônica de longa distância. Na ver- percurso. Alé1n do mais, quando se co1npra um pequeno
dade, a MCI, uma das primeiras concorrentes da AT &T lote de terra a cada 50 km e nele é instalada uma torre de
após sua desregula1nentação, construiu todo o seu sistema micro-ondas, é possível ignorar o siste1na telefônico e
con1 co1nunicações de 1nicro-ondas que percorriam deze-
se cornunicar diretamente. Foi por essa razão que a MCl
nas de quilômetros entre uma torre e outra. Até mesmo o
passou a trabalhar tão rapidamente como uma con1panhia
nome da empresa refletia isso (MCI significava Microwave
telefônica de longa distância. (A Sprint, outro antigo con-
Communications, lnc.). Há muito tetnpo, a MCI passou a corrente da AT&T, trilhou un1 caminho bem diferente: ela
utilizar as fibras ópticas e, por meio de uma longa série de
se formou a partir da Southem Pacific Railroad, que já de-
fusões corporativas e falências no setor de telecomunica-
tinha um grande número de concessões de direitos de per-
ções, passou a fazer parte da Yerizon.
curso, e simplesmente enterrava os cabos de fibra ao lado
Tendo em vista que as micro-ondas trafegam em linha das ferrovias.)
reta, se as torres estiverem muito afastadas, a Terra acabará
O uso de micro-ondas també1n é relativamente econô-
ficando entre elas (como acontece no caso de um enlace
1nico. A instalação de duas torres simples (com alguns pos-
entre Seattle e Amsterdã). Assitn, é preciso instalar repeti-
tes com quatro esteios) e a colocação de antenas en1 cada
dores em inte1valos periódicos. Quanto mais altas as torres,
un1a delas pode ser menos dispendiosa que enterrar 50 k1n
mais distantes elas podem estar umas das outras. A distân-
de fibra em uma área urbana congestionada ou em uma re-
cia entre os repetidores aumenta de acordo com a raiz qua-
gião montanhosa, e talvez seja mais econômica que arren-
drada da altura da torre. Torres com 100 m de altura devem
dar a rede de fibra da companhia telefônica, especiabnente
ter repetidores a cada 80 kJn.
se esta ainda não tiver coberto totalmente os custos da re-
Ao contrário das ondas de rádio nas frequências 1nais
tirada do cobre quando os cabos de fibra foram instalados.
baixas, as micro-ondas não atravessam 1nuito be1n as pa-
redes dos prédios. Alé1n disso, embora o feixe possa estar
bem concentrado no transmissor, ainda há algun1a diver- 2.3.3 Transmissão de infravermelho
gência no espaço. Algumas ondas podem ser refratadas nas
camadas atmosféricas mais baixas e, consequentemente, As ondas de infravermelho não guiadas são bastante uti-
sua chegada pode ser n1ais de1norada que a das ondas di- lizadas na comunicação de curto alcance. Todos os dis-
retas. As ondas atrasadas podem chegar fora de fase em positivos de controle remoto utilizados nos aparelhos de
relação à onda direta, e assim cancelar o sinal. Esse efeito televisão, ar condicionado e aparelhos de som empregam
é chamado de enfraquecimento por múltiplos caminhos a cotnunicação por infravermelho. Elas são relativan1ente
(multipath fadin g) e em geral é u1n proble1na sério. Ele direcionais, baratas e fáceis de nlontar, 1nas tê1n u1na des-
depende das condições atmosféricas e da frequência. Algu- vantage1n in1po1tante: não atravessa1n objetos sólidos (para
mas operadoras 1nantê1n 10% de seus canais ociosos co1no provar essa afinnação, posicione-se entre o controle remoto
sobressalentes, para serem usados quando o enfraqueci- e o televisor e veja se ele funciona). Em geral, quando nos
mento por múltiplos caminhos eliminar temporariamente deslocamos do rádio de onda longa em direção à luz visí-
algu1na banda de frequência. vel, as ondas assumem um comporta1nento cada vez mais
A demanda por taxas de dados mais altas incentiva as parecido co1n o da luz, perdendo pouco a pouco as caracte-
operadoras a usarem transn1issões com frequências cada risticas de ondas de rádio.
vez mais altas. As bandas de até 1O GHz agora são de uso No entanto, o fato de as ondas de infravermelho não
rotineiro, 1nas a partir de 4 GHz surge um novo proble- atravessaren1,
paredes sólidas pode ser visto como u1na
ma: a absorção pela água. Essas ondas têm apenas alguns qualidade. E por essa razão que um sistema infravermelho
Capítulo 2 • A camada física 69

instalado em un1 an1biente fechado não interfere en1 um con1putação da universidade onde trabalhavan1, situada a
sisten1a semelhante instalado nas salas ou nos prédios ad- alguns quilôn1etros dali. Eles testaram o siste1na na noite
jacentes: não é possível controlar o aparelho de televisão anterior à conferência e ele havia funcionado perfeitamen-
do vizinho com o seu controle remoto. Além disso, a se- te. Às 9h da manhã seguinte, em um belo dia de sol, o sis-
gurança dos sistemas de infravermelho contra espionagem tema entrou em pane e ficou fora do ar durante todo o dia.
é melhor que a dos sistemas de rádio, exatamente por essa Nos dois dias seguintes, o problema se repetiu. Após a con-
razão. Portanto, não é necessária nenhu1na licença do go- ferência, os organizadores descobriram o problema. O calor
verno para operar u1n sistema de infravermelho, ao contrá- do sol fez as correntes de convecção do telhado do prédio
rio dos sistemas de rádio, que devem ser licenciados fora en1anarem, como 1nostra a Figura 2. 11. Esse ar turbulento
das bandas ISM. A comunicação por infravermelho tem uso desviou o feixe e fez ele dançar em tomo do detector, algo
li1nitado en1 escritórios, por exemplo, para conectar note- parecido com uma estrada que parece cintilar em um dia
books e impressoras com o padrão IrDA (lnfrared Data muito quente. A lição aqui é que, para funcionar bem em
Association), mas não tem um papel importante no jogo condições difíceis e também em boas condições, os enlaces
das comunicações. ópticos não guiados precisam ser elaborados com un1a mar-
gem de erro suficiente.
Atualrnente, a co1nunicação óptica não guiada pode
2.3.4 Transmissão via luz parecer un1a tecnologia de rede exótica, nlas logo poderá
se tomar mais predominante. Em muitos lugares, esta-
A transmissão óptica não guiada, ou óptica do espaço li-
mos cercados de câmeras (que sentem a luz) e telas (que
vre, vem sendo utilizada há séculos. Paul Revere usou a
emitem luz usando LEDs ou outra tecnologia). A comu-
sinalização óptica binária a partir da Old Nortb Church
nicação de dados pode ser disposta em ci1na dessas telas
i1nediatamente antes de sua famosa corrida. Uma aplicação
codificando informações no padrão em que os LEDs se
mais moderna consiste em conectar as LANs em dois pré-
acendem e apagam, abaixo do limiar da percepção huma-
dios por meio de lasers instalados e1n seus telhados. Por sua
na. A comuujcação via luz visível dessa maneira é ineren-
própria natureza, a transmissão óptica usando raios laser
tetnente segura e cria tuna rede de baixa velocidade na
é unidirecional; assin1, cada prédio precisa de seu próprio
vizinhança imediata da tela. Isso poderia pern1itir todo o
raio laser e de seu próprio fotodetector. Esse esquema ofe-
tipo de ceuário de computação ubíqua. As luzes piscan-
rece u1na largura de banda muito alta, tem baixo custo e é
do nos veículos de emergência pode1n alertar os sinais de
relativa1nente seguro, pois é difici l interceptar um raio laser
trânsito e veículos mais próximos para ajudar a liberar um
estreito. Ele tan1bé1n é relativamente fác il de ser instalado
caminho. Os sinais de informação poderia1n transmitir
e, ao contrário das micro-ondas, não precisa de uma licen-
mapas por difusão. As lâ1npadas en1 ocasiões festivas po-
ça da FCC (Federal Communications Commission) nos
deriam até nlesmo transmitir canções sincronizadas com
Estados Unidos e de outras agências governamentais em
sua exibição.
outros países.
A potência do laser, um feixe muito estreito, também é
un1a desvantagem aqui. Apontar um raio laser de 1 1n.m para
um alvo do tamanho de uma cabeça de alfinete a 500 m de
distância exige a mira de um pistoleiro dos filmes de faro- 2.4 DE FORMAS DE ONDA A BITS
este. Nonnalmente, são colocadas lentes no sistema para
tirar um pouco do foco do raio. Para aumentar a dificulda- Nesta seção, descrevemos cotno os sinais são transmitidos
de, mudanças no vento e na temperatura poden1 distorcer o através do 1neio fisico que já discutimos. Vamos começar
raio, e os feixes de raios laser de fato não pode1n atraves- con1 uma discussão da base teórica para a comunicação de
sar chuva ou neblina espessa, mas normaln1ente funcionam dados, seguindo com u1na discussão sobre modulação (o
bem em dias ensolarados. Contudo, muitos desses fatores processo de conversão de formas analógicas de onda em
não são problemas quando o uso é para conectar duas naves bits) e multiplexação (que permite que um único meio físi-
espac1a1s. co carregue várias transmissões sünultâneas).
U1n dos autores deste livro (AST) certa vez participou
de uma conferência em um moderno hotel europeu cujos 2.4.1 A base teórica da
organizadores tiveram a felicidade de oferecer uma sala re-
pleta de tenninais para que os participantes pudesse1n ler
comunicação de dados
seus e-mai ls durante as apresentações menos interessantes. As informações podem ser transmitidas por fios, fazendo-
Co1no a companhia telefônica local não havia se disposto -se variar alguma propriedade física, como tensão ou
a instalar un1 grande nún1ero de linhas telefônicas por ape- corrente. Representando o valor dessa tensão ou corrente
nas três dias, os organizadores colocaram u1n raio laser no con10 un1a função do te1npo co1n um valor único, f{t), po-
telhado e o apontaram na direção do prédio de ciência da demos criar um modelo para o co1nportan1ento do sinal e
70 Redes de computadores

Raio laser não


acerta o detector
Fotodetector Região de /
I• visão turbulenta ___ ___ ___ _ . -------- Laser

1
- ~
• •
•••• •••
!-.... ;..
r - - é'· • •
••• •••~Calor

~ --- --- --- --- --------- ------ --- --- --- ·C:==lí
subindo
do prédio
!:"
..,. :;:r

i=-

-
..,.
::i

:;:r ~

;i; J:T ~

::r :e ~

- :::I

~
c;:i

::r~
~

Figura 2.11 Correntes de convecção podem interferir nos sistemas de comunicação a laser. A figura mostra um sistema
bidirecional com dois lasers.

analisá-lo matematicamente. Essa análise será o assunto As a amplitudes podem ser calculadas para qualquer
11

das próximas seções. g(t) dada, multiplicando-se ambos os lados da Equação 2.2
por sen(2ir kji) e, en1 seguida, integrando-se de Oa T. Como
Análise de Fourier
r sen(2 trkft) sen(2 tr nft) dt { Opara k f. n
No início do século XIX, o 1natemático francês Jean-Bap-
tiste Fourier provou que qualquer função periódica razoa-
fo =
T /2 para k = n

velmente estável, g(t), com período T, pode ser construída


co1no a soma de um nú1nero (possivehnente infinito) de apenas u1n tenno do somatório pennanece: a,,. O somatório
senos e cossenos: b,, desaparece con1pleta1nente. Da mesma forma, multipli-
cando a Equação 2.2 por cos(2ir lift) e integrando entre Oe
1 00 00 T, podemos derivar b,,. Simplesmente integrando ambos os
g(t) = - e+ L a,, sen(2 nnft) + Lb 11 cos(2nnft) (2.2) lados da equação tal como ela se encontra, podemos achar
2 11=1 11= 1
e. Os resultados dessas operações são:
onde/= 1/Té a frequência fundamental, a e b são asam- 11 0
2 r
plitudes do seno e do cosseno dos n-ésiinos harmônicos
(termos) e e é uma constante que determina o valor médio
a,, =T Jg(t) sen(2 tr nft) dt
o
da função. Essa decomposição é chamada série de Fourier.
2 T 2 T
A partir dela, a função pode ser reconstruída, ou seja, se
o período T for conhecido e as a1nplitudes forem dadas, a
b,, = T Jg(t) cos(2n11ft) dt e=T f g(t) dt
o o
função original no tempo poderá ser encontrada efetuando-
-se as somas da Equação 2.2.
Um sinal de dados com uma duração finita (como
Sinais limitados pela largura de banda
acontece co1n todos eles) pode ser tratado apenas com base A importância de tudo isso para a comunjcação de dados é
na pren1issa de que ele repete o mesmo padrão indefinida- que os canais reais afetan1 diferentes sinais de frequência
mente (ou seja, o intervalo de Ta 2T é igual ao de O a T, de fonnas distintas. Vamos analisar u1n exen1plo específico:
etc.). a transmissão do caractere ASCII "b" codificado como um
Capítulo 2 • A camada física 71

byte de 8 bits. O padrão de bits que deve ser transmitido A raiz quadrada n1édia das amplitudes, y a~ + b,; para os
é O110001 O. A parte esquerda da Figura 2.12(a) 1nostra a primeiros termos são mostradas no lado direito da Figura
saída de tensão do computador trans1nissor. A análise de 2.12(a). Esses valores são importantes porque seus quadra-
Fourier desse sinal produz os seguintes coeficientes: dos são proporcionais à energia transmitida na frequência
correspondente.
1 Nenhum recurso de transmissão é capaz de transmitir
a,, = - [cos(;rn/4)- cos(3;rn/4) + cos(6 ;rn/4)
;rn sinais sern perder parte da energia no processo. Se todos
- cos(7;rn/4)] os coeficientes da série de Fourier fossem igualmente re-
1 duzidos, o sinal resultante seria reduzido em amplitude,
b,, = - [sen(3 :rrn/4) - sen(:rrn/4) + sen(7:rrn/4)
;rn mas não distorcido (i.e., ele teria a mesma forma quadrada
- sen(6 ;rn/4)]
mostrada na Figura 2.12(a)). Infeliz1nente, todos os meios
e = 3/4. de transmissão reduzem diferentes componentes de Fourier

1
o 1 1 o o o 1 o
1 1 1
0,50
1 1 1
1 1 1
1
1
1
1
1
1
0,25
1 1 1
1 1 1
1 1
!
' '
o Tempo-- T 1 2 3 4 5 6 7 8 9 101112131 4 15
Número de harmônicos
(a)

1 harmônico

o (b)
1

1 2 harmônicos

o (c) 1 2

1 4 harmônicos

o (d) 1 2 3 4

1 8 harmônicos

1 1 1

o 1 2 3 4 5 6 7 8
Tempo - - Número de harmônicos -
(e)
Figura 2.12 (a} Um sinal binário e a raiz quadrada média das amplitudes de Fourier. (b)-(e) Aproximações sucessivas do
sinal original.
72 Redes de computadores

por diferentes valores e, em consequência disso, introdu- uma frequência de coite artificialn1ente introduzida, pou-
zem distorção. Em geral, para um fio, as a1nplitudes são co acima de 3.000 Hz. A presença dessa restrição signi-
transmitidas sem redução, de O até alguma frequência fica que o número do hannônico mais alto transmitido é
j~ (medida e1n ciclos/s ou Hz), com todas as frequências aproximada1nente 3.000/(b/8) ou 24.000/b (o corte não é
acima dessa frequência de corte (cutoff) sendo atenuadas. preciso).
A faixa de frequências trans1nitidas sen1 serem fortemente Para algumas taxas de dados, os nún1eros funcionam
atenuadas denomina-se largura de banda. Na prática, o de acordo co1n o padrão mostrado na Figura 2.13. Esses
corte não é nítido; assün, muitas vezes a largura de banda números deixan1 claro que, quando se tenta fazer un1a
varia de Oaté a frequência en1 que a potência recebida caiu trans1nissão a 9.600 bps usando uma linha telefônica de
para a metade. qualidade de voz, o modelo sugerido na Figura 2.12(a) as-
A largura de banda é u1na propriedade tisica do meio sume a forma mostrada na Figura 2.12(c), tornando com-
de transmissão, que depende, por exen1plo, da construção, plicada a recepção precisa do fluxo original de bits. Pode-
da espessura e do comprimento do meio (fio ou fibra). n1os perceber tambén1 que, em taxas de dados ben1 1nais
Os filtros normalmente são usados para limitar ainda mais altas que 38,4 kbps, não existe a 1nenor possibilidade de
o volun1e de largura de banda de u1n sinal. Os canais sem que todos os sinais sejam binários, mesmo quando não há
fio 802.11 tên1 pennissão para usar até aproximadan1ente o menor ruído no tneio de transmissão. E1n outras palavras,
20 MHz, por exemplo, de 1nodo que rádios 802.11 filtram limitando-se a largura de banda, limita-se a taxa de dados,
a largura de banda do sinal para essa faixa (embora, em mesmo nos canais perfeitos (sen1 ruídos). No entanto, so-
alguns casos, seja usada uma banda de 80 MHz). fisticados esquemas de codificação que usam diversos ní-
Co1no outro exemplo, os canais de televisão tradicio- veis de tensão possibilitam a existência e a utilização de
nais (analógicos) ocupa1n 6 MHz cada, por um fio ou pelo taxas de dados mais altas. Vamos discutir essa questão ao
ar. Essa fi ltrage1n pennite que mais sinais compartilhem longo deste capítulo.
detem1inada região do espectro, o que n1elhora a eficiência Há muita confusão sobre largura de banda, pois ela
geral do sistema. Isso significa que a faixa de frequência significa coisas diferentes para engenheiros elétricos e
para alguns sinais não começará em zero, mas ern algum para cientistas da computação. Para os engenheiros elé-
número maior. Poré1n, isso não i1nporta. A largura de banda tricos, a largura de banda (analógica) é, como descreve-
ainda é a largura da banda de frequências que são passadas, mos, uma quantidade medida em Hz. Para os cientistas da
e a infonnação que pode ser transportada depende apenas computação, a largura de banda (digital) é a taxa de dados
dessa largura, e não das frequências inicial e final. Os sinais máxima de um canal, uma quantidade medida e1n bits/s.
que vão de O para cima, até uma frequência 1náxi1na, são Essa taxa de dados é o resultado final do uso da largura
cha1nados sinais de banda base. Sinais que são desloca- de banda analógica de u1n canal fisico para a transmissão
dos para ocupar uma faixa de frequências mais alta, como digital, e as duas estão relacionadas, conforme veren1os
acontece para todas as transmissões sem fio , são chamados a seguir. Neste livro, o contexto esclarecerá se quere1nos
sinais de banda passante. dizer largura de banda analógica (Hz) ou largura de banda
Vejamos agora como seria a fonna do sinal da Figura digital (bits/s).
2.12(a) se a largura de banda fosse tão estreita que apenas
as frequências mais baixas fossem trans1nitidas (ou seja,
se a função estivesse sendo aproxiinada pelos primeiros Número de
tern1os da Equação 2.2). A Figura 2.12(b) nlostra o sinal Primeiro harmônicos
resultante de um canal pelo qual apenas o primeiro har- Bps T (ms) harmônico (Hz) enviados
1nônico (o funda1nental , /) pode passar. Da mes1na for- 300 26,67 37,5 80
ma, a Figura 2.l2(c)-(e) 1nostra os espectros e as funções
reconstruídas para canais co1n uma largura de banda mais 600 13,33 75 40
alta. Para a transmissão digital, o objetivo é receber um 1.200 6,67 150 20
sinal com fidelidade suficiente para reconstruir a sequên-
2.400 3,33 300 10
cia de bits que foi enviada. Já podemos fazer isso com
facilidade na Figura 2.12(e), de 1nodo que é um desperdí- 4.800 1,67 600 5
cio usar mais hannônicos para receber uma réplica mais 9.600 0,83 1.200 2
.
precisa.
19.200 0,42 2.400 1
Dada tuna taxa de bits de b bits/s, o te1npo necessário
para o envio de 8 bits (em nosso exemplo, um bit de cada 38.400 0,21 4.800 o
vez) é 8/b s; assim, a frequência do prin1eiro harmônico
desse sinal é b/8 Hz. Uma linha telefônica comum, fre- Figura 2.13 Relação entre as taxas de dados e os harmô-
quenten1ente chamada de linha de qualidade de voz, te1n nicos em nosso exemplo muito simples.
Capítulo 2 • A camada física 73

2.4.2 A taxa de dados máxima de um canal Esta equação nos diz as melhores capacidades que os canais
reais podem ter. Por exemplo, ADSL (Asynunetric Digital
En1 1924, Henry Nyquist, um engenheiro da AT&T, perce- Subscriber Line), que oferece acesso à Inte1net por linhas
beu que até mesmo um canal perfeito te1n u1na capacidade telefônicas normais, usa tnna largura de banda com cerca
de transinissão finita. Ele derivou uma equação expressan- de 1 MHz. A SNR depende muito da distância da central
do a taxa máxima de dados de um canal sem ruído com telefônica até a casa, e uma SNR com cerca de 40 dB para
largura de banda finita. E1n 1948, Claude Shannon apro-
linhas curtas de 1 a 2 km é muito boa. Com essas caracte-
fundou o trabalho de Nyquist e o estendeu ao caso de um
rísticas, o canal nunca pode transmitir muito 1nais do que
canal sujeito a ruído aleatório (i.e., ruído termodinâmico)
13 Mbps, não importa quantos níveis de sinal sejam usados
(Shannon, 1948). Esse artigo é o mais i1nportante de toda a
e não in1porta com que frequência as amostras são toma-
teoria da informação. Veja a seguir um resumo dos resulta-
das. Na prática, a ADSL é especificada para até 12 Mbps,
dos, agora clássicos.
en1bora os usuários normahnente vejam taxas mais baixas.
Nyquist provou que, se um sinal arbitrário atravessar
Essa taxa de dados é realmente muito boa, com mais de 60
um filtro passa-baixa de largura de banda B, o sinal filtrado
poderá ser co1npletamente reconstruído a prutir de apenas anos de técnicas de comunicação tendo reduzido bastante a
2B an1ostras (exatas) por segundo. Fazerun1a amostrage1n lacuna entre a capacidade de Shannon e a capacidade dos
da linha com uma rapidez 1naior que 2B vezes por segundo sisten1as reais.
seria inútil, pois os con1ponentes de frequência mais alta O resultado de Shannon utilizou os argumentos da
que essa amostragem poderia recuperar já teriam sido fil- teoria da infom1ação e se aplica a qualquer canal sujeito a
trados. Se o sinal consistir em V níveis discretos, o teorema ruído ténnico. Os exemplos contrários devem ser tratados
de Nyquist afirma que: na 1nesma categoria das máquinas de movimento contínuo
(ou 1noto-perpétuo). Para a ADSL ultrapassar os 12 Mbps,
taxa máxima de dados = 2B log2 V bits/s (2.3) ela deve melhorar a SNR (p. ex., inserindo repetidores digi-
tais nas linhas 1nais próxin1as do cliente) ou usar 1nais lar-
Por exemplo, um canal de 3 kHz sem ruído não pode trans-
gura de banda, como é feito com a evolução para ADSL2+.
mitir sinais binários (ou seja, de dois níveis) a tnna taxa
superior a 6.000 bps.
Até agora, só mencionamos os canais sem ruído. 2.4.3 Modulação digital
Se houver ruído aleatório, a situação se deteriorará com ra-
pidez. Além disso, sempre há ruído aleatório (térmico), em Agora que já estudamos as propriedades dos canais con1 e
virtude do moviinento das moléculas no siste1na. O volume sem fio, voltamos nossa atenção para o problema de enviar
de ruído térn1ico presente é n1edido pela relação entre a po- informações digitais. Os canais co1n fio e sem fio transpor-
tência do sinal e a do ruído, chamada relação sinal/ruído, tam sinais analógicos, co1no a tensão variando continua-
ou SNR (Signal-to-Noise Ratio). Se representarmos a po- mente, a intensidade de luz ou a intensidade de som. Para
tência do sinal por Se a potência do ruído por N, a relação enviar informações digitais, temos de criar sinais digitais
sinal/ruído será S/N. Em geral, a relação é expressa e1n uma para representar os bits. O processo de conversão entre bits e
escala logarítmica co1no a quantidade 10 log 10 S/N, pois sinais que os representa1n é chan1ado de modulação digital.
ela pode variar por un1a faixa muito grande. As unidades Começaremos com esquemas que convertem direta-
da escala logarítmica são cha1nadas de decibéis (dB), com mente os bits em um sinal. Eles resultam em transmissão
"deci" significando 1Oe "bel" escolhido e1n homenagen1 a de banda base, e1n que o sinal ocupa frequências de zero
Alexander Graham Bell, que patenteou o telefone. Uma re- até un1 máximo que depende da taxa de sinalização. Ele é
lação SIN igual a 10 corresponde a 10 dB, uma relação igual comu1n para fios. Depois, vamos considerar os esquemas
a 100 equivale a 20 dB, uma relação igual a 1.000 equivale que regulam a an1plitude, a fase ou a frequência de wn sinal
a 30 dB, e assin1 por diante. Com frequência, os fabricantes da portadora para transportar bits. Esses esquemas resulta1n
de amplificadores estereofônicos caracterizan1 a largura de em transmissão de banda passante, em que o sinal ocupa
banda (faixa de frequência) na qual seu produto é linear ofe-
uma banda de frequências em torno da frequência do sinal
recendo a frequência de 3 dB em cada extremidade. Esses
da portadora. Isso é comum para canais sem fio e ópticos,
são os pontos em que o fator de amplificação foi dividido
para os quais os sinais devem residir en1 uma determinada
aproximadamente ao 1neio (porque 1Olog'°0,5 ;:::: - 3).
banda de frequência.
O principal resultado de Shannon é que a taxa 1náxi-
ma de dados ou capacidade de um canal com ruídos cuja Os canais normalmente são compartilhados por vários
largura de banda é B Hz, e cuja relação sinal/ruído é SIN, é sinais. Afinal, é muito mais conveniente usar um único fio
dada por: para transportar vários sinais do que instalar um fio para
cada sinal. Esse tipo de compartilhamento é chan1ado de
Taxa máxima de dados = B log2 (1 + S/N) bits/s (2.4) multiplexação e pode ser realizado de diversas maneiras.
74 Redes de computadores

Apresentaremos métodos para 1nultiplexação por divisão Eficiência da largura de banda


de tempo, frequência e código.
As técnicas de modulação e multiplexação que des- Com o NRZ, o sinal pode alternar entre os níveis positivo
crevemos nesta seção são todas bastante usadas para canais e negativo a cada 2 bits (no caso de Is e Os alternados).
con1 fio, de fibra, terrestres sem fio e por satélite. Isso significa que precisa1nos de uma largura de banda de
pelo rnenos B/2 Hz quando a taxa de bits é 8 bits/s. Essa
Transmissão de banda base relação vem da taxa de Nyquist (Equação 2.3). Por ser um
limite fundamental, não podemos usar o NRZ mais rápido
A fonna niais simples de modulação digital é usar uma ten- sen1 usar mais largura de banda, sendo nonnahnente um
são positiva para representar um bit 1 e un1a tensão nega- recurso lin1itado, até rnesmo para canais con1 fio. Sinais de
tiva para representar um bit O, como pode ser visto na Fi- n1aior frequência são cada vez mais atenuados, tornando-os
gura 2.14(a). Para uma fibra óptica, a presença de luz poderia menos úteis, e sinais de rnaior frequência tambérn exigem
representar 1 e a ausência de luz, O. Esse esque1na é cha1nado circuitos eletrônicos 111ais rápidos.
NRZ (Non-Return-to-Zero). O nome esquisito tem moti- Uma estratégia para usar largura de banda li1nitada
vos históricos, e significa simplesmente que o sinal acompa- com mais eficiência é usar mais de dois níveis de sinali-
nha os dados. Um exemplo aparece na Figura 2. l 4(b). zação. Usando quatro níveis de tensão, por exemplo, po-
Uma vez enviado, o sinal NRZ se propaga pelo fio. demos enviar 2 bits ao 1nesn10 ternpo como un1 único sím-
Na outra ponta, o receptor o converte para bits fazendo a
bolo. Esse projeto funcionará desde que o sinal no receptor
amostragem do sinal em intervalos de tempo regulares.
seja suficientemente forte para distinguir os quatro níveis.
Esse sinal não ficará exatamente como o enviado, e será
A taxa e1n que o sinal niuda é, então, metade da taxa de bits,
atenuado e distorcido pelo canal e pelo ruído no receptor.
de modo que a largura de banda necessária foi reduzida.
Para decodificar os bits, o receptor mapeia as amostras de
sinal para os símbolos 1nais próxi1nos. Para o NRZ, uma Chamamos a taxa ern que o sinal muda de taxa de
tensão positiva será considerada para indicar que foi envia- símbolos, para distingui-la da taxa de bits (que é a taxa de
do um bit 1, e uma tensão negativa será considerada para sírnbolos multiplicada pelo número de bits por símbolo).
indicar que foi enviado utn O. Um nome mais antigo para a taxa de símbolos, principal-
O NRZ é um bom ponto de partida para nossos estu- mente no contexto de dispositivos chamados modems de
dos, pois é si1nples, nias na prática raramente é usado por telefone, que transn1ite1n dados digitais pelas linhas tele-
si só. Esquemas mais complexos podem converter bits em fônicas , é taxa baud. Na 1iteratura, "taxa de bits" e "taxa
sinais, os quais atendem melhor às considerações da enge- baud" normalmente são usadas de modo incorreto.
nharia. Esses esque1nas são chamados de códigos de linha. Observe que o núrnero de níveis de sinal não precisa
A seguir, descreveremos os códigos de linha que ajudam ser u1na potência de dois. Normaln1ente ele não é, com al-
na eficiência da largura de banda, recuperação de clock e guns dos níveis usados para proteção contra erros e simpli-
equilíbrio na componente CC. ficação do projeto do receptor.

(a) Fluxo de bits 1 o o o o 1 o 1 1 1 1

(b} NRZ (Non-Return-to-Zero)

(c) NRZ inverso (NRZI}

(d} Manchester

(Clock com XOR nos bits)

(e) Codificação bipolar


(também Alternate
Mark lnversion, AMI)

Figura 2.14 Códigos de linha: (a) Bits, (b) NRZ, (e) NRZI , (d) Manchester, (e) Bipolar ou AMI.
Capítulo 2 • A camada física 75

Recuperação de clock Naturahnente, longas sequências de Os ainda cau-


san1 um problen1a que precisamos consertar. Se fôssemos
Para todos os esquen1as que codificam bits en1 sín1bolos, a companhia telefônica, poderíamos sÍinplesmente solici-
o receptor precisa saber quando u1n símbolo termina e o tar que o h·ansmissor não transmitisse 1nuitos Os. Para que
próxiino con1eça, para decodificar os bits correta1nente. funcionassem corretamente, as linhas telefônicas digitais
Cotn o NRZ, em que os sín1bolos são sin1plesmente níveis mais antigas nos Estados Unidos, chamadas linhas Tl (dis-
de tensão, uma longa sequência de Os ou ls deixa o sinal cutidas mais adiante), realmente exigiam que não mais do
inalterado. Após um tempo, é dificil distinguir os bits, pois que 15 zeros consecutivos fossem enviados. Para resolver
15 zeros se parece1n muito com 16 zeros, a menos que você realmente o proble1na, pode1nos dividir sequências de Os
tenha um clock 1nuito preciso. mapeando pequenos gn1pos de bits para serem transmitidos
Os clocks precisos ajudaria1n co1n esse problema, n1as de modo que os grupos co1n Os sucessivos sejam mapeados
eles são tuna solução dispendiosa para equipa1nentos bási- para padrões ligeiramente maiores, que não têm muitos Os
cos. Lembre-se de que estamos temporizando bits em Links consecutivos.
que trabalha1n em muitos megabits/s, de modo que o clock Um código bem conhecido para fazer isso é chan1a-
teria de fluir por menos de uma fração de rnicrossegundo do 48/SB. Cada 4 bits são mapeados para um padrão de
pela maior sequência permitida. Isso pode ser razoável para 5 bits com uma tabela de tradução fixa. Os padrões de
enlaces lentos ou inensagens curtas, mas essa não é uma 5 bits são escolhidos de tal fonna que nunca haverá uma
solução geral. sequência de 1nais de três Os consecutivos. O mapeamento
Uma estratégia é enviar um sinal de clock separado aparece na Figura 2.15. Esse esquen1a acrescenta 20o/o de
para o receptor. Outra linha de clock não é grande coisa overhead, que é melhor do que os 100% de overhead da
para barramentos de computador ou cabos curtos, em que codificação Manchester. Co1no existem 16 combinações
existem muitas linhas paralelas, mas é um desperdício para de entrada e 32 combinações de saída, algu1nas das com-
a maioria dos enlaces de rede, pois, se tivéssemos outra binações de saída não são usadas. Deixando de lado as
linha para enviar um sinal, poderíamos usá-la para enviar combinações com muitos Os sucessivos, ainda existirão
dados. Aqui, Lt111 truque inteligente é misturar o sinal de clo- alguns códigos. Como um bônus, podemos usar esses
ck com o sinal de dados efetuando a operação XOR por códigos não de dados para representar sinais de controle
ambos, de modo que nenhuma linha extra seja necessária. da ca1nada fisica. Por exemplo, e1n alguns casos, " 11111 "
Os resultados aparecem na Figura 2.14(d). O clock faz uma representa a linha ociosa, e "1 1000" representa o início
transição de clock ern cada tempo de bit, de modo que ele de um quadro.
funciona no dobro da taxa de bits. Quando ele é XORado Uma alternativa é fazer os dados parecerem aleatórios,
com o nível O, faz a transição de baixo para alto, que é sin1- o que é conhecido como embaralbamento (ou scrambling).
plesmente o clock. Essa transição é o O lógico. Quando ele Nesse caso, provavehnente haverá h·ansições frequentes.
Um embaralhador fi.1nciona realizando o XOR dos dados
é XORado corno nível 1, é invertido e faz urna transição de
co1n u1na sequência pseudoaleatória antes de serem trans-
alto para baixo. Essa transição é o 1 lógico. Esse esquerna é
mitidos. Esse embaralhamento tornará os dados tão alea-
conhecido como codificação Manchester, e foi usado para
tórios quanto a sequência pseudoaleatória (supondo que
a Ethernet clássica.
eles sejam independentes da sequência pseudoaleatória).
A desvantagem da codificação Manchester é que ela O receptor, então, realiza o XOR dos bits de entrada co1n
exige duas vezes mais largura de banda que a NRZ, em vir-
tude do clock, e aprendemos que a largura de banda nor-
maln1ente importa. Uma estratégia diferente é baseada na Dados Código Dados Código
ideia de que deve1nos codificar os dados para garantir que ~8) (58) ~8) (58)
haja transições suficientes no sinal. Considere que o NRZ
0000 111 10 1000 10010
terá problemas de recuperação de clock son1ente para lon-
gas sequências de Os e Is. Se houver transições frequentes, 0001 01001 1001 10011
será fácil para o receptor permanecer sincronizado com o 0010 10100 1010 10110
fluxo de sünbolos de chegada.
0011 10101 1011 101 11
Como um passo na direção certa, podemos simplificar
a situação codificando um 1 como u1na transição e O como 0100 01010 1100 11010
nenhu1na transição, ou vice-versa. Essa codificação é cha- 0101 01011 1101 11011
mada NRZI (Non-Retur n-to-Zero ln\lerted), uma varia-
0110 011 10 1110 11 100
ção da NRZ. Um exemplo pode ser visto na Figura 2.14(c).
O popular padrão USB (U ni\lersal Serial Bus) para a co- 0111 01111 1111 11101
nexão de periféricos de computador usa NRZI. Com ele,
longas sequências de 1s não causa1n proble1na. Figura 2.15 Mapeamento 48/58.
76 Redes de computadores

a mes1na sequência pseudoaleatória para registrar os dados un1 bit O. Para enviar 1, o transmissor alten1a entre os níveis
reais. Para que isso seja prático, a sequência pseudoaleató- + 1 V e - 1 V, de 1nodo que eles sempre resultem na mé-
ria precisa ser fácil de criar. Em geral, ela é dada como uma dia. Esse esquema é chamado de codificação bipolar . Nas
semente para um gerador de nú1neros aleatórios si1nples. redes de telefone, ele é chamado AMI (Alternate Mark
O en1baralha1nento é atraente porque não acrescenta lnversion), baseado em un1a tern1inologia antiga, em que
largura de banda ou ten1po. De fato, nonnahnente é im- 1 é chan1ado "1narca" e O é chan1ado "espaço". Um exen1-
portante condicionar o sinal de modo que ele não mante- plo pode ser visto na Figura 2.14(e).
nha energia em componentes de frequência dominantes A codificação bipolar acrescenta um nível de ten-
(causados por padrões de dados repetitivos) que poderiam são para alcançar o equilíbrio. Como alternativa, pode-
radiar interferência eletro1nagnética. O en1baralhan1ento mos usar un1 mapea1nento co1no 4B/5B para conseguir o
ajuda porque os sinais aleatórios tendem a ser "brancos" equilíbrio (bem con10 as transições para a recuperação de
ou ter a energia espalhada pelos demais componentes de clock). Um exemplo desse tipo de código balanceado é o
frequência. código de linha 8B/ 10B. Ele 1napeia 8 bits de entrada para
Contudo, ele não garante que não haverá sequências 1Obits de saída, de modo que é 80% eficiente, assiin como
longas. Ocasionalmente, é possível não ter sorte. Se os o código de linha 4B/5B. Os 8 bits são divididos em u1n
dados forem iguais à sequência pseudoaleatória, com o grupo de 5 bits, que é mapeado para 6 bits, e um grupo
XOR, eles serão todos O. Esse resultado geralmente não de 3 bits, que é mapeado para 4 bits. Os símbolos de 6 e
ocorre com uma sequência pseudoaleatória longa, dificil 4 bits são, então, concatenados. Em cada grupo, alguns
de prever. Contudo, co1n u1na sequência curta ou previ- padrões de entrada podem ser mapeados para padrões de
sível, é possível que usuários maliciosos enviem padrões saída balanceados, com o nlesmo nún1ero de Os e 1s. Por
de bits que causem longas sequências de Os depois do exemplo, "001" é mapeado para " 1001", que é balancea-
embaralhamento, causando falha nos enlaces. As antigas do. Mas não existe1n combinações suficientes para todos
versões dos padrões para enviar pacotes IP por enlaces os padrões de saída sere1n balanceados. Para esses casos,
SONET no sistema telefünico tinham esse defeito (Malis cada padrão de entrada é nlapeado para dois padrões de
e Simpson, 1999). Era possível que os usuários envias- saída. Um terá um 1 extra e a alternativa terá um Oextra.
sem certos "pacotes fatais", sabendo que isso causaria Por exemplo, "000" é mapeado tanto para " l O11" quanto
proble1nas. para seu con1plemento "O 100". A' medida que os bits de
entrada são nlapeados para bits de saída, o e.edificador re-
Sinais balanceados corda a disparidade do símbolo anterior. A disparidade é
o número total de Os ou l s pelos quais o sinal está fora de
Sinais que tê1n tanto tensão positiva quanto negativa, mes- equilíbrio. O codificador, então, seleciona um padrão de
mo que seja por curtos períodos, são chan1ados de sinais saída ou seu padrão alternativo, para reduzir a disparida-
balanceados. Sua nlédia é zero, o que significa que eles de. Com 8B/ 10B, a disparidade será de no máximo 2 bits.
não têm o co1nponente elétrico CC (corrente contínua). Assim, o sinal nunca estará longe de ser balanceado. Nun-
A falta desse componente é u1na vantagem, pois alguns ca- ca haverá mais do que cinco 1s ou Os consecutivos, para
nais, co1no o cabo coaxial ou as linhas con1 transformado- ajudar com a recuperação do clock.
res, atenua1n bastante um componente CC, em virtude de
suas propriedades tisicas. Além disso, o método de conexão
do receptor ao canal de comunicação, cha1nado de acopla-
Transmissão de banda passante
mento capacitivo, deixa passar apenas a parte CA (corren- A comunicação por frequências de banda base é mais ade-
te alternada) de um sinal. De qualquer 1nodo, se enviarmos quada para transmissões com fio, como par trançado, cabo
um sinal cuja média não seja zero, desperdiçamos energia, coaxial ou fibra óptica. En1 outras circunstâncias, particu-
pois o componente CC será eliminado. larmente aquelas envolvendo redes sem fio e h·ans1nissões
O balanceamento ajuda a oferecer transições para are- de rádio, precisamos usar u1na faixa de frequências que
cuperação de clock, pois existe uma mistura de tensões po- não começa com zero para enviar inforn1ações por um ca-
sitiva e negativa. Ele também oferece um modo simples de nal. Especificamente, para canais sem fio, não é prático
calibrar receptores, pois a média do sinal pode ser medida enviar sinais de frequência muito baixa, pois o tamanho da
e usada como um pata1nar de decisão para decodificar sím- antena precisa ser u1na fração do co1nprimento de onda do
bolos. Con1 sinais não balanceados, a 1nédia pode flutuar do sinal, que se torna grande e1n altas frequências de trans-
nível de decisão verdadeiro, em razão de u1na alta taxa de missão. De qualquer fom1a, resnições da regulamentação
"ls", por exen1plo, que faria com que nlais símbolos fos- e a necessidade de evitar interferência normalmente ditam
sem decodificados com erros. a escolha de frequências. Até mesn10 para fios, colocar
Um 1nodo sin1ples de consh·uir um código balanceado u1n sinal em detenninada banda de frequência é útil para
é usar dois níveis de tensão para representar um "1" lógico pennitir que diferentes tipos de sinais coexistam no canal.
e um Ológico. Por exe1nplo, + 1 V para um bit 1 e - 1 V para Esse tipo de transmissão é chamado transn1issão de banda
Capítulo 2 • A camada física 77

passante, pois un1a banda de frequência arbitrária é usada Figura 2.16(c) usa apenas duas frequências. Na fonna 1nais
para passar o sinal. sünples do chaveamento por deslocamento de fase, ou PSK
Feliz1nente, nossos resultados fundamentais, mostra- (Phase Shift Keying), a onda da portadora é sistematica-
dos anteriormente, são todos en1 tennos de largura de ban- mente deslocada em O ou 180 graus em cada período de
da, ou da largura da banda de frequência. Os valores de símbolo. Co1no existem duas fases, ela é cha1nada de cha-
frequência absoluta não importan1 para a capacidade. Isso veamento binário por deslocamento de fase, ou BPSK
significa que podemos apanhar um sinal de banda base, (Binary Phase Shift Keying). O chaveamento "binário",
que ocupa de Oa B Hz, e deslocá-lo para cima para ocupar nesse caso, refere-se aos dois símbolos, não significa que
uma banda passante de S a S + B Hz se1n n1udar a quan- eles representen1 2 bits. U1n exe1nplo aparece na Figura
tidade de infonnação que ele pode transportar, embora o 2.16(d). Um esquema 1nelhor, que usa a largura de banda
sinal tenha aparência diferente. Para processar um sinal no do canal de modo mais eficiente, é usar quatro deslocamen-
receptor, podemos deslocá-lo de volta para a banda base, tos, por exemplo, 45, 135, 225 ou 315 graus, para transmitir
onde é mais conveniente detectar símbolos. 2 bits de informação por símbolo. Essa versão é chatnada
A modulação digital é realizada co1n a trans1njssão da chaveamento por deslocamento de fase em quadratura,
banda passante regulando ou modulando un1 sinal de porta- ou QPSK (Quadrature Phase Shift Keying).
dora sobreposto à banda passante. Podemos modular a am- Podemos combinar esses esquemas e usar mais níveis
plitude, a frequência ou a fase do sinal da portadora. Cada para transmitir mais bits por símbolo. Sornente a frequência
um desses métodos tem um nome correspondente. No ASK ou a fase podem ser 1noduladas em determinado rnomento,
(Amplitude Shift Keying), duas amplitudes diferentes são pois elas estão relacionadas, normahnente sendo a taxa de
usadas para representar Oe 1. Um exemplo com un1 nível mudança de fase com o tempo. Em geral, amplitude e fase
diferente de zero e zero aparece na Figura 2. l 6(b). Mais de são moduladas em combinação. Três exemplos aparecem
dois níveis podern ser usados para codificar vários bits por na Figura 2. 17 e, em cada um, os pontos dão as combina-
SÍlnbolo. ções válidas de arnplitude e de fase de cada sín1bolo. Na Fi-
De modo semelhante, com o chavea1nento por deslo- gura 2.17(a), vemos pontos equidistantes em 45, 135, 225
camento de frequência, ou FSK (Frequency Shift Keying), e 315 graus. A fase de um ponto é indicada pelo ângulo
dois ou mais tons diferentes são usados. O exemplo na que uma Unha a partir dele até a origem faz com o eixo x

o 1 o 1 1 o o 1 o o 1 o o

(a)
----li 1 1

(b)

(e)

(d)

Figura 2.16 (a} Um sinal binário. (b) Chaveamento por deslocamento de amplitude. (c) Chaveamento por deslocamento de
frequência. (d) Chaveamento por deslocamento de fase.
78 Redes de computadores

90 90 90

••••
•••• ••••
••••
• • •• •• ••••• ••••
180 o •••• o 180 ••• •••• o
• • •••• ••••
•• ••• ••••
••••
•••• ••• ••••
•••• ••••
270 270 270
(a) (b) (c)
Figura 2.17 (a) QPSK. (b) QAM-16. (e) QAM-64.

positivo. A an1plitude de u111 ponto é a distância a partir da QAM- 16, por exe111plo, se um símbolo designasse O111 e o
origem. Essa figura é u111a representação do QPSK. símbolo vizinho designasse 1000, se o receptor por engano
Esse tipo de diagrama é chamado de diagrama de apaDhasse o símbolo adjacente, ele faria co111 que todos os
constelação. Na Figura 2.17(b), ve111os um esquema de bits ficassen1 errados. U1na solução melhor é mapear en-
modulação com um diagrama de constelação mais denso. tre bits e símbolos, de modo que os símbolos adjacentes
Como são utilizadas 16 combinações de an1plitudes e fase, difiram em apenas 1 posição de bit. Esse mapearnento é
o esquema de modulação pode ser usado para transmitir chamado de código Gray. A Figura 2.18 mostra um diagra-
4 bits por simbolo. Ele é chamado QAM-16, en1 que QAM ma de constelação QAM-16 que foi codificada pelo código
significa Quadrature Amplitude Modulation (modula- Gray. Agora, se o receptor decodificar o símbolo com erro,
ção por amplitude de quadratura). A Figura 2. 17(c) é ou- ele cometerá apenas um erro de único bit no caso espera-
tro esquema de 111odulação com 64 co111binações diferentes, do em que o símbolo codificado está próximo do símbolo
de forma que podem ser transmitidos 6 bits por símbolo. transmitido.
Ele é chamado QAM-64. Também são usadas QAMs de
orde1n mais alta. Como podemos imaginar a partir dessas
constelações, é 111ais fáci l criar circuitos eletrônicos para 2.4.4 Multiplexação
produzir sín1bolos como uma combinação de valores em
cada eixo do que, como uma combinação de valores de am- Os esquemas de modulação que vimos nos permitem enviar
plitude e fase. E por isso que os padrões se parecem com um sinal para transn1itir bits por un1 enlace com ou sem fio,
quadrados, em vez de circulos concêntricos. mas eles só descrevem como transn1itir u111 fluxo de bits
As constelações que vimos até aqui não mostram de por vez. Na prática, as economias de escala desempenham
forma alguma como os bits são atribuídos aos símbolos. um papel impot1ante no modo como usamos as redes. Cus-
Ao fazer a atribuição, uma consideração importante é que ta basicamente o 111es1no valor instalar e 1nanter uma linha
uma pequena rajada de ruído no receptor não ocasiona mui- de transmissão com uma largura de banda alta e uma linha
tos erros de bit. Isso poderia acontecer se atribuíssemos co1n largura de banda baixa entre dois escritórios diferen-
valores de bit consecutivos a símbolos adjacentes. Com a tes (em outras palavras, os custos advêm de ter de cavar a

0000 0100 1100 1000


o o o o
, . .··---•--'B ...
Quando 1101 é enviado:
0001 0101 / .110~\ 1001 Ponto Decodifica como Erros de bit
o o E o ,. o
\ •A• , JC A 1101 o
---- -- '
'- / B 110Q 1
D e 1001 1
0011 011 1 1111 1011
o o o o D 1111 1
E 0101 1
0010 011 0 1110 1010
o o o o

Figura 2.18 QAM-1 6 em código Gray.


Capítulo 2 • A camada física 79

trincheira, não do tipo de cabo ou fibra que se utiliza). Con- u1n valor diferente. Depois eles podem ser combinados,
sequentemente, esquemas de multiplexação têm sido de- pois agora não há dois canais ocupando a mesma porção do
senvolvidos para con1partilhar as linhas entre muitos sinais. espectro. Observe que, apesar de haver intervalos entre os
As três principais formas de multiplexar uma única linha canais graças às bandas de proteção, há certa sobreposição
tisica são tempo, frequência e código; há também uma téc- entre canais adjacentes, porque os filtros reais não tê1n limi-
nica chamada multiplexação por divisão de comprimento tes nítidos ideais. Essa sobreposição significa que run forte
de onda, que é basicamente uma forma óptica de multiple- pico na borda de um canal será sentido no canal adjacente
xação por divisão de frequência. Discutiremos cada uma como ruído não térmico.
dessas técnicas a seguir. Esse esquema tem sido usado para multiplexar chama-
das no sistema telefônico há muitos anos, mas o esquema
Multiplexação por divisão de frequência de 1nultiplexação no tempo agora é preferido em lugar dele.
Contudo, a FDM continua a ser usada nas redes telefônicas,
A multiplexação por divisão de frequência, ou FDM assi1n co1no na telefonia celular, redes se1n fio terrestres e
(Frequency Division Multiplexing), tira proveito da trans- redes por satélite em um nível de detalhamento mais alto.
missão de banda passante para compartilhar um canal. Ela Ao enviar dados digitais, é possível dividir o espectro
divide o espectro em bandas de frequência, com cada usuá- de 1nodo eficiente sem usar bandas de proteção. Na multi-
rio tendo posse exclusiva de algun1a banda para enviar seu plexação ortogonal por divisão de frequência, ou OFDM
sinal. A transmissão de rádio AM ilustra a FDM. O espec- (Orthogonal Frequency Division Multiplexing), a largu-
tro alocado é de cerca de 1 MHz, aproxünadamente 500 a ra de banda do canal é dividida em n1uitas subpo11adoras
1500 kHz. Diferentes frequências são alocadas a diferentes que envian1 dados de 1naneira independente (p. ex., com
canais lógicos (estações), cada u1n operando en1 uma parte QA.M). As subportadoras compactam bastante o domínio
do espectro, coLn a separação entre canais grande o bastante de frequência, assim, os sinais de cada subportadora se es-
para impedir interferência. tendem para as adjacentes. Contudo, co1no vemos na Figura
Para ver un1 exemplo 1nais detalhado, a Figura 2.19 2.20, a resposta e1n frequência de cada subportadora é pro-
mostra co1no três canais telefônicos de nível de voz são jetada de 1nodo que seja zero no centro das subportadoras
multiplexados com o uso da FDM. Os filtros lim.itan1 a lar- adjacentes. As subportadoras podem, portanto, ser amostra-
gura de banda utilizável a cerca de 3.100 Hz por canal de das em suas frequências centrais sem interferência de seus
qualidade de voz. Quando muitos canais são multiplexa- vizinhos. Para que isso funcione, um tempo de proteção é
dos ao mesmo ten1po, são alocados 4.000 Hz para cada utn. necessário para repetir u1na parte dos sinais de símbolo no
A largura de banda em excesso é chamada banda de pro- tempo, de modo que tenham a resposta de frequência dese-
teção, e mantém os canais bem separados. Primeiro, os ca- jada. Porém, esse overhead é muito menor que o necessário
nais de voz tê1n sua frequência aumentada, cada qual com para muitas bandas de proteção.

Canal 1

1-

'
-
o Canal 2
•«!
<> Canal 2
nl
::> Canal 1 Canal3

-
e
Q)
nl
Q)
"O
1-

-
-
~

o
nl
u.
Canal 3
' '
' 60
.
64 68
Frequência (kHz)
~ \1
72

1- (c)
-
300 31 00 60 64 68 72
Frequência (Hz) Frequência (kHz)

(a) (b)

Figura 2.19 Multiplexação por divisão de frequência. (a) As larguras de banda originais. (b) As larguras de banda aumenta-
ram em frequência. (c) Ocanal multiplexado.
80 Redes de computadores

Potência
Separação f Uma subportadora OFDM (sombreada)
ôf

Figura 2.20 Multiplexação ortogonal por divisão de frequência (OFOM).

A ideia da OFDM já existe há muito tempo, mas A TDM é bastante usada como parte das redes de tele-
somente no início da década de 2000 ela foi arnpla- fone e celular. Para evitar um ponto de confusão, vamoses-
mente adotada, seguindo a observação de que é possí- clarecer que isso é muito diferente da multiplexação esta-
vel in1ple1nentá-la de 1nodo eficiente em tennos de uma tística por divisão de tempo, ou STDM (Statistical Time
transfonnada de Fourier dos dados digitais por todas as Division Multiplexing). O termo "estatística" é acrescen-
subportadoras (em vez de rnodular separadamente cada tado para indicar que os fluxos individuais contribuem para
subportadora). A OFOM é usada ern 802. l l , redes a cabo, o fluxo n1ultiplexado, e não sobre uma programação fixa,
redes por linhas de energia elétrica e siste1nas celulares n1as de acordo co1n a estatística de sua demanda. A STOM
de quarta geração ( 40). Normalmente, o fluxo de infor- é a cornutação de pacotes com outro norne.
mações digitais de alta velocidade é dividido em inuitos
fluxos de baixa velocidade, os quais são transrnitidos nas Multiplexação por divisão de código
subportadoras em paralelo. Essa divisão é valiosa porque
é 1nais fácil lidar com as degradações do canal no nível Existe um terceiro tipo de multiplexação, que funciona
da subportadora; algumas subportadoras podem ser muito de modo cornpletarnente diferente da FOM e da TOM .
degradadas e excluídas ern favor de subportadoras que são A multiplexação por divisão de código, ou CDM (Code
bern recebidas. Division Multiplexing) é uma forma de comunicação por
dispersão espectral, na qual um sinal de banda estreita é
espalhado por uma banda de frequência mais larga. Isso
Multiplexação por divisão de tempo pode torná-la ainda mais tolerante às interferências, além
Uma alte111ativa à FDM é a multiplexação por divisão d e de permitir que vários sinais de diferentes usuários compar-
tempo, ou TDM (Time Division M ultiplexing). Aqui, os tilhem a mesma banda de frequência. Como a CDM é usada
usuários se alternarn (em um padrão de rodízio), cada um principalmente para essa últirna finalidade, ela normaltnen-
periodican1ente usando a largura de banda inteira por um te é chamada de acesso múltiplo por divisão de código, ou
pequeno período. Urn exemplo de três fluxos sendo mul- CDMA (Code Division Multiple Access).
tiplexados com TOM aparece na Figura 2.21. Os bits de O COMA pennite que cada estação transmita por
cada fluxo de entrada são apanhados em um slot de tempo todo o espectro de frequência o tempo todo. Várias trans-
fixo e enviados para o fluxo agregado. Esse fluxo trabalha missões simultâneas são separadas usando a teoria da
e1n urna velocidade que é a soma dos fluxos individuais. codificação. Antes de entrarmos no algoritmo, vamos
Para que isso funcione, os fluxos precisarn estar sincroni- considerar un1a analogia: o saguão de um aeroporto corn
zados no ten1po. Pequenos intervalos de te1npo de proteção muitos pares de pessoas conversando. Co1n a TDM, to-
(semelhantes à banda de proteção de frequência) podem das as pessoas estariam no meio do saguão, 1nas conver-
ser acrescentados para acomodar pequenas variações de sariam por turnos, um par de pessoas de cada vez. Com a
sincronização. FOM, as pessoas formarian1 grupos bem separados, cada

1 -

- - - - '2=----_,I - M~lf~e~~or-0 [2]


rod ízio \_
G [2] G
0 0 -

----'3"-----'I - Tempo de proteção

Figura 2.21 Multiplexação por divisão de tempo (TOM).


Capítulo 2 • A camada fís ica 81

un1 mantendo sua própria conversação ao mes1no te1npo, banda necessária para u1na estação que não usa CDMA (se
alguns co1n uma altura maior e outros com uma altura não houver nludanças nas técnicas de modulação ou codifi-
menor, de modo que cada par pudesse 1nanter sua própria cação). Se tivéssemos uma banda de l MHz disponível para
conversa ao n1esmo ten1po, mas ainda independentemente 100 estações, com FDM, cada un1a teria l OkHz e poderia
dos outros grupos. Com o CDMA, todas as pessoas esta- transmitir a un1a velocidade de 1O kbps (supondo-se l bit
riatn no meio do saguão falando ao mes1no tempo, mas por Hz). No CDMA, cada estação utiliza 1 MHz inteiro e,
cada par de pessoas conversando e1n um idioma diferente. portanto, a taxa de chips é de l 00 chips por bit, para espa-
O par que estivesse falando en1 francês só reconheceria lhar a taxa de bits da estação de l Okbps pelo canal.
esse idioma, rejeitando tudo que não fosse francês como Na Figura 2.22(a) e (b), mostramos as sequências de
ruído. Desse modo, a chave do CDMA é a capacidade de chips binárias atribuídas a quatro exemplos de estações e
extrair o sinal desejado e rejeitar todos os outros como ru- os sinais que elas representam. Cada estação tem sua pró-
ido aleatório. A seguir, veremos u1na descrição um pouco pria sequência exclusiva de chips. Va1nos usar o símbolo S
simplificada do sistema. para indicar o vetor de m chips correspondente à estação S,
No CDMA, cada te1npo de duração de um bit é subdi- e S para sua negação. Todas as sequências de chips são
vidido em ni intervalos curtos, denominados chips, que são ortogonais par a par - isso significa que o produto inten10
multiplicados pela sequência de dados original (os chips nonnalizado de duas sequências de chips distintas, S e T
são uma sequência de bits, mas são denominados chips para (indicado como S•T), é O. Sabemos como gerar tal sequên-
que não sejam confundidos com os bits da própria mensa- cia 01togonal de chips usando utn método conhecido como
gen1). Normahnente, existe1n 64 ou 128 chips por bit, mas, códigos de Walsh. Em tennos 1nate1náticos, a ortogonali-
no exemplo apresentado a seguir, usaremos 8 chips/bit, dade das sequências de chips pode ser expressa por:
para si1nplificar. A cada estação é atribuído um código de 1n
1 m
bits exclusivo, chamado sequência de chips. Para fins pe- S•T .. - ~
....... S·T
I 1· = O (2.5)
dagógicos, é mais conveniente escrever esses códigos como n1 i = I

sequências de -1 e + 1. Mostraremos as sequências de chips


E1n linguagem co1num, o nú1nero de pares iguais é igual ao
entre parênteses.
número de pares diferentes. Essa propriedade da ortogona-
Para transmitir un1 bit 1, uma estação envia sua se- lidade será essencial mais adiante. Observe que, se S•T = O,
quência de chips. Para transmitir um bit O, envia a negação então S•T ta1nbétn será O. O produto interno normalizado
de sua sequência de chips. Não são permitidos quaisquer de qualquer sequência de chips por ela 1nesma é igual a 1:
outros padrões. Assi1n, para rn = 8, se a estação A receber a
atribuição da sequência de chips (- 1 - 1 - 1 + l + 1 - 1 + l + 1), Jm ]m ]m
ela transmitirá um bit 1 ao enviar a sequência de chips, e O S•S = - :L S;S; = -· :L s; = - L (±1)2 = 1
m i= I m i= I m i= I
transmitindo seu complemento: (+ 1 + 1 + 1 - 1 -1 + 1- 1 -1 ).
Na realidade, são enviados sinais com esses níveis de ten- Isso ocorre porque cada un1 dos m termos do produto in-
são, mas isso é suficiente para pensanuos em termos das terno é 1 e, portanto, a so1na é 1n. Observe ta1nbém que
, .
sequencias. S•S =-1.
O au1nento do volume de infonnações a serem envia- Durante cada intervalo com duração de utn bit, uma
das de b bits/s para rnb chips/s só poderá ocon·er se a largu- estação pode transmitir um bit 1 (enviando sua sequência
ra de banda disponível for nt vezes 1naior que a largura de de chips), pode trans1nitir u1n bit O (enviando a negativa

A = (-1 -1 - 1 + 1 + 1 -1 + 1 + 1) 1 1 1
1 1 1 1 1
~
1 1
B = (-1 -1 +1 -1 + 1 + 1 + 1 -1) :1 1 ! 1 1
1
e= (- 1 +1 -1 +1 +1 +1 -1 - 1) 1 1 1 1

D = (-1 + 1 -1 -1 - 1 -1 + 1 - 1) 1 l
(a) (b)

S1 = C = (-1 +1 -1 + 1 + 1 + 1 -1 -1) S1•C = [1+1+1+1+1+1+1+1]/8 = 1


S2 = B+C = (-2 O O O +2 +2 O-2) S2•C = [2+0+0+0+2+2+0+2]/8 = 1
S3 = A+ê = ( O O -2 +2 O-2 O +2) S3•C =[0+0+2+2+0-2+0-2V8 =o
S4 = A+B+C = (-1 +1 -3 +3 +1 -1 -1 +1) S4•C = [1+1+3+3+1-1+1-1]/8 = 1
S5 = A+B+C+D = (-4 O-2 O +2 O +2 -2) S5•C = (4+0+2+0+2+0-2+2]/8 = 1
Ss = A+B+C+D = (- 2 - 2 O- 2 O -2 +4 O) S6•C = (2- 2+0-2+0-2-4+0]/8 = - 1
(e) (d)

Figura 2.22 (a) Sequências de chips binárias para quatro estações. (b) Sinais que as sequências representam. (c) Seis
exemplos de transmissões. (d) Recuperação do sinal da estação C.
82 Redes de computadores

de sua sequência de chips), ou pode ficar inativa e não Em princípio, dada uma capacidade de computação
realizar nenhuma transn1issão. Por enquanto, supomos suficiente, o receptor poderá escutar todos os transmissores
que todas as estações estão sincronizadas e que a trans- ao 1nesmo tempo, executando o algoritino de decodificação
missão de todas as sequências de chips começa no n1esmo correspondente a cada um deles em paralelo. Na prática, é
instante. Quando duas ou mais estações transn1item simul- n1ais fácil falar do que fazer, e é útil saber quais transmisso-
taneamente, suas sequências bipolares soma1n-se linear- res poderiam estar transmitindo.
mente. Por exernplo, se, durante um período de um chip, O ideal é que, no sistema COMA sem ruído que es-
três estações transmitirem + 1 e uma estação transn1itir - 1, tudamos aqui, o número de estações que enviam simul-
o resultado +2 será recebido. Isso pode ser considerado taneamente possa ser arbitrariarnente grande, usando se-
co1no a sorna de tensões sobrepostas no canal: se três esta- quências de chips maiores. Para 2" estações, os códigos de
ções transrnitirern + 1 volt e uma estação transmitir - 1 volt Walsh podem oferecer 2" sequências de chips ortogonais
como saída, o resultado será 2 volts. A Figura 2.22(c) de tamanho 2". Contudo, uma limitação significativa é o
apresenta seis exemplos em que uma ou n1ais estações fato de considerannos que todos os chips são sincroniza-
transmitem um bit 1 ao mesn10 tempo. No primeiro exem- dos no tempo no receptor. Essa sincronização ne1n mesmo
plo, e transmite un1 bit l e, assim, simplesmente obtemos é aproximadamente verdadeira e1n algumas aplicações,
a sequência de chips de C. No segundo, B e C transmitem como em redes de celular (nas quais o CDMA foi bastante
bits 1 e obte1nos a soma de suas sequências bipolares de utilizado a partir da década de 1990). lsso leva a diferentes
chips da seguinte forma: projetos.
Assim como as redes de celular, o CDMA é usado por
(- 1- 1 + l - 1 + l + I + 1- 1) + (- 1 +1 - 1 + I + l +1- 1- 1) = satélites e redes a cabo. Nesta rápida introdução, passan1os
(- 2 ooo+2 +2 0 - 2) brevemente pelos muitos fatores complicadores. Os enge-
nheiros que desejam obter um conhecimento profundo do
Para recuperar o fluxo de bits de uma estação indi- COMA deverão ler Viterbi ( 1995) e Harie et ai. (2012). En-
vidual, o receptor precisa conhecer co1n antecedência a tretanto, essas referências exigem muita base en1 engenha-
sequência de chips da estação transmissora. Ele executa a ria de comunicação.
recuperação calculando o produto interno normalizado da
sequência de chips recebida e a sequência de chips da esta- Multiplexação por divisão de
ção cujo fluxo de bits está tentando recuperar. Se a sequên-
cia de chips recebida for S e o receptor estiver tentando
comprimento de onda
ouvir uma estação cuja sequência de chips é C, ele apenas A multiplexação por divisão de comprimento de onda,
calcula o produto interno normalizado, S•C. ou WDM (Wavelength Division Multiplexing) é uma
Para entender por que esse procedimento funciona, forma de FDM que multiplexa diversos sinais em uma fi-
irnagine que as duas estações, A e e, transn1ite1n UITI bit 1 bra óptica usando diferentes comprimentos de onda da luz.
ao mesmo te1npo que B transmite um bit O, como no caso do Na Figura 2.23, quatro fibras chegam juntas a um colima-
terceiro exemplo. O receptor percebe a soma, S = A+ B + C, dor óptico, cada u1na com sua energia presente em um com-
e calcula: primento de onda distinto. Os quatro feixes são combinados
ern uma única fibra compartilhada para transmissão a um
S•C = (A+ B + C)•C = A•C + B•C + C•C = O+ O+ 1 = 1 destino rernoto. Na extremidade remota, o feixe é dividido
no mesmo número de fibras que havia no lado da entrada.
Os dois prin1eiros termos desaparecem porque todos os Cada fibra de saída contém um núcleo curto, especiahnente
pares de sequências de chips foram cuidadosa1nente esco- construído, que filtra todos os comprimentos de onda, com
lhidos para sere1n ortogonais, como mostra a Equação 2.5. exceção de u1n. Os sinais resultantes podem ser roteados
Agora já deve estar claro por que essa propriedade precisa até seu destino ou recombinados de diferentes 1naneiras
ser imposta às sequências de chips. para transporte ou multiplexação adicional.
Para tornar mais concreto o processo de decodifi- Realrnente não há nada de novo aqui. Trata-se ape-
cação, vamos considerar novamente os seis exemplos da nas da FOM em frequências muito altas, co1u o tenno
Figura 2.22(d). Suponha que o receptor esteja interessado WDM devendo-se à descrição dos canais de fibra óptica
em extrair o bit enviado pela estação C de cada uma das en1 função de seu compri111ento de onda ou "cor" ern vez da
seis somas de S1 a S6• Ele calcula o bit somando aos pares frequência propriarnente dita. Desde que cada canal tenha
os produtos da S recebida com o vetor C da Figura 2.22(a), sua própria frequência dedicada (i.e., de comprimentos de
extraindo depois 1/8 do resultado (pois, neste caso 11·1 = 8). onda) e todas as faixas sejatn disjuntas, elas poderão ser
Os exemplos incluem casos e1n que C é silencioso, envia n1ultiplexadas na fibra de longa distância. A única diferença
um bit l e um bit O, individualmente e em combinação com en1 relação à FOM elétrica é que um sistema óptico que
outras transmissões.
,
Como vemos, o bit correto é decodifi- utilize uma rede de difração será con1pletamente passivo e,
cado a cada vez. E como falar francês. portanto, altamente confiável.
Capítulo 2 • A camada física 83

Espectro Espectro Espectro Espectro Espectro


da fibra 1 da fibra 2 da fibra 3 da fibra 4 da fibra
<1l <1l <1l <1l <1l
compartilhada
o o o o o

-e
<Q)

o
(L
õ
e
<Q)

(L
-
o
e
<Q)

(L
-
e
<Q)
o
(L
e
-
<Q)
o
(L

Filtro ""'
À.1
Fibra 1 À.2
À.2
Fibra 2 À.1+/,2+À3+À.4 À.4
À.3 Colimador Divisor

"
Fibra 3 À.1
À.4 Fibra compartilhada
Fibra 4 de longa distância À.3

Figura 2.23 Multiplexação por divisão de comprimento de onda.

A razão para a WDM ser popular é o fato de a energia e converter cada um deles a um sinal elétrico para amplifi-
e1n u1n único canal nonnalmente ter apenas alguns gigahertz cação separada, antes de conve1tê-los novamente em sinais
de largura porque, no n1on1ento, é in1possível realizar a con- ópticos e combiná-los. Hoje, os a1nplificadores totahnen-
versão entre sinais elétricos e ópticos com rapidez maior te ópticos podem regenerar o sinal inteiro unia única vez
que essa. Utilizando-se muitos canais em paralelo com dife- a cada J .000 km, sem a necessidade de várias conversões
rentes comprimentos de onda, a largura de banda agregada ópticas/elétricas.
aumenta de fonna linear con1 o número de canais. Co1no a No exe1nplo da Figura 2.23, te1nos un1 sisten1a de
largura de banda de uma única banda de fibra é de aproxi- con1primento de onda fixo. Bits da fibra de entrada 1 vão
madamente 25.000 GHz (veja a Figura 2.5), teoricamente para a fibra de saída 3, bits da fibra de entrada 2 vão para a
existe espaço para 2.500 canais de l O Gbps, mesmo a fibra de saída 1, etc. Porém, também é possível criar siste-
1 bit/Hz (e tarnbém são possíveis taxas mais altas). mas WDM comutados no domínio óptico. Em dispositivos
A tecnologia WDM tem progredido a u1na taxa que como esses, os fi ltros de saída são ajustáveis co1n o uso de
faria a tecnologia computacional se envergonhar. O siste1na interferô1netros de Fabry-Perot ou de Mach-Zehnder. Esses
WDM foi criado por volta de 1990, com os primeiros siste- dispositivos permitem que as frequências selecionadas se-
mas comerciais tendo 8 canais de 2,5 Gbps por canal. Em jam trocadas dinamica1nente por um computador de contro-
1998, havia sistemas com 40 canais de 2,5 Gbps no 1nerca- le. Essa capacidade oferece utna grande flexibilidade para
do. Em 2006, já era1n utilizados produtos com 192 canais a provisão de muitos caminhos de comprimento de onda
de 1O Gbps e 64 canais de 40 Gbps, capazes de mover até diferentes através da rede telefônica a partir de um conjunto
2,56 Tbps. Em 20 19, havia siste1nas que podiam lidar com fixo de fibras. Para obter mais informações sobre redes óp-
160 canais, aceitando rnais de 16 Tbps por urn único par ticas e WDM, consulte Grobe e Eiselt (20 13).
de fibra. Isso é 800 vezes mais capacidade que os sistemas
de 1990. Os canais também estão bastante compactados na
fibra, com 200, l 00 ou mesmo 50 GHz de separação.
Estreitando o espaçamento para 12,5 GHz, é possí- 2.5 A REDE PÚBLICA DE
vel usar 320 canais em uma única fibra, aumentando ainda TELEFONIA COMUTADA
mais a capacidade de trans1nissão. Tais siste1nas, com um
grande número de canais pouco espaçados, são conhecidos Quando dois co1nputadores, instalados perto um do outro,
como DWDM (Dense WDM). Sistemas DWDM costu- precisam se comunicar, geralmente é mais fácil conectá-los
mam ser 1nais caros, pois precisa1n manter comprimentos por meio de um cabo. As LANs funcionam dessa forma.
de onda e frequências estáveis, devido ao pouco espaça- No entanto, quando as distâncias começarn a ficar grandes
mento de cada canal. Como resultado, esses sistemas re- ou muitos computadores e cabos tê1n de atravessar un1a es-
gulam de perto sua te1nperatura, a fim de garantir que as trada ou outra passagem pública, os custos de instalação de
fi·equências sejam precisas. cabos privados costumam ser proibitivos. Além disso, em
Um dos impulsionadores da tecnologia WDM é o de- quase todos os países do mundo, também é ilegal estender
senvolviinento de a1nplificadores totalmente ópticos. An- linhas de transmissão privadas e1n (ou sob) propriedades
tes, a cada 100 km era necessário dividir todos os canais públicas. Consequentemente, os projetistas de rede devem
84 Redes de computadores

confiar nos recursos de telecomunicações existentes, como a de seu concorrente, Elisha Gray), houve u1na grande de-
rede de telefonia, a rede celular ou a rede de televisão a cabo. manda por essa nova invenção. Inicialmente, o mercado es-
O fator limitante para a rede de dados tem sido a tava voltado para a venda de telefones, que eram comercia-
"última milha" sobre a qual os clientes se conectam, que lizados aos pares. Era o usuário que1n tinha de conectar os
pode depender de qualquer uma dessas tecnologias físi- dois aparelhos usando u1n fio. Se o proprietário de u1n tele-
cas, ao contrário da chamada infraestrutura de "backbone" fone quisesse usar o aparelho para conversar con1 n outros
para o restante da rede de acesso. Na última década, essa proprietários de telefone, tinha de conectar fios e111 todas
situação mudou drasticamente, com velocidades de 1 Gbps as n residências. Em um ano, as cidades ficaram tomadas
para casa se tornando cada vez mais comuns. Embora uma por fios que passava1n pelas casas e pelas árvores, em urna
contribuição para velocidades de último quilômetro mais selva de fios. Logo ficou óbvio que o modelo de conexão
rápidas seja a i1nplantação contínua de fibra na extrenudade de um telefone a outro, como é mostrado na Figura 2.24(a),
da rede, talvez um fator ainda mais significativo em alguns não funcionaria.
países seja a engenharia sofisticada das redes de telefone Bell percebeu essa situação e criou a Bell Telephone
e cabo existentes para espremer cada vez 1nais largura de Con1pany, que abriu sua prin1eira estação de co1nutação
banda da infraestrutura. Acontece que trabalhar com a in- (em New Haven, Connecticut) em 1878. A en1presa ligava
fraestrutura física existente para aLunentar as velocidades um fio até a casa ou o escritório de cada usuário. Para fazer
de transmissão é muito 1nais barato do que colocar novos uma cha1nada, o usuário girava a manivela, o que emitia
cabos (de fibra) no solo. Agora, va1nos explorar as arqui- um son1 na companhia telefônica e chamava a atenção de
teturas e características de cada uma dessas infraestruturas un1 operador. Este, por sua vez, conectava manualmente o
físicas de comunicação. emissor da chamada ao receptor usando um cabo curto. Ob-
Esses recursos existentes, em particular a PSTN (Pu- serve, na Figura 2.24(b), o modelo de urna única estação de
blic Switched Telephone Network), foram projetados há comutação.
muitos anos, tendo em vista um objetivo co1npletamente Não demorou n1uito tempo para as estações de co-
diferente: a trans1nissão da voz htnnana de u1na forma tnais mutação da Bell System se espalharem por todos os lo-
ou menos reconhecível. Um cabo instalado entre dois com- cais, e logo as pessoas passaram a querer fazer chamadas
putadores pode transferir dados a 1O Gbps ou mais; a rede interurbanas. Por isso, a Bell Systern passou a conectar
telefônica, portanto, tem seu trabalho reduzido em termos uma estação de co1nutação a outra. Contudo, o problema
de transrnissão de bits em altas velocidades. As primeiras original veio à tona mais uma vez: conectar cada estação
tecnologias DSL (Digital Subscriber Line) só podiam trans- de comutação a outra através de u1n fio logo se tornou in-
mitir dados em velocidades de alguns Mbps; agora, as ver- viável. Então, foram inventadas as estações de comutação
sões mais modernas da DSL podem alcançar velocidades de segundo nível. Depois de algum te1npo, tornara1n-se
que se aproximam de 1 Gbps. Nas próximas seções, descre- necessárias várias estações de segundo nível, como mos-
veremos o sistema telefônico e mostraremos corno ele fun- tra a Figura 2.24(c). Mais tarde, a hierarquia cresceu até
ciona. Para obter informações adicionais sobre o funciona- alcançar cinco níveis.
mento interno do sistema telefônico, consulte Laino (2017). Em 1890, era possível notar a presença das três prin-
cipais partes do sisten1a telefôni co: as estações de comu-
tação, os fios que ligavam os usuários a essas estações
2.5.1 Estrutura do sistema telefônico (agora já operando cotn cabos de pares trançados, isolados
Logo depois que Alexander Graharn Bell patenteou a in- e balanceados em vez de cabos abertos co1n retomo por
venção do telefone, em 1876 (apenas algumas horas antes terra) e as conexões de longa distância existentes entre

(a} (b) (e)

Figura 2.24 (a) Rede totalmente interconectada. (b) Switch centralizado. {c) Hierarquia de dois níveis.
Capítulo 2 • A camada física 85

as estações de co1nutação. Para obter breves informações centros de comutação e sua topologia variam de um país
técnicas sobre o sistema telefônico e sua história, consulte para outro, dependendo da densidade da telefonia do país.
Hawley (1991). Se as estações finais do transmissor e do receptor ti-
E1nbora tenha havido melhorias em todas as três verem un1 tronco de conexão interurbana ligado à 1nes1na
áreas desde então, o modelo básico da Bell System conti- estação interurbana (uma situação bastante provável caso
nuou praticamente intacto por mais de 100 anos. Embora estejam geografican1ente próximos), a conexão poderá ser
seja bastante sin1plificada, a descrição a seguir apresenta a estabelecida dentro da estação interurbana. Observe, na
ideia básica do siste1na telefônico. Cada telefone contén1 Figura 2.24(c), u1na rede telefônica fonnada apenas por
dois fios de cobre que saem do aparelho e se conectam telefones (os pontos pequenos), estações finais (os pontos
diretamente à estação tina! mais próxin1a da companhia maiores) e estações interurbanas (os quadrados).
telefônica (também denominada estação central local). Se o transmissor e o receptor não compartilharen1 a
Em geral, a distância varia de 1 a 1O kin, sendo n1enor mesn1a estação interurbana, terá de ser estabelecido um
nas cidades que nas regiões rurais. Só nos Estados Uni- caminho entre duas estações interurbanas, as quais se
dos, existem cerca de 22 mil estações finais. As conexões co1nunica1n entre si por ineio de troncos interurbanos
através de dois fios entre o telefone de cada assinante e de alta largura de banda (ta1nbé1n deno1ninados troncos
a estação final são conhecidas no mercado como circui- entre estações). Antes da dissolução da AT &T, em 1984,
to terminal. Se todos os circuitos terminais existentes no o sistema telefônico dos Estados Unidos usava o rotea-
mundo fossem esticados de uma extremidade a outra, seu 1nento hierárquico para encontrar um catninho, indo para
comprimento equivaleria a mil vezes a distância da Terra à níveis mais altos da hierarquia até que houvesse uma es-
Lua e de volta à Terra. tação de comutação em comum. Isso foi substituído pelo
Houve uma época em que 80% do capital da AT&T roteamento não hierárquico, mais flexível. A Figura 2.25
estava no cobre dos circuitos terminais, o que a tornava mostra como uma conexão de média distância pode ser
a maior mina de cobre do inundo. Feliz1nente, essa infor- roteada.
mação não foi muito difundida na co1nunidade financeira. Nas telecomunicações, são usados vários meios de
Se tivessem conhecimento desse fato, alguns empresários trans1nissão. Diferentemente dos prédios de escritórios 1no-
poderiam comprar a AT&T, encerrar todos os serviços de dernos, nos quais a fiação nonnauuente é de Categoria 5 ou
telefonia dos Estados Unidos, descascar toda a fiação e 6, os circuitos terminais são fonnados por cabos de pares
vender os fios a uma refinaria de cobre para ter u1n retomo trançados de Categoria 3, con1 a fibra apenas começando
rápido do capital. a aparecer. Entre as estações de comutação, o uso de cabos
Se u1n assinante conectado a uma determinada estação coaxiais, micro-ondas e, principalmente, de fibras ópticas,
final ligar para outro assinante da mesma estação, o 1neca- é bastante frequente.
nismo de con1utação dentro da estação configurará u1na co- No passado, a transmissão em todo o siste1na telefô-
nexão elétrica direta entre os dois circuitos terminais. Essa nico era analógica, co1n o sinal de voz real sendo trans-
conexão pennanecerá intacta durante a chamada. 1nitido como uma tensão elétrica da origen1 até o destino.
Se o telefone chamado estiver conectado a outra es- Com o advento da fibra óptica, da eletrônica digital e dos
tação final, outro procedimento terá de ser usado. Cada computadores, todos os troncos e switches são agora di-
estação final conté1n uma série de linhas de saída para gitais, deixando o circuito terminal co1no o último frag-
un1 ou 1nais centros de comutação vizinhos, denominados 1nento de tecnologia analógica no siste1na. A transmissão
estações interurbanas (ou, se estiveren1 na mesma área, digital é preferida porque, e1n un1a chamada longa, não é
estações Tandem). Essas linhas são denominadas troncos necessário reproduzir com precisão uma forma de onda
de conexão interurba na. O número de diferentes tipos de analógica depois de ter passado por muitos an1plificadores.

Estação(ões)
Telefone Estação Estação de comutação Estação Estação Telefone
final interurbana intermediária(s) interurbana final

Ü ! /~
\\ 3\ ( :g>
/
§7
/ /1\1;;::::
,s :::::i

Circuito Tronco de Troncos Tronco de Circuito
terminal conexão entre estações conexão terminal
interurbana com largura de interurbana
banda muito alta
Figura 2.25 Rota de um circuito típico para uma chamada de longa distância.
86 Redes de computadores

Ser capaz de distinguir corretamente Ode 1já é suficiente. Modems de telefone


Essa propriedade toma a transmissão digital 1nais confiá-
vel que a analógica, sendo também mais econômica e de A maioria das pessoas está fa1niliarizada co1n o circuito ter-
manutenção mais fácil. n1inal de dois fios, que vem da estação final de uma com-
En1 su1na, o sistema telefônico é fonnado por três panhia telefônica até as residências. Com frequência, o cir-
con1ponentes principais: cuito terminal tambétn é chamado "o último quilômetro'',
ernbora o comprimento real possa chegar a vários quilôtne-
1. Circuitos terminais (pares trançados analógicos indo tros. Muito esforço te1n sido dedicado para espren1er a rede
para as residências e para as empresas). de dados pelos circuitos terminais de cobre que já estão
2. Troncos (fibra óptica digital de altíssima largura de instalados. Os modems de telefone enviam dados digitais
banda conectando as estações de co1nutação). entre computadores pelo canal estreito que a rede telefôni-
3. Estações de con1utação (onde as chan1adas são transfe- ca oferece para u1na cha1nada de voz. Eles já foram n1uito
ridas de um tronco para outro, elétrica ou opticamente). utilizados, n1as foram substituídos em grande parte por tec-
nologias de banda larga, con10 ADSL, que reutilizam o cir-
Os circuitos tenninais oferece1n acesso ao sistema in- cuito terminal para enviar dados digitais de urn cliente para
teiro para todas as pessoas; assim, eles são críticos. Infeliz- a estação final , onde são enviados para a Internet. Os 1node-
mente, eles também constitue1n o elo mais fraco no siste-
n1s e a ADSL precisam lidar com as limitações dos antigos
ma. Para os troncos de longa distância, a principal questão circuitos tenninais: largura de banda relativa1nente estreita,
é reunir várias chamadas e transmiti-las ao mesmo tempo, atenuação e distorção dos sinais, e suscetibilidade ao ruído
pela mesma fibra, o que é feito usando a WDM. Por últirno, elétrico, con10 linha cruzada.
existern duas formas fundarnentahnente distintas de execu- Para enviar bits pelo circuito terminal, ou qualquer
tar a comutação: co1nutação de circuitos e comutação de
outro canal físico pelo mesmo motivo, eles precisam ser
pacotes. Portanto, analisaremos ambas.
convertidos para sinais analógicos que podem ser trans-
1nitidos pelo canal. Essa conversão é realizada usando os
2.5.2 O circuito terminal: modems, métodos para modulação digital que estuda1nos na seção
anterior. Na outra ponta do canal, o sinal analógico é con-
ADSL e fibra óptica vertido de volta para bits.
Nesta seção, estudaremos o circuito terminal, tanto o Um dispositivo que converte entre um fluxo de bits
novo quanto o antigo. Vere1nos os modems de telefone, digitais e um sinal analógico que representa os bits é cha-
ADSL e FTTH. Em alguns lugares, o circuito terminal mado modem, que é uma abreviação de "1nodulador-demo-
foi modernizado instalando-se fibra óptica até a residên- dulador". Os n1odems vê1n em muitas variedades: modems
cia (ou muito próximo dela). Essas instalações admitem de telefone, DSL, a cabo e sem fio. No caso de um modem
redes de co1nputadores desde o início, con1 o circuito a cabo ou DSL, o dispositivo geralmente é um hardware
terminal tendo ampla largura de banda para os serviços separado que fica entre a linha física entrando na casa e
de dados. lnfelizn1ente, o custo para levar a fibra até as o restante da rede dentro da casa. Os dispositivos sem fio
' geralmente possuem seus próprios modems embutidos.
residências é 1nuito grande. As vezes, isso é feito quan-
do as ruas são escavadas para outras finalidades; alguns Logicamente, o modem é inserido entre o computador (di-
municípios, especiahnente en1 áreas urbanas densamente gital) e o sistema telefônico (analógico), como vemos na
povoadas, possuem circuitos terminais de fibra. Porém, Figura 2.26.
em sua maioria, eles são a exceção, mas certamente farão Os modems de telefone são usados para enviar bits
parte do futuro . entre dois computadores por uma linha telefônica com

Computador Tronco (digital, fibra) Linha digital


~ Circuito terminal
-ISP2
(analógico) .==.==ii
D ~
t
Modem
Linha
analógica
Codec
~ ISP 1
Estação
final t
Codec Modem

Figura 2.26 Ouso de transmissão analógica e digital para uma chamada de computador para computador. A conversão é
feita por modems e codecs.
Capítulo 2 • A camada física 87

qualidade de voz, en1 lugar da conversação que normal- Contudo, existe um meio de mudar a situação. Na es-
mente preenche a linha. A principal dificuldade ao fazer tação final da con1panhia telefônica, os dados são conver-
isso é que uma linha de telefone para a voz humana é limi- tidos para a fonna digital para transmissão dentro da rede
tada a 3.100 Hz, o suficiente para transportar un1a conversa. telefônica (o núcleo da rede telefônica convertia de analó-
Essa largura de banda é n1ais de quatro ordens de grandeza gico para digital há muito ten1po). O limite de 35 kbps é
menor que a largura de banda usada para Ethernet ou rede para a situação em que existe1n dois circuitos tenninais, um
802.11 (WiFi). Não é surpresa que as taxas de dados dos em cada ponta. Cada um deles acrescenta ruído ao sinal.
modems de telefone também sejam quatro ordens de gran- Se pudéssemos nos livrar de um desses circuitos terminais,
deza n1enores que as da Ethernet e da rede 802. 11 . aumentaríamos a SNR e a taxa n1áxima seria dobrada.
Va1nos analisar os nú1neros para ver por que isso É co1n essa técnica que os mode1ns de 56 kbps funcio-
acontece. O teorema de Nyquist nos diz que, mesmo com nam. Uma extremidade, normalmente um ISP, recebe uma
uma linha perfeita de 3.000 Hz (que uma linha telefônica entrada digital de alta qualidade da estação frnal mais pró-
decididarnente não é), não há sentido em enviar símbolos xima. Desse modo, quando uma extremidade da conexão é
em u1na taxa mais rápida que 6.000 bauds. Por exemplo, um sinal de alta qualidade, co1no ocorre com a maioria dos
van1os considerar um n1ode1n mais antigo enviando a uma ISPs atuais, a taxa máxima de dados pode chegar a 70 kbps.
taxa de 2.400 símbolos/s, ou 2.400 bauds, que captura vá- Entre dois usuários domésticos com modems e linhas ana-
rios bits por símbolo, enquanto permite o tráfego nas duas lógicas, o máximo ainda é 33 ,6 kbps.
direções ao mesmo tempo (usando diferentes frequências A razão para o uso de mode1ns de 56 kbps (e1n vez
para diferentes direções). de modems de 70 kbps) está relacionada ao teorema de
O hun1ilde 1nodem de 2.400 bps usa Ovolt para um Nyquist. Um canal de telefonia é transportado dentro do
valor lógico Oe l volt para um valor 1, com l bit por sím- sistema telefônico como amostras digitais. Cada canal tele-
bolo. No próximo passo, ele pode usar quatro símbolos di- fônico te1n cerca de 4.000 Hz de largura, incluindo as ban-
ferentes, como nas quatro fases do QPSK, de modo que, das de proteção. O número máximo de amostras indepen-
con1 2 bits/sí1nbolo, ele pode alcançar un1a taxa de dados dentes por segundo é, portanto, 8.000. O número de bits por
de 4.800 bps. amostra na América do Norte é 8, um dos quais pode ser
Uma longa progressão de taxas mais altas tem sido usado para frns de controle, permitindo 56.000 bits/s de da-
alcançada à medida que a tecnologia melhora. Taxas mais dos do usuário. Na Europa, todos os 8 bits estão disponíveis
altas exigem um conjunto maior de símbolos (ver Figu- para os usuários, e assitn poderiam ser usados moden1s de
ra 2.17). Com 1nuitos símbolos, até mesmo uma pequena 64.000 bits/s; porém, para chegar a um acordo internacio-
quantidade de ruído na amplitude ou fase detectada pode nal sobre um padrão, o valor de 56.000 foi escolhido.
resultar em um erro. Para reduzir a chance de erros, os pa- O resultado final são os modems padrão V.90 e V.92.
drões para modems de velocidade mais alta utilizam alguns Eles são capazes de trans1nitir 56 kbps no canal downstre-
dos símbolos para correção de erros. Os esquemas são co- am (ISP ao usuário) e 33,6 kbps e 48 kbps no canal ups-
nhecidos como modulação codificada por treliças, ou tream (usuário para ISP), respectivamente. A assimetria
TCM (Trellis Coded Modulation). A Figura 2.27 mostra ocorre porque normalmente existem 1nais dados transpo1ta-
alguns padrões de modem comuns. dos do !SP para o usuário do que o contrário. Isso também
Por que parar em 33.600 bps? A razão para isso é que significa que uma pa1te 1naior da largura de banda limitada
o limite de Shannon para o sistema telefônico é de apro- pode ser alocada ao canal downstream, para aumentar as
ximada1nente 35 kbps, com base no comprimento 1nédio chances de que ele realmente funcione a 56 kbps.
dos circuitos terminais e na qualidade dessas linhas. Uma
transmissão mais rápida que isso violaria as leis da fisica Digital Subscriber Lines (DSL)
(departamento da termodinâmica) ou exigiria novos circui-
tos terminais (o que gradualmente está sendo feito). Quando a indústria de telefonia finalmente conseguiu al-
cançar 56 kbps, ela se congratulou pelo serviço ben1-feito.
Enquanto isso, a indústria de TV a cabo estava oferecendo
Padrão de modem Baud Bits/símbolo Bps
velocidades de até l O Mbps sobre cabos co1npartilhados.
A' medida que o acesso à Internet se tomou uma parte cada
V.32 2.400 4 9.600 vez mais i1nportante de seus negócios, as co1npanhias te-
V.32 bis 2.400 6 14.400 lefônicas locais co1neçaram a perceber que precisavan1 de
u1n produto mais competitivo. Sua resposta foi começar
V.34 2.400 12 28.800
a oferecer novos serviços digitais ao circuito tenninal do
V.34 bis 2.400 14 33.600 assinante.
Inicialmente, havia muitas ofertas sobrepostas, to-
Figura 2.27 Alguns padrões de modem e suas taxas das sob o nome genérico de linha digital do assinan-
de bits. te, ou xDSL (Digital Subscriber Line), para diversos x .
88 Redes de computadores

Os serviços co1n mais largura de banda do que o serviço A implicação dessa figura cria um proble1na para a
telefônico padrão às vezes são cha1nados de banda larga companhia telefônica. Quando escolhe uma velocidade
(broadbaod), embora o termo seja mais un1 conceito de para oferecer, ela está ao mesmo tempo escolhendo u1n
marketing do que u1n conceito técnico específico. Mais raio a partir de suas estações finais, além do qual o ser-
adiante, vamos nos concentrar principahnente naquele que viço não poderá ser oferecido. Isso significa que, quando
provaveltnente se tornou o 1nais popular desses serviços, clientes distantes tentarem assinar o serviço, eles receberão
a ADSL (Asymmetric DSL). Tan1bém usaremos o termo a seguinte n1ensagem: "Muito obrigado por seu interesse,
DSL ou xDSL como uma abreviação geral. mas você está 100 m além da distância máxima da central
A razão para os modems serem tão lentos é que os mais próxima que poderia lhe ofere.cer o serviço. Você não
telefones fora1n inventados para transportar a voz humana, gostaria de se 1nudar?". Quanto 1nais baixa a velocidade
e o sistema inteiro foi cuidadosamente otimjzado para esse escolhida, maior o raio e 1naior o número de clientes cober-
propósito. Os dados sen1pre estiveram e1n segundo plano. tos. Porém, quanto mais baixa a velocidade, menos atraente
No ponto em que cada circuito terminal chega à estação será o serviço e menor o número de pessoas que estarão
final , o fio passa por u1n fi ltro que atenua todas as frequên- dispostas a pagar por ele. É aqui que os negócios encontram
cias abaixo de 300 Hz e acima de 3.400 Hz. O corte não a tecnologia.
é nítido - 300 Hz e 3.400 Hz são os pontos de 3 dB - as- Todos os serviços xDSL foram criados visando cer-
sim, a largura de banda norLnalmente é 1nencionada como tos objetivos. Primeiro, os serviços devem funcionar nos
4.000 Hz, e1nbora a distância entre os pontos de 3 dB seja circuitos tenninais de pares trançados da Categoria 3 exis-
de 3.100 Hz. Portanto, os dados no fio tan1bém estão restri- tente. Segundo, eles não devem afetar os telefones e os apa-
tos a essa banda estreita. relhos de fax atuais dos clientes. Terceiro, eles devem ser
O artificio que faz o xDSL funcionar é o fato de, quan- n1uito 1nais rápidos que 56 kbps. Quarto, eles devem estar
do u1n cliente se inscreve nele, a linha de entrada ser conec- sen1pre ativos, apenas com uma tarifa mensal e nenhuma
tada a um tipo diferente de switch, que não tem esse filtro, tarifa por minuto.
tornando disponível toda a capacidade do circuito terminal. Para cumprir os objetivos técnicos, o espectro de
Então, o fator li1nitador passa a ser a constituição física do 1, 1 MHz disponível no circuito terminal é dividido em 256
circuito tenninal, que aceita aproximadamente 1 MHz, e canais independentes de 4.312,5 Hz cada um. Esse arranjo
não a largura de banda artificial de 3.100 Hz criada pelo pode ser visto na Figura 2.29. O esquema OFDM, que vi-
filtro. mos na seção anterior, é usado para enviar dados por esses
Infelizmente, a capacidade do circuito terminal cai canais, e1nbora norn1almente seja chan1ado DMT (Discrete
rapidamente com a distância da estação fina l, pois o sinal MultiTone) no contexto da ADSL. O canal Oé usado para
é degradado cada vez 1nais ao longo do fio. Ela ta1nbém o POTS (Plain Old Telephooe Service), e os canais de
depende da espessura e da qualidade geral do par trançado. l a 5 não são usados, a fim de impedir que o sinal de voz
A Figura 2.28 mostra um esboço da largura de banda poten- e os sinais de dados interfiram uns con1 os outros. Dos 250
cial con10 uma função da distância, pressupondo que todos canais restantes, un1 é utilizado para o controle upstream e
os outros fatores estão otimizados (novos fios, pacotes de outro é empregado para o controle downstrea1n. Os demais
serviços, etc.). estão disponíveis para dados do usuário.

50

40

(/) 30
o.
.D
~
20

1000 2000 3000 4000 5000 6000


Metros

Figura 2.28 Variação da largura de banda versus a distância sobre o UTP da categoria 3 para DSL.
Capítulo 2 • A camada física 89

256 canais de 4 kHz


.!l!
o
e
<Q>
" " " " " " " " " " " " " " " " " " " " " " "
õ
a.

-
o
Voz
25
Upstream Downstream
1100 kHz

Figura 2.29 Operação ADSL usando modelagem discreta por multitom.

Em princípio, cada um dos canais restantes pode ser descendo até 2, l ou nenhum bit por símbolo enviado em
usado ern um fluxo de dados full-duplex; porérn, harmô- um canal com urna SNR baixa, dependendo do padrão.
nicos, linhas cruzadas e outros efeitos mantêm a utilização A Figura 2.30 mostra a organização de uma ADSL tí-
de sistemas práticos bem abaixo do limite teórico. Cabe ao pica. Nesse esquema, um técnico da companhia telefônica
provedor definir quantos canais serão usados para upstrearn deve instalar um dispositivo de interface de rede, ou NlD
e quantos serão usados para downstream. Urna mistura de (Net,vork Interface Device) no local do cliente. Essa pe-
50º/o para cada um é tecnicamente possível, rnas a maioria quena caixa plástica marca o firn da propriedade da con1pa-
dos provedores aloca algo como 80 a 90o/o da largura de nhia telefônica e o início da propriedade do cliente. Próxi-
banda ao canal downstream, pois a maioria dos usuários faz mo ao NlD (ou às vezes combinado a ele) há um divisor,
rnais download do que upload de dados. Essa escolha deu um filtro analógico que separa a banda de Oa 4.000 Hz uti-
origern à letra "A" (assimétrica) no acrônimo ADSL. Uma lizada pelo POTS dos dados. O sinal do POTS é roteado até
divisão comum reserva 32 canais para upstrea1n e os restan- o telefone ou o equipamento de fax existente, e o sinal de
tes para downstream. Também é possível tornar bidirecio- dados é roteado até um rnodem ADSL, que usa o proces-
nais alguns dos canais upstrea.rn mais altos para aumentar a samento do sinal digital para implernentar OFDM. Corno
largura de banda, embora essa otimização exija o uso de um a maioria dos rnodems ADSL atuais é externa, o cornpu-
circuito especial para cancelamento de ecos. tador deve estar conectado ao modem ern alta velocidade.
O padrão ADSL internacional, conhecido como Normalmente, isso é feito usando Ethernet, cabo USB ou
G.dn1t, foi aprovado ern 1999 e permite velocidades de rede 802. 11.
até 8 Mbps downstream e 1 Mbps upstream. Ele foi substi- Na outra extrernidade do fio, ao lado da estação final,
tuído por uma segunda geração e1n 2002, chamada ADSL2, está instalado urn divisor correspondente. Aqui, a porção de
corn diversas melhorias para permitir velocidades de até voz do sinal é filtrada e enviada ao switch de voz normal.
12 Mbps downstream e 1 Mbps upstream. ADSL2+ dobra O sinal acima de 26 kHz é roteado para um novo tipo de
a velocidade downstrearn para 24 Mbps ao dobrar a largura dispositivo, chamado multiplexador de acesso à linha di-
de banda para usar 2,2 MHz pelo par trançado. gital do assinante, ou DSLAM (Digital Subscriber Line
Em 2006 ocorreu a melhoria seguinte, o VDSL, que Access Multiplexer), que contétn a mesma espécie de pro-
empurrou a taxa de dados nos circuitos terminais ruais cur- cessador de sinal digital que o modem ADSL. O DSLAM
tos para 52 Mbps downstream e 3 Mbps upstream. Então, converte o sinal em bits e envia pacotes para a rede de da-
de 2007 a 2011, un1a série de novos padrões, sob o nome de dos do provedor de serviços da Internet.
VDSL2, sobre circuitos terminais de alta qualidade, con- Essa separação completa entre o sisten1a de voz e a
seguiram usar largura de banda de 12 MHz e atingir taxas ADSL toma relativamente fáci l para uma companhia tele-
de dados de 200 Mbps downstrearu e l 00 Mbps upstream. fônica distribuir esse serviço. Basta adquirir um DSLAM
Em 20 I 5, o Vplus foi proposto para circuitos tenninais me- e um divisor, e conectar os assinantes da ADSL ao divisor.
nores que 250 m. Em princípio, ele pode atingir 300 Mbps Outros serviços de alta largura de banda entregues pela rede
downstream e l 00 Mbps upstream, mas não é fácil fazê-lo telefônica (p. ex., ISDN) exigem mudanças 1nuito maiores
funcionar na prática. Podemos estar perto do fim da linha no equipamento de comutação existente.
aqui para a fiação Categoria 3 existente, exceto talvez para A próxima fronteira para a ilnplantação da DSL é atin-
distâncias ainda mais curtas. gir velocidades de transmissão de 1 Gbps ou rnais. Esses
Dentro de cada canal, a modulação QAM é usada a esforços estão se concentrando e1n un1a série de técnicas
uma taxa de aproxin1adamente 4.000 símbolos/s. A quali- con1plementares, incluindo uma técnica chamada bonding
dade da Linha em cada canal é monitorada constanternente, (ou união), que cria uma única conexão DSL virtual combi-
e a taxa de dados é ajustada usando um diagrama de conste- nando duas ou mais conexões DSL fisicas. Obviatnente, se
lação maior ou menor, corno os da Figura 2.17. Diferentes combinarmos dois pares trançados, será possível dobrar a
canais poden1 ter diferentes taxas de dados, co1n até 15 bits largura de banda. Em alguns lugares, os fios telefônicos que
por símbolo enviado em um canal com uma SNR alta, e entram nas casas usam um cabo que, na verdade, tem dois
90 Redes de computadores

Comu-
tador
de voz

,._...- Codec

Divisor Linha Divisor

'---" /
~v
telefônica
;
> - - - - - - 1 - - - - ' - - - - - - + l NID
/
Computador
\

~---.---
I º
D
Ao ISP
Modem
ADSL
/
Ethernet

Estação final da companhia telefônica Local do cliente

Figura 2.30 Configuração típica de equipamento ADSL.

pares trançados. A ideia original era pern1itir duas linhas e to the Distribution Point (FTTdp), como já dissemos, leva
números de telefone separados na casa, mas usando a união a fibra un1 passo a mais para a casa do cliente, geralmente
dos pares, u1na única conexão de Inten1et de alta velocidade levando-a para alguns nletros do local desejado. Entre essas
pode ser alcançada. Um número cada vez n1aior de ISPs duas opções há o FTTC (Fiber to the Curb). Todos esses
na Europa, Austrália, Canadá e Estados Unidos já está im- projetos FTTX (Fiber to the X) às vezes são cha1nados de
plantando uma tecnologia chamada G.fast, que usa união "fibra no terminal", pois é usada uma certa quantidade de
de pares. Tal como acontece com outras fonnas de DSL, o fibra no circuito tenninal.
dese1npenho do G.fast depende da distância da trans1nissão; Existem diversas variações na forma "FTTX" (onde
testes recentes vira1n velocidades simétricas se aproximan- X significa porão, calçada ou vizinhança). Elas são usadas
do de 1 Gbps a distâncias de 100 m, quando acoplado a para indicar que a Ílnplantação da fibra pode chegar perto
u1na implantação de fibra conhecida co1no FTTdp (Fiber da casa. Nesse caso, o cobre (par trançado ou cabo coaxial)
to the Distribution Point), que leva a fibra a um ponto de oferece velocidades rápidas o suficiente pela última distân-
distribuição de várias centenas de assinantes e usa cobre cia curta. A escolha da extensão em que a fibra é disposta
para transmitir dados pelo restante do caminho para a casa é un1a questão econô1nica, balanceando custo com receita
(em VDSL2, isso pode chegar a 1 km, embora a velocida- esperada. De qualquer fonna, o Ílnportante é que a fibra
des 1nais baixas). FTTdp é apenas um tipo de implantação óptica atravessou a barreira tradicional do "último quilôme-
de fibra que leva a fibra do núcleo da rede a algum ponto tro". Focaremos o FTTH em nossa discussão.
próxi1no à extre1nidade da rede. A próxima seção descreve Assim como os fios de cobre antes dele, o circui-
diversos modos de implantação de fibra. to tenninal de fibra é passivo. Isso sigui fica que nenhu1n
equipamento energizado é necessário para a1nplificar ou
Fiber To The X (FTTX) processar os sinais de alguma outra fonna . A fibra simples-
mente transporta sinais entre a casa e a estação final. Isso,
A velocidade dos circuitos terminais normalmente é restrita por sua vez, reduz o custo e melhora a confiabilidade. Nor-
pelos cabos de cobre instalados na rede de telefonia con- malmente, as fibras das casas são reunidas de modo que
vencional, que não podem transmitir dados em altas veloci- apenas uma fibra alcance a estação final por grupo de até
dades por uma distância tão grande quanto a fibra. Assim, 100 casas. Na direção downstream, os divisores ópticos di-
um objetivo final, onde for econon1icamente viável, é levar videm o sinal da estação final, de modo que alcance todas
a fibra até a casa do cliente, algo chamado de FTTH (Fiber as casas. A criptografia é necessária por segurança se ape-
To The Home). As co1npanhias telefônicas continuam a nas uma casa puder ser capaz de decodificar o sinal. Na di-
tentar melhorar o desempenho do circuito tenninal, geral- reção upstream, colimadores ópticos mesclam os sinais das
mente instalando a fibra o mais próximo possível da casa. casas para um único sinal, que é recebido na estação final.
Se não for até ela, eles podem oferecer FTTN (Fiber to Essa arquitetura é cha1nada rede óptica passiva, ou
the Node), onde a fibra termina em u1n gabinete em u1na PON
,
(Passive Optical Net\vork), mostrada na Figura 2.31.
rua, às vezes a alguns quilômetros da casa do cliente. Fiber E comum usar um comprimento de onda compartilhado
Capítulo 2 • A camada física 91

Fibra----.._
Restante -7 Àdown !
11111--~-À-up-----'--!~~~~
1
da rede

t Divisor/colimador
Estação final óptico

Figura 2.31 Rede óptica passiva para Fiber To The Home.

entre todas as casas para a transn1issão downstream, e outro co1npartilhan1ento é i1nportante para economizar escalas,
comprimento de onda para a trans1nissão upstream. pois custa basicamente a mesma coisa instalar e manter um
Mesmo com a divisão, uma enorme largura de banda e a tronco de alta largura de banda e um de baixa largura de
baixa atenuação da fibra significam que as PONs podem ofe- banda entre duas estações de comutação. Isso é realizado
recer altas velocidades aos usuários por distâncias de até 20 con1 as versões de multiplexação TDM e FDM.
km. As taxas de dados reais e outros detalhes dependem do A seguir, examinaremos rapidamente como os sinais
tipo de PON. Dois tipos são comuns: as GPONs (Gigabit- de voz são digitalizados de modo que possam ser transpor-
-capable PONs) vêm do mundo das telecomunicações e são tados pela rede telefônica. Depois, vere1nos co1no a TDM
definidas por um padrão ITU; as EPONs (Ethernet PONs) é usada para transportar bits nos troncos, incluindo o siste-
estão mais ligadas ao inundo das redes e são definidas por n1a TDM usado para fibra óptica (SONET). Em seguida,
u1n padrão IEEE. Ambas trabalham e111 torno de um gigabit e passare1nos para FDM conforme se aplica à fibra óptica,
podem transportar tráfego para diferentes serviços, incluindo chamada de WDM.
Internet, vídeo e voz. Por exe1nplo, as GPONs oferecen1 2,4
Gbps downstream e 1,2 ou 2,4 Gbps upstream. Sinais de voz digitalizados
Para co1npartilhar a capacidade de uma única fibra na
Desde cedo no desenvolvirnento da rede telefônica, o nú-
estação final entre diferentes casas, é preciso que haja pro-
cleo lidava co1n chamadas de voz como infonnação ana-
tocolos adicionais. A direção downstream é fácil, pois a es-
lógica. As técnicas de FDM foram usadas por muitos anos
tação final pode enviar mensagens a cada casa diferente na
para multiplexar canais de voz de 4.000 Hz (compostos
ordem que desejar. Na direção upstream, porém, as mensa-
de 3.100 Hz mais bandas de proteção) em unidades cada
gens de diferentes casas não podem ser enviadas ao 1nesmo
vez maiores. Por exemplo, 12 chamadas na banda de 60
tempo, ou diferentes sinais colidiriam. As casas também não
a 108 kHz são conhecidas como um grupo, cinco gru-
podem escutar as transnussões umas das outras, de modo
pos (um total de 60 chamadas) são conhecidos como um
que não podem escutar antes de trans1nitir. A solução é que o
supergrupo, e assim por diante. Esses métodos de FDM
equipamento nas casas solicite e receba fatias de tempo para
ainda são usados em algu11s canais de fio de cobre e micro-
utilizar o equipamento na estação final. Para que isso funcio-
-ondas. Contudo, a FDM requer circuitos analógicos e isso
ne, existe um processo de localização para ajustar os tempos
não é adequado para um computador digital. Ao contrário,
de transmissão a partir das casas, de 1nodo que todos os si- a TDM pode ser tratada inteiramente pela eletrônica digital,
nais recebidos na estação final sejam sincronizados. O proje-
de modo que se tornou 1nuito 1nais usada nos últitnos anos.
to é semelhante aos mode1ns a cabo, que explicaremos mais
Co1no a TDM só pode ser usada para dados digitais e os cir-
adiante neste capítulo. Para obter 111ais informações sobre
cuitos terminais produzem sinais analógicos, é preciso que
PONs, veja Grobe e Elbers (2008) ou Andrade et ai. (2014). haja uma conversão de analógico para digital na estação fi-
nal, onde todos os circuitos terminais individuais se juntam
2.5.3 Troncos e multiplexação para serem combinados nos troncos de saída.
Os sinais analógicos são digitalizados na estação final
Na rede telefônica, os troncos não são apenas n1uito mais por um dispositivo chamado codec (abreviação de "cadifi-
rápidos do que os circuitos tern1inais; eles são diferentes cador-decodificador") usando uma técnica chamada PCM
ern dois outros aspectos. O núcleo da rede telefônica trans- (Pulse Code Modulation), que forma o coração do sistema
porta informações digitais, não informações analógicas, ou telefônico 1noderno. O codec cria 8.000 amostras por segun-
seja, bits e não voz. Isso necessita de uma conversão na es- do ( 125 JIS/amostra), pois o teore1na de Nyquist diz que isso
tação final para a fom1a digital, para a trans1nissão por tron- é suficiente para capturar todas as informações de largura de
cos de longa distância. Os troncos transportam milhares, banda do canal te.Jefônico de 4 kHz. Em u1na taxa de amos-
ou mesmo milhões, de chamadas sirnultaneamente. Esse tragem mais baixa, as informações seriam perdidas; a u1na
92 Redes de computadores

taxa nlais alta, nenhwna inforn1ação extra seria obtida. Cada na PCM é usada para transportar várias cha1nadas de voz
amostra da a1nplitude do sinal é quantizada para um nú1ne- por troncos, enviando uma amostra de cada chamada
ro de 8 bits. Quase todos os intervalos de tempo no sistema a cada 125 JtS. Quando a transmissão digital começou a
telefônico são múltiplos de 125 µs. A taxa de dados não co1.n- surgir co1no uma tecnologia viável, a JTU (então cha1na-
pactada padrão para uma cha1nada telefônica co1n qualidade da CCITT) foi incapaz de chegar a um acordo sobre u1n
de voz é, portanto, de 8 bits a cada 125 ps, ou 64 kbps. padrão internacional para a PCM. Consequentemente,
Cada amostra da a1nplitude do sinal é quantizada para diversos esquen1as incompatíveis agora estão em uso em
u1n número de 8 bits. Para reduzir o erro em virtude da diferentes países.
quantização, seus níveis são espaçados de forma desigual. O método usado na América do Norte e no Japão é a
Urna escala logarítn1ica é usada, gerando relativan1ente portadora Tl, representada na Figura 2.32. (Tecnicamente
mais bits para 1nenores amplitudes de sinal e relativamente falando, o formato é chan1ado DS 1 e a portadora é cha1nada
menos bits para grandes amplitudes de sinal. Desse modo, T 1, mas, seguindo a tradição da indústria, aqui não faremos
o erro é proporcional à amplitude do sinal. Duas versões de essa distinção sutil.) A portadora T 1, introduzida e1n 1962,
quantização são bastante utilizadas: µ -lalv, usada na Amé- consiste em 24 canais de voz multiplexados. Por sua vez,
rica do Norte e no Japão, e A-law, usada na Europa e no cada um dos 24 canais consegue inserir 8 bits no fluxo de
restante do mundo. As duas versões são especificadas no saída.
padrão ITU G. 711. Um modo equivalente de pensar nesse U1n quadro consiste e1n 24 x 8 = 192 bits, mais um bit
processo é imaginar que a faixa dinâmica do sinal (ou a extra para fins de controle, produzindo 193 bits a cada 125
razão entre os 1naiores e menores valores possíveis) é com- ps. Isso resulta em urna taxa de dados bn1ta de 1,544 Mbps,
pactada antes de ser quantizada (uniformemente), e então dos quais 8 kbps são para sinalização. O 1932 bit é usado
expandida quando o sinal analógico é recriado. Por esse para sincronização e sinalização de quadros. Em uma va-
motivo, ela é cha1nada compactação/expansão, ou com- riação, o 1932 bit é usado por um grupo de 24 quadros, cha-
panding. Ta1nbérn é possível compactar as amostras depois mado superquadro estendido. Seis dos bits, na 4ª, 8ª, 12ª,
que elas são digitalizadas, de modo que exige1n 1nuito nle- 16ª, 20ª e 24ª posições, utilizarn o padrão 00lO11 ... Nor-
nos do que 64 kbps. Contudo, deixaremos esse assunto para mahnente, o receptor continua a conferir esse bit para ga-
quando exploram1os aplicações de áudio co1no YolP. rantir que não perdeu a sincronização. Seis outros bits são
Na outra extremidade da chamada, um sinal analógico é usados para enviar um código de verificação de erro, para
recriado a pa1tir das amostras quantizadas, reproduzindo-as (e ajudar o receptor a confirmar se está sincronizado. Se sair
suavizando-as) ao longo do ten1po. Não será exatamente igual de sincronismo, o receptor poderá procurar por esse padrão
ao sinal analógico original, en1bora o tenhamos amostrado na e validar o código de verificação de erro para se ressincro-
taxa de Nyquist, pois as amostras foram quantizadas. nizar. Os 12 bits restantes são usados para informação de
controle, para operar e 1nanter a rede, como o relatório de
T-Carrier: multiplexação de sinais desempenho da extremidade remota.
O formato T 1 tem diversas variações. As versões
digitais pela rede de telefonia
1nais antigas enviava1n infonnações de sinalização na
T-Carrier é uma especificação para a transmissão de vá- própria banda, significando o uso do 1nesmo canal que
rios canais TDM por um único circuito. A TDM baseada os dados, usando alguns bits de dados. Esse projeto é uma

1- - - - - - - - - - - -Quadro de 193 bits (125 ~1s)------------1

Canal Canal Canal Canal Canal


1 2 3 4 24

\ O primeiro bit 7 bits " ' O oitavo bit é


é um código de de dados para sinalização
enquadramento por canal
por amostra

Figura 2.32 A portadora T1 (1,544 Mbps).


Capítulo 2 • A camada física 93

forma de sinalização associada ao canal, pois cada canal No nível seguinte, sete fluxos T2 são combinados bit
ten1 seu próprio subcanal de sinalização privado. Em u1n a bit para formar um fluxo T3. Depois, seis fluxos T3 são
arranjo de bits, o bit menos significativo de uma amos- unidos para fonnar um fluxo T4. Em cada etapa, um peque-
tra de 8 e1n cada canal é usado a cada seis quadros. Este no volu1ne de overhead é adicionado para fins de enqua-
recebe o no1ne sugestivo de bit de sinalização roubado. dramento e recuperação, no caso de a sincronização entre
A ideia é que alguns bits roubados não influenciarão nas transmissor e receptor ser perdida. T 1 e T3 são extensamen-
chamadas de voz. Ninguém notará qualquer diferença te utilizados pelos clientes, enquanto T2 e T4 são usados
audível. apenas dentro do sistema de telefonia propriamente dito e,
Contudo, para dados, a história é outra. Entregar os portanto, não são bem conhecidos.
bits errados é, no míni1no, inútil. Se versões mais antigas Da mes1na forma que existe pouco consenso quanto
da T 1 fore1n usadas para transportar dados, so1nente 7 de à portadora básica entre os Estados Unidos e o restante do
8 bits, ou 56 kbps, podem ser usados em cada um dos 24 mundo, há igualmente pouco consenso sobre como ela será
canais. Em vez disso, versões tnais novas da TI oferecem n1ultiplexada ern portadoras de largura de banda mais alta.
canais limpos, em que todos os bits podem ser usados para O esquema norte-a1nericano de avançar por 4, 7 e 6 não
enviar dados. Canais limpos são o que as en1presas que foi adotado por 1nais ninguém; assim, o padrão ITU requer
alugan1 un1a linha TI desejan1 quando enviam dados pela multiplexação de quatro fluxos e1n um fluxo a cada nível.
rede telefônica no lugar das arnostras de voz. A sinaliza- Além disso, o enquadramento e a recuperação de dados são
ção para quaisquer chamadas de voz é, então, tratada fora diferentes entre os padrões dos Estados Unidos e da ITU.
da banda, significando u1n canal próprio separado dos da- A hierarquia ITU para 32, 128, 512, 2.048 e 8.192 canais
dos. Normalmente, a sinalização é feita con1 sinalização funciona em velocidades de 2,048, 8,848, 34,304, 139,264
de canal comum, no qual existe um canal de sinalização e 565,148 Mbps.
compartilhado. Um dos 24 canais pode ser usado para essa
finalidade. Multiplexação de redes ópticas: SONET/SDH
Fora da América do Norte e do Japão, a portadora
El de 2,048 Mbps é usada no lugar da T 1. Essa portadora Nos primórdios da fibra óptica, cada companhia telefônica
tem 32 a1nostras de dados de 8 bits compactadas no quadro tinha seu próprio sistema óptico TDM patenteado. Depois
básico de 125 11s. Trinta dos canais são usados para infor- que o governo dos Estados Unidos desmembrou a AT &T
rnações e até dois são usados para sinalização. Cada grupo em 1984, as companhias telefônicas locais tivera1n de se
de quatro quadros oferece 64 bits de sinalização, 1netade conectar a diversas concessionárias de co1nunicações de
deles usada para sinalização (associada ao canal ou ao canal longa distância, todas com sistemas ópticos TDM de di-
comum) e metade usada para sincronização de quadros ou versos vendedores e fornecedores, o que tornou óbvia a
reservada para cada país usar como preferir. necessidade de padronização. Em 1985, a Bellcore, a uni-
A TDM permite que várias portadoras TI seja1n dade de pesquisa das RBOCs (Regional Bell Operating
multiplexadas e1n portadoras de ordem 1nais, alta. A Fi- Companies), co1neçou a trabalhar e1n u1n padrão, deno-
gura 2.33 1nostra co1no isso pode ser feito. A esquerda, minado rede óptica síncrona, ou SONET (Synchronous
ve1nos quatro canais TI sendo multiplexados en1 um ca- Optical NET,vork).
nal T2. A multiplexação em T2 e acima é feita bit a bit, e Mais tarde, a ITU também começou a participardes-
não byte a byte, com os 24 canais de voz que con1põe1n se trabalho, o que resultou ern um padrão SONET e em
un1 quadro TI. Quatro fl uxos T I a un1a velocidade de un1 conjunto de reco1nendações paralelas (G.707, G.708 e
1,544 Mbps deveriam gerar 6, 176 Mbps, mas T2, na ver- G.709) em 1989. As recornendações da ITU são chamadas
dade, te1n 6,312 Mbps. Os bits extras são usados para en- de hierarquia digital síncrona, ou SDH (Synchronous
quadramento e recuperação, no caso de a portadora apre- Digital Hierarchy), mas difere1n da SONET apenas em
sentar algu1na falha. pequenos detalhes. Pratica1nente todo o tráfego telefônico

4 fluxos T1 de entrada 7 fluxos T2 de entrada 6 fluxos T3 de entrada

11 1 11 14101~ 1 fluxo T2 de saída J


~a
~/
1 1 1 1 1 1s1 11-- EJ /
1 1 1 1 1 lsl2l-
4:1 - lslsl41312l1lol -
~
7:1 - 1 1 11 1 1 11 ~EJ - 1 11 1 1 11 1
1 1 1 1 1 17131~ ..,,,,
1,544 Mbps 6,312 Mbps 44,736 Mbps 274,176 Mbps
T1 T2 T3 T4

Figura 2.33 Multiplexação de fluxos T1 em portadoras de velocidade mais alta.


94 Redes de computadores

de longa distância nos Estados Unidos e grande parte dele dedicada a um único canal contendo slots de te1npo para
em outros lugares atualmente utiliza troncos que executam os diversos subcanais. Portanto, a SONET é um sistema
a SONET na camada fisica. Para obter informações adicio- síncrono. Cada transmissor e receptor é ligado a um clock
nais sobre a SONET, consulte Perros (2005). comurn. O relógio 1nestre, que controla o siste1na, te1n uma
O projeto SONET tem quatro objetivos principais. precisão de aproximadamente u1na pa1te em 109 . Os bits em
un1a linha SONET são transmitidos a intervalos extrema-
1. Interoperabilidade de portadora: a SONET tinha de mente precisos, controlados pelo clock mestre.
tornar possível a rede interligada para diferentes con- O quadro básico da SONET é um bloco de 81 Obytes,
cessionárias. A concretização desse objetivo exigia a transmitido a cada 125 11s. Tendo em vista que a SONET
definição de u1n padrão de sinalização comun1, rela- é síncrona, os quadros são emitidos independente-
cionado a comprimento de onda, sincronização, estru- 1nente de haver ou não dados úteis a enviar. A taxa de
tura de enquadramento e outras questões. 8.000 quadros/s corresponde exatamente à taxa de amos-
2. Unificação pelas regiões: foram necessários alguns tragetn dos canais PCM utilizados em todos os sistemas de
meios para unificar os sistemas digitais dos Estados telefonia digital.
Unidos, Europa e Japão, todos baseados em canais Os quadros de 81 Obytes da SONET são 111ais be1n des-
PCM de 64 kbps, mas combinados de formas diferen- critos con10 um retângulo de bytes, com 90 colunas de lar-
tes (e incompatíveis). gura por 9 linhas de altura. Desse modo, 8 x 81O=6.480 bits
3. Multiplexação de canais digitais: a SONET teve de são transmitidos 8 mil vezes por segundo, o que resulta e111
proporcionar um modo de multiplexar vários canais uma taxa de dados bruta de 51 ,84 Mbps. Esse é o canal
digitais. No momento em que ela surgiu, a portadora básico da SONET, cha111ado STS-1 (Synchronous Trans-
digital de velocidade tnais alta usada em todo o ter- port Signal-1). Todos os troncos SONET são múltiplos do
ritório dos Estados Unidos era a T3, a 44,736 Mbps. STS-1.
A T4 já havia sido definida, nlas não era muito usada, As três primeiras colunas de cada quadro são reserva-
e nada que ultrapassasse a velocidade da T4 havia sido das para as informações de gerenciamento do sistema, con-
definido. Parte da 1nissão da SONET era dar continui- forme ilustra a Figura 2.34. Nesse bloco, as três pri1neiras
dade à hierarquia até gigabits/s e proporcionar velo- linhas contêm o overhead de seção, e as seis linhas seguin-
cidades ainda 1naiores. Ta1nbém era necessária uma tes contêm o overhead de linha. O overhead de seção é ge-
forma padrão de multiplexar canais mais lentos em rado e verificado no início e no fim de cada seção, enquanto
um canal SONET. o overhead de linha é gerado e verificado no início e no fim
4. Suporte para gerencia1nento: a SONET tinha de ofere- de cada linha.
Um transn1issor SONET trans111ite quadros de
cer recursos de operação, ad1ninistração e manutenção
necessários para gerenciar a rede. Os sistemas anterio- 81 O bytes em sequência, sem intervalos entre eles, mes-
res não faziam isso muito bem. mo quando não existem dados (e, nesse caso, ele trans-
1nite dados fictícios). Do ponto de vista do receptor, tudo
Un1a decisão inicial foi tornar a SONET u1n sistema o que ele vê é u1n fluxo de bits contínuo; assin1, como sa-
TDM tradicional, co1n toda a largura de banda da fibra ber onde começa cada quadro? A resposta é que os dois

3 colunas para
overhead
- - 1 - - - - - - - - - - 87 colunas

l
9 ...
Quadro
SONET
inhas
(125 µs)

!
Quadro
• •• SONET
(125 µs)

Overhead Overhead Overhead


D de seção D de linha de caminho 0SPE

Figura 2.34 Dois quadros duplos na rede SONET.


Capítulo 2 • A camada física 95

primeiros bytes de cada quadro contêm um padrão fixo começando em OC-3 porque os sistemas baseados na JTU
que o receptor procura. Se encontra esse padrão no mes- não possuen1 uma taxa próxüna a 51 ,84 Mbps. Mostramos
mo lugar em um nú1nero grande de quadros consecutivos, as taxas comuns, que desenvolvem-se a partir de OC-3 em
o receptor pressupõe que está sincronizado com o trans- 1núltiplos de quatro. A taxa de dados bruta inclui todo o
n1issor. Em teoria, um usuário poderia inserir esse padrão overhead. A taxa de dados SPE exclui o overhead de li-
co1no carga útil de un1a 1naneira simples; porém, na prá- nha e o de seção. A taxa de dados do usuário exclui todos
tica, isso não pode ser feito em virtude da 1nultiplexação os três tipos de overhead e só considera as 86 colunas de
usada por diversos usuários no mesmo quadro, além de carga útil.
outras razões. Em contrapartida, quando uma portadora como a
As 87 colunas restantes de cada quadro contê1n OC-3 não é multiplexada, mas transporta os dados de uma
87 x 9 x 8 x 8.000 = 50, 112 Mbps de dados do usuário, única orige1n, a letra e (significando concatenado) é acres-
os quais poderiam ser amostras de voz, TI e outras porta- centada à designação; assim, OC-3 indica uma portadora de
doras, ou pacotes. A SONET é simplesmente u1n contêiner 155,52 Mbps con1posta por três portadoras OC-1 distintas,
conveniente para transportar bits. O envelope síncrono de mas OC-3c indica um fluxo de dados de uma única origem
car ga útil, ou SPE (Synchronous Payload Envelope), a uma velocidade de 155,52 Mbps. Os três fluxos OC-1
que transporta os dados do usuário, nem sempre começa na contidos e1n u1n fluxo OC-3c são entrelaçados por coluna:
linha l, coluna 4. O SPE pode começar em qualquer lugar primeiro, a coluna 1 do fluxo 1, depois a coluna 1 do fluxo
do quadro. Um ponteiro para o primeiro byte está contido 2, a coluna 1 do fluxo 3, seguida pela coluna 2 do fluxo 1, e
na primeira fileira do overhead de linha. A primeira coluna assitn por diante, resultando em um quadro com 270 colu-
do SPE é o overhead de caminho (ou seja, o cabeçalho do nas de largura e 9 linhas de profundidade.
protocolo da subca1nada de caminho ponta a ponta).
A capacidade de pennitir que o SPE comece en1 qual-
quer lugar dentro do quadro SONET e até mes1no se espa-
2.5.4 Comutação
lhe por dois quadros, co1no mostra a Figura 2.34, oferece Do ponto de vista do engenheiro de telefonia, o sistema
flexibilidade adicional ao siste1na. Por exe1nplo, se uma telefônico é dividido e1n duas partes principais: a planta
carga útil chega na orige1n enquanto u1n quadro SONET externa (os circuitos tenninais e troncos, pois eles estão lo-
fictício está sendo construído, ele pode ser inserido no qua- calizados fisica1nente fora das estações de comutação) e a
dro atual em vez de ser mantido até o início do próximo. planta interna (os switches, que estão dentro das estações
A hierarquia de multiplexação da SONET/SDH é de comutação). Acaban1os de estudar a planta externa. Ago-
mostrada na Figura 2.35. Foran1 definidas taxas de STS-1 ra vamos examinar a planta interna.
a STS-768, variando de aproxitnada1nente un1a linha T3 Hoje em dia, duas técnicas de comutação diferentes
até 40 Gbps. Até mesmo taxas 1naiores certamente serão são usadas pela rede: co1nutação de circuitos e comutação
definidas com o tempo, com OC-3072 a 160 Gbps sendo de pacotes. O sistema telefônico tradicional é baseado na
o próxi1no na fila, se e quando isso se tornar tecnologica- co1nutação de circuitos, en1bora a tecnologia VoJP conte
mente viável. A portadora óptica que corresponde a STS-n com a comutação de pacotes. Veremos em detalhes a co-
é chan1ada OC-n , porém sua configuração bit a bit é a mutação de circuitos, comparando-a com a comutação de
mesma, exceto por uma certa reordenação de bits, neces- pacotes. Os dois tipos de comutação são tão importantes
sária para sincronização. Os nornes da SDH são diferentes, que voltaremos a eles quando entrannos na camada de rede.

STS-1 OC-1 51 ,84 50,112 49,536


STS-3 OC-3 STM-1 155,52 150,336 148,608
STS-12 OC-12 STM-4 622,08 601 ,344 594,432

STS-48 OC-48 STM-16 2.488,32 2.405,376 2.377,728


STS-192 OC-192 STM-64 9.953,28 9.621,504 9.510,912

STS-768 OC-768 STM-256 39.813,12 38.486,016 38.043,648

Figura 2.35 Taxas de multiplexação da SONET e da SDH.


96 Redes de computadores

Comutação de circuitos de comutação telefünica ou seu negócio iria à tàlência. Ele


escolheu a primeira opção. Por cerca de 100 anos, o equi-
Tradicionalmente, quando você ou seu computador efetu- pamento de comutação de circuitos usado e1n todo o mundo
ava1n u1na cha1nada telefônica, o equipamento de co1nu- foi conhecido como engrenagem de Stro,vger . (A histó-
tação do sistema telefônico procurava um caminho tisico ria não registra se a telefonista, desen1pregada, conseguiu
desde o seu telefone até o telefone do receptor e o manti- en1prego como operadora de inforn1ações, respondendo a
nha pela duração da chamada. Essa técnica, chamada co- perguntas co1no: "Qual é o nú1nero do telefone do agente
mutação de circuitos, é apresentada esquematican1ente funerário?").
na Figura 2.36(a). Cada um dos seis retângulos representa O 1nodelo 1nostrado na Figura 2.36(a) é alta1nente
uma estação de comutação da concessionária de co1nunica- simplificado, obviamente, porque partes do caminho tisico
ções (estação final, estação interurbana, etc.). Nesse exen1- entre os dois telefones podem de fato ser enlaces de micro-
plo, cada estação tem três linhas de entrada e três linhas -ondas ou de fibra, nos quais são multiplexadas milhares
de saída. Quando wna chamada passa por uma estação de de cha1nadas. Entretanto, a ideia básica é válida: uma vez
comutação, é estabelecida uma conexão tisica entre a linha estabelecida un1a cha1nada, haverá um ca1ninho dedicado
que transportou a chamada e un1a das linhas de saída, co1no entre ambas as extre1nidades, e ele continuará a existir até
mostram as linhas tracejadas. que a chamada seja finalizada.
No início da telefonia, a conexão era feita pela telefo- Utna propriedade iinportante da comutação de circui-
nista que conectava um cabo de ligação em ponte Qumper) tos é a necessidade de se estabelecer um caminho ponta a
aos soquetes de entrada e de saída. Na realidade, existe uma ponta antes que qualquer dado possa ser enviado. O te1npo
pequena história surpreendente associada à invenção do decorrido entre o fim da discagem e o momento em que o
equipamento automático de comutação de circuitos. Esse telefone começa a tocar pode chegar a 1Osegundos ou 1nais
dispositivo foi inventado por um agente funerário do século em chan1adas interurbanas ou inten1acionais. Durante esse
XIX, Almon B. Strowger. Logo depois que o telefone foi intervalo, o siste1na telefônico procura uma conexão física,
inventado, quando uma pessoa morria, alguém ligava para con10 mostra a Figura 2.37(a). Observe que, antes mesmo
a telefonista do local e dizia: "Por favor, ligue-me com um de se iniciar a transmissão de dados, o sinal de solicitação
agente funerário" . Infelizmente para o sr. Strowger, havia de cha1nada deve se propagar em todo o trajeto até o desti-
dois agentes funerários em sua cidade, e a esposa do ou- no e lá ser reconhecido. Para 1nuitas aplicações de inforn1á-
tro agente era a telefonista do local. Ele percebeu rapida- tica (p. ex., a verificação de crédito em u1n ponto de venda),
mente que teria de inventar um equipamento auto1nático tempos de preparação longos são indesejáveis.

Conexão física (cobre)


estabelecida quando
a chamada é feita
,-1-..(). - - - - D--+---
'--1-{)- ~

-+-ü ' ', ''


' ''
'-+-0- - - - - 0-J-I

(a)
\ Estação de comutação
Computador
I Pacotes enfileirados
para transmissão
subsequente

(b)

Figura 2.36 (a) Comutação de circuitos. (b) Comutação de pacotes.


Capítulo 2 • A camada física 97

Sinal de solicitação de chamada

~
Pac 1

Atras o de Pac2
propag ação

i Pac 3
____ __...
Pac 1

~----
- Atraso de
enfileiramento
Pac2
. T Pac3
Pac 1
/ 'r------l
o Tempo r----1 Pac2
a. gasto
E procurando
~ um Pac3
tronco

l ____ de saída Sinal de


J~==~::::::::::::1·---chamada
1
aceita

Dados

Tronco Tronco Tronco


AB BC CD

A B c D A B c D
(a) (b)

Figura 2.37 Sincronização de eventos em (a) comutação de circuitos e (b) comutação de pacotes.

Como consequência do caminho reservado entre o conexão é a reserva de largura de banda desde o transmis-
transrn issor e o receptor da charuada, urna vez estabelecida sor até o receptor, e todos os dados no circuito segue1n esse
a configuração, o único atraso para a entrega dos dados é caminho. Na co1nutação de circuitos, fazer todos os pacotes
o te1npo de propagação do sinal eletromagnético, cerca de seguirem o mesmo caminho significa que eles não poderão
5 ms por 1.000 k1n. Outra consequência do caminho estabe- chegar fora de ordem. Com a comutação de pacotes, não
lecido é que não há perigo de congestionamento - ou seja, há caminho fixo e, assim, diferentes pacotes podem seguir
quando a cha1nada é fe ita, você nunca obtém sinal de ocu- caminhos distintos, dependendo das condições da rede no
pado. É claro que é possível receber um sinal de ocupado 1nomento em que eles são enviados. Portanto, eles pode1u
antes do estabelecimento da conexão, em decorrência da chegar fora de ordem.
falta de capacidade de co1nutação ou de troncos. As redes de comutação de pacotes impõem um limite
superior apertado sobre o tamanho dos pacotes. Isso garan-
Comutação de pacotes te que nenhum usuário poderá 1nonopolizar qualquer linha
de trans1nissão por muito tempo (p. ex., n1uitos 1nilissegun-
A alternativa à co1nutação de circuitos é a comutação de dos), de modo que as redes de comutação de pacotes podem
pacotes, mostrada na Figura 2.36(b) e descrita no Capí- lidar com o tráfego interativo. Isso também reduz o atraso,
tulo 1. Con1 essa tecnologia, os pacotes são enviados as- pois o primeiro pacote de uma mensagem longa pode ser
sim que estão disponíveis. Não é preciso estabelecer un1 encaminhado antes que o segundo tenha chegado por com-
ca1uinho dedicado co1n antecedência, diferente1nente da pleto. Contudo, o atraso store-and-forward de acu1nuJar um
comutação de circuitos. A comutação de pacotes é seme- pacote na memória do roteador antes que ele seja enviado
lhante a enviar uma série de cartas usando o sistema postal: para o próximo roteador excede o da comutação de circui-
cada u1ua segue independentemente das outras. Fica a cri- tos. Co1n a comutação de circuitos, os bits simplesmente
tério dos roteadores usar a transmissão store-and-forward fluem pelo fio de modo contínuo. Nada é annazenado e en-
para enviar cada pacote em seu caminho ao destino por caminhado mais tarde.
conta própria. Esse procedimento é diferente da con1uta- A co1uutação de pacotes e de circuitos também dife-
ção de circuitos, em que o resultado do estabelecimento da re de outras maneiras. Como nenhu1na largura de banda é
98 Redes de computadores

reservada corn a cornutação de pacotes, estes poden1 ter de o ten1po de conexão não é um problema, mas o volu1ne de
esperar para serem encaminhados. Se muitos pacotes forem tráfego sim. Para usuários domésticos nos Estados Unidos
enviados ao mesmo ternpo, isso introduz o atraso de enfi- e na Europa, os ISPs normalmente cobram uma tarifa fixa
leiramento e o congestionarnento. Em contrapartida, não mensal, porque tal modelo é rnenos trabalhoso para eles e
existe perigo de obter um sinal de ocupado e não conseguir mais fácil de entender para os clientes. Em alguns países
usar a rede. Assim, o congestionan1ento ocorre em diferen- ern desenvolvimento, a tarifação normalmente ainda é ba-
tes momentos com a comutação de circuitos (no momento seada no volume: os usuários podem comprar um "pacote
da configuração) e con1 a comutação de pacotes (quando os de dados" de certo tamanho e usá-lo por urn ciclo de co-
pacotes são enviados). brança. Certos horários do dia, ou mesmo certos destinos,
Se um circuito tiver sido reservado para determina- podem não ser cobrados ou não contar para o li1nite de da-
do usuário e não houver tráfego, sua largura de banda é dos; esses serviços às vezes são chamados de serviços com
desperdiçada. Ela não pode ser usada para outro tráfego. taxa zero. Geralmente, os provedores de serviço de Inter-
A comutação de pacotes não desperdiça largura de banda net da operadora no backbone da Internet cobram com base
e, portanto, é mais eficiente do ponto de vista do sistema. nos volumes de tráfego. Um modelo de tarifação típico é
Entender essa escolha é decisivo para compreender a dife- baseado no 95º percentil de amostras de 5 minutos: em urn
rença entre cornutação de circuitos e cornutação de pacotes. determinado enlace, um ISP tnedirá o volume de tráfego
O dilema está entre garantir serviço e desperdiçar recursos
que passou pelo enlace nos últimos 5 minutos. Um ciclo
versus não garantir serviço e não desperdiçar recursos. de faturamento de 30 dias terá 8640 desses intervalos de
A comutação de pacotes é mais tolerante a falhas que
5 nlinutos e o ISP cobrará con1 base no 95º percentil dessas
a comutação de circuitos. De fato, é por isso que ela foi
amostras. Essa técnica costuma ser chamada de cobrança
criada. Se um switch ficar inativo, todos os circuitos que o
pelo percentil 95.
utilizam serão encerrados, e nenhum tráfego poderá n1ais
ser transmitido ern qualquer um deles. Con1 a comutação de As diferenças entre comutação de circuitos e comuta-
pacotes, os pacotes poderão ser roteados de modo a contor- ção de pacotes estão resumidas na Figura 2.38. Tradicional-
nar switches inativos. mente, as redes telefônicas têm usado a comutação de cir-
Outra diferença entre a comutação de circuitos e a de cuitos para oferecer cha1nadas telefônicas de alta qualidade,
pacotes é o algoritmo de tarifação. Com a comutação de e as redes de co1nputadores têm usado a comutação de pa-
circuitos (i.e., as chamadas de telefonia de voz por PSTN), cotes por suas simplicidade e eficiência. Contudo, existem
a tarifação se baseava historicamente na distância e no exceções dignas de nota. Algurnas redes de computadores
ten1po. No caso dos telefones 1nóveis, em geral a distância mais antigas têm sido comutadas por circuitos "por debaixo
não é importante, exceto para chamadas internacionais, e dos panos" (p. ex., X.25), e algumas redes telefônicas mais
o tempo desempenha apenas um papel secundário (p. ex., novas usam a comutação de pacotes com a tecnologia YolP.
un1 plano de charnadas com 2 rnil minutos gratuitos custa Para os usuários, isso se parece externamente com uma
mais que um plano con1 mil minutos gratuitos e, algumas chamada telefônica padrão, mas, internamente, os pacotes
vezes, chamadas noturnas ou nos finais de semana são mais na rede corn dados de voz são comutados. Corn essa téc-
econômicas que o normal). Com a comutação de pacotes, nica, as chamadas internacionais corn cartões de chamada

Item Comutação de circuitos Comutação de pacotes


Configuração de chamadas Obrigatória Não necessária
Caminho físico dedicado Sim Não
Cada pacote segue a mesma rota Sim Não
Os pacotes chegam em ordem Sim Não
A falha de um switch é fatal Sim Não
Largura de banda disponível Fixa Dinâmica
Momento de possível congestionamento Durante a configuração Em todos os pacotes
Largura de banda potencialmente desperdiçada Sim Não
Transmissão store-and-forward Não Sim
Tarifação Por minuto Por byte

Figura 2.38 Comparação entre redes de comutação de circuitos e redes de comutação de pacotes.
Capítulo 2 • A camada física 99

podem se tomar n1ais baratas, embora talvez com u1na qua- 2.6.1 Conceitos comuns: células,
lidade de chamada inferior à do serviço tradicional.
handoff, paging
Em todos os sistemas de telefonia móvel, u1na região geográ-
fica é dividida em células, e é esse o motivo pelo qual esses
2.6 REDES DE TELEFONIA MÓVEL dispositivos são cha1nados telefones celulares. Cada célula
utiliza algu1n conjunto de frequências não utilizado por qual-
Mes1no que um dia o siste1na de telefonia convencional re- quer un1a das células vizinhas. A ideia fundamental que dá
ceba fibra multigigabit de ponta a ponta, as pessoas agora aos siste1nas celulares u1ua capacidade muito maior que a dos
esperam efetuar chamadas telefônicas e usar seus telefones sistemas anteriores é o uso de células relativamente peque-
para verificar e-mail e navegar pela Web e1n aviões, carros, nas e a reutilização de frequências de transmissão en1 células
piscinas e enquanto caminham no parque. Consequente- próxin1as (mas não adjacentes). O projeto do celular aun1en-
mente, há um enorme interesse (e investimento) na telefo- ta a capacidade do sistema enquanto as células são menores.
nia sem fio. Além disso, células menores significam rnenor necessida-
O sistema de telefonia 1nóvel é usado para co1nunica- de de energia, o que possibilita a existência de dispositivos
ção remota de voz e dados. Os telefones móveis (também transmissores e receptores 1nenores e mais econômicos.
chamados telefones celulares) passaram por cinco gera- As células permite1n a reutilização de frequências, que
ções distintas, normalmente chamadas l O, 20, 30, 40 e é ilustrada na Figura 2.39(a). Em geral, as células são ra-
50. As três gerações iniciais ofereciam voz analógica, voz zoavelmente circulares, porém, é 1nais simples representá-
digital e voz digital e dados (lnten1et, e-n1ai l, etc.), respec- -las como hexágonos. Na Figura 2.39(a), todas as células
tivamente. A tecnologia 40 acrescenta outras capacidades, têm o 1nesmo ta1nanho. Elas são agrupadas em unidades
incluindo técnicas adicionais de transmissão pela camada de sete células. Cada letra indica wn grupo de frequências.
fisica (p. ex., trans1nissões uplink por OFDM) e femtocélu- Observe que, para cada conjunto de frequências, existe um
las baseadas em IP (nós de celulares domésticos que são co- afastamento de aproxünada1nente duas células de extensão,
nectados à infraestrutura de Internet da linha fixa) . A tecno- no qual essa frequência não é reutilizada, o que proporciona
logia 40 não admite a telefonia de comutação de circuitos, boa separação e pouca interferência.
diferente1nente de suas predecessoras, é baseada apenas na E1n u1na área em que o número de usuários cresce a
con1utação de pacotes. A tecnologia 50 está sendo in1plan- ponto de o sistema ficar sobrecarregado, a potência pode
tada agora, mas serão necessários 1nuitos anos antes que ela ser reduzida, e as células sobrecarregadas são divididas em
substitua completamente as gerações anteriores em todos células menores, chamadas microcélulas, para permitir
os lugares. A tecnologia 50 aceitará transmissões de até 20 maior reutilização de frequências, como mostra a Figura
Gbps, bem como i1nplantações mais densas. Há tan1bé1n 2.39(b). Algu1nas vezes, as empresas de telefonia criam
un1 foco na redução da latência da rede para dar suporte a microcélulas temporárias, utilizando torres portáteis com
uma maior gama de aplicações, como para jogos altamente enlaces de satélite a fim de atender à de1nanda de eventos
interativos. esportivos, shows de rock e outros eventos nos quais um

B
B G e
G e A
A F D
F D E
E B
G e
A
F D
E

(a) (b)

Figura 2.39 (a) As frequências não são reutilizadas nas células adjacentes. (b) Para aumentar o número de usuários, podem
ser utilizadas células menores.
100 Redes de computadores

grande número de usuários de telefones celulares se reúne usados esporadicamente na con1unicação 1nilitar e maríti-
por algu1nas horas. ma, durante as primeiras décadas do século XX. Em 1946,
No centro de cada célula há uma estação-base que re- foi criado e1n St. Louis, Estados Unidos, o primeiro sistema
cebe as trans1nissões de todos os telefones presentes na cé- para telefones baseado e1n automóveis. O sistema utilizava
lula. Essa estação consiste en1 u1n computador e um trans- un1 único trans1nissor grande no topo de u1n alto edifício e
missor/receptor, conectados a u1na antena. Em u1n sistema tinha un1 único canal, usado para transmissões e recepções.
de pequeno porte, todas as estações-base estão conectadas Para conversar, o usuário tinha de apertar u1n botão que ati-
a um ún ico dispositivo, cha1nado centro de comutação vava o transmissor e desativava o receptor. Tais sistemas,
móvel, ou MSC (Mobile S'vitching Center). Em um sis- conhecidos como sistemas "apertar para falar" (push-
tema maior, pode1n ser necessários vários MSCs, todos co- -to-talk systems), foram instalados en1 diversas cidades a
nectados a um MSC de segundo nível, e assim por diante. partir da década de 1950. Táxis e carros de polícia utilizam
Basicamente, os MSCs são estações finais, como no siste- essa tecnologia com frequência.
1na telefônico, e na verdade estão conectados a pelo menos Na década de 1960, foi instalado o sistema de tele-
un1a estação final de u1n siste1na telefônico. Os MSCs se fonia móvel aperfeiçoado, ou IMTS (Improved Mobile
comunicam com as estações-base, entre si e com a PSTN Telephone System). Ele também utilizava u1n trans1nissor
usando uma rede de comutação de pacotes. de alta potência (200 watts) no topo de uma montanha, mas
Em qualquer instante, cada telefone 1nóvel logicamen- agora tinha duas frequências: un1a para transmissão e outra
te ocupa u1na célula específica e está sob o controle da esta- para recepção. Por isso, o botão "apertar para falar" não era
ção-base dela. Quando um telefone 1nóvel deixa fisica1nente mais necessário. Como toda a comunicação dos telefones
uma célula, sua estação-base detecta que o sinal do telefone n1óveis utilizava um canal para transmissão e outro para
está enfraquecendo e questiona todas as estações-base vi- recepção dos sinais, os usuários móveis não podiam ouvir
zinhas quanto à quantidade de energia que elas estão rece- uns aos outros (ao contrário do que acontecia com o sistema
bendo dele. Quando as respostas retorna1n, a estação-base "apertar para falar" utilizado em táxis).
faz a transferência para a célula que está obtendo o sinal O IMTS admitia 23 canais espalhados pelas frequên-
mais forte; quase sempre, essa é a célula em que o telefone cias de 150 a 450 MHz. Em virtude do pequeno nún1ero de
está localizado no momento. O telefone é, então, informado canais, 1nuitas vezes os usuários tinham de esperar muito
de que1n é o seu novo chefe e, se houver uma chamada e1n tempo antes de obter um tom de discagem. Além disso, pela
andamento, ele será solicitado a passar para un1 novo canal alta potência do transn1issor, os siste1nas adjacentes tinham
(porque o antigo não é reutilizado en1 nenhuma das célu- de estar a vários quilômetros de distância uns dos outros
las adjacentes). Esse processo é chamado de handoff e leva para evitar interferência. Em sun1a, sua capacidade limitada
cerca de 300 ms. A atribuição de canais é feita pelo MSC, o tomou o sisten1a impraticável.
centro nervoso do siste1na. Na verdade, as estações-base são
O sistema avançado de telefonia móvel, ou AMPS
apenas simples retransmissoras de rádio.
(Advanced Mobile Phone System), bastante semelhan-
Encontrar locais altos para instalar antenas de estação- te, inventado pelo Bell Labs e instalado inicialmente nos
-base é uma questão fundamental. Esse problema levou al- Estados Unidos em 1983, aumentou significativamente a
gun1as concessionárias de teleco1nunicações a fazer alian- capacidade da rede celular. Ele també1n foi usado na In-
ças com a Igreja Católica Romana, que possui Lm1 número
glaterra, onde recebeu o no1ne TACS, e no Japão, onde foi
significativo de locais apropriados para a instalação de an-
chamado MCS-Ll. O uso do AMPS foi encerrado forn1al-
tenas em todo o mundo, todos convenientemente controla-
mente em 2008, mas vamos examiná-lo para entender o
dos por uma única ad1ninistração.
contexto para os sistemas 2G e 3G, que o aperfeiçoaratn.
As redes celulares nonuahnente têm quatro tipos de No AMPS, as células nonnalmente ficam afastadas por
canais. Canais de controle (da base para a unidade móvel) 1Oa 20 km; em sistemas digitais, as células são 1nenores.
são usados para gerenciar o sistema. Canais de localização Enquanto u1n siste1na IMTS cobrindo 100 lan só pode ter
(da base para a unidade móvel) alertam os usuários móveis uma chamada em cada frequência, um sistema AMPS po-
a respeito de chan1adas destinadas a eles. Canais de acesso deria ter l 00 células de 1O lan na n1esma área, podendo
(bidirecionais) são usados para estabelecimento de chama-
ter de l O a 15 cha1nadas en1 cada frequência, e1n células
das e atribuição de canais. Por fim, os canais de dados (bi-
bastante separadas.
direcionais) transporta1n voz, fax ou dados.
O AMPS utiliza FDM para separar os canais e usa
832 canais full-duplex, cada um consistindo em um par
2.6.2 Tecnologia de primeira geração de canais simplex. Esse arranjo é conhecido como duplex
por divisão de frequência, ou FDD (Frequency Division
(1 G): voz analógica Duplex). Os 832 canais simplex de 824 a 849 MHz são
Va1nos examinar a tecnologia da rede celular, começando usados para trans1nissão do aparelho móvel à estação-base,
pelo sistema mais antigo. Os radiotelefones móveis eram e 832 canais simplex de 869 a 894 MHz são usados para
Capítulo 2 • A camada física 101

trans1nissão da estação-base ao aparelho móvel. Cada u1n conecta ao canal 3 e con1eça a emitir sinais sonoros (ou a
desses canais si1nplex te1n 30 kHz de largura. tocar alguma 1nelodia que o proprietário do telefone ga-
Os 832 canais no AMPS estão divididos em quatro nhou como presente de aniversário).
categorias. Con10 as mesmas frequências não podem ser
reutilizadas em células vizinhas e 21 desses canais são re-
servados em cada célula para controle, o número real de 2.6.3 Tecnologia de segunda
canais de voz disponíveis por célula é bem menor que 832, geração (2G): voz digital
normalmente em tomo de 45.
A primeira geração de telefones celulares era analóoica·
o '
a
segunda geração é digital. A troca para digital tem diversas
Gerenciamento de chamadas vantagens. Ela oferece ganhos de capacidade, permitindo
Cada telefone móvel tem um número de série de 32 bits que os sinais de voz sejan1 digitalizados e compactados.
e um número de telefone de dez dígitos e1n sua PROM Ela melhora a segurança, pennitindo que sinais de voz e
(me1nória progra1nável so1nente de leitura). O número de de controle sejarn criptografados. Isso, por sua vez, impede
telefone é representado co1no un1 código de área de 3 dí- fraude e espionagern, seja por varredura intencional, seja
gitos e1n 1Obits e u1n nú1nero de assinante de 7 dígitos em por ecos de outras cha1nadas, en1 virtude da propagação de
24 bits. Quando un1 telefone é contatado, varre u1na lista ondas de rádio. Por fim , ela capacita novos serviços, co1no
pré-progra1nada de 21 canais de controle até encontrar o n1ensagens de texto.
sinal nlais forte. E1n seguida, o telefone transmite seu nú- Assi1n como não havia padronização internacional
mero de série de 32 bits e o número de telefone de 34 bits. durante a prin1eira geração, também não havia padroni-
A exemplo de todas as outras infonnações de controle do zação internacional durante a segunda. Vários sistemas
AMPS, esse pacote é enviado várias vezes em formato di- diferentes foram desenvolvidos, e três foram amplamente
gital e com um código de correção de erros, apesar de os i1nplementados. O sistema avançado de telefonia móvel
próprios canais de voz serem analógicos. digital, ou D-AMPS (Digital Advanced Mobile Phone
Quando ouve a nlensagem, a estação-base avisa ao System) é uma versão digital do AMJ>S que coexiste com
MSC, que registra a existência de seu novo cliente e tam- ele e usa TOM para fazer várias chamadas no mesmo canal
bém informa a sua localização atual ao MSC local. Durante de frequência. Ele é descrito no padrão internacional TS-54
a operação normal, o telefone móvel repete o registro uma e seu sucessor, o IS-136. O sistema global para comu-
vez a cada 15 minutos, aproximadamente. nicações móveis, ou GSM (Global System for Mobile
Para fazer uma cha1nada, o usuário móvel liga o tele- Communications) apareceu como o sistema dominante e
' '
fone, digita no teclado o nú1nero a ser chamado (pelo me- e1nbora tenha demorado para ser aceito nos Estados Uni-
nos, conceitualmente) e pressiona o botão LIGAR. Em se- dos, agora é usado praticamente en1 todo o inundo. Assim
guida, o telefon e transmite o número a ser chamado e sua como o 0-AMPS, o GSM é baseado em u1na mistura de
própria identidade no canal de acesso. Se houver uma coli- FDM e TOM. O acesso múltiplo por divisão de código,
são, ele tenta novamente mais tarde. Ao receber a solicita- ou C.DMA (Code Division Multiple Access), descrito no
ção, a estação-base inforn1a ao MSC. Se o cha1nador for um padrão internacional IS-95, é u1n tipo de sistema com-
cliente da ernpresa do MSC (ou de uma de suas parceiras), pletamente diferente, que não é baseado ne1n em FDM
o MSC procura u1n canal disponível para a chamada. Se en- ne1n em TDM. En1bora o COMA não tenha se tornado o
contrar algum, o nún1ero do canal será enviado de volta no siste1na 2G dominante, sua tecnologia se tornou a base
canal de controle. Em seguida, o telefone móvel se conecta para os sistemas 3G.
auto1natican1ente ao canal de voz selecionado e aguarda até Além disso, o nome serviços de comunicações pes-
que a parte cha1nada atenda ao telefone. soais, ou PCS (Personal Communications Services) às
vezes é usado na literatura de marketing para indicar um
As chamadas recebidas funcionam de forma diferente.
Para começar, todos os telefones inativos ouvem continua- sisten1a de segunda geração (ou seja, digital). Inicialmen-
mente o canal de localização para detectar as mensaoens te, isso indicava um telefone móvel usando a banda de
. o 1.900 MHz, nlas essa distinção raramente é feita nos dias
destinadas a eles. Quando é feita uma chamada para um
atuais. O siste1na 2G dominante em quase todo o mundo é o
telefone móvel (a partir de um telefone fixo ou de outro
telefone móvel), um pacote é enviado ao MSC local do te- GSM, que descrevemos em seguida com detalhes.
lefone chamado, para que ele seja localizado. Em seguida,
é enviado um pacote à estação-base em sua célula atual, 2.6.4 GSM: Global System for
que, então, envia u1n pacote de difusão no canal de locali-
zação com o formato: "Unidade 14, você esta aí?". O tele-
Mobile Communications
fone chamado responde "Si1n" no canal de acesso. Depois, O GSM surgiu na década de 1980 como u1n esforço
a base transmite algo co1no: "Unidade 14, chamada para para produzir um único padrão 2G europeu. A tarefa foi
você no canal 3". Nesse nlotnento, o telefone chan1ado se atribuída a um grupo de telecomunicações chamado (em
102 Redes de computadores

francês) Groupe Specialé Mobile. Os pri1neiros sisten1as que estão associados às células que ele controla. Esse ban-
GSM foram implantados a partir de 1991 e experimenta- co de dados é chamado registrador de local do visitan-
ram um sucesso repentino. Logo, ficou claro que o GSM te, ou VLR (Visitor Location Register). Também há um
seria mais do que um sucesso europeu, sendo absorvido banco de dados na rede móvel que indica o último local
até 1nesn10 e1n países como a Austrália, de modo que o conhecido de cada aparelho, chamado registrador de lo-
sistema foi renomeado para que tivesse u1n apelo mais cal inicial, ou HLR (Home Location Register), usado
global. para direcionar as chamadas que chegam para os locais
O GSM e outros sistemas de telefonia móvel que es- corretos. Os dois bancos de dados devem ser mantidos
tudaren1os retên1, dos sistemas 1G, u1n projeto baseado em atualizados enquanto os aparelhos passam de uma célula
células, reutilização de frequência pelas células e n1obilida- para outra.
de con1 handoffs à medida que os assinantes se movem. São Agora, vamos descrever a interface com o ar em al-
os detalhes que diferem. A seguir, descreveremos algumas guns detalhes. O GSM trabalha em uma faixa de frequên-
das principais propriedades do GSM. Entretanto, o padrão cias internacional, incluindo 900, 1.800 e 1.900 MHz. Foi
GSM impresso ten1 mais de 5.000 [sic) páginas. Uma gran- alocado um espectro maior que o AMPS, para dar suporte a
de fração desse material se relaciona aos aspectos de en- um número muito maior de usuários. O GSM é um sistema
genharia do sistema, em especial ao projeto dos receptores celular duplex por divisão de frequência, como o AMPS.
para tratar da propagação de sinais por vários caminhos, e Ou seja, cada aparelho n1óvel transmite em u1na frequência
a sincronização de transmissores e receptores. Nada disso e recebe em outra mais alta (55 MHz 1nais alta para GSM,
será mencionado aqui. contra 80 MHz mais alta para AMPS). Contudo, diferente-
A Figura 2.40 mostra que a arquitetura do GSM é se- mente do AMPS, com o GSM, um único par de frequências
melhante à arquitetura do AMPS, embora os componentes é dividido pela TDM e1n slots de tetnpo. Desse modo, ele é
tenham no1nes diferentes. O próprio aparelho móvel agora compartilhado por vários aparelhos.
é dividido em u1n aparelho e e1n un1 chip removível, com Para lidar com vários aparelhos, os canais GSM
informações do assinante e da conta contidas em u1n car- são muito mais largos que os canais AMPS (200 kHz
tão SIM, uma abreviação de Subscriber Identity Modu- contra 30 kHz). Um canal de 200 kHz é representado na

le (módulo de identidade do assinante). E o cartão SIM Figura 2.41 . Um sistema GSM operando na região de
que ativa o aparelho e conté1n segredos que pennitem que 900 MHz te1n 124 pares de canais simplex. Cada canal si1n-
o aparelho e a rede se identifiquem e codifiquem as con- plex ten1 200 kHz de largura e aceita oito conexões separa-
versas. Um cartão SIM pode ser removido e colocado em das nele, usando a TDM. Cada estação atualmente ativa re-
um aparelho diferente, para que este se torne seu aparelho cebe um slot de tempo em um par de canais. Teoricamente,
móvel em relação à rede. 992 canais pode1n ser aceitos em cada célula, mas muitos
O telefone 1nóvel fala co1n as estações-base da cé- deles não estão disponíveis, a fim de evitar conflitos de
lula por u1na interface com o ar, que descreveremos en1 frequência com células vizinhas. Na Figura 2.41, todos os
breve. As estações-base da célula estão conectadas a um oito slots de tetnpo sombreados pertence1n à mesma cone-
controlador de estação-base, ou BSC (Base Station xão, quatro deles em cada direção. A transmissão e a recep-
Controller), que controla os recursos de rádio das células ção não acontece1n no mes1no slot de te1npo, pois os rádios
e cuida do handoff. O BSC, por sua vez, está conectado GSM não pode1n transmitir e receber ao ines1no te1npo, e
a um MSC (como no AMPS), que direciona as chama- leva algun1 tempo para passar de um para o outro. Se a uni-
das e as conecta à rede de telefonia pública comutada, ou dade móvel atribuída à faixa de 890,4/935,4 MHz e ao slot
PSTN. de tempo 2 quisesse transn1itir algo para a estação-base, ela
Para direcionar as chamadas, o MSC precisa saber usaria os quatro slots sombreados inferiores (e os slots de-
onde os aparelhos podem ser encontrados atualmente. Ele pois deles no tempo), inserindo alguns dados en1 cada u1n
mantém um banco de dados dos aparelhos nas vizinhanças, até que todos os dados fossem enviados.

Interface ....._ - '


com o ar~ ~t":'\..:...._---j BSC

MSC 1--- ---r

BSC
VLR

0orre e estação-base
da célula

Figura 2.40 Arquitetura móvel da rede GSM.


Capítulo 2 • A camada física 103

Quadro TOM
Canal

• Base

para móvel

:~::: ~~~
2
f 1 : : : : : : : 1: : : : : : : 1: : : : : : : 1: : : : : : : 1 1
<O
()
e
<Q)

g 914,8 MHz
~

~
1 11
~~~~~~~~~~~~~~~~~~~~~~~
1111 1
. 11 11 111 1 1 124
• Móvel
• para base
890,4MHz1 2
890,2 MHz : : : : : : : 1::: :: : : 1 : : : : : ::1: : : : :::1 1

Tempo--

Figura 2.41 Osistema GSM utiliza 124 canais de frequência, cada um usando um sistema TDM de oito slots.

Os slots TDM 1nostrados na Figura 2.41 fazem parte de 4,615 1ns, pois ele está compartilhando o canal co1n sete ou-
uma complexa hierarquia de enquadramento. Cada slot TDM tras estações. A taxa bruta de cada canal é de 270.833 bps,
tem uma estrutura específica, e grupos de slots TDM formam dividida entre oito usuários. Porém, como ocorre com o
multiquadros, tambén1 com u1na estrutura específica. U1na AMPS, o overhead consome uma grande fração da largura
versão simplificada dessa hierarquia é mostrada na Figura de banda, deixando, em última análise, 24,7 kbps de carga
2.42. Aqui, pode1nos ver que cada slot TDM consiste em um útil por usuário antes da correção de erros. Após essa cor-
quadro de dados de 148 bits que ocupa o canal por 577 1is (in- reção, restam 13 kbps para voz. Embora isso seja substan-
cluindo um tempo de proteção de 30 µs depois de cada slot). cialmente menor que os 64 kbps do PCM para sinais de voz
Cada quadro de dados começa e tennina com três bits O, para não compactados na rede de telefonia fixa, a compactação
fins de delineação de quadros. Ele tambén1 contém dois can1- no dispositivo móvel pode alcançar esses níveis com pouca
pos lnforrnação de 57 bits, cada um con1 um bit de controle perda de qualidade.
que indica se o campo Jnforn1ação seguinte se refere a voz ou Como podemos ver na Figura 2.42, oito quadros de
a dados. Entre os campos Inforn1ação há um campo (de trei- dados fonnam um quadro TDM, e 26 quadros TDM for-
nan1ento) Sync de 26 bits, usado pelo receptor para realizar a ma1n um 1nultiquadro de 120 nls. Dos 26 quadros TDM em
sincronização até os limites de quadro do trans1nissor. um multiquadro, o slot 12 é usado para controle e o slot 25
Um quadro de dados é transmitido em 547 µs , mas é reservado para uso futuro; assim, somente 24 estão dispo-
um transmissor só pode enviar um quadro de dados a cada níveis para tráfego do usuário.

- - - - - - - - Multiquadro de 32.500 bits enviado em 120 ms - - - - - - - --


e
o 1 2 3 4 5 6 7 8 9 10 11 T 13 14 15 16 17 18 19 20 21 22 23 24
L

- -- -- -- ------ ---
- /
#

,,,,,..... ---Quadro TOM de 1.250 bits enviado---em---4,615


- --- --- Reservado
para uso
-- ms·-- _-
-
0
-'"'"'--=--- - futuro
o 1 2 3 4 5 6 7

------- ' ,, ,
'
--'
-
Tempo de
-guardade
---ê:luadro de dados de 148 bits'-,, 8,25 bits
- - -- enviado em 547 µs ',, (30 ~is)
'

000 Informação Sync Informação 000

Bits 3 57 26 57 3
Bit de voz/dados

Figura 2.42 Uma parte da estrutura de enquadramento GSM.


104 Redes de computadores

Porém, além do multiquadro de 26 slots n1ostrado na mudança para dados 1nóveis. Os volun1es de dados estão
Figura 2.42, tambén1 é usado u1n multiquadro de 51 slots subindo bastante com a popularidade dos iPhones. Quando
(não mostrado). Alguns desses slots são empregados para o iPhone foi lançado, ele usava u1na rede 2,SG (basicamen-
guardar diversos canais de controle usados para gerenciar te uma rede 20 melhorada), que não tinha capacidade de
o sistema. O canal de controle de broadcast é u1n fluxo dados suficiente. Os usuários do iPhone, ávidos por dados,
contínuo de saída da estação-base, contendo a identidade da in1pulsionaram ainda n1ais a transição para tecnologias 30,
estação-base e o status do canal. Todas as estações móveis para dar suporte a velocidades de transmissão de dados
monitoram a intensidade de seu sinal para verificar quando mais altas. Un1 ano depois, em 2008, a Apple lançou uma
elas são transferidas para un1a nova célula. versão atualizada de seu iPhone, que podia usar a rede de
O canal de controle dedicado é usado para atuali- dados 30.
zação de local, registro e estabelecimento de chamadas. Inicialmente, as operadoras deram passos pequenos
En1 particular, cada estação-base mantém o VLR, u1n banco em direção ao 3G, chegando ao que se costuma chamar de
de dados das estações móveis que atualmente estão sob sua 2,SG. Um sistema desse tipo utiliza taxas de dados apri-
jurisdição. As informações necessárias para manter o VLR moradas para evolução do GSM, ou EDGE (Enhanced
são enviadas no canal de controle dedicado. Data Rates for GSM Evolution), que é simplesmente o
Por fim, existe o canal de controle comum, dividi- OSM corn mais bits por símbolo. O problema é que rnais
do em três subcanais lógicos. O primeiro deles é o canal bits por sírnbolo também significa mais erros por símbolo,
de localização, que a estação-base utiliza para anunciar as e assim o EDOE te1n nove esque1nas diferentes para modu-
chamadas recebidas. Cada estação 1nóvel monitora conti- lação e correção de erros, que se distingue1n pela proporção
nuamente esse canal para verificar se há chamadas a que ela da largura de banda dedicada à correção dos erros introdu-
deva responder. O segundo é o canal de acesso aleatório, zidos pela velocidade mais alta. Trata-se de um passo em
que permite aos usuários solicitarem um slot no canal de direção a um ca1ninho evolutivo que é definido de OSM a
controle dedicado. Se duas solicitações colidirem, elas se- outras tecnologias 3G que discutiremos nesta seção.
rão adulteradas e terão de ser repetidas mais tarde. Usando A ITU tentou ser um pouco 1nais específica em rela-
o slot do canal de controle dedicado, a estação pode estabe- ção à visão do 3G e1n 1992. Ela apresentou um projeto para
lecer uma chamada. O slot atribuído é anunciado no tercei- alcançá-lo, denominado IMT-2000, em que IMT signifi-
ro subcanal, o canal de concessão de acesso. cava lnternational Mobile Telecommunications (teleco-
Por últitno, o OSM difere do AMPS no modo con10 o municações móveis internacionais). Os serviços básicos
handoff é tratado. No AMPS, o MSC o controla totaltnente, que a rede IMT-2000 deveria oferecer a seus usuários era1n:
sem ajuda dos dispositivos móveis. Com os slots de tem- 1. Transmissão de voz de alta qualidade.
po no OSM, na maior parte das vezes o dispositivo móvel
2. Serviço de mensagens (substituindo e-mail, fax, SMS,
não está nem enviando ne1n recebendo. Os slots ociosos são
uma oportunidade para o dispositivo 1nóvel medir a quali- bate-papo, etc.).
dade do sinal até outras estações-base nas proximidades. 3. Multirnidia (reprodução de música, exibição de vídeos,
Ele faz isso e envia essa informação ao BSC, que pode filn1es, televisão, etc.).
utilizá-la para determinar quando um dispositivo móvel 4. Acesso à Internet (navegação na Web, incluindo pági-
está saindo de urna célula e entrando em outra, de modo nas corn áudio e vídeo).
que possa realizar o handoff. Esse projeto é conhecido
Outros serviços poderiam ser: videoconferência, tele-
como handoff auxiliado pela unidade móvel, ou MAHO
presença, jogos em grupo e m-commerce (comércio móvel,
(Mobile Assisted HandOft).
bastando utilizar seu telefone no caixa para pagar as com-
pras feitas em urna loja). Além disso, todos esses serviços
2.6.5 Tecnologia de terceira geração deveria1n estar disponíveis em âmbito 1nundial (com cone-
xão automática via satélite, quando não for possível insta-
(3G): voz e dados digitais lar nenhuma rede terrestre), de forma instantânea (sempre
A prin1eira geração de telefones móveis foi a voz analógica, ativos) e com garantias de qualidade de serviço. Em outras
e a segunda foi a voz digital. A terceira geração de telefones palavras, um sonho.
móveis, ou 3G, co1no é chamada, trata de voz e dados digi- A JTU previu uma única tecnologia mundial para o
tais. Diversos fatores direcionara1n o setor para a tecnologia IMT-2000, de fonna que os fabricantes fossem capazes de
30. Primeiro, na época do 30, o tráfego de dados come- construir um único dispositivo que pudesse ser vendido e
çou a ultrapassar o tráfego de voz na rede fixa; tendências utilizado e1n qualquer lugar do n1undo. Ter uma única tec-
semelhantes começaram a surgir para dispositivos móveis. nologia também facilitaria bastante a vida dos operadores
Segundo, os serviços de telefone, Internet e vídeo começa- de redes e encorajaria mais pessoas a usarem os serviços.
ra1n a convergir. O au1nento do uso de smartphones, a partir Acontece que isso foi um pouco otimista. O núme-
do iPhone da Apple, que foi lançado em 2007, acelerou a ro 2000 significou três coisas: ( 1) o ano en1 que o serviço
Capítulo 2 • A camada física 105

deveria ser iniciado; (2) a frequência em que ele deveria de 12 kbps após a correção de en·o, e essa capacidade é
operar (em MHz); e (3) a largura de banda que o serviço suficiente para uma chamada de voz. Corn um código de
deveria ter (em kbps). Nenhum desses três se concretizou. 4 chips, a taxa de dados do usuário é próxima de 1 Mbps.
Nada foi implernentado em 2000. A JTU recomendou que Códigos de tamanho inte.nnediário geram taxas intenne-
todos os governos reservassem o espectro em 2 GHz para diárias; para conseguir rnúltiplos Mbps, a unidade 1nóvel
que os dispositivos pudesse1n passar de wn país para outro precisa usar 1nais de um canal de 5 MHz ao mesmo tempo.
de forma transparente. A China reservou a largura de banda Vamos voltar nossa discussão para o uso do COMA
exigida, mas ninguém mais fez isso. Finalmente, reconhe- em redes celulares, por ser o fator de distinção dos dois
ceu-se que 2 Mbps não são atualmente viáveis para usuá- siste1nas. O CDMA não é FDM ne1n TDM, 1nas un1 tipo
rios que se movimentam 111uito (em virtude da dificuldade de mistura em que cada usuário envia na mesma banda de
de realizar handoffs con1 rapidez suficiente). O mais rea- frequência ao mesmo ten1po. Quando ele foi proposto ini-
lista é 2 Mbps para usuários que não estão em movimento, cialmente para sistemas de celular, a indústria teve apro-
384 kbps para pessoas andando e 144 kbps para conexões xirnadamente a mesma reação que Colombo provocou na
ern carros. Rainha Isabel quando ele propôs alcançar as Índias nave-
Apesar desses problemas iniciais, muito foi realizado gando na direção errada. Porém, pela persistência de uma
desde então. Várias propostas do IMT-2000 foram feitas única empresa, a Qualcomm, o COMA teve sucesso como
e, após uma seleção, elas se reduzirarn a duas principais: un1 sistema 2G (IS-95) e amadureceu ao ponto de se tornar
(J) o CDMA de banda larga, ou WCDMA (Wideband a base téc11ica para o 3G.
CDMA), foi proposto pela Ericsson e adotado pela União Para fazer o CDMA funcionar no ambiente de telefo-
Europeia, que o chamou de sistema universal de teleco- nia móvel, é preciso mais do que a técnica de CDMA básica
municações móveis, ou UMTS (Universal Mobile Tele- que descrevemos na Seção 2.4. Especificamente, descreve-
communications System); e (2) o CDMA2000, proposto mos um sistema chamado CDMA síncrono, no qual as se-
pela Qualcornm nos Estados Unidos. quências de chips são exatamente ortogonais. Esse projeto
Esses dois sistemas são rnais semelhantes do que di- funciona quando todos os usuários estão sincronizados no
ferentes , pois são baseados no CDMA de banda larga; o momento inicial de suas sequências de chips, como no caso
WCOMA usa canais de 5 MHz e o COMA2000 usa ca- da estação-base transinitindo para unidades móveis. A esta-
nais de 1,25 MHz. Se os engenheiros da Ericsson e da ção-base pode transn1itir as sequências de chips começando
Qualcon1n1 fossem confinados en1 uma sala e solicitados a ao 1nes1no ten1po, de 1nodo que os sinais seja1n ortogonais
apresentar um projeto comum, eles provavelmente conse- e capazes de ser separados. Contudo, é difícil sincronizar
guiriam fazê-lo rapidamente. A dificuldade é que o proble- as transmissões de telefones móveis independentes. Sem
ma real não é de engenharia, mas político (como sempre). alguns esforços especiais, suas transmissões cbegariam
A Europa queria u1n sistema que trabalhasse junto com o na estação-base en1 n101nentos diferentes, sen1 nenhuma
GSM, enquanto os Estados Unidos queria1n um sistema que garantia de ortogonalidade. Para que as unidades 1nóveis
fosse cornpatível com un1 siste1na já a1npla1nente desenvol- envie1n para a estação-base sem sincronização, queretnos
vido no país (o fS-95). Cada lado (naturalmente) tambérn codificar sequências que são ortogonais umas às outras em
apoiava sua empresa local (a Ericsson está sediada na Su- todos os deslocamentos possíveis, não apenas quando elas
écia; a Qualcon1m, na Califórnia). Por fim, a Ericsson e a estão alinhadas no início.
Qualco1nm estavam envolvidas em numerosos processos Embora não seja possível encontrar sequências exa-
relacionados a suas respectivas patentes de COMA. Para tamente ortogonais para esse caso geral, longas sequências
aurnentar a confusão, o UMTS se tornou um padrão 3G pseudoaleatórias chegam perto o suficiente. Elas têrn a
único com múltiplas opções incompatíveis, incluindo o propriedade de que, com alta probabilidade, tenhan1 uma
CDMA2000. Essa nludança foi um esforço para unificar os baixa correlação cruzada entre si e1n todos os desloca-
vários campos, mas ele apenas encobre as diferenças técni- mentos. Isso significa que, quando uma sequência é multi-
cas e oculta o foco dos esforços em andarnento. Usaremos o plicada por outra e somada para calcular o produto interno,
UMTS para indicar o WCOMA, uma forma diferente com o resultado será pequeno; ele seria zero se todas fossem
origem no CDMA2000. ortogonais. (Intuitiva1nente, as sequências aleatórias sem-
Outra melhoria em relação ao esquema COMA básico pre deverão parecer diferentes uma da outra. Multiplicá-las
que descrevemos anterior1nente é permitir que diferentes deverá, então, produzir um sinal aleatório, que se somará a
usuários enviem dados em diferentes taxas, independen- um resultado pequeno.) Isso permite que u1n receptor filtre
tes uma da outra. Esse truque é realizado naturahnente no transmissões indesejadas do sinal recebido. Além disso, a
CDMA fixando a taxa em que os chips são transmitidos autocor relação de sequências pseudoaleatórias também
e atribuindo aos usuários sequências de chips de diferen- é pequena, com alta probabilidade, exceto em um deslo-
tes tamanhos. Por exemplo, no WCDMA, a taxa de chip camento zero. Isso significa que, quando u1na sequência
é de 3,84 Mchips/s, e o espalhamento de códigos va1ia de é 1nultiplicada por u1na cópia atrasada de si mesn1a e so-
4 a 256 chips. Com um código de 256 chips, resta1n cerca mada, o resultado será pequeno, exceto quando o atraso é
106 Redes de computadores

zero. (Intuitivamente, Luna sequência aleatória atrasada se en1 uma célula ocupada em deten11inado momento. Assin1,
parece com uma sequência aleatória diferente, e voltamos o sisten1a tira proveito dos silêncios esperados para pern1itir
ao caso da correlação cruzada.) Isso pennite que um re- um número maior de chamadas si1nultâneas.
ceptor intercepte o inicio da transmissão desejada no sinal En1 segundo lugar, com o CDMA, cada célula usa as
recebido. mesmas frequências. Diferentemente de GSM e AMPS, a
O uso de sequências pseudoaleatórias permite que a FDM não é necessária para separar as trans1nissões de di-
estação-base receba rnensagens CDMA de unidades rnó- ferentes usuários. Isso elirnina co1nplicadas tarefas de pla-
veis não sincronizadas. Contudo, u1na suposição in1plícita neja1nento de frequência e melhora a capacidade, tomando
em nossa discussão do CDMA é que os níveis de potência mais fácil para a estação-base usar várias antenas direcio-
de todas as unidades móveis são iguais no receptor. Se não nais, ou antenas setorizadas, em vez de uma antena om-
forem, uma pequena correlação cruzada com um sinal po- nidirecional. As antenas direcionais concentram um sinal
deroso poderia superar u1na grande autocorrelação com um na direção desejada e o reduzem, diminuindo, portanto, o
sinal fraco. Assirn, a potência de transmissão nas unidades sinal (e a interferência) em outras direções. Isso, por sua
móveis deve ser controlada para reduzir a interferência en- vez, au1nenta a capacidade. Esquemas con1 três setores são
,
tre sinais concorrentes. E essa interferência que limita a ca- comuns. A estação-base precisa rastrear a unidade rnóvel
pacidade de sistemas CDMA. enquanto ela se inove de un1 setor para outro. Esse rastrea-
Os níveis de potência recebidos em urna estação-base mento é fácil com o CDMA, pois todas as frequências são
dependem da distância em que os transmissores se encon- usadas em todos os setores.
tram e também de quanta potência eles transmitem. Pode Em terceiro lugar, o CDMA facilita o soft handoff,
haver muitas estações móveis em distâncias variadas da en1 que a unidade móvel é aceita pela nova estação-base
estação-base. Uma boa heurística para equalizar a potência antes de a anterior se desconectar. Desse rnodo, não existe
recebida é que cada estação móvel transmita para a estação- perda de continuidade. O soft handoff aparece na Figura
-base no inverso do nível de potência que ela recebe dessa 2.43. Ele é fácil com o CDMA, pois todas as frequências
estação-base. En1 outras palavras, urna estação móvel rece- são usadas em cada célula. Como opção há u1n hard han-
bendo um sinal fraco da estação-base usará mais potência doff, em que a estação-base antiga libera a chamada an-
do que outra obtendo um sinal forte. Para aumentar a pre- tes de ela ser aceita pela nova. Se a nova não for capaz de
cisão, a estação-base també1n oferece feedback a cada uni- aceitá-la (p. ex., porque não existe nenhuma frequência
dade móvel para aumentar, diminuir ou manter constante disponível), a chamada será desconectada de fonna brus-
sua potência de transmissão. O feedback é frequente ( 1.500 ca. Os usuários tendem a notar essa interrupção, mas ela
vezes por segundo), pois o bom controle de potência é im- ocasionalmente é inevitável co1n a estrutura atual. O hard
portante para reduzir a interferência. handoff é a nonna nos projetos FDM para evitar o custo
de fazer a unidade móvel transmitir ou receber em duas
Agora, vamos descrever as vantagens do CDMA. Pri-
frequências simultaneamente.
meiro, esse sistema pode melhorar a capacidade ao tirar
proveito de pequenos períodos quando alguns transmisso-
res estão silenciosos. Nas chamadas de voz, em conversas 2.6.6 Tecnologia de quarta geração
educadas, uma parte fica em silêncio enquanto a outra fala.
E1n m.édia, a linha está ocupada apenas 40% do te1npo.
(4G): comutação de pacotes
Contudo, as pausas poden1 ser pequenas e são dificeis de Em 2008, a ITU especificou um conjunto de padrões para
prever. Com sistemas TDM ou FDM, não é possível rea- siste1nas 4G. O 4G, que também costuma ser chamado de
tribuir slots de ternpo ou canais de frequência com rapidez IMT Advanced, é totalmente baseado na tecnologia de
suficiente para se beneficiar desses pequenos silêncios. rede de comutação de pacotes, incluindo seus predeces-
Contudo, no CDMA, um usuário reduz a interferência para sores. Seu predecessor ünediato foi uma tecnologia nor-
outros usuários sin1plesmente não transmitindo, e é prová- malmente chamada de LTE (Long Term Evolution). Ou-
vel que alguma fração dos usuários não esteja transmitindo tro precursor e tecnologia relacionados ao 4G foi o 3GPP

~/ ~/

//
/
/
/ /' ''
' ', //
/
/
/ /' ''
''
' '
~ ~ ~
/ /

(é!) (!:)) (e:)

Figura 2.43 Soft handoff (a) antes, (b) durante e (e) depois.
Capítulo 2 • A camada física 107

LTE, tatnbém chamado de "40 LTE". A terminologia é um EPS, estabelecido quando o dispositivo do usuário se
pouco confusa, pois "40" efetivamente se refere a uma ge- conecta à rede.
ração de comunicações móveis, em que qualquer geração 4. Home Subscriber Server (HSS). O MME consulta o
pode, de fato, incluir vários padrões. Por exetnplo, a ITU HSS para detenninar se o dispositivo do usuário cor-
considera o IMT Advanced como utn padrão 4G, e1nbora responde a um assinante válido.
ta1nbé1n aceite LTE co1no um padrão 40. Outras tecnolo-
gias, como o malfadado WiMAX (IEEE 802.16), também A rede 4G também possui uma RAN (Radio Access
são consideradas 4G. Tecnicamente, LTE e "4G verdadei- Net,vork) expandida. A rede de acesso por rádio para LTE
ro" são versões diferentes do padrão 30PP (versões 8 e 1O, introduz utn nó de acesso denominado eNodeB, que realiza
respectivamente). operações na can1ada tisica (como enfocaremos neste capí-
A principal inovação em relação aos sisten1as 3G an- tulo), bem como as ca1nadas MAC (Medium Access Con-
teriores é que as redes 40 utilizam comutação de pacotes, trol), RLC (Radio Link Control) e PDCP (Packet Data
em vez de comutação de circuitos. A inovação que permite Control Protocol), 1nuitas delas específicas para a arquite-
a comutação de pacotes é chamada de EPC (Evolved Pa- tura de rede celular. O eNodeB executa o gerencia1nento de
cket Core), que é basica1nente uma rede IP simplificada, recursos, o controle de admissão, a programação e outras
que separa o tráfego de voz da rede de dados. A rede EPC funções do plano de controle.
transporta voz e dados em pacotes IP. Assim, ela é uma rede Nas redes 4G, o tráfego de voz pode ser transporta-
de voz sobre íP (VolP), com recursos alocados usando as do pelo EPC usando uma tecnologia chamada VoLTE
técnicas de multiplexação estatística descritas anteriormen- (Voice over LTE), possibilitando às operadoras transmitir
te. Como tal, a EPC deve gerenciar os recursos de forma o tráfego de voz pela rede comutada por pacotes e tirando
que a qualidade da voz permaneça alta através dos recur- qualquer dependência da rede de voz legada, co1nutada por
sos de rede que são compartilhados entre 1nuitos usuários. circuitos.
Os requisitos de desempenho para LTE incluem, entre ou-
tras coisas, throughput máxi1no para upload de 100 Mbps e
download de 50 Mbps. Para alcançar essas taxas mais altas, 2.6.7 Tecnologia de quinta geração (5G)
as redes 40 usa1n um conjunto de frequências adicionais, Por volta de 2014, o sistema LTE atingiu a maturidade e
incluindo 700 MHz, 850 MHz, 800 MHz e outras. Outro as pessoas começaram a pensar no que viria em seguida.
aspecto do padrão 4G é a "eficiência espectral'', ou quantos Obviamente, depois de 4G vem o 5G. A verdadeira questão,
bits podem ser transmitidos por segundo para uma detem1i- claro, é "o que será o 5G?", que Andrews et ai. (2014) dis-
nada frequência; para tecnologias 40, a eficiência espectral cutem bastante. Anos depois, 5G passou a significar muitas
máxi1na deve ser 15 bps/Hz para downlink e 6,75 bps/Ohz coisas diferentes, dependendo do público e de que1n está
para uplink. usando o tenno. Basicamente, a próxiina geração de tecno-
A arquitetura LTE inclui os seguintes ele1nentos logia de rede celular móvel se resume a dois fatores princi-
como parte do EPC, conforme mostrado no Capítulo 1, na pais: taxas de dados tnais altas e latência 1nenor do que as
Figura 1.19. tecnologias 4G. É claro que existern tecnologias específicas
1. Serving Gatelvay (S-GW). O S-OW encaminha pa- que petmitem alcançar maior velocidade e 1nenor latência,
cotes de dados para garantir que os pacotes continuem que discutiremos a seguir.
a ser encaminhados para o dispositivo do usuário ao O desempenho da rede celular é geralmente 1nedido
passar de um eNodeB para outro. em termos de taxa de dados agregada ou capacidade de
2. Mobility Management Entity (MME). O MME área, que é a quantidade total de dados que a rede pode
rastreia, pagina o dispositivo do usuário e escolhe o atender em bits por unidade de área. U1n dos objetivos do
S-OW para u1n dispositivo quando ele se conecta à 5G é melhorar a capacidade de área da rede em três ordens
rede pela pritneira vez, assim como durante as trans- de grandeza (1nais de l 000 vezes a do 4G), usando uma
ferências . Ele também autentica o dispositivo do combinação de tecnologias:
' .
usuano. 1. Ultra-densificação e descarregamento. U1na das ma-
3. Packet Data Net,vork Gateway (P-GW). Faz a in- neiras mais simples de melhorar a capacidade da rede
terface entre o dispositivo do usuário e uma rede de é adicionar mais células por área. Enquanto os tama-
dados de pacote (ou seja, uma rede co1nutada por pa- nhos das células 1G eram da ordetn de centenas de
cote) e pode executar funções como alocação de en- quilômetros quadrados, o 50 visa ta1nanhos de células
dereço para essa rede (p. ex., via DHCP), limitação de menores, incluindo picocélulas (com menos de 100 m
taxa, filtragem, inspeção profunda de pacotes e inter- de diâmetro) e até mesmo femtocélulas (com alcance
ceptação legal do tráfego. Os dispositivos do usuário semelhante ao WiFi, de dezenas de metros). Um dos
estabelecem um serviço orientado à conexão com o beneficios mais importantes da redução do tan1anho
gateway de pacotes usando o chamado portador de da célula é a capacidade de reutilizar o espectro em
108 Redes de computadores

u1na determinada área geográfica, reduzindo assi1n o alocadas a u1na fatia de rede diferente daquelas que admi-
número de usuários que estão competindo por recur- tem un1 throughput mais baixo. SDN (Sofhvare-Defmed

sos e1n qualquer estação-base. E claro que a redução Nehvorking) and NFV (Nenvork Functions Virtualiza-
do tamanho da célula traz suas próprias complicações, tion) são tecnologias emergentes que ajudarão a dar suporte
incluindo maior dificuldade para gerenciatnento de ao fatiamento. Discutiremos essas tecnologias em capítulos
1nobilidade e handoff. mais adiante.
2. Largura de banda aumentada com ondas 1nilin1étricas.
A maior parte do espectro de tecnologias anteriores
estava na faixa de várias centenas de MHz a alguns
GHz, correspondendo a cotnprimentos de onda que 2.7 REDES POR CABO
varia1n de centímetros a cerca de u1n metro. Esse es-
Ce11amente, os sistemas de telefonia fixa e 1nóvel desem-
pectro tem se tornado cada vez mais congestionado,
penharão um papel importante nas futuras redes, mas as
especialmente nos principais mercados durante os
redes por cabo também participarão das redes de acesso
horários de pico. Existem quantidades consideráveis
de banda larga do futuro. Hoje mesmo, muitas pessoas re-
de espectro não utilizado na faixa de ondas 1nili1né-
cebe1n se1viços de televisão, telefone e Internet via cabo.
tricas de 20 a 300 GHz, com compri1nentos de onda
Nas próxin1as seções, examinaremos co1n mais detalhes a
1nenores que 1Omm. Até pouco te1npo, esse espectro televisão a cabo como uma rede e vamos compará-la com
não era considerado adequado para con1unicação se1n
os sistemas de telefonia que acabamos de esn1dar. Para
fio porque compri1nentos de onda 1nais curtos não se
obter 1nais informações, consulte Ha11e (2017). O padrão
propagam tão bem. Uma das maneiras como os desa-
DOCSIS de 2018 tan1bém te1n informações úteis, princi-
fios de propagação estão sendo enfrentados é usando
pahnente em relação às modernas arquiteturas de rede por
grandes matrizes de antenas direcionais, o que é uma cabo.
grande tnudança arquitetônica em relação às gerações
anteriores de redes celulares: tudo é diferente, desde
propriedades de interferência até o processo de asso- 2.7.1 História das redes por cabo:
ciar um usuário a uma estação-base. TV por antena comunitária
3. Maior eficiência espectral por nleio de avanços na tec-
nologia MIMO (Multiple-lnput Multiple-Output). A televisão a cabo foi concebida no final da década de 1940
MIMO melhora a capacidade de um enlace de rádio, como uma fonna de proporcionar 1nelhor recepção de TV
usando várias antenas de transn1issão e recepção para às pessoas que viviam en1 áreas n1rais ou 1nontanhosas.
tirar vantagen1 da propagação de multicaminhos, atra- No início, o sisten1a consistia em uma grande antena situa-
vés da qual o sinal de rádio transmitido chega ao re- da no alto de tuna colina para captar o sinal de televisão que
ceptor por 1neio de dois ou 1nais carninhos. MIMO foi se propaga pelo ar, u1n amplificador cha1nado headend,
introduzido na co1nunicação WiFi e nas tecnologias de para reforçar o sinal, e un1 cabo coaxial para distribuí-lo
celular 3G por volta de 2006, e possui algu1nas varia- pelas casas das pessoas, como ilustra a Figura 2.44.
ções; os padrões celulares anteriores tiram proveito do Nos primeiros anos, a TV a cabo era chamada de te-
MU-MIMO (Multi-User MIMO). Geralmente, es- levisão de antena comunitária, ou CATV (Community
sas tecnologias aproveitam a diversidade espacial dos Antenna Television). Sua operação era muito simples -
usuários para cancelar a interferência que pode ocor- qualquer pessoa que tivesse alguma prática e1n eletrônica
rer e1n qualquer uma das extremidades da trans1nissão era capaz de instalar um serviço para sua cidade, e os usuá-
sem fio. Massive MIMO é un1 tipo de MU-MIMO rios se reuniam para pagar os custos. À medida que o nú-
que au1nenta o número de antenas da estação-base mero de assinantes crescia, outros cabos era1n conectados
para que haja muito mais antenas do que terminais. ao cabo original e erarn acrescentados outros amplificado-
Existe até a possibilidade de usar um arranjo de an- res conforme a necessidade. A transn1issão era unidirecio-
tenas triditnensionais, no chamado FD- MIMO nal, do headend para os usuários. Em 1970, havia milhares
(Full-Dimension MIMO). de sistemas independentes.
Em 1974, a Time lnc. lançou um novo canal, deno-
Outro recurso que acompanhará o 5G é o fati amen- n1inado Hon1e Box Office, com novo conteúdo (filmes) e
to de rede, que permitirá às operadoras de celular criarem distribuído so1nente por cabo. Seguiran1-se outros canais
várias redes virtuais na mesma infraestrutura física compar- dedicados apenas a notícias, esportes, culinária, história,
tilhada, dedicando partes de sua rede a casos de uso especí- filmes, ciência, crianças e muitos outros temas. Esse de-
ficos do cliente. Frações distintas da rede (e seus recursos) senvolvi1nento ocasionou duas 1nudanças na indústria.
podem ser dedicadas a diferentes provedores de aplicações, Pri1neiro, as grandes corporações começaram a adquirir os
as quais, por sua vez, podem ter diferentes requisitos. Por sistemas a cabo existentes e estender novos cabos para con-
exemplo, aplicações que exigem alto throughput podem ser quistar novos assinantes. Segundo, agora havia necessidade
Capítulo 2 • A camada física 109

Antena para receber


/sinais distantes

Headend
- - - - - - - -
lil lil lil lil lil lil lil lil lil lil fil lil lil til fil lil

.----Cabo local

/
Figura 2.44 Um antigo sistema de TV a cabo.
"
Tomada Cabo coaxial

de conectar vários sistemas, normalmente ern cidades dis- Eliminar todos os canais de TV e usar a infraestrutura
tantes, a fim de distribuir o conteúdo dos novos canais de de cabo estritamente para acesso à Internet provaveln1ente
TV a cabo. As empresas especializadas começaram a esten- geraria um nú1nero razoável de clientes insatisfeitos (prin-
der cabos entre as cidades para conectar todas elas em utn cipahnente os mais antigos, pois os mais novos já haviarn
único sistema. Esse padrão era semelhante ao que ocorreu ron1pido os laços); assim, as e1npresas de TV a cabo hesi-
na indústria de telefonia 80 anos antes, corn a conexão de tam ern fazê-lo . Além disso, a maioria das cidades tem uma
estações finais anteriormente isoladas para tornar possível regulamentação bastante pesada sobre o que é transmitido
a comunicação interurbana. por cabo e, portanto, as operadoras de serviços não teriam
permissão para fazer isso, ainda que desejassem. Como
consequência, elas precisaram encontrar um modo de fazer
2.7.2 Acesso de banda larga à a televisão e a Internet coexistiretn no mesmo cabo.
Internet por cabo: redes HFC A solução é contar cotn a FDM. Os canais de TV
Com o passar dos anos, o sistema de TV a cabo cresceu, a cabo da Arnérica do Norte ocupam a região de 54 a
e os cabos entre as várias cidades foram substituídos por 550 MHz (com exceção do rádio FM, que ocupa a fai-
fibra óptica de alta largura de banda, de forma sernelhante xa de 88 a 108 MHz). Esses canais tê1n 6 MHz de largu-
ao que ocorreu no sistema telefônico. Um sistema com fi- ra, incluindo as bandas de proteção, e poden1 transportar
bra nas linhas principais e cabo coaxial nas ligações para as um canal de TV analógica tradicional ou vários canais de
residências é chamado de sistema híbrido de cabo coaxial TV digital. Na Europa, a extren1idade inferior em geral
e fibra , ou HFC (Hybrid Fiber Coax), e é a arquitetura é de 65 MHz, e os canais têm de 6 a 8 MHz de largu-
predominante nas redes a cabo atuais. A tendência de levar ra, ern virtude da 1naior resolução exigida pelos sisten1as
a fibra para inais perto do assinante doméstico continua, PAL e SECAM, nlas o esque1na de alocação é semelhan-
conforme descrevemos na seção sobre FTTX. Os conver- te nos outros aspectos. A parte baixa da banda não é usa-
sores eletro-ópticos que constituem a interface entre as par- da. Os cabos modernos també1n operam bem acima de
tes óptica e elétrica do sisterna são chamados nós de fibra . 550 MHz, chegando frequenten1ente a 750 MHz ou mais.
Pelo fato de a largura de banda da fibra ser muito n1aior que A solução escolhida foi introduzir canais de upstrean1 na
a dos cabos coaxiais, um único nó de fibra pode alin1entar banda de 5 a 42 MHz (um pouco mais alta na Europa)
vários cabos coaxiais. A Figura 2.45(a) mostra un1a parte de e usar as frequências na extremidade alta para os sinais
um sistetna HFC moderno. downstream. O espectro dos serviços de cabo é ilustrado
No final da década de 1990, muitas operadoras de na Figura 2.46.
TV a cabo decidiram entrar no ramo de acesso à Internet e, Como todos os sinais de televisão são downstrea1n, é
muitas vezes, tarnbém no ramo de telefonia. No entanto, di- possível usar amplificadores upstrearn que só funcionam
ferenças técnicas entre as instalações de cabo e de telefonia na região de 5 a 42 MHz e amplificadores downstrearn
têm efeito sobre o que deve ser realizado para alcançar es- que só funcionam na frequência de 54 MHz e acitna desta,
ses objetivos. Por um lado, todos os amplificadores unidi- corno mostra a figura. Desse rnodo, obte1nos u1na assime-
recionais no sisterna tinharn de ser substituídos por arnplifi- tria nas larguras de banda upstrearn e downstream, porque
cadores bidirecionais, para dar suporte a transmissões tanto está disponível uma parte maior do espectro acüna da faixa
upstream quanto downstream. Enquanto isso estava acon- de TV do que abaixo dela. Em contrapartida, a maior par-
tecendo, os primeiros sistemas de Internet por cabo usavam te do tráfego provavehnente será downstrea1n, e, assim, as
a rede de televisão para as transmissões downstream e uma operadoras de serviços a cabo não estão insatisfeitas com
conexão discada via rede telefônica para as transmissões esse fato. Como viinos, em geral as cornpanhias telefônicas
upstream. Essa foi uma alternativa arriscada, se é que hou- oferecem um serviço DSL assimétrico, embora não tenham
ve uma, mas até que funcionou. nenhuma razão técnica para fazê-lo . Além de atualizar os
110 Redes de computadores

Tronco de fibra
- - - - -
com alta largura
Switch fil fil filfil fil fil filfil filfil fil fil Cabo
de banda
/ coaxial

-Nó de fibra
- - - - - - - -

(a)

- -
Tronco de fibra Circuito ,.,.-- Casa
Estação com alta largura Estação terminal
interurbana de banda final
\~
-
- -
\
Fibra
Par trançado ~
de cobre

{b)

Figura 2.45 (a) Rede híbrida de cabo coaxial e fibra. (b) Sistema de telefonia fixa.

54254 88
o/ \ l \108 550
. ' ' ' ' '
750 MHz

"' E
-
o "'
4C
"'
ºª
~

::J
TV FM TV Dados downstream

' ' \. ' ' ' ' '

"'
.!l! E
Frequências downstream
o "'
e~ ~
::J -
r::r
Q) "'a.
~ ::J
lL

Figura 2.46 Alocação de frequências em um sistema típico de TV a cabo usado para acesso à Internet.

amplificadores, a operadora também te1n de atualizar o he- Esse headend atualizado passou a se chan1ar sistema de
adend, que deve passar de um amplificador não inteligente terminação de modem a cabo, ou CMTS (Cable Modem
para um sistema computadorizado digital inteligente, com Termination System). CMTS e headend referem-se ao
uma interface de fibra de alta largura de banda para utn ISP. mesmo cotnponente.
Capítulo 2 • A camada física 111

2.7. 3 DOCSIS dispositivo de hardware que combina o moden1 a cabo e o


ponto de acesso sen1 fio. A interface entre o moden1 a cabo
As companhias de cabo operam redes que incluem a tec- e o restante da rede ISP é mais complicada, pois envol-
nologia da camada fisica HFC para a conectividade do úl- ve a coordenação do compartilhamento de recursos entre
timo quilômetro, além de conexões por fibra e sem fio para 1nuitos assinantes de cabo que podem estar conectados
o último quilômetro. A parte HFC dessas redes é bastante ao mes1no headend. Esse compartilhamento de recursos
empregada nos Estados Unidos, Canadá, Europa e outros ocorre tecnicamente na camada de enlace, não na camada
mercados, e usa os padrões DOCSIS (Data Over Cable fisica, 1nas ire1nos abordá-lo neste capítulo para garantir a
Service Interface Specification) da CableLabs. continuidade.
O padrão DOCSIS versão 1.0 apareceu em 1997.
DOCSIS 1.0 e 1.1 tinham um limite funcional de 38 Mbps
downstream e 9 Mbps upstream. Em 2001, DOCSIS 2.0 2.7.4 Compartilhamento de recursos em
triplicou a largura de banda upstrea1n. Mais tarde, DOCSIS redes DOCSIS: nós e minislots
3.0 (2006) introduziu o suporte para IPv6 e permitiu a li-
gação de canais para as comunicações downstrean1 e ups- Há u1na diferença fundamental importante entre o siste-
tream, aumentando bastante a capacidade potencial para 1na HFC da Figura 2.45(a) e o sistema telefônico da Fi-
cada residência atendida para centenas de megabits por gura 2.45(b). E1n determinados bairros, um único cabo é
segundo. DOCSIS 3.1 (2013), que introduziu a Orthogo- compartilhado por muitas casas, ao passo que, no sistema
nal Frequency Division Multiplexing (OFDM), largura de telefônico, cada casa tem seu próprio circuito terminal pri-
banda 1nais larga para os canais e maior eficiência, pennitiu vado. Quando é utilizado para difusão de televisão, esse
mais de l Gbps de capacidade downstrean1 por residência. compartilhan1ento é natural. Todos os programas são trans-
Extensões ao DOCSIS 3.1 foram acrescentadas por 1neio 1nitidos no cabo e não importa se existem 1Oou 10.000 es-
de atualizações ao padrão DOCSIS 3.1, incluindo a ope- pectadores. No entanto, quando o mesmo cabo é usado para
ração Full Duplex (2017), que permitirá capacidades do- acesso à Internet, faz uma grande diferença a existência de
wnstream e upstream simétricas de vários gigabits, alé1n do l Oou de l 0.000 usuários. Se um usuário decidir baixar um
DOCSIS Low Latency (2018) e outros recursos para redu- arquivo muito grande ou fazer o stream de um fi lme de 8K,
zir a latência. essa largura de banda não estará disponível a ouh·os usuá-
Na camada de fibra coaxial híbrida, ou HFC, a rede é rios. Quanto mais usuários co1npartilhando u1n único cabo,
altamente dinâmica, com operadoras de rede a cabo reali- maior a competição pela largura de banda. O siste1na de
zando divisões de nó de fibra regula1mente, o que empurra telefonia não tem essa propriedade específica: a transferên-
a fibra para rnais perto da casa e reduz o número de residên- cia de um grande arquivo por uma linha ADSL não reduz
cias atendidas por cada nó, disponibilizando n1ais capaci- a largura de banda do seu vizinho. Contudo, a largura de
dade para cada casa atendida. Em alguns casos, a HFC do banda do cabo coaxial é muito mais alta do que a dos pares
último quilô1netro é substituído por FTTH, e muitas novas trançados. Basicamente, a laq,'11ra de banda que qualquer
construções tan1bém são para uso doméstico. assinante recebe e1n detenninado 1non1ento depende muito
Os assinantes de Internet a cabo exigem um modem a do uso dos outros assinantes que estejam compartilhando o
cabo DOCSIS para servir como interface entre a rede do- mesmo cabo, conforme descrevemos com mais detalhes a
méstica e a rede do ISP. Cada modem a cabo envia dados segutr.
em um canal upstream e um canal downstream, e cada u1n A estratégia usada pelos ISPs para resolver esse pro-
é alocado usando FDM. DOCSIS 3.0 utiliza vários canais. blen1a é desn1e1nbrar cabos longos e conectar cada u1n
O esque1na normal é apanhar cada canal downstreatn de 6 deles diretamente a un1 nó de fibra. A largura de banda
ou 8 MHz e tnodulá-lo com QAM-64 ou, se a qualidade do do headend até cada nó de fibra é significativa e, se não
cabo for excepcionalmente boa, com QAM-256. Com um existirem muitos assinantes en1 cada segmento de cabo,
canal de 6 MHz e QAM-64, obtemos cerca de 36 Mbps. o voltune de tráfego será gerenciável. Os cabos típicos há
Quando o overhead da sinalização é subtraído, a largura de cerca de 1O a 15 anos conectavam de 500 a 2.000 casas,
banda resultante é de cerca de 27 Mbps. Com QAM-256, embora o número de casas por nó continue a di1ninuir con-
a carga útil resultante é de cerca de 39 Mbps. Os valores forme a ünplantação até o limite continua, em un1 esforço
europeus são 1/3 maiores devido à 1naior disponibilidade para aumentar a velocidade para os assinantes. O au1nento
de largura de banda. de assinantes de Internet a cabo na última década, junta-
A interface entre o modem e a residência é simples; n1ente com a crescente demanda de tráfego, criou a neces-
em geral, ela é uma conexão Ethe1net. Hoje em dia, mui- sidade cada vez rnaior de dividir esses cabos e adicionar
tos usuários domésticos da Internet conectam o modem 1nais nós de fibra. E1n 2019, u1n tamanho de nó típico era
a cabo a um ponto de acesso WiFi para montar uma rede de cerca de 300-500 casas, en1bora em algumas áreas os
se1n fio do1néstica. E1n alguns casos, o provedor de ser- ISPs esteja1n construindo arquiteturas HFC N+O (ta1nbé1n
viços de Internet (ISP) do usuário fornece um único conhecidas como "Fiber Deep"), o que pode reduzir esse
112 Redes de computadores

nú1nero para até 70, eliminando a necessidade de amplifi- Em geral, vários 1uodems receberão o mesmo minis-
cadores de sinal em cascata e de passar cabos de fibra di- lot, o que leva à disputa (vários modems tentando enviar
reto dos headends da rede para os nós no último segmento dados upstrea1n ao mesmo tempo). O CDMA pode penni-
do cabo coaxial. tir que vários assinantes compartilhem o mesmo minislot,
Quando um modem a cabo é conectado e ligado, ele en1bora con1 un1a taxa reduzida por usuário. A segunda
percorre os canais downstream procurando por um pacote opção é que o COMA não seja utilizado, quando não ha-
especial emitido periodicamente pelo headend para for- verá confinnação, em decorrência de uma colisão. Nesse
necer parâmetros de sistema aos modems que acabaram caso, quando ocorrem colisões, o modem simplesmente
de se conectar. Ao encontrar esse pacote, o novo modem esperará um tempo aleatório e tentará de novo. Após cada
anuncia sua presença em uru dos canais upstrearu. O hea- falha sucessiva, esse tempo aleatório é dobrado. (Para os
dend responde atribuindo o moden1 a seus canais upstream leitores que já estão um pouco fan1iliarizados com as redes,
e downstream. Essas atribuições podem ser alteradas mais esse algoritmo é simplesmente o modelo ALOHA adotado
tarde, se o headend julgar necessário equilibrar a carga. cotn a recuperação de erro por backoff exponencial biná-
Para upstream, há ruais ruído de ondas de rádio, pois rio. A Ethernet não pode ser usada em redes a cabo, pois
o sisterua não foi projetado originalmente para dados, e o as estações não conseguen1 detectar o meio compartilhado.
ruído de vários assinantes é afunilado no headend, de modo Voltaremos a analisar essas questões no Capítulo 4.)
que é utilizado u1u esquema mais conservador. Este varia Os canais downstreatu são gerenciados de rnodo dife-
de QPSK a QAM-128, em que alguns dos símbolos são rente dos canais upstrean1. Por um lado, só existe um trans-
usados para proteção de erro coru a modulação codificada missor (o headend) e, assim, não há disputa nem a neces-
por treliças. Con1 menos bits por sí1ubolo no upstream, a sidade de minislots. Por outro lado, o tráfego downstream
assimetria entre as taxas upstream e downstream é muito en1 geral é ruuito maior que o upstream, e então é usado
mais do que é sugerido pela Figura 2.46. um tamanho de pacote fixo, de 204 bytes. Uma parte desse
Os modems DOCSlS atuais exigem um tempo para código é urn código de correção de erros Reed-Solornon e
transmitir, e então o CMTS concede um ou mais períodos algumas outras fontes de overhead, restando uma carga útil
de tempo para que o modem possa transmitir, com base na do usuário igual a 184 bytes. Esses nún1eros fora1n escolhi-
disponibilidade; todos os usuários simultâneos disputam dos para manter a compatibilidade com a televisão digital
pelo acesso upstream e downstream. A rede usa TDM para usando MPEG-2, de fonna que os canais de TV e os canais
con1partilhar largura de banda no upstream para diversos de dados downstream sejam fonnatados de maneira idênti-
assinantes. O tempo é dividido em minislots, e diferentes ca. As conexões lógicas estão representadas na Figura 2.47.
assinantes poderu enviar em diferentes ruinislots. O hea-
dend anuncia periodicamente o início de uma nova rodada
de minislots, mas o tiro de partida não é ouvido em todos
os modems ao ruesmo tempo, em virtude do tempo de pro- 2.8 SATÉLITES DE COMUNICAÇÕES
pagação no cabo. Conhecendo a que distância está do hea-
dend, cada n1odem pode calcular há quanto tempo o primei- Na década de 1950 e no início dos anos 1960, as pessoas
ro minislot realmente começou. tentavam ruontar sistemas de comunicações emitindo sinais
E' importante que o modem saiba sua distância até o que se refletia1n em balões rueteorológicos n1etalizados. In-
headend para obter a sincronização correta. Primeiro, o felizn1ente, os sinais recebidos eraru 1nuito fracos para que
moderu detem1ina sua distância até o headend, enviando- tivessem algum uso prático. Em seguida, a Marinha dos Es-
-lhe u1n pacote especial e verificando quanto tempo demora tados Unidos detectou uma espécie de balão meteorológico
para receber a resposta. Esse processo é chamado de ve- que ficava permanentemente no céu - a Lua - e criou un1
rificação do alcance (ou ranging). Cada pacote upstream sistema operacional para comunicações entre o navio e a
deve caber em u1n ou mais minislots consecutivos no hea- base, utilizando a Lua em suas transmissões.
dend quando é recebido. A extensão do minislot depende da O progresso no campo da comunicação celeste pre-
rede. Uma carga útil típica é de 8 bytes. cisou esperar até que o primeiro satélite de comunicações
Durante a inicialização, o headend também atribui fosse lançado. A principal diferença entre u1n satélite arti-
cada ruodem a um minislot, que será usado para solicitar ficial e um real é que o artificial pode an1plificar os sinais
lar&rura de banda upstream. Quando utu computador quer antes de enviá-los de volta, transformando uma estranha
enviar urn pacote, ele o transfere ao nJodem, que então so- curiosidade e1n un1 poderoso siste1J1a de cornunicações.
licita o número necessário de minislots. Se a solicitação Os satélites de comunicações têm algurnas proprie-
for aceita, o headend colocará uma confirmação no canal dades interessantes, que os tomam atraentes para muitas
downstrean1, informando ao modem quais minislots foram aplicações. Em sua forma ruais siruples, um satélite de co-
reservados para seu pacote. Este é então enviado, a partir do n1unicações pode ser considerado un1 grande repetidor de
minislot alocado a ele. Pacotes adicionais podem ser solici- micro-ondas no céu. Ele contéru diversos transponders,
tados com a utilização de u1n campo no cabeçalho. cada um deles ouve uma parte do espectro, amplifica os
Capítulo 2 • A camada física 113

Cabo coaxial Canal downstream sem disputa·. 27 Mbps


usando QAM-64 e payloads de 184 bytes
/
Fibra / '\ j / \
ISP \ Head- 1

1
> a 1 l1 1
1 Modem
end
< 1 ••• iiJ· •• •,••• i{]•••• •)•
\ / ./ 1 \ /

Pacote
/ .
Canal upstream com disputa:
9 Mbps usando QPSK e minislots de 8 bytes

Figura 2.47 Detalhes típicos dos canais upstream e downstream na América do Norte.

sinais de entrada e os transmite novainente em outra fre- 35.800 km, o período é de 24 horas. Em uma altitude de
quência, para evitar interferência co1n o sinal de entrada. 384.000 km, o período é de cerca de um mês, como pode
Esse modo de operação é conhecido como um canal em atestar qualquer pessoa que observe a Lua regulam1ente.
curva (bent pipe). O processarnento digital pode ser acres- O período do satélite é importante, mas não é o único
centado para manipular ou redirecionar separadamente os fator para detenninar onde posicioná-lo. Outra questão é
feixes de dados na banda geral, ou informações digitais ain- a presença dos cinturões de Van Allen, carnadas de partí-
da podem ser recebidas pelo satélite e retransmitidas. Are- culas altamente ca1Tegadas que são capturadas pelo ca1npo
generação de sinais dessa maneira melhora o desempenho magnético terrestre. Qualquer satélite em órbita dentro de-
em comparação com um canal em curva, pois o satélite não les seria destruído com bastante rapidez pelas partículas.
amplifica o ruído no sinal ascendente. Os feixes descen- Esses fatores nos levam a identificar três regiões nas quais
dentes podern ser largos, cobrindo uma fração substancial os satélites podern ser posicionados com segw·ança. Essas
da superfície terrestre, ou estreitos, cobrindo uma área com regiões e algumas de suas propriedades estão ilustradas na
apenas centenas de quilômetros de diâmetro. Figura 2.48. A seguir, descreveremos rapidamente os satéli-
De acordo com a lei de Kepler, o período orbital de tes que habitam cada uma dessas regiões.
um satélite varia de acordo com o raio da órbita elevado ã
potência 3/2. Quanto mais alto o satélite, mais longo o pe-
ríodo. Perto da superfície da Terra, o período é de cerca de
2.8.1 Satélites geoestacionários
90 minutos. Consequentemente, os satélites de órbita baixa Em 1945, o escritor de ficção científica Arthur C. Clarke
saem de visão com bastante rapidez (devido ao 1novimento calculou que um satélite na altitude de 35.800 km em uma
dos satélites); assim, são necessários muitos deles para pro- órbita circular equatorial pareceria pennanecer imóvel no
porcionar cobertura continua, e as antenas terrestres preci- céu, e assim não precisaria ser rastreado (Clarke, 1945).
sam acompanhá-los. A uma altitude de aproximadamente Ele continuou descrevendo un1 sistema de comunicação

Altitude (km) Tipo Latência (ms) Satélites necessários

35.000 \ li efj li \ GEO 270 3

30.000

25.000

20.000
Cinturão de Van Allen superior
15.000

10.000 \ li efj li l MEO 35- 85 10

5.000
Cinturão de Van Allen inferior
o 1- 7 50

' efj
li li \ LEO

Figura 2.48 Satélites de comunicações e algumas de suas propriedades, inclusive altitude acima da Terra, tempo de atraso
de ida e volta, e o número de satélites necessários para cobertura global.
114 Redes de computadores

completo que usava esses satélites geoestacionários se esgotado (em geral no período de 1Oanos), o satélite fica
(tripulados), incluindo as órbitas, os painéis solares, as sem controle, e, portanto, tem de ser desativado. Por fim, a
frequências de rádio e os procedimentos de lançamento. órbita decai, o satélite entra de novo na atmosfera e é total-
Infelizmente, ele concluiu que os satélites eram imprati- mente queimado ou (muito rara1nente) colide com a Ten·a.
cáveis em virtude da iinpossibilidade de colocar en1 órbita Os slots de órbita não são o único ponto de discórdia.
amplificadores a válvulas, frágeis e gastadores de energia; As frequências também o são, porque as trans1nissões do
assim, nunca levou sua ideia adiante, embora tenha escrito satélite para a Terra (downlink) interferem com usuários de
algu1nas histórias de ficção científica sobre ela. micro-ondas. Consequentemente, a ITU alocou certas ban-
A invenção do transistor mudou tudo isso, e o pri- das de frequência para usuários de satélites. As principais
meiro satélite artificial de comunicações, chamado Telstar, estão listadas na Figura 2.49. A banda C foi a primeira a ser
foi lançado em julho de 1962. Desde então, os satélites de designada para tráfego comercial de satélite. Duas faixas
comunicações se transfonnaram em um negócio de vários de frequências são atribuídas nessa banda, a inferior para
bilhões de dólares, e o único aspecto do espaço sideral que tráfego downlink (descendo do satélite) e a superior para
se tomou altamente lucrativo. Esses satélites de alta órbita tráfego uplink (subindo para o satélite). Para permitir que
normalmente são cha1nados satélites geoestacionários, ou o tráfego ocorra em ambos os sentidos ao 1nesn10 tempo,
GEO (Geoestationary Earth Orbit). são necessários dois canais, os quais já estão sobrecarrega-
Com a tecnologia atual, não é 1nuito inteligente ter sa- dos, porque tambén1 são usados pelas concessionárias de
télites geoestacionários com espaça1nento 1nuito menor que telecomunicações nos enlaces ten·estres de micro-ondas.
2 graus entre eles no plano equatorial de 360 graus, a fim As bandas L e S foram acrescentadas por um acordo inter-
de evitar interferência. Com um espaçamento de 2 graus, nacional em 2000. No entanto, elas são estreitas e também
só pode haver 360/2 = 180 desses satélites no céu ao mes- estão lotadas.
mo tempo. No entanto, cada transponder pode usar várias A próxima banda mais alta disponível para concessio-
frequências e polarizações, co1n a finalidade de au1nentar a nárias de telecomunicações comerciais é a Ku (K under).
largura de banda disponível. Essa banda (ainda) não está congestionada e, em suas
Para evitar o caos total no céu, a alocação de slots de frequências mais altas, os satélites pode1n ficar à distân-
órbitas é feita pela lTU. Esse processo é altamente políti- cia de apenas l grau, cotn velocidades de transmissão po-
co, com países que 1nal saíra1n da idade da pedra exigindo dendo atingir mais de 500 Mbps. Entretanto, existe outro
"seus" slots de órbitas (con1 a finalidade de an·endá-los pela proble1na: a chuva. A água absorve bastante essas n1icro-
melhor oferta). Contudo, outros países sustentam que os di- -ondas curtas. Felizmente, em geral as tempestades fortes
reitos nacionais de propriedade não se estende1n para cima costumam ser localizadas; assi1n, o uso de várias estações
até a Lua e que nenhum país tem direito legal sobre os slots terrestres separadas por uma grande distância, em lugar de
de órbita acima de seu território. Para aumentar a disputa, apenas tuna, contorna o proble1na, mas ao custo de ante-
as telecon1unicações comerciais não são a única aplicação. nas, cabos e equipamentos eletrônicos extras para pern1itir
Emissoras de televisão, governos e instituições militares a co1nutação rápida entre estações. Na banda Ka (K above),
também querem ter uma fat ia dessa torta orbital. também foi alocada uma largura de banda para o tráfego de
Os satélites 1nodernos podem ser n1uito grandes, satélite comercial, 1nas o equipa1nento necessário para usá-
pesando até 5.000 kg e consu1nindo vários quilowatts de -la é caro. Alén1 dessas bandas con1erciais, tan1bé1n existe1n
energia elétrica produzida pelos painéis solares. Os efeitos muitas bandas governamentais e 1nilitares.
das gravidades solar, lunar e planetária tendem a movê-los U1n satélite nloderno tem cerca de 40 transponders,
para fora de seus slots de órbita e de suas orientações, um a 1naioria normalmente com uma largura de banda de
efeito co1npensado por 1notores de foguetes a bordo. Essa 36 MHz. Em geral, cada transponder opera como um ca-
atividade de ajuste fino é chamada de manutenção da es- nal em curva, mas satélites recentes têm alguma capacidade
tação. Porém, quando o co1nbustível para os motores tiver de processamento a bordo, permitindo uma operação mais

Banda Downlink Uplink Largura de banda Problemas


L 1,5 GHz 1,6 GHz 15 MHz Baixa largura de banda; lotada
s 1,9 GHz 2,2 GHz 70 MHz Baixa largura de banda; lotada

c 4,0 GHz 6,0 GHz 500 MHz Interferência terrestre


Ku 11 GHz 14GHz 500 MHz Chuva

Ka 20GHz 30GHz 3.500 MHz Chuva; custo do equipamento

Figura 2.49 Principais bandas de satélite.


Capítulo 2 • A camada física 115

sofisticada. Nos primeiros satélites, a divisão dos transpon- Em muitos sistemas VSAT, as 1nicroestações não têm
ders em canais era estática: a largura de banda simplesmente energia suficiente para se comunicarem diretamente umas
era dividida e1n bandas de frequências fixas. Hoje em dia, com as outras (via satélite, é óbvio). Em vez disso, é neces-
o feixe de cada transponder é dividido em slots de tempo, sária uma estação terrestre especial, o hub, co.1n u1na gran-
com diversos usuários alternando atividades. Mais uma vez, de antena de alto ganho para retransmitir o tráfego entre
vemos co1no TDM e FDM são usados em muitos contextos. VSATs, como 1nostra a Figura 2.50. O con1promisso é um
Os primeiros satélites geoestacionários tinha1n um atraso 1nais longo em troca de estações mais econômicas
único feixe espacial que iluminava cerca de 1/3 da su- para o usuário final.
perfície da Terra, deno1ninado sua área de cobertura Os VSATs apresentam u1n grande potencial em áreas
(footprint). Com o enorme declínio de preço, tamanho e rurais, especialmente nos países em desenvolvimento.
requisitos de potência dos equipamentos microeletrônicos, Em grande parte do mundo, não existem linhas terrestres
uma estratégia de transmissão 1nuito 1nais sofisticada tor- ou torres de celular. Estender fios telefônicos até milhares
nou-se viável. Cada satélite é equipado com diversas ante- de pequenas aldeias é algo que vai muito alé1n do orçan1en-
nas e vários transponders. Cada feixe descendente pode ser to da maioria dos governos de países em desenvolvi1nento.
focalizado em uma pequena área geográfica; portanto, po- Erguer torres de celular é 1nais fácil, mas as torres precisam
den1 acontecer diversas transmissões ascendentes e descen- de conexões cabeadas para a rede telefônica nacional. Con-
dentes ao mesino tempo. E1n geral, esses cha1nados feixes tudo, a instalação de antenas VSAT de 1 1netro de diâ1netro,
pontuais tên1 forma elíptica e podem ter apenas algu1nas ali1nentadas por células solares, geralmente é algo viável.
centenas de quilô1netros de diâmetro. Em geral, um satéli- Os VSATs fornecen1 a tecnologia que irá acabar de conectar
te de comunicações para os Estados Unidos tem um único o mundo e també1n pode1n oferecer acesso à Internet para
feixe para os 48 estados contíguos, além de feixes pontuais usuários de smartpbone em áreas onde não existe infraes-
para o Alasca e o Havaí. trutura terrestre, o que acontece em grande parte do mundo
Um desenvolvimento importante no mundo dos satéli- en1 desenvolvimento.
tes de comunicações foi a criação de microestações de bai- Os satélites de comunicações têm diversas proprieda-
xo custo, às vezes chamadas VSATs (Very Small Aperture des radicalmente diferentes dos enlaces terrestres ponto a
Terminais) (Abra1nson, 2000). Esses pequenos terminais ponto. Para começar, e1nbora os sinais enviados e recebidos
têm antenas de 1 metro ou menos (em comparação com por um satélite trafeguem à velocidade da luz (aproxima-
10 m para uma antena de GEO padrão) e podem emitir cer- da1nente 300.000 km/s), a longa distância de ida e volta
ca de 1 watt de energia. Geralmente, o uplink é adequado introduz um atraso substancial para os satélites GEO. De-
para 1 Mbps, 1nas o downlink nonnahnente exige vá1ios pendendo da distância entre o usuário e a estação terrestre,
megabits/s. A televisão transn1itida por satélite utiliza essa e tan1bém da elevação do satélite aciina do horizonte, a la-
tecnologia na transmissão de mão única. tência de ponta a ponta está entre 250 e 300 ms. Um valor

~VSAT

Hub

Figura 2.50 VSATs utilizando um hub.


116 Redes de computadores

típico de ida e volta é 270 1ns (540 ms, no caso de un1 siste- Terra, as estações terrestres não precisam de 1nuita potên-
ma VSAT com u1n hub). cia, e o atraso de ida e volta é n1uito 1nenor: as iinplementa-
Para fins de comparação, os enlaces de micro-ondas ções vee1n latências de ida e volta em qualquer lugar entre
terrestres têm u1n atraso de propagação de aproximadamen- cerca de 40 e 150 milissegundos. O custo de lança1nento
te 3 µs/km, e os enlaces de cabo coaxial ou fibra óptica ge- tan1bén1 é muito 1nais baixo. Nesta seção, exan1inaremos
ram u1n atraso de cerca de 5 µs/k1n. Neste último caso, o dois exemplos de constelações de satélites para o serviço de
atraso é 1naior porque os sinais eletromagnéticos trafegam voz: Iridium e Globalstar.
com maior rapidez no ar do que em materiais sólidos. Durante os primeiros 30 anos da era do satélite, os
Outra propriedade importante dos satélites é que eles de baixa órbita rara1nente eram usados, porque apareciam
basicamente são 1neios de difusão. Enviar u1na mensagem e desaparecia1n de vista com muita rapidez. E1n 1990, a
para 1nilhares de estações localizadas na área de cobertura Motorola deu início a um novo empreendimento e enviou
de um transponder não custa 1nais do que enviar a men- um requerimento à FCC solicitando pennissão para lançar
sagem para apenas uma estação. Para algu1nas aplicações, 77 satélites de baixa órbita para o projeto lridium (o ele-
essa propriedade é muito útil. Por exemplo, poderíamos mento 77 é o irídio). Mais tarde, o plano foi revisto para
Ílnaginar um satélite transtnitindo páginas da Web comuns que fosse1n usados apenas 66 satélites; assiin, o projeto de-
para os caches de u1n grande nún1ero de computadores es- veria ter seu nome alterado para Dysprosium (o elemento
palhados por uma extensa área. Mesn10 quando o broadcas- 66), mas esse nome provavelmente lembrava muito mais
tillg pode ser simulado com o uso de linhas ponto a ponto, uma doença do que um satélite. A ideia era que, assi1n que
o broadcasting por satélite pode ser muito mais econômico. um satélite estivesse fora de vista, outro o substituiria. Essa
Entretanto, do ponto de vista da privacidade, os satélites proposta criou uma agitação entre outras e1npresas de co-
são un1 con1pleto desastre: todo mundo pode ouvir tudo. municações. De repente, todas elas quiseram lançar uma
A criptografia é essencial para a confidencialidade. cadeia de satélites de baixa órbita.
Nos satélites, o custo de transmissão de uma 1nensa- Após 7 anos reunindo parceiros e financiamentos , o
gem é independente da distância percorrida. O serviço de serviço de co1nunicação teve início e1n nove1nbro de 1998.
uma chamada transcontinental não custa mais do que uma Infelizmente, a demanda comercial por grandes e pesados
chamada entre um lado e outro da rua. Os satélites também telefones via satélite era desprezível, porque a rede de tele-
proporcionam excelentes taxas de erros e pode1n ser iinple- fonia 1nóvel (celular) havia crescido de modo espetacular
mentados quase instantaneamente, um detalhe fundamental desde 1990. Con10 consequência, o Tridium não gerou lucro
para a comunicação n1ilitar. e foi à falência e1n agosto de 1999, en1 u1n dos mais espe-
taculares fiascos corporativos da história. Os satélites e ou-
tros bens (no valor de 5 bilhões de dólares) foram adquiri-
2.8.2 Satélites terrestres de órbita média dos mais tarde por um investidor por 25 n1ilhões de dólares,
en1 uma espécie de venda de garagem extraterrestre. Outros
E1n altitudes muito 1nais baixas, entre os dois cinturões de en1preendimentos comerciais logo se seguiram.
Van Allen, encontran1os os satélites de órbita média, ou O serviço lridium foi reiniciado em março de 2001, e
MEO (Medium-Earth Orbit). Vistos da Terra, esses sa- tern crescido desde então. Há serviços de voz, dados, bus-
télites se deslocam lentamente e1n longitude, levando cerca ca, fax e navegação em qualquer lugar do mundo, seja ein
de 6 horas para circular a Terra. Consequentemente, eles terra, seja e1n mar e ar, com dispositivos portáteis que seco-
devem ser acompanhados à medida que se inovem pelo céu. n1unica1n direta1nente com os satélites Iridiun1. Os clientes
Pelo fato de estarem em órbitas 1nais baixas que os GEOs, incluem as illdústrias marítima, de aviação e de exploração
têm uma área de cobertura menor no solo e exige1n trans- de petróleo, bem como pessoas que viajam para regiões do
missores 1nenos potentes para alcançá-los. Atualmente, n1undo que não têm u1na infraestrutura de teleco1nunica-
esses satélites não são usados para telecon1unicações, por- ções (p. ex., desertos, montanhas, o Polo Sul e alguns paí-
tanto, não os examinaremos mais aqui. A constelação de ses e1n desenvolvimento).
cerca de 30 satélites GPS (Global Positioning System) Os satélites lridiu1n estão posicionados a u1na altitude
que estão em órbita a cerca de 20.200 km de altitude são de 670 km, em órbitas polares circulares. Eles estão organi-
exemplos de satélites MEO. zados ern eixos norte-sul, com um satélite a cada 32 graus de
latitude, conforme mostra a Figura 2.5 1. Cada satélite tem
no 1náximo 48 células (feixes pontuais), com uma capacida-
2.8.3 Satélites terrestres de órbita baixa
de de 3.840 canais, alguns deles usados para busca e nave-
A u1na altitude menor, encontramos os satélites de órbi- gação, enquanto outros são empregados para dados e voz.
ta baixa, ou LEO (Low-Earth Orbit). E1n razão de seu Com seis eixos de satélite, a Terra inteira é coberta,
rápido movimento, são necessárias grandes quantidades co1no sugere a Figura 2.51. Uma propriedade interessan-
desses satélites para fonnar um sistema completo. No en- te do Iridium é que a comunicação entre clientes distantes
tanto, pelo fato de os satélites estarem muito próximos da ocorre no espaço, como ilustra a Figura 2.52(a). Na figura,
Capítulo 2 • A camada física 117

A vantagem desse esquema é que ele coloca a maior parte


da complexidade no solo, onde é 1nais fácil de administrar.
Alé1n disso, o uso de grandes antenas nas estações terres-
tres, capazes de e1nitir um sinal potente e receber um sinal
fraco, significa que podem ser utilizados telefones de po-
r-1-i-- Cada satélite tem tência mais baixa. Afinal, o telefone e1nite apenas alguns
quatro vizinhos miliwatts de potência e, assim, o sinal que volta para a es-
tação terrestre é bastante fraco, mesmo depois de ter sido
an1pli ficado pelo satélite.
Os satélites continuam a ser lançados a uma taxa
de algo em torno de 20 por ano, incluindo satélites cada
vez maiores, que agora pesam mais de 5.000 kg. Mas há
tambén1 satélites muito pequenos para organizações mais
preocupadas com o orçamento. Para tornar a pesquisa do
Figura 2.51 Os satélites lridium formam seis eixos em espaço mais acessível, em 1999, os acadêrnicos da Califor-
torno da Terra. nia Polytecb11ic University e Stanford se reunira1n para de-
finir un1 padrão para satélites em miniatura e tun disparador
associado que reduziria bastante os custos de lançamento
vernos um chamador no Polo Norte entrando em contato (Nugent et ai., 2008). Cubesats são satélites e1n unidades
com um satélite situado diretamente acima dele. Cada sa- de cubos de 1Ocrn x 1Ocm x 1Ocm, cada um pesando me-
télite te1n quatro vizinhos co1n os quais pode se con1unicar, nos de 1 kg, que podem ser lançados a partir de US$ 40.000
dois no mes1no eixo (mostrado) e dois em eixos adjacentes cada. O disparador voa co1no u111 segundo payload nas mis-
(não mostrados). Os satélites repassan1 a chamada por essa sões espaciais comerciais. Ele é basicamente un1 tubo que
grade até ela finahnente ser enviada para o destinatá1io no ocupa três unidades de cubesats e usa molas para lançá-los
Polo Sul. e111 órbita. Cerca de 20 cubesats foram lançados até agora,
U111 projeto alternativo para o Iridium é o Globalstar. com muito 1nais e1n andan1ento. A 1naioria deles se comuni-
Ele se baseia en1 48 satélites LEO, 111as utiliza u1n esquema ca com estações te1restres nas faixas de UHF e VHF.
de comutação diferente do que é usado no Tridium. Enquan- Outra iJnplantação de satélites LEO é u1na tentativa de
to este retransmite as chamadas de satélite para satélite, o rede backbone de Internet baseada en1 satélite. A implanta-
que exige sofisticado equipamento de comutação nos sa- ção do OneWeb envolverá inicialmente u1na constelação de
télites, o Globalstar utiliza um projeto tradicional de canal várias centenas de satélites. Se for bem-sucedido, o projeto
em curva. A chamada originada no Polo Norte na Figura promete levar acesso de alta velocidade à Internet para lu-
2.52(b) é enviada de volta à Terra e recebida pela grande gares que ainda não o tê1n. Os satélites irão operar na banda
estação terrestre na fábrica de brinquedos do Papai Noel. Ku e usarão u1na técnica cha1nada "pitch progressivo", em
A cha1nada é, então, roteada por uma rede terrestre até a que os satélites são ligeiramente girados para evitar interfe-
estação terrestre mais próxi1na ao destino, e é entregue rência com satélites geoestacionários que estão trans1nitin-
por u1na conexão de canal em curva da maneira ilustrada. do na 1nesn1a banda.

Switches de satélite Satélites de canal


=Ó=-....._ no espaço ~-em curva

ty ;f t\ ~
\

(a) (b)

Figura 2.52 (a) Retransmissão no espaço. (b) Retransmissão no solo.


118 Redes de computadores

2.9 COMPARAÇÃO DE DIFERENTES desenvolvidos pode ter u1na linha telefünica se quisere1n,
mas ne1n todos estão próximos o suficiente de suas estações
REDES DE ACESSO finais para obter ADSL. Alguns estão presos a linhas disca-
das de 56 kbps, cspeciahncnte nas áreas rurais. a verdade,
Agora, vamos comparar as propriedades dos diferentes ti- até mes1no nos Estados Unidos, existem grandes áreas nas
pos de redes de acesso que pesquisamos. quais uma linha T 1 de 1,544 Mbps é um luxo raramente
alcançado. Nas grandes cidades da Europa, com sua maior
2.9.1 Redes de acesso terrestres: densidade populacional, a Internet por fibra óptica de
500 Mbps é muito comum. Alguns locais até possuem ser-
cabo, fibra e ADSL viço de 1 Gbps disponível.
Cabo, FTTH e ADSL tê1n muito 1nais semelhanças do que Além disso, nem todos têm o serviço a cabo. Se você
diferenças. Eles oferece1n um serviço comparável e, à me- o tiver e a e1npresa fornecer acesso à internet, você poderá
dida que a concorrência entre eles aumenta, provavelmente obtê-lo; a distância até o nó de fibra ou beadend não é um
terão preços comparáveis. Todas as tecnologias de acesso proble1na. A disponibilidade de cabos e fibras em certas re-
à rede, incluindo cabo, ADSL e FTTH, utilizam agora a fi- giões, particulannente nas pouco povoadas, continua sendo
bra no backbonc; elas diferem na tecnologia de acesso do un1a preocupação. En1 últi111a análise, o acesso de alta ve-
último quilôn1etro, nas catnadas fisica e de enlace. Prove- locidade à Internet ainda depende da implantação de fibra
dores de fibra e ADSL costuma1n oferecer largura de banda ou cabo nas residências. No caso de redes de cabo, aumen-
mais consistente a cada assinante, pois cada usuário possui tar as divisões de nós exige a in1plantação de mais fibra na
capacidade dedicada. Relatórios contínuos e recentes nos vizinhança, e1n vez de depender da infraestrutura de cabo
Estados Unidos, como a iniciativa Measuring Broadband coaxial existente. Mesn10 no caso de ADSL, a velocidade
An1erica (MBA), da FCC, realizado anualmente, informam cai significativa1nente alé111 de alguns quilômetros de u1na
que os provedores de acesso à Internet geralmente cu1n- estação central, de n1odo que 1nesn10 ADSL requer algum
pre1n suas velocidades anunciadas. tipo de aumento de fibra na borda (p. ex., FTTN) para ofe-
À medida que um sistema ADSL ou FTTH conquista recer alta velocidade em áreas pouco povoadas. Todas essas
1nais usuários, seus números crescentes têm pouco efeito propostas são caras.
sobre os usuários existentes, pois cada usuário tem uma co- Historicamente, a infraestrutura de telefone (e redes
nexão dedicada até sua casa. Por sua vez, os assinantes de DSL) tem s ido geralmente mais confiável do que o cabo,
sistemas a cabo compartilham a capacidade de um único embora os dados do projeto MBA da FCC mostrem que
nó e, como resultado, quando um ou mais usuários em um a lacuna foi reduzida, com a maioria dos serviços de cabo
nó aumentam seu uso, outros usuários pode1n sofrer com e DSL alcançando pelo menos "dois noves" de confiabi li-
o congestionamento. Consequentemente, os provedores dade (ou seja, 99% de tempo de atividade, ou dezenas de
de serviço a cabo atualmente oferecem mais capacidade horas de tempo de inatividade por ano). As redes sem fio de
do que eles vendem a cada assinante. Os padrões DOCSIS satélite e de área n1etropolitana têm urn desempenho menos
mais modernos, co1no DOCSIS 3.0, exigem que os 1node- confiável. Em con1paração, a rede telefônica convencional
ms a cabo sejan1 capazes de ligar pelo n1enos quatro canais, atinge "cinco noves" de confiabilidade, o que corresponde
para alcançar aproxi1nadamente 170 Mbps downstream e a apenas alguns 111inutos de indisponibilidade a cada ano
120 Mbps upstrean1 (co1n cerca de 10% desse throughput (Bischof et ai., 2018).
dedicado ao overhead de sinalização). Por ser um 1neio ponto a ponto, ADSL é inerentetnen-
Em últi1na análise, as velocidades máximas que un1 te mais segura que o cabo. Qualquer usuário de serviço a
assinante de serviço a cabo pode atingir se li1nitam à capa- cabo pode faci ln1ente ler todos os pacotes que chegam pelo
cidade do cabo coaxial, mas, em comparação, a quantidade cabo, não í1nporta para quem eles se destinam. Por esse
do espectro utilizável na fibra é muito maior. Com o cabo, motivo, qualquer provedor de serviço a cabo decente codi-
à 1nedida que 1nais assinantes se registram no serviço de ficará todo o tráfego nos dois sentidos. Apesar disso, ter um
lnten1et, o desempenho de outros usuários no mesmo nó vizinho recebendo todas as suas mensagens criptografadas
diminui. Em resposta, os provedores de cabo dividem os ainda é menos seguro do que se ele não recebesse nada.
cabos mais ocupados, conectando cada um diretamente a
um nó de fibra (essa prática às vezes é chamada de divisão
de nó). Como já dissemos, o número de residências por nó
2.9.2 Redes terrestres e por satélite
continua a diminuir, conforme os ISPs de cabo continuam a Uma comparação entre as comunicações por satélite e ter-
levar a fibra para 1nais perto da borda da rede. restre é instrutiva. Há algum tempo, pensava-se que o futu-
Cabo, fibra e ADSL estão disponíveis em diferen- ro da comunicação residia nos satélites de comunicações.
tes regiões e o desempenho dessas redes difere de acordo Afinal, o sistema telefônico 1nudou muito pouco nos últi-
co1n a própria tecnologia e na fonna como cada u1na é n1os 100 anos e não mostrou sinais de mudança para os pró-
i1nplantada. A n1aioria dos usuários domésticos nos países ximos 100. Esse 1novi1nento glacial foi causado, em grande
Capítulo 2 • A camada física 119

parte, pelo arnbiente regulador no qual se esperava que as transmissões de rádio e TV por satélite, direta1nente para
con1panhias telefônicas fo1necesse1n bons serviços de voz usuários finais com receptores de satélite em suas casas e
a preços razoáveis (o que elas fizera1n) e, em troca, tives- carros. Vários outros tipos de conteúdo ta1nbém podem ser
sem lucro garantido sobre seu investirnento. Havia rnodems trans1nitidos. Por exemplo, u1na empresa que transm ite um
de 1.200 bps disponíveis para as pessoas que precisavam fluxo de preços de ações, apólices ou 1nercadorias a milha-
transmitir dados. Isso era praticarnente tudo o que existia res de corretores deve considerar que um sisten1a de satélite
na epoca.
' é mais econô1nico que sünular a difusão no solo.
Com o surgimento da concorrência, em 1984 nos Es- Os Estados Unidos têm alguns provedores concor-
tados Unidos e um pouco mais tarde na Europa, esse qua- rentes de Internet baseada em satélite, mcluindo Hughes
dro se alterou radicahnente. As companhias telefônicas (muitas vezes comercializado como DISH, anteriormente
con1eçaram a substituir suas redes de longa distância por EchoStar) e Yiasat, que operam principahnente com satéli-
fibra óptica e introduziram serviços de alta largura de ban- tes geoestacionários ou MEO, com alguns provedores pas-
da, co1no ADSL. Essas empresas també1n interromperam sando para LEO. Em 2016, o projeto MBA da FCC relatou
sua antiga prática de cobrar preços artificialmente elevados que esses provedores baseados em satélite estavam entre
a usuários de serviços de longa distância, a fim de subsidiar os poucos provedores de serviços de Internet que estavam
o serviço local. Subitarnente, as conexões terrestres de fibra vendo uma queda no desernpenho ao longo do tempo, pro-
pareciam ser a opção vencedora. vavelmente por causa do aumento de assinantes e largura
Apesar disso, os satélites de comunicações têm alguns de banda lÍlnitada. O relatório descobriu que esses prove-
segmentos de mercado 1nuito importantes, que a fibra ópti- dores não eram capazes de oferecer velocidades superiores
ca não é capaz de alcançar. Primeiro, quando a i1nplantação em torno de 10 Mbps.
rápida é crítica, os satélites ganham facihnente. Uma res- Apesar disso, nos últimos anos, o acesso à Internet por
posta rápida é útil para sistemas de comunicação militares satélite tem tido um interesse crescente, especialmente em
em tempos de guerra e, em tempos de paz, para resposta nichos de mercado, como durante um voo. Alguns acessos
a desastres. Em Sumatra, em dezembro de 2004, após o à Internet durante o voo envolve1n comunicação direta com
grande terremoto e o tsunami subsequente, por exemplo, torres de banda larga móvel, rnas para voos sobre os oce-
os satélites de comunicações foran1 capazes de restaurar as anos, isso não funciona. Outro método que ajuda a lidar
con1unicações com os primeiros respondedores dentro de com a largura de banda limitada em aviões envolve a trans-
24 horas. Essa resposta rápida foi possível porque existe 1nissão de dados para uma coleção de satélites em órbita
u1n mercado de serviço de satélite desenvolvido em que geoestacionária. Algun1as empresas, incluindo a OneWeb,
grandes participantes, con10 Intelsat, co1n mais de 50 sa- conforme discutido anterionnente, e a Boeing estão traba-
télites, podem arrendar capacidade onde quer que ela seja lhando na construção de um backbone de Internet baseado
necessária. Para clientes atendidos por redes de satélite em satélite usando satélites LEO. Os mercados ainda serão
existentes, urn VSAT alimentado por energia solar pode ser um pouco restritos, já que o throughput será de aproxiina-
preparado fác il e rapidarnente para fornecer um enlace de damente 50 Mbps, muito inferior ao da Internet no solo.
megabits/s. De maneira resumida, parece que a comunicação do
U1n segundo nicho de mercado ocorre em lugares futuro será feita por fibras ópticas terrestres combinadas
onde a infraestrutura terrestre é pouco desenvolvida. Mui- co1n rádio celular, mas, para algumas aplicações específi-
tas pessoas querem se co1nunicar enquanto se movimen- cas, os satélites são melhores. Entretanto, existe u1n n1otivo
tan1. As redes de telefone móvel abrangen1 locais con1 boa que se aplica a tudo isso: a economia. Embora a fibra ofe-
densidade populacional, rnas não realizam um trabalho reça 1nais largura de banda, é tnuito provável que a cotnu-
adequado em outros lugares (p. ex., no 1nar ou no deserto). nicação terrestre e por satélite entre em uma concorrência
Ao contrário, o Iridium oferece serviço de voz em qualquer agressiva por 1nelhores preços. Se os avanços tecnológicos
lugar do planeta, até mesn10 no Polo Sul. A infraestrutura reduzirem radicalmente o custo de lançamento de um saté-
em terra pode ser cara para instalar, dependendo do ten·eno 1ite (p. ex. , se no futuro algum veículo espacial puder lançar
e dos direitos necessários para viabilizar o meio. A Indoné- dezenas de satélites de utna só vez), ou se os satélites de
sia, por exemplo, tem seu próprio satélite para o tráfego de baixa órbita se desenvolverem, não é certo que a fibra ven-
telefone doméstico. Lançar urn satélite foi 1nais barato do cerá en1 todos os mercados.
que esticar milhares de cabos submarinos entre as 13.677
ilhas do arquipélago.
Un1 terceiro nicho se relaciona a situações em que
a difusão é essencial. Uma mensagem enviada por saté- 2.10 POLÍTICA NA CAMADA FÍSICA
1ite pode ser recebida por 1nilhares de estações terrestres
ao mesrno tempo. Os satélites são usados para distribuir Diversos aspectos da ca1nada tisica envolvem decisões
grande parte da programação da TV para estações locais políticas e regula1nentadoras que, por fim, afetam o n1odo
por esse n1otivo. Agora, existe um grande mercado para como essas tecnologias são usadas e desenvolvidas. Van1os
120 Redes de computadores

discutir rapidan1ente sobre a atividade política em anda- terceiro algoritn10: realizar leilões e conceder a largura de
mento nas redes terrestres (i.e., as redes de telefone e cabo) banda à empresa que fizer a melhor proposta. Quando o
e nas redes sem fio. governo britânico leiloou as frequências necessárias para
os siste1nas de telefonia móvel em 2000, ele esperava obter
aproximadarnente 4 bilhões de dólares. Na realidade, rece-
2.10.1 Alocação do espectro beu cerca de 40 bilhões de dólares, pois as concessioná-
O maior desafio com relação ao espectro eletromagnético rias entraram ern uma disputa frenética, mortas de medo de
refere-se à realização da alocação do espectro de rnodo perder o barco da telefonia móvel. Esse evento despertou
eficiente e justo. Se várias partes puderem transmitir da- a ganância dos gove1nos vizinhos e os inspirou a realizar
dos na mesma faixa do espectro na 1nesma região geográ- seus próprios leilões. Isso funcionou, mas também deixou
fica, haverá um potencial significativo para que as partes algumas concessionárias tão endividadas que elas chega-
que se comunicam interfiran1 urnas com as outras. Para ram perto da falência. Até mesmo nos melhores casos, mui-
evitar o caos total, tên1 sido feitos acordos nacionais e in- tos anos serão necessários para essas empresas recuperare1n
ternacionais a respeito de quem terá o direito de usar cada o custo do licenciamento.
u1na das frequências. Como todos querem uma taxa de da- U1na abordagetn muito diferente para alocar frequên-
dos mais alta, todos desejam um espectro maior. Os gover- cias é simplesrnente não alocá-las. Em vez disso, basta dei-
nos nacionais alocan1 bandas do espectro para rádios AM xar todo mundo transmitir à vontade, mas regular a potên-
e FM, televisão e telefones celulares, assim como para as cia utilizada, de forma que as estações tenham um alcance
empresas de telefonia, a polícia, os usuários maríti1nos, tão pequeno que não possam interferir umas com as outras.
de navegação, militares, do governo e para muitos outros De acordo com essa proposta, a 1naioria dos governos re-
usuários concorrentes. Em termos tnundiais, uma agên- serva algurnas bandas de frequência, chamadas bandas
cia da ITU-R (WARC) tenta coordenar essa alocação de lSM (Industrial, Scientific, Medical) para uso setn licen-
forma que possam ser fabricados dispositivos que funcio- ça. Sistemas para abertura de portas de garagens, telefones
nem em vários países. Porém, os países não são limitados sern fio, brinquedos controlados por rádio, dispositivos tipo
pelas recomendações da ITU-R, e a FCC, que realiza a mouse sem fio e vários outros aparelhos dornésticos se1n
alocação para os Estados Unidos, ocasionalmente as têrn fio utilizarn as bandas ISM. Para dirninuir a interferência
rejeitado(em geral porque elas exigiarn que algum grupo entre esses dispositivos não coordenados, a FCC estabe-
politicamente poderoso desistisse de alguma fração do lece que todos os dispositivos nas bandas ISM devem li-
espectro). mitar sua potência de transmissão (p . ex., para 1 watt) e
Até mesmo quando uma parte do espectro é alocada usar técnicas para dispersar seus sinais por un1a faixa de
para algun1 uso, como telefones celulares, existe a questão frequências. Os dispositivos também poden1 ter de evitar
adicional de decidir qual concessionária terá permissão interferência com instalações de radar.
para usar quais frequências. Três algoritrnos foram 1nuito A localização das bandas ISM varia urn pouco de país
utilizados no passado. O algoritmo mais aotigo, frequen- para país. Por exemplo, nos Estados Unidos, as bandas que
temente chamado de concurso de beleza, exige que cada os dispositivos em rede utilizam na prática, sem exigir uma
concessionária explique por que sua proposta serve rnelhor licença da FCC, são rnostradas na Figura 2.53. A banda de
ao interesse público. Então, os funcionários do governo de- 900 MHz era usada para as primeiras versões do 802.11 ,
cidem qual entre as belas histórias mais lhes agrada. Fazer mas está sobrecarregada. A banda de 2,4 GHz está disponí-
algum fuociooário do governo oferecer como prêmio a pro- vel na maioria dos países e é bastante usada para 802.11 b/g
priedade de bilhões de dólares à sua empresa favorita em e Bluetooth, tnas é sujeita a interferências de fornos de
geral leva a suborno, corrupção, nepotisrno e crin1es piores. rnicro-ondas e instalações de radar. A banda de 5 GHz do
Além disso, até mesmo um funcionário do governo honesto espectro inclui bandas U-Nll (Unlicensed National Infor-
e escrupuloso que imagine que uma cornpanhia estrangeira mation Infrastructure). As bandas de 5 GHz são relativa-
poderia realizar um trabalho n1elhor que qualquer uma das mente pouco desenvolvidas, mas, por tere1n a maior largura
empresas nacionais teria muito a explicar. de banda e serem usadas por especificações WiFi, con10 a
Essa observação levou ao segundo algoritrno, que 802.11 ac, rapida1nente estão se tornando mais populares e
realiza um sorteio entre as empresas interessadas. O pro- sobrecarregadas tarnbém.
blema com essa ideia é que en1presas que não têrn qualquer As bandas não licenciadas forarn um grande sucesso
interesse ern usar o espectro podem participar desse sorteio. na década passada. A capacidade de usar o espectro livre-
Se, digamos, um restaurante ou uma cadeia de sapatarias mente ocasionou uma grande inovação nas LANs e PANs
ganhasse, a empresa poderia revender o espectro a uma sem fio , evidenciada pela implantação generalizada de
concessionária com um enonne lucro e sem nenhum risco. tecnologias como 802.11 e Bluetooth. Até mesmo alguns
A ideia de conceder fatias do espectro a empresas provedores estão entrando no jogo com tecnologias como
con1 uma enorme dose de sorte mas sem nenhutn método LTE-U, que envolve a irnplantação de urna rede de celular
tem sido severamente criticada por muitos, o que levou ao LTE no espectro não licenciado. Essa tecnologia poderia
Capítulo 2 • A camada física 121

Banda ISM Banda ISM Banda ISM

r*1 é 100 255 ~


MHz MHz MHz MHz MHz
----~·:=:=
• :...__ __ - - - - - - " ;::!•;___ _ - - - - - -
...;!:. - • • • •

-----+-+------------1~-----------
902 928 2,4 2,4835 5,25 5,35 5,47 5,725 5,825
MHz MHz GHz GHz GHz GHz GHz GHz GHz

Bandas U-Nll

Figura 2.53 As bandas ISM e U-Nll usadas nos Estados Unidos por dispositivos sem fio.

permitir que dispositivos móveis operassem nesse espectro se propagam longe, tornando-os bem adequados a redes de
não licenciado, além das partes do espectro que são explici- curta distância. As altas frequências (60 GHz é uma banda
tamente alocadas para operar com redes de celular. LTE-U de frequência extremamente alta, ou de "milímetro", logo
pode pennitir que os JSPs de linha fixa que estão implantan- abaixo da radiação de infravermelho) representaram um de-
do pontos de acesso WiFi em centenas de milhões de lares safio inicial para os fabricantes de equipamentos, mas os
transfonnern sua rede de pontos de acesso ern uma rede de produtos atualrnente estão no rnercado.
estações-base de celular. É claro que permitir que telefones Nos Estados Unidos, outras bandas do espectro tam-
celulares usem o espectro não licenciado traz o seu próprio bém estão sendo reaproveitadas e leiloadas para operadoras,
conjunto de complicações. Por exemplo, dispositivos que incluindo 2,5 e 2,9 GHz, a Banda C (anteriormente usada
operam no espectro não licenciado devem respeitar outros para comunicações por satélite) na faixa de 3,7-4,2 GHz,
dispositivos que estão usando o mesmo espectro e tentar bem como outras, incluindo 3,5, 6, 24, 28, 37 e 49 GHz.
não interferir com os dispositivos considerados "titulares". Para a comunicação de curto alcance, a FCC também está
LTE-U tarnbém pode enfrentar seus próprios desafios de considerando o uso de certas bandas muito altas, como a
confiabilidade e desen1penho, pois deve recuar para intera- faixa de 95 GHz. No fll1al de 2018, a FCC lançou seu pri-
gir bem com outros dispositivos que usam o espectro não li- meiro leilão 5G, com outros planejados para os próximos
cenciado, de outros dispositivos WiFi a monitores de bebê. anos. Esses leilões abrirão uma quantidade significativa de
Vários desenvolvimentos na política durante os últi- espectro para banda larga móvel, possibilitando larguras de
mos 1O anos continuam a possibilitar mais inovação nas banda maiores que seriam necessárias para streaming de ví-
tecnologias sem fio. Um desenvolvimento interessante nos deo e aplicativos da Internet das Coisas. O espectro de 24 e
Estados Unidos é a potencial alocação futura de mais espec- 28 GHz tem, cada um, aproximadamente 3.000 licenças à
tro não licenciado. Em 2009, a FCC decidiu permitir o uso venda. A FCC também está oferecendo descontos para pe-
não licenciado de espaços vazios etn torno de 700 MHz. quenas empresas e fornecedores rurais. Leilões de partes
Os espaços vazios são bandas de frequência que foram alo- das bandas do espectro de 37, 39 e 49 GHz também estão
cadas ruas não estão sendo usadas localmente. A mudança progratuados. Em outros países, algumas dessas bandas do
das transn1issões de televisão de analógicas para digitais espectro podem operar corno espectro não licenciado. Por
nos Estados Unidos, em 2010, liberou os espaços vazios exemplo, a indústria automotiva na Alemanha fez lobby
em torno de 700 MHz. Uma dificuldade é que, para utilizar com sucesso para permitir a banda de 3,5 GHz para uso de
esses espaços, dispositivos não licenciados precisaru po- empresas privadas; outros países europeus provavelmente
der detectar quaisquer transmissores licenciados vizinhos, seguirão o exemplo.
incluindo microfones sern fio, que têrn os direitos iniciais
de usar a banda de frequência. A FCC tan1bén1 abriu de
2.10.2 A rede celular
57 GHz a 64 GHz para operação não licenciada em 2001.
Essa faixa é uma parte enorme do espectro, tnais do que E' interessante observar como pequenas decisões políticas
todas as outras bandas ISM combinadas, de modo que pode e de marketing podem ter um enorme impacto sobre a im-
aceitar o tipo de rede de alta velocidade que seria necessá- plantação de redes celulares nos Estados Unidos e na Euro-
ria para enviar streaming de TV de alta definição através pa. O primeiro sistema móvel foi criado nos Estados Uni-
do ar a sua sala de estar. A 60 GHz, as ondas de rádio são dos pela AT&Te regulamentado para todo o país pela FCC.
absorvidas pelo oxigênio. Isso significa que os sinais não Como resultado, todo o território do país tinha um único
122 Redes de computadores

sistema (analógico), e um telefone móvel adquirido na Ca- O leilão de cobiçadas bandas do espectro para 5G,jun-
lifórnia também funcionava e1n Nova York. Ao contrário, tamente co1n 1nuitos dos avanços tecnológicos discutidos
quando a tecnologia de telefonia móvel chegou à Europa, anteriormente neste capítulo, está prestes a sacudir os liini-
cada país c1iou seu próprio sistema, o que resultou ern um tes da rede celular pelos próximos anos. Já esta1nos vendo o
fiasco. aumento de operadoras de rede virtual 1nóvel, ou MVNOs
A Europa aprendeu com seus erros e, ao surgir a tec- (Mobile Virtual Net,vork Operators), que são operado-
nologia digital, as PITs estatais se juntara1n e padroniza- ras se1n fio que não possuem a infraestrutura,
de rede so-
ra1n un1 único sistema (GSM); portanto, qualquer telefone bre a qual prestam serviço a seus clientes. A medida que o
móvel europeu funcionará em qualquer lugar da Europa. tamanho das células continua a din1inuir co1n frequências
Na época, os Estados Unidos haviam decidido que o go- mais altas e o hardware para células pequenas continua a
verno não deveria participar do esforço de padronização, ser comoditizado, as MVNOs pagan1 para compartilhar a
e assin1 a padronização da tecnologia digital ficou a cargo capacidade em uma infraestrutura que é operada por outra
do mercado. Essa decisão resultou em diferentes fabrican- operadora. Elas decidem se irão operar seus próprios com-
tes de equipamentos produzindo tipos distintos de telefones ponentes de uma arquitetura LTE ou usar a infraestrutura de
móveis. Em consequência, os Estados Unidos agora têm propriedade da operadora subjacente. MVNOs que operam
dois importantes sistemas de telefonia móvel digital total- sua própria rede principal às vezes são chamadas de MY-
mente incompatíveis em operação, além de outros sistemas NOs "completas". Empresas co1no Qualcomm e Intel estão
secundários. n1ontando um projeto de referência para bardware de pe-
Apesar da liderança inicial dos Estados Unidos, a pro- quenas células, que pode resultar na desagregação con1pleta
priedade e a utilização da telefonia móvel na Europa é ago- da borda da rede, especialmente quando combinada com
ra muito maior que naquele país. O fato de haver um único o uso do espectro não licenciado. A indústria também está
sistema para toda a Europa explica em parte esse fato, mas começando a se voltar para a infraestrutura com eNodeBs
há outras razões. U1n segundo ponto e1n que os Estados de "caixa branca", que se conectan1 a um escritório central
Unidos e a Europa divergiram foi a questão dos números de que possui serviços EPC virtuais; o projeto M-CORD da
telefone. Nos Estados Unidos, os telefones móveis têm nú- Open Networking Foundation implementou uma arquite-
meros misturados com os telefones comuns (fixos). Desse tura assim.
modo, quem faz a ligação não te1n como saber se, digamos,
(212) 234-5678 é um telefone fixo (com Lnna ligação de
baixo custo ou gratuita) ou um telefone móvel (com uma
2.10.3 A rede telefônica
tarifa cara). Para impedir que as pessoas ficasse1n receosas Por muitas décadas até 1984, a Bell System foi a responsá-
de usar o telefone, as empresas de telefonia decidiram fazer vel pelo serviço de cha1nadas locais e interurbanas e1n qua-
o proprietário do telefone 1nóvel pagar pelas chamadas re- se todos os Estados Unidos. Na década de 1970, o goven10
cebidas. En1 consequência disso, 1nuitas pessoas hesitara1n norte-americano concluiu que esse era um monopólio ilegal
em comprar um telefone móvel por 1nedo de terem de pagar e protnoveu uma ação para desme1nbrá-lo. O governo foi
uma conta enorme apenas por receberem Ligações. Na Eu- vitorioso e, e1n l 2 de janeiro de 1984, a AT&T foi dividi-
ropa, os telefones 1nóveis têm u1n código de área especial da na AT&T Long Lines, em 23 BOCs (Bell Operating
(semelhante aos números 800 e 900) e, assim, podem ser Companies) e em algumas outras partes. As 23 BOCs fo-
reconhecidos instantaneamente. Como resultado, a regra ram agrupadas em sete BOCs regionais (RBOCs), o que
habitual de "fazer o cha1nador pagar" também se aplica aos as ton1ou economica1nente viáveis. Toda a natureza do sis-
telefones móveis da Europa (co1n exceção das ligações in- tema de telecomunicações norte-americano foi alterada da
ternacionais, cujos custos são divididos). noite para o dia por uma orde1n judicial (e não por um ato
Uma terceira questão que teve grande impacto na do Congresso norte-americano).
adoção da telefonia 1nóvel foi o uso difundido de telefo- As especificações exatas dessa ruptura foram descri-
nes pré-pagos na Europa (até 75% em algumas regiões). tas no conhecido julgamento final modificado, ou MFJ
Esses telefones podem ser adquiridos em muitas lojas, até (Modified Final Judgement), um oximoro, se é que houve
mes1no on-line. Eles são pré-carregados com, por exemplo, um. Esse fato provocou o aumento da concorrência, a n1e-
com um saldo de 20 ou 50 euros em ligações e podem ser lhoria dos serviços e a redução das tarifas de longa distância
recarregados (com a utilização de um código PIN secreto) para consu1nidores e e1npresas. Entretanto, os preços para
quando o saldo tennina. Por essa razão, praticamente todos o serviço local cresceran1 à medida que os subsídios cruza-
os adolescentes e muitas crianças pequenas na Europa têm dos das chamadas de longa distância foram eliminados, e o
telefones móveis (em geral, pré-pagos) para que seus pais serviço Local teve de se tornar autossuficiente. Hoje, muitos
possa1n localizá-los, sen1 o perigo de terem de pagar uma outros países estão considerando a abertura à concorrência
conta enorn1e. Se o telefone 1nóvel for usado apenas oca- en1 termos semelhantes.
sionalmente, seu uso será quase gratuito, pois não haverá De relevância direta para nossos estudos é que a
tarifa mensal nem por cba1nadas recebidas. nova estrutura competitiva introduziu um recurso técnico
Capítulo 2 • A camada física 123

fundamental para a arquitetura da rede telefônica. Para de- seja indiretamente, como na LATA 2. Alén1 disso, as condi-
terminar precisamente a quen1 cabiam as responsabilidades, ções da conexão, tanto técnicas quanto financeiras, tê1n de
o território dos Estados Unidos foi dividido em 164 áreas ser idênticas para todas as IXCs. Dessa forma, um assinan-
de transporte e acesso local, ou LATAs (Local Access te da LATA 1, por exe1nplo, pode escolher qual TXC usará
and Transport Areas). De forn1a be1n genérica, uma para entrar em contato com assinantes que façan1 parte da
LATA corresponde à região coberta por um único código LATA3.
de área. Em geral, dentro de uma LATA existia um opera- Como parte do MFJ, as IXCs foram proibidas de
dor local de troca, ou LEC (Local Exchange Carrier) prestar serviços telefünicos locais, e os LECs foram proi-
que detinha o 1nonopólio do sistema telefünico convencio- bidos de prestar serviços telefônicos entre LATAs, apesar
nal dentro de sua área. Os LECs mais ünportantes eram as de todas seren1 livres para atuar em quaisquer outros ra-
BOCs, embora algumas LATAs contivessen1 uma ou n1ais mos, como a operação de restaurantes. Em 1984, essa era
das 1.500 companhias telefônicas independentes que ope- uma condição razoavelmente não ambígua. Infelizmente, a
ravatn como LECs. tecnologia tem uma forma interessante de tornar a lei ob-
A nova característica era que todo o tráfego en- soleta. Ne1n a TV a cabo nem os telefones celulares foram
tre LATAs passou a ser manipulado por um tipo diferen- cobertos pelo acordo. A' medida que a TV a cabo passou de
te de empresa, uma operadora de intercâmbio, ou IXC unidirecional para bidirecional e a popularidade dos tele-
(IntereXchange Carrier). Originahnente, a AT&T Long fones celulares explodiu, os LECs e as IXCs co111eçaram a
Lines era a única lXC segura, mas hoje existem concor- comprar ou a se associar às operadoras de TV a cabo ou de
rentes fortes, como Verizon e Sprint, no ramo das IXCs. telefones celulares.
Uma das preocupações ao ocorrer o desmembramento foi Em 1995, o Congresso dos Estados Unidos percebeu
assegurar-se de que todas as IXCs seriam tratadas igual- que tentar manter uma distinção entre os vários tipos de
mente em termos de qualidade das linhas, das tarifas e do empresas não era mais sustentável e elaborou um projeto
nú1nero de dígitos que seus clientes teria1n de teclar para de lei para preservar a acessibilidade para competição, nlas
usá-las. Observe, na Figura 2.54, como essa situação é tra- que permitiria às empresas de TV a cabo, companhias te-
tada. Nela, vemos três exemplos de LATAs, cada uma com lefônicas locais, concessionárias de comunicação de longa
várias estações finais. As LATAs 2 e 3 também têm uma distância e operadoras de sistemas celulares entraretn nos
pequena hierarquia co1n estações Tandem (estações interur- ramos de negócio un1as das outras. A ideia era que qualquer
banas intraLATA). en1presa poderia oferecer a seus clientes u1n único pacote
Qualquer IXC que deseje se encarregar de chan1adas integrado contendo serviços de TV a cabo, telefone e da-
provenientes de uma LATA pode criar uma estação de co- dos, e que diferentes empre-sas seriam concorrentes ern ser-
mutação deno1ninada ponto de presença, ou POP (Point viços e preços. O projeto de lei foi sancionado e1n fevereiro
of Presence). O LEC é necessário para conectar cada IXC a de 1996, con10 uma reestruturação importante da regula-
cada estação final, seja diretamente, con10 nas LATAs 1 e 3, mentação das telecomunicações. Como resultado, algumas

Estação interurbana Estação interurbana


da IXC 1 da IXC 2
1 2

Estação
Tandem

- --1-Estação
final
Aos circuitos terminais

LATA 1 LATA2 LATA3

Figura 2.54 Relacionamento entre LATAs, LECs e IXCs. Todos os círculos são estações de comutação de LECs. Cada hexá-
gono pertence à IXC indicada pelo número.
124 Redes de computadores

BOCs se tornaram lXCs e algumas outras en1presas, con10 Métodos de modulação digitais enviam bits por
operadoras de TV a cabo, começaram a oferecer serviços de meios guiados e não guiados co1no sinais analógicos. Os
telefonia local, competindo com os LECs. códigos de lillha operam na banda base, e os sinais podem
Uma propriedade interessante da lei de 1996 foi a exi- ser colocados em u1na banda passante por meio da modu-
gência de que os LECs implementassem portabilidade de lação da amplitude, da frequência e da fase de uma porta-
número local. Isso significava que um cliente podia mu- dora. Os canais podem ser compartilhados entre usuários
dar de companhia telefônica local sem ter de receber um com a 1nultiplexação por divisão de tempo, frequência e
novo número de telefone. A portabilidade para números código.
de telefone 1nóvel (e entre linhas fixas e móveis) seguiu Um elemento-chave na n1aioria das redes a longa dis-
o exemplo em 2003. Essas providências removeram um tância é o sistema de telefonia implantado. Seus principais
enonne obstáculo para 1nuitas pessoas, tornando-as muito componentes são os circuitos terminais, troncos e switches.
mais inclinadas a mudar de LECs. Como resultado, o ce- A ADSL oferece velocidades de até 40 Mbps ao circuito
nário das telecomunicações dos Estados Unidos se tornou terminal do assinante, dividindo-o em n1uitas subportado-
muito mais competitivo, e outros países estão seguindo o ras que trabalham em paralelo. Isso ultrapassa muito as
mesmo ca1ninho. Co111 frequência, outros países esperam taxas dos modems de telefone. PONs levam a fibra até a
para ver como esse tipo de experiência funciona nos Esta- residência, tomando as taxas de acesso ainda maiores do
dos Unidos. Se isso funciona bem, eles fazem o mesmo; se que a ADSL. Os troncos transportam informações digitais
funciona mal, eles tenta1n algo diferente. e são 1nultiplexados con1 WDM para oferecer 1nuitos enla-
Recentemente, a política de telecomunicações tem ces de alta capacidade pelas fibras individuais, bem co1110
estado relativamente quieta, no que diz respeito às com- TDM para compartilhar cada enlace com taxa alta entre os
panhias telefônicas, co1n a maioria das ações e atividades usuários. A co1nutação de circuitos e a comutação de paco-
passando para provedores de serviço de Internet. Porém, tes desempenham papéis importantes.
dois desenvolvünentos recentes envolve1n atividades polí- Outro sistema para acesso à rede é a infraestrutura de
ticas em torno das inseguranças de um protocolo de silla- cabo, que gradualmente foi evoluída de cabo coaxial para
lização chamado SS7 (Signaling System 7), que permite cabo híbrido de coaxial e fibra, em que muitos provedores
que as redes celulares conversem entre si. O protocolo é de serviço de Internet a cabo agora oferecem até 1 Gbps (e,
inseguro, e o Congresso solicitou à FCC que to1ne medidas dentro de alguns anos, provavelmente 10 Gbps) aos assi-
para resolver algumas dessas inseguranças. Outro desen- nantes. A arquitetura dessas redes, no entanto, é muito di-
volvimento interessante relacionado à Lei de Telecomuni- ferente, pois a capacidade da rede é compa11ilbada entre os
cações de 1996 é a forma como as mensagens de texto são assinantes no 1nes1no nó de serviço.
classificadas; ao contrário do tráfego de voz na rede tele- Para aplicações móveis, o sistema telefônico fixo não
fônica, que é classificado como un1 serviço de co1nunica- é adequado. Hoje, os telefones celulares estão sendo ampla-
ções (como chamadas telefônicas), as mensagens de SMS rnente utilizados para voz e dados; desde o 4G, toda a voz,
("mensagens de texto") são classificadas como un1 serviço na verdade, é transpo11ada pela rede de comutação de paco-
de infonnação (semelhante a mensagens instantâneas ou tes. A prin1eira geração, 1G, era analógica e dominada pelo
outros serviços de comunicação da Internet), que as sujeita AMPS. A 2G era digital, com GSM sendo aruahnente o sis-
a conjuntos de regulamentos muito diferentes sobre tudo, tema de telefonia móvel n1ais utilizado no mundo. A 3G é
desde co1no elas podem ser cobradas às regras de privaci- digital e se baseia no CDMA de banda larga. A principal
dade que as rege1n. inovação do 40 foi a mudança para um núcleo co1nutado
por pacotes. 5G é definido por células de menor tamanho,
MIMO 1naciço e o uso de Lnn espectro significativa1nente
maior.
2.11 RESUMO Em última análise, muitos aspectos da camada fisica
são determinados não apenas pelas próprias tecnologias,
A camada tisica é a base de todas as redes. A natureza im- mas também por organizações políticas, corno órgãos de
põe dois lunites fundamentais sobre todos os canais, e estes padronização e agências reguladoras. Uma área da cama-
determinam sua largura de banda. Esses limites são o limite da tisica que é bastante dinâ1nica no cenário político é o
de Nyquist, que trata de canais sem ruídos, e o li1nite de espectro sen1 fio , em sua grande parte altamente regula-
,
Shannon, que trata de canais com ruídos. mentado. A medida que cresce a necessidade de mais lar-
Os meios de transmissão podern ser guiados ou não gura de banda para comunicações de dados, as agências
guiados. Os principais meios guiados são o par trançado, o reguladoras estão ativamente procurando rnaneiras de
cabo coaxial e a fibra óptica. Dentre os meios não guiados usar o espectro existente de forma mais eficiente, como
estão o rádio terrestre, as micro-ondas, os raios infraverme- reapropriação e leilão de partes do espectro previa1nente
lhos, os raios laser através do ar e os satélites. alocado.
Capítulo 2 • A camada física 125

17. Em um diagra1na de constelação, todos os pontos se encon-


PROBLEMAS tra1u no eixo horizontal. Que tipo de modulação está sendo
1. Um oleoduto é un1 sistema simplex, urn siste1na half-duplex, usado?
um sistema full-duplex ou nenhum dos anteriores? E um rio 18. Unia estação usando QAM-16 pode enviar 3 bits por s íni-
ou uma comunicação no estilo walkie-talkie? bolo? Explique por que (ou não).
2. Quais são as vantagens da fibra óptica em relação ao cobre 19. Qual é a largura de banda mínima necessária para alcan-
como Lneio de trans1nissão? Existe alguma desvantage1n no çar uma taxa de dados de B bits/s se o sinal for transmitido
uso da fibra óptica em relação ao cobre? usando as codificações NRZ, MLT-3 e Manchester? Justifi-
3. Qual é a largura de banda existente em O, 1 mícron de espec- que sua resposta.
tro e1n um compri1nento de onda de 1 mícron? 20. Prove que, nos dados 1napeados em 4B/5B co1n a codifica-
4. Queremos enviar uma sequência de iinagens de tela de co1n- ção NRZl, unia transição de sinal ocorrerá e1n te1npos de
putador por uma fibra óptica. A tela teni 3.840 x 2. 160 pixeis, pelo 1nenos 4 bits.
e cada pixel teni 24 bits. Há 60 imagens de tela por segundo. 21 . U1n diagrama de constelação para 1node1ns senielhante ao
Qual é a taxa de dados necessária? da Figura 2. L7 ten1 pontos de dados nas seguintes coorde-
5. 'Na Figura 2.5, a banda da esquerda é 1nais estreita que as nadas: (1,1), (1, - 1), (-1, 1) e (-1, - 1). Quantos bps um
outras. Por quê? 1nodem co1n esses parâinetros pode alcançar a uma taxa de
6. Imagine que as operações realizadas pelos coniputado- transmissão de 1.200 símbolos/s?
res d igitais, atualniente i1nplementadas por nieio de sinais 22. Quantas frequênc ias uni modem full-dup lex QAM.-64
e létricos, pudessem ser implenientadas coni eficiência por utiliza?
1neio de feixes de luz. Como isso afetaria a comunicação 23. Dez sinais, cada u1n exigindo 4.000 Hz, são 1nultiplexados
digital? Por que os computadores modernos não trabalham em um único canal utilizando FDM. Qual é a largura de
dessa forma? banda 1ninima exigida para o canal multiplexado? Suponha
7. E1n geral, as antenas de rádio funcionam melhor quando seu que as bandas de proteção tenhani 400 Hz de largura.
diâmetro é igual ao comprimento das ondas de rádio. Uma 24. Suponha que A, B e C estejani si1nultaneaniente tra nsnii-
variação razoável para o diâinetro das antenas é de 1 cm a tindo bits O, usando um sistema CDMA com as sequências
1 m. Que faixa de frequências é coberta por esse intervalo? de chips da Figura 2.22(a). Qual é a sequência de chips
8. O enfraquecimento por múltiplos caminhos é maximizado resultante?
quando os dois raios chega1n com uma defasagem de 180 25. Na discussão sobre ortogonalidade das sequências de chips
graus. Quanta diferença de ca1ninho é necessária para ma- CDMA, foi dito que, se S•T = O, então S•T tambéni é O.
xiniizar o enrraquecimento para um enlace de niicro-ondas Prove isto.
de L GHz por 100 km? 26. Considere u1n modo diferente de observar a propriedade de
9. Uni feixe de raios laser de 1 ni1n está orientado para u1n de- 01togonalidade das sequências de chips do CDMA . Cada bit
tector de 1 mm localizado a 100 1n de distância no telhado em um par de sequências pode coincidir ou não. Expresse a
de un1 edifício. Quanto desvio angular (em graus) o laser propriedade de ortogonalidade em termos de correspondên-
precisa ter antes de perder o detector? cias e não correspondências.
10. Calcule os coeficientes de Fourier para a função j(t) = 27. Um receptor CDMA recebe os seguintes chips: (- 1 + 1 -3
t (O< t < 1). + 1 - 1 - 3 + 1 + 1). Supondo as sequências de chips defmidas
11. Um sinal binário de 5 GHz é enviado por um canal com uma na Figura 2.22(a), quais estações transmitira1n, e quais bits
re lação sillal-ruído de 40 dB. Qual é o limite superior mais cada unia enviou?
baixo na taxa de dados 1uáxima? Explique sua resposta. 28. Na Figura 2.22, existem quatro estações que podem trans-
12. Um canal sem ruído de 3 kHz tem u1na amostra a cada l 1ns. tniti r. Suponha que mais quatro estações sejam acrescenta-
Qual é a taxa 1náxi1na de dados desse canal? Co1no a taxa das. Forneça as sequências de chips dessas estações.
n1áxin1a de dados 1nuda se o canal tiver ruído, com uma 29. Qual é a probabilidade de que duas sequências de chips
relação sinal-ruído de 30 dB? aleatórias com conipri1nento 128 tenham u1n produto inter-
13. O teoreni a de Nyquist també1n se aplica à fibra óptica no normalizado de 1/4 ou mais?
de alta qualidade eni 1nodo único, ou so1nente ao fio de 30. Nas redes de telefonia (fixa) e de televisão, vários usuários
cobre? finais ainda estão conectados a u1na única estação final , he-
14. Os canais de televisão têni unia largura de 6 MHz. Quantos adend ou nó de fibra. Esses sistemas pode1n ser n1ais tole-
bits/s poderão ser enviados, se foreni usados sinais dig itais rantes a falhas do que o telefone tradicional discutido no
de quatro níveis? Considere um canal sem ruído. Capítulo 1?
15. Se um sinal biná1io for enviado sobre um canal de 3 k.Hz 31. Quantos códigos de estações finais existiam antes de 1984,
cuja relação sinal-n1ído é de 20 dB, qual será a taxa máxi1na quando cada estação final era identificada por seu código de
de dados que poderá ser alcançada? área de três díg itos e pelos três primeiros dígitos do n(unero
16. U1n canal usando a codificação 48/58 envia dados a u1na local? Os códigos de área se iniciavam co1n um dígito no
taxa de 64 Mbps. Qual é a largura de banda mínima usada intervalo de 2 a 9, tinham Oou 1 como o segundo e termina-
por esse canal? va1u co1u qualquer dígito. Os dois prilneiros dígitos de um
126 Redes de computadores

número local setnpre estavam no intervalo de 2 a 9. O ter- leva para igualar a largura de 1 bit? Quais são as implica-
ceiro dígito podia ser qualquer um. ções desse cálculo, se houver?
32. U1n sistema telefônico simples consiste e1n duas estações 43. Na Figura 2.35, a taxa de dados do usuário para OC-3 é de
ftnais e u111a única estação interurbana, à qual cada estação 148,608 Mbps. Mostre co1no esse número pode ser deriva-
frnal está conectada por u1n tronco full-duplex de 1 MHz. do dos parâ1uetros OC-3 da SONET. Quais serão as taxas
Um telefone comu1n é usado para fazer quatro ligações e111 de dados bruta, SPE e do usuário de uma linha OC-3072?
u111 dia útil de 8 horas. A duração média de cada cha111ada 44. Para acomodar taxas de dados mais baixas que STS-1 , a
é de 6 1ninutos e 10% das chamadas são interurbanas (ou SONET te1n u1n sistema de tributários virtuais (VTs).
seja, passa1n pela estação interurbana). Qual é o número Un1 VT é uu1a carga útil parcial que pode ser inserida em
1náximo de telefones que u1na estação final pode aceitar? um quadro STS-1 e combinada com outras cargas úteis
(Suponha 4 kHz por circuito.) Explique por que a com- parciais para preencher o quadro de dados. O VTI .5 utiliza
panhia telefônica pode decidir dar suporte a urn número 3 colunas, o VT2 usa 4 colunas, o VT3 usa 6 colunas e o
rnenor de telefones do que esse nú1nero n1áxirno na esta- VT6 usa 12 colunas de um quadro STS-1. Qual VT pode
ção final. acomodar:
33. Uma companhia telefõnica regional tem 15 tnilhões de (a) Um serviço DS-1 (1,544 Mbps)?
assinantes. Cada urn de seus telefones está conectado (b) Um serviço europeu CEPT-1 (2,048 Mbps)?
a urna estação central por fios de cobre em par trançado. (c) Urn serviço DS-2 (6,312 Mbps)?
O comprimento rnédio desses pares trançados é de 1O km.
45. Qual é a largura de banda disponível para o usuário em uma
Quanto vale o cobre contido nos circuitos terminais? Su-
conexão OC-12c?
ponha que a seção transversal de cada fio seja um circulo
com 1 rn1n de diâtnetro, a densidade específica do cobre 46. Qual é a diferença, se houver, entre a parte demoduladora
seja 9,0 gran1as/cm 3 e que o cobre seja vendido ao preço de de u1u modem e a parte codificadora de um codec? (Afinal,
6 dólares por kg. ambos convertem sinais analógicos em sinais digitais.)
34. Qual é a taxa de bits máxima alcançável em um 1nodem 47. Três redes de comutação de pacotes possuem n nós cada
padrão V.32 se a taxa baud for 4.800 e nenhu1na correção urna. A primeira rede tem uma topologia em estrela co1n um
de erro for usada? switch central, a segunda é u1u anel (bidirecional) e a ter-
ceira é totahnente interconectada, corn um fio interligando
35. O custo de un1 nlicroprocessador rápido din1inuiu tanto que
cada nó. Quais são as opções de ca1ninhos de trans1uissão
agora é possível incluir um em cada modem. De que ma-
ern hops no nJelhor caso, no caso médio e no pior caso?
neira isso afeta o tratamento de erros na linha telefônica?
Isso evita a necessidade de verificação/correção de erros na 48. Cornpare o atraso no envio de uma rnensagern de x bits
camada 2? sobre um caminho de k hops em u1na rede co1nutada por
circuitos e em un1a rede (leven1ente carregada) cotuutada
36. Um sistema ADSL usando DMT aloca 3/4 dos canais de
por pacotes. O tempo de configuração de circuitos é de s
dados disponíveis para o enlace downstream. Ele utiliza
segundos, o atraso de propagação é de d segundos por hop,
modulação QAM-64 em cada canal. Qual é a capacidade do
o tamanho do pacote é de p bits e a taxa de dados é de b bps.
enlace dowostream?
Sob quais condições a rede de pacotes tem urn atraso mais
37. Por que o tempo de amostragem do PCM foi definido como baixo? Além disso, explique as condições sob as quais u1na
125 µs? rede de co1nutação de pacotes é preferível a u1na rede de
38. Qual é a relação sinal-ruído necessária para colocar uma comutação de circuitos.
portadora T 1 em urna linha de 1 MHz? 49. Suponha que x bits de dados do usuário tenharn de ser trans-
39. Con1pare a taxa máxiina de dados de um canal sem ruído rnitidos por urn ca1ninho de k hops em uma rede comutada
de 4 kHz usando: por pacotes como uma série de pacotes, cada urn contendo p
(a) Codificação analógica (p. ex., QPSK) com 2 bits por bits de dados eh bits de cabeçalho, sendo x >> p + h. A taxa
amostra. de bits das linhas é b bps e o atraso de propagação é despre-
(b) O sistema TI PCM. zível. Que valor de p n1inimiza o atraso total?
40. Se um sistema de portadora T 1 apresentar uma falha e 50. Em u1n sisterna telefõnico típico corn células hexagonais, é
perder o controle de onde está, ele tentará se sincronizar proibido reutilizar uma banda de frequências ern uma célu-
nova1neote usando o pri111eiro bit de cada quadro. Em n1é- la adjacente. Se 840 frequências estão disponíveis, quantas
dia, quantos quadros terão de ser examinados para que seja podem ser utilizadas em un1a determinada célula?
fe ita a ressincronização corn un1a probabilidade de erro de 51. O layout real de células rara1nente é tão regular quanto o
0,001? da Figura 2.39. Mesmo as fom1as de células individuais em
41. Qual é o percentual de overbead em uma portadora TI , geral são irregulares. Apresente uma possível razão para
ou seja, que percentagern dos 1,544 Mbps não é entregue isso. Como essas formas irregulares afeta1n a atribuição de
ao usuário final? Corno isso se relaciona ao percentual de frequência de cada célula?
overhead nas linhas OC-1 e OC-768? 52. Faça urna estirnativa do núrnero de rnicrocélulas PCS con1
42. Os clocks da SONET têm urna taxa de variação de apro- l 00 1n de diâmetro que seriarn necessárias para cobrir a ci-
ximadamente uma parte em 109 . Quanto tempo a variação dade de São Francisco ( 120 km2).
Capítulo 2 • A camada física 127

53. Às vezes, quando um usuário móvel cruza o lunite de uma nos satélites seja 1O nlicrossegundos e o raio da Terra seja
célula para outra, a chamada atual é encerrada de fonna 6.3 71 kin.
brusca, e1nbora todos os trans111issores e receptores estejam 63. Quanto te1npo levará para transn1itir um arquivo de l GB de
funcionando perfeitamente. Por quê? um VSAT para outro usando u1n hub co1no o 1nostrado na
54. Na extremidade baixa, o sistema telefônico tem fonna de Figura 2.50? Suponha que o uplink seja de 1 Mbps, o down-
estrela, com todos os circuitos tenninais em u1na vizinhança link seja de 7 Mbps e a con1utação de circuitos seja usada
convergindo em unia estação final. Ao contrário, a televi- com um tempo de configuração de circuito de 1,2 s.
são a cabo consiste em um único cabo longo que passa por 64. Calcule o tempo de trânsito no proble1na anterior se for
todas as casas no niesmo bairro. Suponha que um cabo de usada a comutação de pacotes. Suponha que o tamanho do
TV do futuro fosse uma fibra de 10 Gbps, em vez de um fio pacote seja de 64 KB, o atraso de con1utação no satélite e no
de cobre. Ele poderia ser usado para sin1ular o modelo de hub seja de l O microsseguodos e o tamanho do cabeçalho
telefonia e1n que todos têrn sua própria linha privada até a do pacote seja 32 bytes.
estação final? Nesse caso, quantas casas co1n u1n telefone
65. A multiplexação de vários fluxos de dados STS-1, cha-
poderiam ser conectadas a uma única fibra?
1nados tributários, dese1npenha u1n papel importante na
55. U1n siste1na de TV a cabo tem 100 canais con1erciais, todos SONET. Um multiplexador 3: 1 efetua a 1nultiplexação de
eles alternando programas co1n os anúncios. Isso tem 1nais três tributários STS-1 de entrada em um único fluxo STS-
semelhança com TDM ou FDM? 3 de saída. Essa multiplexação é feita byte a byte, isto é,
56. U1na empresa de serviços a cabo decide oferecer acesso à os três primeiros bytes de saída são os primeiros bytes dos
Internet por cabo e1n um bairro que tem 5 1nil casas. A em- tributários 1, 2 e 3, respectiva1nente. Os três bytes de saída
presa utiliza u1n cabo coaxial e urna alocação de espectro seguintes são os próxilnos bytes dos tributários 1, 2 e 3,
que permite alcançar a largura de banda de 100 Mbps do- respectivamente, e assi1n por diante. Escreva um programa
wnstrearn por cabo. Para atrair clientes, a en1presa decide que simule esse 1nultiplexador 3: 1. Seu progran1a deve con-
garantir pelo rnenos 2 Mbps de largura de banda downstre- sistir em cinco processos. O principal cria quatro processos,
ampara cada casa em qualquer instante. Descreva o que a u1n para cada um dos três tributários STS-1 e um processo
e1npresa de serviços a cabo precisa fazer para fon1ecer essa para o multiplexador. Cada processo tributário lê um qua-
garantia. dro STS- l de u1n arquivo de entrada como uma sequência
57. Usando a alocação espectral 1nostrada na Figura 2.46 e as de 81 Obytes. Eles enviam seus quadros (byte por byte) ao
infonnações dadas no texto, quantos Mbps utn sistema de processo multiplexador. Este recebe esses bytes e transmite
cabo aloca para o tráfego upstream e quantos para o tráfego como saída u1n quadro STS-3 (byte por byte), gravando-o
downstream? na saída padrão. Utilize pipes pal"d efetuar a comunicação
58. Com que velocidade um usuário de cabo recebe dados se entre os processos.
a rede estiver ociosa? Suponha que a interface do usuário 66. Escreva u1n programa para in1plen1entar CDMA. Suponha
se1a: que a extensão de uma sequência de chips seja oito e o nú-
(a) Ethernet a 1OMbps. 1nero de estações transmitindo seja quatro. Seu programa
{b) Etben1et a 100 Mbps. deve consistir e1n três conjuntos de processos: quatro pro-
(c) Rede sem fio a 54 Mbps. cessos transmissores (tO, ti, t2 e t3), u1n processo de junção
e quatro processos receptores (rO, rl, r2 e r3). O progra1na
59. Os 66 satélites de baixa órbita do projeto Iridium estão
principal, que també1n atua co1no o processo de junção, pri-
divididos em seis eixos em tomo da Terra. Na altin1de em
1neiro lê quatro sequências de chips (notação bipolar) da
que eles se encontra1n, o período é de 90 n1inutos. Qual é o
entrada padrão e u1na sequência de 4 bíts {l bit por pro-
intervalo 1nédio entre handoffs no caso de uin transmissor
cesso transn1issor a ser transn1itido), e se bifurca e111 quatro
estacionário?
pares de processos transmissores e receptores. Cada par de
60. Considere uu1 satélite na altitude de satélites geoestacioná- processos transmissor/receptor (tO,rO; tl ,rl; t2,r2; t3,r3) é
rios, 1nas cujo plano orbital está inclinado e1n relação ao atribuído a tuna sequência de chips e cada processo trans-
plano equatorial por u1n ângulo <p. Para um usuário estacio- 1nissor é atribuído a um 1 bit (prin1eiro bit para tO, segundo
nário na superficie da Terra na latin1de norte <p, esse satélite bit para ti, e assim por diante). Em seguida, cada processo
parece i1nóvel no céu? Se não, descreva seu movin1ento. trans1nissor calcula o siJ1al a ser transmitido (uma sequência
61. Calcule o tempo de trânsito de ponta a ponta para u1n pacote de 8 bits) e o envia para o processo de junção. Depois de re-
trafegar pelos satélites GEO (altitude: 35.800 k1n), MEO ceber sinais de todos os processos transmissores, o processo
(altin1de: 18.000 km) e LEO (altin1de: 750 km). de junção co1nbina os sinais e envia o sinal combinado aos
62. Qual é a latência de uma chamada originada no Polo Nor- quatro processos receptores. Então, cada processo receptor
te para alcançar o Polo Sul se a chamada for roteada por calcula o bit que recebeu e o impri1ne na saída padrão. Use
satél ites lridium? Suponha que o te1npo de co1nutação pipes para a co1nunicação entre processos.
Esta página foi deixada em branco intencionalmente.
A camada de enlace
de dados

Neste capítulo, estudare1nos os princípios de projeto da 3.1 QUESTÕES DE PROJETO DA


segunda camada en1 nosso modelo, a de enlace de dados.
Neste estudo, trataremos de algoritmos que permitem uma CAMADA DE ENLACE DE DADOS
comunicação eficiente e confiável de unidades de informa-
ção inteiras, cha1nadas quadros (em vez de bits individuais, A can1ada de enlace de dados usa os serviços da camada fi-
con10 na ca1nada tisica), entre dois computadores adjacen- sica para enviar e receber bits pelos canais de con1unicação
tes. Por adjacentes queremos dizer que as duas n1áquinas (possivelmente não confiáveis), que podem perder dados.
estão fisica1nente conectadas por meio de um canal de Ela tem diversas funções, entre as quais:
comunicação que funciona conceitualmente como um fio 1. Fornecer uma interface de serviço betn defmida à ca-
(p. ex., um cabo coaxial, uma linha telefônica ou um canal mada de rede (Seção 3.1.l).
sem fio). A propriedade essencial de um canal que o toma 2. Enquadrar sequências de bytes como segmentos auto-
semelhante a um fio é o fato de que os bits são entregues na contidos (Seção 3.1.2).
ordem exata em que são enviados.
3. Detectar e corrigir erros de transmissão (Seção 3. l.3).
A princípio, você pode pensar que esse problen1a é tão
4. Regular o fluxo de dados de n1odo que receptores len-
trivial que não há nada para estudar - a máquina A si1nples-
tos não sejam atropelados por transmissores rápidos
mente coloca os bits no fio e a máquina B os retira de lá.
Infelizn1ente, os canais de comunicação algumas vezes pro- (Seção 3.1.4).
duzem erros. Além disso, eles tê1n uma taxa de dados finita, Para alcançar esses objetivos, a camada de enlace de
e há um atraso de propagação diferente de zero entre o 1no- dados recebe os pacotes da camada de rede e os encapsula
mento em que um bit é enviado e o momento e1n que ele é em quadros para trans1nissão. Cada u1n conté1n um cabeça-
recebido. Essas limitações têm implicações impo1iantes para lho (header) de quadro, um campo de carga útil (payload),
a eficiência da transferência de dados. Os protocolos usados que conterá o pacote, e um final (trailer) de quadro, como
para co1nunicações devem levar todos esses fatores em con- n1ostra a Figura 3.1. O gerencian1ento de quadros constitui
sideração. Tais protocolos são o assunto deste capítulo. o núcleo das atividades da camada de enlace de dados. Nas
Após uma introdução às principais questões de projeto próximas seções, exa1ninare1nos e1n detalhes todas as ques-
presentes na camada de enlace de dados, começaremos nos- tões 1nencionadas. Além disso, quando são usadas redes
so estudo dos protocolos verificando a natureza dos erros sem fio não confiáveis, o uso de protocolos para melhorar
e como eles podem ser detectados e corrigidos. Em segui- o enlace de dados posterionnente quase sempre melhora o
da, estudaremos uma série de protocolos de complexidade desempenho.
crescente e mostraremos cotno cada um deles resolve um Embora este capítulo trate explicitatnente da camada
nú1nero cada vez 1naior de problemas dessa camada. Por de enlace de dados e de seus protocolos, muitos dos prin-
fin1, concluiren1os o capítulo com alguns exemplos de pro- cípios que estudare1nos aqui, como o controle de erros e o
tocolos de enlace de dados. controle de fluxo, e1n algu1nas redes, são encontrados em
130 Redes de computadores

Máquina transmissora Máquina receptora

Pacote Pacote

Cabeçalho
!
Campo de
Final
Quadro
/
Cabeçalho
l
Campo de
Final
carga útil carga útil

Figura 3.1 Relacionamento entre pacotes e quadros.

protocolos de transporte e também em outros protocolos. ao destino. A tarefa da camada de enlace de dados é trans-
Isso ocorre porque a confiabilidade é um objetivo geral, e n1itir os bits à 1uáquina de destino, de fom1a que eles pos-
ela é alcançada quando todas as redes funcionam juntas. san1 ser entregues à camada de rede dessa 1náquina, co1no
De fato, em muitas delas, essas funções são encontradas n1ostra a Figura 3.2(a). A transmissão propriaruente dita
principalmente nas camadas superiores, com a camada de segue o trajeto descrito na Figura 3.2(b); no entanto, é
enlace de dados realizando a tarefa n1íniiua, que é "sufi- n1ais fácil pensar em termos de dois processos da ca1uada
cientemente boa". Contudo, independentemente do lugar de enlace de dados que se con1unican1 por intermédio de
onde são encontrados, os princípios são quase idênticos. um protocolo de enlace de dados. Por essa razão, utiliza-
Na camada de enlace de dados, eles surgem coru frequência remos implicitamente o modelo da Figura 3.2(a) eru todo
em sua fonua mais simples e ruais pura, o que faz dessa este capítulo.
camada uru bom lugar para examiná-los eru detalhes. A camada de enlace de dados pode ser projetada de
modo a oferecer diversos serviços. Os serviços reais ofere-
cidos podem variar de um protocolo para outro. Três possi-
3.1 .1 Serviços oferecidos à camada de rede bilidades razoáveis que considerare1uos são:
A função da camada de enlace de dados é fornecer serviços 1. Serviço não orientado a conexões sem confirmação.
à camada de rede, sendo o principal transferir dados da ca- 2. Serviço não orientado a conexões coru confirmação.
mada de rede da máquina de origem para a camada de rede
3. Serviço orientado a conexões com continuação.
da ruáquina de destino. Na camada de rede da ruáquina de
orige1n há un1a entidade, chamada processo, que entrega O serviço não orientado a conexões sem confirma-
alguns bits à camada de enlace de dados para transmissão ção consiste em fazer a n1áquina de origem enviar quadros

Host 1 Host 2 Host 1 Host 2

l
~ ~
1
~ ~
l
~ ~
1
~ ~
l
- ~
1
-~
l
-~
1
-~

4 4 4 4

3 3 3 3
Caminho
de dados
2 virtual ,/ 2 2 2
""
1 1 1 Caminho 1
de dados
real ,,
'"
(a) (b)

Figura 3.2 (a) Comunicação virtual. (b} Comunicação real.


Capítulo 3 • A camada de enlace de dados 131

independentes à máquina de destino, sem que esta confir- Isso é apropriado para enlaces longos, não confiáveis, corno
me o recebimento deles. A Ethernet é um bom exemplo de un1 canal de satélite ou um circuito telefônico interurbano.
uma camada de enlace de dados que oferece essa classe de Se o serviço não orientado a conexões com confirmação
serviço. Nenhu1na conexão lógica é estabelecida antes ou fosse usado, é possível imaginar que as confirmações per-
liberada depois do processo. Se um quadro for perdido en1 didas poderiam fazer urn quadro ser enviado e recebido vá-
decon·ência de ruídos na linha, não haverá qualquer tentativa rias vezes, desperdiçando largura de banda.
de detectar a perda ou de recuperá-lo na camada de enlace de Quando o serviço orientado a conexões é usado, as
dados. Essa classe de serviço é apropriada quando a taxa de transferências passam por três fases distintas. Na primeira,
e1Tos é n1Uito baixa, e a recuperação fica a cargo das camadas a conexão é estabelecida, fazendo a1nbos os lados inicia-
mais altas, bem como para o tráfego e1n tempo real, no qual, lizar as variáveis e os contadores necessários para contro-
a exemplo da voz, os dados atrasados causa1n mais proble- lar os quadros que são recebidos e os que não são. Na se-
mas do que os dados recebidos com falhas. gunda, um ou mais quadros são realmente transmitidos.
O próximo passo em termos de confiabilidade é o ser- Na terceira e última fase, a conexão é desfeita, liberando-
viço não orientado a conexões co1n confirmação. Quando -se as variáveis, os buffers e os outros recursos usados para
esse serviço é oferecido, ainda não há conexões lógicas sen- mantê-la.
do usadas, mas cada quadro enviado é confirmado indivi-
dualmente. Dessa forma, o transrnissor sabe se urn quadro
chegou corretamente ou não. Caso não tenha chegado den- 3.1.2 Enquadramento
tro de um intervalo específico, o quadro poderá ser reenvia- Para oferecer serviços à camada de rede, a camada de en-
do. Esse serviço é útil em canais não confiáveis, como os lace de dados deve usar o serviço fornecido a ela pela ca-
sistemas sem fio. O padrão 802.11 (WiFi) é um bom exem- mada tisica. O que a camada física faz é aceitar um fluxo
plo desse tipo de serviço da camada de enlace. de bits brutos e tentar entregá-lo ao destino. Se o canal
Talvez valha a pena destacar que oferecer recursos de tiver ruído, como acontece na maioria dos enlaces sem fio
confirmação no nível da camada de enlace de dados é uma e em alguns enlaces com fio, a camada física acrescentará
questão de otimização, nunca uma exigência. A camada de alguma redundância aos seus sinais, para reduzir a taxa de
rede sempre pode enviar um pacote e esperar que ele seja erros de bits para urn nível tolerável. Contudo, o fluxo de
confirmado por seu par na máquina re1nota. Se a confir- bits recebido pela camada de enlace de dados não tem ga-
mação não chegar durante o intervalo do timer de retrans- rantia de estar livre de erros. Alguns bits podem ter valores
missão, o transmissor poderá enviar a mensagem inteira diferentes e o número de bits recebidos pode ser menor,
mais uma vez. O problema dessa estratégia é que ela pode igual ou maior que o transmitido. A camada de enlace de
ser ineficaz. Os enlaces normalmente têm um quadro corn dados é responsável por detectar e, se necessário, corrigir
con1primento máximo estrito imposto pelo hardware e atra- erros.
sos de propagação conhecidos. A carnada de rede não co- Em geral, a estratégia adotada pela carnada de enla-
nhece esses parâmetros. Ela pode enviar um pacote grande ce de dados é dividir o fluxo de bits em quadros distintos,
subdividido em, digamos, 1Oquadros, dos quais dois são calcular un1 pequeno valor (u1n token), chamado de check-
perdidos, em média. O ternpo necessário para efetivar a sum (soma de verificação), para cada quadro e incluir essa
trans1nissão do pacote con1 sucesso poderá ser muito longo. soma de verificação no quadro quando ele for transmitido.
En1 vez disso, se quadros individuais forem confirmados e (Os algorit1nos de checksum serão discutidos mais adiante
retransmitidos, então os en·os podem ser corrigidos mais di- neste capítulo.) Quando um quadro chega a seu destino, o
retarnente e 1nais rapidamente. Em canais confiáveis, co1no checksun1 é recalculado com base no que foi recebido. Se o
a fibra óptica, o overhead de um protocolo de enlace de valor recé1n-calculado for diferente do que está contido no
dados muito sofisticado talvez seja desnecessário, mas, em quadro, a camada de enlace de dados saberá que houve um
canais sem fio (com sua inerente falta de confiabilidade), o erro e tomará providências para lidar co1n ele (p. ex., des-
custo geralmente compensa. cartando o quadro defeituoso e possivelrnente também en-
Voltando aos nossos serviços, o serviço n1ais sofisti- viando de volta u1n relatório de erros).
cado que a camada de enlace de dados é capaz de oferecer A divisão do fluxo de bits em quadros é mais difícil
à camada de rede é o orientado a conexões. Com ele, as do que parece à primeira vista. Um bom projeto deve tomar
máquinas de orige1n e de destino estabelecem uma cone- fáci l para wn receptor encontrar o início de novos quadros
xão antes de qualquer dado ser transferido. Cada quadro usando pouca largura de banda do canal. Nesta seção, exa-
enviado pela conexão é numerado, e a camada de enlace minaremos quatro métodos:
de dados garante que cada quadro seja, de fato, recebido.
Além disso, essa camada garante que todos os quadros se- 1. Contagem de caracteres.
jam recebidos uma única vez e na ordem correta. Assim, os 2. Bytes de flag co1n inserção de bytes.
serviços orientados a conexões fon1ecem aos processos da 3. Bits de flag com inserção de bits.
camada de rede o equivalente a um fluxo de bits confiável. 4. Violações de codificação da camada física.
132 Redes de computadores

O prin1eiro n1étodo de enquadramento utiliza um de enlace de dados do transmissor incluir un1 caractere de
campo no cabeçalho para especificar o número de bytes no escape especial (ESC) imediatamente antes de cada byte de
quadro. Quando vê a contagem de caracteres, a camada de flag "acidental" nos dados. Assi1n, o byte de flag de en-
enlace de dados de destino sabe quantos bytes devem vir quadra1nento pode ser distinguido daquele nos dados pela
em seguida e, consequente1nente, onde está o final do qua- ausência ou presença de u1n byte de escape antes dele. A ca-
dro. Essa técnica é mostrada na Figura 3.3(a) para quatro mada de enlace de dados na extre1nidade receptora reinove
pequenos quadros, como exemplo, de tamanhos 5, 5, 8 e 8 o byte de escape antes de entregar os dados à camada de
bytes, respectivamente. rede. Essa técnica é chamada de inserção de bytes (byte
O problema com esse algoritn10 é que a contagem stuffing).
pode ser adulterada por u1n erro de transmissão. Por exen1- E' claro que a próxin1a pergunta é: o que acontecerá
plo, se a contagem 5 no segundo quadro da Figura 3.3(b) se un1 byte de escape ocorrer em u1na posição dentro dos
se tornar 7, em virtude da inversão de um único bit, odes- dados? Nesse caso, ele também será preenchido com um
tino perderá a sincronização e não será capaz de localizar o byte de escape. No receptor, o primeiro byte de escape é
início do quadro seguinte. Mesmo que o checksum esteja removido, deixando o byte de dados seguinte (que poderia
incorreto, de modo que o destino saiba que o quadro está ser outro byte de escape ou o byte de flag). Alguns exem-
defeituoso, ele ainda não terá informações suficientes para plos são mostrados na Figura 3.4(b). Em todos os casos,
saber onde começa o quadro seguinte. Enviar um quadro a sequência de bytes entregue após a re1noção dos bytes
de volta à origetn solicitando retrans1nissão tan1bém não inseridos é exatamente igual à sequência de bytes original.
ajuda, pois o destino não sabe quantos bytes deverão ser Ainda pode1nos procurar por um limite de quadro buscando
ignorados para chegar ao início da retransmissão. Por essa dois bytes de flag en1 sequência, sem nos preocuparmos em
razão, o método de contagem de caracteres quase não é desfazer os escapes.
mais usado. O esque1na de inserção de bytes representado na Fi-
O segundo método de enquadramento contorna o pro- gura 3.4 é un1a ligeira simplificação do que é utilizado no
blema de ressincronização após um erro, fazendo cada qua- protocolo ponto a ponto, ou PPP (Point-to-Point Proto-
dro começar e terminar com bytes especiais. Nonnalmente col), comu1n na internet para carregar pacotes por enlaces
o mesmo byte, chamado byte de Oag, é usado como deli- de comunicação. Descreveremos o PPP na Seção 3.5.1.
mitador de início e de final, como mostra a Figura 3.4(a), O terceiro método de delimitação do fluxo de bits
na qual ele é representado por FLAG. Dois bytes de tlag contorna uma desvantagem da inserção de bytes, ou seja, o
consecutivos indicam o final de um quadro e o início do fato de ela estar ligada ao uso de bytes de 8 bits. O enqua-
próximo. Assim, se o receptor perder a sincronização, ele dramento também pode ser feito e1n nível de bit, de modo
poderá sin1plesmente procurar dois bytes de flag para en- que os quadros podem conter um nú1nero qualquer de bits,
contrar o final do quadro atual e o início do seguinte. compostos de unidades de qualquer tamanho. Ele foi desen-
Entretanto, ainda existe wn proble1na. É bem possível volvido para o então 1nuito popular protocolo de controle
que o byte de flag ocorra nos dados, especialmente quando de enlace de dados de alto nível, ou HDLC (High-level
são transmitidos dados binários, como fotografias ou mú- Data Link Control). Cada quadro co1neça e termina com
sicas. Essa situação poderia interferir no enquadramento. um padrão de bits especial, O111111 O, ou Ox7E e1n hexade-
U1na forma de solucionar esse proble1na é fazer a ca1nada ciinal (um byte de flag). Se1npre que encontra cinco valores

Contador ---..,,. Um byte


de bytes

5 1 2 3 4 5 6 7 8 9 8 o 1 2 3 4 5 6 8 7 8 9 o 1

Quadro 1 Quadro 2 Quadro 3 Quadro 4


5 bytes 5 bytes 8 bytes 8 bytes
(a)

Erro

/
1s ] 1 12 131 4 11 1611 I s ] s ] a ] o l 1{2 I 31 41s 16 1s ] 1 ] s 1s 1o l 1 12 13]
Quadro 1 Quadro 2 Agora um contador
(errado) de bytes
(b)

Figura 3.3 Um fluxo de caracteres. (a) Sem erros. (b) Com um erro.
Capítulo 3 • A camada de enlace de dados 133

FLAG Cabe-
çalho Campo de carga útil Final FLAG
(a)
Bytes originais Após inserção
0EJG - - 01 ESC lIFLAGIG
0EJG -0EJEJG
0 1ESC l IFLAGI 0 -- 01ESC11ESC 11ESC l IFLAGI0
0 1ESC 11 ESC 10 01 ESC 11 ESC 11ESC 11ESC 10
(b)

Figura 3.4 {a) Quadro delimitado por bytes de flag. (b) Quatro exemplos de sequências de bytes, antes e depois da inserção
de bytes.

1 consecutivos nos dados, a crunada de enlace de dados do en1 busca de sequências de tlags, u1na vez que elas nunca
transmissor automatica1nente insere un1 bit O no fluxo de ocorrem dentro dos dados, apenas nos litnites dos quadros.
bits que está sendo enviado. Essa inserção de bits é se- Co1n a inserção de bits e de bytes, um efeito colate-
melhante à inserção de bytes, na qual u1n byte de escape é ral é que o comprimento de um quadro agora depende do
inserido no fluxo de caracteres enviado antes de ocorrer um conteúdo dos dados que ele transporta. Por exe1nplo, se não
byte de flag nos dados. Isso també1n garante uma densidade houver bytes de tlag nos dados, 100 bytes podem ser trans-
mínima de transições, o que ajuda a ca1nada física a 1nanter portados em u1n quadro de aproximadamente 100 bytes.
a sincronização. O USB (Universal Serial Bus) utiliza a in- Todavia, se os dados consistirem unicamente de bytes de
serção de bits por esse motivo. flag, cada um terá um bit de escape associado e o quadro
Ao ver cinco bits 1 consecutivos sendo recebidos, se- terá aproxin1ada1nente 200 bytes de con1pri1nento. Com
guidos por um bit O, o receptor automaticamente ren1ove o a inserção de bits, o aumento seria de aproximadamente
bit O. A inserção de bits, assim como a inserção de bytes, é 12,5%, pois 1 bit é inserido a cada byte.
con1pletarnente transparente para a camada de rede de am- O último método de enquadramento é usar um atalho
bos os computadores. Se os dados do usuário contiverem o da camada física. No Capitulo 2, vimos que a codificação
padrão de flag O111111 O, esse flag será transmitido como de bits como sinais normalmente inclui redundância para
011111010, mas será armazenado na memória do receptor ajudar o receptor. Essa redundância significa que alguns
corno O111111 O. As camadas superiores não tomam co- sinais não ocorrerão em dados regulares. Por exemplo, no
nhecimento dessa inserção de bits. A Figura 3.5 mostra um código de linha 4B/5B, 4 bits de dados são rnapeados para
exemplo de inserção de bits. 5 bits de sinal, para garantir transições de bits suficientes.
Com a inserção de bits, o limite entre dois quadros Isso significa que 16 das 32 possibilidades de sinal não são
pode ser reconhecido sem qualquer tipo de ambiguidade usadas. Podemos usar alguns sinais reservados para indicar
pelo padrão de flags. Desse rnodo, se o receptor perder o o início e o final dos quadros. Com efeito, estamos usando
controle de onde estão os dados, bastará varrer a entrada "violações de código" (caJacteres inválidos) para delimitar

(a) o 1 1 o 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 oo 1 O

(b) o 1 1 o 1 1 1 1 1 o 1 1 1 1 1 o1 1 1 1 1 o1 o o 1 o
" Bits
' inseridos
t /
(c) O 1 1 O 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 O O 1 O

Figura 3.5 Inserção de bits. {a) Os dados originais. {b) Como os dados são exibidos na linha. {e) Como os dados são armaze-
nados na memória do receptor após a remoção de bits.
134 Redes de computadores

os quadros. A beleza desse esquema é que, por sere1n sinais transn1issor. E1n geral, o quadro será recebido de forma cor-
reservados, é fácil encontrar o início e o final dos quadros, reta e a confirmação voltará antes que se alcance o tempo-
e não é preciso inserir bits nos dados. -limite do timer e, nesse caso, ele será cancelado.
Muitos protocolos de enlace de dados, por segurança, No entanto, se a confirmação ou o quadro se perder, o
usa1n uma combinação desses métodos. Um padrão comum timer será desativado, alertando o transn1issor para um pro-
usado para Ethernet e para 802.11 é fazer um quadro co- ble1na potencial. A solução óbvia é si1nplesmente trans1nitir
meçar com um padrão bem definido, chamado preâmbulo. o quadro outra vez. Entretanto, quando os quadros podem
Esse padrão pode ser muito longo (72 bits é típico para redes ser transmitidos várias vezes, existe o perigo de o receptor
802.11 ), a fi1n de pennitir que o receptor se prepare para um aceitar o 1nesmo quadro duas ou 1nais vezes e de repassá-
pacote que está chegando. O preân1bulo é, então, seguido -lo à ca1nada de rede mais de u1na vez. Para evitar que isso
por um campo de comprimento (ou seja, um contador) no aconteça, geralmente é preciso atribuir números de sequên-
cabeçalho, que é usado para localizar o final do quadro. cia aos quadros transmitidos, de modo que o receptor possa
distinguir as retransmissões dos origitlais.
A questão do gerenciamento dos tüners e dos números
3.1.3 Controle de erros de sequência para garantir que cada quadro seja reahnente
Após resolvermos o problema da delitnitação do início e do passado para a camada de rede no destino exatamente uma
final de cada quadro, vamos ao problema seguinte: como ter vez, nem mais nen1 menos, é urna parte importante das atri-
ce1teza de que todos os quadros serão entregues na ca1nada buições da camada de enlace de dados (e das camadas mais
de rede de destino e na ordem apropriada? Suponha, para altas). Mais adiante neste capítulo, veremos uma série de
o momento, que o receptor consegue saber se utn quadro exemplos cada vez mais sofisticados, para entender como é
que ele recebe contém infonnações corretas ou defeituosas feito esse gerencian1ento.
(veremos os códigos usados para detectar e corrigir erros de
transmissão na Seção 3.2). Para serviços não orientados a co-
nexões, se1n confirmação, pode ser suficiente que o emissor
3.1.4 Controle de fluxo
apenas continue enviando quadros se1n se importar se eles Outro importante aspecto de projeto que ocorre na camada
chegaram correta1nente, 1nas sem dúvida essa não seria uma de enlace de dados (e também nas camadas 1nais altas) é o
boa opção para serviços orientados a conexões confiáveis. que fazer com um transmissor que sisten1aticamente dese-
A forma mais comum de garantir uma entrega confiá- ja transmitir quadros mais rápido do que o receptor pode
vel é dar ao trans1nissor algum tipo de feedback sobre o que aceitá-los. Essa situação pode ocorrer quando o transmis-
está acontecendo no outro extremo da linha. Normalmen- sor está rodando em um computador rápido e poderoso e
te, o protocolo solicita que o receptor retorne quadros de o receptor está rodando em u1na nláquina lenta e inferior.
controle especiais com confirmações positivas ou negativas Uma situação comum é quando un1 smartphone solicita
sobre os quadros recebidos. Se receber uma confirmação uma página Web de um servidor muito 1nais poderoso, que
positiva sobre um quadro, o transmissor saberá que ele che- abre a inangueira de incêndio e jorra os dados para o pobre
gou em segurança ao destino. Em contrapartida, uma con- e infeliz telefone, até que esteja co1npletamente inundado.
finnação negativa significa que algo saiu errado e que o Mes1no que a transn1issão não tenha erros, o receptor pode
quadro deve ser retransmitido. não conseguir lidar com os quadros com a rapidez com que
Uma complicação adicional decorre da possibilidade chegam, e perderá alguns deles.
de problemas de hardware fazere1n u1n. quadro desaparecer Sem dúvida, algo deve ser fe ito para i1npedir que essa
co1npleta1nente (p. ex., em un1a rajada de ruídos). Nesse situação ocorra. Em geral duas abordagens são usadas.
caso, o receptor não reagirá de forma algu1na, pois não há Na primeira, cha1nada de controle de fluxo baseado em
motivo para isso. De modo semelhante, se o quadro de con- feedback, o receptor envia de volta ao trans1nissor infor-
firmação se perder, o e1nissor não saberá como prosseguir. mações que permita1n a ele enviar mais dados, ou que pelo
Deve ficar claro que u1n protocolo no qual o transmissor nlenos mostren1 ao trans1nissor a sua situação real. Na se-
envia u1n quadro e depois espera por un1a confinnação, po- gunda, chamada de controle de fluxo baseado na veloci-
sitiva ou negativa, permanecerá suspenso para sempre caso dade, o protocolo te1n um mecanismo interno que limita a
um quadro tenha sido completamente perdido - por exem- velocidade de envio de dados pelos transmissores, sem usar
plo, e1n consequência de mau funcionamento do hardware o feedback do receptor.
ou canal de comunicação deficiente. Neste capítulo, estudaremos os esque1nas de controle
Essa possibilidade é tratada com a introdução de ti- de fluxo baseados em feedback, principalmente porque os
mers na camada de enlace de dados. Quando o transmis- esquemas baseados na velocidade são vistos apenas como
sor envia um quadro, em geral ele também inicializa um parte da camada de transporte (Capítulo 5). Os esque1nas
timer. Este é ajustado para ser desativado após un1 interva- baseados em feedback são vistos na can1ada de enlace e em
lo suficientemente longo para o quadro chegar ao destino, camadas superiores. O último caso é mais con1um hoje em
ser processado e ter sua confirmação enviada de volta ao dia, em que o hardware da camada de enlace é projetado
Capítulo 3 • A camada de enlace de dados 135

para trabalhar com rapidez suficiente para não causar perda. ocasional. Contudo, em canais co1no enlaces sen1 fio, que
Às vezes, por exe1nplo, considera-se que as implementa- geram n1uitos erros, é melhor adicionar redundância sufi-
ções de hardware da camada de enlace, como as placas de ciente a cada bloco para que o receptor seja capaz de des-
interface de rede, ou NICs (Network Interface Cards), cobrir qual era o bloco transmitido originalmente. A FEC
atua111 na "velocidade do fio", o que significa que podem é usada e1n canais co1n ruído porque as retransmissões po-
tratar de quadros tão rapidamente quanto eles chegam ao dem ter erros tanto quanto a priineira trans1nissão.
enlace. Portanto, qualquer overrun não será um problema Uma consideração iinportante para esses códigos é o
de enlace, já que é tratado por camadas mais altas. tipo de en·o que provavelmente oco1Terá. Nem os códigos
Existem diversos esque1nas de controle de fluxo ba- de correção ne1n os de detecção de erros pode1n lidar co1n
seados en1 feedback. No entanto, a n1aioria deles utiliza o todos os erros possíveis, pois os bits redundantes que ofe-
mesmo princípio básico. O protocolo contém regras bem recem proteção provavelmente serão recebidos com erro,
definidas sobre quando um transmissor pode enviar o qua- como os bits de dados (o que pode comprometer sua pro-
dro seguinte. Com frequência, essas regras impeden1 que os teção). Seria bo1n se o canal tratasse os bits redundantes de
quadros sejan1 enviados até que o receptor tenha concedido fonna diferente da que trata os bits de dados, 1nas isso não
permissão para a transmissão, in1plícita ou explicitamente. acontece. Todos eles são apenas bits para o canal. Isso sig-
Por exe1nplo, quando uma conexão é estabelecida, o recep- nifica que, para evitar erros não detectados, o código preci-
tor pode informar: "Você pode me enviar n quadros agora, sa ser forte o suficiente para lidar com os erros esperados.
mas, depois que eles tiverem sido enviados, não envie 1nais U1n n1odelo é aquele e1n que os erros são causados
nada até ser inforn1ado de que deve prosseguir". Exa1nina- por valores extremos de ruído térn1ico, que abafa o s.inal
remos os detalhes em breve. rápida e ocasionalmente, fazendo surgir erros de único bit
isolados. Outro modelo consiste en1 erros que tenden1 a vir
em rajadas, em vez de isolados, oriundos dos processos fi-
sicos que os geran1 - co1no uma atenuação profunda em
um canal sem fio ou interferência elétrica transitória em um
3.2 DETECÇÃO E CORREÇÃO canal com fio.
DE ERROS Os dois 1nodelos importam na prática e enfrenta1n di-
ferentes dilemas. O fato de os erros aconteceren1 em rajadas
Vi1nos no Capítulo 2 que os canais de con1unicação tê1n te1n vantagens e desvantagens em relação aos erros isolados
diversas características. Alguns canais, como a fibra óptica de único bit. Uma vantagem é que os dados de co1nputado-
nas redes de telecomunicações, têm taxas de erro muito res sempre são enviados em blocos de bits. Suponha que o
pequenas, de modo que os erros de transmissão são u1na tamanho do bloco seja 1.000 bits e que a taxa de erros seja
ocorrência rara. Mas outros canais, especialn1ente enlaces 0,001 por bit. Se os erros fossem independentes, a maioria
sem fio e antigos circuitos tenninais, tê1n taxas de e1To dos blocos teria um erro. Todavia, se os erros surgirem em
muito maiores. Para esses enlaces, os erros de transmis- rajadas de 100, apenas un1 bloco em l 00 será afetado, em
são são a norma. Eles não podem ser evitados a um custo 111édia. A desvantagem dos erros em rajada é que, quando
razoável em termos de desen1penho. Ou seja, os erros de ocorre1n, são muito n1ais difíceis de corrigir que os erros
transmissão estão aqui para ficar e precisamos aprender a isolados.
lidar com eles. Também existem outros tipos de erros. As '
vezes, o
Os projetistas de redes desenvolveratn duas estraté- local de um erro será conhecido, talvez porque a camada
gias básicas para lidar com os erros, e ambas acrescentam física tenha recebido un1 sinal analógico que foi longe do
informações redundantes aos dados enviados. Uma estra- valor esperado para O ou 1 e declarado que o bit foi perdi-
tégia é incluir informações redundantes suficientes para do. Essa situação é chamada de canal de cancelamento.
permitir que o receptor deduza quais foram os dados trans- E' mais fáci l corrigir erros em canais de cancelamento do
tnitidos. A outra é incluir apenas a redundância suficien- que em canais que inverte1n bits, pois, 1nesmo que o valor
te para permitir que o receptor deduza que houve um erro do bit tenha sido perdido, pelo n1enos sabemos qual deles
(mas não qual erro) e solicite uma retrans1nissão. A primei- tem erro. Contudo, normalmente não temos o beneficio dos
ra estratégia usa códigos de correção de erros, enquanto cancelamentos.
a segunda usa códigos de detecção de erros. O uso de có- Em seguida, examinaremos os códigos de correção
digos de con·eção de erros nonnalmente é conhecido co1no de erros e os códigos de detecção de erros. Contudo, tenha
correção antecipada de erros, ou FEC (For,vard Error dois pontos em mente. Primeiro, cobriinos esses códigos
Correction). na camada de enlace porque esse é o primeiro lugar em que
Cada uma dessas técnicas ocupa um nicho em am- nos deparamos com o problema de transmitir grupos de bits
bientes específicos. En1 canais altamente confiáveis, como de 1nodo confiável. Contudo, os códigos são muito usados
os de fibra, é mais econô1nico utilizar u1n código de detec- porque a confiabilidade é uma preocupação geral. Os có-
ção de erros e simplesmente retransmitir o bloco defeituoso digos de correção de erros também são vistos na camada
136 Redes de computadores

tisica, principalmente para canais com ruído e en1 ca1na- poderia1n ser l/2 para u1n canal co1n ruído, em que metade
das superiores, particulannente para mídia em tempo real e da informação recebida é redundante, ou perto de 1 para u1n
distribuição de conteúdo. Os códigos de detecção de erros canal de alta qualidade, com apenas um pequeno número de
normaln1ente são usados nas ca1nadas de enlace, de rede e bits de verificação acrescentados a uma n1ensage1n grande.
de transporte. Para entender como os erros podem ser tratados, pri-
O segundo ponto que se deve ter en1 mente é que os meiro é necessário examinar de perto o que realmente é um
códigos de detecção e/ou correção de erros são 1nate1nática erro. Dadas duas palavras de código que podem ser trans-
aplicada. A menos que você seja particularmente adepto aos mitidas ou recebidas - digamos, 10001001 e 1O110001 - ,
campos de Galois ou às propriedades das matrizes espar- é possível determinar quantos bits correspondentes dife-
sas, deverá obter códigos com boas propriedades a partir re111. Nesse caso, são 3 os bits divergentes. Para detenni-
de u1na fonte confiável, em vez de criar os seus próprios. nar quantos bits apresenta1n diferenças, basta efetuar uma
De fato, é isso que muitos padrões de protocolo fazem, com operação XOR entre as duas palavras de código e contar o
os mesmos códigos aparecendo repetidas vezes. A seguir, nú1nero de bits 1 no resultado. Por exe1nplo:
estudaremos um código si1nples com detalhes e depois
descrevere1nos rapida1nente os códigos avançados. Desse 10001001
modo, podemos entender os dilemas a partir do código sin1- 1o11000 1
ples e falar sobre os códigos usados na prática por meio dos 00111000
códigos avançados. O número de posições de bits em que duas palavras de có-
digo diferem entre si é chan1ado distância de Hamming,
3.2.1 Códigos de correção de erros em homenagem a Richard Ha1nming (Ha1nming, 1950).
Isso significa que, se duas palavras de código estivere1n a
Va1nos examinar quatro tipos de código de correção de un1a distância de Hamming urna da outra igual a d, será
erros: necessário corrigir d erros de bits isolados para converter
uma palavra na outra.
1. Códigos de Hamming.
Dado o algoritmo para calcular os bits de verificação,
2. Códigos de convolução binários.
é possível construir uma lista completa das palavras de có-
3. Códigos de Reed-Solo1non. digo válidas e, a partir dela, encontrar as duas palavras de
4. Códigos de verificação de paridade de baixa código com a rnenor distância de Ha1nrning. Essa é a dis-
densidade. tância de Ha1nming do código completo.
Todos esses códigos acrescentam redundância às in- Na maioria das aplicações de trans1nissão de dados,
111
formações enviadas. Um quadro consiste en1 rn bits de da- todas as 2 mensagens de dados possíveis são válidas; no
dos (ou seja, mensagem) e r bits redundantes (ou seja, ve- entanto, e1n virtude da forma como os bits de verificação
rificação). E1n utn bloco de código, os r bits de verificação são calculados, nem todas as 2" palavras de código pos-
são calculados unicamente como wna função dos ni bits de síveis são usadas. De fato, quando existem r bits de ve-
dados com os quais eles são associados, como se os rn bits rificação, somente a pequena fração de 2"'/2" ou 1/2r das
fossem pesquisados em uma grande tabela para encontrar mensagens possíveis será uma palavra de código vál ida.
seus r bits de verificação correspondentes. Em um código E' a dispersão co1n que a mensagem é embutida no espaço
sistemático, os 1n bits de dados são enviados diretamente, das palavras de código que permite que o receptor detecte
con1 os bits de verificação, en1 vez de ser codificados eles e con·1Ja erros.
mesmos antes de ser enviados. Em um código linear, os As prop1iedades de detecção e de correção de erros
r bits de verificação são calculados como uma função linear de u1n código depende1n de sua distância de Han1ming.
dos m bits de dados. A operação OU exclusivo (XOR), ou Para detectar d erros de 1nodo confiável, você precisa de
adição de 1nódulo 2, é uma escolha popular. Isso significa um código de distância d + l, pois com tal código não há
que a codificação pode ser feita com operações corno 1nul- como d erros de bits transformarem uma palavra de código
tiplicações de matrizes ou circuitos lógicos simples. Os có- válida em outra. Quando o receptor descobre uma palavra
digos que veremos nesta seção são blocos de código linea- de código inválida, isso pode indicar que houve um erro de
res, sistemáticos, a 1nenos que indiquemos de outra forma . transmissão. Da mesma fonna, para corrigir d erros, você
Considere que o tamanho total de um bloco seja n precisa de um código de distância 2d + 1 porque, dessa
(ou seja, n = m + r). Descreveremos isso con10 um código forma, as palavras de código válidas estarão tão distantes
(n,1n). Uma unidade de /1 bits contendo bits de dados e veri- que, 1nesmo com d alterações, a palavra de código original
ficação é conhecida como uma palavra de código de /1 bits. continuará mais próxima do que qualquer outra. Isso signi-
A taxa de código, ou simplesmente taxa, é a fração da pala- fica que a palavra de código original pode ser detenninada
vra de código que transporta informações não redundantes, exclusivamente co1n base na suposição de que um número
ou 1nln. As taxas usadas na prática variam bastante. Elas maior de erros é n1enos provável.
Capítulo 3 • A camada de enlace de dados 137

Como un1 exemplo simples de código de correção de Esse li1nite teórico n1ais baixo pode, na verdade, ser
erros, considere um código que contenha apenas quatro pa- alcançado pela utilização de un1 método criado por Ham-
lavras de código válidas: 1ning ( 1950). Nos códigos de Hamming, os bits da palavra
de código são nu1nerados consecutivamente, começando
0000000000, 0000011111, 1111100000 e 111111 1111 com o bit 1 da extremidade esquerda, o bit 2 in1ediata1nente
Esse código te1n u1na distância igual a 5, o que significa que ã sua direita, e assi1n por diante. Os bits que são potências
ele pode corrigir erros duplos ou detectar erros quádruplos. de 2 (1, 2, 4, 8, 16, etc.) são de verificação. Os outros (3,
Se a palavra de código 0000000111 for detectada e espe- 5, 6, 7, 9, etc.) são preenchidos com os m bits de dados.
rarmos apenas erros de 1 ou 2 bits, o receptor saberá que a Esse padrão pode ser visto para um código de Hamming
original deve ter sido 000001 1111. No entanto, se u1n erro (11 ,7) com 7 bits de dados e 4 bits de verificação na Figu-
triplo transformar 0000000000 em 0000000111 , o en·o não ra 3.6. Cada bit de verificação força a paridade de algum
será corrigido da maneira adequada. De maneira alternativa, conjunto de bits, incluindo seu próprio conjunto, a ser par
se esperannos todos esses erros, podemos detectá-los. Como (ou í1npar). Un1 bit pode ser incluído em vários cálculos de
nenhu1na das palavras de código recebidas é u1na palavra de verificação de bits. Se quiser ver para quais bits de verifica-
código válida, um e1To deve ter ocorrido. Deve ficar eviden- ção o bit de dados na posição k contribui, reescreva k como
te que, nesse exemplo, não podemos corrigir erros duplos uma so1na de potências de 2. Por exemplo, 11 = 1 + 2 + 8 e
e detectar erros quádruplos, pois isso exigiria que interpre- 29 = 1 + 4 + 8 + 16. Um bit é verificado apenas por aqueles
tásse1nos u1na palavra de código recebida de duas 1naneiras. bits de verificação que ocorre1n etn sua expansão (p. ex., o
Em nosso exemplo, a tarefa de decodificar encontran- bit 11 é verificado pelos bits 1, 2 e 8). No exemplo, os bits
do a palavra de código válida 1nais próxiina da palavra de de verificação são calculados para somas de paridade par
código recebida pode ser feita por inspeção. Infelizmente, para uma mensagem que é o código ASCíl letra " A".
no caso mais geral, quando todas as palavras de código pre- Essa construção resulta em um código com u1na dis-
cisam ser avaliadas como candidatas, essa tarefa pode ser tância de Hamming igual a 3, o que significa que ela pode
uma busca demorada. Em vez disso, os códigos práticos corrigir erros sin1ples (ou detectar erros duplos). O motivo
são criados de 1nodo que admita1n atalhos para encontrar o para a nwneração 1nuito cuidadosa dos bits de mensagen1 e
que provavelmente foi a palavra de código original. de verificação ton1a-se aparente no processo de decodifica-
Suponha que desejemos criar um código co1n m bits ção. Quando un1a palavra de código chega, o receptor refaz
de mensagem e r bits de verificação que permitirão a corre- os cálculos do bit de verificação, incluindo os valores dos
ção de todos os erros simples. Cada uma das 2"' mensagens bits de verificação recebidos. Cha1namos estes de resulta-
válidas tem n palavras de código inválidas a u1na distância dos de verificação. Se os bits de verificação forem corretos,
da mensage1n igual a l. Essas palavras inválidas são for- então, para somas de paridade par, cada resultado de ve-
madas pela inversão sistemática de cada urn dos n bits da rificação deve ser zero. Nesse caso, a palavra de código é
palavra de código de n bits formada a pa1tir dela. Po1tanto, aceita como válida.
cada uma das 2"' mensagens válidas exige n + 1 padrões de Entretanto, se os resultados da verificação não forem
bits dedicados a ela. Como o nún1ero total de padrões de
todos zero, um erro foi detectado. O conjunto de resultados
bits é 2 devemos ter (n + 1)2"'< 2 Utilizando n = 1n + r,
11
,
11

de verificação forma a síndrome de erro que é usada para
esse requisito passa a ser
localizar e corrigir o erro. Na Figura 3.6, u1n erro de único
(1n + r + 1) ~ 2,. (3.1) bit ocon·eu no canal, de modo que os resultados de verifica-
ção são O, 1, Oe l para k = 8, 4, 2 e 1, respectivamente. Isso
Sem for determinado, o limite para o número de bits deve- gera uma síndrome de O1O1 ou 4 + 1 = 5. Pelo projeto do
rificação necessários para corrigir erros isolados será 1nais esquema, isso significa que o quinto bit está com erro. A in-
baixo. versão do bit incorreto (que pode ser um bit de verificação

Bits de
verificação

Erro de _ __
1 bit
A P1 Pz m3 P4 m5 ms m7 Ps "'9 m10 m11 A
oo1 oooo1 oo1 ·~
1000001 • o o 1 oL~.J o o 1 o o 1 --.1000001
Canal
Mensagem Palavra de código Palavra de código Mensagem
enviada recebida

Figura 3.6 Exemplo de um código de Hamming (11,7) corrigindo um erro de único bit.
138 Redes de computadores

ou de dados) e o descarte dos bits de verificação geratn a Urn código de convolução é decodificado encontran-
mensagem correta de um ASCII "A". do-se a sequência de bits de entrada que tem maior proba-
As distâncias de Hamming são valiosas para en- bilidade de ter produzido a sequência observada de bits de
tender os blocos de códigos, e os códigos de Hamming saída (que inclui quaisquer erros). Para valores pequenos
são usados na 1nemória de correção de erros. Contudo, a de k, isso é fe ito co1n um algoritmo bastante usado, desen-
maioria das redes usa códigos mais fortes, como o códi- volvido por Viterbi (Forney, 1973). O algoritmo percorre
go de convolução. Este é o único que veremos que não é a sequência observada, mantendo para cada etapa e para
um bloco de código. Em um código de convolução, un1 cada estado interno possível a sequência de entrada que
codificador processa uma sequência de bits de entrada e teria produzido a sequência observada com o mínimo de
gera u1na sequência de bits de saída. Não existe ta1nanho erros. A sequência de enh·ada que exige o 1níni1no de erros
de mensagem ou limite de codificação natural, como em no final é a mensagem mais provável.
u1n bloco de código. A saída depende dos bits de entra- Os códigos de convolução têrn sido populares na prá-
da atual e anterior. Ou seja, o codificador tem memória. tica porque é fácil fatorar a incerteza de um bit sendo Oou
O número de bits anteriores do qual a saída depende é 1 na decodificação. Por exemplo, supondo que - l V seja
cha1nado comprimento restritivo do código. Os códigos o nível lógico O e + 1V seja o nível lógico 1, poderíamos
de convolução são especificados en1 termos de sua taxa e receber 0,9V e - 0, 1V para 2 bits. Em vez de mapear es-
co1npritnento restritivo. ses sinais como 1 e O imediatamente, gostaríamos de tratar
Os códigos de convolução são muito usados ern redes 0,9V como "provavelinente I" e - 0,I V como "talvez O" e
implantadas, por exemplo, como parte do sistema de telefo- corrigir a sequência como um todo. As extensões do algo-
nia móvel GSM, en1 comunicações por satélite e nas redes ritmo de Viterbi podem trabalhar com essas incertezas para
802.J l. Cotno exemplo, u1n código de convolução popular oferecer uma correção de erros mais fo11e. Essa técnica de
aparece na Figura 3.7. Esse código é conhecido como có- trabalho com a incerteza de wn bit é chamada de decodi-
digo de convolução da NASA, com r = J/2 e k = 7, pois ele ficação de decisão soft. Por sua vez, a tarefa de decidir se
foi usado inicialmente para as n1issões espaciais Voyager, a cada bit é O ou 1 antes da correção de erros subsequente é
partir de 1977. Desde então, ele tem sido bastante reutiliza- chamada decodificação de decisão hard .
do, por exe1nplo, como parte do padrão 802.11. O terceiro tipo de código de con·eção de erros quedes-
Na Figura 3.7, cada bit de entrada no lado esquerdo creveremos é o código de Reed-Solomon. Assim como os
produz dois bits de saída no lado direito, os quais são sornas códigos de Ham1ning, os de Reed-Solo1non são blocos de
de operações XOR entre a entrada e o estado interno. Por li- código lineares, e eles normalmente tambén1 são siste1náti-
dar com bits e realizar operações lineares, esse é um código cos. Diferentemente dos códigos de Hamming, que operam
de convolução binário, linear. Cotno 1 bit de entrada produz sobre bits individuais, os códigos de Reed-Solomon ope-
2 bits de saída, o código é 1/2. Ele não é sistemático, pois ram sobre m sÍlnbolos de bit. Naturalmente, a 1natemática
nenhum dos bits de saída é simplesn1ente o bit de entrada. é mais complicada, de modo que descrevere1nos sua opera-
O estado interno é mantido e1n seis registradores de ção por analogia.
rnemória. Toda vez que outro bit é inserido, os valores nos Os códigos de Reed-Solo1non são baseados no fato de
registradores são deslocados para a direita. Por exemplo, que cada polinômio de grau n é determinado unicamente
se 111 for inserido e o estado inicial contiver zeros, o es- por n + 1 pontos. Por exemplo, uma linha que tem a for-
tado interno, escrito da esquerda para a direita, se tomará ma ax + b é determinada por dois pontos. Os pontos extras
l 00000, 110000 e 111000 após o primeiro, o segundo e o na mesma linha são redundantes, o que é útil para a cor-
terceiro bits seren1 inseridos. Os bits de saída serão 11 , se- reção de erros. Imagine que te1nos dois pontos de dados
guidos por 1O e, depois, O1. São necessários sete desloca- que representam uma linha e enviamos esses dois pontos
mentos para esvaziar urna entrada, de modo que ela não de dados n1ais dois pontos de verificação escolhidos para
afete a saída. O comprimento da restrição desse código é, que se encontren1 na 1nesma linha. Se un1 dos pontos for
portanto, k = 7. recebido corn erro, ainda podemos recuperar os pontos de

Figura 3.7 O código de convolução binário da NASA usado no padrão 802.11.


Capítulo 3 • A camada de enlace de dados 139

dados passando un1a linha pelos pontos recebidos. Três dos un1a representação matricial do código, que tem un1a baixa
pontos estarão na linha e um ponto, aquele com erro, não densidade de Is, daí o nome para o código. As palavras de
estará. Encontrando a linha, corrigiremos o erro. código recebidas são decodificadas com um algoritino de
Os códigos de Reed-Solornon, na realidade, são defini- aproxirnação que 1nelhora interativamente com urn rnelhor
dos corno polinômios que operarn por campos finitos, rnas ajuste dos dados recebidos a uma palavra de código válida.
que funcionam de maneira setnelhante. Para símbolos de Isso corrige erros.
m bits, as palavras de código têm 2 111
1 sírnbolos de con1-
- Códigos LDPC são úteis para grandes ta1nanhos de
prin1ento. U1na escolha popular é tornar m = 8, de modo que bloco e tê1n excelente capacidade de correção de erros
os sítnbolos são bytes. Uma palavra de código tem, então, que, na prática, superam muitos outros códigos (incluindo
255 bytes de comprimento. O código (255, 233) é bastan- aqueles que já examinamos). Por esse motivo, eles estão
te utilizado; ele acrescenta 22 símbolos redundantes a 233 sendo rapidarnente incluídos ern novos protocolos e fazem
sín1bolos de dados. A decodificação com correção de erros é parte do padrão para difusão de vídeo digital, 1O Gbps
feita com un1 algoritmo desenvolvido por Berlekamp e Mas- Ethe1net, redes de linha de energia e a versão rnais recente
sey, que pode realizar com eficiência a tarefa de ajuste para do 802.11. Você deverá ver muito mais deles nas redes do
códigos de tamanho moderado (Massey, 1969). futuro.
Os códigos de Reed-Solomon são bastante utilizados
na prática, em virtude de suas fortes propriedades de cor-
reção de erro, particularmente para erros em rajada. Eles
3. 2.2 Códigos de detecção de erros
são usados para DSL, dados sobre cabo, comunicações por Os códigos de correção de erros são rnuito utilizados em
satélite e talvez de forma mais intensa em CDs, DYDs e enlaces sern fio, conhecidos por seren1 ruidosos e propen-
discos Blu-ray. Por serem baseados em símbolos de tn bits, sos a erros e1n comparação à fiação de cobre ou à fibra óp-
utn erro de único bit e um erro ern rajada de 111 bits são tica. Sem códigos de correção de erros, seria dificil conse-
tratados simplesmente corno um erro de símbolo. Quando guir algo. Contudo, usando-se fio de cobre ou fibra de alta
2t símbolos redundantes são somados, u1n código de Reed- qualidade, a taxa de erros é rnuito mais baixa e, assirn, a
-Solo1non é capaz de corrigir até t erros ern qualquer u1n detecção de erros e a retransrnissão e1n geral são 1nais efi-
dos sírnbolos trans1nitidos. lsso significa, por exemplo, cientes para lidar com o erro ocasional.
que o código (255, 233), que tern 22 símbolos redundantes, Examinaremos três códigos de detecção de erros.
pode corrigir até 16 erros de sírnbolo. Corno os símbolos Todos eles são blocos de código lineares e sisten1áticos:
podem ser consecutivos e ter 8 bits cada um, uma rajada de
1. Paridade.
en·os de até 128 bits pode ser corrigida. A situação é ainda
melhor se o n1odelo de erro for de cancelamento (p. ex., um 2. Checksu1ns.
arranhão em un1 CD que destrói alguns sín1bolos). Nesse 3. Verificações de redundância cíclica (CRCs).
caso, até 2t erros podem ser corrigidos.
Para ver como eles podem ser n1ais eficientes do que
Os códigos de Reed-Solomon normalmente são usa- os códigos de correção de erros, considere o primeiro códi-
dos em combinação com outros códigos, como um código go de detecção de erros, em que um único bit de paridade
de convolução. O pensan1ento é o seguinte: os códigos de é acrescentado aos dados. O bit de paridade é escolhido de
convolução são eficazes no tratamento de erros de bit iso- n1odo que o núrnero de bits 1 na palavra de código seja par
lados, mas eles falharão, provavelmente com uma rajada (ou ímpar). Fazer isso é equivalente a calcular o bit de pa-
de erros, se houver muitos erros no fluxo de bits recebido. ridade (par) como a soma de módulo 2 ou a operação XOR
Acrescentando um código Reed-Solornon dentro do código dos bits de dados. Por exernplo, quando 1O11O1 Oé enviado
de convolução, a decodificação Reed-Solomon pode liqui- na paridade par, um bit é acrescentado ao final, para torná-
dar as rajadas de erros, uma tarefa na qual é muito born. -lo 10110100. Corn a paridade ímpar, 1011010 torna-se
O código completo, então, oferece boa proteção contra er- 1O11O1O1. U1n código com um único bit de paridade tem
ros simples e em rajada. uma distância de 2, pois qualquer erro de único bit produz
O último código de correção de erros que analisarernos uma palavra de código com a paridade errada. Isso significa
é o de verificação de paridade com baixa densidade, ou que ele pode detectar erros de u1n único bit.
LDPC (Lo,v-Density Parity Check). Os códigos LDPC Considere um canal no qual os en·os são isolados e a
são blocos de código lineares que foran1 inventados por Ro- taxa de erros é de 10-6 por bit. Essa pode parecer uma taxa
bert Gallagher em sua tese de doutorado (Gallagher, 1962). de erros pequena, mas é no mínimo uma taxa justa para
Assim como na maioria das teses, eles forarn pronta1nente um cabo longo que esteja desafiando a detecção de erros.
esquecidos, para serem reinventados apenas em 1995, quan- Os enlaces de LAN comuns oferecem taxas de erro de bit
do os avanços na con1putação os to1naram viáveis. de 10- 10• Defina o tarnanho do bloco como 1.000 bits. Para
En1 um código LDPC, cada bit de saída é formado a proporcionar a con·eção de erros de blocos de 1.000 bits,
partir de apenas uma fração dos bits de entrada. Isso leva a sabemos, pela Equação 3.1, que são necessários 1Obits de
140 Redes de computadores

verificação. Assim, u1n megabit de dados necessitaria de 11 colunas será afetado, de 1nodo que os bits de paridade
10.000 bits de verificação. Para simplesmente detectar um nessas colunas detectarão o erro. Esse método usa n bits de
bloco con1 um único erro de 1 bit, um bit de paridade por paridade sobre blocos de kn bits de dados para detectar um
bloco seria suficiente. A cada l .000 blocos, será descoberto único erro em rajada de co1nprin1ento n ou 1nenor.
que un1 bloco possui erro e u1n bloco extra (1.001 bits) terá Contudo, uma rajada de con1priinento /1 + 1 passará
de ser transmitido para repará-lo. O overhead total para o sem ser detectada se o primeiro e o últin10 bits fore1n inver-
método de detecção de erros e retransmissão é de apenas tidos e todos os outros bits estiveren1 corretos. Se o bloco
2.001 bits por megabit de dados, contra 10.000 bits para um estiver bastante alterado por uma extensa rajada ou por vá-
código de Hamn1ing. rias rajadas mais curtas, a probabilidade de que qualquer
Uma dificuldade com esse esquema é que um único uma das n colunas tenha a paridade correta por acidente é
bit de paridade só pode detectar, de maneira confiável, um 0,5, de modo que a probabilidade de um bloco com proble-
erro de único bit no bloco. Se o bloco tiver um erro em ra- ma ser aceito quando não deveria é de 2-".
jada longo, a probabilidade de ele ser detectado é de apenas O segundo tipo de código de correção de erros, o
0,5, o que não é muito aceitável. As disparidades poderão checksum, está bastante relacionado aos grupos de bits de
ser consideravelmente melhoradas se cada bloco for envia- paridade. O termo "checksum" no1malmente é usado para
do como uma matriz retangular com n bits de largura e k indicar um grupo de bits de verificação associados a uma
bits de altura. Agora, se calcularmos e enviarmos um bit de mensagern, independente1nente de corno são calculados.
paridade para cada linha, até k erros de bit serão confiante- Um grupo de bits de paridade é um exemplo de check-
mente detectados, desde que haja no máximo um erro por sum. Contudo, existem outros checksums, mais robustos,
linha. baseados na soma acun1ulada dos bits de dados da men-
Contudo, há outra coisa que podemos fazer que ofe- sagem. O checksum normalmente é colocado no final da
rece melhor proteção contra erros em rajada: calcular os mensage1n, como complernento da função soma e não de
bits de paridade sobre os dados e1n uma ordem diferente so1na. Desse 1nodo, os en·os poden1 ser detectados soman-
daquela em que os bits de dados são transn1itidos pelo ca- do a palavra inteira de código recebida, tanto bits de dados
nal de co1nunicação. Isso é chamado de entrelaçamento. quanto o checksum. Se o resultado for zero, nenhum erro
Nesse caso, calcularemos um bit de paridade para cada foi detectado.
u1na das n colunas e enviaremos todos os bits de dados Urn exemplo de checkswn é a sorna de verificação de
con10 k linhas, enviando as linhas de ciina para baixo e os 16 bits da Internet usada en1 todos os pacotes da rede como
bits em cada linha da esquerda para a direita, da maneira parte do protocolo lP (Braden et ai., 1988). Esse checksum
normal. Na últi1na linha, enviamos os n bits de paridade. é uma soma dos bits da rnensagem dividida por palavras de
Essa ordem de transmissão pode ser vista na Figura 3.8 l 6 bits. Corno esse método opera sobre palavras, em vez de
para n = 7 e k = 7. bits, assim como na paridade, os erros que deixrun a pru·ida-
O entrelaçamento é uma técnica geral para converter de inalterada ainda poden1 alterar a soma e ser detectados.
um código que detecta (ou corrige) erros isolados em um Por exemplo, se o bit de mais baixa ordem em duas pala-
código que detecta (ou corrige) erros e1n rajada. Na Figu- vras diferentes for invertido de Opara 1, uma verificação de
ra 3.8, quando oco1Te um erro e1n rajada de tamanho n = paridade entre esses bits deixaria de detectar u1n en·o. Con-
7, os bits que contêm e1To estão espalhados por diferentes tudo, dois l s serão acrescentados ao checksu1n de 16 bits
colunas. (U1n en·o em rajada não implica que todos os bits para produzir um resultado diferente. O erro pode, então,
estejam errados, mas sim que pelo menos o prilneiro e o ser detectado.
últiino estejam. Na Figura 3.8, 4 bits foram invertidos por O checksu1n da Internet é calculado corn a aritmética
16
uma faixa de 7 bits.) No 1náximo 1 bit em cada uma das de co1nple1nento de um, en1 vez da son1a de módulo 2 •

Ordem de
N 100111 0 transmissão N 100111 o
e 1100101 e 11 OO{fili- - Erro em
t 1110100 1 ~-j~~ raiada
w 1110111 w 1110111
o 1101 111 Canal o 11 01 11 1
r 111 001 o r 111001 o
k 1101011 k 1101011
tttt ttt ttt tttt
101111 o 1oiiI.1]b
~
Bits de paridade
Erros de paridade

Figura 3.8 Entrelaçamento de bits de paridade para detectar um erro em rajada.


Capítulo 3 • A camada de enlace de dados 141

Na aritn1ética de co1nplemento de um, un1 número negati- A aritn1ética de polinô1nios é feita en1 n1ódulo 2, de
vo é o comple1nento bit a bit de seu correspondente posi- acordo co1n as regras da teoria algébrica. Ela não tem "vai
tivo. Os computadores nlodernos trabalhan1 na aritmética uns" para a adição ou e1npréstimos para a subtração. Tan-
de co1nple1nento de dois, em que um número negativo é to a adição quanto a subtração são idênticos ao XOR. Por
o con1plemento de u1n 1nais un1. En1 um computador com exemplo:
co1nplemento de dois, a soma no complemento de u1n é
16
equivalente a apanhar o total em módulo 2 e somar qual- 10011o11 00110011 11110000 0 1010101
quer overflow dos bits de alta ordem aos de baixa ordem. + 11001o1 o + 11001101 - 1o100110 - 10101111
Esse algoritmo oferece uma cobertura mais uniforme dos
01010001 11111110 01010110 11111010
dados pelos bits do checksu1n. De outra forma, dois bits de
alta ordem podem ser somados, gerar overflow e serem per-
A divisão longa é efetuada do mesmo modo que em binário,
didos se1n alterar o total. Ta1nbé1n existe outro beneficio.
exceto pelo fato de a subtração novamente ser de 1nódulo 2.
O complemento de um ten1 duas representações de zero, to-
Diz-se que um divisor "cabe e1n" un1 dividendo se o divi-
dos os bits Oe todos os bits 1. Isso permite um valor (p. ex.,
dendo tem a mesma quantidade de bits do divisor.
todos os bits O) para indicar que não há tun cbecksum, sem
Quando o método do código polino1nial é empregado,
a necessidade de outro campo.
o transmissor e o receptor devem concordar em relação a
Ao longo de décadas, sen1pre foi considerado que um polinômio gerador, G(x), antecipadamente. Tanto o bit
os quadros a seren1 son1ados para verificação contên1 bits de 1nais alta ordem quanto o de mais baixa ordem do poli-
aleatórios. Todas as análises dos algoritmos de checksum nô1nio gerador devem ser iguais a l. Para calcular o CRC
tên1 sido feitas sob essa hipótese. A inspeção de dados reais de um quadro com 111 bits, que corresponde ao polinômio
por Partridge et ai. (1995) 1nostrou que essa suposição é M(x), o quadro deve ter mais bits do que o polinômio ge-
bastante errada. Como consequência, os erros não detec- rador. A ideia é acrescentar um CRC ao final do quadro, de
tados são, e1n alguns casos, 1nuito 1nais comuns do que se fonna que o polinô1nio representado pelo quadro verificado
havia imaginado. pela so1na seja divisível por G(x). Quando obtiver o quadro
O cbecksum da Internet em particular é eficiente e verificado, o receptor tentará dividi-lo por G(x). A existên-
simples, mas oferece uma proteção fraca en1 alguns casos, cia de resto indica que houve um en·o de transrnissão.
exatamente porque essa é u1na soma simples. Ele não de- O algoritmo para calcular o CRC é o seguinte:
tecta a exclusão ou o acréscimo de dados zero, nem a troca
de partes da 1nensagem, e oferece pouca proteção contra 1. Seja r o grau de G(x). Acrescente r bits zero à extremi-
pedaços da mensagen1 em que partes de dois pacotes são dade de baixa ordem do quadro, de modo que ele passe
reunidas. A ocorrência desses erros pode parecer imprová- a conter 1t1 + r bits e corresponda ao polinômio xrM(x).
vel por processos aleatórios, mas eles são simplesmente o 2. Divida a sequência de bits correspondente a G(x) pela
tipo de erro que pode ocon·er com u1n hardware defeituoso. sequência de bits correspondente a xrM(x) utilizando a
Un1a escolha melhor é o checksum de Fletcher (Fle- divisão de módulo 2.
tcher, 1982). Ele inclui um componente posicional, soman- 3. Subtraia o resto (que tem se1npre r ou menos bits) da
do o produto dos dados e sua posição à so1na acu1nulada. sequência de bits correspondente a x,.M(x) utilizando a
Isso oferece melhor detecção das mudanças na posição dos subtração de rnódulo 2. O resultado é o quadro, corn o
dados. checksum, que deverá ser transmitido. Chame o poli-
nômio de T(x).
Embora os dois esquemas anteriores às vezes possam
ser adequados em camadas superiores, na prática, um ter- A Figura 3.9 ilustra o cálculo referente a um quadro
ceiro tipo mais forte de código de detecção de erros tem o 1101O11111, usando o gerador G(x) = x4+x+ l.
uso generalizado na camada de enlace: é o código de re- Deve ficar claro que T(x) é divisível (em módulo 2)
dundância cíclica, ou CRC (Cyclic Redundancy Check), por G(x). En1 qualquer proble1na de divisão, se você sub-
também conhecido como código polinomial. Os códigos trair o resto do dividendo, o resultado será divisível pelo di-
polinomiais são baseados no tratamento de sequências de visor. Por exe1nplo, na base 1O, se você dividir 210.278 por
bits como representações de polinôn1ios com coeficientes 10.941 , o resto será 2.399. Subtraindo-se 2.399 de 210.278,
de O e 1 apenas. Um quadro de k bits é considerado co1no o resultado final (207 .879) será divisível por 10.941.
a lista de coeficientes para um polinômio com k termos, Agora va1nos analisar o poder desse método. Que ti-
variando de x4- 1 a xº. Dizemos que tal polinô1nio é de grau pos de erro serão detectados? Imagine que ocorra um erro
k - l. O bit de alta ordem (mais à esquerda) é o coeficiente de transmissão de forma que, e1n lugar de chegar a sequên-
de x k- i, o próximo bit é o coeficiente de xk- 2, e assim por cia de bits correspondente a T(x), seja recebida a soma
diante. Por exemplo, 11000 l tem 6 bits e, portanto, repre- T(x) + E(x). Cada bit 1 ern E(x) corresponde a um bit que
senta um polinô1nio de seis tern1os co1n coeficientes 1, 1, O, foi invertido. Se houver k bits 1 em E(x), isso significa que
O, Oe 1: l x5 + lx4 + Ox3 + Ox2 + Ox 1 + lxº. ocorreram k erros de único bit. Um único erro em rajada é
142 Redes de computadores

Quadro: 1 1 o1o 1 1 1 1 1
Gerador: 1 o o1 1
1 1 oooo1 1 1 O- Quociente (descartado)
I1
.----~~~~~~~~~~~~

1 oo1 1 1 o 1 o1 1 1 1 1 o O O O- Quadro com quatro zeros anexados


1 oo1 1 1

1 o o 1 1' 1
1

1 o o 1 1 t
o o oo 1
o o oo o '
o oo '
1 1 1

o o ''
1

o oo 1

'
1
1
oo 1 1 1 1
1 1

oo ooo t ' 1

o 1 1 1 1 ' 1
1

o oooot '
''
1 1 1 1 o ''
1 o o 1 1 t ''
1 1 o 1 o ''
'
1 o o 1 1 '
1
1
oo 1 o
oo 1 1
' 1

o o o 1 o'
oo ooo
1 O- Resto

Quadro transmitido: 1 1 O 1 O 1 1 1 1 1 O O 1 O - Quadro com quatro zeros


anexados menos o resto

Figura 3.9 Exemplo de cálculo do CRC.

caracterizado por um bit l inicial, uma mistura de bits Oe l um número ímpar de bits invertidos. Estatisticamente, ape-
e um bit 1 final, sendo todos os outros bits iguais a O. nas isso já compreende metade dos casos.
Ao receber o quadro com o checksu1n, o receptor o Por último, e 1nuito importante, um código polino1nial
divide por G(x); ou seja, ele calcula [T(x) + E(x)]/G(x). com r bits de verificação detectará todos os e1Tos em rajada
T(x)/G(x) é igual a O; portanto, o resultado do cálculo é que tiveren1 um ta1nanho ::::; r. Um erro e1n rajada de tama-
simplesmente E(x)/G(x). Os erros que corresponderem a nho k pode ser representado por x;(xk - i + ... + 1), onde i
polinômios contendo G(x) como fator serão si1nplesmente detennina a distância entre a rajada e a extre1nidade direita
ignorados; todos os outros serão descobertos. do quadro recebido. Se contiver un1 tem10 x0, G(x) não terá
Se houver ocon·ido um erro de único bit, E(x) = x;, x; como fator; portanto, se o grau da expressão entre parên-
onde i determina o bit incorreto. Se contiver dois ou mais teses for menor que o grau de G(x), o resto nunca poderá
tennos, G(x) nunca dividirá E(x); portanto, todos os en·os ser igual a zero.
de único bit serão detectados. Se o tan1anho da rajada for r + 1, o resto da divisão por
Se tiverem ocorrido dois erros isolados de único bit, G(x) será zero se, e so1nente se, a rajada for idêntica a G(x).
E(x) = x; + J, onde i > j. Como alternativa, esse cálculo Por definição de rajada, o primeiro e o último bits devem ser
pode ser representado co1no E(x) = :i(,-./-j + 1). Se conside- iguais a 1; assim, a correspondência entre os valores depen-
rarn1os que G(x) não é divisível por x, u1na condição sufi- derá dos r - 1 bits intern1ediários. Se todas as combinações
ciente para todos os erros duplos serem detectados é que fore1n consideradas igualmente prováveis, a probabilidade
G(x) não divida J + 1 para qualquer k até o valor máximo de esse quadro incon·eto ser aceito como válido será de Yi"-1•
de i - j (i.e., até o comprimento máximo do quadro). São Também podemos mostrar que, ao ocorrer um erro em
conhecidos polinômios simples, de grau baixo, que prote- rajada com mais der + l bits ou forem registradas várias ra-
15 14
gen1 quadros longos. Por exemplo, x + x + 1 não dividirá jadas mais curtas, a probabilidade de un1 quadro defeituoso
;·/ + l para qualquer valor de k abaixo de 32.768. passar despercebido poderá ser igual a Ylr, supondo-se que
Se houver um número ímpar de bits com erros, E(x) todos os padrões de bits sejam iguahnente prováveis.
conterá um número ímpar de tennos (p. ex., x 5 + x 2 + 1, Certos polinômios se tomaram padrões internacionais.
mas não x2 + 1) . .É ü1teressante observar que nenhu1n po- O que é utilizado no lEEE 802 acompanhou o exemplo da
linômio com un1 número í1npar de termos tem x + 1 como Ethernet e é:
fator no sistema de módulo 2. Ao tornar x + l um fator de
32 + 26+ 23+ 22+ 16+ 12+ 11+ 10+ S+ 7+ 5+ 4 +
X XXXXXXXXXXX
G(x), podemos detectar todos os erros que consistem em 2
x + x 1+ 1
Capítulo 3 • A camada de enlace de dados 143

Entre outras características interessantes, ele ten1 a pro- e omputador


priedade de detectar todas as rajadas de comprimento Aplicação
32 ou menores e todas as rajadas que afeta1n um número 1
Sistem a operacional
ímpar de bits. Tem sido muito usado desde a década de Rede
1980, 1nas isso não significa que seja a 1nelhor escolha. ,-- Driver
Usando uma busca computacional con1pleta, Castagnoli Enlace
et ai. ( 1993) e Koopman (2002) encontraram os melho-
res CRCs. Esses CRCs têm uma distância de Hamming
Enlace
----·-·-
Física
,.,------ Placa d e interface
de re de (NIC)

de 6 para os tamanhos de mensagem típicos, enquanto o '-


padrão do IEEE CRC-32 tem u1na distância de Hamrning Cabo (meio)
de apenas 4. Figura 3.10 Implementação das camadas física, de enla-
Apesar de o cálculo necessário para computar o ce de dados e de rede.
checksum parecer complicado, Peterson e Brown (1961)
mostraram que é possível criar um simples circuito shift
register (registrador de deslocamento) para calcular e con- três camadas como processos separados toma a discussão
ferir os CRCs no hardware. Implementações 1nais recentes conceitualmente mais clara e também enfatiza a indepen-
e mais rápidas são criadas regularmente (Mitra e Nyack, dência delas.
2017). Na prática, esse hardware quase sempre é utilizado. Comunicação unidirecional. Outra suposição de ex-
Dezenas de padrões de rede co1npreendem diversos CRCs, trema importância é de que a máquina A deseja enviar um
incluindo praticamente todas as LANs (p. ex., Ethernet, longo fluxo de dados à máquina B utilizando um serviço
802.11) e enlaces ponto a ponto (p. ex., pacotes sobre confiável e orientado a conexões. Mais adiante, considera-
SONET). remos a situação em que B também deseja enviar dados a
A simultaneamente. Supõe-se que A tenha u1n supri1nento
infinito de dados prontos para ser enviados, e nunca terá de
esperar até que eles sejam produzidos. Quando a camada de
3.3 PROTOCOLOS BÁSICOS dados de A solicitar dados, a camada de rede sempre será
capaz de obedecer de i1nediato. (Mais adiante essa restrição
DE ENLACE DE DADOS també1n será superada.)
Como uma introdução ao estudo dos protocolos, vamos co- Máquinas e processos confiáveis. Também supomos
meçar examinando três protocolos con1 graus de complexi- que as nláquinas não sofrerão panes. Isto é, esses protoco-
dade crescentes. Antes disso, é útil esclarecer algu1nas das los lidam com erros de comunicação, mas não com os pro-
suposições nas quais se baseia o modelo de comunicação. blemas causados por computadores que sofrem panes e são
reiniciados.
No que se refere à can1ada de enlace de dados, o pa-
3.3.1 Premissas básicas para simplificação cote repassado a ela pela camada de rede através da inter-
face consiste em dados puros, em que cada bit deve ser
Processos independentes. Para começar, supon1os que, na entregue à camada de rede de destino. O fato de a camada
can1ada física, na ca1nada de enlace de dados e na ca1nada de rede de destino interpretar parte do pacote como um ca-
de rede existem processos independentes que se co1nuni- beçalho não tem nenhum interesse para a camada de enlace
cam pelo envio de mensagens de um lado para outro. Uma de dados.
implementação comun1 aparece na Figura 3. l O. O processo
da carnada fisica e parte do processo da camada de enla-
ce de dados funcionam e1n hardware dedicado, chamado 3.3.2 Noções básicas de
placa de interface de rede, ou NIC (Network Interface transmissão e recepção
Card). O restante do processo da camada de enlace e o
processo da camada de rede atuam sobre a CPU principal Quando a camada de enlace de dados aceita um pacote da
como parte do sistema operacional, com o software para camada de rede do transmissor, ela o encapsula em um qua-
o processo da ca1nada de enlace normaln1ente to1nando a dro, acrescentando-lhe um cabeçalho e um final de enlace
forma de um driver de dispositivo. No entanto, outras im- de dados (veja a Figura 3.1). Portanto, um quadro consiste
plementações também são possíveis (p. ex., três processos em um pacote incorporado, algumas info1mações de con-
transferidos para um hardware dedicado, chamado acelera- trole (no cabeçalho) e um cbecksum (no fmal). Em segui-
dor de rede, ou três processos rodando na CPU principal a da, o quadro é transmitido ã can1ada de enlace de dados da
un1a razão definida pelo software). Na realidade, a in1ple- outra n1áquina. Presumiremos que existe1n funções de bi-
mentação preferida n1uda de uma década para a outra, com blioteca adequadas, to_physical_layer para enviar un1 qua-
as mudanças de tecnologia. De qualquer forma, tratar as dro efrorn_physical_layer para receber um quadro. Essas
144 Redes de computadores

funções calcula1n ou acrescentam o checksun1 (o que nor- MAX_SEQ (inclusive), que é definido em cada protocolo
maln1ente é feito no hardware), de fonna que os protocolos que tenha necessidade. Um packet é a unidade de infonna-
que desenvolvemos nesta seção não precisam se preocupar ção trocada entre as camadas de rede e de enlace de dados da
com isso. Por exemplo, eles poderia1n usar o algoritmo de mesma máquina, ou entre pares da ca1nada de rede. E1n nos-
CRC discutido na seção anterior. so nlodelo, ele sempre contém MAX_PKTbytes; no entanto,
Inicialn1ente, o receptor nada tem a fazer. Ele apenas de 1nodo mais realista, ele teria co1npri1nento variável.
fica à espera de que algo aconteça. Nos exemplos de pro- A estrutura frarn e é composta por quatro campos:
tocolos apresentados neste capítulo, indicaremos que a ca- kind, seq, ack e info; os três primeiros contêm informações
mada de enlace de dados está esperando que algo aconteça de controle, e o últin10 pode conter os dados reais a serem
por 1neio da chamada função waitJor_event(&event). Essa transferidos. Esses campos de controle são cha1nados cole-
função só retorna quando acontece algo (p. ex., quando tivamente de cabeçalho do quadro.
chega um quadro). Ao retornar, a variável event informa o O campo kind indica se há dados no quadro, pois al-
que aconteceu. O conjunto de eventos possíveis é diferente guns protocolos distinguem quadros que contêm exclusi-
para os diversos protocolos a sere1n descritos e será defi- vamente infonnações de controle daqueles que annazenam
nido separadamente para cada protocolo. Observe que, em dados além dessas informações. Os can1pos seq e ack são
uma situação mais realista, a camada de enlace de dados usados para números de sequência e confirmações, res-
não ficará em u1n loop estrito à espera de um evento, como pectiva1nente (seu uso será descrito detalhadamente mais
sugerimos, mas receberá uma interrupção, o que a fará in- adiante). O campo info de u1n quadro de dados contém um
terromper o que quer que esteja fazendo para manipular o único pacote; o campo il?(o de um quadro de controle não
quadro recebido. Apesar disso, por simplicidade, ignorare- é usado. Uma implementação mais realista utilizaria um
mos todos os detalhes de atividades paralelas na camada campo irifo de comprimento variável; nos quadros de con-
de enlace de dados, e presumiremos que ela se dedica em trole, esse campo seria completamente omitido.
tempo integral apenas ao tratamento do nosso canal. Nova1nente, é i1nportante co1npreender o relaciona-
Quando un1 quadro chega ao receptor, este recalcula o mento entre um pacote e um quadro (veja a Figura 3. l ).
checksun1. Se este estiver incorreto (ou seja, se houve um A camada de rede monta um pacote tomando uma mensa-
erro de transmissão), a camada de enlace de dados será in- gem da camada de transporte e acrescentando a ela o cabe-
formada (event = cksuni_err). Se o quadro recebido tiver çalho da ca1nada de rede. Esse pacote é repassado à cama-
chegado intacto, a can1ada de enlace de dados també1n será da de enlace de dados para inclusão no ca1npo info de um
informada (event = frarne_arrival), para que ela possa re- quadro que esteja sendo enviado. Quando o quadro chega
ceber o quadro para inspeção usando from _physical_layer. ao destino, a ca1nada de enlace de dados extrai o pacote do
Assi1n que recebe um quadro sem danos, a ca1nada de en- quadro e o envia à camada de rede. Dessa fonna, a ca1nada
lace de dados verifica as infonnações de controle contidas de rede pode atuar co1no se as 1náquinas pudesse1n trocar
no cabeçalho e, se tudo estiver correto, repassa a porção pacotes diretamente.
do pacote à camada de rede. Em nenhuma circunstância o Na Figura 3.11 também estão listadas diversas fun-
cabeçalho do quadro será entregue à ca1nada de rede. ções, que são rotinas de biblioteca cujos detalhes são depen-
Há uma boa razão para que a camada de rede nun- dentes da i1nplementação e cujo funciona1nento interno não
ca receba nenhuma parte do cabeçalho do quadro: manter será discutido aqui. A função waitJor_event per1nanece à
os protocolos de rede e de enlace de dados completamente espera de que algo aconteça, como mencionamos anterior-
separados. Desde que a camada de rede não saiba absoluta- 1nente. As funções to_network_layer e ji·orn_network _layer
mente nada sobre o protocolo de enlace de dados ou sobre são usadas pela ca1nada de enlace de dados para enviar
o fonnato do quadro, esses itens poderão ser alterados sem pacotes à ca1nada de rede e aceitar pacotes dela, respecti-
exigir 1nudanças no software da ca1nada de rede. Isso acon- vamente. Observe quefro111_physical_layer e to_physical_
tece sempre que uma nova NIC é instalada em um compu- layer repassam quadros entre a camada de enlace de dados
tador. A utilização de uma interface rígida entre a ca1nada e a ca1nada tisica. E1n outras palavTas, to_nel1-vork_layer e
de rede e a de enlace de dados simplifica bastante o projeto .fro111_nel1-vork_layer lidam co1n a interface entre as can1adas
do software, pois os protocolos de co1nunicação das dife- 2 e 3, enquanto frorn _physical_layer e to_physical_layer li-
rentes camadas pode1n evoluir de forma independente. dam com a interface entre as camadas 1 e 2.
A Figura 3.11 mostra algumas declarações (na lingua- Na maioria dos protocolos, supomos o uso de um ca-
gem C) co1nuns a muitos dos protocolos que serão discuti- nal não confiável que perde quadros inteiros ocasionaln1en-
dos nlais adiante. Cinco estruturas de dados são definidas te. Para se recuperar dessas calamidades, se1npre que envia
no código: boolean, seq_nr, packet, frarne_ kind e .fran1e. um quadro, a camada de enlace de dados transmissora tem
Um boolean é do tipo enumerado e pode assumir os valo- de inicializar um timer interno. Se nenhuma confirmação
res verdadeiro (true) e falso (false). Um seq_nr é um intei- tiver sido recebida dentro de um intervalo predeterminado,
ro pequeno usado para numerar os quadros, para faci litar o timer expirará por timeout e a camada de enlace de dados
sua distinção. Esses nú1neros de sequência variam de Oaté receberá um sinal de interrupção.
Capítulo 3 • A camada de enlace de dados 145

#define MAX_PKT 1024 !* determina tamanho do pacote em bytes */


typedef enum {false, true} boolean; /* tipo boolean */
typedef unsigned int seq_nr; /* números de sequência ou ack */
typedef struct {unsigned char data[MAX_PKT];}packet; /*definição do pacote•;
typedef enum {data, ack, nak} frame_kind; /*definição de frame_kind */
typedef struct { / *quadros são transportados nesta camada*/
frame_kind kind; / * que tipo de quadro é este? */
seq_nr seq; / * número de sequência */
seq_nr ack; /* número de confirmação*/
packet info; /* o pacote da camada de rede */
} trame;
/ * Espera que um evento aconteça; retorna o tipo de evento em event. */
void wait_for_event(event_type *event);
/* Busca um pacote da camada de rede para transmissão pelo canal. */
void from_network_layer(packet *p);
/* Entrega informação de um quadro que chega à camada de rede. */
void to_network_layer(packet *p);
/* Recebe um quadro de entrada da camada física e o copia para r. */
void from_physical_layer(frame *r);
/* Passa o quadro à camada física para transmissão. */
void to_physical_layer(frame *s);
/ * Inicia o timer e habilita o evento timeout. */
void start_timer(seq_nr k);
/ *Termina o timer e desativa o evento timeout. */
void stop_timer(seq_nr k);
/ * Inicia um timer auxiliar e habilita o ack_timeout event. */
void start_ack_timer(void);
/* Encerra o timer auxiliar e desabilita o evento ack_timeout. */
void stop_ack_timer(void);
/* Permite que a camada de rede gere um evento network_layer_ready. */
void enable_network_layer(void);
/* Proíbe a camada de rede de um evento network_layer_ready. */
void disable_network_layer(void);
/* Macro inc é expandido em linha: incrementa k de modo circular. */
#define inc(k) if (k < MAX_SEQ)k = k + 1; else k =O

Figura 3.11 Algumas definições utilizadas nos protocolos apresentados a seguir. Essas definições estão armazenadas
no arquivo protocol.h.

Em nossos protocolos, isso é tratado permitindo-se à As funções enable_network_layer e disable_network_


função wait_jàr_ event retomar event = ti1neout. As funções layer são usadas nos protocolos mais sofisticados, para os
start_tin1er e stop_tilner ativa1n e desativam o tüner, res- quais não mais supomos que a camada de rede sempre terá
pectivamente. Os eventos de timeout só são possíveis quan- pacotes a serem enviados. Quando a camada de enlace de
do o tüner está funcionando e antes que stop_tin1er seja dados habilita a camada de rede, esta passa a ter permissão
chamado. É expl icitamente permitido cha1nar start tin1er para causar u1na interrupção sempre que tiver um pacote
enquanto o ti1ner está funcionando; esse tipo de cha1nada para enviar. Isso é indicado por event = netvvork_layer_
simples1nente reinicializa o timer para provocar o próximo ready. Quando a camada de rede está inativa, ela não pode
timeout, depois de decorrer um intervalo do timer (a menos causar tais eventos. Definindo com cuidado os momentos
que ele seja reiniciado ou desativado). em que ativa e desativa a camada de rede, a camada de
As funções start_ack_titner e stop_ack_tüner contro- enlace de dados pode i1npedir que a ca1nada de rede fique
lam um ti1ner auxil iar cuja finalidade é gerar confirmações sobrecarregada com pacotes para os quais não dispõe de
sob determinadas condições. espaço no buffer.
146 Redes de computadores

Os números de sequência dos quadros estão sempre fonnado por três ações: buscar um pacote da (sempre pres-
na faixa de O a MAX_SEQ (inclusive), onde MAX_SEQ tativa) ca1nada de rede, criar un1 quadro de saída utilizan-
tem um valor diferente para os diversos protocolos. Com do a variável s e transmitir o quadro ao destino. Apenas o
frequência, é necessário aumentar um número de sequên- ca1npo injo do quadro é usado por esse protocolo, pois os
cia em u1na unidade, de fonna circular (i.e., MAX_SEQ é outros can1pos se refere1n ao controle de fluxo e de erros
seguido por O). A macro inc cuida desse incren1ento. Ela e, nesse caso, não há erros nen1 restrições de controle de
é definida como uma macro porque é usada em linha no fluxo.
caminho crítico. Como veremos adiante, com frequência o O receptor é iguahnente simples. No início, ele espera
processa1nento de protocolos é o fator que lin1ita o desem- que algo aconteça, e a única possibilidade é a chegada de
penho da rede; portanto, a definição de operações sünples um quadro não danificado. Finaln1ente, o quadro chega e
como macros (em vez de funções) não afeta a legibilidade a função •vaitJor_event retorna, com event definido como
do código, mas melhora o desempenho. ji-a111e_arrival (o que, de qualquer forma, é ignorado).
As declarações da Figura 3.11 fazem parte de cada A chamadafi-·om_physical_Layer remove o quadro recém-
um dos protocolos brevemente apresentados a seguir. Para -chegado do buffer do hardware e o coloca na variável r,
economizar espaço e facilitar a consulta, essas declarações onde o código receptor poderá buscá-lo quando necessário.
foram extraídas dos protocolos e são apresentadas juntas, Por fim, a parte referente aos dados é repassada à camada
mas conceituahnente elas devem estar integradas aos proto- de rede, e a camada de enlace de dados volta a esperar pelo
colos. Na linguagem C, essa integração é feita inserindo-se próxi1no quadro, ficando efetivamente ein suspenso até a
as definições e1n u1n arquivo de cabeçalho especial, neste sua chegada.
caso protocol.h, e utilizando-se o recurso #include do pré- O protocolo utópico (sem restrições) é imaginário por-
-processador C, que inclui essas defrnições nos arquivos de que não trata nem do controle de fluxo nem da correção de
protocolo. erros. Seu processa1nento é próxiino ao de u1n serviço não
confinnado não orientado a conexões, que conta co1n as
camadas mais altas para resolver esses proble1nas, en1bora
3.3.3 Protocolo simplex da camada até mesmo um serviço desse tipo realize alguma detecção
de enlace de dados de erros.
Nesta seção, examinaremos três protocolos simples, cada
um capaz de lidar com uma situação mais realista que a Acrescentando controle de fluxo: stop-and-wait
anterior.
Agora, trataremos do problema de ünpedir que o trans1nis-
sor sobrecan·egue o receptor con1 quadros mais rapidamen-
Utopia: sem controle de fluxo ou correção de erros te do que ele consegue processá-los. Essa situação pode
Como primeiro exemplo, consideraremos o protocolo 1nais facilmente acontecer na prática, de modo que é muito im-
sitnples possível, pois não se preocupa com a possibilidade portante poder impedi-la. No entanto, continuamos supon-
de algo sair errado. Os dados são transmitidos em apenas do que o canal de co1nunicação não apresenta erros e que o
um sentido. As camadas de rede do transmissor e do recep- tráfego de dados ainda é do tipo sin1plex.
tor estão sempre prontas. O tempo de processamento pode Uma solução é montar o receptor para que seja pode-
ser ignorado. O espaço disponível em buffer é infinito. E o roso o bastante para processar um fluxo contínuo de qua-
rnelhor de tudo é que o canal de co1nunicação entre as ca- dros de ponta a ponta (ou, de modo equivalente, definir a
madas de enlace de dados nunca é danificado nem perde camada de enlace para que seja lenta o bastante para que o
quadros. Esse protocolo absolutamente imaginário, que receptor possa acon1panbar). Deve ter buffer e capacidade
denominaremos "utopia", é si1nplesmente para mostrar a de processamento suficientes para atuar na velocidade da
estrutura básica com a qual trabalharemos. Sua i1nplemen- linha e deve ser capaz de passar os quadros recebidos à ca-
tação aparece na Figura 3.12. n1ada de rede co1n rapidez suficiente. Contudo, essa é wna
O protocolo consiste em dois procedünentos distintos, solução no pior dos casos. Ela exige hardware dedicado e
um que envia infonnações e outro que as recebe. O proce- pode desperdiçar recursos se a utilização do enlace for qua-
dirnento no transn1issor é executado na camada de enlace se sempre baixa. Além do mais, apenas passa o problema de
de dados da n1áquina de origem, e no receptor é executado lidar com um etnissor muito rápido para outro lugar; nesse
na can1ada de enlace de dados da máquina de destino. Não caso, para a camada de rede.
são usados números de sequência ou de confirmação; por- Uma solução 1nais geral para esse problema é fazer o
tanto, MAX_SEQ não é necessário. O único tipo de evento receptor oferecer feedback ao transmissor. Depois de en-
possível éfra1ne_arrival (ou seja, a chegada de u1n quadro viar um pacote à sua camada de rede, o receptor envia um
não danificado). pequeno quadro fictício de volta ao transn1issor, permitin-
No trans1nissor há un1 loop while infinito que en- do a transmissão do próximo quadro. Após o envio de um
via os dados o mais rápido possível. O corpo do loop é quadro, o protocolo exige que o transmissor espere sua vez,
Capítulo 3 • A camada de enlace de dados 147

/ *O protocolo 1 (utopia) oferece transmissão de dados em um único sentido, do transmissor


para o receptor. Pressupõe-se que o canal de comunicação é livre de erros e que
o receptor é capaz de processar toda a entrada de uma forma infin itamente rápida.
Consequentemente, o transmissor permanece em um loop enviando os dados com a maior
rapidez possível. •;
typedef enum {frame_arrival} event_type;
#include "protocol.h"
void sender1 (void)
{
trames; /* buffer para um quadro de saída •;
packet buffer; /* buffer para um pacote de saída */
while (true) {
from_network_layer(&buffer); /* pega algo para enviar */
s.info = buffer; /* copia paras, para transmissão */
to_physical_layer(&s); /* envia-o pelo caminho */
} /* O amanhã, o amanhã, o amanhã,
avança em pequenos passos, dia após dia,
até a última sílaba da recordação.
- Macbeth, V, v */
}
void receiver1 (void)
{
trame r;
event_type event; / * preenchido ao se esperar ou aguardar, mas não usado aqui •;
while (true) {
wait_for_event(&event); /* única possibilidade é frame_arrival •;
from_physical_layer(&r); /* recebe o quadro que chega*/
to_network_layer(&r.info); /* passa os dados à camada de rede*/
}
}

Figura 3.12 Um protocolo simplex utópico.

até a chegada de um pequeno quadro fictício (i.e., de con- próximo pacote da camada de rede. A camada de enlace de
firmação). Esse atraso é urn exemplo simples de protocolo dados do transmissor não precisa sequer inspecionar o qua-
de controle de fluxo. dro recebido, pois só há uma possibilidade: ele é sempre
Os protocolos nos quais o transmissor envia um qua- uma confirmação.
dro e en1 seguida espera por un1a confinnação antes de A única diferença entre receiver 1 e receiver2 é que,
continuar sua operação são chamados stop-and-,vait (par e após entregar um pacote à carnada de rede, o receiver2 en-
e espere). A Figura 3.13 mostra um exemplo de protocolo via um quadro de confinnação de volta ao transmissor, an-
simplex stop-and-wait. tes de entrar mais uma vez no loop de espera. Como apenas
Apesar de o tráfego de dados nesse exernplo ser sim- a chegada do quadro de volta ao transmissor é importante,
plex, indo apenas do transn1issor ao receptor, os quadros e não seu conteúdo, o receptor não precisa incluir qualquer
são enviados em arnbas as direções. Consequenten1ente, informação específica no quadro.
o canal de comunicação entre as duas camadas de enlace
de dados deve ser capaz de realizar a transferência bidire- Acrescentando correção de erros:
cional de inforn1ações. No entanto, esse protocolo acarreta
números de sequência e ARO
uma rígida alternância de fluxo: primeiro o transn1issor en-
via um quadro, depois o receptor envia outro; em seguida, o Agora, vamos considerar a situação normal de um canal
transmissor envia mais um quadro, e então o receptor envia de comunicação no qual ocorrem en·os. Os quadros podem
outro, e assin1 por diante. Un1 canal físico half-duplex seria ser danificados ou completamente perdidos. No entanto,
suficiente nesse caso. supomos que, se um quadro for danificado em trânsito, o
A exemplo do protocolo 1, o transmissor começa ex- hardware receptor detectará essa ocorrência ao calcular
traindo um pacote da carnada de rede, utilizando-o para o checksum. Se o quadro for danificado de tal fonna que o
criar um quadro que em seguida é transmitido a seu destino. checksum nunca esteja correto - uma possibilidade muito
Todavia, agora, ao contrário do que ocorre no protocolo 1, improvável - , o protocolo ern questão (e todos os outros
o transmissor deve aguardar a chegada de um quadro de protocolos) poderá apresentar falhas (i.e., poderá entregar
confirmação antes de tornar a entrar em loop e buscar o um pacote incorreto à carnada de rede).
148 Redes de computadores

/*O protocolo 2 (stop-and-wait) também implementa um fluxo de dados unidirecional entre


o transmissor e o receptor. Presume-se mais uma vez que o canal de comunicação é
totalmente livre de erros, como no protocolo 1. No entanto, dessa vez, o receptor tem buffer
e velocidade de processamento finitos; portanto, o protocolo deverá impedir explicitamente
que o transmissor sobrecarregue o receptor enviando dados mais rapidamente do que ele é
capaz de processar.*/
typedef enum {frame_arrival} event_type;
#include "protocol.h"
void sender2(void)
{
trames; /* buffer para um quadro de saída */
packet buffer; /* buffer para um pacote de saída */
event_type event; /* frame_arrival é a única possibilidade */
while (true) {
from_network_layer(&buffer); /* apanha algo para enviar */
s.info = buffer; /* copia para s, para transmissão */
to_physical_layer(&s); /* pequeno quadro de adeus */
wait_for_event(&event); /* não avança até um sinal verde */
}
}
void receiver2(void)
{
trame r, s; /* buffers para quadros*/
event_type event; /* frame_arrival é a única possibilidade*/
while (true) {
wait_for_event(&event); /*a única possibilidade é frame_arrival */
from_physical_layer(&r); /* apanha o quadro de entrada */
to_network_layer(&r.info); /* passa os dados para a camada de rede */
to_physical_layer(&s); /* envia quadro fictício para acordar o transmissor*/
}
}

Figura 3.13 Um protocolo simplex stop-and-wait.

'
A primeira vista, pode parecer que urna variação garantir que nenhurna combinação de erros de transrnissão,
do protocolo 2 seria viável com a inclusão de um timer. n1esmo i1nprovável, possa fazer um pacote duplicado ser
O transrnissor poderia enviar um quadro, mas o receptor entregue à camada de rede.
só enviaria um quadro de confirmação se os dados fossem Considere a seguinte situação:
recebidos corretan1ente. Se um quadro danificado chegas- 1. A camada de rede de A envia o pacote 1 à sua camada
se ao receptor, ele seria descartado. Após certo tempo, o de enlace de dados. O pacote é corretamente recebido
transmissor alcançaria seu timeout e enviaria o quadro n1ais em B e repassado à camada de rede de B. B envia um
uma vez. Esse processo seria repetido até que o quadro fi- quadro de confirmação de volta a A.
nalmente chegasse intacto. 2. O quadro de confirmação se perde por con1pleto.
Esse esquema tem uma falha fatal. Pense no proble- Ele simplesmente nunca chega ao destino. Tudo se-
ma e tente descobrir o que poderia estar errado antes de ria muito mais simples se o canal tivesse adulterado
continuar a leitura. e perdido apenas quadros de dados, não quadros de
Para verificar o que poderia estar errado, lembre-se de controle. No entanto, para nossa tristeza, o canal não
que a função dos processos da camada de enlace de dados faz distinção entre quadros.
é oferecer comunicações transparentes e livres de erros en- 3. Finalmente, a camada de enlace de dados de A tem
tre os processos da ca1nada de rede. A camada de rede da seu limite de tempo esgotado. Corno não recebeu uma
máquina A envia uma série de pacotes à camada de enlace confirmação, ela presu1ne (incorretamente) que seu
de dados da mesma máquina. Esta, por sua vez, deve se quadro de dados se perdeu ou foi danificado e envia
certificar de que a camada de enlace de dados da rnáquina mais uma vez o quadro contendo o pacote 1.
B enviará u1na série idêntica de pacotes à camada de rede 4. O quadro duplicado também chega perfeitamente à
da mesrna máquina. Em particular, a camada de rede da carnada de enlace de dados de B e é repassado de ime-
máquina B não tern corno saber se urn pacote foi perdido diato, sem maiores proble111as, à sua ca1nada de rede.
ou duplicado; portanto, a camada de enlace de dados deve Caso A esteja enviando um arquivo a B, uma parte do
Capítulo 3 • A camada de enlace de dados 149

arquivo será duplicada (i.e., a cópia do arquivo cria- solicitação de repetição automática, ou ARQ (Automa-
do por B estará incorreta e o erro não será detectado). tic Repeat reQuest), ou confirmação positiva com re-
Em outras palavras, o protocolo falhará. transmissão, ou PAR (Positive Ackno,vledgement \vith
Retransmission). A exemplo do protocolo 2, ele tambén1
Certamente, precisamos proporcionar ao receptor al- transmite dados em apenas u1n sentido.
guma forma de distinguir entre um quadro que ele está re-
O protocolo 3 difere de seus predecessores pelo fato
cebendo pela primeira vez e u1na retransmissão. A maneira
de tanto o transmissor quanto o receptor terem uma vana-
..
mais óbvia de conseguir isso é fazer o transmissor incluir
vel cujo valor é memorizado enquanto a camada de enlace
um nún1ero de sequência no cabeçalho de cada quadro en-
de dados se encontra cm estado de espera. E1n nextJra111e_
viado. Dessa fonna, o receptor poderá veri ficar o nú1nero
to send o transn1issor 1ne1noriza o número de sequência
de sequência de cada quadro recebido para confirmar se - '
do próximo quadro a ser enviado; emfra111e_expected, o
esse é un1 novo quadro ou se é u1na cópia a ser descartada. receptor n1en1oriza o n(nnero de sequência do próximo qua-
Con10 o protocolo deve ser correto e o campo de nú- dro esperado. Cada protocolo ten1 u1na breve fase de inicia-
mero de sequência no cabeçalho provavehnente é pequeno lização antes de entrar no loop infinito.
para usar o enlace de 1nodo eficiente, surge a seguinte per- Após enviar u1n quadro, o trans1nissor ativa o timer.
gunta: qual é a quantidade n1íni1na de bits necessária para o
Caso já esteja ativado, ele será reiniciado para permitir a
nú1nero de sequência? O cabeçalho poderia oferecer 1 bit, contage1n de outro intervalo, o qual deve ser escolhido de
alguns bits, u1n byte ou múltiplos bytes para u1n número de fonna que haja tempo suficiente para o quadro chegar ao
sequência, dependendo do protocolo. O in1portante é que receptor, para o receptor processá-lo na pior das hipóteses
ele deve transportar números de sequência grandes o sufi- e para o quadro de confinnação ser enviado de volta ao
cientes para que o protocolo funcione corretamente, ou o
transmissor. Somente quando o intervalo tiver se esgotado,
protocolo não terá valor. poderemos supor com segurança que o quadro transmitido
A única ambiguidade nesse protocolo ocorre entre um , , . .
ou sua confirmação se perdeu, e que sera necessano enviar
quadro, 111, e seu sucessor direto, 111 + 1. Se o quadro 111 ti- uma cópia. Se o intervalo de timeout for definido com um
ver sido perdido ou danificado, o receptor não o confirmará; valor curto demais, o trans1nissor enviará quadros desne-
portanto, o transmissor continuará tentando enviá-lo. U1na cessários. Embora não afetem a exatidão do protocolo, es-
vez que o quadro tenha sido corretamente recebido, o recep- ses quadros extras prejudicarão o desempenho.
tor enviará uma confinnação de volta ao transmissor. E aqui Depois de transmitir um quadro e ativar o timer, o
surge u1n problema potencial. Dependendo do fato de o qua- transmissor espera que algo interessante aconteça. Existem
dro de confinnação voltar ao trans1nissor corretamente ou apenas três possibilidades: o quadro de conftrn1açào chegar
não, o transmissor poderá tentar enviar 111 ou 112 + J. sem danos, o quadro de confirmação chegar com erro ou o
No trans1nissor, o evento que dispara a transmissão ti1ner expi rar. Se u1na confirn1ação válida for recebida, o
do quadro 111 + 1 é a chegada de u1na confirmação para o transmissor buscará o próxi1no pacote em sua can1ada de
quadro 111. Mas essa situação i1nplica que 111 - l foi recebido rede e o colocará no buffer, substituindo o pacote anterior.
corretamente e, além disso, que sua confirmação também Ele també1n au1nentará o nú1nero de sequência. Se for rece-
foi recebida corrctan1cnte pelo transmissor. Caso contrário, bido um quadro co1n erro ou se o timer expirar, o buffer e
o transn1issor não tería iniciado com 111, muito menos estaria o nún1cro de sequência permanecerão inalterados, de n1odo
considerando 11·1+ 1. Por conseguinte, a única ambiguidade que uma cópia do quadro poderá ser enviada. De qualquer
é entre um quadro e seu predecessor ou sucessor imediato, forma, o conteúdo do buffer (tanto o próximo pacote como
não entre os próprios predecessores ou sucessores. uma cópia) é enviado em seguida.
Um número de sequência de 1 bit (O ou 1) é, portan- Quando um quadro válido chega ao receptor, seu nú-
to, suficiente. A cada instante, o receptor espera o próximo 1nero de sequência é conferido, para verificar se ele é uma
número de sequência. Quando chega um quadro contendo cópia. Se não for, o quadro será aceito, enviado à camada
utn nú1nero de sequência correto, ele é aceito e repassado de rede, e uma confirmação será gerada. Cópias e quadros
à camada de rede, e depois confirmado. Em seguida, o nú- danificados não serão repassados à camada de rede, mas
mero de sequência esperado é incrementado na base 2 (ou eles fazem o último quadro recebido corretamente ser con-
seja, O passa a ser 1 e 1 passa a ser O). Qualquer quadro firmado para sinalizar ao transrnissor para avançar ao pró-
recebido que contenha o número de sequência errado será ximo quadro ou retrans1nitir um quadro danificado.
rejeitado por ser considerado uma cópia. Contudo, a últi1na
confirmação válida é repetida, de forma que o transmissor
finalmente pode descobrir que o quadro foi recebido.
Uni exe1nplo desse tipo de protocolo é mostrado na 3.4 MELHORANDO A EFICIÊNCIA
Figura 3.14. Os protocolos nos quais o transmissor espe-
ra por uma confirmação positiva antes de passar para o Nos protocolos apresentados anteriorn1ente, os quadros de
próximo ite111 de dados frequente1nente são chamados de dados eran1 trans1nitidos e1n apenas u1n sentido. Em situações
150 Redes de computadores

/ *O protocolo 3 (PAR) permite que dados unidirecionais fluam por um canal não confiável. */
#define MAX_SEQ 1 / * deve ser 1 para o protocolo 3 */
typedet enum {trame_arrival, cksum_err, timeout} event_type;
#include "protocol.h"
void sender3(void)
{
seq _nr next_frame_to_send; /* número seq do próximo quadro de saída */
trames; /*variável auxiliar*/
packet buffer; /* buffer para pacote de saída*/
event_type event;

next_frame_to_send =O; /* inicia números de sequência de saída */


from_network_layer(&butter); / * busca primeiro pacote */
while (true) {
s.info = buffer; /* monta um quadro para transmissão */
s.seq = next_frame_to_send; /* insere número de sequência no quadro */
to_physical_layer(&s); / * envia o quadro */
start_timer(s.seq); /* se a resposta levar muito tempo, timeout */
wait_tor_event(&event); /* frame_arrival, cksum_err, timeout */
it (event == trame_arrival) {
trom_physical_layer{&s); /* obtém a confirmação */
if (s.ack == next_frame_to_send) {
stop_timer(s.ack); /*desliga o timer */
trom_network_layer(&butter); /* pega o próximo quadro a enviar */
inc(next_frame_to_send); /* inverte next_frame_to_send */
}
}
}
}
void receiver3(void)
{
seq _nr frame_expected;
trame r, s;
event_type event;

trame_expected =O;
while (true) {
wait_for_event(&event); / * possibilidades: frame_arrival, cksum_err */
it (event == frame_arrival) { /*chegou um quadro válido */
from_physical_layer(&r); /* pega quadro recém-chegado */
if (r.seq == frame_expected} { /* é isso que estávamos esperando*/
to_network_l ayer(&r.info); /* passa os dados para a camada de rede ·;
inc(frame_expected}; /* da próxima vez, espera outro número de sequência nr */
}
s.ack = 1 - trame_expected; /* diz qual quadro está sendo confirmado */
to_physical_layer{&s); /*envia confirmação·;
}
}
}

Figura 3.14 Uma confirmação positiva com protocolo de retransmissão.

mais práticas, há necessidade de transmitir dados en1 a1nbos 3.4.1 Objetivo: transmissão bidirecional ,
os sentidos. Alén1 disso, a camada de enlace pode ser 1nais
eficiente se puder enviar vários quadros ao mesmo tempo an-
múltiplos quadros em andamento
tes de receber uma confirmação. Vamos explorar esses dois Em seguida, vamos explicar um conceito chamado piggy-
conceitos e1n seguida, para depois oferecer vários exe111plos backing, que pode ajudar um protocolo da camada de en-
de protocolos que alcança1n esses objetivos. lace a alcançar transmissão bidirecional, e um conceito
Capítulo 3 • A camada de enlace de dados 151

chamado janela deslizante, que pode melhorar a eficiência confirmação. Se a carnada de enlace de dados fosse um orá-
da transmissão ao permitir que o transmissor tenha vários culo e pudesse prever o futuro, ela saberia quando o próxi-
bytes em anda1nento. mo pacote da camada de rede estivesse chegando e poderia
decidir entre esperar por ele e enviar imediatarnente uma
Transmissão bidirecional: piggybacking confirn1ação separada, dependendo da duração prevista
do tempo de espera. É óbvio que a camada de enlace de
Você pode obter u1na transmissão de dados full-duplex dados não é capaz de prever o futuro; portanto, ela deve
definindo dois canais de comunicação distintos e cada um recorrer a algum esquema ad hoc, como esperar durante um
deles usando um enlace separado para um tráfego de dados núrnero fixo de milissegundos. Se um novo pacote chegar
simplex (em diferentes sentidos). Cada enlace é con1posto rapidarnente, a confirmação será acrescentada a ele; caso
de um canal "direto" (para dados) e de um canal "reverso" contrário, se nenhum pacote tiver chegado até o final desse
(para confirmações). Etu atubos os casos, a capacidade do intervalo, a camada de enlace de dados simplesmente en-
canal reverso é quase totahnente desperdiçada. viará um quadro de conftrrnação separado.
Uma ideia melhor é usar o mesmo circuito para da-
dos em ambos os sentidos. Afinal, nos protocolos 2 e 3 ele
Janelas deslizantes
já estava sendo usado para transmitir quadros em ambos
os sentidos, e o canal reverso norn1almente ten1 a mes- Os três protocolos seguintes são bidirecionais e perten-
ma capacidade do canal direto. Nesse n1odelo, os quadros cem a uma classe identificada como protocolos de ja-
de dados enviados de A para B são misturados com os nela deslizante. Eles apresentam diferenças em termos
quadros de confirrnação enviados de A para B. Ao veri- de eficiência, complexidade e requisitos de buffer, co1no
ficar o catnpo kind no cabeçalho de um quadro recebido, discutiremos adiante. Neles, assim como em todos os pro-
o receptor pode identificar se o quadro é de dados ou de tocolos de janela deslizante, cada quadro enviado contém
confirmação. u1n nú1uero de sequência, variando de O até algum valor
Apesar de o entrelaçamento de quadros de dados e de 1náxiino. E1n geral, o valor máxirno é 2" - 1, de fonna que
controle no rnesruo circuito representar um grande avanço o número de sequência caiba exatamente em um campo
e1n relação ao uso de dois enlaces fisicos separados, ainda de n bits. O protocolo de janela deslizante stop-and-wait
é possível introduzir outra melhoria. Quando Lun quadro de utiliza n = 1, restringindo os núrneros de sequência a Oe 1;
dados chega a seu destino, e1n vez de enviar in1ediatan1ente no entanto, versões 1nais sofisticadas poden1 usar urn valor
um quadro de controle separado, o receptor se contérn e es- arbitrário de n.
pera até a camada de rede enviar o próxirno pacote. A con- A essência de todos os protocolos de janela deslizante
firn1ação é acrescentada ao quadro de dados que está sendo é o fato de que, en1 qualquer instante, o transmissor mantém
enviado (por 1neio do can1po ack do cabeçalho do quadro). um conjunto de números de sequência correspondentes a
Na verdade, a confirmação pega carona no próximo quadro quadros que ele pode enviar. Dizemos que esses quadros
de dados que estiver sendo enviado. A técnica de retardar estão reunidos na janela de transmissão. Da n1es1na for-
temporariamente as confirn1ações e enviá-las corn o pró- ma, o receptor nlantém uma janela de recepção corres-
ximo quadro de dados é conhecida pelo nome de piggy- pondente ao conjunto de quadros que está apto a aceitar.
backing (pegar carona). As janelas do transmissor e do receptor não precisam ter os
A principal vantagem do piggybacking em relação ao 1nesmos limites superior e inferior ou o nJesmo tamanho.
envio de quadros de confirmação distintos é a melhor utili- Em alguns protocolos, essas janelas têm tamanho fixo, mas
zação da largura de banda disponível para o canal. O ca1npo em outros elas podem aun1entar ou diminuir à medida que
ack do cabeçalho do quadro precisa de apenas alguns bits, os quadros são enviados e recebidos.
enquanto um quadro separado precisaria do cabeçalho, da Apesar de esses protocolos permitirem que a cama-
confirmação e do checksum. Além disso, u1n nú1nero me- da de enlace de dados tenha mais liberdade em relação à
nor de quadros enviados significa uma carga de processa- ordern em que pode enviar e receber quadros, definitiva-
mento n1enor no receptor. No próxin10 protocolo a ser exa- mente não descartamos a exigência de o protocolo entregar
minado, o campo de piggyback necessita apenas de um bit os pacotes à camada de rede na rnesma ordem em que eles
no cabeçalho do quadro. Em geral, ele raramente precisa de foram repassados à camada de enlace de dados na 1náqui-
mais que alguns bits. na transrnissora. Outra exigência que não mudou é que o
No entanto, o piggybacking introduz un1a cornpli- canal de comunicação física seja "como nos fios", ou seja,
cação que não existe em confirmações separadas. Quanto que entregue todos os quadros na ordem em que eles são
tempo a camada de enlace de dados deve esperar por um enviados.
pacote ao qual deverá acrescentar a confirmação? Se a Os números de sequência contidos na janela do trans-
can1ada de enlace de dados esperar durante um intervalo n1issor representarn quadros que foram ou que poden1 ser
maior que o permitido pelo tin1eout do transn1issor, o qua- enviados, mas que ainda não foram confirn1ados. Se1npre
dro será retransmitido, o que invalidará todo o processo de que chega um novo pacote da camada de rede, ele recebe o
152 Redes de computadores

próxin10 número de sequência 1nais alto, e o limite superior do trans1nissor são iguais, n1as, à nledida que o tempo pas-
da janela é incrementado em uma unidade. Quando uma sa, a situação se desenvolve da 1naneira rnostrada. Diferen-
confirmação é recebida, o limite inferior é incrementado temente da janela do transmissor, a janela do receptor sem-
e1n u1na unidade. Dessa forma, a janela manté1n continua- pre permanece em seu tamanho inicial, incrementando-se à
mente tuna lista de quadros não confinnados. A Figura 3.1 S medida que o próximo quadro é aceito e entregue à camada
mostra um exen1plo. de rede.
Tendo en1 vista que os quadros presentes atualn1ente
na janela do trans1nissor podem ser perdidos ou danificados
em trânsito, o transmjssor deve mantê-los en1 sua memória 3.4.2 Exemplos de protocolos
para que a retransmissão seja possível. Assitn, se o tamanho full-duplex de janela deslizante
máxirno da janela for n, o trans1nissor precisará de n buffers
para annazenar os quadros não confi1mados. Se a janela che- Agora, vejamos alguns exernplos de urn protocolo de janela
gar a seu tamanho máximo, a camada de enlace de dados do deslizante sirnples, de um único bit, além de protocolos que
transmissor será obrigada a desativar a camada de rede até podern tratar da retrans1nissão de quadros coin erro quando
que outro buffer esteja livre. vários quadros estão a cruninho.
O tatnanbo da janela da camada de enlace de dados
receptora corresponde aos quadros que ela é capaz de acei- Janela deslizante de um bit
tar. Qualquer quadro que ficar dentro da janela é colocado
no buffer do receptor. Quando for recebido um quadro cujo Antes de abordannos o caso geral, vamos examinar pri-
núrnero de sequência for igual ao limite inferior da jane- meiro u1n protocolo de janela deslizante com u1n tamanho
la, ele será repassado à ca1nada de rede, será gerada uma máximo de janela igual a 1. Esse tipo de protocolo utiliza o
confirn1ação e a janela será incrernentada e1n uma unidade. stop-and-wait, pois o transrnissor envia um quadro e aguar-
Qualquer quadro fora da janela é descartado. Em todos es- da sua confinnação antes de enviar o quadro seguinte.
ses casos, uma confirmação subsequente é gerada para que A Figura 3.16 representa esse tipo de protocolo. Assim
o transmissor descubra como proceder. Observe que urn como os demais, ele começa definindo algun1as variáveis:
tan1anho de janela igual a 1 significa que a camada de enla- nextJrarne_to_send informa qual quadro o transmissor
ce de dados só aceita quadros em ordem, 1nas para janelas está tentando enviar. De modo sernelhante,/i-anie_ expected
maiores isso não é verdade. A camada de rede, ao contrário, informa que quadro o receptor está esperando. Nos dois ca-
sempre recebe dados na ordem adequada, independente- sos, Oe 1 são as únicas possibilidades.
mente do tamanho da janela da camada de enlace de dados. No1n1almente, uma das duas camadas de enlace de da-
A Figura 3.1 S mostra urn exemplo corn um tamanho dos, do transmissor ou do receptor, inicia e envia o primeiro
máximo de janela igual a 1. Inicialrnente, não há quadros quadro. En1 outras palavras, apenas um dos progran1as da
pendentes; portanto, os limites inferior e superior da janela camada de enlace de dados pode conter as chamadas das

Transmissor 7 o 7 o 7 o 7 o
6 1 6 1 6 1 6 1

5 2 5 2 5 2 5 2

4 3 4 3 4 3 4 3

Receptor
7 o 7 o 7 o 7 o
6 1 6 1 6 1 6 1

5 2 5 2 5 5

4 3 4 3 4 3 4 3

(a) (b) (e) (d)

Figura 3.15 Uma janela deslizante de tamanho 1, com um número de sequência de 3 bits. (a) Inicialmente. (b) Depois que o
primeiro quadro é enviado. (c) Depois que o primeiro quadro é recebido. (d) Depois que a primeira confirmação é recebida.
Capítulo 3 • A camada de enlace de dados 153

/* O protocolo 4 (janela deslizante) é bidirecional. */

#define MAX_SEQ 1 /*deve ser 1 para protocolo 4 */


typedef enum {frame_arrival, cksum_err, timeout} event_type;
#include "protocol.h"
void protocol4 (void)
{
seq_nr next_frame_to_send; t• O ou 1 apenas */
seq _nr frame_expected /* O ou 1 apenas */
trame r, s; /* variáveis auxiliares */
packet buffer; /* pacote atual sendo enviado */
event_type event;
next_frame_to_send = O; /* próximo quadro no fluxo de saída*/
frame_expected =O; /* quadro esperado em seguida*/
from_network_layer(&buffer); /* busca um pacote da camada de rede */
s.info = buffer; /* prepara para enviar quadro inicial */
s.seq = next_frame_to_send; /* insere número de sequência no quadro */
s.ack = 1 - frame_expected; /* confirmação acrescentada*/
to_physical_layer(&s); /* transmite o quadro */
start_timer(s.seq); /* inicia a execução do timer */
while (true) {
wait_for_event(&event); /* frame_arrival, cksum_err ou timeout */
if (event == frame_arrival) { /* um quadro chegou intacto */
from_physical_layer(&r); /* vai pegá-lo*/
if (r.seq == frame_expected) { t• trata do fluxo de quadros que chega*/
to_network_layer(&r.info); /* passa pacote à camada de rede */
inc(frame_expected); /* inverte número de sequência esperado em seguida*/
}
if (r.ack == next_frame_to_send) { /* trata do fluxo de quadros que sai */
stop_timer(r.ac k); / * desliga o timer */
from_n etwork_layer(&buffer); /* busca novo pac. da camada de rede*/
inc(next_frame _to_send); /* inverte número de sequência do transmissor */
}
}
s.info = buffer; /* constrói quadro de saída */
s.seq = next_frame_to_send; /* insere número de sequência nele */
s.ack = 1 - frame_expected; /* número de sequência do último quadro recebido */
to_physical_layer(&s); /*transmite um quadro */
start_timer(s.seq); /* inicia a execução do timer */
}
}
Figura 3.16 Um protocolo de janela deslizante de um bit.

funções to_yhysical_layer e start_titner fora do loop prin- enviar o rnesmo quadro. Sen1pre que um quadro é recebido,
cipal. A máquina que inicia busca o primeiro pacote em sua outro quadro também é enviado de volta.
camada de rede, constrói um quadro a partir dele e o envia. Agora, vamos examinar o protocolo 4 para ver quanto
Quando esse (ou qualquer) quadro chega ao destino, a ca- ele é flexível ern relação a situações patológicas. Suponha
mada de enlace de dados receptora verifica se ele é uma que o computador A esteja tentando enviar seu quadro O
cópia, como ocorreu no protocolo 3. Se o quadro for o es- ao computador B e que B esteja tentando enviar seu qua-
perado, ele será repassado à camada de rede e a janela do dro Oao computador A. Imagine que A envia urn quadro a
receptor será deslocada para cin1a. B, mas o intervalo de tirneout de A é curto demais. Conse-
O carnpo de confinnação contém o núrnero do últirno quenten1ente, A pode completar o timeout repetidas vezes,
quadro recebido sem erro. Se esse número estiver de acordo enviando uma série de quadros idênticos, todos com seq = O
con1 o número de sequência do quadro que o transrnissor eack = 1.
está tentando enviar, o transmissor saberá que já cuidou do Quando o prirneiro quadro válido chegar a B, ele será
quadro annazenado e1n buj]'er e poderá buscar o pacote se- aceito efi'ame_expected será definido con10 1. Todos os
guinte em sua ca1nada de rede. Se o número de sequência quadros subsequentes serão rejeitados, porque B agora está
for discordante, o transn1issor deverá continuar tentando esperando quadros com nú1nero de sequência 1, e não O.
154 Redes de computadores

Alé1n disso, como todas as cópias têm ack = 1 e B ainda chegada de u1n quadro até o receptor, somado ao tempo
'
está aguardando uma confinnação de O, B não buscará um de transn1issão para o retorno da confirn1ação. As vezes,
novo pacote e1n sua camada de rede. essa suposição é nitidamente falsa. Nessas situações, o
Após a chegada de todas as cópias rejeitadas, B en- longo te1npo de viage1n de ida e volta pode ter i1npl ica-
viará um quadro para A contendo seq = O e ack = O. Por ções in1po1tantes para a eficiência da utilização da largura
fim, u1n desses quadros chegará se1n erros à 1náquina A, de banda. Como exemplo, considere utn canal de satélite
fazendo-a começar a enviar o próximo pacote. Nenhuma de 50 kbps co1n um atraso de propagação de ida e volta
combinação de quadros perdidos ou timeouts prematuros de 500 ms. Va1nos imaginar u1na tentativa de usar o pro-
pode fazer o protocolo entregar pacotes duplicados à ca- tocolo 4 para enviar quadros de l .000 bits pelo satélite.
mada de rede, ignorar um pacote ou chegar a um i1npasse. Em t = O, o transmissor começa a enviar o primeiro qua-
O protocolo está correto. dro. Em t = 20 ms, o quadro já foi completamente enviado.
Entretanto, para mostrar quão sutis as interações en- Até t = 270 ms, o quadro ainda não chegou completamen-
tre protocolos podem ser, surgirá uma situação peculiar se te ao receptor, e até t = 520 ms, na 1nelhor das hipóteses,
os dois lados enviare1n simultaneamente u1n pacote inicial. a confirmação não terá voltado ao transmissor (se1n ne-
Essa dificuldade de sincronização está ilush·ada na Figura nhum tempo de espera no receptor e com um quadro de
3.17. Na parte (a), é exibida a operação nonnal do proto- confinnação curto). Isso significa que o transmissor esteve
colo. Na parte (b), observamos a peculiaridade. Se B espe- bloqueado durante 500/520 ou 96% (i.e., apenas 4% da
rar pelo primeiro quadro de A antes de enviar u1n de seus largura de banda disponível foi utilizada). É claro que a
quadros, a sequência será a da pa11e (a) e todos os quadros combinação de um longo tempo de trânsito, alta largura de
serão aceitos. banda e pequeno comprimento de quadro é desastrosa em
Contudo, se A e B iniciarem a comunicação ao nlesmo termos de eficiência.
tempo, seus prinleiros quadros se cruzarão e as camadas de O problema descrito pode ser visto como uma conse-
enlace de dados entrarão na situação (b). Em (a), cada qua- quência da regra que exige que un1 transmissor espere por
dro recebido traz um novo pacote para a catnada de rede; u1na confirmação antes de enviar outro quadro. Se essa
não há cópias. Em (b), 1netade dos quadros contém cópias, restrição não for rigorosa, pode1nos obter wna eficiência
embora não haja erros de transmissão. Situações similares 1nuito n1elhor. Basica1nente, a solução está em permitir
podem ocorrer como resultado de timeouts prematuros, que o transmissor envie até 1.v quadros antes do bloqueio, e
rnesmo quando está claro que um lado começa primeiro. não apenas 1. Com tuna escolha apropriada de w, o trans-
Na verdade, se ocorrerem vários timeouts prematuros, os missor será capaz de transmitir quadros continuamente,
quadros poderão ser enviados três ou mais vezes, desperdi-
pois as confirmações chegarão aos quadros anteriores
çando uma largura de banda valiosa.
antes que a janela se complete, impedindo o bloqueio do
trans1nissor.
Go-back-n Para achar um valor apropriado para w, precisa1nos
Até agora estáva1nos supondo implicitamente que era saber quantos quadros cabem dentro do canal à medida que
insignificante o te1npo de transmissão necessário para a se propagam do transmissor ao receptor. Essa capacidade é

A envia (O, 1, AO) ------- A envia (O, 1, AO) B envia (O, 1, BO)
8 recebe (O, 1, AO)* B recebe (O, 1, AO)*
- - - - - 8 envia (O, O, 80) B envia (O, O, BO)

A recebe (O, O, 80)*


A recebe (O, 1, BO)*
A envia (1, O, A1)
8 recebe (1, O, A1)• A envia (O, O, AO)
8 recebe (O, O, AO)
--- - 8envia(1, 1, 81) 8 envia (1, O, 81)
A recebe (1, 1, 81)*....
A envia (0, 1, A2) - - - - . _ A recebe (O, O, 80)
8 recebe (O, 1, A2)* A envia (1, O, A 1)
B envia (O, O, B2) -~- 8 recebe (1, O, A1)*
A recebe (O, O, B2)• 8 envia (1 , 1, 81)
A envia (1, O, A3) ----._
B recebe (1, O, A3)* A recebe (1, O, B1)*
A envia (1 , 1, A1) ----._
B envia (1 , 1, B3) B recebe (1 , 1, A1)
B envia (O, 1, B2)

Tempo
(a) (b)

Figura 3.17 Dois cenários referentes ao protocolo 4. (a) Caso normal. (b) Caso anormal. A notação é sequência, confirma-
ção, número do pacote. Um asterisco indica onde uma camada de rede aceita um pacote.
Capítulo 3 • A camada de enlace de dados 155

determinada pela largura de banda em bits/s, 1nultiplicada receptor antes 1nesrno de o transmissor descobrir que algo
pelo tempo de trânsito em mão única, ou produto largura está errado. Quando u1n quadro danificado chega ao recep-
de banda-atraso do enlace. Podemos dividir essa quanti- tor, sem dúvida ele deve ser descartado. No entanto, o que
dade pelo nútnero de bits em um quadro para expressá-lo o receptor deve fazer co1n todos os quadros corretos que o
con10 um n(nnero de quadros. Cha1ne essa quantidade de segue1n? Le1nbre-se de que a can1ada de enlace de dados
BD. Então, •v deve ser definido como 2BD + 1. O dobro da receptora é obrigada a entregar pacotes à can1ada de rede
largura de banda-atraso é o número de quadros que podem em sequência.
estar pendentes se o transmissor enviar quadros continua- Há duas estratégias básicas para lidar co1n erros na
mente quando o te1npo de ida e volta para receber uma con- presença do pipelining, ambas n1ostradas na Figura 3. 18.
fim1ação for considerado. O "+ 1" é porque u1n quadro de Em uma opção denominada go-back-n, o receptor
confirmação não será enviado antes que um quadro com- simplesmente descarta todos os quadros subsequentes e não
pleto seja recebido. envia nenhuma confinnação referente a eles. Essa estraté-
Para o enlace do exemplo com uma largura de banda gia corresponde a u1na janela de recepção de ta1nanho 1.
de 50 kbps e um te1npo de trânsito unidirecional de 250 ms, Em outras palavras, a camada de enlace de dados se recusa
o produto largura de banda-atraso é de 12,5 kbits ou 12,5 a aceitar qualquer quadro, exceto o próximo, que ela tem
quadros de 1.000 bits cada um. 2BD + l significa, então, de entregar à camada de rede. Se a janela do transmissor
26 quadros. Suponha que o transn1issor co1nece enviando o for totalmente preenchida antes de o tin1er encerrar a conta-
quadro O, como antes, e transmita um novo quadro a cada gem, o pipeline começará a se esvaziar. Consequentemente,
20 1ns. Quando ele tiver terminado de enviar 26 quadros, o transmissor interromperá a transmissão e retransmitirá
em l = 520 ms, a confirmação para o quadro Oterá acabado todos os quadros não confirmados em ordem, começando
de chegar. Depois disso, as confmnações chegarão a cada pelo quadro danificado ou perdido. Essa abordage1n poderá
20 ms, de modo que o transmissor sempre terá permissão desperdiçar u1na grande quantidade de largura de banda se
para continuar assi1n que precisar. A partir desse ponto, 25 a taxa de erros for alta.
ou 26 quadros não confirmados sempre estarão pendentes. Na Figura 3.18(a), vemos o go-back-n para o caso em
Em outras palavras, o tamanho de janela máxima do trans- que a janela do receptor é 1. Os quadros Oe 1 são correta-
missor é 26. mente recebidos e confinnados. Contudo, o quadro 2 está
Para tamanhos de janela menores, a utilização do en- danificado ou perdido. O transmissor, desavisado desse
lace será nienor que 100%, pois o transmissor às vezes será problema, continua a enviar quadros até expirar o timer
bloqueado. Podemos escrever a utilização como a fração de con·espondente ao quadro 2. Em seguida, ele volta até o
tempo em que o transmissor não está bloqueado: quadro 2 e começa tudo de novo a partir dele, enviando,
mais uma vez, os quadros 2, 3, 4, e assin1 por diante.
w
utilização do enlace :5 BD
1 +2
Retransmissão seletiva
Esse valor é um limite superior, pois não leva em conside- O protocolo go-back-n funciona bem se os erros fore1n ra-
ração nenJ1un1 tempo de processa1nento de quadro e trata ros, mas, se a linha for ruim, isso desperdiçará 01uita largu-
o quadro de confirmação como tendo tamanho zero, pois ra de banda nos quadros retrans1nitidos. Precisamos fazer
ele normaltnente é curto. A equação mostra a necessida- algo melhor - e isso é possível. Uma alternativa é o proto-
de de ter u1na janela w grande sempre que o produto de colo de r etransmissão seletiva, que permite que o receptor
largura de banda-atraso for grande. Se o atraso for alto, o aceite e mantenha os quadros corretos em um buffer após
transmissor rapida1nente esgotará sua janela, n1es1no para um quadro danificado ou perdido.
uma largura de banda moderada, como no exemplo do sa- Quando ela é utilizada, um quadro incorreto recebido
télite. Se a largura de banda for alta, mesmo para um atraso é descartado, mas os quadros sem defeitos posteriores são
moderado, o trans1nissor esgotará sua janela rapida1nente, aceitos e mantidos no buffer. Quando o transmissor chega
a menos que tenha urna janela grande (p. ex., u1n enlace ao tirneout, apenas o quadro não confi1mado n1ais antigo é
de 1 Gbps con1 atraso de 1 ms mantém 1 n1egabit). Com retransmitido. Se ele chegar corretamente, o receptor pode-
o stop-and-wait, para o qual w = 1, se houver tnn atraso rá entregar à camada de rede, em sequência, todos os qua-
de propagação de até mes1no um quadro, a eficiência será dros que armazenou no buffer. A estratégia de retransmis-
menor que 50%. são seletiva corresponde a urna janela receptora maior que
Essa técnica de 1nanter vários quadros pendentes é 1. Caso a janela seja muito grande, essa abordagem poderá
u1n exemplo de pipelining. O pipelining de quadros em exigir um volume de memória muito grande da camada de
um canal de comunicação não confiável faz surgir algumas enlace de dados.
questões 1nuito sérias. Priineiro, o que acontecerá se u.1n Con1 frequência, a retransmissão seletiva é combinada
quadro en1 meio a un1 longo fluxo for danificado ou perdi- com a ação de fazer o receptor enviar un1a confinnação ne-
do? Um grande nú1nero de quadros sucessivos chegará ao gativa, ou NAK (negative acknowledgement), ao detectar
156 Redes de computadores

- - Intervalo de timeout--

Tempo---
(a)

<::> "
*' *'
f~\E
/
Erro Quadros armazenados em buffer
pela camada de enlace de dados
(b)

Figura 3.18 Pipelining e recuperação de erros. Efeito de um erro quando (a) o tamanho da janela receptora é igual a 1 e
(b) quando o tamanho da janela receptora é grande.

um erro, por exemplo, quando receber um erro de check- descartados. Nesse protocolo, pela pri1neira vez abandona-
sum ou u1n quadro fora de sequência. As NAKs estimulam mos a suposição de que a ca1nada de rede se1npre tem um
a retransmissão antes de expirar o timer correspondente e, supri1nento infinito de pacotes a enviar. Quando a ca1nada
desse modo, n1elhoran1 o desen1penho. de rede tem un1 pacote que deseja enviar, ela pode provocar
Na Figura 3.18(b), os quadros O e 1 são mais u.1na a ocorrência de u1n evento network_layer_ready. Entretan-
vez recebidos e confirmados corretamente, e o quadro 2 to, para reforçar o limite de controle de fluxo sobre a janela
é perdido. Quando o quadro 3 chega ao receptor, a cama- do transmissor ou o n(unero de quadros não confirmados
da de enlace de dados do receptor percebe que perdeu um pendentes em qualquer instante, a ca1nada de enlace de
quadro e, assi1n, envia de volta uma NAK correspondente dados deve ser capaz de proibir a camada de rede de so-
ao quadro 2, tnas annazena o quadro 3 no buffer. Quando brecarregá-la com 1nais trabalho. As funções de biblioteca
os quadros 4 e 5 chegain, eles tan1bém são inseridos no enable_network_layer e disable_network_layer executam
buffer pela can1ada de enlace de dados, e1n vez de serem essa funcionalidade.
repassados à camada de rede. Por fim, a NAK do quadro 2 Observe que o número rnáximo de quadros que podem
volta ao transmissor, que o retransmite de imediato. Quan- estar pendentes em qualquer instante não é o mes1no que o
do esse quadro chega, a can1ada de enlace de dados fica ta1nanho do espaço do número de sequência. Para go-back-n,
co1n os quadros 2, 3, 4 e 5, e pode repassar todos eles à MAX_SEQ quadros podem estar pendentes en1 qualquer ins-
camada de rede na ordem correta. Ela também pode con- tante, mesmo que haja MAX_SEQ + l números de sequência
firmar todos os quadros, inclusive até o 5, como mostra distintos (que são O, 1, 2, ... , MAX_SEQ). Veremos u1na res-
a figura. Se a NAK se perder, o transmissor chegará ao trição ainda maior para o protocolo seguinte, a retransmissão
timeout correspondente ao quadro 2 e o enviará (e ape- seletiva. Para saber por que essa restrição é necessária, con-
nas esse quadro) por sua própria iniciativa, nlas isso pode sidere a situação a seguir, com MAX_SEQ = 7:
acontecer um pouco 1nais tarde.
1. O transmissor envia quadros de Oa 7.
Esses dois enfoques alternativos são dilemas entre
uso eficiente de largura de banda e espaço no buffer da ca- 2. Uma confirmação para o quadro 7 volta de carona
mada de enlace de dados. Dependendo de qual recurso é (piggyback) ao transmissor.
mais escasso, um ou outro poderá ser usado. A Figura 3.19 3. O trans1nissor envia mais oito quadros, novamente
mostra um protocolo go-back-n no qual a camada de enla- com nú1neros de sequência de Oa 7.
ce de dados receptora aceita apenas quadros ern orde1n; os 4. Agora chega outra confirmação de carona correspon-
quadros que vierem depois de u1n quadro co1n erro serão dente ao quadro 7.
Capítulo 3 • A camada de enlace de dados 157

/ *O protocolo 5 (go-back-n) permite a existência de muitos quadros pendentes. O transmissor poderá transmitir até
MAX_SEQ quadros sem a necessidade de esperar por uma confirmação. Além d isso, ao contrário dos protocolos
anteriores, não presumimos que a camada de rede esteja sempre recebendo um novo pacote. Em vez disso, a camada
de rede provoca o evento network_layer_ready quando há um pacote a ser enviado. */

#define MAX_SEQ 7

typedef enum {frame_arrival, cksum_err, timeout, network_layer_ready} event_type;

#include "protocol.h"

static boolean between(seq_nr a, seq_nr b, seq_nr c)


{
/ * Retorna true se a <= b < c de modo circular; caso contrário, false. */
if (((a<= b) && (b < c)) li ((c < a) && (a<= b)) li ((b < c) && (c < a)))
return(true);
else
return(false);
}

static void send_data(seq_nr frame_nr,seq_nr f rame_expected,packet buffer[])


{
/ * Constrói e envia um quadro de dados. */
trames; /* variável auxiliar*/
s.info = buffer[frame_nr]; /* insere pacote no quadro*/
s.seq = frame_nr; / * insere número de sequência no quadro */
s.ack = (frame_expected + MAX_SEQ) % (MAX_SEQ + 1); ; • confirma piggyback */
to_physical_layer(&s); /* transmite o quadro */
start_timer(frame_n r); /* inicia o timer •;
}

void protoco15(void)
{
seq_nr next_frame_to_send; /* MAX_SEQ > 1; usado para fluxo de saída*/
seq_nr ack_expected; t • quadro mais antigo como ainda não confirmado */
seq_nr frame_expected; / * próximo quadro esperado no fluxo de entrada*/
trame r; /* variável auxiliar */
packet buffer[MAX_SEQ + 1]; /* buffers para o fluxo de saída*/
seq_nr nbuffered; /* número de buffers de saída atualmente em uso */
seq _nr 1; /* usado para indexar array no buffer */
event_type event;
enable_network_layer(); /* permite network_layer_ready events */
ack_expected =O; /* próximo ack esperado na entrada*/
next_frame_to_send = O; t • próximo quadro saindo */
frame_expected= O; /* número do quadro esperado na entrada*/
nbuffered = O; /* inicialmente, nenhum pacote no buffer */
while (true) {
wait_for_event(&event); /* quatro possibilidades: ver event_type acima */

Figura 3.19 Um protocolo de janela deslizante que utiliza go-back-n. (Contínua)


158 Redes de computadores

switch(event) {
case network_layer_ready: / * a camada de rede tem um pacote a enviar */
/*Aceita, salva e transmite um novo quadro. */
from_network_layer(&buffer[next_frame_to_send)); /* busca novo pacote */
nbuffered = nbuffered + 1; /* expande a j anela do transmissor */
send_data(next_frame_to_send, frame_expected, buffer); / * transmite o quadro */
inc(next_frame_to_send); /* avança o limite da janela superior do transmissor*/
break;
case frame_arrival: /* um quadro de dados ou controle chegou */
from_physical_layer(&r); /* pega quadro que chegou da camada física*/
if (r.seq == frame_expected) {
/* Quadros são aceitos apenas em ordem. */
to_network_layer(&r.info); /* passa pacote à camada de rede •;
inc(frame_expected); /* avança o limite inferior da janela do receptor */
}
/* Ack n implica n - 1, n - 2, etc. Verifica isso. */
while (between(ack_expected, r.ack, next_frame_to_send)) {
/* Trata o ack piggyback. */
nbuffered = nbuffered - 1; /* um quadro a menos no buffer */
stop_t imer(ack_expected); / * quadro chegou intacto; interrompe timer */
inc(ack_expected); /* ajusta a janela do transmissor */
}
break;
case cksum_err: break; /* apenas ignora quadros ruins */
case timeout: /* problema; retransmite todos os quadros pendentes */
next_frame_to_send = ack_expected; / * inicia retransmissão aqui */
for (i = 1; i <= nbuffered; i++) {
send_data(next_frame_to_send, frame_expected, buffer); / * reenvia quadro*/
inc(next_frame_to_send); /* prepara para enviar o quadro seguinte */
}
}
if (nbuffered < MAX_SEQ)
enable_network_layer();
else
disable_network_layer();
}
}

Figura 3.19 (Continuação) Um protocolo de janela deslizante que utiliza go-back-n.

A questão é: os oito quadros pertencentes ao segundo Quando uma confirinação chega para o quadro n, os
lote chegara1n com sucesso, ou todos eles se perderam (a con- quadros n - 1, n - 2, e assim por diante, tambérn são con-
tage1n descarta os quadros posteriores a wn en·o, consideran- finnados de fonna auton1ática. Esse tipo de confinnação
do-os perdidos)? Nos dois casos, o receptor enviaria o quadro é chamado de confirmação cumulativa. Essa propriedade
7 como confinnação. O transmissor não tem corno saber dis- é especialmente importante nos casos em que alguns dos
so. Por essa razão, o oúinero máximo de quadros peodentes quadros anteriores que representava1n confirmações se
deve ser restrito à MAX_SEQ (e não MAX_SEQ + 1). perderam ou forarn adulterados. Sempre que chega uma
Apesar de não annazenar no buffer os quadros recebi- confirmação, a ca1nada de enlace de dados verifica se al-
dos após u1n quadro com erro, o protocolo 5 não evita total- gu1n buffer pode ser liberado. Se os buffers puderem ser
mente o proble1na do armazena1nento em buffer. Tendo em liberados (i.e., se houver espaço disponível na janela), uma
vista que um transtnissor talvez seja obrigado a retransmitir carnada de rede bloqueada anterionnente poderá ter per-
todos os quadros não confinnados em detenninado momen- 1nissão para provocar inais eventos network_layer_ready.
to no futuro, ele deverá reter todos os quadros transn1itidos Para esse protocolo, supomos que sempre existe trá-
até ter certeza de que eles foram aceitos pelo receptor. fego no sentido inverso, para que as confirmações possam
Capítulo 3 • A camada de enlace de dados 159

ser transportadas por piggyback. O protocolo 4 não precisa é verificado pela função between, para confinnar se ele se
dessa suposição, pois ele envia um quadro de volta toda enquadra na janela. Se isso ocorrer e o quadro ainda não ti-
vez que recebe um quadro, mesmo que já o tenha enviado. ver sido recebido, ele será aceito e armazenado. Essa ação é
No próxirno protocolo, resolveremos de rnodo elegante o executada sem levar em conta se o quadro contém ou não o
problerna do tráfego de rnão única. próximo pacote esperado pela can1ada de rede. E' obvio que
Por ter vários quadros pendentes, é claro que o pro- ele deve ser mantido dentro da camada de enlace de dados
tocolo 5 necessita de vários tüners, um para cada quadro e não deve ser repassado à camada de rede até que todos os
pendente. Cada quadro tem um timeout independente de quadros de números 1nais baixos já tenham sido entregues a
todos os dernais. Contudo, todos esses tirners podem ser fa- ela na ordern correta. U1n protocolo que utiliza esse algorit-
cilmente simulados por software, usando-se um único timer mo é apresentado na Figura 3.21.
do hardware para provocar interrupções periódicas. Os ti- A recepção não sequencial introduz outras restrições
meouts pendentes formam uma lista encadeada, com cada sobre os números de sequência em comparação a protoco-
nó da lista contendo a quantidade de pulsos do timer até que los nos quais os quadros só são aceitos em ordem. Pode-
ele expire, o quadro sendo sincronizado e um ponteiro para mos ilustrar melhor o problen1a com urn exen1plo. In1agine
o nó seguinte. que haja um núrnero de sequência de 3 bits, de modo que
Para ilustrar como os timers poderiam ser implemen- o transmissor tenha permissão para transmitir até sete qua-
tados, considere o exemplo da Figura 3.20(a). Suponha que dros antes de ser obrigado a esperar por uma confinnação.
o timer pulse uma vez a cada 1 ms. Inicialmente, o tem- Inicialmente, as janelas do transmissor e do recep-
po real é 10:00:00.000 e há três timeouts pendentes, em tor são semelhantes às da Figura 3.22(a). No momento, o
10:00:00.005, 10:00:00.013 e 10:00:00.019. Toda vez que transmissor envia os quadros de O a 6. A janela do recep-
o timer do hardware pulsar, o tempo real será atualizado e tor permite que ele aceite qualquer quadro com número de
o contador de pulsos no início da lista será decrementado. sequência entre Oe 6, a1nbos inclusive. Todos os sete qua-
Quando o contador de pulsos for igual a zero, ocorrerá um dros chegam corretarnente; assim, o receptor os confirma
timeout e o nó será removido da Lista, como mostra a Figura e avança a janela para permitir a recepção de 7, O, 1, 2, 3,
3.20(b). E1nbora essa organização exija que a lista seja exa- 4 ou 5, conforme mostra a Figura 3.22(b). Todos os sete
minada quando start_timer ou stop_tüner são chatnadas, buffers são marcados como vazios.
ela não requer n1uito trabalho por pulso. No protocolo 5, Nesse ponto ocon·e u1n desastre, na forma de urn raio
essas duas funções receberam urn parân1etro, que indica o que atinge a central telefônica e apaga todas as confirma-
quadro a ser sincronizado. ções. O protocolo deve operar corretamente apesar disso.
Nesse protocolo, tanto o transmissor quanto o receptor Mais tarde, o transmissor entra em timeout e retransrnite
mantêrn uma janela de números de sequência pendentes e o quadro O. Quando esse quadro chega ao receptor, é feita
aceitáveis, respectivarnente. O tarnanho da janela do trans- uma conferência para ver se ele se ajusta à janela do recep-
missor é medido a partir de Oe atinge um número máximo tor. Infelizmente, na Figura 3.22(b), o quadro O está den-
predefmido. Por sua vez, a janela do receptor tem sempre tro da nova janela e, assim, ele será aceito como um novo
um ta1nanho fixo e igual ao máximo predeterminado. O re- quadro. O receptor também envia uma confinnação com
ceptor tem un1 buffer reservado para cada número de se- piggyback para o quadro 6, pois os quadros de Oa 6 forarn
quência dentro de sua janela fixa. Associado a cada buffer recebidos.
há um bit (arrived) que informa se o buffer está cheio ouva- O transmissor fica feliz em saber que todos os qua-
zio. Sempre que um quadro chega, seu número de sequência dros transmitidos realmente chegaratn de forma correta,

Tempo
~~-----~/real
10:00:00.000 10:00:00.005

8 1 2 1 1• 1 6 1 3 c><J
Ponteiro para timeout seguinte
Quadro sendo sincronizado
Pulsos que faltam
(a) (b)

Figura 3.20 Simulação de vários timers por software. (a) Os timeouts enfileirados. (b) A situação após o primeiro timeout
expirar.
160 Redes de computadores

/*O protocolo 6 (retransmissão seletiva) aceita quadros fora de ordem, mas repassa pacotes para a camada
de rede obedecendo à ordem de transmissão. Há um timer associado a cada quadro pendente. Quando
o timer expira, apenas o quadro que o contém é retransmitido, e não todos os quadros pendentes, como
ocorria no protocolo 5. */
#define MAX_SEQ 7 /* deve ser 2' n - 1 */
#define NR_BUFS ((MAX_SEQ + 1)/2)
typedef enum {frame_arrival, cksum_err, timeout, network_layer_ready, ack_timeout} event_type;
#include "protocol.h"
boolean no_nak = true; /* nenhuma nak foi enviada */
seq_nr oldest_frame = MAX_SEQ + 1; / * valor inicial é apenas para o simulador*/

static boolean between(seq _nr a, seq_nr b, seq_nr c)


{
/*O mesmo que no protocolo 5, porém mais curto e mais confuso. */
return ((a<= b) && (b < c)) li ((c < a) && (a<= b)) li ((b < c) && (c < a));
}
static void send_frame(frame_kind fk, seq _nr f rame_nr, seq_nr frame_expected, packet buffer[))
{
/* Constrói e envia um quadro de dados, ack ou nak. */
trames; /*variável auxiliar*/
s.kind = fk; /* kind == data, ack, ou nak */
if (fk == data) s.info = buffer[frame_nr % NR_BUFS];
s.seq = frame_nr; / * significativo apenas para quadros de dados*/
s.ack = (frame_expected + MAX_SEQ) % (MAX_SEQ + 1);
if (fk == nak) no_nak = false; /* um nak por quadro, por favor */
to_physical_layer(&s); /* transmite o quadro */
if (fk == data) start_t imer(frame_nr % NR_BUFS);
stop_ack_timer(); /* não necessário para quadro ack separado */
}
void protocol6(void)
{
seq_nr ack_expected; /* limite inferior da janela do transmissor */
seq _nr next_frame_to_send; / * limite superior da janela do transmissor+ 1 */
seq _nr frame_expected; /* limite inferior da janela do receptor */
seq_nr too_far; /* limite superior da janela do receptor + 1 */
int i; /* índice para os buffers de entrada/saída*/
trame r; /* variável auxiliar*/
packet out_buf[NR_BUFS]; /* buffers para o fluxo de saída*/
packet in_buf[NR_BUFS]; /* buffers para o fluxo de entrada */
boolean arrived[NR_BUFS]; /* mapa de bits de entrada */
seq_nr nbuffered; /* quantidade de buffers de saída usados atualmente */
event_type event;
enable_network_layer(); / * inicializa */
ack_expected = O; /* próximo ack esperado no fluxo de entrada */
next_frame_to_send = O; /* número do próximo quadro de saída*/
frame_expected = O;
too_far = NR_BUFS;
nbuffered = O; /* inicialmente nenhum pacote em buffer */
for (i = O; i < NR_BUFS; i++) arrived[i] = false;
while (true) {
wait_for_event(&event); /*cinco possibilidades: ver event_type acima */

Figura 3.21 Um protocolo de janela deslizante que utiliza a retransmissão seletiva. (Continua)
Capítulo 3 • A camada de enlace de dados 161

switch(event) {
case network_layer_ready: t • aceita, salva e transmite um novo quadro •;
nbuffered = nbuffered + 1; /* estende a janela */
from_network_layer(&out_buf[next_frame_to_send % NR_BUFS]); /* busca novo pacote*/
send_frame(data, next_frame_to_send, frame_expected, out_buf); /*transmite o quadro*/
inc(next_frame_to_send); / *avança o limite da janela superior•;
break;

case frame_arrival: /* um quadro de dados ou de controle chegou */


from_physical_layer(&r); / * busca quadro que chega da camada física */
if (r.kind == data) {
/* Um quadro correto chegou. •;
if ((r.seq != frame_expected) && no_nak)
send _frame(nak, O, frame_expected, out_buf); else start_ack_timer();
if (between{frame_expected,r.seq,too_far) && (arrived[r.seq%NR_BUFS]==false)) {
/* Quadros podem ser aceitos em qualquer ordem. •;
arrived[r.seq % NR_BUFS] = true; /*marca o buffer como cheio*/
in_buf[r.seq % NR_BUFS] = r.info; /* insere dados no buffer */
while (arrived[frame_expected % NR_BUFS]) {
/* Passa quadros e avança a janela. */
to_network_layer(&in_buf[frame_expected % NR_BUFS]);
no_nak = true;
arrived[frame_expected % NR_BUFS] = false;
inc(frame_expected); /* avança o limite inferior da janela do receptor */
inc(too_far); /*avança o limite superior da janela do receptor */
start_ack_timer(); / * para ver se precisa de ack separado */
}
}
}
if((r.kind==nak) && between(ack_expected,(r.ack+1)%(MAX_SEQ+1),next_frame_to_send))
send_frame{data, (r.ack+1) % {MAX_SEQ + 1), frame_expected, out_buf);
while (between(ack_expected, r.ack, next_frame_to_send)) {
nbuffered = nbuffered - 1; /*trata do ack piggyback */
stop_t imer(ack_expected % NR_ BUFS); /* quadro chegou intacto*/
inc(ack_expected); /* avança o limite inferior da janela do transmissor*/
}
break;
case cksum_err:
if (no_nak) send_frame(nak, O, frame_expected, out_buf); /* quadro danificado */
break;
case timeout:
send_frame(data, oldest_frame, frame_expected, out_buf); /* timeout */
break;
case ack_timeout:
send_frame(ack,O,frame_expected, out_buf); /* timer de ack expirou; envia ack */
}
if (nbuffered < NR_BUFS) enable_network_layer(); else disable_network_layer();
}
}

Figura 3.21 (Continuação) Um protocolo de janela deslizante que utiliza a retransmissão seletiva.
162 Redes de computadores

portanto, ele avança sua janela e envia imediatamente os Pela n1es1ua razão, o nún1ero de ti1uers necessários é
quadros 7, O, 1, 2, 3, 4 e 5. O quadro 7 será aceito pelo re- igual ao número de buffers, e não ao tamanho do espaço
ceptor e seu pacote será repassado diretamente à camada de de sequência. Efetivamente, um timer é associado a cada
rede. Logo depois, a camada de enlace de dados receptora buffer. Quando o timer chega a seu tiiueout, o conteúdo do
verifica se já te1u um quadro O válido, descobre que sin1 e buffer é retrans1uitido.
repassa o pacote incorporado à can1ada de rede con10 se O protocolo 6 també1u alivia a suposição in1plícita de
fosse um novo. Consequentemente, a camada de rede rece- que o canal está muito carregado. Fizemos essa suposição
be um pacote incorreto e o protocolo falha. no protocolo 5, quando contamos com quadros enviados
A essência do problen1a é que, depois que o receptor na direção inversa das confinuações com piggyback. Se o
avançou a janela, a nova faixa de números de sequência tráfego inverso for leve, a confirmação será retida por um
válidos substituiu a antiga. Consequentemente, o próximo longo período, o que poderá causar problemas. No liiuite,
lote de quadros poderia ser formado por cópias (se todas as se houver um tráfego intenso em um sentido e nenhum trá-
confirmações se perderam) ou por novos quadros (se to- fego no outro, então o protocolo será bloqueado quando a
das as continuações forruu recebidas). O receptor não tem janela transmissora atingir seu 1uáximo.
como distinguir esses dois casos. Para aliviar essa suposição, após um quadro de dados
A saída desse dilema reside em ter certeza de que, de- sequencial ser recebido, um timer auxiliar é iniciado por
pois que o receptor avançou sua janela, não há sobreposição start_ack_túner. Se nenhum tráfego inverso tiver se apre-
entre essa janela e a original. Para assegurar que não há so- sentado antes desse tüuer expirar, é enviado um quadro de
breposição, o tamanho n1áximo da janela deve ser igual à conf1nnação separado. Uma interrupção provocada pelo ti-
metade do intervalo dos números de sequência, como ocorre mer auxiliar é chamada evento ack túneout. Diante dessa
na Figura 3.22(c) e (d). Com 3 bits, os números de sequência organização, o fluxo de tráfego unidirecional passa a ser
vão variar de Oa 7. Apenas quatro quadros não continuados possível nesse momento, pois a falta de quadros de dados
devem estar pendentes em qualquer instante. Dessa fo1ma , se inversos, nos quais as confirmações possam ser transporta-
o receptor só tiver aceito os quadros de Oa 3 e avançado sua das, não representa mais um obstáculo. Existe apenas um
janela para aceitar os quadros de 4 a 7, ele poderá saber, sem timer auxiliar e, se start_ack_titner for chamada durante o
nenhu1na dúvida, se os quadros subsequentes são retrans1nis- intervalo em que o timer estiver funcionando, ela não terá
sões (O a 3) ou novos quadros (4 a 7). E1u geral, o ta1uanho efeito. O ti1ner não é reiniciado ou estendido, pois sua fina-
da janela para o protocolo 6 será (MAX_SEQ + 1)/2. lidade é oferecer u1na taxa 1uínima de continuações.
Uma pergunta interessante é: quantos buffers o re- E' essencial que o timeout associado ao timer auxi-
ceptor deverá ter? De maneira alguma ele aceitará quadros liar seja ligeiramente 1uais curto que o timer utilizado para
cujos números de sequência estejam abaixo do limite in- sincronizar quadros de dados. Essa condição é necessária
ferior da janela ou aciiua do li1uite superior. Consequente- para assegurar que a confirmação de u1u quadro correta-
mente, o número de buffers necessário é igual ao ta1uanho mente recebido chegue antes de o timer de retransmissão
da janela, e não ao intervalo dos nútneros de sequência. do quadro expirar, de modo que o transtnissor não tenha de
No exemplo anterior de u1u número de sequência de 3 bits, retransmiti-lo.
são necessários quatro buffers, nu1uerados de Oa 3. Quando O protocolo 6 utiliza u1na estratégia 1nais eficiente que
o quadro i chega, ele é colocado no buffer i n1od 4. Obser- o protocolo 5 para tratamento de erros. Sen1pre que há n1o-
ve que, apesar de i e (i + 4) mod 4 estarem "competindo" tivos para suspeitar da ocorrência de um erro, o receptor
pelo mesn10 buffer, eles nunca estão dentro da janela ao envia um quadro de confirmação negativa (NAK) de volta
mesmo tempo, pois isso implicaria um ta1uanho de janela ao transmissor. Ele é um pedido de retransmissão do qua-
de no mínin10 5. dro especificado na NAK. Existem dois casos que pode1n

Transmissor 1 O 1 2 3 4 5 617 1O 1 2 3 4 5 617 B 4 5 67B 4 5 67

Receptor 1 O 1 2 3 4 5 617 1 O 1 2 3 4 s 16 0B 4 5 67 O 1 2 3 B
(a) (b) (c) (d)

Figura 3.22 (a) Situação inicial com uma janela de tamanho 7. (b) Após sete quadros serem transmitidos e recebidos, mas
não confirmados. (c) Situação inicial com uma janela de tamanho 4. (d) Após quatro quadros serem transmitidos e recebidos,
mas não confirmados.
Capítulo 3 • A camada de enlace de dados 163

provocar a suspeita do receptor: a chegada de u1n quadro timer. En1 vez disso, consideramos apenas que a variável
danificado ou de um quadro diferente do esperado (quadro oldestJrame é ativada no momento de timeout para indicar
potencialmente perdido). Para unpedir que sejam feitas vá- o quadro que chegou após o timeout.
rias solicitações de retransmissão do mesmo quadro perdi-
do, o receptor deve controlar se já foi enviada uma NAK
correspondente a determinado quadro. A variável no_nak
no protocolo 6 será verdadeira (true) se nenhuma NAK ti- 3.5 EXEMPLOS DE PROTOCOLOS
ver sido enviada paraji-anze_expected. Se a NAK for dani- DE ENLACE DE DADOS
ficada ou perdida, não haverá qualquer prejuízo real, pois,
con1 o ténnino do intervalo de timeout, de qualquer forma, Dentro de um prédio, as LANs são muito utilizadas para
o trans1nissor retransmitirá o quadro ausente. Se o quadro interconexão, mas a maior parte da infraestrutura de rede a
errado chegar depois que uma NAK tiver sido enviada e longa distância é montada a partir de linhas ponto a ponto.
perdida, no_nak será verdadeira e o tirner auxiliar será ini- No Capítulo 4, examinaremos inelhor as LANs. Aqui, em
cializado. Quando o timer expirar, u1na ACK será envia- três situações comuns, veremos os protocolos de enlace de
da para ressincronizar o trans1nissor co1n o status atual do dados nas linhas ponto a ponto da Internet. A primeira situa-
receptor. ção é quando os pacotes são enviados por enlaces de fibra
En1 algumas situações, o tempo necessário para que óptica SONET, nas redes a longas distâncias. Esses enlaces
um quadro se propague até o destrno, seja processado lá e são muito utilizados, por exemplo, para conectar roteadores
tenha a confirmação retomada é (praticamente) constante. nos diferentes locais da rede de um ISP. A segunda situação
Nessas situações, o transmissor pode ajustar seu ti1ner para é a dos enlaces ADSL que se localizam no circuito terminal
ser "estreito", apenas ligeiramente maior que o intervalo da rede telefônica, na borda da Internet. A terceira situação
normal esperado entre o envio de un1 quadro e a recepção é para enlaces DOCSIS no circuito terminal de uma rede a
de sua confinnação. As NAKs não são úteis nesse caso. cabo. Tanto ADSL quanto DOCSlS conectam 1nilhões de
Todavia, em outras situações o tempo deve ser bastante mdivíduos e empresas à Internet.
variável. Por exemplo, se o tráfego inverso for esporádico, o A Internet precisa de enlaces ponto a ponto para es-
tempo antes da confinnação será 1nais curto quando houver ses fins, bem co1no modems de linha discada, linhas alu-
tráfego inverso, e mais longo quando não houver. O trans- gadas, moden1s a cabo, e assi1n por diante. U1n protocolo
missor enfrenta a escolha de definir o intervalo para um padrão, chamado protocolo ponto a ponto, ou PPP (Point-
valor pequeno (arriscando retransmissões desnecessárias) -to-Point Protocol), é usado para enviar pacotes por esses
ou defini-lo para um valor grande (e ficar ocioso por longo enlaces. O PPP é definido na RFC 1661 e mais elaborado
período após um erro). As duas opções desperdiçam largura na RFC 1662 e en1 outras RFCs (Simpson, I 994a, J994b).
de banda. Em geral, sempre que o desvio padrão do interva- Enlaces SONET, ADSL e DOCSIS aplicam PPP, mas de
lo de confirmação é grande e1n comparação com o próprio maneiras diferentes.
intervalo, o timer pode ser ajustado "1nais livremente" para
ser conservador. As NAKs poden1, então, acelerar bastante a
retransmissão de quadros perdidos ou danificados. 3.5.1 Pacotes sobre SONET
Um problema intimamente relacionado com o uso de O SONET, que analisarnos na Seção 2.5.3, é o protocolo
tüneouts e NAKs é detern1inar o quadro que provocou um da camada física mais utilizado pelos enlaces de fibra óp-
timeout. No protocolo 5, ele é sempre ack_expected, porque tica que compõem o backbone das redes de comunicação,
é sempre o n1ais antigo. No protocolo 6, não há uma forma incluindo o sistetna telefônico. Ele oferece um fluxo de
trivial para determinar o quadro que chegou em timeout. bits que trabalha e1n tuna taxa be1n definida, por exe1nplo,
Imagine que os quadros de Oa 4 tenham sido transmitidos, 2,4 Gbps para um enlace OC-48. Esse fluxo de bits é orga-
significando que a lista de quadros pendentes é 01234, na nizado como cargas úteis de bytes, com tamanho fixo, que
ordem do mais antigo para o mais recente. Agora, imagi- se repetem a cada 125 µs, havendo ou não dados do usuário
ne que o quadro Ochegue após o ti1neout, que 5 (um novo para transmitir.
quadro) seja transmitido, 1 e 2 cheguem após o timeout e Para transportar pacotes por esses enlaces, é preciso
6 (outro quadro novo) seja transmitido. Nesse ponto, a lista que haja algum mecanismo de enquadra1nento para distin-
de quadros pendentes será 3405126, do mais antigo para o guir pacotes ocasionais do fluxo de bits continuo no qual
mais recente. Se todo o tráfego de chegada (i.e., quadros são transportados. O PPP atua sobre roteadores IP para for-
que transportam confinnações) for perdido durante algum necer esse mecanisn10, co1no mostra a Figura 3.23.
tempo, esses sete quadros pendentes chegarão em timeout O PPP é uma melhoria de um protocolo mais antigo e
nessa orden1. n1ais si1nples, chamado SLIP (Serial Line Internet P ro-
Para evitar que o exen1plo fique ainda mais con1pli- tocol), e é usado para lidar com a configuração do enlace
cado do que já está, não mostramos a administração do de detecção de erros, dar suporte a múltiplos protocolos,
164 Redes de computadores

Rotead
~ IP IP

ppp ppp Quadro PPP

SONET Fibra SONET


/ óptica /

(a) (b)

Figura 3.23 Pacotes sobre SONET. (a) Uma pilha de protocolos. (b) Relacionamentos de quadros.

pennitir autenticação, entre outros. Con1 um grande con- na Internet para oferecer serviço não orientado a conexão
junto de opções, o PPP dispõe de três recursos principais: sem confinnação.
A Figura 3.24 mostra o fonnato do quadro PPP. To-
1. Um n1étodo de enquadran1ento que delineia de forma
não ambígua o final de um quadro e o início do se- dos os quadros PPP co1neça1n co1n o byte de tlag padrão
do HDLC, Ox7E (01111110). O byte de flag é inserido se
guinte. O formato do quadro tatnbém lida com a de-
ocorrer dentro do campo de Carga útil usando o byte de
tecção de erros.
escape Ox70. O byte seguinte é o XOR entre o byte de es-
2. Un1 protocolo de controle de enlace usado para ati-
cape e Ox20, que inverte o quinto bit. Por exemplo, Ox7D
var linhas, testá-las, negociar opções e desativá-las
Ox5E é a sequência de escape para o byte de flag Ox7E. Isso
novamente de forma controlada quando não forem
significa que o início e o fmal dos quadros pode1n ser pes-
mais necessárias. Esse protocolo é denotninado pro-
quisados si1nplesmente procurando-se pelo byte Ox7E, pois
tocolo de controle de enlace, ou LCP (Link Control
ele não ocorrerá em nenhum outro lugar. A regra de retirada
Protocol).
na recepção de u1n quadro é procurar por Ox7D, removê-lo
3. Uma maneira de negociar as opções da camada de rede e realizar o XOR do byte seguinte com Ox20. Além disso,
de 1nodo independente do protocolo dessa camada a apenas um byte de flag é necessário entre os quadros. Vá-
ser utilizado. O método escolhido deve ter u1n proto- rios bytes de flag podem ser usados para preencher o enlace
colo de controle de rede, ou NCP (Network Control quando não existen1 quadros para transmitir.
Protocol), diferente para cada camada de rede aceita. Após o byte de flag de início do quadro, temos o cam-
O formato de quadro PPP foi definido de modo a ter po Endereço , que sempre é definido como o valor binário
un1a aparência se1nelhante ao formato do quadro HDLC 11111111, indicando que todas as estações devem aceitar o
(High-level Data Link Control), uma instância bastante quadro. A utilização desse valor evita o problen1a da neces-
utilizada de uma fa1ní lia de protocolos mais antiga, pois sidade de atribuição de endereços de enlace de dados.
não há motivo algum para a defmição de um novo padrão. O campo Controle vem depois do ca1npo Endereço e
A principal diferença entre o PPP e o ~DLC é que o seu valor padrão é 00000011. Esse valor indica u1n quadro
prin1eiro é orientado a caracteres, e não a bits. Especifica- não numerado.
mente, o PPP utiliza a técnica de inserção de bytes e todos Como os ca1npos Endereço e Controle sempre são
os quadros representam um número inteiro de bytes. Já o constantes na configuração padrão, o LCP oferece o me-
HDLC usa a inserção de bits, e permite quadros de, diga- canis1no necessário para as duas partes negociarem tuna
1nos, 30,25 bytes. opção que os omita completan1ente e economize 2 bytes
Contudo, na prática, há un1a segunda diferença im- por quadro.
portante. O HDLC oferece transmissão confiável com O quarto ca1npo do quadro PPP é o Protocolo. Sua
uma janela deslizante, confirmações e timeouts da forma tarefa é infonnar o tipo de pacote que se encontra no campo
como estuda1nos. O PPP também pode oferecer transmjs- Carga útil. Os códigos que con1eçan1 co1n o bit O são de-
são confiável em a1nbientes con1 ruído, corno redes sem finidos para o IP versão 4, IP versão 6 e outros protocolos
fio; os detalhes exatos são definidos na RFC 1663. Entre- da camada de rede que poderiam ser usados, como fPX e
tanto, isso raramente é feito na prática. Em vez disso, um AppleTalk. Os códigos que começam co1n o bit l são uti-
padrão adotado "ainda sem número" quase sempre é usado lizados para protocolos de configuração do PPP, incluindo

Bytes 1 1 1 1 ou 2 Variável 2 ou 4 1

Flag Endereço Controle Flag


Protocolo Carga útil Checksum
01111110 11111 111 00000011 0111 1110

Figura 3.24 Oformato completo do quadro PPP para a operação no modo não numerado.
Capítulo 3 • A camada de enlace de dados 165

LCP e um NCP diferente para cada protocolo da can1ada Portadora Os dois lados combinam Autenticação
de rede admitido. O tamanho padrão do can1po Protocolo é detectada as opções bem-sucedida

\ _.I ~
t-''-t~AU~T.!.!H: !.!E~N~TJ.SIC~A~T,SEj--.._I
2 bytes, mas é possível negociar uma redução para l byte,
utilizando-se o LCP. Os projetistas talvez tenham sido de- ESTABLISH
masiadamente cuidadosos, achando que algum dia poderia
haver mais de 256 protocolos em uso. Falha
O ca1npo Carga útil tem compri1nento variável, po-
DEAD NETWORK
dendo se estender até o tan1anho máxi1no negociado. Se o Falha
con1primento não for negociado co1n o uso do LCP durante
a configuração da linha, será e1npregado um compritnen-
to padrão de 1.500 bytes. Poderá haver um preenchin1ento
OPEN
logo após a carga útil, caso seja necessário.
Depois do ca1npo Ca1ga útil, temos o campo Check-
Portadora
TERMINATE /

Concluído
\
Configuração
sunz, que normalmente tem 2 bytes, embora seja possível retirada NCP
negociar um checksum de 4 bytes, o qual, na verdade, é o
tnestno CRC de 32 bits cujo polinô1njo gerador é mostrado Figura 3.25 Diagrama de estado para ativar e desativar
no final da Seção 3.2.2. O checksun1 de 2 bytes ta1nbén1 é um enlace PPP.
um CRC padrão.
O PPP é un1 1necanismo de enquadra1nento que pode parcialmente. A parte que responde também pode fazer pro-
transportar os pacotes de vários protocolos por muitos tipos postas alternativas.
de can1adas físicas. Para usá-lo sobre SONET, as escolhas a Se a negociação de opções do LCP for bem-sucedida,
fazer estão descritas na RFC 2615 (Malis e Simpson, 1999). o enlace chega à fase AUTHENTICATE. Agora, as duas
É utilizado u1n checksu1n de 4 bytes, pois esse é o meio partes poderão verificar suas identidades mutua1nente,
principal de detectar erros de transmissão pelas camadas se desejarem. Se a autenticação tiver sucesso, o estado
física, de enlace e de rede. Recon1enda-se que os ca1npos NETWORK é alcançado e diversos pacotes NCP são envia-
Endereço, Controle e Protocolo não sejam compactados, dos para configurar a camada de rede. É difícil generalizar
pois os enlaces SONET já trabalham com velocidades re- a respeito dos protocolos NCP, pois cada um é específico
lativamente altas. a algtttn protocolo da camada de rede e pennite que sejam
Também há um recurso incomum. A carga útil PPP é feitas solicitações de configuração específicas a esse pro-
misturada (confonne descrevemos na Seção 2.4.3) antes de tocolo. Para o IP, por exemplo, a atribuição de endereços
ser inserida na carga útil SONET. A mistura realiza a ope- IP às duas extre1nidades do enlace é a possibilidade mais
ração XOR da carga útil co1n uma longa sequência pseudo- iLnportante.
aleatória antes de ser transmitida. O probletna é que o fluxo Quando a fase OPEN é alcançada, o transporte de da-
,
de bits SONET precisa de transições de bits frequentes para dos pode ser feito. E nesse estado que os pacotes IP são
realizar a sincronização. Essas transições vêm naturalmente transportados em quadros PPP pela linha SONET. Quando
com a variação em sinais de voz, 1nas na co1nunicação de da- o transporte de dados é concluído, o enlace entra na fase
dos o usuário escolhe a infonnação enviada e poderia enviar TERMINATE e, de lá, volta ao estado DEAD quando a co-
um pacote com uma longa sequência de Os. Com a mistura, nexão da camada tisica é desativada.
a probabilidade de um usuário causar problemas enviando
uma longa sequência de Os se torna extre1namente baixa.
Antes que os quadros PPP possa1n ser transportados 3.5.2 ADSL (Asymmetric Digital
por linhas SONET, o enlace PPP precisa ser estabelecido Subscriber Line)
e configurado. As fases pelas quais o enlace passa quan-
do é criado, usado e removido novamente aparecem na A ADSL conecta milhões de assinantes do1nésticos à Inter-
Figura 3.25. net em taxas de Mbits/s pelo mesn10 circuito terminal de te-
O enlace começa com a linha no estado DEAD, o que lefone usado para o serviço telefônico tradicional. Na Seção
significa que não há nenhuma conexão na camada física. 2.5.2, descreve1nos como um dispositivo chamado modem
Depois de estabelecida a conexão na camada fisica, o enla- DSL é colocado e1n u1na residência. Ele envia bits do cir-
ce passa para a fase ESTABLISH. Nesse ponto, as partes do cuito terminal para um dispositivo chamado DSLAM (DSL
PPP trocam uma série de pacotes LCP, cada um transporta- Access Multiplexer), na estação local da companhia telefô-
do no campo Ca1ga útil de um quadro PPP, para selecionar nica. Agora, vamos examinar con1 mais detalhes como os
as opções do PPP para o enlace a partir das possibilidades pacotes são transportados por enlaces ADSL.
mencionadas anterionnente. A parte que inicia propõe A imagem geral para os protocolos e dispositivos
opções e a parte que responde as aceita ou rejeita, total ou usados com ADSL aparece na Figura 3.26. Diferentes
166 Redes de computadores

IP IP DSLAM
/Modem
ppp DSL ppp /(com roteador)

/PC AAL5 AAL5


Ethernet Enlace
D Ethernet
ATM
ADSL
Circuito
terminal
ATM
ADSL
Internet

/ /

Casa do cliente Estação ISP

Figura 3.26 Pilhas de protocolos ADSL.

protocolos são empregados e1n diferentes redes, de n1odo As células só precisam ser enviadas quando existe infor-
que escolhemos mostrar o caso mais popular. Dentro da mação para transportar. O ATM é uma tecnologia orienta-
casa, um computador envia pacotes IP ao modem DSL da à conexão. Cada célula transporta um identificador do
usando uma camada de enlace como o padrão Ethernet. circuito virtual em seu cabeçalho, e os dispositivos usam
O n1ode1n DSL, então, envia os pacotes IP do circuito ter- esse identificador para enca1ninhar células ao longo dos ca-
minal para o DSLAM usando os protocolos que estamos 1ninhos das conexões estabelecidas.
prestes a estudar. No DSLAM (ou um roteador conectado a Cada célula tem 53 bytes de extensão, consistindo em
ele, dependendo da itnpletnentação), os pacotes lP são ex- uma carga útil de 48 bytes mais u1n cabeçalho de 5 bytes.
traídos e entra1n em uma rede do TSP, de modo que possarn Usando células pequenas, o ATM pode dividir a largura
alcançar qualquer destino na Internet. de banda de um enlace de camada física entre diferentes
Os protocolos mostrados pelo enJace ADSL na Figura usuários, de forma flexível, em fatias fmas. Esse recurso
3.26 con1eçam de baixo, con1 a can1ada física ADSL. Eles é útil quando, por exemplo, são enviados voz e dados por
são baseados e1n u1n esquema de modulação digital, cha- un1 enlace se1n ter longos pacotes de dados, que causariam
mado multiplexação por divisão de frequência ortogonal enormes atrasos nas amostras de voz. A escolha incomum
(também conhecido como multitom discreto), como vimos para o tamanho da célula (p. ex., em co1nparação com a
na Seção 2.5.2. Perto do topo da pilha, logo abaixo da ca- escolha mais natural de u1na potência de 2) é uma indicação
mada de rede IP, está o PPP. Esse protocolo é o mes1no PPP de co1no o projeto do ATM foi político. O ta1nanho de 48
que estudamos para transportes de pacote sobre SONET. bytes para a carga útil foi u1n meio-tenno para resolver um
Ele funciona da mesrna maneira para estabelecer e configu- impasse entre a Europa, que queria células de 32 bytes, e
rar o enlace e transportar pacotes IP. os Estados Unidos, que queriam células de 64 bytes. Uma
Entre ADSL e PPP estão ATM e AAL5. Estes são pro- breve visão geral do ATM pode ser encontrada em Siu e
tocolos novos, que ainda não estudamos. O modo de trans- Jain ( 1995).
ferência assíncrono, ou ATM (Asynchronous Transfer Para enviar dados por uma rede ATM, eles precisam
Mode), foi elaborado no início da década de 1990 e lança- ser 1napeados para uma sequência de células. Esse n1apea-
do co1n incrível entusias1no. Ele prometia un1a tecnologia 1nento é feito co1n tuna camada de adaptação ATM e1n um
de rede que resolveria os problemas de teleco1nunicações processo cha1nado segmentação e re1nontage1n. Várias ca-
do inundo, reunindo voz, dados, televisão a cabo, telégrafo, madas de adaptação foram defmidas para diferentes servi-
pombo-con·eio, latinhas conectadas por barbante, tambores ços, variando de a1nostras periódicas de voz até pacotes de
e tudo o mais em u1n sisten1a integrado, que poderia fazer dados. A principal usada para os pacotes de dados é a ca-
tudo para todos. Isso não aconteceu. Etn grande parte, os mada de adaptação ATM S, ou AALS (ATM Adaptation
problemas do ATM eram semelhantes aos que já descreve- Layer S).
mos co1n relação aos protocolos OSI, ou seja, má sincroni- Um quadro AAL5 aparece na Figura 3.27. En1 vez de
zação, tecnologia, imple1nentação e política. Apesar disso, um cabeçalho, ele tem u1n final que oferece o comprimento
o ATM teve n1uito 1nais sucesso do que o padrão OSI. En1- e um CRC de 4 bytes para detecção de erros. Naturalmente,
bora não tenha ganho o mundo, ele continua sendo muito o CRC é o mes1no usado para redes locais PPP e IEEE 802,
usado em nichos, incluindo linhas de acesso de banda larga, con10 Ethernet. Wang e Crowcroft (1992) 1nostraram que
como DSL, e enlaces de WAN dentro das redes telefônicas. ele é forte o bastante para detectar erros não tradicionais,
O ATM é uma camada de enlace baseada na transmis- con10 reordenação de célula. Assim como uma carga útil,
são de células de informação de tamanho fixo. O "assín- o quadro AAL5 tem preenchimento. Isso encerra o tama-
crono" en1 seu non1e significa que as células nen1 sempre nho geral co1no um múltiplo de 48 bytes, de n1odo que o
precisam ser enviadas da maneira como os bits são con- quadro pode ser dividido igualmente e111 células. Não são
tinuamente enviados por linhas síncronas, como SONET. necessários endereços no quadro, pois o identificador de
Capítulo 3 • A camada de enlace de dados 167

Bytes 1ou2 Variável O a 47 2 2 4

Protocolo PPP Carga útil PPP Preenchimento Não usado Comprimento CRC

1 -,
Carga útil AAL5 Final AALS

Figura 3.27 Quadro AAL5 transportando dados PPP.

circuito virtual transportado em cada célula o levará ao des- Um quadro DOCSIS contém várias informações, in-
tino correto. cluindo indicadores de qualidade de serviço e suporte para
Agora que já descreve1nos o ATM, só precisamos des- fragmentação ou concatenação de quadros. Cada sequên-
crever como o PPP o utiliza no caso da ADSL. Isso é fei- cia unidirecional de quadros é chamada de fluxo de servi-
to com outro padrão, chamado PPPoA (PPP over ATM). ço. Os fluxos de serviço principais pennitem que o CMTS
Esse padrão não é realmente um protocolo (de modo que (sistetna de terminação de modem a cabo, na central da
não aparece na Figura 3.26), e sim mais urna especificação empresa de cabo) co1nunique mensagens de gerencia1nen-
de como trabalhar co1n quadros PPP e AAL5. Ele é descrito to a cada modem a cabo. Cada fluxo de serviço tem um
na RFC 2364 (Gross et ai., 1998). identificador único e normalmente está associado a uma
Somente os campos de protocolo e carga útil do PPP classe de serviço, que pode ser o melhor esforço, pesqui-
são colocados na carga útil do AAL5, como vemos na Fi- sa (em que um moden1 a cabo faz solicitações explícitas
gura 3.27. O campo de protocolo indica ao DSLAM no ou- de largura de banda) e serviço de concessão (em que um
tro extremo se a carga útil é um pacote IP ou um pacote modem a cabo transmite rajadas de dados a u1n taxa de
de outro protocolo, con10 LCP. O canto extre1no sabe que dados garantida). Um fluxo de serviço primário é o fluxo
as células contêm informações do PPP porque um circuito de serviço padrão que transporta todos os quadros que não
virtual ATM é estabelecido para essa finalidade. são classificados para outro serviço. E1n muitos arranjos
Dentro do quadro AAL5, o enquadra1nento PPP não de serviço de banda larga, há apenas um fluxo de servi-
é necessário, pois não teria nenJ1u1na finalidade; ATM e ço upstream e downstream padrão entre o CM e o CMTS,
AAL5 já oferecem o enquadra1nento, e mais seria inútil. que transporta todo o tráfego do usuário, be1n como todas
O CRC do PPP também não é necessário, pois o AAL5 já as 1nensagens de gerenciamento. As redes DOCSJS fo-
inclui o mesmo CRC. Esse 1necanismo de detecção de erros ram historica1nente projetadas assumindo que a 1naioria
suplementa a codificação da camada tisica da ADSL de um dos dados é transmitida no sentido downstream. Certos
código de Reed-Solomon para correção de erros e um CRC aplicativos, como videoconferência, vão contra essas ten-
de l byte para a detecção de quaisquer erros restantes, não dências, embora serviços de jogos em nuve1n anunciados
recente1nente (p. ex., Stadia, GeForce Now, xCloud) pos-
descobertos de outra 1naneira. Esse esquema tem um n1e-
sam resultar em uma utilização ainda mais downstream, já
canis1no de recuperação de erros n1uito mais sofisticado do
que quando os pacotes são enviados por u1na linha SONET, que essas aplicações tê1n como objetivo taxas de streaming
pois a ADSL é um canal com muito 1nais ruído. contínuo de 30 a 35 Mbps.
Depois que um modem a cabo é ligado, ele estabe-
lece uma conexão com o CMTS, o que normalmente per-
3.5.3 DOCSIS (Data Over Cable Service mite que ele se conecte ao resto da rede. Ao se registrar
no CMTS, ele adquire canais de comunicação upstream e
Interface Specification)
downstream para usar, be1n como chaves de c1iptografia do
O protocolo DOCSIS (Data Over Cable Service Inter- CMTS. As operadoras upstream e downstream oferecem
face Specification) gerahnente é descrito co1no tendo dois dois canais compartilhados para todos os modems a cabo.
componentes: a camada tisica (PHY), conforme descrito no Na direção downstream, todos os 1uode1ns a cabo conec-
capítulo anterior (às vezes chamada de PMD ou subcamada tados ao CMTS recebem todos os pacotes trans1nitidos.
dependente do ineio), e a ca1nada de controle de acesso ao Na direção upstrea1n, n1uitos 1node1ns a cabo transmitem
meio (MAC), que abordare1nos con1 mais detalhes no Capí- e o CMTS é o único receptor. Pode haver vários caminhos
tulo 4. Aciina da camada tisica, o DOCSIS deve lidar com físicos entre o CMTS e cada modem a cabo.
uma série de tarefas para a camada de rede, incluindo a alo- Antes do DOCSIS 3. l , os pacotes no sentido downs-
cação de largura de banda nas direções upstream e downstre- trean1 era1n divididos em quadros MPEG de 188 bytes,
a1n (controle de fluxo), enquadramento e correção de erros cada um com um cabeçalho de 4 bytes e uma carga útil de
(é claro que, às vezes, a correção de erros é vista como uma 184 bytes (a chamada camada de convergência de trans-
construção da ca1nada física). Descreve1nos cada tm1 desses n1issão MPEG). Além dos dados em si, o CMTS envia pe-
conceitos anteriormente neste capítulo. Nesta seção, explora- riodicamente informações de gerenciamento para o modem
ren1os como o DOCSIS trata de cada um desses problemas. a cabo, incluindo informações sobre alcance, atribuição de
168 Redes de computadores

canal e outras tarefas relacionadas à alocação de canal que simultanean1ente. Essa tecnologia é un1a forma de agrega-
são realizadas pela camada MAC (que abordaremos co1n ção de enlace, que pode con1binar vários enlaces físicos,
mais detalhes no Capítulo 4). Embora o DOCSIS 3.1 ainda ou portas, para criar uma única conexão lógica. O DOCSIS
tenha suporte para essa ca1nada de convergência para pro- 3.0 permite que até 32 canais downstream e 8 canais upstre-
pósitos legados, ele não depende n1ais dela para a co1nuni- an1 seja1n ligados, onde cada canal pode ter de 6 a 8 MHz
cação downstrea1n. de largura. A ligação de canal no DOCSIS 3.1 é a mesma
A camada de enlace DOCSIS organiza a transmissão do DOCSIS 3.0, embora o DOCSIS 3.1 suporte canais mais
de acordo com perfis de modulação. Um perfil de 1nodu- largos para upstream e downstream: a diferença é que es-
lação é uma lista de ordens de modulação (i.e., carregamen- ses canais podem ser muito mais largos (até 192 MHz en1
tos de bits) que correspondem às subportadoras OFDM. downstream, 96 MHz em upstrea1n, em comparação com
No sentido downstream, o CMTS pode usar perfis diferen- 6 ou 8 MHz downstrea1n e até 6,4 MHz upstream, no caso
tes para modems a cabo diferentes, n1as normalmente um do DOCSIS 3.0). Por outro lado, um modem DOCSIS 3.1
grupo de mode1ns a cabo que têm o mesmo desempenho pode ligar canais de vários tipos (p. ex., um modem DOC-
ou desempenho semelhante será agrupado no mesmo per- SIS 3. 1 pode ligar um canal OFDM de 192 MHz e quatro
fil. Co1n base na identificação do fluxo de serviço e nos canais SC-QAM de 6 MHZ).
parâmetros de QoS, a camada de enlace (no DOCSIS 3.1),
agora chamada camada de convergência, agrupa pacotes
que têm o mesmo perfil no mesmo buffer de envio; normal-
mente, há um buffer de envio por perfil, cada um dos quais 3.6 RESUMO
é superficial, para evitar latência significativa. O constru-
tor de palavras-código então mapeia cada quadro DOCSIS A tarefa da camada de enlace de dados é converter o fluxo
para as palavras-código FEC correspondentes, puxando pa- de dados brutos fornecido pela camada física em um fluxo
cotes dos buffers apenas perfis diferentes a cada limite de de quadros a ser utilizado pela camada de rede. A camada de
palavra-código. A codificação FEC vê o quadro DOCSlS enlace pode apresentar esse fluxo com níveis de confiabili-
como un1 fluxo de bits, não como uma sequência de bytes. dade variados, desde o serviço não orientado à conexão sem
DOCSIS depende de uma palavra-código LDPC. No sen- confirmação até o serviço confiável, orientado à conexão.
tido downstream, uma palavra-código completa tem até Diversos métodos de enquadramento são utilizados,
2027 bytes, dos quais até 1799 bytes são dados e 225 são inclusive a contagem e a inserção de bytes e de bits. Os pro-
paridade. Dentro de cada byte de um quadro DOCSIS, o tocolos de enlace de dados podern oferecer recursos de
bit menos significativo é transferido primeiro; quando um controle de erros para a detecção ou correção de quadros
valor superior a um byte é transmitido, os bytes são ordena- danificados e a retransmissão de quadros perdidos. Para
dos do tnais significativo para o rnenos significativo, uma evitar que u1n transmissor rápido sobrecarregue um recep-
sequência às vezes charnada de ordem de rede. O CMTS tor lento, o protocolo de enlace de dados também pode for-
també1n adota o preenchirnento de bytes: se não houver um necer controle de fluxo . O rnecanismo de janela deslizante
quadro DOCSIS no sentido downstream, o CMTS inse- é bastante utilizado para integrar os controles de e1Tos e de
re subportadoras preenchidas com bits zero nos símbolos fluxo de maneira simples. Quando o tamanho da janela é de
OFDM ou simplesmente armazena sequências de l s em 1 pacote, o protocolo é stop-and-wait.
palavras-código, como n10Stra a Figtu·a 3.28. Os códigos para correção e detecção de erros acres-
Desde a versão 3.0, o DOCSTS oferece suporte a uma centam informações redundantes às mensagens usando
tecnologia chamada ligação de canal, que permite a um diversas técnicas 1natemáticas. Os códigos de convolução
único assinante usar vários canais upstream e downstream e de Reed-Solomon são muito utilizados para correção de

Reser- Pont.
V
vado PDU
'·w
Final da PDU Início da próxima
OxFF
anterior PDU

Paridade
Cabeçalho CW Carga útil
BCH
Paridade LDPC s

Bytes 2 1-1 777 21 21 0-2

Figura 3.28 Quadro DOCSIS para mapeamento da palavra-código.


Capítulo 3 • A camada de enlace de dados 169

erros, mas os códigos de verificação de paridade de bai- como isso pode acontecer? O comprimento do checksum
xa densidade estão ganhando popularidade. Na prática, os influencia em algurna coisa aqui?
códigos utilizados para detecção de erros incluem verifica- 6. Um pacote de u1na camada superior está dividido etn 1O
ções de redundância cíclica e checksums. Todos pode1n ser quadros, cada uru deles coin 80% de chance de chegar sern
aplicados na ca1nada de enlace, bem co1no na camada física danos. Se o protocolo de enlace de dados não fizer nenhum
e e1n camadas 1nais altas. controle de erros, quantas vezes em n1édia a 1nensagem de-
verá ser enviada para que o processo inteiro seja concluído?
Exa1ninamos diversos protocolos que oferecem u1na
catnada de enlace confiável usando confirmações e re- 7. Você consegue irnaginar alguma circunstância e1n que seria
preferível um protocolo de loop aberto (p. ex., um código
transmissões, ou ARQ, sob suposições mais realistas. Co-
de Ha1nn1ing) aos protocolos de feedback discutidos neste
meçando a partir de um ambiente livre de erros, en1 que o capítulo?
receptor pode tratar de qualquer quadro que lhe é enviado,
8. Para proporcionar maior confiabílidade que a obtida com
apresentamos o controle de fluxo, seguido pelo controle de
u1n único bit de paridade, uni esquen1a de codificação para
erros com nú1neros de sequência e o algorihno stop-and- detecção de erros utiliza um bit de paridade para verificar
-wait. Depois, usamos o algoritmo de janela deslizante para todos os bits de numeração ímpar e um segundo para todos
permitir a comunicação bidirecional e apresenta1nos o con- os bits de numeração par. Qual é a distância de Hamming
ceito de piggybacking. Os dois últimos protocolos realizam desse código?
o pipeline da trans1nissão de vários quadros para i1npedir 9. Depois de notar que o serviço de mensagens instantâneas
que o trans1nissor bloqueie um enlace com u1n longo atraso que você usa todos os dias não oferece detecção de erros,
de propagação. O receptor pode descartar todos os quadros você decide adotar, por conta própria, u111 rnecanismo de
menos o próximo na sequência, ou então armazenar em detecção de erros sin1ples: envia todas as suas rnensagens
buffer os quadros fora de ordem e enviar confirmações ne- duas vezes. Qual é a distância de Hamming correspondente
gativas, au1nentando a eficiência da largura de banda. A pri- e a taxa de código? Qual é a semelhança entre isso e a inclu-
meira estratégia é un1 protocolo go-back-n, e a segunda é são de um bit de paridade?
um protocolo de repetição seletiva. 10. In1agine u1n n1ecanisrno de detecção de erros que envia
A Internet utiliza o PPP como principal protocolo de cada mensagem duas vezes. Supondo que ocorram exata-
rnente dois erros de único bit, qual é a probabi lidade de os
enlace de dados em linhas ponto a ponto. Ele oferece um
erros passarem se1n ser detectados? Qual é a probabilida-
serviço não orientado a conexões sem confirmação, usando
de quando se usa um bit de paridade? Qual método detecta
bytes de flag
,
para deliinitar quadros e um CRC para detec- 1nais erros?
tar erros. E usado para transportar pacotes por uma série de
11 . Utn byte de 8 bits com valor binário 1O1O1 111 deve ser co-
enlaces, incluindo enlaces SONET em redes a longas dis- dificado usando u1n código de Hamming com paridade par.
tâncias e enlaces ADSL para residências. DOCSIS é usado Qual é o valor bir1ário após a codificação?
quando o serviço de Internet é fornecido pela rede de TV a 12. Um byte de 8 bits com valor binário 10011010 deve ser
cabo existente. codificado usando um código de Ha111ming co111 paridade
í111par. Qual é o valor binário após a codificação?
13. U111 código de Hamming de 12 bits co111 paridade í111par,
cujo valor hexadecimal é Ox84D, chega a uru receptor.
PROBLEMAS Qual era o valor original e1n hexadeci1nal? Suponha que
não exista 1nais de 1 bit com erro.
1. A rede Ethernet utiliza un1 preâmbulo e1u combinação cou1 14. Os códigos de Hamming tê1n u1na distância de três e podem
um contador de bytes para separar os quadros. O que acon- ser usados para corrigir u1n único erro ou detectar um erro
tecerá se uni usuário tentar enviar dados que contêm esse duplo. Eles poden1 ser usados para realizar ambos ao 1nes-
preân1bulo? 1no tempo? Explique sua resposta. Em geral, se a distância
de Han1n1ing for n, quantos erros podem ser corrigidos?
2. O frag1nento de dados a seguir ocorre no 1neio de um fluxo
Quantos erros podem ser detectados?
de dados para o qual é usado o algoritmo de inserção de
bytes descrito no texto: A B ESC C ESC FLAG FLAG D. 15. Considere um protocolo que, para cada 16 bytes de dados
Qual será a saída após a inserção? de mensagem, seja acrescentado 1 byte de dados redundan-
tes. Esse protocolo pode utilizar um código de Hamming
3. Qual é o overhead 111áximo no algoritmo de inserção de
para corrigir erros isolados?
bytes?
16. U1na fonua de detectar erros é transmitir dados corno un1
4. Você recebe o seguinte fragmento de dados: O11 O O111 bloco de n linhas com k bits por linha e acrescentar bits de
1100 1111 O111 11O1 e sabe que o protocolo utiliza a inser- paridade a cada linha e a cada coluna. O canto inferior direi-
ção de bits. Mostre os dados após a retirada dos bits. to é um bit de paridade que verifica sua linha e sua coluna.
5. Quando a inserção de bits é utilizada, é possível que a per- Esse esque111a detectará todos os erros si1nples (isolados)?
da, inserção ou modificação de um único bit cause um erro E os erros duplos? E os erros triplos? Mostre que esse es-
não detectado pelo checksun1? Se não, por quê? Se siin, quema não pode detectar alguns erros de quatro bits.
170 Redes de computadores

17. No problema anterior, quantos erros pode1n ser detectados 20 quadros. O protocolo B é um protocolo stop-and-\vait.
e corrigidos? Os dois protocolos são transportados por dois canais idên-
18. Indique uma fórrnula para o litnite inferior do número de ticos. Se o protocolo A atinge quase 100% de eficiência da
bits redundantes r que precisam ser acrescentados a uma largura de banda, qual é a eficiência de largura de banda do
mensagem rn, a fim de corrigir todos os erros simples e protocolo B?
duplos. 30. Un1 protocolo stop-and-wait alcança 25% de eficiência da
19. Dada a resposta da questão anterior, explique a popularida- largura de banda usando quadros de 900 bits por n1eio de
de dos coniplexos Jnecanismos probabilísticos de correção uJu canal com 50 JUS de atraso de propagação de mão única.
de erros, como os códigos de convolução e a verificação de Em bits por segundo, qual é o atraso de propagação desse
paridade de baixa densidade, disc utidos neste capítulo. canal?
20. Suponha que sejam transtnitidos dados em blocos com ta- 31. Um protocolo stop-and-wait alcança 60% de eficiência da
1nanbos de l .000 bits. Qual é a taxa 1nâxima de erro sob largura de banda usando quadros de 300 bits por 1neio de
a qual o Jnecanismo de detecção de erros e retransniissão u1n canal com 50 kbps de largura de banda. Qual é o atraso
( 1 bit de paridade por bloco) é Jnelhor do que usar o código de propagação em 1não única desse canal?
de HaJnming? Suponha que os erros de bit sejam indepen- 32. Un1 protocolo stop-and-wait que usa quadros de 800 bits
dentes um do outro e nenhum erro de bit ocorra dLrrante a percorre uJu canal coJu um atraso de propagação de Juão
retransmissão. única de 8 nis e unia largura de banda de 1200 kbps. Qual
21. U1n bloco de bits com n linhas e k colunas utiliza bits de é a eficiência de largura de banda que esse protocolo atinge
paridade horizontais e verticais para a detecção de erros. nesse canal?
ltnagine que exataJnente 4 bits sejam invertidos em virtude 33. Uni protocolo de janela desl izante usa quadros de 1.000 bits
de erros de transniissão. Derive u1na expressão para a pro- e um tamanho de janela de transtnissão fixo de 3. Ele atinge
babilidade de que o erro não seja detectado. quase 100% de eficiência da largura de banda eJn um canal
22. Suponha que uma mensage1n 1001 1100 1O1 O 0011 seja de 250 kbps. O mesn10 protocolo é usado em um canal apri-
transmitida usando o cbecksu1n da [nternet (palavra de 4 Juorado, que possui o tuesmo atraso mas dobra a largura de
bits). Qual é o valor do checksuni? banda. Qual é a eficiência da largura de banda do protocolo
7
23. Qual é o resto obtido pela divisão dex + x 5 + 1 pelo polinô- no novo cana 1?
tnio gerador x 3 + 1? 34. No protocolo 3, é possível que o trans1nissor inicialize o
24. Un1 fluxo de bits 100lllO1 é trans1nitido com a utilização tiJuer quando ele já estiver funcionando? Nesse caso, como
do 1nétodo CRC padrão descrito no texto. O polinômio ge- isso poderia acontecer? Se não, por que não é possível?
rador é x3 + 1. Mostre a sequência de bits real transn1itida. 35. Uni tronco T 1 COJu o con1priJuento de 3.000 Km é utilizado
Suponha que o terceiro bit a partir da esquerda seja inverti- para transmitir quadros de 64 bytes usando o protocolo 5.
do durante a transniissão. Mostre que esse erro é detectado Se a velocidade de propagação for de 6 µs!Km, quantos bits
na extremidade receptora. Dê um exemplo de erro de bit, na deverão ter os números de sequência?
sequência de bits transmitida, que não serâ detectado pelo 36. Imagine que u1u protocolo de janela deslizante utilize tantos
receptor. bits para números de sequência que nunca ocorra sobrepo-
25. Uni fluxo de bits 1110011 O é transniitido coni a utilização sição. Que relações deve1n ser 1nantidas entre os quatros li-
do método CRC-padrão descrito no texto. O polinôJnio ge- Juitadores da janela e o taJuanho da janela, que é constante e
rador é x + x3 + 1. Mostre a sequência de bits real transnii-
4
idêntica para o transniissor e o receptor?
tida. Suponha que o terceiro bit a partir da esquerda seja 37. No protocolo 6, quando UJU quadro de dados chega, é feita
invertido durante a trans1nissão. Mostre que esse erro é de- u1ua veri ti cação para confirmar se o núJuero de sequência é
tectado na extremidade receptora. Dê um exen1plo de erro d.iferente do esperado, e se no_nak é verdadeira. Se as duas
de bit, na sequência de bits transJn.itida, que não serâ detec- condições forem verdadeiras, será enviada un1a NAK. Caso
tado pelo receptor. contrário, o timer auxiliar será iniciado. Ituagine que o co-
26. Os protocolos de enlace de dados sempre colocam o CRC Jnando else tenha sido omitido. Essa alteração afetaria a
em um final (trailer), eJn vez de un1 cabeçalho. Por quê? exatidão do protocolo?
27. Na discussão do protocolo ARQ na Seção 3.3.3, esboçainos 38. Imagine que o loop while de três instruções próximo ao
unia situação que resultou no receptor aceitando duas có- fitn do protocolo 6 fosse re1uovido do código. Isso afetaria
pias do Juesmo quadro, em decorrência de uJua perda do a exatidão do protocolo ou apenas o dese1upenho? Explique
quadro de confinuação. E' possível que um receptor aceite sua resposta.
várias cópias do Jnesmo quadro quando nenhum dos qua- 39. No problema anterior, considere que um protocolo de janela
dros (mensagem ou continuação) foi perdido? deslizante seja usado eni seu lugar. Para qual tanianho da
28. Um canal tem uma taxa de bits de 4 kbps e uJn atraso de janela de transn1issão a utilização do enlace será de 100%?
propagação de 20 JUS. Para que faixa de variação de taJua- Você pode ignorar os ten1pos de processamento do protoco-
nhos de quadros a técnica stop-and-wait proporciona uJna lo no transtnissor e no receptor.
eficiência de pelo menos 50o/o? 40. Suponha que o caso dos erros de checksum fosse removido
29. Dois protocolos, A e B, diferem apenas nos tamanhos de da instrução switch do protocolo 6. Como essa mudança
janela de trans1u issão. O protocolo A usa u1ua janela de afetaria a operação do protocolo?
Capítulo 3 • A camada de enlace de dados 171

41. No protocolo 6, o código de.fi·a1ne_arrival tem uma seção 48. Cite pelo menos u111 tnotivo pelo qual o PPP utiliza a inser-
utilizada para NAK.s. Essa seção será chamada se o quadro ção de bytes e não a inserção de bits para evitar que bytes de
recebido for u1na NAK e outra condição for satisfeita. Crie flag acidentais na carga útil causen1 confusão.
unia situação em que a presença dessa outra condição seja 49. Qual é o overhead núnimo para o envio de um pacote lP
essencial. usando o PPP? Leve e111 consideração apenas o overbead
42. Considere a operação do protocolo 6 sobre uma 1inha per- introduzido pelo próprio PPP, e não o overhead do cabeça-
feita (i.e., livre de erros) de l Mbps. O ta1nanho 1náximo de lho IP. Qual é o overhead niáximo?
quadro é de 1.000 bits. Novos pacotes são gerados a cada 50. O !luxo de dados a seguir é enviado por 1neio de um qua-
segundo. O intervalo de timeout é de 1O ms. Se o timer es- dro PPP sobre SONET: ESC FLAG FLAG ESC. Qual é a
pecial de confirmação fosse eliminado, ocon·eriam timeouts sequência de bytes trans111itida na carga útil? Escreva sua
desnecessários. Quantas vezes e1u média a 1nensagen1 seria resposta como uma sequência de bytes, cada um representa-
transmitida? do por oito uns ou zeros. A sequência de bits usada para re-
43. No protocolo 6, MAX_SEQ = 2" - 1. Embora essa condição presentar ESC é O11111O1 e a sequência de bits para FLAG
seja evidenten1ente desejável para tomar a utilização dos éOllllllO.
bits de cabeçalho 111ais eficiente, não demonstra111os que ela 51. Um pacote IP de l 00 bytes é transmitido por un1 circui-
é essencial. Por exen1plo, o protocolo funciona correta1nen- to terminal usando a pilha de protocolos ADSL. Quantas
te para MAX_SEQ = 4? células ATM serão transn1itidas? Descreva seu conteúdo
44. Quadros de 1.000 bits são enviados por um canal de 1 Mbps resun1idamente.
usando u1n satélite geoestacionário cujo tempo de propa- 52. O objetivo deste exercício de laboratório é implen1entar un1
gação a partir da Terra é de 270 1ns. As confinnações sem- 1necanismo de detecção de erros usando o algoritn10 CRC
pre são transportadas por piggyback em quadros de dados. padrão descrito no texto. Escreva dois progran1as, um ge-
Os cabeçalhos são muito curtos. São utilizados nú111eros de rador e um verificador. O programa gerador lê na entrada
sequência de 3 bits. Qual é a utilização máxima do canal padrão uma mensagen1 de n bits que tem a forma de uma
que é possível alcançar para: sequência de valores Oe 1 como u1na linha de texto ASCII.
(a) Stop-and-wait? A segunda linha é o polinôn1io de k bits, ta1nbén1 en1 ASCfl.
(b) Protocolo 5? A saída padrão é u1na linha de texto ASCII com n + k va-
(c) Protocolo 6? lores, e O e 1 representam a n1ensage111 a ser transmitida.
45. Confirmações negativas disparam diretamente uma respos- En1 seguida, são atribuídos valores de saída ao poliuônlio,
ta no transmissor, enquanto a falta de confirmações positi- exatan1ente como ele foi lido na entrada. O programa ve-
vas só dispara u111a ação após u1n timeout. Seria possível rificador lê a saída no programa gerador e trans1nite uma
criar un1 canal de co1nunicação confiável usando apenas 1nensage1n indicando se ela está correta ou não. Por fim,
confirn1ações negativas e nenhun1a confirn1ação positiva? escreva um programa, cha1nado alterar, que inverta 1 bit
Se for possível, niostre un1 exen1plo. Se for i1npossível, ex- na primeira linha, dependendo de seu argumento (o núme-
plique o motivo. ro do bit, considerando o bit 1nais à esquerda co1no igual
a 1), nias copie o restante das duas linhas de forma correta.
46. Considere um canal de satélite de 64 kbps livre de erros
utilizado para enviar quadros de dados de 512 bytes em um Digitando:
sentido, com confirmações muito curtas voltando no outro gerador <arquivo 1 verificador
sentido. Qual é o throughput máximo para os ta111anhos de
você deverá ver que a mensagem está correta; porém,
janelas iguais a 1, 7, 15 e 127? O te1npo de propagação en-
digitando
tre a Terra e o satélite é de 270 ms.
47. Un1 cabo co1n l 00 km de con1pri1nento funciona na taxa gerador <arq uivo 1 alterar arg 1 verificador
de dados TI. A velocidade de propagação no cabo é igual você deverá obter a mensagem de erro.
a 2/3 da velocidade da luz no vácuo. Quantos bits o cabo
pode conter?
Esta página foi deixada em branco intencionalmente.
A subcamada de controle
de acesso ao meio

Muitos protocolos de comunicação da camada de enlace, facilitar o con1partilhamento. Con10 os canais de 1uultia-
que estudamos no Capítulo 3, contam com um 1ueio de co- cesso têm uma relação muito íntima com as LANs, neste
municação por broadcast para trans1nitir dados. Qualquer capítulo trataremos das LANs e1u geral, bem como de al-
um daqueles protocolos requer mecanismos adicionais para gumas questões que não fazem parte estritamente da sub-
permitir que vários transmissores compartilhem o meio de cainada MAC, mas o assunto principal será o controle do
transmissão de fom1a eficiente e justa. canal.
Em qualquer rede de broadcast, a questão fundamen- Tecn icamente, a subcarnada MAC é a parte inferior
tal é determinar quem te1n direito de usar o canal quando da camada de enlace de dados e, portanto, deveríamos tê-
há uma disputa por ele. Para tornar essa questão 1nais clara, -la estudado antes de analisar todos os protocolos ponto
considere uma chamada de conferência, na qual seis pes- a ponto apresentados no Capítulo 3. No entanto, para a
soas, em seis telefones, estão conectadas entre si, de for- rnaioria das pessoas, é 1nais fácil entender os protocolos
ma que cada unia pode ouvir e fa lar com todas as outras. que envolvem várias partes após protocolos de duas partes
É muito provável que, quando uma delas parar de falar, sere1n bem compreendidos. Por essa razão, nos desvia1uos
duas ou mais co1necem a falar ao mesmo tempo, causando um pouco da ordem de apresentação estritamente de baixo
.
confusão. En1 uma reunião face a face, a confusão é evitada para c1rna.
por n1eios externos. Por exemplo, as pessoas levantam a
mão para pedir pennissão para falar. Quando apenas um
canal está disponível, detenninar quem deve ser o próximo
a falar é muito niais dificil. Existem vários protocolos des- 4.1 O PROBLEMA DA
tinados a solucionar o problema, e eles forn1an1 o conteúdo ALOCAÇÃO DE CANAIS
deste capítulo. Na literatura, os canais de broadcast às ve-
zes são referidos como canais de multiacesso ou canais de O terna central deste capítulo é definir corno alocar um úni-
acesso aleatório. co canal de broadcast entre usuários conco1Tentes. O canal
Os protocolos usados para determinar quem será o poderia ser uma parte do espectro sem fio em uma região
próximo e1u um canal de multiacesso pertence1u a uma geográfica, ou un1 fio isolado ou fibra óptica ao qual vá-
subcamada da camada de enlace de dados, chamada rios nós são conectados. Isso não i1nporta. Nos dois casos,
MAC (Medium Access Control). Ela é especialmente o canal conecta cada usuário a todos os outros e qualquer
importante em LANs, particularmente nas sem fio , pois usuário que faz uso completo do canal interfere na utiliza-
o wireless é naturalmente un1 canal de broadcast. Alguns ção que os outros tan1bérn fazem dele.
aspectos de u1na WAN (p. ex., u1na interconexão direta) Analisaremos primeiro as limitações dos esque1uas de
utilizatn enlaces ponto a ponto; outros (p. ex., uma rede alocação estáticos para o tráfego em rajada. Depois, mos-
de acesso compartilhada em um ISP de cabo) são com- traremos as principais pre1nissas usadas para modelar os es-
partilhados e também contam com a camada MAC para quemas dinâmicos que exa1uinare1nos nas próximas seções.
174 Redes de computadores

4.1.1 Alocação estática de canais exponencial ou, de n1odo equivalente, obedeça a uma série
de Poisson.)
A n1aneira tradicional de alocar um único canal, como u1n Em nosso exemplo, se C é 100 Mbps, o comprimento
tronco telefônico, entre vários usuários concorrentes é di- do quadro médio, l i µ, é 10.000 bits e a taxa de chegada de
vidir sua capacidade usando um dos esquemas de multi- quadros, À, é 5.000 quadrosls, então T = 200 µs. Observe
plexação que descrevemos na Seção 2.4.4, como FDM que, se ignorarmos o atraso de enfileiramento e simples-
(Frequency Division Multiplexing). Se existem N usuários, mente perguntarmos quanto tempo é necessário para enviar
a largura de banda é dividida em N partes do n1esmo ta- um quadro de 10.000 bits em uma rede de 100 Mbps, obte-
manho, e a cada usuário será atribuída uma parte. Como rernos a resposta (incorreta) de 100 µs. Esse resultado só é
cada usuário tem uma banda de frequência particular, não válido quaodo oão há disputa pelo canal.
há interferência entre eles. Quando existe apenas um núme- Agora, vamos dividir o único canal e1n N subcanais
ro pequeno e constante de usuários, cada um dos quais com independentes, cada un1 com capacidade de C/Nbps. A taxa
um fluxo constante ou uma carga de tráfego pesada, essa média de eotrada etn cada um dos subcanais será, agora,
divisão é um mecanismo de alocação simples e eficiente. }JN. Ao recalcularmos T, obteremos:
Um exe1nplo de uso se1n fio são as estações de rádio FM.
Cada estação recebe uma parte da banda de FM e a utiliza, l N
TN = = =NT
na 1naior parte do te1npo, para trans1nitir seu sinal. µ(CIN)- (J,/N) µC- J..
No entanto, quando o nfunero de transn1issores é gran-
de e continuan1ente variável, ou quando o tráfego ocorre e1n O atraso médio para o canal dividido é N vezes pior do que
rajadas, a FDM apresenta alguns problemas. Se o espectro seria se todos os quadros estivessetn, de alguma forma má-
for dividido em N regiões, e menos de N usuários estive- gica, distribuídos de maneira ordenada em uma grande fila
rem ínteressados em estabelecer co1nunicação no momen- central. Esse mesmo resultado explica por que um banco
to, grande parte do valioso espectro será desperdiçada e, cheio de caixas eletrônicos funciona melhor com uma única
se mais de N usuários quiserem se comunicar, alguns deles fila alimentando todas as máquinas do que urna fila separa-
terão o acesso negado por falta de largura de banda, mesmo da à frente de cada máquina.
que alguns dos usuários aos quais uma banda de frequência Os n1esmos argurnentos que se aplicam à FDM tan1-
foi alocada raramente transn1itam ou recebam dados. bém se aplican1 a outras formas de dividir o canal esta-
Contudo, mes1no supondo que o número de usuários ticamente. Se usássemos a multiplexação por divisão de
poderia ser, de algum modo, mantido constante em N, a di- tempo, ou TDM (Tirne Division Multiplexing), e alocásse-
visão de u1n único canal disponível em subcanais estáticos mos cada usuário a cada n-ésimo slot de tempo, e ainda se
revela u1na ineficiência inerente. O problema básico é que, um usuário não usar o slot alocado, este será sin1ples1nente
quando alguns usuários fica1n inativos, sua largura de ban- desperdiçado. O mesn10 é válido se dividirmos as redes fi-
da é siinplesn1ente perdida. Eles não estão utilizando essa sicamente. Usando 1nais uma vez nosso exemplo anterior,
largura de banda, e ninguém mais pode fazê-lo. Uma aloca- se substituíssemos a rede de 100 Mbps por dez redes de
ção estática não é apropriada para a maioria dos sistemas de 1O Mbps e fizésse1nos a alocação estática de cada usuário
computadores em que o tráfego de dados ocorre e1n rajadas a uma delas, o atraso médio saltaria de 200 µs para 2 1ns.
(são comuns relações de 1.000: 1 entre o tráfego de pico e o Como nenhum dos métodos estáticos tradicionais de
tráfego médio). Em consequência disso, a maioria dos ca- alocação de canais funciona bem com u1n tráfego em raja-
nais permanecerá ociosa na 1naior parte do tempo. da, agora trataremos dos métodos dinâmicos.
O fraco desempenho da FDM estática pode ser facil-
mente visto com um simples cálculo da teoria do enfileira- 4.1.2 Premissas para a alocação
mento. Vamos começar co1n o atraso de tempo médio, T,
para um canal com capacidade C bps. Consideramos que os dinâmica de canais
quadros chegam aleatoriamente, com u1na taxa de chegada Antes de co1neçannos a descrever o pri1neiro dos muitos
de À. quadros/s. O comprimento de cada quadro varia, com métodos de alocação de canais a serem discutidos neste ca-
um cornprimento médio de l iµ bits. Com esses parâmetros, pítulo, vale a pena formular cuidadosamente o problema da
a taxa de serviço do canal é pC quadros/s. Pela teoria do alocação. Existem cinco pre1nissas fundatnentais subjacen-
enfileiramento, o resultado é tes a todo trabalho real izado nessa área, que serão descritas
a seguir.
l
T = --- 1. Tráfego independente. O modelo consiste em N
µC - À
estações independentes (computadores, telefones),
(Para os curiosos, esse resultado é para uma fila "M/M/ 1". cada qual co1n um progra1na ou usuário que gera qua-
Ele requer que a aleatoriedade dos ten1pos entre as chega- dros para trans1nissão. O nú1nero esperado de quadros
das e os co1nprimentos de quadro siga u1na distribuição gerados em u1n intervalo de duração !lt é J..!lt, onde J.. é
Capítulo 4 • A subcamada de controle de acesso ao meio 175

u1na constante (a taxa de chegada de novos quadros). A premissa de canal único é o núcleo do rnodelo.
Uma vez gerado u1n quadro, a estação é bloqueada e Não existem forn1as externas de co1nunicação. As estações
nada faz até que o quadro tenha sido trans1nitido com não pode1n levantar as mãos para solicitar que o professor
êxito. lhes permita falar, de modo que precisaremos de soluções
2. Premissa de canal único. Um único canal está dispo- melhores.
nível para todas as co1nunicações - todas as estações As três premissas restantes dependem da engenharia
pode1n trans1nitir e receber por ele. As estações são do siste1na, e dirernos quais delas são rnantidas quando exa-
consideradas igualmente capazes, embora os protoco- minarmos un1 protocolo e1n particular.
los possam atribuir diferentes papéis (p. ex., priorida- A premissa de colisão também é básica. As estações
des) a elas. precisam de um modo para detectar colisões se tiveren1 de
3. Colisões obser váveis. Se dois quadros são transmiti- transmitir quadros em vez de deixar que se percam. Para
dos simultaneamente, eles se sobrepõe1n no ternpo, e o canais corn fio, o hardware do nó pode ser projetado para
sinal resultante é adulterado. Esse evento é denomina- detectar col isões quando elas ocorrerem. As estações po-
do colisão. Todas as estações podem detectar colisões. dem, então, tenninar suas transrnissões prematuramente
Un1 quadro que tenha sofrido colisão terá de ser re- para evitar desperdiçar capacidade. Essa detecção é 1nuito
transmitido posteriormente. Não há outros en·os alé1n mais difícil para canais se1n fio, de modo que as colisões
dos gerados por colisões. nonnaln1ente são deduzidas após o fato , pela falta de um
quadro de confirmação esperado. Tambérn é possível que
4. Tempo contínuo ou segmentado (slotted). O tempo
alguns quadros envolvidos ern uma colisão sejam recebi-
pode ser considerado contínuo, caso em que a trans-
dos com sucesso, dependendo dos detalhes dos sinais e do
rnissão do quadro pode começar a qualquer instante.
hardware de recepção. Contudo, essa situação não é o caso
Como alternativa, o tempo pode ser segmentado ou
comu1n, de modo que iremos supor que todos os quadros
dividido em intervalos discretos (slots). As transmjs-
envolvidos em uma colisão são perdidos. Também veremos
sões de quadros sempre começam no início de u1n
protocolos projetados para impedir colisões ern primeiro
slot. Urn slot pode conter O, 1 ou 1nais quadros, con·es-
lugar.
pondentes a um slot ocioso, a uma transrnissão bem-
-sucedida ou a uma colisão, respectivamente. O objetivo das duas premissas alternativas em relação
ao tempo é que o tempo segmentado pode ser usado para
5. Detecção de portadora (carrier sense) ou sem de- 1nelhorar o dese1npenho. Todavia, é preciso que as estações
tecção de portadora. Com a premissa de detecção de sigam um relógio mestre ou sincronizern suas ações entre
portadora, as estações conseguen1 detectar se o canal si para dividir o tempo em intervalos distintos. Logo, ele
está sendo usado antes de tentar utilizá-lo. Se for de- nem sempre está disponível. Discutiremos e analisaremos
tectado que o canal está ocupado, nenhuma estação os sistemas com os dois tipos de ten1po. Para determinado
tentará usá-lo até que ele fique livre. Se não houver sisten1a, so1nente wn deles é válido.
detecção de portadora, as estações não conseguem
Da 1nesma forn1a, uma rede pode ter a detecção de
detectar o canal antes de tentar utilizá-lo. Elas sin1-
portadora ou não. Em geral, as redes com fio têm detecção
plesrnente vão e1n frente e trans1nitem. Somente ruais
de portadora. No entanto, as redes sem fio não podem usá-
tarde conseguem detenninar se a transmissão foi ou
-la de forma efetiva, porque nem toda estação está den-
não bem-sucedida.
tro do alcance de rádio das outras. De modo semelhante,
Ainda é necessário discutir essas premissas um pouco a detecção de portadora não estará disponível em outros
mais. A prirneira diz que as chegadas de quadro são inde- ambientes nos quais utna estação não pode se co1nunicar
pendentes, entre estações ou em uma estação específica, e diretamente com outras estações, por exemplo, um modem
que eles são gerados de modo imprevisível, mas a uma taxa a cabo no qual as estações precisa1n se con1unicar pelo
constante. Na realidade, essa premissa não é um modelo headend do cabo. Observe que a palavra "portadora" (car-
de tráfego de rede particulannente bom, pois sabemos que rier), nesse sentido, se refere a um sinal pelo canal, e não
os pacotes chegam em rajadas em intervalos escalonados tem nenhuma relação com as operadoras comuns (p. ex.,
de ternpo (Paxson e Floyd, 1995). Pesquisas recentes con- as empresas de telefonia) que remontam à época do Pony
flfman1 que o padrão ainda existe (Fontugne et ai. 2017). Express.
Apesar disso, modelos de Poisson, co1no nonnalmente são Para evitar qualquer rnal-entendido, vale a pena obser-
chamados, são úteis em parte porque são n1ate1naticamente var que nenhu1n protocolo de multiacesso garante entrega
tratáveis. Eles nos ajudam a analisar protocolos para enten- confiável. Mesmo na ausência de colisões, o receptor pode
der, em linhas gerais, como o desempenho muda ao longo ter copiado parte do quadro incorretamente por diversos
de um intervalo de operação e con10 ele se compara com motivos. Outras partes da camada de enlace ou de camadas
outros projetos. superiores oferecem confiabilidade.
176 Redes de computadores

4.2 PROTOCOLOS DE ALOHA original


ACESSO MÚLTIPLO A ideia básica de un1 sistema ALOHA é simples: pern1itir
que os usuários transmitam sempre que tiverem dados para
Existem muitos algoritmos conhecidos para alocar tnn ca- enviar. Naturalmente, haverá colisões, e os quadros que co-
nal de acesso múltiplo. Nas seções a seguir, estudare1nos 1idirem serão danificados. Os transmissores precisam, de
uma pequena amostra dos n1ais interessantes e apresentare- alguma maneira, descobrir se isso acontece. No sistema
mos alguns exe1nplos práticos de sua utilização. ALOHA, após cada estação ter trans1nitido seu quadro para
o computador central, este retransmite o quadro para todas
as estações. Desse modo, uma estação transmissora pode
4.2.1 ALOHA escutar por broadcast a partir do hub para ver se seu quadro
passou. E1n outros siste1nas, como nas LANs com fio, o
A história do nosso primeiro protocolo de acesso múlti- trans1nissor precisa ser capaz de escutar colisões enquanto
plo, ou MAC, começa no Havaí primitivo, no início da transmite.
década de 1970. Nesse caso, "prim itivo" pode ser inter- Se o quadro foi destruído, o transmissor apenas espera
pretado como "não tendo um sistema telefônico funcio- um período aleatório e o envia novamente. O tempo de es-
nal". Isso não tornava a vida 1nais agradável para o pes- pera deve ser aleatório, caso contrário os mesmos quadros
quisador Norman Abramson e seus colegas da University continuarão a colidir repetidas vezes, de forma inflexível.
of Hawaii, que estavatn tentando conectar usuários nas Os sistemas em que vários usuários compartilham um canal
ilhas remotas ao computador principal em Honolulu. Es- comum de forma que possa gerar conflitos e1n geral são
ticar seus próprios cabos sob o Oceano Pacífico estava conhecidos co1no sistemas de disputa.
fora de cogitação e, portanto, eles procuravam uma solu- A Figura 4.1 mostra um esboço da geração de quadros
ção diferente. en1 un1 siste1na ALOHA. Os quadros foram criados co1n
A solução encontrada usava rádios de curta distância, o 1nesmo comprimento porque o throughput dos sistemas
co1n cada terminal de usuário co1npartilhando a mesma ALOHA é maximizado quando o comprimento dos quadros
frequência upstream para enviar quadros ao computador é uniforme em vez de variável.
central. Isso incluía um método simples e elegante para re- Sempre que dois quadros tentaren1 ocupar o canal ao
solver o problema de alocação de canal. Seu trabalho foi n1esmo tempo, haverá un1a colisão (como pode ser visto
ampliado por vários pesquisadores desde então (Scbwartz na Figura 4.1) e a1nbos serão danificados. Se o primeiro
e Abramson, 2009). Embora o trabalho de Abramson, de- bit de u1n novo quadro se sobrepuser apenas ao últiino bit
no1ninado siste1na ALOHA, usasse a radiofrequência ter- de um quadro quase terminado, os dois quadros serão to-
restre, a ideia básica é aplicável a qualquer sistema em que talmente destruídos (ou seja, terão checksums incorretos)
usuários se1n nenhuma coordenação estão competindo pelo e terão de ser retransmitidos posteriormente. O checksum
uso de um único canal compartilhado. não consegue (e não deve) fazer distinção entre u1na perda
Descreveremos aqui duas versões do ALOHA: origi- total e uma perda parcial. Quadro com erro é quadro com
nal e slotted (segmentado). Elas diferem quanto ao fato de erro, sen1 distinções.
o te1npo ser contínuo, como na versão original, ou dividi- U1na questão interessante é: qual é a eficiência de
do em slots discretos em que todos os quadros devem se u1n canal ALOHA? Em outras palavras, que fração de
.
encaixar. todos os quadros trans1nitidos escapa de colisões nessas

Usuário
A
11 11
B

e
D 1 1

E
1
1 1 1 1
e 1. -
0 1 sao~
1 1
.. , Tempo-- 1
, ..
1
1
~01sao
e • _

Figura 4.1 No ALOHA original, os quadros são transmitidos em tempos totalmente arbitrários.
Capítulo 4 • A subcamada de controle de acesso ao meio 177

circunstâncias tão caóticas? Va1nos considerar prin1eiro sombreado chegará se1n e1Tos? Seja t o tempo necessário
um conjunto infinito de usuários interativos em seus ter- para enviar um quadro. Se qualquer outro usuário tiver ge-
minais (estações). O usuário sempre se encontra em um de rado um quadro no intervalo entre t0 e t0 + t, o final desse
dois estados: digitação ou espera. Inicialmente, todos os quadro colidirá com o início do quadro sombreado. Na ver-
usuários estão no estado de digitação. Quando uma linha é dade, esse quadro já estava condenado antes de o pri1neiro
conectada, o usuário para de digitar e espera u1na resposta. bit ser transn1itido; porén1, como no ALOHA original uma
Então, a estação transmite um quadro contendo a linha e estação não escuta o canal antes de transmitir, não há como
verifica o canal para saber se a transmissão foi bem-suce- saber se já havia outro quadro a caminho. Da mesma forma,
dida. E1n caso afirmativo, o usuário vê a resposta e volta a qualquer outro quadro iniciado entre t0 + te t0 + 2t colidirá
digitar. Caso contrário, ele continua a esperar e o quadro com o final do quadro sombreado.
é retrans1nitido continuamente até ser enviado com êxito. A probabilidade de k quadros serem gerados durante
O "tempo de quadro" representa o período necessário detenninado tempo de quadro, no qual G quadros são espe-
para trans1nitir o quadro padrão de comprimento fixo (i.e., rados, é obtida pela distribuição de Poisson
o co1nprimento do quadro dividido pela taxa de bits). Nesse
ponto, supomos que os novos quadros sejam gerados pelas
estações de acordo com uma distribuição de Poisson, com (4.1)
uma tnédia de N quadros por tempo de quadro. (A premis-
sa de população infinita é necessária para garantir que N e, portanto, a probabilidade de zero quadros é simplesmen-
não diminuirá à medida que os usuários forem bloqueados). te e·G. Em um intervalo co1u duração de dois tempos de
Se N > 1, a comunidade de usuários está gerando quadros
quadro, o nú1nero 1nédio de quadros gerados é 2G. A pro-
em uma taxa superior à capacidade do canal, e praticamen- babilidade de nenhun1 outro quadro ser iniciado durante
te todos os quadros sofrerão colisões. Para um throughput todo o período de vulnerabilidade é, portanto, indicada por
razoável, esperaríamos O< N < 1. 2
P 0 = e- G. Usando S = GP0 , obtemos:
Além dos novos quadros, as estações também gera1n
retransmissões de quadros que sofreram colisões anterior- S= Ge· 2G
mente. Vamos supor ainda que os quadros antigos e novos
co1nbinados também sejam uma distribuição de Poisson, A Figura 4.3 mostra a relação entre o tráfego ofere-
con1 1nédia G por te1npo de quadro. Evidente1nente, G > N. cido e o throughput. O throughput máximo ocorre em G =
E1n situações de carga baixa (ou seja, N ::::: O), ocorrerão 0,5, co1n S = l/2e, o que corresponde a aproximadamente
poucas colisões e, portanto, haverá poucas retransmissões. O, 184. Em outras palavras, o melhor que podemos esperar é
Por conseguinte, G ::::: N. E1n situações de carga alta, oco1Te- uma utilização do canal de 18%. Esse resultado não é muito
rão várias colisões e, portanto, G > N. Para qualquer carga, animador, 1nas, com todas as pessoas trans1nitindo à von-
o throughput Sé simples1nente a carga oferecida, G, n1ulti- tade, dificilmente poderíamos esperar uma taxa de 100%
plicada pela probabilidade P0 de u1na transmissão ser ben1- de êxito.
-sucedida - isto é, S = GP0 , onde P0 é a probabilidade de um
quadro não sofrer colisão. Slotted ALOHA
Um quadro não sofrerá colisão se nenhum outro for
enviado dentro de um tempo de quadro a partir de seu iní- Logo depois que o ALOHA entrou em cena, Roberts ( 1972)
cio, como mostra a Figura 4.2. Em que condições o quadro publicou um método para duplicar a capacidade de um

l
Colide com
l
Colide com
o início do 1 o final
- --t---·
1
quadro 1
do quadro
1
sombreado 1 sombreado
1
1
1
1
1
1
o t 0+ t t0 + 2t t0+ 3tTempo--
1- --- Vulnerável - - 1
Figura 4.2 Período de vulnerabilidade do quadro sombreado.
178 Redes de computadores

ê
-g
:::>
~ 0,40 Slotted ALOHA: S = Ge-G
"O ------------;,;::.
-- ~;-------....._
o
a. 0,30
E
-
Q)

C5 0,20
a.
:Í O 1O ALOHA original: S = Ge-2G

le ' o~~~_l~~~j_~~-=:;::::::J~==========:==J
.e 0,5 1,0 1,5 2,0 3,0
~
(/) G (tentativas por tempo de pacote)

Figura 4.3 Throughput em comparação com o tráfego oferecido para sistemas ALOHA.

sisterna ALOHA. Sua proposta era dividir o tempo em O número esperado de transmissões, E, por cada linha
intervalos discretos, chamados slots, com cada intervalo digitada em um terminal é, portanto,
correspondendo a um quadro. Esse método exige que os
00 00
usuários concordem etn relação às fronteiras dos slots. Uma E= L kPk L ke-G(1 - e- G)k- t eG
fo rma de alcançar a sincronização entre os usuários seria k= I k= I
ter uma estação especial que ernitisse um sinal sonoro no
início de cada intervalo, como um relógio. Como resultado da dependência exponencial de E em re-
No rnétodo de Roberts, que passou a ser conhecido lação a G, pequenos au1nentos na carga do canal podem
como slotted ALOHA - em contraste com o ALOHA reduzir drasticarnente seu desernpenho.
original de Abramson - , um computador não tem per- O slotted ALOHA é irnportante por uma razão que,
missão para transm itir sempre que o usuário digita uma a princípio, talvez não seja óbvia. Ele foi criado na déca-
linha. Em vez disso, é necessário esperar o início do pró- da de 1970, foi usado ern alguns sistemas experimentais e
ximo slot. Consequentemente, o ALOHA original contínuo depois foi quase esquecido (exceto por autores de livro ex-
transforma-se em um sistema discreto. O período de vul- cêntricos, que gostavarn dele). Quando foi criado o acesso
nerabilidade está agora reduzido à metade. Para verificar à Internet por cabo, surgiu o problerna de con10 alocar un1
isso, examine a Figura 4.2 e imagine as colisões que agora canal cornpartilhado entre vários usuários concorrentes, e
são possíveis. A probabi lidade de não haver outro tráfego o slotted ALOHA foi resgatado para salvar a situação, com
durante o mesrno slot de nosso quadro de teste é e-ª, o que um punhado de outras ideias niisturadas. Corn frequência,
nos leva a: protocolos perfeitamente válidos caem ern desuso por ra-
zões políticas (p. ex. , quando alguma grande ernpresa de-
seja que todas as outras sigam seu modelo) ou en1 virtude
de tendências tecnológicas em constante mudança. Então,
Como podernos ver na Figura 4.3, a taxa máxima do slotted anos depois, alguém inteligente percebe que urn protoco-
ALOHA é G = 1, con1 un1 throughput S = 1/e, ou aproxin1a- lo descartado muito antes resolve seu problema atual. Por
damente 0,368, o dobro do ALOH.A original. Se o sistema essa razão, neste capítulo estudaremos diversos protocolos
estiver funcionando a uma taxa de G = 1, a probabilidade de elegantes que não são muito utilizados hoje, mas que po-
um slot vazio será 0,368 (pela Equação 4.1 ). O rnelhor que deriam facilrnente ser empregados em aplicações futuras,
podemos esperar con1 a utilização de urn slotted ALOHA é desde que projetistas de redes em número suficiente tives-
,
37% de slots vazios, 37% de sucessos e 26% de colisões. sem conhecimento deles. E claro que também estudaren1os
O funcionamento em valores superiores de G reduz o nú- muitos protocolos usados atualmente.
mero de slots vazios, nias aumenta exponenciahnente o
nún1ero de colisões. Para ver corno ocorre esse rápido cres-
cimento de colisões com G, considere a transmissão de um 4.2.2 Protocolos de acesso múltiplo
quadro de teste. A probabilidade de ele evitar uma colisão com detecção de portadora
é de e-ª, que é a probabilidade de todos os outros usuários
estaren1 inativos nesse slot. A probabilidade de un1a colisão Com o slotted ALOHA, a melhor utilização de canal que
é, então, apenas 1 - e-ª. A probabilidade de un1a transmis- é possível conseguir é l/e. Isso não surpreende, pois, com
são exigir exatamente k tentativas (ou seja, k - 1 colisões as estações transrnitindo à vontade, sem prestar atenção
seguidas por uma transmissão bem-sucedida) é ao que as outras estão fazendo, é provável que ocorram
muitas colisões. Contudo, ern LANs, as estações podern
detectar o que outras estão fazendo e, então, adaptar seu
Capítulo 4 • A subcamada de controle de acesso ao meio 179

co1nportamento de acordo co1n essa situação, podendo sen1 problemas. Exata1nente o mes1no se aplica ao slotted
atingir uma utilização 1nelhor que l/e. Nesta seção, estu- ALOHA.
daremos alguns protocolos que melhoram o dese1npenho Um segundo protocolo com detecção de portadora é o
da rede. CSMA não persistente. Nesse protocolo, é feita uma ten-
Os protocolos nos quais as estações escuta1n u1na por- tativa consciente de ser menos ávido que no protocolo ante-
tadora (i.e., uma trans1nissão) e funcionam de acordo com rior. Como antes, uma estação escuta o canal quando deseja
ela são denominados protocolos com detecção de porta- enviar um quadro e, se ninguém mais estiver transmitindo,
dora. Muitos deles têm sido propostos e já há muito tem- inicia a transmissão imediatamente. No entanto, se o canal
po foran1 analisados com detalhes. Por exemplo, consulte já estiver sendo utilizado, a estação não permanecerá escu-
Kleinrock e Tobagi (1975). A seguir, 1nencionaren1os al- tando continua1nente a fim de se apoderar de imediato do
gumas versões dos protocolos com detecção de portadora. canal após detectar o fim da transmissão anterior. E1n vez
disso, a estação aguardará durante um intervalo aleatório e,
CSMA persistente e não persistente em seguida, repetirá o algoritmo. Consequentemente, esse
algorinno leva a u1na 1nelhor utilização do canal, e a atrasos
O primeiro protocolo com detecção de portadora que estu- maiores do que no CSMA !-persistente.
daremos aqui denomina-se CSMA (Carrier Sense Multi- O último protocolo é o CSMA p-persistente. Ele se
pie Access) 1-persistente. Esse é um nome extenso para aplica a canais segmentados (slotted) e funciona da forma
indicar o esquema CSMA mais si1nples. Quando uma esta- apresentada a seguir. Quando está pronta para trans1nitir, a
ção tem dados a transnlitir, primeiro ela escuta o canal para estação escuta o canal. Se ele estiver desocupado, a estação
ver se mais alguém está transmitindo no 1nomento. Se o transmite com un1a probabilidade p. Com u1na probabili-
canal estiver desocupado, as estações enviam seus dados. dade q = 1 - p, haverá um adiamento até o próxiino slot.
Caso contrário, a estação espera até que ele fique desocu- Se este também estiver desocupado, haverá uma transmis-
pado e então transn1ite un1 quadro. Se ocorrer uma colisão, são ou um novo adiamento, con1 probabilidades p e q. Esse
a estação espera u111 intervalo de tempo aleatório e começa processo se repete até o quadro ser transn1itido ou até que
tudo de novo. Esse protocolo é denominado ! -persistente outra estação tenha iniciado uma transmissão. Neste úl-
porque a estação trans1nite con1 probabilidade 1 sempre que timo caso, ela age como se tivesse ocorrido uma colisão
encontra o canal desocupado. (ou seja, aguarda durante um intervalo aleatório e reinicia
Você poderia esperar que esse esque1na evitasse co- a transmissão). Se inicialmente detectar que o canal está
lisões, exceto no caso raro de trans1nissões simultâneas, ocupado, a estação espera pelo próximo slot e aplica o algo-
tnas, na verdade, isso não acontece (a situação é 1nuito pior ritmo anterior. O fEEE 802.11 usa uma melhoria do CSMA
do que esta). Se duas estações estão prontas no 1neio da p-persistente, que discutiremos na Seção 4.4.
transmissão de uma terceira estação, a1nbas esperarão edu- A Figura 4.4 1nostra o throughput calculado em com-
cadamente até que a transmissão termine e, depois, a1nbas paração com o tráfego oferecido para os três protocolos,
começarão a transmitir simultaneamente, resultando em bem como para o ALOHA original e o slotted ALOHA.
u1na colisão. Se elas não fossem tão impacientes, haveria
menos colisões.
De modo n1ais sutil, o atraso de propagação te1n um
CSMA com detecção de colisões
efeito importante sobre as colisões. Há uma chance de que, Os protocolos CSMA persistentes e não persistentes são
logo após u1na estação começar a transmitir, outra estação um avanço claro e1n relação ao ALOHA, pois garantem que
fique pronta para transmitir e escutar o canal. Se o sinal nenhun1a estação começará a trans1nitir enquanto o canal
da primeira estação ainda não tiver atingido a segunda, estiver ocupado. Contudo, se duas estações percebere1n que
esta detectará um canal desocupado e também começará a o canal está desocupado e começarem a transnlitir simulta-
transmitir, resultando em uma colisão. Essa probabilidade neamente, seus sinais ainda causarão colisão. Outro avan-
depende do nú1nero de quadros que cabem no canal, ou o ço é que as estações poden1 detectar a colisão rapidan1ente
produto largura de banda-atraso do canal. Se apenas e interromper a transmissão de forma abrupta (en1 vez de
uma pequena fração do quadro couber no canal, o que é o completá-la), pois não têm como reparar a situação. Essa
caso na maioria das LANs, uma vez que o atraso de propa- estratégia econon1iza tempo e largura de banda.
gação é pequeno, o risco de uma colisão acontecer é peque- Esse protocolo, conhecido co1no CSMA/CD (CSMA
no. Quanto maior o produto largura de banda-atraso, 1naior with Collision Detection), é a base da LAN Ethernet clás-
será a importância desse efeito e pior será o dese1npenho sica; assim, vale a pena
,
dedicarmos algum tempo a exa1ni-
do protocolo. ná-lo em detalhes. E importante observar que a detecção de
Mesmo assim, esse protocolo tem um dese1npenho colisão é um processo analógico. O hardware da estação
be1n melhor que o ALOHA original , pois ambas as esta- deve escutar o canal enquanto está trans1nitindo. Se o sinal
ções respeitam a transmissão e desistem de interferir no que ela lê de volta for diferente do sinal que está enviando,
quadro de uma terceira estação, de modo que ele atravessa ela saberá que está havendo uma colisão. As implicações
180 Redes de computadores

CSMA 0,01-persistente
1,0
Q) CSMA não persistente
õ 0 ,9
(.)

~ 0,8 CSMA O, 1-persistente


Q)
'O 0 ,7
o
o. CSMA
E 0,6
-
Q)

..... 0,5
o
o.
_...-o,5-persistente

Slotted
'S 0,4 ALOHA
o.
.r::
O)
0,3 CSMA
~ ALOHA ,,,,...-1-persistente
e
.r::
0.2
,
,.,, . .
ong1na1

~ ºo'rf__~~~==:::::c::::::::::
0 ,1
1 2
......~==:::~:::::::r=:==:: : :±=====:::::::~:::::::::J
3 4 5 6 7 8 9
G (tentativas por tempo de pacote)

Figura 4.4 Comparação entre a utilização do canal e a carga de vários protocolos de acesso aleatório.

são que um sinal recebido não deverá ser pequeno en1 com- levarão para perceber que houve u1na colisão? A resposta
paração com o sinal trans1nitido (o que é dificil para as re- a essa pergunta é essencial para determinar a duração do
des sem fio, pois os sinais recebidos podem ser um milhão intervalo de disputa e, portanto, quais serão o atraso e o
de vezes mais fracos do que os sinais transmitidos) e que a throughput.
modulação deve ser escolhida para pern1itir que as colisões O te1npo n1ínimo para a detecção de u1na colisão é
sejam detectadas (p. ex., uma colisão de dois sinais de O apenas o te1npo que o sinal leva para se propagar de uma
volt pode muito bem ser impossível de detectar). estação até a outra. Com base nessa informação, você po-
O CSMA/CD e vários outros protocolos de LANs deria pensar que uma estação que não detectasse uma coli-
utiliza1n o modelo conceituai apresentado na Figura 4.5. são durante um intervalo igual ao tempo de propagação em
No ponto marcado com t0, uma estação tern1inou a trans- todo o cabo, após ter iniciado sua trans1nissão, teria certeza
missão de seu quadro. Qualquer outra estação que tenha de haver se apoderado do cabo. Co1n o termo "apoderado",
u1n quadro a ser enviado pode transmiti-lo. Se duas ou queremos dizer que todas as outras estações sabem da trans-
mais estações decidirem transmitir simultaneamente, ha- rnissão e não interferirão. Essa conclusão está incorreta.
verá u1na colisão. Se uma estação detecta uma colisão, ela Considere a pior hipótese possível a seguir. Seja r o
cancela sua transmissão, espera u1n intervalo aleatório e, tempo de propagação de um sinal entre as duas estações
em seguida, tenta novamente (supondo que nenhuma outra mais distantes. Em t0, uma estação começa a transn1itir.
estação tenha começado a transmitir nesse interi1n). Dessa Em t0 + r - e, um instante antes de o sinal chegar à estação
forma, nosso modelo de CSMA/CD consistirá em períodos n1ais distante, essa estação também começa a transmitir.
alternados de disputa e de trans1nissão, com a ocorrência de É claro que ela detecta a colisão quase instantaneamente e
períodos de inatividade quando todas as estações estiverem para, mas o pequeno ruído causado pela colisão não retoma
em repouso (p. ex., por falta de trabalho). à estação original até o período 2r - e. Em outras palavras,
Agora, vamos analisar mais de perto os detalhes do no pior cenário, uma estação só poderá ter certeza de ter
algoritmo de disputa. Suponha que duas estações comecem se apoderado do canal após trans1nitir durante o período 2r
u1na transmissão no instante exato t0 . Quanto ten1po elas sem detectar uma colisão.

Slots em
disputa

!
Quadro 1 DDD 1 Quadro 1 DDDD 1 Quadro D 1 Quadro
'-.,---J
Período de Período Período de
transmissão de disputa inatividade
Tempo - -

Figura 4.5 O CSMA/CD pode estar em um destes três estados: transmissão, disputa ou inatividade.
Capítulo 4 • A subcamada de controle de acesso ao meio 181

Compreendendo isso, podemos pensar na disputa do outra estação poderá transmitir durante esse slot. Inde-
CSMA/CD como um sistema slotted ALOHA, com uma pendenten1ente do que a estação Ofizer, a estação 1 terá a
largura de slot igual a 2r. Em um cabo coaxial de 1 km oportunidade de trans1nitir un1 bit l durante o slot l, mas
de co111pri1nento, r ::::: 5µs. A diferença para CSMA/CD e1n apenas se tiver u1n quadro na fila para ser enviado. Em ge-
con1paração co1n o slotted ALOHA é que os slots en1 que ral, é possível que a estação j inforn1e que tem u1n quadro
apenas uma estação transmite (ou seja, em que o canal é para transmitir inserindo u1n bit 1 no slot j. Depois que
apoderado) são acompanhados pelo restante de um quadro. todos os N slots tivere1n passado, cada estação terá total
Essa diferença melhorará bastante o desempenho se o tem- conhecimento de quais estações deseja1n transmitir. Nesse
po do quadro for muito maior que o tempo de propagação. ponto, elas co1neça1n a transmitir e1n orde1n numé1ica (ver
Figura 4.6).
Como todas as estações concorda1n sobre quem será a
4.2.3 Protocolos livres de colisão próxima a transmitir, nunca haverá colisões. Após a última
Embora as colisões não ocorram com o CSMA/CD depois estação ter transmitido seu quadro, u1n evento que todas as
que uma estação captura o canal sem ambiguidade, elas estações podem n10nitorar com faci lidade, inicia-se outro
ainda pode1n oco1Ter durante o período de disputa. Essas período de disputa de N bits. Se uma estação ficar pronta
colisões afetam de modo adverso o desempenho do siste- logo após seu slot de bits ter passado, ela não conseguirá
ma, em especial quando o produto largura de banda-atraso transmitir e precisará permanecer inativa até que todas as
é grande, por exe1nplo, quando o cabo é longo (ou seja, demais tenha1n tido a chance de transmitir e o bit-map te-
quando ré grande) e os quadros são curtos. As colisões não nha voltado a passar por ela.
só reduzem a largura de banda, mas tambén1 tomam variá- Protocolos como esse, nos quais o desejo de trans-
vel o tempo para transmitir u1n quadro, o que não é bo1n mitir é difundido antes de ocorrer a transmissão real, são
para u1n tráfego em te1npo real, co1no VolP. Além disso, o chamados de protocolos de reserva, pois eles reservam a
CSMA/CD não é aplicável de 1naneira universal. posse do canal co1n antecedência e impedein colisões. Va-
Nesta seção, exa1ninaremos alguns protocolos que re- mos analisar rapidamente o desempenho desse protocolo.
solvem a disputa pelo canal sem a ocorrência de colisões, Para facilitar, mediremos o te1npo em unidades do slot de
nem mesmo durante o período de disputa. A maioria desses bits de disputa, com os quadros de dados consistindo em d
protocolos não é usada atualmente e1n siste1nas iinportan- unidades de tempo.
tes, mas, en1 un1 campo que 1nuda rapida1nente, a existência
Em condições de carga baixa, o bit-map simplesmente
de alguns protocolos com excelentes propriedades disponí-
será repetido várias vezes, por falta de quadros de dados.
veis para sistemas futuros frequentemente é algo bom.
Considere a situação do ponto de vista de uma estação com
Nos protocolos que descreveremos, vamos supor que
numeração baixa, como Oou 1. Normalmente, quando ela
existam exatamente N estações, cada uma programada com
fica pronta para enviar, o slot "atual" estará em algum pon-
um endereço exclusivo de Oaté N - 1. O fato de que algu-
to no meio do bit-1nap. Em média, a estação terá de esperar
mas estações talvez possam estar inativas durante parte do
N/2 slots para que a varredura atual seja concluída e n1ais
tempo não tem importância. Também supomos que o atraso
N slots completos até que a varredura seguinte se encerre,
de propagação é desprezível. A pergunta básica permane-
para poder começar a transmitir.
ce: que estação terá a posse do canal após uma trans1nissão
ben1-sucedida? Continuaren1os a utilizar o modelo 1nostra- As estações que estivere1n aguardando e tiverem nú-
do na Figura 4.5 com seus slots discretos de disputa. meros mais altos obterão resultados 1nelhores. Em geral,
elas só precisarão esperar pela n1etade de u1na varredura
(N/2 slots de bits) antes de iniciar a transmissão. As esta-
O protocolo bit-map ções con1 nun1eração mais alta raramente precisam esperar
Em nosso primeiro protocolo livre de colisão, o método pela próxima varredura. Como as estações de nu1neração
básico bit-map, cada período de disputa consiste e1n exa- baixa precisam esperar e1n média 1,5 N slots e as de nume-
tamente N slots. Se tiver um quadro para trans1nitir, a esta- ração alta precisam esperar em n1édia 0,5 N slot, a média
ção Oenvia un1 bit 1 durante o slot número zero. Nenhuma para todas as estações é N slots.

8 slots de disputa 8 slots de disputa


01234567 o1 2 3 4 5 6 7 o1 2 3 4 5 6 7
-
1 d

Figura 4.6 O protocolo básico bit-map.


182 Redes de computadores

É fácil calcular a eficiência do canal com carga baixa. que conecta as estações poderia ser un1 único e longo barra-
O overhead por quadro é de N bits, e o volume de dados é mento (cabo). Em seguida, cada estação usa o barramento
de d bits, o que resulta em u1na eficiência igual a dl(d + N). para enviar o token para a próxima estação em uma sequên-
Sob carga alta, quando todas as estações têtn algo a cia predefinida. A posse do token permite que uma estação
enviar o tempo todo, o período de disputa de N bits é divi- use o barra1nento para enviar um quadro. Esse protocolo é
dido proporcionalmente entre N quadros, produzindo um cha1nado de barramento de tokens (ou token bus). Ele é
overhead de apenas 1 bit por quadro, ou uma eficiência definido no IEEE 8024, um padrão que fracassou ao ponto
igual a dl(d + l). O atraso médio para um quadro é equiva- de o IEEE retirá-lo. Os padrões nem sempre são eternos.
lente à son1a do te1npo de espera na fila dentro da estação, O desempenho da passage1n de tokens é semelhante
mais um adicional de (N - 1)d + N, uma vez que ele alcança ao do protocolo bit-map, embora os slots de disputa e os
o início de sua fila interna. Esse intervalo é o ten1po neces- quadros de um ciclo agora estejam e1nbaralhados. Depois
sário para esperar até que todas as outras estações tenham de enviar um quadro, cada estação precisa esperar que
sua vez para enviar um quadro e outro bit-map. todas as N estações (inclui11do ela mes1na) transmitam o
token aos seus vizinhos e as outras N - 1 estações transmi-
Passagem de tokens tam um quadro, se tivere1n um. U1na diferença sutil é que,
como todas as posições no ciclo são equivalentes, não exis-
A essência do protocolo bit-map é que ele permite que cada te parcialidade para estações co1n numeração baixa ou alta.
estação transmita um quadro por vez, en1 uma orden1 prede- Para o token ring, cada estação tatnbém está apenas trans-
finida. Outra forma de realizar a mesma coisa é passar uma mitindo o token, enquanto sua estação vizinha anterior no
pequena 1nensagem, chamada token ou sinal, de uma esta- protocolo realiza o passo seguinte. Cada token não precisa
ção para a seguinte, na mesma ordem predefinida. O token se propagar para todas as estações antes que o protocolo
representa a permissão para enviar. Se utna estação te1n um avance para o passo seguinte.
quadro na fila para transmissão quando recebe o token, ela Os token rings surgira1n con10 protocolos MAC com
pode enviar esse quadro antes de passar o token para a pró- certa consistência. Um antigo protocolo token ring (cha-
xi1na estação. Se ela não tiver u1n quadro na fila, ela sin1- mado "Token Ring" e padronizado con10 IEEE 802.5) era
ples1nente passará o token. popular na década de 1980 como uma alternativa à Ethernet
Em um protocolo que utiliza a topologia de anel de clássica. Na década de 1990, un1 token ring 1nuito n1ais rá-
tokens (token ring), esta é usada para def111ir a ordem em pido, cha1nado FDDI (Fiber Distributed Data Interface),
que as estações transmitem. As estações são conectadas às foi extmto pela Ethernet comutada. Na década de 2000, um
seguintes fonnando u1n anel único. A passage1n do token token ring chamado RPR (Resilient Packet Ring) foi defi-
para a estação seguinte consiste simplesn1ente em receber o nido como lEEE 802.17 para padronizar a mistura de anéis
token em uma direção e transmiti-lo em outra, como vemos n1etropolitanos e1n uso pelos ISPs. Ainda veren1os o que a
na Figura 4.7. Os quadros também são transmitidos na dire- década de 2020 nos oferecerá.
ção do token. Desse modo, eles circularão em torno do anel
e alcançarão qualquer estação que seja o destino. Contudo,
para impedir que o quadro circule indef111idamente (assim
Contagem regressiva binária
con10 o próprio token), alguma estação precisa removê-lo Um problema com o protocolo básico bit-map, e também
do anel. Essa estação pode ser a que enviou o quadro origi- com a passage1n de tokens, é que o overhead é de 1 bit
nalmente, depois que ele passou por um ciclo cotnpleto, ou por estação e, portanto, ele não se adapta 1nuito bem a re-
a estação de destino do quadro. des co1n mjlhares de estações. Podemos fazer melhor que
Observe que não precisamos de um anel tisico para isso usando endereços bmários de estações com um canal
implementar a passagem de tokens. Em vez disso, o canal que, de alguma forma, combme transmissões. Uma esta-
ção que queira usar o canal transmite seu endereço como
uma sequência de bits binários, começando co1n o bit de
alta ordem. Supomos que todos os endereços têm o mesmo
Estação""' /Token
número de bits. Os bits de cada posição de endereço das
diferentes estações passa1n juntos por uma operação OR
booleana pelo canal quando são enviados ao mesmo tempo.
Chan1are1nos esse protocolo de contagem regressiva biná-
ria. Ele foi usado no Datakit (Fraser, 1983). Esse protocolo
pressupõe i1nplicitamente que os atrasos de transmissão são
Direção da desprezíveis, de forma que todas as estações detectatn bits
transmissão declarados quase instantanea111ente.
Para evitar conflitos, é necessário que seja aplicada
Figura 4.7 Token ring. uma regra de arbitragem: assim que uma estação percebe
Capítulo 4 • A subcamada de controle de acesso ao meio 183

Tempo de bit e a eficiência de canal e1n carga alta. En1 condições de car-
o1 2 3 ga leve, a disputa (ou seja, o ALOHA original ou o slotted
ALOHA) é preferível, em virtude de seu baixo índice de
lo o 1 oi o- - -
atraso (pois as colisões são raras). À medida que a carga au-
lo 1 o oi o- - - menta, a disputa torna-se cada vez menos interessante, pois
o overhead associado à arbitragem do canal toma-se 1naior.
110011 1 oo-
O oposto também é verdadeiro e1n relação aos protocolos
110101 1 o1 o livres de colisão. Em carga baixa, eles têm um alto índice
Resultado 1 O1 O de atraso, 1nas, à medida que a carga aumenta, a eficiência
do canal 1nelhora (pois os overheads são fixos).

Estações 001 O e
/ "\ A estação
Obvian1ente, seria bo1n se pudéssen1os co1nbinar as
melhores propriedades dos protocolos de disputa e dos
0100 veem esse 1001 vê esse
1 e desistem 1 e desiste protocolos livres de colisão, chegando a um novo proto-
colo que usaria não só a disputa em cargas baixas, para
Figura 4.8 Protocolo de contagem regressiva binária. proporcionar um baixo índice de atraso, 1nas ta1nbé1n a
Um traço significa inatividade. técnica livre de colisão em carga alta, para oferecer un1a
boa eficiência do canal. Esses protocolos, que cha1nare-
que um bit de alta ordem que em seu endereço era O foi mos de protocolos de disputa limita da, de fato existe1n,
sobrescrito por um bit 1, ela desiste. Por exemplo, se as e concluirão nosso estudo sobre redes com detecção de
estações 001 O, O100, 1001 e 1O1Oestiverem todas tentando portadora.
acessar o canal, no primeiro período de um bit, as estações Até agora, os únicos protocolos de disputa que estu-
transn1itirão O, O, 1 e 1, respectivan1ente. Esses valores pas- damos são si1nétricos. Ou seja, cada estação tenta acessar o
sarão pela operação OR para fonnar um valor 1. As esta- canal com alguma probabilidade, p, con1 todas as estações
ções 0010 e 0100 vee1n o valor l e sabe1n que uma estação usando o mesmo p. E' interessante observar que o desem-
de nu1neração n1ais alta está disputando o canal e, portanto, penho geral do siste1na às vezes pode ser melhorado com o
desiste1n da tentativa na rodada atual. As estações 1001 e uso de um protocolo que atribua probabilidades distintas a
1O1 O prosseguem. diferentes estações.
O próxi1no bit é O, e ambas as estações continuam a Antes de exan1inarmos os protocolos assimétricos, fa-
transmissão. O próximo bit é 1 e, portanto, a estação l 00 l remos uma pequena revisão do dese1npenho do caso simé-
desiste. A vencedora é a estação 1O1 O, pois tem o endereço trico. Suponha que k estações estejam disputando o acesso
mais alto. Após vencer a disputa, é provável que agora ela a um canal. Cada u1na tem a probabilidade p de transmitir
possa transmitir um quadro, após o qual terá início outro ci- durante cada slot. A probabilidade de alguma estação aces-
clo de disputa. A Figura 4.8 ilustra esse protocolo. Ele tem sar o canal com sucesso durante determinado slot é a pro-
a propriedade de dar às estações com numeração mais alta babilidade de que qualquer estação transmita, com probabi-
uma prioridade maior do que a concedida às estações de lidade p , e todas as outras k - l estações adiem, cada urna
nun1eração 1nais baixa, o que pode ser bom ou ruitn, depen- com probabil idade 1 - p. Esse valor é kp(1 - p)k-•. Para
dendo do contexto. encontrar o valor ideal de p, diferencian1os en1 relação a p ,
Com esse n1étodo, a eficiência do canal é d/(d + definimos o resultado como zero e resolvemos a equação
log2N). No entanto, se o formato do quadro tiver sido corre- para p. Ao fazer isso, descobrimos que o melhor valor de p
tamente escolhido, de forma que o endereço do transmissor é 1/k. Ao substituinnos p = 1/k, obteremos:
seja o primeiro campo do quadro, mes1no esses log2 N bits
não serão desperdiçados, e a eficiência será de 100%. k- 1 k- 1
Pr[sucesso con1p ideal] = ( k )
A contagem regressiva binária é un1 exemplo de pro-
tocolo simples, elegante e eficiente, que está esperando o
momento de ser redescoberto. Esperamos que algum dia ele Essa probabilidade está representada na Figura 4.9. Para
encontre um novo lar. um pequeno nú1nero de estações, as chances de sucesso são
boas, 1nas, tão logo o número de estações alcance até 1nes-
mo cinco, a probabilidade cai até um nú1nero próximo de
4.2.4 Protocolos de disputa limitada seu valor assintótico, l/e.
Vimos até agora duas estratégias básicas para a aquisição Pela Figura 4.9, fica evidente que a probabilidade
de canais em uma rede de broadcast: protocolos de disputa, de alguma estação adquirir o canal só pode ser aumenta-
co1no no CSMA, e protocolos livres de colisão. Cada estra- da din1inuindo-se o volume de con1petição. Os protoco-
tégia é classificada de acordo con1 seu desempenho em re- los de disputa limitada fazem exata1nente isso. Primeiro,
lação a duas 1nedidas importantes: o atraso em carga baixa eles dividem as estações em grupos (não necessariamente
184 Redes de computadores

1,0
o
(/)
(/)
Q)
(.)
0,8
::J
(/)
Q)
"O 0,6
Q)
"O
ca
"O
0,4
.D
ca
.D
e
a. 0,2

5 10 15 20 25
Número de estações prontas

Figura 4.9 Probabilidade de aquisição de um canal de disputa simétrico.

disjuntos). Apenas os membros do grupo O pode1n dispu- era1n considerados saudáveis. Se houvesse anticorpos, duas
tar o slot O. Se um deles obtiver êxito, adquirirá o canal e novas a1nostras misturadas eram preparadas, uma dos sol-
transmitirá seu quadro. Se u1n slot pem1anecer inativo ou dados nun1erados de 1 a N/2 e outra com o sangue dos de-
se ocorrer uma colisão, os men1bros do grupo 1 disputarão mais soldados. O processo era repetido recursivamente até
o slot 1, etc. Fazendo-se uma divisão apropriada das esta- que os soldados infectados fossem identificados.
ções em gn1pos, o volu1ne de disputa por cada slot pode ser Para a versão computacional desse algoritmo (Cape-
reduzido e, assim, a operação de cada slot ficará próxima à tanakis, 1979), é conveniente imaginar as estações como
extremidade esquerda da Figura 4.9. as folhas de uma árvore binária, confom1e ilustra a Figura
O truque é a maneira de atribuir estações a slots. Antes 4.10. No primeiro slot de disputa que segue uma transmis-
de analisarmos o caso geral, va1nos considerar algu1nas si- são de quadro bem-sucedida, o slot O, todas as estações têm
n1ações especiais. E111 u111 extre1110, cada grupo tem apenas permissão para tentar acessar o canal. Se uma delas con-
un1 1nembro. Essa atribuição garante que nunca ocorrerão seguir, muito bem. Se ocorrer un1a colisão, durante o slot
colisões, pois existirá, no máximo, u1na estação disputando 1 apenas as estações que estiverem sob o nó 2 da árvore
qualquer slot dado. Já vimos esse tipo de protocolo antes poderão disputar o canal. Se uma delas se apoderar dele, o
(p. ex., a contagem regressiva binária). A próxima situação slot seguinte ao quadro ficará reservado para as estações do
especial é atribuir duas estações por grupo. A probabilida- nó 3. Por sua vez, se duas ou mais estações no nó 2 quise-
de de ambas tentarem transmitir durante um slot é p 2 , que, rem transmitir, haverá uma colisão durante o slot 1 e, nesse
para um p pequeno, é desprezível A' medida que mais e caso, será a vez do nó 4 durante o slot 2.
mais estações são atribuídas ao mesmo slot, a probabilidade Basicamente, se ocorrer uma colisão durante o slot O,
de colisão aumenta, mas diminui a extensão da varredura toda a árvore será pesquisada, primeiro em profundidade,
de bit-map necessária para que todas tenham uma chance. a fim de localizar todas as estações prontas para transmis-
A situação-limite consiste em um único grupo que contém são. Cada slot de bits é associado a algum nó específico
todas as estações (ou seja, o slotted ALOHA). O que preci- da árvore. Se houver uma colisão, a pesquisa continuará
samos é de uma forma de atribuir dinamicamente estações
a slots, co111 várias estações por slot quando a carga for bai-
xa, e poucas estações (ou apenas uma) por slot quando a 1
carga for alta.

O protocolo adaptativo tree-walk


2
U1na 1naneira pa11icularmente si1nples de fazer as atribui-
ções necessárias consiste en1 usar o algoritn10 desenvolvido
pelo exército norte-an1ericano para testar a incidência de sí-
filis em soldados durante a Segunda Guen·a Mundial (Dorf- 7
man, 1943). Em resumo, o exército extraiu uma amostra de
sangue de N soldados. U1na parte de cada a1nostra foi co-
locada em un1 único tubo de teste. Essa amostra misturada -Estações
A s e D E F G H
foi submetida a teste para detectar anticorpos. Se nenhum
anticorpo fosse encontrado, todos os soldados do grupo Figura 4.10 A árvore para oito estações.
Capítulo 4 • A subcamada de control e de acesso ao meio 185

recursiva1nente com os fi lhos localizados à esquerda e à U1na configuração comun1 para u1na LAN sem fio é
direita desse nó. Se um slot de bits estiver inativo ou se un1 edifício comercial com pontos de acesso (PAs) estrate-
houver apenas uma estação transmitindo nesse slot, a pes- gican1ente posicionados. Todos os PAs são interconectados
quisa de seu nó poderá ser encerrada, pois todas as estações com o uso de cobre ou fibra, para 1nelhorar a conectivida-
prontas terão sido localizadas. (Se houvesse mais de uma, de com as estações que falam com eles. Se a potência de
un1a colisão teria ocorrido.) transmissão dos PAs e dos notebooks for ajustada para um
Quando a carga do siste1na está n1uito pesada, quase alcance de dezenas de metros, as salas vizinhas se tornarão
não vale a pena o esforço de dedicar o slot Oao nó 1, pois uma únjca célula e o edifício inteiro passará a ser um gran-
esse procediinento só faz sentido na eventualidade in1pro- de sistema celular, corno os que estudamos no Capítulo 2,
vável de que exatamente uma estação tenha um quadro a exceto que cada célula só te1n um canal, compartilhado por
ser transmitido. Assim, alguém poderia argumentar que os todas as estações em sua célula, incluindo o PA. Em geral,
nós 2 e 3 também deveriam ser ignorados, pela 1nesma ra- ela oferece larguras de banda de 1negabits/s até gigabits/s.
zão. Em termos n1ais gerais,
,
em que nível da árvore a pes- Teoricamente, o IEEE 802.1 lac pode atingir 7 Gbps; po-
quisa deve ter início? E claro que, quanto 1naior for a carga, rém, na prática, ele é muito mais lento.
mais baixo na árvore o ponto de início da pesquisa deve Já notamos que os siste1nas sen1 fio non11aln1ente não
estar. Por ora, vamos supor que cada estação tenha uma boa pode1n detectar uma colisão enquanto ela está ocorrendo.
estimativa do número q de estações prontas, por exemplo, O sinal recebido e1n uma estação pode ser curto, talvez um
com base no monitoramento de tráfego mais recente. milhão de vezes mais fraco que o sinal que está sendo trans-
Para prosseguir, va1nos numerar os níveis da árvore a mitido. Encontrá-lo é como procurar uma onda no oceano.
partir do topo, co1n o nó 1 da Figura 4.1Ono nível O, os nós 2 Em vez disso, as confir1nações são usadas para descobrir
e 3 no nível 1, e assim por diante.. Observe que cada nó do ní- colisões e outros erros após o fato.
vel i te1n wna fração 2-; das estações que se encontra1n abai- Há uma diferença ainda mais importante entre as
xo dele. Se as q estações prontas estivere1n unifonnemente LANs sem fio e as convencionais. Uma estação em uma
distribuídas, o número esperado dessas estações abaixo de LAN sem fio pode não ser capaz de transmitir quadros ou
um nó específico do nível i será apenas 2-; q. Intuitivamente, recebê-los de todas as estações, em decorrência do alcance
seria de se esperar que o nível ideal para iniciar a pesquisa na de rádio limitado das estações. Nas LANs com fio, quando
árvore fosse aquele no qual o número 1nédio de estações em un1a estação envia utn quadro, todas as outras estações o
disputa por slot fosse igual a 1, isto é, o nível em que 2-; q = 1. recebe1n. A ausência dessa propriedade nas LANs se1n fio
Resolvendo essa equação, descobrünos que i = log2 q. causa uma série de co1nplicações.
Foram descobertas diversas melhorias no algoritmo Va1nos sin1pli fícar supondo que cada transmissor de
básico, as quais são abordadas etn detalhes por Bertsekas rádio tenha algum alcance fixo, representado por u1na re-
e Gallager ( 1992), mas os pesquisadores ainda estão traba- gião de cobertura circular dentro da qual outra ,estação pos-
lhando nisso (De Marco e Kov1alski, 20 17). Por exe1nplo, sa detectar e receber a trans1nissão da estação. E importante
considere a hipótese em que as estações G e H são as únicas observar que, na prática, as regiões de cobe1tura não são tão
que estão esperando para trans1nitir. No nó 1, ocon·erá uma regulares, pois a propagação dos sinais de rádio depende
colisão, de modo que 2 será testado e descoberto como nó do ambiente. As paredes e outros obstáculos que atenuam e
inativo. E' inútil testar o nó 3, pois é certo que haverá coli- refletem sinais podem fazer o alcance ser bastante diferente
são (saben1os que duas ou mais estações abaixo de 1 estão en1 diversas direções. Mas um modelo circular siinples ser-
prontas e que nenhuma delas está abaixo de 2; portanto, • I I •

vira aos nossos propos1tos.


todas deve1n estar abaixo de 3). A sondagem do nó 3 pode Uma abordagem simples para o uso de uma LAN sem
ser ignorada, e o nó 6 será testado em seguida. Quando essa fio seria tentar o CSMA: basta escutar outras transmissões
sondagem também não produzir nenhu1n resultado, 7 po- e transmitir apenas se ninguém 1nais estiver usando o canal.
derá ser ignorado e o nó G poderá ser testado em seguida. O proble1na é que esse protocolo reahnente não é uma boa
maneira de pensar nas redes sem fio, pois o que i1nporta
para a recepção é a interferência no receptor, e não no trans-
4.2.5 Protocolos de LANs sem fio missor. Para ver a natureza do problema, considere a Figura
Um sistema de notebooks que se comunicam por rádio 4. 11 , na qual ilustramos quatro estações sem fio . Para os
pode ser considerado uma LAN sem fio, como discuti- nossos propósitos, não importa quais são PAs e quais são
mos na Seção 1.4.3. Essa LAN é um exemplo de canal de notebooks. O alcance do rádio é tal que A e B estão dentro
broadcast. Ela também tetn propriedades u1n pouco dife- do alcance e podem interferir um no outro. C também pode
rentes das que caracteriza1n as LANs co1n fio, o que leva interferir e1n B e D, mas não en1 A.
a diferentes protocolos MAC. Nesta seção, analisaremos Considere primeiro o que acontece quando A está
alguns deles. Na Seção 4.4, examinaremos a rede 802.11 transmitindo para B, como mostra a Figura 4.1 l(a). Se A
(WiFi) e1n detalhes. transmitir e depois e imediatamente detectar o meio físico,
186 Redes de computadores

Alcance de rádio Alcance de rádio


(a) (b)

Figura 4.11 Uma LAN sem fio. (a) A e esão terminais ocultos ao transmitir para 8. (b) 8 e esão terminais expostos ao
transmitir para A e D.

ele não ouvirá A, pois essa estação está fora do alcance e, Cotn um fio, todos os sinais se propaga1n para todas as es-
portanto, e concluirá incorretamente que pode transmitir tações e, portanto, não existe distinção. Todavia, somente
para B. Se começar a transmitir, C interferirá em B, remo- uma transmissão pode ocorrer de cada vez em qualquer
vendo o quadro de A. (Consideran1os aqui que nenhum es- parte do sistema. Em um sistema baseado em ondas de rá-
quema tipo C.DMA é usado para oferecer múltiplos canais, dio de pequeno alcance, várias transmissões podem ocor-
de 1nodo que as colisões inutilizam o sinal e destroe1n os rer simultaneamente, se todas tivere1n destinos diferentes
dois quadros.) Queremos um protocolo MAC que impeça e eles estiverem fora do alcance uns dos outros. Queremos
esse tipo de colisão, pois isso desperdiça largura de ban- que essa concorrência aconteça quando a célula se tornar
da. O probletna de utna estação não conseguir detectar uma cada vez maior, da 1nes.1na forma que pessoas em lllna festa
provável concorrente pelo 1neio fisico, porque a estação não devem esperar que todos na sala fiquem e1n silêncio
concorrente está 1nuito longe, é denominado problema da antes de começar a falar; várias conversas podem ocorrer
estação oculta. ao mesmo tempo em uma sala grande, desde que elas não
Agora, vamos considerar u1na situação diferente: B sejam dirigidas para o mesmo local.
está transmitindo para A ao mesmo tempo que C deseja Um protocolo antigo e influente, que trata desses
transn1itir para D, como mostra a Figura 4.1 1(b). Se detec- problemas e1n LANs sem fio, é o acesso múltiplo com
tar o meio tisico, C ouvirá un1a trans1nissão e1n andamento prevenção de colisão, ou MACA (Multiple Access with
e conclujrá incorretamente que não pode transtnitir para D CoUision Avoidance) (Karn, 1990 e Garcia-Luna-Aceves,
(co1no mostra a linha tracejada). Na verdade, essa transmis- 2017). A ideia básica consiste e1n fazer o transmissor es-
são só geraria uma recepção de má qualidade na zona entre timular o receptor a liberar u1n quadro curto co1no saída,
B e C, em que nenhum dos receptores desejados está loca- de modo que as estações vizinhas possa1n detectar essa
lizado. Queremos um protocolo MAC que impeça esse tipo transmissão e evitar trans1n.itir enquanto o quadro de dados
de adiamento, pois ele desperdiça largura de banda. Essa (grande) estiver sendo recebido. Essa técnica é usada no
situação é cha1nada de problema da estação exposta. lugar da detecção de portadora.
O problen1a é que, antes de iniciar uma transn1issão, O MACA é ilustrado na Figura 4.12. Va1nos analisar
a estação realmente deseja saber se há ou não atividade de agora como A envia um quadro para B. A inicia a trans1nis-
rádio em tomo do receptor. O CSMA apenas informa a ela são enviando um quadro de solicitação para envio, ou RTS
se há ou não atividade na estação que detecta a portadora. (Request to Send), para B, co1no mostra a Figura 4. l 2(a).

/ Alcance do transmissor A Alcance do transmissor 8

(a) (b)

Figura 4.12 Oprotocolo MACA. (a) A está enviando um quadro RTS para 8. (b) 8 está respondendo com um quadro CTS para A.
Capítulo 4 • A subcamada de controle de acesso ao meio 187

Esse quadro curto (30 bytes) conté1n o co1npri1nento do utilizado no mundo. Existem dois tipos de Ethernet: Ether-
quadro de dados que possivelmente será enviado em segui- net clássica, que resolve o proble1na de acesso múltiplo por
da. Depois disso, B responde com u1n quadro de libera- meio de técnicas que estudamos neste capítulo, e Ethernet
ção para envio, ou CTS (Clear to Send), como mostra a comutada, em que dispositivos chamados Slvitches são

Figw·a 4. l 2(b). O quadro CTS contém o ta1nanho dos dados usados para conectar diferentes computadores. E importante
(copiado do quadro RTS). Após o recebi1nento do quadro observar que, en1bora an1bas sejam chamadas Ethernet, elas
CTS, A inicia a transmissão. são 1nuito diferentes. A Ethernet clássica é a forma origi-
Agora, vejamos como reagem as estações que estão nal, que atuava em velocidades de 3 a 10 Mbps. A Ethernet
ouvindo ambos os quadros. Qualquer estação que esteja ou- comutada é a evolução da Ethernet, e trabalha em velocida-
vindo o quadro RTS está próxi1na de A e deve pern1anecer des de 100, 1.000, 10.000, 40.000 ou 100.000 Mbps, ao que
inativa por tempo suficiente para que o CTS seja transmiti- chamamos Fast Ethernet, gigabit Ethernet, l Ogigabit Ether-
do de volta para A, sem conflito. Qualquer estação que este- net, 40 gigabit Ethernet ou 100 gigabit Ethernet. Na prática,
ja ouvindo o CTS está próxima de B e deve perrnanecer ina- somente a Ethernet comutada é usada atuahnente.
tiva durante a transmissão de dados que está a caminho, cujo Discutire1nos essas fonnas históricas da Ethernet em
tamanho pode ser verificado pelo exame do quadro CTS. orde1n cronológica, n1ostrando como elas se desenvolve-
Na Figura 4.12, C está dentro do alcance de A, mas ram. Co1no Ethernet e IEEE 802.3 são idênticos, exceto por
não no alcance de B. Portanto, essa estação pode detectar o uma pequena diferença (que discutiremos em breve), mui-
RIS de A, mas não o CIS de B. Desde que não interfira no tas pessoas usam os termos "Ethernet" e "IEEE 802.3" para
CTS, a estação é livre para transmitir enquanto o quadro de indicar a rnesma coisa. Tambérn faremos isso aqui. Para ob-
dados está sendo enviado. Ao contrário, D está dentro do ter rnais informações sobre Ethen1et, consulte Spurgeon e
alcance de B, mas não de A. Ela não detecta o RIS, mas sim Zimn1ern1an (2014).
o CTS. Ao detectá-lo, ela recebe a indicação de que está
perto de uma estação que está prestes a receber um quadro
e, portanto, adia a trans1nissão até o 1nomento em que o 4.3.1 Camada física da Ethernet clássica
envio desse quadro provavelmente esteja concluído. A es-
A história da Ethen1et começa mais ou nlenos na época da
tação E detecta as duas mensagens de controle e, como D,
ALOHA, quando um aluno cha1nado Bob Metcalfe conse-
deve permanecer inativa até que a transmissão do quadro
guiu seu título de bacharel no MlI e depois "subiu o rio"
de dados seja concluída.
para obter seu título de Ph.D. em Harvard. Durante seus
Apesar dessas precauções, ainda pode haver colisões.
estudos, conheceu o trabalho de Abrarnson sobre ALOHA.
Por exemplo, B e C poderiam enviar quadros RI S para A
Ele ficou tão interessado que, depois de se formar em Har-
ao mesn10 tempo. Haverá uma colisão entre esses quadros
vard, decidiu passar o verão no Havaí trabalhando con1
e eles se perderão. No caso de utua colisão, u1n transmis-
Abramson, antes de iniciar seu trabalho no Xerox PARC
sor que não obtiver êxito (ou seja, o que não detectar um
(Palo Alto Research Center). Quando chegou ao PARC, viu
CTS no intervalo esperado) aguardará durante um intervalo
que os pesquisadores de Já haviam projetado e montado o
aleatório e tentará novamente mais tarde.
que mais tarde seriam chamados computadores pessoais.
Mas as máquinas eram isoladas. Usando seu conhecimento
do trabalho de Abramson, Metcalfe, com seu colega David
4.3 ETHERNET Boggs, projetou e implen1entou a primeira rede local (Met-
calfe e Boggs, 1976). Ele usou u1n único cabo coaxial gros-
Agora, concluín1os nossa discussão resumida sobre proto- so e conseguiu trabalhar a 3 Mbps.
colos de alocação de canais e, portanto, é hora de analisar Metcalfe e Boggs chamaram o sistema de Ethernet,
como esses princípios se aplica1n a sistemas reais. Muitos fazendo referência ao éter trans1nissor de luz (do inglês
dos projetos para redes pessoais, locais e n1etropolitanas luminiferous ether), através do qual se acreditava que a
foran1 padronizados com o no1ne IEEE 802. Alguns des- radiação eletromagnética se propagava. (Quando o físico
ses padrões sobreviveram, mas muitos não, como vimos na britânico do século XIX Ja1nes Clerk Max-.,vell descobriu
Figura 1.38. Algu1nas pessoas que acreditam em reencar- que a radiação eletromagnética poderia ser descrita por
nação cree1n que Charles Darwin retornou como me1nbro uma equação de onda, os cientistas acharam que o espaço
da associação de padrões do IEEE com a finalidade de eli- deveria estar repleto de algum meio etéreo en1 que a ra-
minar os menos capazes. Os 1nais importantes entre os so- diação estava se propagando. Somente depois do famoso
breviventes são os padrões 802.3 (Ethernet) e 802.11 (LAN experimento de Michelson-Morley, em 1887, é que os fí-
sem fio). O Bluetooth (PAN sem fio) é bastante utilizado, sicos descobriram que a radiação eletro1nagnética podia se
mas agora foi padronizado fora do 802.15. propagar no vácuo.)
Começaremos nosso estudo dos sisten1as reais com a A rede Ethernet da Xerox foi tão bem-sucedida que
Ethernet, provavelmente o tipo de rede de computação mais DEC, Intel e Xerox chegaram a um padrão em 1978 para
188 Redes de computadores

u1na Ethernet de 10 Mbps, chamado padrão DIX. Com segmentos de cabo conectados por repetidores não são di-
urna pequena mudança, o padrão DIX tomou-se o padrão ferentes de um único cabo (exceto por um pequeno atraso
IEEE 802.3 em 1983. Infelizmente para a Xerox, ela já ti- introduzido pelos repetidores).
nha u1n histórico de criar invenções originais (corno o con1- Por u1n a um desses cabos, a infom1ação era enviada
putador pessoal) e não conseguir con1ercializá-las, história usando a codificação Manchester que estudamos na Seção
contada em Fun1bling the Future [Tateando o futuro], de 2.4.3. Urna Ethernet poderia conter vários segmentos de
Smith e Alexander ( 1988). Quando a Xerox 1nostrou pouco cabo e vários repetidores, 1nas dois transceptores não po-
interesse em fazer algo com a Ethernet além de ajudar a pa- deriam estar n1ais de 2,5 km afastados um do outro e ne-
dronizá-la, Metcalfe fonnou sua própria empresa, a 3Corn, nhu1n caminho entre dois transceptores quaisquer poderia
para vender adaptadores Ethernet para PCs. Ele vendeu atravessar mais de quatro repetidores. O motivo para essa
muitos 1nilhões deles. restrição foi para que o protocolo MAC, que examinaremos
A Ethe111et clássica percorria o prédio corno u1n cabo en1 seguida, funcionasse corretamente.
longo único, ao qual todos os co1nputadores era1n conecta-
dos. Essa arquitetura é mostrada na Figura 4.13. A pritneira
variedade, popularn1ente conhecida corno tbick Ethernet,
4.3.2 O protocolo da subcamada
era semelhante a urna mangueira a1narela de jardim, com MAC Ethernet clássica
marcações a cada 2,5 1n, mostrando onde conectar os con1- O formato usado para transmitir quadros é mostrado na
putadores. (O padrão 802.3 não exigia reahnente que o Figura 4.14. Cada quadro começa com um Preânzbulo de
cabo fosse a1narelo, mas sugeria isso.) Ela foi acompanha- 8 bytes, cada um contendo o padrão de bits 1O1O1O1 O(co1n
da pela thin Ethernet, que encurvava com mais facilidade exceção do último byte, em que os dois últimos bits são 11 ).
e fazia conexões usando conectores BNC padrão da indús- Esse últi1no byte é chamado de delimitador de Inicio de
tria. A thin Ethernet era 1nuito mais barata e fácil de insta- quadro para o 802.3. A codificação Manchester desse pa-
lar, mas só podia ter 185 1n por segmento (en1 vez dos 500 drão produz urna onda quadrada de 1O MHz por 6,4 µs, a
rn da thick Ethernet), cada um dos quais podendo lidar com fim de pennitir a sincronização entre o clock do receptor
apenas 30 1náquinas (em vez de 100). e o c!ock do transrnissor. Os dois últimos bits 1 dizem ao
Cada versão da Ethen1et tem um compriinento máxi- receptor que o restante do quadro está para corneçar.
mo de cabo por segmento (ou seja, compritnento não an1- Em seguida, o quadro contém dois endereços, um
pl ificado) sobre o qual o sinal será propagado. Para pennitir para o destino e um para a origem. Cada um deles possui
redes maiores, vários cabos podem ser conectados por re- 6 bytes de extensão. O pri1neiro bit transmitido do endereço
petidores. U1n repetidor é um dispositivo da camada fisi- de destino é O para endereços co1nuns e 1 para endereços
ca que recebe, amplifica (ou seja, regenera) e retransmite de grupos. Estes penniten1 que diversas estações escutem
sinais nas duas direções. Ern relação ao software, diversos urn único endereço. Quando um quadro é enviado para um

0~1 01 0~1
Tran sceptor
.!!e º! ºI ~ ~

'Cabo de
Éter ou ""' interface
me10
~ - ~ ~ ~
~r

Figura 4.13 Arquitetura da Ethernet clássica.

Bytes 8 6 6 2 0-1500 0- 46 4
'.

Endereço Endereço " Preenchi- Check-


(a) Preâmbulo Tipo Dados
de destino de origem '. mento sum
"
..
1 Endereço Endereço Tama- "
Check-
(b) Preâmbulo D Dados Preenchi-
Q
de destino de origem nho ' . mento sum
"

Figura 4.14 Formato dos quadros. (a) Ethernet (DIX). (b) IEEE 802.3
Capítulo 4 • A subcamada de controle de acesso ao meio 189

endereço de grupo, todas as estações do grupo o recebem. ser interpretado como Tamanho, ao passo que qualquer nú-
A transmissão para um grupo de estações é cha1nada de mero maior que Ox600 pode ser interpretado como Tipo.
multicasting. O endereço que consiste en1 todos os bits 1 Agora o IEEE pode afirmar que todos estão usando seu pa-
é reservado para broadcasting. Um quadro contendo todos drão e todos os outros pode1n continuar fazendo o que já
os bits 1 no ca1npo de destino é aceito por todas as estações faziam (não se preocupar com o LLC [logical link control])
da rede. O 1nulticasting é mais seletivo, mas envolve o ge- sem se sentir culpados por isso. Isso é o que acontece quan-
renciamento de grupos para definir quais estações perten- do a política (industrial) encontra a tecnologia.
cen1 ao grupo. Por sua vez, o broadcasting não diferencia Depois, vên1 os dados, com até 1.500 bytes. Esse lüui-
entre estação alguma e, por isso, não requer qualquer ge- te foi escolhido de forma um tanto arbitrária na época e1n
renciamento de grupos. que o padrão Ethernet foi esculpido, principalmente com
Un1a característica interessante dos endereços de ori- base no fato de que u1n transceptor precisa ter RAM sufi-
gem da estação é que eles são globalmente exclusivos, atri- ciente para guardar um quadro inteiro e, em 1978, a RAM
buídos de forma centralizada pelo IEEE para garantir que tinha um custo n1uito alto. Um limite superior n1aior sig-
duas estações em qualquer lugar do n1undo nunca tenham nificaria n1ais RAM e, consequentemente, u1n transceptor
o mes1no endereço. A ideia é que qualquer estação possa n1a1s caro.
endereçar de forma exclusiva qualquer outra estação sin1- Além de haver um comprimento 1náximo de qua-
plesmente informando o número de 48 bits correto. Para fa- dro, tambén1 existe un1 comprimento mínimo. Embora um
zer isso, os três prin1eiros bytes do ca1npo de endereço são campo de dados de O bytes às vezes seja útil, ele causa um
usados para um identificador exclusivo da organização, proble1na. Quando u1n transceptor detecta uma colisão, ele
ou OUI (Organizationally Unique ldentifier). Os valo- trunca o quadro atual, o que significa que bits perdidos e
res para esse ca1npo são atribuídos diretamente pelo IEEE e fragmentos de quadros aparecem a todo instante no cabo.
24
indicam o fabricante. Os fabricantes receben1 blocos de 2 Para tornar mais fácil a distinção entre quadros válidos e
endereços. O fabricante atribui os três últünos bytes do en- lixo, o padrão Ethernet exige que os quadros válidos te-
dereço e programa o endereço completo na NIC antes que nham pelo 1nenos 64 bytes de extensão, do endereço de
ela seja vendida. destino até o campo de checksu1n, incluindo ambos. Se a
Em seguida, vem o campo Tipo ou Tamanho, depen- parte de dados de um quadro for menor que 46 bytes, o
dendo se o quadro é Ethernet ou IEEE 802.3. A Ethernet campo Preenchitnento será usado para preencher o quadro
usa um campo Tipo para infonnar ao receptor o que fazer até o tamanho 1nínimo.
con1 o quadro. Vários protocolos da camada de rede podem Outra (e mais importante) razão para a existência de
estar em uso ao n1esn10 ten1po na n1es1na 1náquina; assim, um quadro de comp1imento minin10 é in1pedir que uma es-
quando chega um quadro Ethernet, o sistema operacional tação conclua a transn1issão de um quadro curto antes de o
tem de saber a qual deles deve entregar o quadro. O campo primeiro bit ter atingido a outra extremidade do cabo, e1n
Tipo especifica que processo deve receber o quadro. Por que ele poderá colidir com outro quadro. Esse problema é
exemplo, um código tipo Ox0800 significa que os dados ilustrado na Figura 4.15. No tempo O, a estação A, locali-
contên1 um pacote 1Pv4. zada em uma extremidade da rede, envia um quadro. Va-
O IEEE 802.3, en1 sua sabedoria, decidiu que esse mos cha1nar de r o tempo de propagação que ele leva para
campo transportaria o tamanho do quadro, pois o tamanho atingir a outra extremidade. Mo1nentos antes de o quadro
Ethen1et era detenninado exan1inando o interior dos dados chegar à outra extremidade (ou seja, no te1npo r - e), a es-
- uma violação do uso de ca1nadas, se é que isso existiu. tação mais distante, B, inicia a transmissão. Quando detecta
Naturalmente, isso significava que não havia como o re- que está recebendo 1nais potência do que está transmitindo,
ceptor descobrir o que fazer con1 um quadro que chegava. B sabe que oco1Teu uma colisão, interrompe a trans1nissão
Esse problema foi tratado pelo acréscimo de outro cabeça- e gera uma rajada de sinal ruidoso de 48 bits para avisar
lho para o protocolo de controle lógico do enlace dentro as demais estações. Em outras palavras, ela bloqueia o éter
dos dados, que veremos mais adiante. Ele usa 8 bytes para (meio) para ter certeza de que o transmissor não ignorará a
transportar os 2 bytes de informação do tipo de protocolo. colisão. Aproximada1nente no tempo 2r, o transmissor de-
Infelizmente, quando o 802.3 foi publicado, já havia tecta a rajada de ruídos e també1n cancela sua transmissão.
tanto hardware e software para a Ethernet DIX em uso que Depois, ele espera por um tempo aleatório antes de tentar
poucos fabricantes e usuários tiveram interesse em modifi- novamente.
car os can1pos de Tipo e Ta1nanho. Em 1997, o IEEE jogou Se un1a estação tentar transmitir um quadro muito cur-
a toalha e disse que as duas maneiras poderiam ser usadas. to, é concebível que ocorra uma colisão, 1nas a transmissão
Felizmente, todos os campos de Tipo em uso antes de 1997 será concluída antes que a rajada de sinal ruidoso retome no
tinham valores maiores que 1500, que ficou bem estabele- instante 2r. Então, o transmissor concluirá incorretamente
cido co1no o tan1anho máxiino dos dados. Agora, a regra é que o quadro foi enviado com êxito. Para evitar que essa
que qualquer número menor ou igual a Ox600 (1536) pode situação ocorra, a transmissão de todos os quadros deve
190 Redes de computadores

O pacote começa O pacote quase


/no tempo O em B em 't - E\
1 • 1 •
(a) (b}

A rajada de sinal ruidoso


/ retoma a A em 2't

11

(c) Colisão no (d}


tempo't

Figura 4.15 A detecção de colisão pode demorar até o tempo 2r.

den1orar mais de 2r para transmitir, de forma que a trans- do slot foi definido co1no 512 períodos de duração de u1n
missão ainda esteja acontecendo quando a rajada de sinal bit, ou 51 ,2 µs.
ruidoso voltar ao transmissor. Para uma LAN de 1OMbps Depois da primeira colisão, cada estação espera Oou
cotn um comprimento máximo de 2.500 m e quatro repeti- 1 te1npo de slot aleatoria1nente antes de tentar novamente.
dores (de acordo com a especificação 802.3), o te1npo de Se duas estações colidirem e selecionarem o mesmo nún1e-
ida e volta (incluindo o tempo de propagação pelos quatro ro aleatório, elas colidirão novamente. Depois da segunda
repetidores) foi calculado em quase 50 µs na pior das hipó- colisão, cada uma seleciona ao acaso O, 1, 2 ou 3 e aguarda
teses. Portanto, o quadro mínimo deve demorar pelo menos durante esse número de te1npos de slot. Se ocorrer uma ter-
esse tetnpo para ser transmitido. A 10 Mbps, um bit demo- ceira colisão (cuja probabilidade é de 0,25), na próxima vez
ra 100 ns, e assim 500 bits é o 1nenor tamanho de quadro o número de slots que a estação deverá esperar será escolhi-
que oferece a garantia de funcionar. Para acrescentar certa do ao acaso no intervalo de Oa 23 - 1.
margem de segurança, esse número foi arredondado para Em geral, depois dei colisões, é escolhido um nún1ero
512 bits ou 64 bytes. aleatório entre Oe 2; - 1, e esse número de slots será igno-
O últiino campo Ethernet é o Checksum. Ele é un1 rado. Entretanto, após tere1n sido alcançadas dez colisões, o
CRC de 32 bits do tipo que estudamos na Seção 3.2. intervalo de randomização será congelado en1 un1 n1áxiino
De fato, é definido exatamente pelo polinômio gerador que de 1.023 slots. Depois de 16 colisões, o controlador desiste
mostramos lá, que apareceu para PPP, ADSL e outros en- e informa o erro ao computador. Qualquer recuperação adi-
laces também. Esse CRC é um código de detecção de erro cional caberá às camadas superiores.
usado para detenninar se os bits do quadro fora1n recebi-
Esse algoritn10, chan1ado backoff exponencial biná-
dos corretamente. Ele sin1plesmente realiza a detecção de
rio, foi escolhido para se adaptar dinamicamente ao nún1e-
erros, com o quadro sendo descartado se algum erro for
ro de estações que estão tentando transmitir. Se o intervalo
detectado.
de escolha do número aleatório para todas as colisões fosse
1023, o risco de duas estações colidirem uma segunda vez
CSMA/CD com backoff exponencial binário seria desprezível, mas o tempo de espera médio depois de
A Ethernet clássica utiliza o algoritmo CSMNCD !-per- uma colisão seria de centenas de períodos de slot, ocasio-
sistente que estudatnos na Seção 4.2. Esse descritor só nando um atraso significativo. Em contrapartida, se cada
significa que as estações sentem o meio quando elas têm estação sempre esperasse entre Oou 1 slot, e se 100 esta-
um quadro para transmitir e o envia1n assi1n que o meio ções tentasse1n transmitir ao 1nes1no tempo, elas colidiria1n
se torna desocupado. Elas monitoram o canal em busca de repetidas vezes até que 99 delas escolhessem 1 e a estação
colisões enquanto transtnitem. Se houver uma colisão, elas restante escoU1esse O. Isso poderia levar anos. Au1nentando-
cancelam a transmissão com um curto sinal de interferência -se exponencialmente o intervalo de tempo aleatoriamente,
e retrans1nite1n após u1n intervalo aleatório. à 1nedida que ocorre um nú1nero cada vez 1naior de colisões
Vejamos agora co1no é detenninado o intervalo alea- consecutivas, o algoritmo assegura u1n baixo atraso quando
tório quando ocorre uma colisão, pois esse é um método apenas algumas estações coliden1, n1as ta1nbém garante que
novo. O modelo ainda é o da Figura 4.5. Depois de uma a colisão seja resolvida e1n um período de tempo razoável
colisão, o tempo é dividido em slots discretos, cujo com- quando 1nuitas estações colidirem. A restrição de recuo a
prin1ento é igual ao pior tempo de propagação da viagem 1023 impede que o limite aumente demais.
de ida e volta no éter (2r). Para acon1odar o caminho mais Se não houver colisão, o trans1nissor considera que
longo peffilitido pelo padrão Ethernet, o tempo de duração o quadro provavelmente foi entregue com êxito. Ou seja,
Capítulo 4 • A subcamada de controle de acesso ao meio 191

nem CSMA/CD nen1 Ethernet oferecem confirmações. Quando o segundo tenno no denon1inador for grande, a
Essa escolha é apropriada para canais com fio e de fibra eficiência da rede será baixa. Mais especificamente, au-
óptica, que têm baixas taxas de erro. Quaisquer erros que mentar a largura de banda da rede ou a distância (o pro-
ocorram devem então ser detectados pelo CRC e recupe- duto BL) reduz a eficiência para determinado tamanho
rados pelas camadas 1nais altas. Para canais se1n fio, que de quadro. Infelizmente, a maior parte das pesquisas em
têm mais erros, vere1nos que as confirmações realmente hardware de rede visa exatamente ao au1nento desse pro-
são utilizadas. duto. As pessoas querem alta largura de banda a longas
distâncias (MANs de fibra óptica, p. ex.), o que sugere
que o padrão Ethernet implementado dessa 1naneira tal-
4.3.3 Desempenho da Ethernet vez não seja o melhor siste1na para essas aplicações. Vere-
mos outras fonnas de in1plementar a Ethernet na próxima
Agora, vamos examinar rapida1nente o desempenho da
Ethernet sob condições de carga alta e constante, ou seja, seção.
k estações sempre prontas a trans1nitir. Uma análise com- Na Figura 4.16, a eficiência do canal é representada
pleta do algoritmo de backoff exponencial binário é 1nuito contra o nún1ero de estações prontas para 2r = 51 ,2 µs e
complicada. Em vez disso, seguiremos Metcalfe e Boggs uma taxa de dados de 1O Mbps, usando-se a Equação 4.3.
(1976) e van1os supor u1na probabilidade de retransmissão Com um te1npo por slot de 64 bytes, não surpreende que
constante en1 cada slot. Se cada estação transn1itir durante quadros de 64 bytes não sejam eficientes. Por sua vez, com
um slot de disputa com probabilidade p, a probabilidade A quadros de 1.024 bytes e um valor assintótico de e slots de
de que alguma estação tome posse do canal existente nesse 64 bytes por intervalo de disputa, o período de disputa é de
slot será: 174 bytes e a eficiência é de 85%. Esse resultado é muito
melhor do que os 37% de eficiência da slotted ALOHA.
k- 1
A= kp(\ - p) Talvez valha a pena mencionar que houve u1n grande
nú1nero de análises teóricas sobre o dese1npenho da Ether-
A é maxilnizado quando p = llk, com A --+ lle, à medida net (e de outras redes). A 1naioria dos resultados deve ser
que k--+ oo. A probabilidade de que o intervalo de disputa considerada co1n certa cautela (talvez muita cautela) por
tenha exata1nente j slots é A( 1 - AY - 1, de fonna que o nú- duas razões. Primeiro, praticamente todos esses trabalhos
mero médio de slots por disputa é dado por presu1ne1n que o tráfego obedece a uma série de Poisson.
Quando os pesquisadores começaram a analisar dados
00 . 1
L JA(l-A)J- l = - reais, eles descobriram que o tráfego de rede raras vezes
J=O A é de Poisson, e siJn semelhante ou em forma de rajada em
u1n intervalo escalonado de tempo (Paxson e Floyd, 1995; e
Como cada slot ten1 u1na duração de 2r, o intervalo 1nédio Fontugne et ai., 2017). Isso significa que calcular tuna n1é-
de disputa, w, é 2r/A . Supondo-se um valor ideal parap, o dia durante intervalos longos não suaviza o tráfego. Assim
número médio de slots de disputa nunca será maior que e; como no uso de modelos questionáveis, muitas das análises
portanto, w é, no máximo, 2re ::::: 5,4r. focam nos casos de desempenho "interessantes" para car-
Se o quadro leva en1 1nédia P segundos para ser ga estranhamente alta. Boggs et al. (1988) 1nostrara1n, com
trans1nitido, quando muitas estações tivere1n quadros para
.
enviar,
1,0
p 0,9
Eficiência do canal Quadros de 1.024 bytes
= (4.2)
P+2r / A 0,8 Quadros de 512 bytes
e: 0,7
Ol
Aqui, vemos onde a distância máxima do cabo entre duas Ol
() Quadros de 256 bytes
estações entra nos números do dese1npenho. Quanto maior o 0,6
"O
for o cabo, 1naior será o intervalo de disputa, o que explica Ol 0,5
'õ Quadros de 128 bytes
por que o padrão Ethernet especifica um con1pri1nento má- e: 0,4
~~
ximo de cabo. ()
;;::
w 0,3 Quadros de 64 bytes
É instrutivo forn1ular a Equação 4.2 em termos do
0,2
comprimento do quadro, F, da largura de banda da rede, B,
do con1primento do cabo, L, e da velocidade de propagação O, 1
do sinal, e, para o caso ideal de e slots de disputa por qua-
o 1 2 4 8 16 32 64 128 256
dro. Com P = FIB, a Equação 4.2 passa a ser:
Número de estações tentando enviar
1
Eficiência do canal = F (4.3) Figura 4.16 Eficiência da Ethernet a 10 Mbps com tempos
1 + 2Blelc por slot de 512 bits.
192 Redes de computadores

experimentos, que a Ethen1et funciona ben1 na realidade, Mbps, 1 Gbps ou velocidades ainda 1naiores. Mas, co1n o
até nlesmo com carga moderadamente alta. crescimento da nlultimídia e de servidores poderosos, até
mesmo a Ethernet de 1 Gbps pode ficar saturada.
Fel izmente, existe outra solução para lidar con1 o
4.3.4 Ethernet comutada aun1ento da carga: a Ethernet comutada. O núcleo desse
A Ethernet Jogo co1neçou a evoluir para longe da arqui- sisten1a é um switch, que contém un1a placa integrada (ou
tetura de cabo longo único da Ethernet clássica (o éter). bacf..plane) de alta velocidade que conecta todas as portas,
Os problemas associados a encontrar interrupções ou cone- como mostra a f igura 4. l 7(b). Por fora, um switcb se pa-
xões partidas a levaram para um tipo diferente de padrão de rece com um hub. A1nbos são caixas, normahnente com 4
fiação , em que cada estação tem um cabo dedicado esticado a 48 portas, cada tnna contendo um conector RJ-45 padrão
até um hub central. Um hub simplesmente conecta todos os para um cabo de par trançado. Cada cabo conecta o switch
fios eletricamente, como se eles fossem únicos. Essa confi- ou hub a um único computador, como mostra a Figura 4.18.
guração pode ser vista na Figura 4. l 7(a). Um switch ta1nbé1n te1n as 1nes1nas vantagens de um hub.
Os fios eram pares trançados da companhia telefônica, E' muito fácil acrescentar ou remover uma nova estação
pois a maioria dos prédios de escritórios já estava conec- conectando ou desconectando um fio, e é fácil encontrar
tada dessa forma e norn1almente havia inuita capacidade a maioria das falhas, pois um cabo ou porta com defeito
ociosa disponível. Esse reúso foi um ganho, 1nas reduziu normahnente afetará apenas uma estação. Ainda existe um
o tamanho 1náximo do cabo do hub para 100 nl (200 m, se componente co1npartilhado que pode falhar - o próprio
fossem usados pares trançados de alta qualidade da Catego- switch - , inas, se todas as estações perderem conectividade,
ria 5). A inclusão ou remoção de uma estação é mais sim- o pessoal de TI sabe o que fazer para resolver o problema:
ples nessa configuração, e uma interrupção de cabo pode substituir o switch inteiro.
ser facilmente detectada. Con1 a vantagem de elas serem Dentro do switch, porém, algo muito diferente está
capazes de usar a fiação existente e a facilidade de 1nanu- acontecendo. Os switches só enviam quadros às po1tas para
tenção, os hubs de par trançado rapidamente se tornaram a as quais esses quadros são destinados. Quando uma por-
forma dominante na topologia Ethen1et. ta do switch recebe um quadro Ethernet de uma estação, o
Todavia, os hubs não aumenta1n a capacidade, pois switch verifica os endereços Ethernet para saber para qual
são logicamente equivalentes ao cabo longo e único da porta o quadro se destina. Essa etapa requer que o switch
Ethernet clássica. Quando mais e 1nais estações são acres- descubra quais portas correspondem a quais endereços,
centadas, cada estação recebe u1na fatia cada vez 1nenor un1 processo que explicaren1os na Seção 4.8, quando ana-
da capacidade fixa. Por fim , a LAN saturará. Uma saída é lisarmos o caso geral dos switcbes conectados a outros
usar uma velocidade 1naior, digamos, de 1OMbps para 100 switches. Por enquanto, basta considerar que o switch

Porta
--------------. Porta" - - - - - - -- - - - --
1

1 • .. 1 . ... .
1 : . 1

Linha
--------7 ----- -- -- --- -- - --
Hub Linha Switch7
(a) (b)

Figura 4.17 (a) Hub. (b) Switch.

Switch~

Hub
0000
J1!JJl!I J.-1 J1!JJl!!l ,l!D,&!l,/l!l 0
4-1-1-1-+-l'-l--l-~--'"Portasdo
switch
Par trançado

Figura 4.18 Um switch Ethernet.


Capítulo 4 • A subcamada de controle de acesso ao meio 193

conhece a porta de destino do quadro. Depois, ele encami- rede Ethernet norn1almente, inclusive con1 colisões e ba-
nha o quadro por sua placa interna de alta velocidade até a ckoff exponencial binário. Os quadros be1n-sucedidos são
porta de destino. A placa interna normalmente trabalha com enviados ao switch e são tratados como quaisquer outros
muitos Gbps, usando utn protocolo próprio que não preci- quadros recebidos. O switch não sabe que eles tiveram de
sa ser padronizado, pois fica inteiran1ente oculto dentro do brigar para chegar lá. Uma vez no switch, eles são enviados
switch. A porta de destino, então, trans1nite o quadro no fio para a linha de saída correta pela placa integrada de alta
para que ele alcance a estação intencionada. Nenhuma das velocidade. Também é possível que o destino correto fosse
outras portas sequer saberá que o quadro existe. uma das linhas conectadas ao hub, quando o quadro já foi
O que acontecerá se duas estações ou portas quiserem entregue, de modo que o switch siinplesn1ente o descarta.
transmitir um quadro ao mesmo te1npo? Nova1nente, os Os hubs são mais simples e mais baratos que os switches,
switches difere1n dos hubs. E1n u1n hub, todas as estações 111as, em decorrência da queda nos preços dos switches,
estão no mesmo domínio de colisão. Elas precisam usar eles estão rapidamente se tomando espécies em extinção.
o algoritmo CSMA/CD para programar suas trans1nissões. As redes modernas usam Ethernet comutada quase exclusi-
Em u1n switch, cada porta é seu próprio domínio de colisão vamente. Apesar disso, ainda existem hubs legados.
independente. No caso comum de u1n cabo full -duplex, a
estação e a porta podem enviar u1n quadro no cabo ao mes-
mo tempo, sem se preocupar com outras portas e estações. 4.3.5 Fast Ethernet
As colisões agora são impossíveis e o CSMA/CD não é
Ao mesmo te1npo em que os switches estavam se toman-
necessário. Contudo, se o cabo for half-duplex, a estação e
do populares, a velocidade da Ethernet de 1OMbps estava
a porta precisa1n disputar com CSMA/CD pela transmissão,
sendo pressionada. A princípio, l OMbps parecia ser o pa-
de forma nonnal.
raíso, da 1nesma forma que os modems a cabo pareciam
Un1 switch melhora o dese1npenho e1n relação a um
ser o paraíso para os usuários de modems telefônicos de
hub de duas maneiras. Primeiro, como não existen1 coli-
56 kbps. Todavia, o que era novidade se dissipou corn ra-
sões, a capacidade é usada de modo tnais eficiente. Se-
pidez. Como uma espécie de corolário da Lei de Parkinson
gundo, e 1nais impo11ante, com um switch, vários quadros
("O trabalho se expande até preencher o te1npo disponível
poden1 ser enviados si1nultaneamente (por estações diferen-
tes). Esses quadros alcançarão as portas do switch e trafe- para sua conclusão"), parecia que os dados se expandiam
garão pela placa integrada do switch para ser enviados nas para preencher toda a largura de banda disponível para sua
portas apropriadas. Todavia, con10 dois quadros podem ser transrnissão.
enviados para a mesma porta de saída ao 111es1no tempo, o Muitas instalações precisava1n de maior largura de
switch precisa ter um buffer, para que possa temporaria- banda e tinham diversas LANs de 1OMbps conectadas por
mente enfileirar um quadro de entrada até que ele possa un1 labirinto de repetidores, hubs e switches, embora às ve-
ser transmitido para a porta de saída. Em geral, essas me- zes parecesse, para os administradores de redes, que elas
lhorias dão um grande ganho de desempenho, o que não é estavam conectadas por goma de n1ascar e tela de arame.
possível com u111 hub. O throughput total do sisten1a nor- Contudo, até mesmo co1n switches Ethernet, a largura de
maln1ente pode ser aumentado em uma ordem de grandeza, banda máxin1a de um único con1putador era li1nitada pelo
dependendo do número de portas e padrões de tráfego. cabo que o conectava à porta do switch.
A mudança nas portas em que os quadros são envia- Foi nesse a1nbiente que o IEEE reuniu o comitê do
dos também tem beneficias para a segurança. A maioria das 802.3 e1n 1992, con1 instruções para produzir uma LAN
interfaces de LAN possui um modo promíscuo, e1n que mais rápida. Uma das propostas era manter o 802.3 exa-
todos os quadros são dados a cada computador, não ape- tamente como estava, apenas tomando-o mais rápido. Ou-
nas os endereçados a ele. Con1 un1 hub, cada co1nputador tra proposta era refazê-lo completamente, para integrar um
conectado pode ver o tráfego enviado entre todos os outros grande número de novos recursos, como tráfego em tem-
computadores. Espiões adoram esse recurso. Com um swi- po real e voz digitalizada, mas manter o antigo nome (por
tch, o tráfego é encan1inhado apenas para as portas às quais motivos de marketing). Após alguma discussão, o comitê
ele é destinado. Essa restrição oferece n1elhor isolan1ento, decidiu manter o 802.3 como ele era, simplesmente tor-
de modo que o tráfego não escapará com facilidade nem nando-o tnais rápido. Essa estratégia realizaria o trabalho
cairá em mãos erradas. Contudo, é melhor criptografar o antes que a tecnologia mudasse, evitando problemas não
tráfego se a segurança reahnente for necessária. previstos com um projeto totalmente novo. O novo projeto
Tendo em vista que o switch espera apenas quadros também seria cornpatível co1n as LANs Ethernet existentes.
Ethernet padrão etn cada porta de entrada, é possível usar As pessoas que apoiavam a proposta perdedora fizeram o
algumas dessas portas como concentradoras. Na Figura que qualquer pessoa do setor de infonnática que se preza
4.18, a porta localizada no canto superior direito não está faria nessas circunstâncias - fonnaran1 seu próprio comi-
conectada a uma estação isolada, mas a um hub de 12 por- tê e padronizara1n sua LAN assin1 n1esn10 (con10 o padrão
tas. À medida que chegam ao hub, os quadros disputam a 802. 12). Esse padrão fracassou por completo.
194 Redes de computadores

O trabalho foi feito rapidamente (pelas normas dos charnado 100Base-T4, emprega un1a velocidade de sina-
con1itês de padronização) e o resultado, o 802.3u, foi ofi- lização de 25 MHz, somente 25% 1nais rápida do que os
cialmente aprovado pelo IEEE em junho de 1995. Tecnica- 20 MHz da Ethernet padrão. (Lembre-se de que a codifi-
mente, o 802.3u não é um padrão novo, mas urn adendo ao cação Manchester, discutida na Seção 2.4.3, requer dois
padrão 802.3 existente (para enfatizar sua con1patibilida- períodos de clock para cada um dos 1O n1ilhões de bits
de ). Essa estratégia é muito utilizada. Como praticamente enviados a cada segundo.) Contudo, para atingir a taxa de
todos o chamam de Fast Ethernet, em vez de 802.3u, fa- bits necessária, o 100Base-T4 exige quatro pares trançados.
remos o mesmo. Dos quatro pares, un1 sempre é para o bub, um sen1pre é
A ideia básica por trás da Fast Ethen1et era simples: do hub e os outros dois são cornutáveis para a direção da
manter os antigos formatos de quadros, interfaces e re- trans111issão atual. Para conseguir 100 Mbps dos três pares
gras de procedimentos, e apenas reduzir o tempo de bit de trançados na direção da transmissão, u1n esquerna bastante
100 ns para 1O ns. Tecnicamente, teria sido possível copiar complicado é usado em cada par trançado. Ele envolve o
a Ethernet clássica de 10 Mbps e continuar a detectar coli- envio de dígitos ternários com três níveis de tensão. Esse
sões a ternpo, pela simples redução do cornprimento máxi- esquema provavelmente não ganhará nenhum prê1nio de
mo do cabo a um décimo do comprimento original. Entre- elegância, e (felizmente) deixaremos de lado os detalhes.
tanto, as vantagens do cabeamento de par trançado eram Todavia, como a fiação da telefonia padrão há décadas tem
tão grandes que a Fast Ethernet se baseou inteiramente nes- quatro pares por cabo, a maioria dos escritórios é capaz de
se projeto. Por isso, todos os sisternas Fast Ethernet usam usar a fiação existente. É claro que isso significa abrir rnão
hubs e switches; porén1, cabos n1ultiponto com conectores do telefone do seu escritório, 1nas esse certamente é um pe-
de pressão ou conectores BNC não são permitidos. queno preço a pagar por um e-mail mais rápido.
Entretanto, algumas decisões ainda precisavam ser to- O 100Base-T4 foi deixado de lado quando muitos
madas, sendo que a mais importante dizia respeito aos tipos prédios de escritórios tiveram a fiação trocada para o UTP
de fios que seria1n aceitos. Um dos concorrentes era o par de Categoria 5 para Ethernet lOOBase-TX, que veio para
trançado da Categoria 3. O argumento a favor dele era que do1ninar o 1nercado. Esse projeto é rnais simples porque os
todo escritório do mundo ocidental tinha pelo menos quatro fios podem lidar com taxas de clock de 125 MHz. Somen-
pares trançados da Categoria 3 (ou melhor) instalados entre te dois pares trançados por estação são usados, um para o
ele e um arn1ário de fiação telefônica a urna distância n1á- hub e outro a partir dele. Nern a codificação binária direta
xima de 100 rn. Às vezes, há dois cabos desse tipo. Desse (ou seja, NRZ) ne111 a codificação Manchester são usadas.
modo, o uso do par trançado da Categoria 3 tomaria possí- Em vez disso, é usada a codificação 4B/SB, que descreve-
vel conectar computadores desktop usando a Fast Ethernet, mos na Seção 2.4.3. Quatro bits de dados são codificados
sem a necessidade de refazer a fiação do prédio, uma enor- corno 5 bits de sinal e enviados a 125 MHz para fornecer
me vantagem para muitas ernpresas. 100 Mbps. Esse esquen1a é simples, rnas tem transições su-
A principal desvantagem do par trançado da Categoria ficientes para sincronização e usa a largura de banda do fio
3 é sua incapacidade para transportar sinais de 100 Mbps relativamente bem. O sisterna l OOBase-TX é full-duplex;
por 100 m, a distância máxima especificada entre o com- as estações podem transmitir a 100 Mbps em um par tran-
putador e o hub para hubs de 1O Mbps. Por sua vez, a fia- çado e recebem ern 100 Mbps em outro par trançado ao
ção de par trançado da Categoria 5 é capaz de tratar 100 m 1nesrno te1npo.
com facilidade, e a fibra pode ir muito mais longe que isso. A última opção, o lOOBase-FX, utiliza dois fila1nen-
Decidiu-se pennitir as três possibilidades, como mostra a tos de fibra rnultimodo, um para cada sentido; por isso, ele
Figura 4. 19, mas incentivar a solução da Categoria 3, para tambérn é full-duplex, con1 100 Mbps em cada sentido.
que fosse possível obter a capacidade de transporte adicio- Nessa configuração, a distância entre uma estação e o swi-
nal necessária. tch pode ser de até 2 km.
O esque1na de par trançado se1n blindagem, ou UTP A Fast Ethernet pennite a interconexão por hubs
(Unshielded Twisted Pair), da Categoria 3, fonnahnente ou switches. Para garantir que o algoritmo CSMA/CD

Tam. máx.
Nome Cabo de segmento Vantagens
100Base-T4 Par trançado 100 m Utiliza UTP da Categoria 3
1OOBase-TX Par trançado 100 m Full-duplex a 100 Mbps (UTP Cat. 5)
100Base-FX Fibra óptica 2.000 m Full-duplex a 100 Mbps; grandes distâncias

Figura 4.19 O cabeamento Fast Ethernet original.


Capítulo 4 • A subcamada de controle de acesso ao meio 195

continue a funcionar, o relacionamento entre o ta1nanho de Os objetivos do con1itê para a gigabit Ethernet eram es-
quadro mínimo e o tamanho de cabo máxin10 deve ser man- sencialn1ente os 1nesmos do comitê para a Fast Ethernet:
tido enquanto a velocidade da rede sobe de l OMbps para tomá-la 10 vezes mais rápida, mantendo a compatibilidade
100 Mbps. Assim, ou o comprimento mínimo do quadro com todos os padrões Ethernet existentes. E1n particular, a
de 64 bytes deve aumentar ou o comprimento máxi1no do gigabit Ethernet tinha de oferecer o serviço de datagrama
cabo de 2.500 1n deve din1inuir proporcionaln1ente. A es- não confirmado com unicasting e broadcasting, empregar
colha fácil foi que a distância máxima entre duas estações o mesmo esquema de endereçamento de 48 bits já em uso
quaisquer fosse diminuída por um fator de 10, pois um hub e manter o mesmo formato de quadro, inclusive seus ta-
co1n cabos de 100 1n já está dentro desse novo nláxin10. manhos mínuno e máximo. O padrão final atendeu a todos
Contudo, os cabos IOOBase-FX de 2 km são muito longos esses objetivos.
para aceitar um hub de 100 Mbps com o algoritino de co- Ta1nbém como a Fast Ethernet, todas as configurações
lisão normal da Ethernet. Esses cabos, em vez disso, pre- da gigabit Ethernet utiliza1n enlaces ponto a ponto. Na con-
cisam ser conectados a um switch e operar en1 um modo figuração 1nais simples, ilustrada na Figura 4.20(a), dois
full-duplex para que não haja colisões. con1putadores estão diretamente conectados um ao outro.
Os usuários rapidamente con1eçaran1 a implantar a Contudo, o caso mais comum consiste em um switch ou
Fast Ethernet, mas eles não quiseram abandonar as pla- um hub conectado a vários computadores e possivelmente a
cas Ethernet de l O Mbps nos computadores mais antigos. switches ou bubs adicionais, como mostra a Figura 4.20(b).
Por conseguinte, praticamente todos os switches Ethernet Em ambas as configurações, cada cabo Ethernet tem exa-
podem lidar com uma niistura de estações de 10 Mbps e tamente dois dispositivos conectados a ele, nem mais nem
l 00 Mbps. Para facilitar o upgrading, o próprio padrão ofe- nienos.
rece u1n mecanisino chamado autonegociação, que penni- Assim co1no a Fast Ethernet, a gigabit Ethernet ad1ni-
te que duas estações negociem automaticamente a veloci- te dois modos de operação: o full-duplex e o half-duplex.
dade ideal (10 ou 100 Mbps) e o tipo de duplex (half ou O nlodo "no1mal" é o full-duplex, que pennite tráfego e1n
full). Isso quase se1npre funciona bem, mas pode ocasionar ambos os sentidos ao mesmo tempo. Ele é usado quan-
problemas de divergência do duplex quando uma extremi- do existe um switch central conectado a computadores
dade do enlace autonegocia e a outra não, ficando defini- (ou outros switches) na periferia. Nessa configuração,
da como o modo full-duplex (Shalunov e Carlson, 2005). todas as linhas têm buffers de armazenamento, de forma
A 1naioria dos produtos Ethen1et utiliza esse recurso para que cada computador e cada switch são livres para enviar
se configurar. quadros se1npre que quiserem. O transmissor não precisa
observar o canal para saber se ele está sendo usado por
mais alguém, pois a disputa é impossível. Na linha en-
4.3.6 Gigabit Ethernet tre u1n computador e um switch, o co1nputador é o úni-
A tinta mal havia secado no padrão Fast Ethernet quando co transmissor possível para o switch naquela linha, e a
o comitê 802 começou a trabalhar em uma Ethernet ainda trans1nissão terá sucesso ainda que o switch nesse instante
mais rápida, prontamente apelidada de gigabit Ethernet. esteja transmitindo um quadro para o computador (porque
O JEEE ratificou a fonna ruais popular como 802.3ab em a linha é full-duplex). Tendo em vista que nenhun1a disputa
1999. A seguir descreveremos algumas das principais ca- é possível, o protocolo CSMNCD não é usado, e assin1 o
racterísticas da gigabit Ethernet. Você pode encontrar mais comprimento máxi1no do cabo é detenninado pela inten-
informações em Spurgeon e Zimmerman (2014). sidade do sinal, não pelo tempo que u1na rajada de sinal

D
Switch ou hub
D
------' -;;.
-
' •,

/ \ ·-·

D
l!l!!!!!l!l!!
Computador

Ethernet
D
(a) (b)

Figura 4.20 (a) Uma Ethernet com duas estações. (b) Uma Ethernet com várias estações.
196 Redes de computadores

ruidoso leva para se propagar de volta até o transmissor na pela transmissão, esse esquen1a será alta1nente eficiente e
pior das hipóteses. Os switches são livres para se misturar preferível à extensão de portadora.
e co1nbinar suas velocidades. A autonegociação é admitida, Com toda franqueza, é difícil imaginar uma organiza-
como na Fast Ethernet, mas agora a escolha é entre 1O, l 00 ção se envolvendo co1n as dificuldades de compra e instala-
e 1.000 Mbps. ção de placas gigabit Ethernet para obter alto desempenho,
O outro modo de operação, o half-duplex, é usado e depois conectar os computadores a u1n antigo hub para
quando os computadores estão conectados a u1n hub, não simular a Ethernet clássica, com todas as suas colisões.
a um switch. Um hub não armazena os quadros recebidos As interfaces e os switches da gigabit Ethernet era1n muito
em buffers. E1n vez disso, ele estabelece conexões elétri- caros, 1nas seu preço caiu rapida1nente à 1nedida que o vo-
cas internas para todas as linhas, simulando o cabo 1nul- lume de vendas aumentou. Ainda assim, a compatibilida-
tiponto usado na Ethernet clássica. Nesse modo, colisões de é sagrada na indústria de informática e, então, o comitê
são possíveis e, portanto, é necessário o protocolo CSMA/ é obrigado a aceitá-la. Hoje, a maioria dos computadores
CD padrão. Tendo e1n vista que um quadro mínimo de vem com urna interface Ethernet capaz de operar a l O, l 00
64 bytes (o 1uais curto permitido) agora pode ser transmi- e 1.000 Mbps (e talvez ainda mais), compatível con1 todas
tido 100 vezes 1nais rápido que na Ethernet clássica, adis- as velocidades.
tância máxima é 100 vezes menor (ou seja, 25 m), a fim de A gigabit Ethernet adn1ite cabearnento de cobre e de
manter a propriedade essencial de que o transmissor ainda fibra, como mostra a Figura 4.21. A sinalização à veloci-
transmitirá quando uma rajada de sinal ruidoso voltar a ele, dade de aproxi1uada1neote 1 Gbps requer a codificação e
mesmo na pior das hipóteses. Com um cabo de 2.500 m, o o envio de um bit a cada nanossegundo. Esse truque foi
transmissor de um quadro de 64 bytes a l Gbps terminaria realizado inicialmente com cabos de cobre curtos e blin-
a trans1nissão bem antes de o quadro sequer ter chegado a dados (a versão lOOOBase-CX) e fibras ópticas. Para estas,
percorrer um décimo da distância até a outra extremidade, dois compri1nentos de onda são permitidos e o resultado
quanto 1nais ir até a extremidade e voltar. são duas versões: 0,85 mícron (curto, para 1OOOBase-SX) e
Essa restrição de distância foi tão séria que duas ca- 1,3 mícron (longo, para lOOOBase-LX).
racterísticas foram acrescentadas ao padrão para aumentar A sinalização no compri1nento de onda curto pode ser
a distância máxima do cabo para 200 m, o que provavel- alcançada com LEDs 1nais baratos. Ela é usada com a fi-
mente é suficiente para a 1naioria dos escritórios. A primei- bra multimodo e é úti l para conexões dentro de u1n prédio,
ra característica, cha1nada extensão de portadora, basi- pois pode se estender até 500 n1 para a fibra de 50 1nicra.
camente informa ao hardware para adicionar seu próprio A sinalização no comprimento de onda longo exige lasers.
preenchimento ao quadro normal, a fim de estendê-lo para Todavia, quando combinado com a fibra de modo único
512 bytes. Considerando que esse preenchitnento é adicio- (10 micra), o comprimento do cabo pode ser de até 5 k1n.
nado pelo hardware transmissor e removido pelo hardware Esse li1nite permite conexões a longa distância entre pré-
receptor, o software não te1n conhecimento desse fato, o dios, co1no para o backbone de um campus, como em u1n
que significa que não é necessária qualquer nludança no enlace ponto a ponto dedicado. Outras variações do pa-
software existente. A desvantagem é que o uso de 512 bytes drão permitiram enlaces ainda mais longos sobre a fibra
de largura de banda para transmitir 46 bytes de dados do de modo único.
usuário (a carga útil de u1n quadro de 64 bytes) te1n u1na Para enviar bits por essas versões da gigabit Ethernet,
eficiência de linha de apenas 9%. a codificação 8B/10B, que descrevemos na Seção 2.4.3,
A segunda característica, chamada rajada de qua- foi emprestada de outra tecnologia de redes, chatnada Fi-
dros, permite a um trans1nissor enviar uma sequência con- bre Channel. Esse esquema codifica 8 bits de dados em
catenada de vários quadros em un1a única transn1issão. Se a palavras de código de 1O bits, que são enviadas pelo fio
rajada total tiver 1nenos de 512 bytes, o hardware a preen- ou fibra, daí o non1e 8B/ 10B. As palavras de código foram
cherá novamente. Se houver quadros suficientes esperando escolhidas de 1nodo que pudessem ser balanceadas (ou seja,

Distância máxima
Nome Cabo do segmento Vantagens
1000Base-SX Fibra óptica 550m Fibra multimodo (50, 62,5 micra)

1000Base-LX Fibra óptica 5.000 m Modo único (1Oµ) ou multimodo (50, 62,5µ)
1000Base-CX 2 pares de STP 25m Par trançado blindado

1000Base-T 4 pares de UTP 100m UTP padrão da Categoria 5

Figura 4.21 O cabeamento da gigabit Ethernet.


Capítulo 4 • A subcamada de controle de acesso ao meio 197

tivesse1n o mesn10 nú1nero de Os e 1s) con1 transições su- dizer que um quadro chegou, ou a divisão e recombinação
ficientes para a recuperação de clock. O envio dos bits co- de nlensagens que eram n1uito grandes para caber em um
dificados com NRZ requer u1na largura de banda de sina- quadro Ethernet.
lização de 25% a mais do que a necessária para os bits não
codificados, u1na grande 1nelhoria en1 relação à expansão
de 100% da codificação Manchester. 4.3.7 Ethernet de 10 gigabits
Contudo, todas essas opções exigian1 novos cabos de Assin1 que a gigabit Ethernet foi padronizada, o comitê 802
cobre ou fibra para dar suporte à sinalização mais rápida. ficou entediado e quis voltar ao trabalho. O IEEE pediu que
Nenhum deles utilizava a grande quantidade de UTP de se iniciasse1n os estudos sobre a Ethernet de 1O gigabíts.
Categoria 5 que havia sido instalada com a Fast Ethernet. Esse trabalho seguiu aproximada1nente os 1nesn1os mol-
Dentro de um ano, o l OOOBase-T surgiu para preencher des dos padrões Ethernet anteriores, com os padrões para
essa lacuna, e te1n sido a forma mais popular de gigabit fibra e cabo de cobre blindado, que apareceram primeiro
Ethen1et desde então. As pessoas aparente1nente não quise- em 2002 e 2004, seguidos pelo padrão para par trançado de
ra1n mudar a fiação de seus prédios. cobre e1n 2006.
Un1a sinalização mais complicada é necessária para A velocidade de l OGbps é verdadeiramente prodigio-
fazer a Ethernet funcionar a 1.000 Mbps sobre fios de Ca- sa, mil vezes mais rápida que a Ethernet original. Onde ela
tegoria 5. Para começar, todos os quatro pares trançados poderia ser necessária? A resposta é: dentro dos centros de
no cabo são usados, e cada um é usado nas duas direções dados e estações, para conectar roteadores de ponta, swi-
ao 1nesmo ten1po, usando o processan1ento de sinal digital tches e servidores, bem co1uo e1n troncos de longa distância
para separar os sinais. Pelos fios, un1 a u1n, cinco níveis de e alta largura de banda, entre estações que habilitam re-
tensão que transportam 2 bits são usados para sinalizar e1n des n1etropolitanas inteiras com base em Ethernet e fibra.
125 Msímbolos/s. O 1napeamento para produzir os símbo- As conexões de longa distância utilizam fibra óptica, en-
los a partir dos bits não é sin1ples. Ele envolve e1nbaralha- quanto as conexões curtas podem usar cobre ou fibra.
mento e transições, seguidos por um código de correção de Todas as versões da Ethernet de 1O gigabits admitem
erros em que quatro valores são embutidos em cinco níveis apenas operação full -duplex. CSMA/CD não faz mais par-
de sinal. te do projeto, e os padrões se concentra1n em detalhes das
Un1a velocidade de 1 Gbps é bastante alta. Por exen1- camadas fisicas que podem trabalhar em velocidades muito
plo, se um receptor estiver ocupado com algun1a outra tare- altas. Contudo, a compatibilidade ainda é i1uportante, de
fa, mesmo durante 1 1ns, e não esvaziar o buffer de entrada n1odo que as interfaces Ethernet de 1O gigabits autonego-
em alguma linha, nesse intervalo poderão se acu1nular até cia1n e recuam para a velocidade mais baixa adn1itida pelas
1.953 quadros. Além disso, quando un1 computador e1n un1a duas extremidades da linha.
gigabit Ethernet estiver transmitindo dados pela linha a um Os principais tipos de Ethernet de 1Ogigabits são lis-
computador em uma Ethernet clássica, serão muito prová- tados na Figura 4.22. A fibra n1ultimodo co1n co1nprimento
veis sobrecargas no buffer. Co1no consequência dessas duas de onda de 0,85µ (curta) e 1,5µ (estendida) é usada para
observações, a gigabit Ethernet admite controle de fluxo. longas distâncias. A 1OGBase-ER pode percon·er distâncias
O n1ecanismo consiste na transmissão de um quadro de de 40 km, o que a torna adequada para aplicações remotas.
controle especial de uma extre1nidade a outra, informando Todas essas versões envia1n um fluxo serial de infonnações,
que a extremidade receptora deve fazer uma pausa durante produzido pelo embaralhamento dos bits de dados, depois a
algu1u período predeterminado. Para controle de fluxo, são codificação com um código 64B/ 66B. Essa codificação tem
usados quadros PAUSE, contendo o tipo Ox8808. As pausas menos overhead do que urna codificação 8B/ 1OB.
são dadas e1n unidades de tempo míniino por quadro. Para A primeira versão de cobre definida, 1OGBase-
a gigabit Ethernet, a unidade de tempo é 512 ns, permitindo -CX4, usa um cabo com quatro pares de fiação de cobre
pausas de até 33,6 1ns. twinaxial. Cada par usa codificação 8B/ 1OB e trabalha a
Existe mais uma extensão introduzida com a gigabit 3, 125 Gsíinbolos/s para alcançar 1O Gbps. Essa versão é
Ethernet. Quadros jumbo permitem que os quadros te- nlais barata do que a fibra e chegou cedo ao mercado, mas
nham 1nais de 1.500 bytes, nonnalmente até 9 KB. Essa ainda não sabe1nos se e1n longo prazo vencerá a Ethen1et
extensão é patenteada. Ela não é reconhecida pelo padrão de 1Ogigabits sobre a fiação de par trançado mais comum.
porque, se for usada, a Ethernet não será mais compatível A 1OGBase-T é u1na versão que usa cabos UTP. Em-
com versões anteriores, mas, de qualquer fonua, a 1naioria bora exija fiação de Categoria 6a, para pequenas distâncias,
dos vendedores oferece suporte para ela. O raciocínio é que ela pode usar categorias inferiores (incluindo a Categoria
1.500 bytes representan1 uma unidade curta nas velocidades 5) para penuitir algum reúso do cabeamento instalado. Não
de gigabit. Manipulando blocos de informação maiores, a é surpresa que a ca1nada física seja 1nuito co1nplicada para
taxa de quadros pode ser din1inuída, com o processamento alcançar 1OGbps sobre par trançado. Só veremos por alto
associado a ela, como a interrupção do processador para alguns dos detalhes de alto nivel. Cada um dos quatro pares
198 Redes de computadores

Distância máxima
Nome Cabo do segmento Vantagens
10GBase-SR Fibra óptica Até 300 m Fibra multimodo (0,85 µ)
10GBase-LR Fibra óptica 10 km Fibra monomodo (1,3 µ)

10GBase-ER Fibra óptica 40km Fibra monomodo (1,5 µ)


10GBase-CX4 4 pares de twinax 15 m Cobre twinaxial
10GBase-T 4 pares de UTP 100 m UTP padrão da Categoria 6a

Figura 4.22 Ocabeamento da Ethernet de 1ogigabits.

trançados é usado para enviar 2.500 Mbps/s em ambas as Os novos padrões eliminan1 o fio de cobre em favor da
direções. Essa velocidade é alcançada usando-se tuna taxa fibra óptica e placas integradas de alto desempenho (cobre)
de sinalização de 800 Msímbolos/s, com sí1nbolos que usadas em data centers que suportam a con1putação em nu-
usam 16 níveis de tensão. Os símbolos são produzidos vem. Podem ser usados 1neia dúzia de esque1nas de modu-
embaralhando-se os dados, protegendo-os com o código lação, incluindo 64B/66B (con10 8B/ lOB, poré1n com 1nais
LDPC (Low Density Parity Check) e codificando ainda bits). Além disso, até 10 pistas paralelas a 10 Gbps cada
mais para correção de erros. uma podem ser usadas para chegar a 100 Gbps. As pistas
A Ethernet de 1Ogigabits ainda está sacudindo o mer- são normalmente bandas de frequência diferentes em uma
cado, mas o comitê 802.3 já fez progressos. Ao final de fibra óptica. A integração e1n redes ópticas existentes usa a
2007, o IEEE criou um grupo para padronizar a Ethernet recomendação G.709 da ITU.
operando a 40 Gbps e a 100 Gbps. Essa atualização permi- Por volta de 2018, um pequeno número de empresas
tirá que a Ethernet concorra em ambientes de desempenho começou a introduzir switches e placas adaptadoras de rede
muito alto, incluindo conexões de longa distância em redes de l 00 Gbps. Para quem 100 Gbps não é suficiente, já foi
de backbone e conexões curtas, nas placas integradas de iniciado o trabalho nos padrões para até 400 gigabits/s,
equipa1nentos. O padrão ainda não está concluído, 1nas já també1n chamados de 400GbE. Os padrões são 802.3cd,
estão disponíveis produtos patenteados. 802.3ck, 802.3cm e 802.3cn, se você quiser pesquisá-los.
A 400 Gbps, um filme 4K típico (compactado) pode ser
4.3.8 Ethernet de 40 e 100 gibabits baixado por completo em cerca de 2 segundos.

Depois de te1minar de padronizar a Ethen1et de 10 gigabits,


o comitê 802.11 começou a trabalhar em novos padrões 4.3.9 Retrospectiva da Ethernet
para Ethernet de 40 gigabits/s e 100 gigabits/s. O primei-
ro é voltado para conexões internas nos data centers, não A Ethernet existe há 1nais de 40 anos e não ten1 conco1Ten-
e1n escritórios comuns e certamente não em usuários finais. tes sérios; portanto, é provável que continue no mercado
Este último é direcionado ao backbone da Internet e, dessa ainda por muitos anos. Poucas arquiteturas de CPUs, sis-
forma, deve funcionar em trechos de rede óptica de milha- temas operacionais ou linguagens de programação seriam
res de quilômetros. Um uso possível é uma LAN virtual capazes de se 1nanter na liderança por quatro décadas,
privada para conectar um data center com um milhão de continuando com força. Sem dúvida, a Ethernet fez algo
CPUs a outro data center con1 um milhão de CPUs. correto. O que foi?
O primeiro padrão foi 802.3ba, aprovado em 201 O, Provavelmente a principal razão para sua longevidade
seguido pelo 802.3bj (2014) e 802.3cd (2018). Todos eles seja o fato de que a Ethernet é simples e flexível. Na práti-
def10em Ethernet e1n 40 Gbps e 100 Gbps. Os objetivos do ca, simples se traduz como confiável, de baixo custo e de
projeto incluíram: fácil 1nanutenção. Depois que a arquitetura de hub e switch
foi adotada, as fa lhas se tornaram extremamente raras.
1. Compatibi lidade com padrões 802.3 para 1 gigabit/s.
As pessoas hesita1n em substituir algo que funciona bem
2. Permitir que os ta1nanhos de quadro mínimo e máxi- o tempo todo, e1n especial quando sabem que uma quanti-
1no permanecessem os 1nesmos. dade terrível de itens da indústria de informática funciona
3. Lidar com taxas de erro de bit de 10- 12 ou menos. muito mal. Muitas das chamadas "atualizações" são bem
4. Funcionar bem em redes ópticas. piores que as versões substituídas por elas.
5. Ter taxas de dados de 40 Gbps ou 100 Gbps. Simplicidade também se traduz em economia. A fia-
6. Pern1itir o uso de fibra mono1nodo ou nlultitnodo e ção de par trançado te1n custo relativamente baixo, assinl
placas integradas especializadas. como os componentes do hardware. Eles começam caros
Capítulo 4 • A subcamada de control e de acesso ao meio 199

quando há un1a transição, por exemplo, novas NICs ou e exige 1nelhores recursos de gerenciamento para ajudar as
switches da gigabit Ethernet, mas são apenas acréscimos operadoras a oferecer serviços confiáveis e de alta quali-
a u1na rede bem estabelecida (não uma substituição dela) dade. As redes co1n velocidade muito alta, como 1OOGbE,
e os preços caem rapidamente à medida que o volume de também estão sendo usadas ern placas integradas, conec-
vendas aumenta. tando co1nponentes em grandes roteadores ou servidores.
A Ethernet é de fácil manutenção. Não existe nenhum Esses dois usos são adicionais ao envio de quadros entre
software para instalar (além dos drivers) e não há nenhuma computadores e1n escritórios. O próximo passo é a 400GbE,
tabela de configuração para gerenciar (e errar). Além disso, e esse nem sequer poderá ser o último.
a inclusão de novos hosts é si1nples: basta conectá-los.
Outro ponto ünportante é que a Ethernet é capaz de
interoperar facilmente com o TCP/IP, que se tornou do-
minante. O IP é um protocolo não orientado a conexões e, 4.4 LANS SEM FIO
portanto, se ajusta perfeita1nente à Ethernet, que ta1nbé1n é
As LANs sem fio estão cada vez mais populares e um nú-
não 01ientada a conexões. O IP não te1n a mesma facilidade
rnero crescente de casas, escritórios, lanchonetes, bibliote-
para se ajustar a alternativas orientadas a conexão, como o
cas, aeroportos, zoológicos e outros lugares públicos está
ATM. Essa falta de compatibilidade definitivamente preju-
sendo equipado com elas, para conectar computadores,
dicou as chances de sucesso do ATM..
notebooks, tablets e smartphones à Internet. As LANs sem
Por fi1n, e talvez mais importante, a Ethernet foi capaz
fio també1n podem ser usadas para permitir que dois ou
de evoluir em certos aspectos cruciais. As velocidades au-
n1ais cornputadores vizinhos se comuniquem sem usar a
mentaram várias ordens de grandeza, e os hubs e switches
Internet.
fora1n introduzidos, mas essas mudanças não exigiram
O principal padrão de LAN sem fio é o 802. 11. Vi-
alterações no software e nonnalrnente permitiam que o ca-
mos algumas infonnações básicas sobre ele na Seção 1.5.3.
bea1nento existente fosse reutilizado por un1 tempo. Quando Agora, vamos exa1ninar 1nais de perto a tecnologia. Nas
um vendedor de redes aparece em uma grande instalação
próximas seções, estudaremos a pilha de protocolos, as téc-
e diz: "Tenho esta nova e fantástica rede para você. Basta
nicas de transmissão de rádio na camada física, o protocolo
se desfazer de todo o seu hardware e reescrever todo o seu
da subcamada MAC, a estrutura do quadro e os serviços
software", ele te1n u1n proble1na.
fornecidos. Para obter rnais informações sobre o 802.1 1,
Muitas tecnologias alternativas, que você provavel- consulte Bing (2017) e Davis (2018). Para conhecer os de-
mente nem sequer ouviu falar, eram mais rápidas que a
talhes rnais profundos, consulte os próprios padrões publi-
Ethernet quando foram introduzidas. Assirn como o ATM,
cados pelo IEEE.
essa lista inclui o FDDI (Fiber Distributed Data Interface)
e o Fibre Channel,* duas LANs ópticas baseadas e1n anéis.
An1bas era1n incompatíveis com a Ethernet. Nenhurna delas 4.4.1 802.11 : arquitetura e
teve sucesso. Elas eram 1nuito complicadas, o que resulta-
pilha de protocolos
va ern chips complexos e altos preços. A lição que deveria
ter sido aprendida aqui é que as coisas precisarn ser man- As redes 802.11 podem ser usadas em dois modos.
tidas sünples. Por fim, a Ethernet os alcançou em tern1os O modo mais popular é conectar clientes, como laptops
de velocidade, geralmente pegando parte de sua tecnologia e s1nartphones, a outra rede, co1no uma intranet da em-
ernprestada, por exemplo, a codificação 4B/5B do FDDI e presa ou a Internet. Esse rnodo aparece na Figura 4.23(a).
a codificação 8B/ 1OB do Fibre Channel. Então, ou elas não No 1nodo de infraestrutura, cada cliente está associado a
tinham mais vantagens e desaparecera1n silenciosarnente um PA (ponto de acesso), que, por sua vez, está conecta-
ou tiveram funções especializadas. do a outra rede. O cliente transmite e recebe seus pacotes
Parece que a Ethernet continuará a se expandir em por meio do PA. Vários PAs podem ser conectados, nor-
suas aplicações por algum tempo. A Ethernet de LO giga- rnalmente por uma rede com fio chamada sistema de dis-
bits acabou co1n as restrições de distância do CSMA/CD. tribuição, para formar u1na rede 802.1 l estendida. Nesse
Ten1 sido realizado muito esforço para a carrier-grade caso, os clientes pode1n enviar quadros aos outros clientes
Ethernet , ou simplesmente Carrier-Ethernet, para permi- por tneio de seus PAs.
tir que os provedores de rede ofereçam serviços baseados O outro 1nodo, 1nostrado na Figura 4.23(b), é uma
em Ethernet aos seus clientes para redes n1etropolitanas e rede ad hoc. Trata-se de uma coleção de computadores que
a longas distâncias (Hawkins, 2016). Essa aplicação trans- estão associados de 1nodo que possam enviar quadros di-
porta quadros Ethernet a longas distâncias através da fibra retamente uns aos outros. Não existe PA. Como o acesso à
lnte111et é a principal aplicação para redes sem fio, as redes
ad hoc não são n1uito populares.
*E le se chama " Fibre Channel" e não " Fiber Channel", pois o Agora, vejan1os os protocolos. Todos os protocolos
editor do docu1nento era britânico. 802, incluindo 802.11 e Ethernet, têm certas características
200 Redes de computadores

--, '
/ / \
// 1
/ \
/ 1

I
// t \ I

\ I

-- --- -- --- -
', ' /
, _ /

(a) (b)

Figura 4.23 Arquitetura 802.11. (a) Modo de infraestrutura. (b) Modo ad hoc.

co1nuns em sua estrutura. Uma visão parcial da pilha de Para dar aos viciados em redes sem fio o au1nento de
protocolos do 802.11 para suas principais variantes é dada velocidade tão desejado, novas técnicas de transmissão, ba-
na Figura 4.24. A pilha é a mesma para clientes e PAs. seadas no esque1na OFDM (01thogonal Frequency Division
A ca1nada física corresponde 1nuito ben1 à can1ada física Multiplexing), que descrevemos na Seção 2.5.3, foram intro-
do modelo OSI, mas a camada de enlace de dados en1 to- duzidas e1n 1999 e em 2003. A prin1eira é chamada 802.1 la
dos os protocolos 802 se divide em duas ou mais subca- e usa uma banda de frequência diferente, a de 5 GHz. A se-
madas. No 802.11 , a subcamada MAC detennina co1110 gunda ficou com 2,4 GHz e compatibi lidade. Ela é cha1nada
o canal é alocado, isto é, que1n terá a oportunidade de 802.11 g. Alnbas oferecem velocidades de até 54 Mbps.
trans1nitir a seguir. Acima dela encontra-se a subca111ada Técnicas de transmissão que usa1n simultaneamente
LLC, cujo trabalho é ocultar as diferenças entre as diver- várias antenas no transn1issor e no receptor para aumentar
sas variações do 802 e torná-las indistinguíveis no que se a velocidade foram finalizadas como 802.lln, em outubro
refere à camada de rede. Essa poderia ter sido u1na res- de 2009.
ponsividade significativa, mas atuahnente a LLC é uma Em dezembro de 2013, o IEEE j á tinha usado todas
camada de cola, que identifica o protocolo (p. ex., IP) que as letras do alfabeto, e publicou o próximo padrão como
é transportado dentro de um quadro 802.11. 802.11 ac. Co1no um parêntese, os membros do comitê
Várias técnicas de transmissão foram acrescentadas à 802.11 conhecem o alfabeto inteiro, e usam as letras "que
can1ada fisica à medida que o 802.11 evoluiu desde o seu faltan1", como 802. l lr, para pequenas melhorias e acrésci-
aparecimento, em 1997. Duas das técnicas iniciais, infra- mos técnicos (geralmente, para esclarecitnentos e reparos
vermelho como nos controles remotos de televisão e salto de falhas). O 802.1 lac opera na banda de 5 GHz, o que sig-
de frequência na banda de 2,4 GHz, agora não são mais nifica que os dispositivos mais antigos, que usam apenas a
usadas. A terceira técnica inicial, o espectro de dispersão de banda de 2,4 GHz, não poderão usá-lo. Os dispositivos tnó-
sequência direta a 1 ou 2 Mbps na banda de 2,4 GHz, foi veis mais modernos usa1n 802.1 lac. Mais recentemente, o
estendida para trabalhar e1n velocidades de até 11 Mbps e padrão 802.11 ax foi aprovado para ainda mais velocidade.
tornou-se rapidamente um sucesso. Ela agora é conhecida Agora, vamos examinar cada uma dessas técnicas
como 802. 11 b. de transmissão ern linhas gerais. Contudo, abordaremos

-
,.. Camadas
superiores

Camada de enlace lógico


- Camada
r -- -- ----- - - ---- - · - --- - -
,.. de enlace
-- ---- ~ - - - - --~- - -- - ------ - -
Subcamada_f de dados
MAC l
802.11 (legado)
-
Salto de 802.11a 802.11 b 802.11g 802.11 n 802.11ac 802.11ax
Espectro OFDM MIMO MU-MIMO MU-MIMO ,.. Camada
frequência e OFDM OFDM OFDM OFDMA física
infravermelho de
dispersão
Data de lançamento: 1997-1999 1999 1999 2003 2009 2013 2019 -
Figura 4.24 Parte da pilha de protocolos do 802.11.
Capítulo 4 • A subcamada de controle de acesso ao meio 201

apenas aquelas que estão em uso, pulando os métodos de ao requisito da FCC de que a potência deve ser espalha-
transmissão 802.11 legados. Tecnicamente, elas pertencem da pela banda ISM. A sequência de espalha1nento usada
à camada tisica e deveriam ter sido examinadas no Capítu- pelo 802.11 b é uma sequência de Barker. Ela te1n como
lo 2; porém, como estão estritamente relacionadas às LANs propriedade uma baixa autocorrelação, exceto quando as
em geral e em particular à LAN 802.11 , preferimos tratá-las sequências estão alinhadas, o que pennite que un1 receptor
.
aqu1. intercepte o início de uma transn1issão. Para transmitir em
uma taxa de l Mbps, a sequência de Barker é usada com a
modulação BPSK para enviar 1 bit por 11 chips. Os chips
4.4.2 802.11 : a camada física são transmitidos a uma taxa de 11 Mchips/s. Para enviar
Cada uma das técnicas de trans1nissão ton1a possível enviar a 2 Mbps, ela é usada com a modulação QPSK para en-
um quadro MAC de uma estação para outra através do ar. viar 2 bits por 11 chips. As taxas mais altas são diferentes,
Contudo, elas diferem na tecnologia usada e na velocidade pois usam uma técnica conhecida como chaveamento de
que podem alcançar na prática. U1na descrição detalhada código complementar, ou CCK (Complementary Code
dessas tecnologias está muito além do escopo deste livro, Keying), para construir códigos em vez da sequência de
mas algumas palavras sobre cada uma relacionarão as téc- Barker. A taxa de 5,5 Mbps envia 4 bits em cada código de
nicas ao conteúdo abordado no Capítulo 2, fornecendo aos 8 chips, e a taxa de 11 Mbps envia 8 bits em cada código
leitores interessados material para pesquisar 1nais informa- de 8 chips.
ções e1n outras fontes. En1 seguida, chegamos ao 802.lla, que admite taxas
Todas as técnicas do 802.11 utilizam rádios de curto de até 54 Mbps na banda ISM de 5 GHz. Você poderia es-
alcance para transnlitir sinais nas bandas de frequência ISM perar que o 802. l la viesse antes do 802.11 b, mas não foi
de 2,4 GHz ou 5 GHz. Essas bandas têm a vantagem de não assim. Embora o grupo 802.1 la tenha sido estabelecido pri-
ser licenciadas e, portanto, estar disponíveis gratuitamente n1eiro, o padrão 802.11 b foi aprovado primeiro e seu pro-
a qualquer transmissor que queira cumprir algu1nas restri- duto chegou ao mercado bem antes dos produtos 802.11 a,
ções, como a potência irradiada de no máximo 1 W (en1- parcialmente em virtude da dificuldade de operar na banda
bora 50 mW seja mais con1u1n para rádios de LAN sem mais alta de 5 GHz.
fio). Infelizmente, esse fato também é conhecido pelos fa- O método 802.11 a é baseado na multiplexação por
bricantes de aparelhos de abertura automática de garagem, divisão ortogonal de frequência , ou OFDM (Orthogo-
telefones sern fio, fornos de 1nicro-ondas e diversos outros nal Frequency Division Multiplexing), pois a OFDM usa
dispositivos, todos competindo com os notebooks e smar- o espectro com eficiência e resiste a degradações do sinal
tphones pelo mesmo espectro. A banda de 2,4 GHz costuma sem fio, como o enfraquecirnento por múltiplos carninhos.
ser mais sobrecarregada do que a de 5 GHz, de modo que Os bits são enviados por 52 subportadoras em paralelo, 48
esta pode ser 1nelhor para algu1nas aplicações, en1bora te- transportando dados e 4 usadas para sincronização. Cada
nha um alcance mais curto, em virtude da frequência mais símbolo dura 4 µs e envia 1, 2, 4 ou 6 bits. Os bits são co-
alta. Infelizmente, as ondas de rádio mais curtas a 5 GHz dificados para correção de erros, prin1eiro com um código
não penetram em paredes tão ben1 quanto as de 2,4 GHz, de de convolução binário, de modo que somente 1/2, 2/3 ou
modo que 5 GHz não é uma vantagem definitiva. 3/4 dos bits não são redundantes. Com diferentes combi-
Todos os métodos de transmissão tatnbém definem ta- nações, o 802.11 a pode trabalhar em oito taxas, variando
xas 1núltiplas. A ideia é que diferentes taxas podem ser usa- de 6 a 54 Mbps. Essas taxas são significativamente mais
das dependendo das condições atuais. Se o sinal sem fio for rápidas do que as taxas 802. 11b, e existe menos interferên-
fraco, un1a taxa baixa poderá ser usada. Se o sinal for claro, cia na banda de 5 GHz. Contudo, o 802.1 1b tetn um alcance
a taxa mais alta poderá ser usada. Esses ajustes constituem que é cerca de sete vezes 1naior que o do 802.11 a, o que em
o que chamamos de adaptação de taxa. Como as taxas va- muitas situações é n1ais i1nportante.
riam por um fator de l O ou tnais, u1na boa adaptação de Mesmo co1n o alcance 1naior, o pessoal do 802.11 b
taxa é in1portante para um bom desempenho. É claro que, não tinha intenção de pennitir que esse início vencesse o
pelo fato de ela não ser necessária para a interoperabilida- campeonato de velocidade. Felizmente, em maio de 2002, a
de, os padrões não dizem como a adaptação de taxa deve FCC retirou sua regra, existente havia muito te1npo, de exi-
ser feita . gir que todo equipamento de comunicação sem fio operasse
O primeiro método de transmissão que veremos é o nas bandas ISM nos Estados Unidos para usar o espectro de
802.llb, de espectro de dispersão que admite taxas de 1, dispersão, de modo que passou a trabalhar no 802.llg, que
2, 5,5 e 11 Mbps, embora na prática a taxa de operação foi aprovado pelo IEEE em 2003. Ele copia os métodos de
seja quase sempre 11 Mbps. Isso é semelhante ao sistema rnodulaçâo OFDM do 802.1 la, 1nas opera na banda ISM
CDMA, que examinamos na Seção 2.4.4, exceto que há estreita de 2,4 GHz, com o 802.11 b. Ele oferece as mesmas
so1nente un1 código de espalha1nento compartilhado por taxas do 802. l la (6 a 54 Mbps) mais, é claro, a compati-
todos os usuários. O espalhamento é usado para satisfazer bilidade com quaisquer dispositivos 802.11 b que estejam
202 Redes de computadores

nas proxin1idades. Todas essas diferentes escolhas podem codificação QAM mais eficiente, juntamente co1n um
ser confusas para os clientes, de modo que é comu1n que os novo esquema de modulação, OFDMA. Ele pode (a prin-
produtos ofereçam suporte para 802.lla/b/g em uma única cípio) operar em partes não licenciadas do espectro de até
placa de interface de rede. 7 GHz e pode (teorican1ente) atingir u1na taxa de dados
Não satisfeito e1n parar aí, o comitê do lEEE come- de 11 Gbps. Você pode tentar isso e1n casa, se quiser, 1nas
çou a trabalhar em tuna cainada física de alto throughput, a menos que tenha um laboratório de teste perfeitamen-
chamada 802.lln. Ela foi ratificada em 2009. Seu objetivo te projetado, você não obterá 11 Gbps. No entanto, você
foi um throughput de pelo menos 100 Mbps depois que to- pode alcançar l Gbps.
dos os overheads da rede sem fio fosse1n re1novidos. Isso No 802.11 ax OFDMA, um alocador central reserva
exigia u1n aumento de velocidade bruto, com um fator de unidades de recursos de comprimento fixo para cada uma
pelo 1nenos quatro. Para isso acontecer, o con1itê dobrou os das estações de trans1nissão, reduzindo assi1n a disputa em
canais de 20 MHz para 40 MHz e reduziu os overheads de implantações densas. O 802.11 ax também oferece suporte
enquadramento, pennitindo que um grupo de quadros fosse para a reutilização do espectro espacial, por nleio de u1na
enviado em conjunto. Todavia, o mais significativo é que técnica chamada coloração, pela qual un1 remetente 1narca
o 802.11 n usa até quatro antenas para transmitir até quatro o início de sua transmissão de modo a permitir que outros
fluxos de informação ao 1nesmo te1npo. Os sinais dos flu- re1netentes determinem se pode haver uso simultâneo do
xos interferem no receptor, 1nas eles podem ser separados espectro. En1 algu1nas circunstâncias, um ren1etente pode
usando as técnicas de co1nunicação de entrada múltipla, transmitir sin1ultaneamente se reduzir sua potência de
saída múltipla, ou MIMO (Multiple Input, Multiple Ou- modo apropriado.
tput). O uso de múltiplas antenas oferece um grande au- Além disso, o 802.11 ax usa l 024-QAM, que permi-
mento de velocidade e, além disso, melhora o alcance e a te que cada símbolo codifique l O bits, e1n oposição aos
confiabilidade. MIMO, assim como OFDM, é uma daque- 8 bits/símbolo no 256-QAM, usado pelo 802.11 ac. O padrão
las ideias de comunicação inteligentes que estão mudando també1n oferece suporte a u1na programação mais inteligen-
os projetos das redes sem fio e das quais, provavehnente, te, por meio de um recurso chan1ado tempo de despertar-
todos nós ouvire1nos falar 1nuito no futuro . Para obter uma -alvo ou horário de ativação desejado, que permite que
breve introdução às antenas múltiplas no 802.11 , consulte u1n roteador coloque os dispositivos da casa em programa-
Halpein et ai. (201 O). ções de trai1s1nissão, para mini1nizar colisões. Esse recurso
Em 2013 , o TEEE publicou o padrão 802.1 lac. Ele é provavelmente mais útil em casas inteligentes, onde cada
usa canais mais largos (80 MHz e 160 MHz), modulação vez mais dispositivos conectados podem precisar enviar "si-
256-QAM e M U-MIMO (MultiUser MIMO), com até nais de vida" periodicamente para o roteador doméstico.
oito fluxos e outros truques para au1nentar a taxa de bits
até um máximo teórico de 7 Gbps, embora, na prática, isso
nunca tenha sido alcançado. Os dispositivos móveis mais 4.4.3 802.11: o protocolo da
modernos gerahnente usam 802.11 ac. subcamada MAC
Outro padrão 802.11 recente é o 802.llad, que opera
na banda de 60 GHz (57 a 71 GHz), o que significa que Agora, vamos retornar dos domínios da engenharia elétrica
as ondas de rádio são n1uito curtas: son1ente 5 n1m de ex- para os da ciência da computação. O protocolo da subca-
tensão. Essas ondas não penetram en1 paredes ou outros 1nada MAC do 802.11 é bastante diferente do protocolo da
objetos, de 1nodo que o padrão só é útil dentro de uma úni- Ethernet, e1n razão da complexidade inerente à comunica-
ca sala. Entretanto, essa é uma vantage1n e também uma ção sem fio.
desvantagen1. Significa que, não itnportando o que a pes- Prin1eiro, os rádios quase sempre são balf-duplex, sig-
soa no outro escritório ou apartamento esteja fazendo, não nificando que eles não podetn transmitir e escutar rajadas
interferirá com o que você está fazendo. A combinação de de sü1ais ruidosos ao mesmo tempo em u1na única frequên-
alta largura de banda e penetração fraca o torna ideal para cia. O sinal recebido pode facil mente ser u1n 1nilbão de
o strea1ning de filmes 4K ou 8K não compactados, de uma vezes mais fraco do que o sinal transmitido, de n1odo que
estação base em uma sala para dispositivos inóveis na sala. não pode ser detectado ao 1nesmo tempo. Con1 a Ethernet,
Uma melhoria neste padrão, aumentando a largura de ban- uma estação só precisa esperar até o éter ficar inativo para
da por um fator de quatro, é o padrão 802 llay. co1neçar a trans1nitir. Se não receber de volta uma rajada de
Agora chegamos ao 802.llax, às vezes conhecido sinal ruidoso enquanto transmite os priineiros 64 bytes, é
co1no o padrão de rede sem fio de alta eficiência. O nome quase certo que o quadro tenha sido entregue corretan1ente.
mais conhecido do consu1nidor é WiFi 6 (se você pen- No caso das LANs sem fio, esse mecanismo de detecção de
sou que ficaria com Wifi de 1 a 5, se enganou; os nomes colisão não funciona.
antigos eram baseados nos números dos padrões IEEE e Em vez disso, o 802.11 tenta evitar colisões com
a WiFi Alliance decidiu chatnar essa revisão de Wifi 6 um protocolo chamado CSMA com prevenção de coli-
porque é a sexta versão do padrão WiFi). Ele permite tuna são, ou CSMA/CA (CSMA with Collision Avoidance).
Capítulo 4 • A subcamada de controle de acesso ao meio 203

Ele é conceitualmente semelhante ao CSMA/CD da Ether- confirmações são usadas para deduzir colisões, pois estas
net, com detecção de portadora antes de transmitir e o al- não poden1 ser detectadas.
goritmo de recuo (backoff) exponencial binário após as Esse modo de operação é chamado de fun ção de coor-
colisões. Contudo, u1na estação que tem u1n quadro para denação distribuída, ou DCF (Distributed Coordination
transmitir con1eça com um recuo aleatório (exceto no caso Function), pois cada estação atua de modo independente,
em que ela não tenha usado o canal recentemente e o canal sen1 qualquer tipo de controle central. O padrão tan1bé1n
esteja inoperante). Ela não espera por uma colisão. O núme- inclui um modo de operação opcional, chamado de função
ro de slots a recuar é escolhido na faixa de Oa, digan1os, 15, de coordenação de ponto, ou PCF (Point Coordination
no caso da camada física OFDM. A estação espera até que o Function), em que o PA controla toda a atividade em sua
canal esteja inoperante, detectando que não existe sinal por célula, assim co1no uma estação-base de celular. Todavia, o
um curto período (chamado DIFS, como explicaremos mais PCF não é usado na prática porque nonnalmente não existe
adiante), e conta regressivamente os slots inoperantes, in- um modo de impedir que as estações em outra rede vizinha
terrompendo quando os quadros fore1n enviados. Ela envia transmitam um tráfego sitnultâneo.
seu quadro quando o contador chega a O. Se o quadro pas- O segundo proble1na é que o alcance de transmissão
sar, o destino imediatamente envia uma confinnação curta. de estações distintas pode não ser o mesmo. Com u1n fio, o
A falta de uma confirmação é deduzida como indicativo de sistema é preparado de modo que todas as estações possam
erro, seja uma colisão, seja outro e1To qualquer. Nesse caso, escutar umas às outras. Com a cornplexidade da propaga-
o transmissor dobra o período de recuo e tenta novainente, ção por ondas de rádio, essa situação não acontece para as
continuando com o recuo exponencial, co1no na Ethernet, estações sem fio. Consequentemente, pode1n surgir situa-
até que o quadro tenha sido transmitido com sucesso ou o ções como o problema do terminal oculto, mencionado an-
número máxitno de retransmissões tenha sido alcançado. terionnente e ilustrado novamente na Figura 4.26(a). Como
Uma linha do tempo como exe1nplo aparece na Fi- nem todas as estações estão dentro do mesmo alcance de
gura 4.25. A estação A é a primeira a transmitir um qua- rádio, as trans1nissões que acontece1n e1n uma parte de uma
dro. Enquanto A está transmitindo, as estações B e C ficam célula podem não ser recebidas e1n outra parte da mesma
prontas para enviar. Elas vee1n que o canal está ocupado e célula. 'Nesse exemplo, a estação C está transmitindo para
esperam até que ele esteja livre. Pouco depois de A receber a estação B. Se A detectar o canal, ela não escutará nada e
uma confirmação, o canal é liberado. Contudo, em vez de concluirá incorreta1nente que agora pode co1neçar a trans-
enviar u1n quadro in1ediatamente e colidir, B e C realizam 1nitir para B. Essa decisão leva a uma colisão.
um recuo. C escolhe um recuo pequeno e, assim, transmite A situação inversa é o problema do terminal exposto,
pri1neiro. B interro1npe sua contagem enquanto detecta que ilustrado na Figura 4.26(b). Aqui, B deseja enviar para C e,
e está usando o canal e retoma depois que e tiver recebido portanto, escuta o canal. Quando ele detecta uma transmis-
uma confirmação. B logo conclui seu recuo e trans1nite seu são, conclui incorreta1nente que não pode transmitir para
quadro. C, embora A de fato possa estar transmitindo para D (não
Em comparação co1n a Ethernet, existem duas dife- mostrado). Essa decisão desperdiça uma oportunidade de
renças principais. Primeiro, iniciar os recuos cedo ajuda a trans1nissão.
evitar colisões. Essa prevenção vale a pena porque as coli- Para reduzir a1nbiguidades sobre qual estação está
sões são dispendiosas, já que o quadro inteiro é trans1niti- transn1itindo, o 802.11 define a detecção do canal de modo
do mesmo que ocorra uma colisão. E1n segundo lugar, as físico e virtual. A detecção física simplesmente verifica o

1 Dados li Ack 1
1
1
1
B pronta para enviar : f B envia para D f D confirma B
B t :1
1 Dados 11 Ack 1

~:~ y jY
Espera inatividade 1 Recuo Espera inatividade 1 Restante do recuo
1 1
C pronta para enviar : f C envia para D r : D confirma C
e t : 1 Dados li Ack 1
~'--~ ~-_,! _J L
y -y-
Espera inatividade Recuo
Tempo - --

Figura 4.25 Transmitindo um quadro com CSMA/CA.


204 Redes de computadores

A deseja transmitir para B B deseja enviar para C mas,


mas não consegue saber que por engano, pensa que a
B está ocupado transmissão falhará

Alcance
do rádio
de A

A B e A e
e está A está
transmitindo transmitindo

(a) (b)

Figura 4.26 (a) Oproblema do terminal oculto. (b) Oproblema do terminal exposto.

meio para ver se existe u1n sinal válido. Co1n a detecção U1n 1necanismo RTS/CTS opcional usa o NAV para
virtual, cada estação mantém um registro lógico de quando impedir que os terminais transn1itam quadros ao 1nes1no
o canal está em uso rastreando o vetor de alocação de rede, tempo que os tern1inais ocultos. Isso aparece na Figura
ou NAV (Nehvork Allocation Vector). Todo quadro trans- 4.27. Nesse exemplo, A deseja enviar para B. C é uma esta-
porta um campo NAV que diz quanto tempo levará para con- ção dentro do alcance de A (e possivelmente dentro do al-
cluir a sequência da qual esse quadro faz parte. As estações cance de B, n1as isso não iinporta). D é uma estação dentro
que escutam esse quadro saben1 que o canal estará ocupado do alcance de B, mas não dentro do alcance de A.
pelo período indicado em NAV, independentemente se elas O protocolo começa quando A decide enviar dados para
podem detectar um sinal tisico. Por exemplo, o NAV de um B. A começa a transmitir um quadro RTS para B, pedindo
quadro de dados inclui o tempo necessário para enviar tuna permissão para lhe enviar (Request To Send) um quadro.
confirmação. Todas as estações que escutarem o quadro de Se B recebe esse pedido, responde com u1n quadro CTS,
dados serão adiadas durante o período de confirmação, mes- indicando que o canal está liberado para enviar (Clear To
mo que não a escute1n. Basicamente, o NAV funciona como Send). Ao receber o CTS, A envia seu quadro e inicia um
urn te1nporizador de contage1n regressiva, em cujo período timer de ACK (confirmação). Ao recebi1nento correto do
o trans1nissor assume que o canal está ocupado. No padrão quadro de dados, a estação B responde com um quadro ACK,
802.11, as unidades do NAV são 1nicrossegundos. Em lo- completando a troca. Se o timer de ACK de A expirar antes
cais mais densos, o NAV definido por um transmissor pode que o ACK retorne a ela, isso é tratado como uma colisão e
ser redef111ido por outros transmissores no tnesmo interva- o protocolo inteiro é realizado nova1nente, após um recuo.
lo de trans1nissão, causando colisões e desempenho abaixo Agora, vamos considerar essa troca do ponto de vista
do ideal. Para mitigar esse efeito, o 802.11 ax introduz dois de C e D. Como C está dentro do alcance de A, ela pode
NAYs: u1n modificado por quadros correspondentes aos receber o quadro RTS. Se receber, essa estação percebe que
quadros aos quais a estação está associada, e o outro mo- alguém transmitirá dados em breve. Pela informação for-
dificado por quadros que são ouvidos pela estação, n1as se necida no pedido de RTS, ela pode estimar o tempo que
fonnaram em redes sobrepostas. a sequência levará, incluindo o ACK final. Assim, para o

A 1 RTS 1 Dados

B 1 CTS 1 1ACK 1
'
1 '
1
1 1

e NAV

NAV
º~~~~~~~~---'-~~~~~~~~~~~~~~~~~~~L--~~~-

Tempo---•

Figura 4.27 Ouso da detecção de canal virtual com o CSMA/CA.


Capítulo 4 • A subcamada de controle de acesso ao meio 205

ben1 de todos, a estação c desiste de transmitir algo até que Quadros 1nais curtos podem ser implementados redu-
a troca seja concluída. Ela faz isso atualizando seu registro zindo-se o tamanho máximo da mensagem que é aceita a
do NAY para indicar que o canal está ocupado, como mos- partir da camada de rede. Como alternativa, o 802.11 permi-
tra a Figura 4.27. D não escuta o RTS, mas escuta o CTS, te que os quadros seja1n divididos e1n partes menores, cha-
de n1odo que tambén1 atualiza seu NAY. Observe que os n1adas fragmentos, cada uma con1 seu próprio checksum.
sinais NAV não são transmitidos; eles são apenas le1nbretes O ta1nanho do frag1nento não é fixado pelo padrão, mas é
internos para ficar em silêncio por determinado período. um parâmetro que pode ser ajustado pelo PA. Os fragmentos
Entretanto, embora RTS/CTS pareça ser bom na teo- são numerados individualmente e confirmados com o uso
ria, esse é um daqueles projetos que provaram ter pouco va- de u1n protocolo do tipo stop-and-wait (i.e., o transmissor
lor na prática. Existem vários motivos pelos quais ele rara- não pode enviar o frag1nento k + 1 enquanto não receber a
mente é usado. Ele não ajuda para quadros curtos (que são confirmação do fragmento k). Depois que um canal é "apo-
enviados no lugar do RTS) ou para o PA (que, por defini- derado", vários fragmentos podem ser enviados em rajada.
ção, todos podem ouvir). Para outras situações, ele só atra- Eles seguem um após o outro com uma confmnação (e, pos-
sa a operação. RTS/CTS no 802.11 é u1n pouco diferente sivelmente, retransmissões) no intervalo, até que o quadro
daquele do protocolo MACA, que vi1nos na Seção 4.2, pois inteiro tenha sido transmitido co1n sucesso ou o tempo de
qualquer u1n que escuta o RTS ou o CTS pennanece e1n transmissão atinja o máximo permitido. O mecanismo NAV
silêncio por todo o período, para permitir que o ACK seja mantém as outras estações inativas apenas até a próxima
enviado se111 colisão. Por causa disso, a técnica não ajuda confirmação, mas outro u1ecanismo (veja a seguir) é usa-
com tern1inais expostos como o MACA fazia, so1nente com do para pennitir que uma rajada de frag1nentos seja enviada
tenninais ocultos. Com frequência, existen1 poucos tenni- sem que outras estações enviem um quadro no meio.
nais ocultos, e o CSMNCAjá os ajuda atrasando as esta- A segunda necessidade que discutiremos é economi-
ções que não têm êxito na transmissão, qualquer que seja a zar energia. A duração da bateria é sempre um problema
causa, para aumentar as chances de êxito das trans1nissões. nos dispositivos móveis sem fio. O padrão 802. l J dedica
O CSMNCA com detecções fisica e virtual é o núcleo atenção à questão do gerencia1nento de energia, para que
do protocolo 802.11. Contudo, existem outros mecanismos os clientes não a desperdicen1 quando não têm inforn1ações
que fora1n desenvolvidos para acompanhá-lo. Con10 cada para enviar ou para receber.
un1 desses mecanis1nos foi controlado pelas necessidades O mecanis1no básico para economizar energia é cal-
da operação real, vamos exa1niná-Ios rapidamente. cado ern quadros de baliza (beacon frames). As balizas
A primeira necessidade que examinaremos é a confia- são transn1issões periódicas do PA (p. ex., a cada 100 1ns).
bilidade. Ao contrário das redes fisicamente conectadas, as Os quadros de baliza anuncia111 a presença do PA aos clien-
redes sem fio são ruidosas e pouco confiáveis, e1n grande tes e transporta1n parân1etros do sisten1a, co1no o identifica-
parte em virtude da interferência com outros dispositivos, dor do PA, a hora, o ten1po até a próxima baliza e configu-
como fomos de micro-ondas, que também utilizam as ban- rações de segurança.
das ISM não licenciadas. O uso de confirmações e retrans- Os clientes podem definir um bit de gerenciamento
missões não ajuda n1uito se a probabilidade de transferir de energia nos quadros que eles enviam ao PA, para infor-
um quadro for pequena en1 primeiro lugar. n1ar que estão entrando no modo de economia de energia.
A estratégia principal usada para au1nentar as transn1is- Nele, o cliente pode cochilar e o PA manterá en1 buffer o
sões com êxito é reduzir a taxa de transmissão. Taxas mais tráfego (barrado) voltado para ele. Para verificar o tráfego
baixas usa1n modulações mais robustas, que 1nais provavel- que chegou, o cliente acorda a cada baliza e verifica um
mente serão recebidas de modo correto para detenninada 111apa de tráfego enviado como parte do quadro de bali-
relação sinal-ruído. Se 1nuitos quadros se perderen1, u1na es- za. Esse mapa diz ao cliente se existe tráfego à espera no
tação poderá reduzir a taxa. Se os quadros forem entregues buffer. Se houver, o cliente envia u1na pool 1nessage (con-
com pouca perda, u1na estação ocasionalmente poderá testar sulta) ao PA, que em seguida envia o tráfego annazenado.
uma taxa mais alta para ver se ela deve ser usada. O cliente pode, então, voltar a dormir até que a próxi1na
Outra estratégia para melhorar as chances de o quadro baliza seja enviada.
atravessar a rede se1n prejuízo é enviar quadros 1nais curtos. Outro 1necanis1no de econo1nia de energia, chamado
Se a probabilidade de ocorrer um erro em qualquer bit é p , APSD (Automatic Po\ver Save Deliver y), ta1nbém foi
então a probabilidade de um quadro de n bits ser recebido de acrescentado ao 802.11 em 2005. Com esse novo mecanis-
forma inteira111ente correta é ( 1 - p)". Por exemplo, para p mo, o PA mantérn quadros em buffer e os envia para um
= 10-4, a probabilidade de receber u1n quadro Ethernet com- cliente logo depois de ele enviar quadros ao PA. O cliente
pleto (12.144 bits) sem erros é menor que 30%. A maioria pode, então, dormir até que tenha 1nais tráfego para enviar
dos quadros será perdida. Mas, se os quadros tivere1n ape- (e receber). Esse mecanismo funciona bem para aplicações
nas u1n terço desse tamanho (4.048 bits), dois terços deles como YolP, que têm tráfego frequente nos dois sentidos.
serão recebidos corretamente. Agora, a maioria dos quadros Por exetnplo, um telefone sem fio YolP poderia usá-lo para
passará e menos retransmissões serão necessárias. enviar e receber quadros a cada 20 ms, com rnuito mais
206 Redes de computadores

frequência do que o intervalo de baliza de 100 1ns, enquan- que o SJFS. Ele pode ser usado pelo PA para mover o trá-
to chochila nos intervalos. fego de voz e outro tráfego de alta prioridade para o início
A terceira e última necessidade que examinaremos é da fila. O PA esperará por um intervalo mais curto antes
a qualidade de serviço. Quando o tráfego VolP no exemplo de enviar o tráfego de voz e, assim, o fará antes do tráfego
anterior competir com o tráfego peer-to-peer, o VoIP so- norn1al. O intervalo longo, AIFS 4 , é 111aior que o DlFS. Ele
frerá. Ele será adiado em virtude da disputa com o tráfego é usado para o tráfego de segundo plano, que pode ser adia-
peer-to-peer de alta largura de banda, embora a largura de do para depois do tráfego regular. O PA esperará por um
banda VoIP seja baixa. Esses atrasos provavelmente degra- intervalo maior antes de enviá-lo, dando ao tráfego regu-
darão as chamadas de voz. Para i1npedir que isso ocorra, lar a oportunidade para trans1nitir prin1eiro. O mecanis1no
gostaríamos de permitir que o tráfego VoIP siga antes do con1pleto de qualidade de serviço define quatro níveis de
tráfego peer-to-peer, pois tem maior prioridade. prioridade, que têm diferentes parâ1netros de recuo, bem
O IEEE 802.11 tem um mecanismo inteligente para como diferentes parâmetros ociosos.
fornecer esse tipo de qualidade de serviço que foi apresen- O último intervalo, o espaçamento estendido entre
tado cotno un1 conjunto de extensões sob o nome 802. l le quadros, ou EIFS (Extended lnterFrame Spacing), só é
em 2005. Ele funciona estendendo o CSMNCA co1n inter- usado por uma estação que tenha acabado de receber u1n
valos cuidadosamente definidos entre os quadros. Depois quadro defeituoso ou desconhecido, a fim de informar so-
que um quadro é enviado, é necessária certa quantidade bre o problema. A ideia é que, como o receptor talvez não
de tempo de inatividade antes que qualquer estação possa tenha nenhum conhecimento do que está acontecendo, ele
enviar um quadro para verificar se o canal não está mais deve esperar um tempo significativo para evitar interferir
sendo usado. O truque é definir diferentes intervalos para em um diálogo e1n andamento entre duas estações.
diferentes tipos de quadros. Outra parte das extensões de qualidade de serviço é a
Cinco intervalos são representados na Figura 4.28. noção de uma TXOP, ou oportunidade de transn1issão.
O intervalo entre quadros de dados regulares é chan1ado O 1necanis1no de CSMA/CA original pern1ite que as esta-
de espaçamento entre quadros DCF, ou DIFS (DCF ln- ções enviem um quadro de cada vez. Esse projeto foi bom
terFrame Spacing). Qualquer estação pode tentar adquirir até o aumento das taxas de transferência. Com o 802. l la/g,
o canal para enviar um novo quadro até que o meio tenha uma estação poderia enviar a 6 Mbps e outra estação en-
ficado ocioso por DlFS. As regras habituais de disputa se viar a 54 Mbps. Cada u1na delas passa a enviar um qua-
aplica1n e, se ocorrer u1na colisão, o algoritmo de backoff dro, 1nas a estação de 6 Mbps leva nove vezes mais tempo
(recuo exponencial binário) pode ser necessário. O menor (ignorando os overheads fixos) que a estação de 54 Mbps
intervalo é o espaçamento curto entre quadros, ou SrFS para enviar seu quadro. Essa disparidade ten1 o efeito co-
(Short InterFrame Spacing), usado para pennitir que as lateral indesejado de atrasar um transruissor rápido que
partes de um único diálogo tenhatn a chance de transn1i- esteja competindo
. co1n um trans1nissor lento para aproxi-
.

tir priineiro. Isso inclui pennitir que o receptor envie um niada1nente a taxa do transn1issor lento. Por exetnplo, no-
ACK, outras sequências de quadro de controle, como RIS varnente ignorando overheads fixos, enviando sozinhos, os
e CTS, ou permitir que o transmissor envie uma rajada de transmissores de 6 e 54 Mbps receberão em suas próprias
fragn1entos. O envio do próximo fragn1ento após esperar taxas, 1nas, ao enviar juntos, ambos receberão 5,4 Mbps na
apenas o SIFS é o que in1pede que outra estação entre co1n nlédia. Essa é u1na penalidade cruel para o trans1nissor rá-
um quadro no meio da troca. pido. Esse problerna é conhecido con10 anomalia de taxa
Os dois intervalos AIFS (Arbitration InterF rame (Heusse et ai., 2003).
Space) mostram exemplos de dois níveis de prioridade. Con1 oportunidades de transmissão, cada estação rece-
O intervalo curto, AJFS 1, é menor que o DJFS, porém 1naior be uma fatia igual de tempo no ar, não u1n número igual de

,-- Quadro de controle ou próximo fragmento pode ser enviado aqui


i-SIFS-
,-- Quadro de alta prioridade aqui
AIFS1 -
,-- Quadro DCF regular aqui
DIFS -
,-- Quadro de baixa prioridade aqui
AIFS4 - Concluída a recuperação
de quadro com defeito

ACK
EIFS
'
Tempo - - -•

Figura 4.28 Espaçamento entre quadros no 802.11.


Capítulo 4 • A subcamada de controle de acesso ao meio 207

quadros. As estações que envia1n a uma taxa n1ais alta que Em seguida vêm os endereços. Os quadros de dados
seu tempo receberão um throughput maior. Em nosso exen1- enviados de e para um PA contêm três endereços, todos em
plo, ao enviar juntos, os transmissores de 6 Mbps e 54 Mbps formato padrão IEEE 802. O primeiro é do receptor, e o
agora receberão 3 Mbps e 27 Mbps, respectivan1ente. segundo é do transmissor. É óbvio que eles são necessários,
n1as para que serve o terceiro endereço? Le1nbre-se de que
o PA é simplesmente um ponto de repasse para os quadros
4.4.4 802.11 : estrutura do quadro enquanto trafega1n entre um cliente e outro ponto na rede,
O padrão 802.11 define três classes de quadros em trânsito: talvez um cliente distante ou um portal para a Internet.
dados, controle e gerenciamento. Cada um deles tem um ca- O terceiro endereço indica esse ponto distante.
beçalho com diversos campos usados na subcamada MAC. O carnpo Sequência numera os quadros, para que as
Além disso, existe1n alguns cabeçalhos usados pela camada duplicatas possam ser detectadas. Dos 16 bits disponíveis,
física, 1nas eles lida1n principalmente com as técnicas de n1o- 4 identificam o fragmento e 12 contêm um número que é
dulação empregadas e, portanto, não os discutiremos aqui. avançado a cada nova transmissão. O campo Dados contém
Veremos como exemplo o formato do quadro de dados a carga útil de até 2.312 bytes. Os primeiros bytes dessa
mostrado na Figura 4.29. Primeiro vem o campo Controle carga útil estão e1n urn fonnato conhecido como controle
de quadro, que é composto de 11 subcampos. O primeiro lógico do enlace, ou LLC (Logical Link Control). Essa
desses subca1npos denomina-se Versão do protocolo, defi- camada é a tag (cola) que identifica o protocolo de nível
nido co1no 00. Ele existe para permitir que versões futuras mais alto (p. ex., IP) ao qual as cargas úteis devem ser pas-
do 802.11 operern ao mesmo tempo na mes1na célula. De- sadas. Por último vem o Checksum do quadro, que é o mes-
pois, temos os campos Tipo (dados, controle ou gerencia- 1110 CRC de 32 bits que vi1nos na Seção 3.2.2 e e1n outros
mento) e Subtipo (p. ex., RTS ou CTS). Para um quadro de lugares.
dados comun1 (se1n qualidade de serviço), eles são defmi- Os quadros de gerencian1ento têm u1n formato seme-
dos como 10 e 0000 em binário. Os bits Para DS e De DS lhante ao dos quadros de dados, 1nais um fonnato para a
indicam se o quadro está indo ou vindo da rede conectada parte de dados que varia com o subtipo (p. ex., parâmetros
aos PAs, o que é charnado de sistema de distribuição. O bit nos quadros de bal iza). Os quadros de controle são cur1os.
Mais fragmentos significa que rnais fragmentos virão em Como todos os quadros, eles tê1n os campos de Controle
seguida. O bit Repetir indica uma retransmissão de um qua- de quadro, Duração e Checksi11n do quadro. Contudo, eles
dro enviado anteriormente. O bit Gerencian1ento de ene1gia podem ter apenas um endereço e nenhuma parte de da-
indica que o transmissor está entrando no modo de econo- dos. A informação mais importante está no campo Subtipo
mia de energia. O bit Mais dados indica que o transtnissor (p. ex., ACK, RTS e CTS).
tem quadros adicionais para o receptor. O bit Quadro pro-
tegido especifica que o corpo do quadro foi criptografado
por segurança. Discutiremos rapidamente sobre segurança 4.4.5 Serviços
na próxima seção. Por fitn, o bit Ordem infonna ao receptor O padrão 802.1 1 define que cada LAN sen1 fio compatível
que a camada superior espera que a sequência de quadros deve fornecer os serviços para clientes, para PAs e para a
chegue estritamente en1 orde1n. rede que os conecta. Esses serviços são agrupados em vá-
O segundo campo do quadro de dados, Duração, in- rios tipos.
forma por quanto te1npo (em microssegundos) o quadro e
sua confirmação ocuparão o canal. Esse campo está presen-
Associação e entrega de dados
te em todos os tipos de quadros, incluindo os de controle,
e representa a forma corno outras estações administram o O serviço de associação é usado pelas estações móveis para
mecanismo NAV. conectá-las aos PAs. Em geral, ele é usado imediatamente

Bytes 2 2 6 6 6 2 0-2312 4
Controle Endereço 1 Endereço 2
Duração Endereço 3 Sequência Dados Checksum
de quadro (receptor) (transmissor)
- -- --- ---
--- --- ---
--- --- ---
--- --- ---
--- --- ---
Versão Tipo Subtipo Para De Mais Ger. Mais
Repetir Protegido Ordem
= 00 = 10 = 0000 os os frag. energia dados
Bits 2 2 4 1 1 1 1 1 1 1 1

Figura 4.29 Formato do quadro de dados 802.11.


208 Redes de computadores

após u1na estação se deslocar dentro do alcance de rádio do U1n niétodo de autenticação co1num, cha1nado WPA2
PA. Ao chegar, a estação descobre a identidade e os recur- (WiFi Protected Access 2), i1nplementa a segurança con-
sos do PA, seja pelos quadros de baliza, seja perguntando forme a definição no padrão 802. 11 i. (O WPA original é
diretamente ao PA. Os recursos incluem as taxas de dados un1 esquema intermediário que implementa um subconjun-
admitidas, os arranjos de segurança, os requisitos de eco- to do 802.11 i. Pulare1nos isso e iren1os diretamente para o
no111ia de energia, o suporte para qualidade de serviço e ou- esquema completo.) Co1n o WPA2, o PA pode falar com um
tros. A mensagem de baliza do PA tan1bém inclui un1 SSID servidor de autenticação, que tem um banco de dados de
(Service Set IDentifier), que a maioria das pessoas conhe- nomes de usuários e senhas, para determinar se a estação
ce como o nome da rede. A estação envia um pedido para se tem permissão para ace-ssar a rede. Como alternativa, pode-
associar ao PA, o qual pode aceitá-lo ou rejeitá-lo. Embora -se configurar uma chave previa1nente co1upartiU1ada, que é
as balizas sempre sejam um broadcast, o SSID pode ou não um nome elegante para uma senha de rede. Vários quadros
ser um broadcast. Se o SSID não for broadcast, a estação são trocados entre a estação e o PA por meio de desafio e
deverá conhecer (ou descobrir), de algun1a fonna, o nome resposta, permitindo que a estação prove que tem as cre-
para associar a esse PA. denciais corretas. Essa troca acontece após a associação.
A reassociação pennite mudar seu PA preferido. Esse Outro processo de autenticação co1numente usado
recw·so é útil para estações móveis que se desloca1n de um em redes corporativas é o 802.lX, que implementa uma
PA para outro na mesma LAN 802. 11 estendida, co1no lnna abordagem chan1ada autenticação baseada em porta.
transferência (handoff) na rede celular. Se for usado corre- O 802.1 X depende de autenticação centralizada (p. ex., au-
tamente, não haverá perda de dados e1n consequência da tenticação de dispositivos em utn servidor centralizado), o
transferência. (Contudo, o 802.11, assim como o padrão que cria as possibilidades de controle de acesso, contabili-
Ethernet, é apenas um serviço que faz o melhor possível, dade, cobrança e atribuição 1nais refinados. A estação que
sem garantias.) A estação 1nóvel ou o PA ta1nbé1n pode se está autenticando às vezes é chamada de suplicante; esse
desassociar, interron1pendo assim o relacionamento. Utna dispositivo se autentica na rede por meio de um autenti-
estação deve usar esse serviço antes de se desligar ou sair cador, que se comunica com o servidor de autenticação.
da rede, mas o PA também pode usá-lo antes de se desativar O 802.1 X conta con1 u1ua estrutura de autenticação chama-
para manutenção. O padrão 802.11 w acrescentou os qua- da EAP (Enhanced Authentication Protocol). A estrutura
dros de autenticação e desassociação. EAP define mais de 50 métodos diferentes para realizar a
Quando os quadros alcançan1 o PA, o serviço de dis- autenticação, 1nas os 111étodos comuns incluem EAP-TLS,
tribuição detennina como roteá-los. Se o destino for local que realiza autenticação com base em certificados; EAP-
para o PA, os quadros poderão ser enviados diretamente -TTLS e PEAP, que pern1item que o cliente se associe
pelo ar. Caso contrário, eles terão de ser encaminhados pela usando diversos niétodos, incluindo autenticação baseada
rede fisicamente conectada. O serviço de integração trata em senha; e EAP-SIM, e1n que um telefone móvel pode
de qualquer tradução necessária para um quadro ser envia- autenticar usando um SIM. O 802. lX tem muitas vantagens
do fora da LAN 802.11 , ou para chegar de fora dela. O caso sobre o WPA simples, co1no a capacidade de executar con-
con1u1n aqui é conectar a LAN sem fio à Inten1et. trole de acesso minucioso com base no usuário, mas requer
A transmissão de dados é o objetivo de tudo isso, e uma infraestrutura de certificado para administrar.
assim o 802. 1l oferece um serviço de entrega de dados, o O esquema que foi usado antes do WPA se chan1ava
qual pennite que as estações transmitam e recebam dados WEP (Wired Equivalent Privacy). Para esse esquema, a
usando os protocolos que descrevemos anteriormente no autenticação con1 uma chave previan1ente co1upartilhada
capítulo. Tendo em vista que o 802.11 foi 1nodelado co1n acontece antes da associação. Agora, WEP é considerado
base no padrão Ethernet e que a trans1uissão en1 u1na rede inseguro e não é mais utilizado. A primeira demonstração
Ethernet não oferece a garantia de ser l 00% confiável, a prática de que o WEP fo i quebrado apareceu quando Adam
trans1nissão sobre redes 802.11 ta1nbé1n não oferece qual- Stubblefield era um estagiário de verão na AT&T (Stubble-
quer garantia de confiabilidade. As camadas mais altas de- fíeld et ai., 2002). Ele foi capaz de codificar e testar um
vem lidar con1 a detecção e a correção de erros. ataque em uma semana, grande parte desse tempo foi gasto
para obter permissão da gerência para comprar as placas
WiFi necessárias para as experiências. O software para des-
Segurança e privacidade cobrir senhas WEP agora está disponível gratuitamente.
As estações também devem se autenticar antes que pos- Con1 o WEP falhando e o WPA desaprovado, a próxi-
sam enviar quadros pelo PA, nias a autenticação é tratada ma tentativa foi o WPA2. Ele utiliza u1n serviço de privaci-
de diferentes maneiras, dependendo da escolha do esquema dade que gerencia os detalhes da criptografia e da descrip-
de segurança. Se a rede 802. l I estiver "aberta", qualquer tografia. O algoritmo de criptografia para WPA2 é baseado
um tem pennissão para usá-la. Caso conh·ário, são necessá- no padrão de criptografia avançado, ou A~ES (Advanced
rias credenciais para autenticação. Encryption Standard), u1n padrão do governo dos Estados
Capítulo 4 • A subcamada de controle de acesso ao meio 209

Unidos aprovado em 2002. As chaves usadas para cripto- móveis e notebooks a headsets, impressoras, teclados,
grafia são determinadas durante o procedimento de auten- mouse, jogos, relógios, aparelhos de música, unidades de
ticação. Infelizmente, o esquema do WPA2 foi quebrado navegação e outros. Os protocolos Bluetooth permitem
e1n 2017 (Vanhoef e Piessens, 2017). Uma boa segurança é que esses dispositivos se encontre1n e se conectem, um
muito difícil, até 1nesmo com criptografia inquebrável, pois ato chamado emparelhamento, e transfiram dados com
o gerencian1ento da chave é o elo mais fraco. segurança.
Os protocolos ta1nbém evoluíram durante a última
Priorização e controle de energia década. Depois que os protocolos iniciais se estabilizaram,
taxas de dados 1naiores fora1u acrescentadas ao Bluetooth
Para lidar com o tráfego co1n diferentes prioridades, exis- 2.0 em 2004. Com a versão 3.0, em 2009, o Bluetooth pôde
te um serviço de tráfego QoS (o minúsculo) escalonado. ser usado para o emparelhamento de dispositivo en1 com-
Ele usa os protocolos que descrevemos para dar tratamento binação com o 802.11 para alcançar transferência de dados
preferencial ao tráfego de voz e vídeo en1 comparação com com alto throughput. A versão 4.0, em junho de 2010, espe-
o 1nelhor tráfego possível e o de segundo plano. Un1 ser- cificou a operação em baixa potência. Isso será prático para
viço de acompanhamento também oferece sincronização pessoas que não querem trocar a bateria regularmente e1n
de ti1ner da ca1nada 1nais alta. Isso permite que as estações todos esses dispositivos por toda a casa.
coordenem suas ações, o que pode ser útil para o processa- Explicare1nos os principais aspectos do Bluetooth 4.0
mento de mídia. a seguir, pois esta ainda é a versão mais utilizada. Depois,
Finalmente, existem dois serviços que ajuda1n as esta- discutiremos o Bluetooth 5.0 e como ele difere da versão
ções a gerenciar seu uso do espectro. O serviço de controle anterior (quase totalmente em pequenos detalhes).
de potência de t ransmissão oferece às estações as infor-
mações que elas precisam para atender aos li1nites regula-
mentares sobre potência de transmissão, que variam de uma 4.5.1 Arquitetura do Bluetooth
região para outra. O serviço de seleção dinâmica de fre-
Vamos começar nosso estudo do sistema Bluetooth com
quência dá às estações a informação de que elas precisam
uma avaliação rápida do que ele contém e do que plane-
para evitar transn1itir em frequências na banda de 5 GHz
ja fazer. A unidade básica de u1u siste1ua Bluetooth é u1ua
que estão sendo usadas em um radar nas proxünidades.
piconet, que consiste em um nó 1uestre e até sete nós es-
Com esses serviços, o 802.11 oferece um rico conjun-
cravos ativos,* situados em uma distância de 1Om. Podem
to de funcionalidade para conectar à Internet clientes mó-
existir muitas piconets na mesma sala (grande) e elas po-
veis vizinhos. Ele te1n sido um grande sucesso, e o padrão
dem até mesmo ser conectadas por u1n nó de ponte, que
repetidamente te1n sido alterado para acrescentar mais fun-
participa de várias piconets, co1no mostra a Figura 4.30.
cionalidade. Para ter uma ideia de onde o padrão se encon-
Uma coleção interconectada de piconets é chan1ada de
tra e para onde está se encaminhando, consulte Hiertz et ai.
scatternet.
(2010).
Além dos sete nós escravos ativos em u1na piconet,
pode haver até 255 nós estacionários (inativos) na rede.
Esses nós são dispositivos que o n1estre comutou para um
4.5 BLUETOOTH estado de baixa energia, a fim de reduzir o consumo em sua
bateria. No estado estacionário, o dispositivo não pode fa-
Em 1994, a empresa sueca L. M. Ericsson ficou interes- zer nada, exceto responder a um sinal de ativação ou de ba-
sada e1n conectar seus telefones 1nóveis a outros dispo- liza do 1nestre. Também existem dois níveis intern1ediários
sitivos (p. ex., laptops) sem cabos. Em 1998, junto com de energia, ho/d e snijf, mas eles não serão estudados aqui.
outras quatro empresas (IBM, lotei, Nokia e Toshiba), A razão para a estrutura 1nestre/escravo é que os proje-
ela forn1ou um SIG (Special Interest Group, ou seja, um tistas pretendiam faci litar a imple1nentação de chips Blue-
consórcio) com o objetivo de desenvolver u1n padrão sem tooth completos por menos de 5 dólares. Em consequência
fio para interconectar dispositivos de co1nputação e co- dessa decisão, os escravos são "não inteligentes", fazendo
municação, além de acessórios, utilizando rádios sem fio basicamente apenas o que o mestre determina. Em seu nú-
de curto alcance, baixa potência e baixo custo. O proje- cleo, u1na picooet é u1n sistema TDM centralizado, no qual
to foi denominado Bluetooth, em homenage1n a Harald o 1nestre controla o clock e define qual dispositivo vai se
Blaatand (Bluetooth) II (940-981 ), um rei viking que uni- comunicar em cada slot de tempo. Toda comunicação é fei-
ficou (i.e., conquistou) a Dinamarca e a Noruega, também ta entre o mestre e um escravo, não sendo possível a con1u-
"sem cabos". nicação direta entre escravos.
O Bluetooth 1.0 foi lançado en1 julho de 1999 e, desde
então, o SIG nunca voltou atrás. Todo tipo de dispositivo *A terminologia oficial do Bluetooth é 1nestre/escravo. Peditnos
eletrônico de consumo agora usa Bluetooth, desde telefones desculpas se isso 1he o fender.
210 Redes de computadores

\
Piconet 1 ............... ................ I
Piconet 2

...
....
...
.. 0·.......·. ... ..... . .•.. . 0 ·......·. ....
.· " . . .·" 0 "·..
10 / "
!:' /. ·.\ / 0. .\
i M ~ifEll~ M
.•

\.. / ~~! ' 0./


Esc~~~~)\0 -<:......
0
~Escravo
estacionário
. . . . '• 0 . . . . ·" . ·. '•, 0 . ·. . ·
·... ·· ·· ........ · ··· · 'Êscravo de ponte ····· ·· ·........ ·· ······

Figura 4.30 Duas piconets podem ser conectadas para formar uma scatternet.

4.5.2 Aplicações do Bluetooth inteiro. Ele permite que u1n notebook se conecte a um tele-
fone móvel contendo u1n 1node1n embutido, sem usar fios,
A maioria dos protocolos de rede só fornece canais entre apenas sinais de rádio.
entidades que se co1nunica1n, deixando para os projetis- Os perfis para troca de informações da camada mais
tas de aplicações a tarefa de descobrir a sua utilidade. Por alta também foram definidos. O perfil de sincronização ser-
exemplo, o 802.1 l não especifica se os usuários devem usar ve para carregar dados para um telefone 1nóvel quando ele
seu notebook para ler e-mails, navegar na Web ou qualquer sai de casa e coleta dados dele ao retornar.
outra ação. E1n contrapartida, a especificação Bluetooth Pulare1nos o restante dos perfis, exceto para mencio-
SIG detennina aplicações en1 particular para que tenham nar que alguns serve1n como blocos de montage1n sobre os
suporte e ofereça1n diferentes pilhas de protocolos para quais os perfis citados são baseados. O perfil de acesso ge-
cada um. No momento em que este livro foi escrito, havia nérico, no qual todos os outros perfis são baseados, oferece
mais de duas dúzias de aplicações específicas, chamadas um niodo de estabelecer e manter enlaces seguros (canais)
perfis. lnfelizn1ente, essa abordagem aumentou muito a entre o mestre e os escravos. Os outros perfis genéricos de-
con1plexidade. Omitiremos a con1plexidade aqui, mas ve- fi nem os fundamentos da troca de objeto e traosporte de
re1nos os perfis rapidamente, para entender de modo mais áudio e vídeo. Os perfis utilitários são muito usados para
claro o que o Bluetooth SIG está tentando realizar. funções como emular un1a linha serial, o que é especial-
Seis dos perfis são para diferentes usos de áudio e mente útil para muitas aplicações legadas.
vídeo. Por exemplo, os perfis de intercomunicação permi- Seria realmente necessário explicar todas essas aplica-
tem que dois telefones se conectem como walkie-talkies. ções em detalhes e fo111ecer diferentes pilhas de protocolos
Os perfis de headset e hands-free oferecem co1nunicação para cada uma? É provável que não, mas surgiran1 diversos
por voz entre um headset e sua estação-base, pois poderiam grupos de trabalho que elaborara1n partes distintas do pa-
ser usados para telefonia hands-fre.e enquanto se dirige um drão, e cada um se concentrou em seu problema específico,
carro. Outros perfis são para streaming de áudio e vídeo gerando seu próprio perfil. Imagine tudo isso como uma
con1 qualidade estéreo, digamos, de u1n aparelho de músi- aplicação da lei de Conway. (Na edição de abril de 1968
ca po1tátil para fones de ouvido, ou de uma câmera digital da revista Datan1ation, Melvin Con\.vay observou que, se
para uma TV. designar n pessoas para escrever um compilador, você ob-
O perfil de dispositivo de interface humana é para terá um compilador de n passagens ou, de modo inais ge-
conectar teclado e mouse aos computadores. Outros perfis ral, a estrutura de software reflete a estrutura do grupo que
permitem que um telefone móvel ou outro computador re- o produziu.) Provavelmente teria sido possível concluir o
ceba imagens de u1na câ1nera ou envie i1nagens para uma trabalho com duas pilhas de protocolos em vez de 25, uma
impressora. Talvez seja nlais interessante un1 perfil para para transferência de arquivos e uma para comunicação em
usar u1n telefone móvel como um controle remoto para uma ternpo real.
TV (habilitada para Bluetooth).
Outros perfis ainda permiten1 o uso de rede. O perfil
de rede pessoal permite que dispositivos Bluetooth formem
4.5.3 A pilha de protocolos do Bluetooth
un1a rede ad hoc ou acesse1n outra rede remotan1ente, co1no O padrão Bluetooth tem muitos protocolos agrupados livre-
u1na LAN 802.11, por meio de um PA. O perfíl de rede mente em camadas, como mostra a Figura 4.31. A primeira
discada foi realmente a motivação original para o projeto observação a fazer é que a estrutura não segue o modelo
Capítulo 4 • A subcamada de controle de acesso ao meio 211

Aplicações
Camadas
superiores
RFcomm . . . Descoberta
de serviço
-'E -
'tQ)
:::
-
'tQ):::
Q)
a.. a.. a.. L2CAP
Interface do - - Camada
controlador do host de enlace
Gerenciamento de enlace de dados
Controle de enlace
(banda-base)
Camada
Rádio física

Fígura 4.31 A arquitetura de protocolos do Bluetooth.

OSI, o modelo TCP!IP, o modelo 802 ou qualquer outro para essa aplicação e nenhum outro. Por exemplo, os per-
modelo conhecido. fis podem incluir o L2CAP se tiverem pacotes para enviar,
A ca1nada inferior é a camada física de rádio, que cor- 1nas o pulam se tiveren1 apenas um fluxo contínuo de a1nos-
responde muito bem à ca1nada física nos 1nodelos OSI e tras de áudio.
802. Ela lida com a trans1nissão e a modulação de rádio. Nas próximas seções, exan1inare1nos a ca1nada de
Muitas das preocupações aqui estão relacionadas ao objeti- rádio Bluetooth e diversos protocolos de enlace, pois eles
vo de tomar o sistema mais econômico, para que possa vir correspondem aproximada1nente à camada física e à subca-
a ser um item do tnercado de massa. mada MAC nas outras pilhas de protocolos que estudamos.
A camada de controle de enlace (ou banda-base) é de
ceita fonna análoga à subcamada MAC, 1nas ta1nbém inclui
ele1nentos da ca1nada física. Ela lida com a maneira co1no o 4.5.4 A camada de rádio do Bluetooth
mestre controla os slots de tempo e como esses slots estão A ca1nada de rádio move os bits do mestre para o escravo,
agrupados em quadros. ou vice-versa. Ela é un1 sistema de baixa potência com um
Em seguida, temos dois protocolos que usam o proto- alcance de 1O1n, operando na banda ISM de 2,4 GHz, como
colo de controle de enlace. O gerenciador de enlaces cuida o 802.11. A banda está dividida em 79 canais de 1 MHz
do estabelecimento de canais lógicos entre dispositivos, cada um. Para coexistir com as outras redes usando a banda
incluindo gerenciamento de energia, emparelha1nento e ISM, é utilizado o espectro de espalbatuento por salto de
criptografia, e qualidade de serviço. Ele se encontra abaixo frequência. Pode haver até 1.600 saltos/s pelos slots com
da linha da interface do controlador do host. Essa interface um tempo de parada de 625 µs. Todos os nós em uma pi-
é uma conveniência para a implementação: normalmente, conet mudam de frequência simultaneamente, seguindo a
os protocolos abaixo da linha serão implementados em um temporização de slot e a sequência de salto pseudoaleatória
chip Bluetooth, e os aciina dela serão in1ple1nentados no ditada pelo mestre.
dispositivo Bluetooth que hospeda o chip. Infelizmente, as primeiras versões de Bluetooth e
O protocolo de enlace acima da linha é o L2CAP 802.11 interferira1n o suficiente para arruinar as trans111is-
(Logical Link Control Adaptation Protocol). Ele enquadra sões um do outro. Algumas e111presas responderam banin-
mensagens de tamanho variável e oferece confiabilidade, se do o Bluetooth completamente, mas, por fim, uma solução
necessário. Muitos protocolos utilizam L2CAP, como os dois técnica foi elaborada. A solução é que o Bluetooth adapte
protocolos utilitários mostrados. O protocolo de descoberta sua sequência de saltos para excluir canais etn que existam
de serviço é usado para localizar serviços dentro da rede e outros sinais de ondas de rádio, o que reduz a interferência
o protocolo RFcon1m (comunicação por radiofrequência) prejudicial. Esse processo é chamado de salto de frequên-
simula a porta serial padrão encontrada nos PCs para a cone- cia adaptativo.
xão de teclado, mouse e modem, entre outros dispositivos. Três fom1as de modulação são usadas para enviar bits
A camada superior é onde as aplicações estão locali- em um canal. O esquema básico é usar o chaveamento por
zadas. Os perfis são representados por caixas verticais, pois mudança de frequência para enviar um sünbolo de l bit a
cada uma delas define uma fatia da pilha de protocolos para cada niicrossegundo, dando uma taxa de dados bruta de
dete1n1inada finalidade. Perfis específicos, como o de head- 1 Mbps. As taxas 111elhoradas foram introduzidas com a ver-
set, nonnalmente contên1 apenas os protocolos necessários são 2.0 do Bluetooth. Essas taxas utilizam o chaveamento
212 Redes de computadores

por desloca1nento de fàse para enviar 2 ou 3 bits por símbo- (dados do usuário). O pri1neiro é o enlace síncrono orien-
lo, para taxas de dados brutas de 2 ou 3 Mbps. As taxas me- tado a conexões, ou SCO (Synchronous Connection
lhoradas são usadas apenas na parte de dados dos quadros. Oriented). Ele é usado para dados e1n tempo real, como
conexões de telefone. Esse tipo de enlace aloca um slot
fixo e1n cada sentido. Um escravo pode ter até três enla-
4.5.5 As camadas de enlace do Bluetooth ces SCO com seu mestre. Cada enlace SCO pode trans-
mitir um canal de áudio PCM de 64.000 bps. Em virtude
A camada de controle de enlace (ou banda-base) é a estru-
da natureza critica no tempo dos enlaces SCO, os quadros
tura ma is próxima de tuna subcamada MAC que o Blue-
enviados por eles ntu1ca são retransmitidos. Em vez disso,
tooth tem. Ela transforma o fluxo bruto de bits em quadros
para aumentar a confiabilidade, pode-se usar a correção de
e define alguns formatos importantes. E1n sua forma mais
erros antecipada.
simples, o mestre e1n cada piconet define uma série de slots
de tempo de 625 µs, com as transmissões do mestre con1e- O outro tipo é o enlace assíncrono não orientado
çando nos slots pares e as trans1nissões dos escravos co- a conexões, ou ACL (Asynchronous ConnectionLess).
meçando nos slots ímpares. Esse esquema é a tradicional Esse tipo de enlace é usado para dados de comutação de
multiplexação por divisão de tempo (TDM), em que o mes- pacotes, disponíveis em intervalos irregulares. O tráfego
tre fica com metade dos slots e os escravos compartilham a ACL é entregue co1n base no melhor serviço possível, sem
outra metade. Os quadros podem ter 1, 3 ou 5 slots de du- garantias. Os quadros podem se perder e precisar ser re-
ração. Cada quadro tem u1n overhead de 126 bits para um transmitidos. Um escravo só pode ter um enlace ACL com
código de acesso e cabeçalho, 1nais un1 te1npo de acomoda- seu mestre.
ção de 250-260 µs por salto, para permitir que os circuitos Os dados enviados por enlaces ACL vêm da ca1na-
de rádio se estabilizem. Por questão de confidencialidade, da L2CAP, que tem quatro funções principais. Primeiro,
a carga útil do quadro pode ser criptografada, com uma ela aceita pacotes de até 64 KB das camadas superiores
chave escolhida quando o mestre e o escravo se conectam. e os divide em quadros para h·ansmissão. Na extremida-
Os saltos só acontece1n entre os quadros, e não durante um de distante, os quadros são 1nontados novamente em pa-
quadro. O resultado é que u1n quadro de 5 slots é 1nuito cotes. E1n segundo lugar, ela lida com a multiplexação e
mais eficiente do que u1n quadro de 1 slot, pois o overhead a demultiplexação de várias origens de pacotes. Quando
é constante, poré1n mais dados são enviados. u1n pacote é montado novamente, a L2CAP determina a
qual protocolo da camada superior ele será entregue, por
O protocolo gerenciador de enlace estabelece canais
exemplo, RFconun ou descoberta de serviço. Terceiro, lida
lógicos, chamados enlaces, para transportar quadros entre
com controle de erros e retransmissão. Ela detecta os erros
u1n dispositivo mestre e um escravo que descobrira1n um
e retrans1nite os pacotes que não foram confinnados. Por
ao outro. U1n procedimento de e1nparelhan1ento é seguido
para garantir que os dois dispositivos tenham permissão fim , impõe requisitos de qualidade de serviço entre enlaces
múltiplos.
para se comunicar antes que o enlace seja usado. O antigo
método de en1parelhamento determinava que os dois dispo-
sitivos fossem configurados com o mesmo número de iden-
tificação pessoal, ou PIN (Personal Identification Number), 4.5.6 A estrutura de quadro do Bluetooth
de quatro dígitos. O PIN correspondente é o modo cotno Há vários formatos de quadros definidos no Bluetooth, nlas
cada dispositivo sabe que está se conectando ao dispositivo o 1nais importante é apresentado de duas formas na Figura
re1noto correto. Contudo, usuários e dispositivos se1n cria- 4.32. Ele começa com um código de acesso que nonual-
tividade usam PINs padrão, como "0000" e "1234'', signi- n1ente identifica o mestre, para que os escravos situados
ficando que, na prática, esse método fornece pouquíssin1a dentro do alcance de rádio de dois 1nestres possan1 conhe-
segurança. cer o destino de cada tráfego. E1n seguida, há um cabeçalho
O novo 1uétodo de emparelhamento simples seguro de 54 bits contendo campos típicos da subcamada MAC.
permite que os usuários confirmem se os dois dispositivos Se o quadro for enviado na taxa de transferência básica,
estão exibindo a n1es1na passkey, ou que a observe1n em o can1po de dados vem em seguida. Ele te1n até 2.744 bits
u1n dispositivo e a insiram no segundo dispositivo. Esse para uma transmissão de cinco slots. Para um único slot de
método é mais seguro, pois os usuários não precisam esco- tempo, o formato é o mesmo, exceto pelo fato de o campo
lher ou definir um PIN. Eles simplesmente confLITnam uma de dados ter 240 bits.
passkey mais longa, gerada pelo dispositivo. Naturalmente, Se o quadro for enviado na taxa melhorada, a parte de
ela não pode ser usada em alguns dispositivos co1n entrada/ dados pode ter até duas ou três vezes a quantidade de bits,
saída limitada, como um headset portátil. pois cada símbolo transporta 2 ou 3 bits em vez de l. Esses
Quando o emparelhamento está concluído, o protoco- dados são precedidos por um can1po de espera e Lm1 padrão
lo do gerenciador de enlace estabelece os enlaces. Existem de sincronismo que é usado para mudar para a taxa de da-
dois tipos principais de enlaces para transportar a carga útil dos n1ais rápida. Ou seja, o código de acesso e o cabeçalho
Capítulo 4 • A subcamada de controle de acesso ao meio 213

Bits 72 54 0-2744
Código Cabeçalho Dados (na taxa 1X)
de acesso

End. Tipo F A s CRC Repetido 3 vezes

Bits 54 , 0- 8184 2
'
Código Espera/Sinc, Dados (na taxa 2X ou 3X)
de acesso Cabeçalho Final

5 slots de 675 µs
(a) Acima, o quadro de dados na taxa básica (b) Abaixo, o quadro de dados na taxa melhorada

Figura 4.32 Um quadro de dados típico do Bluetooth nas taxas de dados (a) básica e (b) melhorada.

são transportados na taxa básica e somente a parte dos da- os slots impares, ele recebe 800 slots/s, da mesma maneira
dos é transportada na taxa mais rápida. Os quadros na taxa que o mestre. Com u1na carga útil de 80 bits, a capacidade
melhorada termjnam com um final curto. de canal do escravo é de 64.000 bps, assiin co1no a capa-
Vamos examinar rapidamente o cabeçalho. O campo cidade de canal do mestre. Essa capacidade é exatamente
Endereço identifica qual dos oito dispositivos ativos é o o bastante para um único canal de voz PCM full-duplex
destino do quadro. O can1po Tipo identifica o tipo de qua- (e esse é o motivo de ter sido escolhida uma taxa de sal-
dro (ACL, SCO, polling ou nulo), o tipo de con·eção de tos de 1.600 saltos/s). Ou seja, apesar de uma largura de
erros usado no campo de dados, e de quantos slots é a dura- banda bruta de 1 Mbps, um único canal de voz satura com-
ção do quadro. O bit Fluxo é definjdo por um escravo quan- pleta1nente a piconet. A eficiência de 10% é o resultado de
do seu buffer está cheio e não pode receber mais dados. gastar 41 % da capacidade no tempo de preparação, 20%
Esse bit habilita u1na fonna primitiva de controle de fluxo. co1n cabeçalhos e 26% na codificação de repetição. Essa
O bit Confirmação é usado para transportar uma n1ensage1n deficiência destaca o valor de taxas 1nelhoradas e quadros
ACK "de carona" em um quadro. O bit Sequência é usado com mais de um único slot.
para numerar os quadros, a flll1 de detectar retransmissões.
O protocolo é stop-and-wait e, assim, 1 bit é suficiente. 4.5.7 Bluetooth 5
E1n seguida, ten1os o cabeçalho de 8 bits Checksum. O ca-
beçalho de 18 bits inteiro é repetido três vezes para formar E1n junho de 2016, o Bluetooth Special Interest Group
o cabeçalho de 54 bits mostrado na Figura 4.32. No lado introduziu o Bluetooth 5. Em janeiro de 2019, apareceu
receptor, um circuito simples examina as três cópias de o Bluetooth 5.1. Estas fora1n atualizações relativamente
cada bit. Se todas forem iguais, o bit será aceito. Caso con- pequenas ao padrão Bluetooth 4. Apesar disso, existen1 al-
trário, vence a opinião da n1aioria. Desse 1nodo, 54 bits de gu1nas diferenças entre o Bluetooth 4 e a1nbos os padrões
capacidade de transmissão são usados para enviar 10 bits Bluetooth 5. Aqui está uma lista das principais diferenças
de cabeçalho. A razão para isso é que, para transmitir dados no Bluetooth 5.0:
de maneira confiável em um an1biente ruidoso usando dis- 1. Suporte para dispositivos da IoT (Internet das Coisas).
positivos de baixo custo e de baixa potência (2,5 mW), com 2. A velocidade foi aumentada de l Mbps para 2 Mbps.
pouca capacidade de computação, é necessária uma grande
3. O tamanho da mensagem subiu de 31 bytes para
redundância. 255 bytes.
São usados vários fonnatos para o campo de dados de 4. O alcance interno passou de 1Om para 40 1n.
quadros ACL e SCO. Entretanto, os quadros SCO na taxa
5. Os requisitos de potência foram ligeira1nente reduzidos.
básica são mais simples: o campo de dados tem sempre
240 bits. São definidas três variantes, pem1itindo 80, 160 6. O intervalo das balizas aun1entou ligeiramente.
ou 240 bits de carga útil real, sendo os bits restantes usados 7. A segurança é ligeiramente melhor.
para a correção de erros. Na versão 1nais confiável (carga No todo, não houve muita mudança, mas, dada a ne-
útil de 80 bits), o conteúdo é simplesmente repetido três cessidade de compatibilidade, não era de se esperar que
vezes, da mesma forma que o cabeçalho. houvesse. O padrão Bluetooth 5.1 teve algu1nas pequenas
Podemos calcular a capacidade com esse quadro da atualizações nas áreas de rastrea1nento de dispositivo, ca-
seguinte fonna: tendo em vista que o escravo só pode usar ching e alguns outros itens secundários.
214 Redes de computadores

4.6 DOCSIS 4.6.3 Alocação de largura de


banda do canal
A rede de TV a cabo foi projetada originabnente para le-
var progran1as de televisão aos lares. Agora, ela ta1nbé1n Um CMTS DOCSIS reserva largura de banda para cada
é muito utilizada como uma alternativa ao sistema telefô- niode1n a cabo por 1neio de u1n processo de solicitação-
nico, para levar Internet aos lares. A seguir, descrevemos -concessão. Cada fluxo de tráfego upstream ou downstream
a "camada MAC" no padrão DOCSlS, implementada pela nonnalmente recebe un1 fluxo de serviço, e cada fluxo de
maioria dos provedores de serviço a cabo. serviço tem sua largura de banda alocada pelo CMTS.

Fluxos de serviço
4.6.1 Visão geral
E1n geral, a alocação de canais no DOCSIS envolve a alo-
De certa forma, a especificação DOCIS também possui cação de canais entre um CMTS e um ou 1nais 1nodems
u1na subcamada MAC, embora ela seja um pouco menos a cabo, que estão localizados nas casas dos assinantes.
distinta da ca1nada de enlace do que em outros protocolos, O CMTS deve atender a todos os canais upstream e downs-
confonne estuda1nos e1n capítulos anteriores. No entanto, tream e descarta qualquer quadro co1n um endereço MAC
o protocolo tem vários aspectos que se enquadram nos ob- de origem que não seja um dos modems a cabo atribuídos
jetivos padrão da subcamada MAC, incluindo alocação de no grupo. De grande importância para a camada MAC do
canal (que ocorre por meio de um processo de solicitação- DOCSIS é a noção de um fluxo de serviço, que fornece
-concessão), configuração de qualidade de serviço e um uma maneira de gerenciar a qualidade da gestão do serviço
modelo de encaminhamento exclusivo. Esta seção trata de tanto upstrea.m quanto downstrea1n. Cada mode1n a cabo
todas essas questões. Mais recente1nente, o DOCSIS 3.1 tem um ID de fluxo de serviço associado, que é negociado
full-d uplex (agora cha1nado DOCSIS 4.0) introduziu no- durante o registro do 1noden1 a cabo; cada moden1 a cabo
vas tecnologias para escalonamento e cancela1nento de pode ter vários fluxos de serviço associados. Diferentes flu-
interferência. xos de serviço podem ter diferentes limitações associadas a
O DOCSIS tem um formato de quadro MAC padrão, diferentes tipos de tráfego. Por exemplo, cada fluxo de ser-
que abarca um conjunto de campos, incluindo o compri- viço pode ter um tamanho 1náximo de pacote, ou, então, um
mento do quadro MAC, uma soma de verificação e urn fluxo de serviço pode ser dedicado a um detenninado tipo
ca1npo de cabeçalho estendido, que oferece suporte a uma de aplicativo, como urn aplicativo de taxa de bits constante.
variedade de funções, incluindo a segurança da camada de Todos os modeins a cabo deve1n suportar pelo menos um
enlace. Alguns cabeçalhos oferece1n suporte a funções es- fluxo de serviço upstream e u1n downstrea1n, chamado de
pecíficas, incluindo temporização de downstrea1n, ajuste fluxo de serviço primário.
de energia de upstream, solicitações de largura de banda
e concatenação de quadros. Um tipo específico de quadro
é chamado de quadro de solicitação, que é a fonna como o
Oprocesso de solicitação-concessão
rnodem a cabo solicita a largura de banda, confonne descri- e o DOCSIS de baixa latência
to 1nais adiante nesta seção. Quando um moden1 a cabo tem dados para enviar, ele faz
uma solicitação curta que informa ao CMTS quantos dados
ele deve enviar e aguarda u1na mensagem de alocação de
4.6.2 Alcance largura de banda subsequente, que descreve as oportunida-
Um modem a cabo transmite o que é chamado de solicita- des de transmissão upstrearn que um transmissor pode ter
ção de variação, que pennite ao CMTS (headend) determi- para transmitir dados.
nar o atraso da rede até o modem a cabo, ben1 co1no realizar A transmissão upstream é dividida em intervalos dis-
os ajustes de potência necessários. A variação é efetiva- cretos por um mecanis1no de alocação de largura de banda
mente o ajuste periódico de vários parâ1netros de transmis- upstream cha1nado minislot. Um minislot é si1nplesmente
são, especificamente ten1porização, frequência e potência. uma unidade de granularidade de tempo para trans1nissão
O CMTS sonda o modem a cabo, o que o aciona para enviar upstream, nonnabnente em incrementos de 6,25 µs. Depen-
uma solicitação de variação. Com base nessa mensage1n, dendo da versão do DOCSJS, um minislot pode precisar
o CMTS fornece ao modem uma resposta para ajudá-lo a ser u1n tnúltiplo de potência de dois desse incremento; nas
ajustar a temporização e a potência de trans1nissão do sinal. versões 111ais modernas, essa restrição não se aplica. Ajus-
Por padrão, o intervalo ocorre aproximadamente u1na vez a tando os minislots que são concedidos a u1n fluxo de servi-
cada 30 segundos, 1nas pode ser configurado para ocorrer ço específico, o CMTS pode implementar com eficácia a
con1 1nais frequência; intervalos de variação típicos pode1n qualidade de serviço e a priorização para diferentes fluxos
ser de cerca de 1Oa 20 segundos. de tráfego.
Capítulo 4 • A subcamada de controle de acesso ao meio 215

De 1nodo geral, a qualidade do serviço permitiu ao e efetuam o roteamento com base neles, de 1nodo que só
CMTS alocar mais largura de banda para diferentes mo- trabalham co1n os protocolos para os quais foram projeta-
dems a cabo (permitindo assim que um assinante que é dos para lidar.
provisionado para u1n nível de serviço superior alcance um Nesta seção, exarninare1nos como as bridges funcio-
nível de serviço superior). Mais recente1nente, no entanto, nam e como são usadas para juntar várias LANs físicas em
as revisões do DOCSIS ta1nbém pennitiram um serviço uma única LAN lógica. Também veren1os co1no realizar o
diferenciado para aplicações sensíveis à latência. Especifi- inverso e tratar uma LAN tisica como múltiplas LANs ló-
camente, uma nova revisão do protocolo DOCSIS permite gicas, cba1nadas LANs virtuais. As duas tecnologias ofere-
baixa latência, por 1neio de uma nova especificação chan1a- cem flexibilidade úti 1 para o gerencia1nento de redes. Para
da LLD (Low-Latency DOCSIS). O LLD reconhece que, ver u1n esn1do abrangente sobre bridges, switches e tópicos
para muitas aplicações interativas, con10 jogos e videocon- relacionados, consulte Perlman (2000) e Yu (2011 ).
ferência, a baixa latência é tão importante quanto o alto
throughput. Em alguns casos, em redes DOCSIS existentes,
a latência para alguns fluxos pode ser bastante alta, devido 4.7.1 Uso de bridges
ao tempo de aquisição da mídia compartilhada e ao tempo Antes de iniciarmos o esrudo da tecnologia de bridges, vale
de enfileiramento. a pena exatuinar algumas siruações comuns em que elas são
O LLD trata desses problemas reduzindo o atraso de usadas. Mencionaren1os três razões pelas quais tuna única
ida e volta associado ao processo de concessão de solicita- organização pode ter várias LANs.
ção e usando duas fi las - tuna para tráfego de aplicações Primeiro, muitas universidades e departamentos de
sensíveis à latência e outra para tráfego que não é sensível e1upresas têm suas próprias LANs, principalmente para
à latência. O menor atraso de solicitação-concessão reduz conectar seus co1nputadores pessoais, servidores e dispo-
a quantidade de tempo que o CMTS usa para realizar cál- sitivos co1no i1npressoras. Co1no os objetivos dos diversos
culos de agendamento, dos 2-4 milissegundos anteriores departan1entos são diferentes, 1nuitos deles escolhem LANs
para 1 n1ilissegundo. O LLD também usa 1necanis1nos para distintas, sem se importar com o que outros setores estão
escalonar concessões proativamente a um fluxo de serviço, fazendo. Mais cedo ou mais tarde, surge a necessidade de
a fitn de eli1uinar totalmente o atraso associado ao processo interação, por isso as bridges são necessárias. Nesse exem-
de solicitação-concessão. Tatnbém permite que as aplica- plo, a existência de diversas LANs deve-se à autonon1ia de
ções detenninem se têm pacotes que não podem ser enfilei- seus proprietários.
rados, por meio da nlarcação de un1 campo de serviço dife- Segundo, a organização pode estar geograficamente
renciado no quadro DOCSIS. Para obter mais informações dispersa e1n vários edificios separados por distâncias con-
sobre LLD, consulte White (2019). sideráveis. Talvez seja 1nais econômico ter LANs separa-
das em cada edificio e conectá-las com bridges e enlaces
de fibra óptica por longa distância que estender todos os
4.7 COMUTAÇAO NA CAMADA - cabos até um único switcb central. Mesmo que estender os
cabos fosse fácil de fazer, existe1n limites para seu ta1nanho
DE ENLACE DE DADOS (p. ex., 200 m para a gigabit Ethernet com par trançado).
A rede não funcionaria para cabos maiores em virrude de
Muitas empresas têm diversas LANs e desejam conectá- atenuação excessiva do sinal ou pelo atraso de ida e volta.
-las. Não seria conveniente se pudéssemos apenas juntar as A única solução é partir a LAN e instalar bridges para jun-
LANs para criar un1a LAN maior? De fato, poden1os fazer tar as partes, aumentando a distância física total que pode
isso quando as conexões são feitas com dispositivos cha- ser coberta.
mados bridges. Os switches Ethernet que descreve1nos na Terceiro, talvez seja necessário dividir aquilo que lo-
Seção 4.3.4 são um no1ne 1noderno para as bridges; eles gicamente é uma única LAN em LANs separadas (conecta-
oferece1n funcionalidade que vai além da Ethernet clássica das por bridges), a fim de aco1nodar a carga. Por exemplo,
e de hubs Ethernet, fac ilitando a junção de várias LANs em en1 muitas universidades grandes, há 1nilhares de estações
uma rede maior e mais rápida. Usaremos os tennos "brid- de trabalho disponíveis para as necessidades de computa-
ge" e "switch" para indicar a 1nesn1a coisa. ção dos funcionários e dos alunos. As empresas também
As bridges opera1n na ca1nada de enlace de dados, de podem ter milhares de funcionários. A escala desse siste-
modo que exan1inam os endereços nessa camada para enca- ma in1pede que se coloque1n todas as estações de trabalho
minhar quadros. Tendo em vista que elas não tê1n de exami- em uma ún.ica LAN - existem mais computadores do que
nar o campo de carga útil dos quadros que encaminham, as portas em qualquer hub Ethernet, e mais estações do que é
bridges pode1n h·atar dos pacotes TP ou de quaisquer outros permitido e1n uma única Ethernet clássica.
tipos de pacotes, como os pacotes AppleTalk. E111 contra- Mes1no que fosse possível conectar todas as estações
partida, os roteadores examinam os endereços e1n pacotes de trabalho com fios, colocar mais estações em um hub
216 Redes de computadores

Ethernet ou na Ethernet clássica não aumentaria a capaci- 4.7.2 Learning bridges


dade. Todas as estações compartilham a n1esma quantidade
fixa de largura de banda. Quanto 111ais estações houver, n1e- A topologia de duas LANs unidas por bridge aparece na
nor a largura de banda média por estação. Figura 4.33 para dois casos. No lado esquerdo, duas LANs
multidrop, como as Ethernets clássicas, são unidas por
Entretanto, duas LANs separadas têm o dobro da ca-
uma estação especial - a bridge - que fica nas duas LANs.
pacidade de uma única LAN. As bridges permitem que as
No lado direito, as LANs com cabos ponto a ponto, incluin-
LANs seja1n reunidas enquanto 1nantêm essa capacidade.
do um bub, são reunidas. As bridges são os dispositivos aos
O Ílnportante é não enviar tráfego para portas onde ele não
quais as estações e o hub são conectados. Se a tecnologia de
seja necessário, para que cada LAN possa trabalhar em ve-
LAN é Ethernet, as bridges são mais bem conhecidas como
locidade plena. Esse co1nporta1nento ta1nbém aun1enta a
switches Ethernet.
confiabil idade, pois, em uma única LAN, um nó coro de-
As bridges fora1n desenvolvidas quando as Ethernets
feito que continua enviando um fluxo contínuo de lixo pode
clássicas estavaru sendo usadas, de modo que normalrnente
travar a LAN inteira. Decidindo o que encaminhar e o que
aparecem e1n topologias com cabos multidrop, como na Fi-
não encaminhar, as bridges atuam como portas de incêndio
gura 4.33(a). Todavia, todas as topologias encontradas boje
e1n u1n prédio, ilnpedindo que u1n único nó descontrolado
são compostas de cabos e switcbes ponto a ponto. As brid-
trave o sistema inteiro.
ges funcionam da 1nesma maneira nas duas configurações.
Para tornar esses benefícios facihnente disponíveis, o Todas as estações conectadas à n1es1ua porta e1n u1na bridge
ideal é que as bridges seja1n completa1nente transparentes. pertencem ao mesn10 domínio de colisão, e este é diferente
Deverá ser possível sair e cornprar bridges, conectar os ca- do domínio de colisão para outras portas. Se houver mais
bos da LAN nas bridges e tudo funcionar perfeitamente, de uma estação, como em uma Ethernet clássica, um bub
instantaneamente. Não deve ser preciso fazer mudanças de ou um enlace half-duplex, o protocolo CSMA/CD é usado
hardware ou de software, nem configuração de endereço para transmitir quadros.
de switches, nem baixar tabelas de roteamento ou de parâ- Contudo, há uma diferença no modo como são 1nonta-
metros, nada mesmo. Basta conectar os cabos e sair. Além das as LANs conectadas com bridges. Para unir LANs roul-
disso, a operação das LANs existentes não deverá ser afeta- tidrop, u1na bridge é acrescentada como u1na nova estação
da de forma alguma pelas bridges. Em relação às estações, e1n cada un1a das LANs multidrop, como na Figura 4.33(a).
não deverá haver diferença observável por estarem ou não Para unir LANs ponto a ponto, os hubs são conectados a
fazendo parte de uma LAN com bridge. Deverá ser tão fácil uma bridge ou, de preferência, substituídos por uma bridge,
mover estações pela LAN com bridge quanto em uma LAN para aumentar o desempenho. Na Figura 4.33(b), as bridges
isolada. substituíram todos m.enos u1n hub.
É surpreendente como realmente é possível criar brid- Diferentes tipos de cabos tambérn podem ser conectados
ges transparentes. Dois algoritn1os são utilizados: um de a uma bridge. Por exe1nplo, o cabo que conecta a bridge Bl
aprendizado reverso, para evitar que o tráfego seja enviado à B2 na Figura 4.33(b) poderia ser um enlace de fibra óptica
para onde não é necessário, e u1n spanning tree, para inter- de longa distância, enquanto o cabo que conecta as bridges às
romper loops que possam ser formados quando os switcbes estações poderia ser u1n cabo de par trançado em curta distân-
são conectados de fonna incorreta. Agora, vejamos esses cia. Esse arranjo é útil para unir LANs em prédios diferentes.
algoritmos, um por vez, para aprender como essa 1nágica Agora, vamos considerar o que acontece dentro das
é realizada. bridges. Cada u1na delas opera e1n n1odo promíscuo, ou

Porta Porta
1

B1
/ B1
/ B2
2
H1
1 2 4 4 3

t t
Bridge Bridge

(a) (b)

Figura 4.33 (a) Bridge conectando duas LANs multidrop. (b) Bridges (e um hub) conectando sete estações ponto a ponto.
Capítulo 4 • A subcamada de controle de acesso ao meio 217

seja, aceita cada quadro transn1itido pelas estações co- de sua LAN, levado para outro lugar no prédio e reconec-
nectadas a cada uma das portas. A bridge precisa decidir tado nesse outro local, dentro de poucos 1ninutos ele esta-
se encaminhará ou descartará cada quadro e, no primeiro rá de volta à operação normal, sem nenhuma intervenção
caso, a que porta o enviará. Essa decisão é tomada usando manual. Esse algoritmo também significa que, se uma má-
o endereço de destino. Como exen1plo, considere a topo- quina estiver inativa por alguns minutos, qualquer tráfego
logia da Figura 4.33(a). Se a estação A enviar un1 quadro à enviado a ela terá de ser difundido por inundação, até que
estação B, a bridge Bl receberá o quadro na porta 1. Esse ela mesma envie um quadro em seguida.
quadro pode ser descartado imediatamente, sem mais ceri- O procedimento de rotea1nento para um quadro de
mônias, pois já está na porta correta. Contudo, na topologia entrada depende da porta em que ele chega (a po1ta de ori-
da Figura 4.33(b), suponha que A envie um quadro para D. gen1) e do endereço ao qual ele se destina (o endereço de
A bridge Bl receberá o quadro na porta l e o enviará pela destino). O procediinento é o seguinte:
porta 4. A bridge B2 receberá, então, o quadro em sua porta
1. Se a porta para o endereço de destino e a porta de ori-
4 e o enviará pela sua porta 1.
gem forem un1a só, o quadro será descartado.
Um modo sirnples de imple1nentar esse esquema é ter
utna grande tabela (hasb) dentro da bridge. Ela pode listar 2. Se a porta para o endereço de destino e a porta de
cada destino possível e a que po1ia de saída ele pertence. origem forem diferentes, o quadro será encaminhado
Por exemplo, na Figura 4.33(b), a tabela e1n B 1 listaria para a porta de destino.
D como pertencente à porta 4, pois tudo o que Bl precisa 3. Se a porta de destino for desconhecida, o quadro será
saber é e1n que porta colocar os quadros para alcançar D. inundado e enviado para todas as portas, co1n exceção
Ou seja, na verdade, haverá outros encaminha1nentos, caso da porta de origem.
o quadro que alcança B2 não seja de interesse para Bl. Você pode estar questionando se o primeiro caso pode
Quando as bridges são conectadas pela primeira vez, ocorrer com enlaces ponto a ponto. A resposta é que ele
todas as tabelas de hash estão vazias. Nenhuma das bridges pode ocorrer se forem usados hubs para conectar un1 grupo
sabe onde estão os destinatários e, por isso, elas usam o al- de computadores a uma bridge. Um exemplo aparece na Fi-
goritmo de inundação: cada quadro de entrada para um des- gura 4.33(b), em que as estações E e Festão conectadas ao
tino desconhecido é enviado para todas as portas às quais a hub HI, que por sua vez está conectado à bridge B2. Se E
bridge está conectada, com exceção da porta de onde o qua- envia um quadro para F, o hub o repassará para B2, bem
dro chegou. Com o passar do te1npo, as bridges aprendem con10 para F. É isso que os hubs fazem - conectam todas
onde estão os destinatários. A partir do momento e1n que as portas de modo que um quadro que chega a uma porta
um destinatário se torna conhecido, os quadros destinados é simples1nente enviado por todas as outras portas. O qua-
a ele são colocados somente na porta apropriada e não são dro chegará a B2 na porta 2, que já é a porta de saída certa
mais inundados para as demais. para alcançar o destino. A bridge B2 só precisa descartar o
O algoritmo usado pelas bridges é o de aprendizado quadro.
reverso. Como já dissemos, as bridges operam em modo À medida que cada quadro chegar, esse algoritmo será
pro1níscuo, portanto, elas veem todo quadro enviado em aplicado, de 1nodo que ele nonnaln1ente é in1plementado
qualquer uma de suas portas. Exa1ninando o endereço de co1n chips VLSI de uso especial. Os chips pesquisa1n e
origem, elas podem descobrir que máquina está acessível atualiza1n a entrada na tabela, em alguns 1nicrossegundos.
em quais portas. Por exemplo, se a bridge Bl da Figura Co1no as bridges só exa1njnatn os endereços MAC para
4.33(b) vir um quadro na porta 3 vindo de e, ela saberá que decidir co1no enca1ninhar os quadros, é possível começar
C pode ser alcançada através da porta 3, assi1n, ela cria uma a encan1inhar assim que o can1po do cabeçalho de destino
entrada em sua tabela hash. Qualquer quadro subsequente tiver chegado, antes que o restante do quadro tenha chega-
endereçado a C que chegue na Bl ou em qualquer outra do (é claro, desde que a linha de saída esteja disponível).
porta será encaminhado para a porta 3. Esse projeto reduz a latência da passagem pela bridge, be1n
A topologia pode ser alterada à medida que n1áquinas como o nú1nero de quadros que a bridge terá de manter em
e bridges são ativadas, desativadas e deslocadas. Para tratar buffer. Ele é conhecido como comutação cut-through
de topologias dinâ1nicas, sempre que é criada u1na entrada ou roteamento wormbole, e normalmente é tratado no
da tabela hash o te1npo de chegada do quadro é indicado na hardware.
entrada. Sempre que chega um quadro cuja origem já está Podemos ver a operação de uma bridge em termos de
na tabela, sua entrada é atualizada con1 a hora atual. Desse pilhas de protocolo para entender o que significa ser um
modo, o tempo associado a cada entrada informa a última dispositivo da camada de enlace. Considere u1n quadro
vez que foi visto um quadro proveniente dessa máquina. enviado da estação A para a estação D na configuração da
Periodicamente, u1n processo na bridge varre a tabela Figura 4.33(a), em que as LANs são Ethe1net. O quadro
hash e elünina todas as entradas que tenham mais de alguns passará por uma bridge. A visão de processan1ento da pilha
minutos. Dessa forrna, se um computador for desconectado de protocolos aparece na Figura 4.34.
218 Redes de computadores

Estação A Estação D

Rede IPacotel IPacotel


Bridge •
Ethernet '
1 Eth IPacotel Eth ~acote ~r~ Eth
ssor Pacote
1

1 Eth IPacotel
MAC 1 1

•1
Física '
1 Eth 1Pacote1 Eth Pacote Eth Pacote 1 Eth IPacotel

Fio Fio

Figura 4.34 Processamento de protocolos em uma bridge.

O pacote ven1 de uma carnada rnais alta e desce até a Só considerarernos as po1tas da bridge que conectam B I a
camada Ethernet MAC. Ele adquire u1n cabeçalho Ethernet B2 (embora o quadro também seja enviado para as outras
(e também um f10al , não mostrado na figura). Essa unidade portas). Como existem dois enlaces de B1 para B2, duas có-
é passada para a camada tisica, sai pelo cabo e é apanhada pias do quadro alcançarão B2. Elas são mostradas na Figura
pela bridge. 4.35 como F 1 e F 2•
Na bridge, o quadro é passado da camada fisica para Pouco tempo depois, a bridge B2 recebe esses qua-
a camada Ethernet MAC. Essa carnada estende o processa- dros. Contudo, ela não sabe (e não pode saber) que eles são
rnento em comparação com a camada Ethernet MAC em cópias do mes1no quadro, ern vez de dois quadros diferen-
uma estação. Ela passa o quadro para um retransmissor, tes enviados um após o outro. Assim, a bridge 82 apanha F 1
ainda dentro da camada MAC. O serviço de retransmissão e envia cópias dele para todas as outras portas, e também
da bridge usa apenas o cabeçalho Ethernet MAC para de- apanha F 2 e envia cópias dele por todas as outras portas.
terminar como lidar com o quadro. Nesse caso, ela passa o Isso produz quadros F3 e F4 , enviados ao longo dos dois
quadro para a carnada Ethernet MAC da porta usada para enlaces para Bl. A bridge Bl, então, vê dois novos quadros
atingir a estação D, e o quadro continua seu caminho. com destinos desconhecidos e os copia novamente. Esse ci-
No caso geral, os retransmissores em detenninada clo prossegue indefinidamente.
carnada poden1 reescrever os cabeçalhos dessa ca1nada. A solução para essa dificuldade é estabelecer a comu-
As LANs virtuais oferecerão um exemplo em breve. A brid- nicação entre as bridges e sobrepor a topologia real com
ge nunca deve examinar o interior do quadro e descobrir uma spanning tree que alcance cada bridge. Na realidade,
que ele está traospo1tando um pacote IP; isso é irrelevante algurnas conexões potenciais entre as bridges são ignoradas
para o processamento inten10 da bridge e violaria o uso do para que se construa uma topologia fictícia livre de loops,
modelo e1n ca1nadas do protocolo. Observe também que que é um subconjunto da topologia real.
uma bridge com k portas terá k ocorrências de camadas Por exemplo, na Figura 4.36, vemos cinco bridges in-
MAC e física. O valor de k é 2 para nosso exemplo simples. terconectadas que também têm estações conectadas a elas.
Essa estação se conecta a apenas uma bridge. Existem al-
gumas conexões redundantes entre as bridges para que os
4.7.3 Spanning Tree Bridges quadros seja1n encaminhados em loops se todos os enlaces
Para au1nentar a confiabilidade, os enlaces redundantes forem usados. Essa topologia pode ser considerada um gra-
podem ser usados entre as bridges. No exemplo da Figu- fo em que as bridges são os nós e os eolaces pooto a ponto
ra 4.35, existem dois enlaces en1 paralelo entre um par de
bridges. Esse projeto garante que, se um enlace for inter- Quadro F0
ro1npido, a rede oão será dividida em dois conjuntos de ~
computadores que não podem conversar entre si. F,
,l
,." ,_,
1

Entretanto, essa redundância também introduz alguns /

'>--~.-=I==='--•~~~~~~~~·""
problen1as adicionais, porque cria loops na topologia. Po- --
1 L___ 81 F2 82 ---j
-- 1
den1os ver un1 exen1plo sirnples desses proble1nas obser- L-1 e::::::::::>-- ,_ 1

vando co1no um quadro enviado por A para um destino


previamente não observado é tratado na Figura 4.35. Cada
bridge segue as regras nonnais para tratamento de destinos
desconhecidos, que é inundar o quadro. Varnos chan1ar o Enlaces redundantes
quadro de A que alcança a bridge B 1 de quadro F0 . A bridge
envia cópias desse quadro por todas as suas outras portas. Figura 4.35 Bridges com dois enlaces paralelos.
Capítulo 4 • A subcamada de controle de acesso ao meio 219

- - Estação

Bridge
raiz -· B1 B3 B5

/
/
/
/
\Bridge
/
/
/

Enlace que não faz parte


82 da spanning tree

Figura 4.36 Uma spanning tree conectando cinco bridges. As linhas pontilhadas não fazem parte da spanning tree.

são as arestas. O grafo pode ser reduzido a uma spanning curto que encontra até a raiz. As bridges, então, desativam
tree que, por definição, não contém ciclos, eliminando os as portas que não fazem parte do ca1ninho mais curto.
enlaces mostrados como linhas tracejadas na Figura 4.36. Embora a árvore se espalhe por todas as bridges, nem
Com a utilização da spanning tree, existe exata1nente um todos os enlaces (ou mesmo as bridges) estão necessaria-
ca1ninho de cada estação para qualquer outra estação. U1na n1ente presentes na árvore. Isso acontece porque o desli-
vez que as bridges entram em acordo e1n relação à spanning gan1ento das portas poda alguns enlaces da rede e in1pede
tree, tudo o que é encaminhado entre as estações segue a loops. Mesmo depois que a spanning tree é estabelecida, o
spanning tree. Como existe um único caminho de cada ori- algoritmo continua a funcionar durante a operação nonnal,
ge1n até cada destino, é impossível haver loops. com a finalidade de detectar automaticamente mudanças na
Para construir a spanning tree, as bridges executam topologia e atualizar a árvore.
um algoritmo distribuído. Cada bridge transmite periodi- O algoritmo usado para a construção da spanning tree
camente por broadcast uma mensagem de configuração por foi inventado por Radia Perlman. Seu trabalho foi resolver
todas as suas portas aos seus vizinhos e processa as rnen- o problema de juntar LANs sem loops. Ela teve uma sema-
sagens que recebe de outras bridges, confonne descreve- na para fazer isso, mas teve a ideia do algoritmo spanning
remos a seguir. Essas mensagens não são encaminhadas, tree em um dia. Felizmente, ela teve tempo suficiente para
pois seu propósito é construir a árvore, que pode, então, ser escrevê-lo em forma de poema (Perln1an, 1985):
usada para o encaminhamento.
Tthink that Tshall never see
Prüneiro as bridges precisam escolher, entre elas, a que
A graph n1ore lovely than a tree.
será usada como raiz. Para fazer essa escolha, cada u1na de-
A tree whose crucial property
las inclui un1 identificador com base no endereço MAC na
Is loop-free connectivity.
mensagem de configuração, bem como o identificador da
A tree which 1nust be sure to span.
bridge que se acredita ser a raiz. Os endereços MAC são ins-
So packets can reach eve1y LAN.
talados pelo fabricante co1n a garantia de ser exclusivos em
First the Root must be selected
todo o mundo, o que torna esses identificadores convenientes
By JD it is elected.
e exclusivos. As bridges escolhem aquela com o menor iden-
least cost paths ji·om Root are traced
tificador para ser a raiz. Depois que mensagens suficientes ti-
ln the tree these paths are placed.
verem sido trocadas para espalhar a notícia, todas as bridges
A tnesh is n1ade by j'olks like m.e
chegarão a um acordo sobre qual delas é a raiz. Na Figura
Then bridges finda spanning tree. *
4.36, a bridge Bl tem o menor identificador e se toma a raiz.
Em seguida, é construída urna árvore de caminhos O algoritmo spanning tree foi, então, padronizado
rnais curtos a partir da raiz até cada bridge. Na Figura 4.36, como IEEE 802.1 D e usado por 1nuitos anos. Em 2001 , ele
as bridges B2 e B3 podem ser alcançadas direta1nente a par- foi revisado para encontrar n1ais rapidamente un1a nova
tir da 81 , em um salto que é o caminho 1nais curto. A 84
pode ser alcançada e1n dois saltos, por meio de B2 ou B3.
*N. de T. (Creio que nunca verei/Um grafo 111elhor que uma ár-
Para desempatar, é escolhido o caminho por meio da bridge
vore./U1na árvore cuja propriedade fundamental/É a conectivi-
con1 o menor identificador, de 1nodo que 84 é alcançada dade se111 loops.!U111a árvore que precisa se espalhar/Para que os
por 1neio de B2. A B5 pode ser alcançada em dois saltos por pacotes possam alcançar cada LAN./Primeiro a raiz deve ser se-
meio deB3. lecionada/Por lD ela é eleita./Caminhos de menor custo a partir
Para encontrar esses caminhos mais curtos, as bridges da raiz são traçados./Na árvore esses ca1ninhos são colocados./
inclue1n a distância a partir da raiz e1n suas 1nensagens de Uma malha é feita por pessoas como eu/Depois as bridges acham
configuração. Cada uma delas se len1bra do can1inho mais u1na spanniug tree.)
220 Redes de computadores

spanning tree após uma mudança de topologia. Para ver um en1 bits con10 volts. Por exe1nplo, a Ethernet clássica foi
estudo mais detalhado sobre as bridges, consulte Perlman projetada para pennitir quatro repetidores, que a1nplificam
(2000). o sinal a fi1n de estender o comprimento máximo do cabo
de 500 para 2.500 111.
Em seguida, te1nos os bubs. Urn bub tem várias inter-
4.7.4 Repetidores, hubs, bridges, faces de entrada que ele conecta eletricamente. Os quadros
switches, roteadores e gateways que chegam a quaisquer dessas interfàces são enviados a
todas as outras. Se dois quadros chegarem ao n1esmo tem-
Até agora neste livro, examinarnos diversas maneiras de po, eles colidirão, exatan1ente como ocorre em um cabo
transferir quadros e pacotes de u1n co1nputador para outro. coaxial. Todas as linhas que chegarn a u1n bub devem ope-
Menciona1nos repetidores, hubs, bridges, switches, rotea- rar na rnesma velocidade. Os hubs diferen1 dos repetido-
dores e gateways. Todos esses dispositivos são de uso co- res pelo fato de (normalmente) não a1nplificarem os sinais
mum, mas diferem entre si em detalhes sutis e não muito de entrada e serem projetados para conter várias linhas de
sutis. Por existir uma grande quantidade desses dispositi- entrada, mas as diferenças são pequenas. Assim como os
vos, provavelmente vale a pena examiná-los ern conjunto repetidores, os hubs são dispositivos da camada tisica que
para ver quais são as se1nelhanças e as diferenças entre eles. não exan1ina1n os endereços da camada de enlace nem os
A chave para entendê-los é observar que eles ope- utilizam de maneira alguma.
ram em camadas diferentes, como ilustra a Figura 4.37(a). Agora, vamos subir até a can1ada de enlace de dados,
A camada é importante, porque diferentes dispositivos em que encontra1nos bridges e switches. Acabamos de estu-
utilizam fragmentos de informações diferentes para de- dar as bridges com certa profundidade. Uma bridge conecta
cidir como realizar a comutação. Ern um cenário típico, duas ou mais LANs. Como um hub, u1na bridge moderna
o usuário gera alguns dados a serem enviados para u1na tem várias portas, nonnalmente o suficiente para 4 a 48 li-
máquina remota. Esses dados são repassados à camada de nhas de entrada de um certo tipo. Diferentemente de um
transporte, que então acrescenta um cabeçalho (p. ex., u1n hub, cada porta é isolada para ser seu próprio domínio de
cabeçalho TCP) e repassa o pacote resultante à camada de colisão; se a porta tem uma linha ponto a ponto full-duplex,
rede situada abaixo dela. Essa camada adiciona seu pró- o algoritmo CSMNCD não é necessário. Quando um qua-
prio cabeçalho para fonnar um pacote da camada de rede dro chega, a bridge extrai o endereço de destino do cabe-
(p. ex. , um pacote IP). Na Figura 4.37(b), vemos o pacote çalho de quadro e examina uma tabela, a fin1 de verificar
IP sombreado na cor cinza. Em seguida, o pacote vai para para onde deve enviá-lo. No caso de uma rede Ethernet,
a camada de enlace de dados, que adiciona seu próprio esse endereço é o endereço de destino de 48 bits mostrado
cabeçalho e seu checksum (CRC) e entrega o quadro re- na Figura 4.14. A bridge só envia o quadro à porta onde ele
sultante à camada física para transn1issão, digamos, por é necessário, e pode encaminhar vários quadros ao mesmo
uma LAN. tempo.
Agora, vamos examinar os dispositivos de comuta- As bridges oferecem dese1npenho muito melhor que
ção e ver co1no eles se relacionam aos pacotes e quadros. os hubs, e o isolamento entre suas portas também significa
Na parte inferior, na can1ada física, encontramos os repeti- que as linhas de entrada podem trabalhar com diferentes
dores. Estes são dispositivos analógicos que trabalham com velocidades, possivehnente ainda com diferentes tipos de
sinais nos cabos aos quais estão conectados. Un1 sinal que rede. Um exemplo comum é u1na bridge co1n portas que
aparece em um deles é limpo, amplificado e colocado em se conectam à Ethernet de l O, 100 e 1.000 Mbps. O uso de
outro cabo. Os repetidores não reconhecem quadros, paco- buffer dentro da bridge é necessário para aceitar um qua-
tes ou cabeçalhos. Eles entendem os símbolos codificados dro em tuna porta e transmiti-lo por uma porta diferente.

Camada de aplicação Gateway de aplicação

Camada de transporte Gateway de transporte Pacote (fornecido pela camada de rede)

Cabeçalho Cabeçalho Cabeçalho Dados CRC


Camada de rede Roteador
de quadro de pacote TCP do usuário

Camada de enlace de dados Bridge, switch Quadro (feito pela camada de enlace de dados)

Camada física Repetidor, hub

(a) (b)

Figura 4.37 (a) Dispositivos presentes em cada camada. (b) Quadros, pacotes e cabeçalhos.
Capítulo 4 • A subcamada de controle de acesso ao meio 221

Se os quadros entrare1n mais rapidamente do que podem anteriores. Quando u1n pacote entra em un1 roteador, o ca-
ser retransmitidos, a bridge poderá ficar sem espaço e1n beçalho de quadro e o final são retirados, e o pacote lo-
buffer e ter de começar a descartar quadros. Por exemplo, calizado no campo de carga útil do quadro (sombreado na
se uma gigabit Ethernet estiver empurrando bits para uma Figura 4.37) é repassado ao software de roteamento. Esse
Ethernet de 1O Mbps na velocidade máxi1na, a bridge terá software utiliza o cabeçalho de pacote para escolher uma
de mantê-los e1n buffer, na esperança de não ficar se1n n1e- linha de saída. No caso de u1n pacote IP, o cabeçalho do
mória. Esse problema ainda existe mesmo que todas as pacote conterá un1 endereço de 32 bits (IPv4) ou de 128 bits
portas trabalhem na mesma velocidade, pois mais de uma (IPv6), mas não u1n endereço IEEE 802 de 48 bits. O soft-
porta pode estar enviando quadros a detenninada porta de ware de roteamento não vê os endereços de quadro e nem
destino. mesmo sabe se o pacote veio de u1na LAN ou de uma linha
As bridges visavam originahnente à união de diferen- ponto a ponto. Estudare1nos os roteadores e o roteamento
tes tipos de LANs, por exen1plo, uma LAN Ethernet e uma no Capítulo S.
Token Ring. Contudo, isso nunca funcionou bem, em razão Subindo até outra camada, encontramos gateways de
das diferenças entre elas. Diferentes formatos de quadro transporte. Esses dispositivos conectam dois co1nputadores
exige1n cópia e reformatação, o que requer tempo de CPU, que utilizam diferentes protocolos de transporte orientados
um novo cálculo de checksum e introduz a possibilidade a conexões. Por exe1nplo, suponha que um cotnputador que
de erros não detectados, em decorrência de bits incorretos utiliza o protocolo TCP/IP orientado a conexões precise se
na memória da bridge. O uso de diferentes tamanhos má- comunicar com tun co1nputador que utiliza u1n protocolo de
ximos de quadro também é um problema sério sem uma transporte orientado a conexões diferente, chamado SCTP.
boa solução. Basicamente, quadros muito grandes para ser O gateway de transporte pode copiar os pacotes de uma co-
encaminhados devem ser descartados. Muita coisa para se nexão para a outra, reformatando-os caso seja necessário.
evidenciar. Finalmente, os gateways de aplicação reconhecem o
Duas áreas em que as LANs podem diferir são se- formato e o conteúdo dos dados e convertem mensagens
gurança e qualidade de serviço. Algumas têm criptografia de um fonnato para outro. Por exemplo, utn gateway de
da camada de enlace (p. ex., 802.11) e outras não (p. ex., correio eletrônico poderia converter 1nensagens da Internet
Ethernet). Algun1as tê1n recursos de qualidade de servi- em mensagens SMS para telefones móveis. Assi1n co1no
ço, como prioridades (p. ex., 802.11) e outras não (p. ex., "switch", "gateway" é um tenno bastante genérico. Ele se
Ethernet). Consequentemente, quando u1n quadro precisa refere a um processo de encaminhamento que atua em uma
trafegar entre essas LANs, pode não ser possível fornecer camada superior.
a segw·ança ou a qualidade de serviço esperadas pelo e1nis-
sor. Por todos esses 1notivos, as bridges n1odemas nonnal-
mente funcionan1 para um tipo de rede, e os roteadores, que 4.7.5 LANs virtuais
veremos em breve, são usados em seu lugar para unir redes
de diferentes tipos. Quando foram criadas as primeiras redes locais, grossos
Os switches são bridges modernas coLn outro nome. cabos amarelos se estendiain pelos conduítes de tnuitos
As diferenças são 1nais por questões de n1arketing do que prédios comerciais. Todo computador era conectado a esses
técnicas, n1as existe1n alguns pontos que precisan1 ser cabos por onde eles passava1n. Ninguém parava para pen-
conhecidos. As bridges foram desenvolvidas quando a sar sobre que computador pertencia a qual LAN. Todas as
Ethernet clássica estava em uso, de n1odo que tendem a unir pessoas que trabalhavam em escritórios adjacentes ti.nham
relativa1nente poucas LANs e, portanto, ter relativamente seus equipamentos conectados à mesma LAN, quer elas
poucas portas. O termo "switch" é mais popular hoje e1n trabalhassem juntas, quer não. A geografia era mais unpor-
dia. Além disso, todas as instalações modernas usam en- tante que os organogramas corporativos.
laces ponto a ponto, como cabos de par trançado, de modo Co1n o advento do par trançado e dos hubs na década
que computadores individuais se conecta1n diretamente de 1990, tudo isso n1udou. A fiação dos prédios foi trocada
a u1n switch e, portanto, este costuma ter muitas portas. (a um custo considerável) para eliminar todos os grossos
Finahnente, "switch" também é usado como um tenno ge- cabos amarelos e instalar pares trançados, que ia1n de cada
ral. Com uma bridge, a funcionalidade é clara. Em contra- escritório até os armários centrais de fiação instalados no
partida, um switcb pode se referir a um switch Ethernet ou fim de cada con·edor ou em u1na sala de máquinas central,
a um tipo de dispositivo completa1nente diferente, que toma como ilustra a Figura 4.38. Se o encarregado da fiação fos-
decisões de encaminhamento, como um switch usado em se um visionário, eram instalados pares trançados da Cate-
telefonia. goria S; se fosse un1 avarento, a fiação telefônica existente
Até o momento, vimos repetidores e hubs, que são (da Categoria 3) era usada (até ser substituída alguns anos
bastante semelhantes, bem como bridges e switches, que mais tarde, quando surgiu a Fast Ethernet).
são ainda mais parecidos. Agora vamos passar para os ro- Hoje, os cabos 1nudaram e os bubs se ton1aram swi-
teadores, os quais são diferentes de todos os dispositivos tches, 1nas o padrão de fiação ainda é o mes1no. Esse padrão
222 Redes de computadores

D D D D D D

Corredor . .. .. ... .
• • • • < •
'
11 11111111111
Switch

D D D D --l- Hub

Par trançado/ Escritório


para um hub

Figura 4.38 Um prédio com fiação centralizada, utilizando hubs e um switch.

possibilita configurar LANs logica1nente, en1 vez de fisi- destino é desconhecido, e os protocolos da camada supe-
ca1nente. Por exe1nplo, se uma empresa deseja k LANs, rior ta1nbé1n o utilizam. Por exemplo, quando um usuário
ela pode comprar k switches. Escolhendo cuidadosamen- quer enviar um pacote a um endereço IP representado por
te quais conectores ligar a quais switches, os ocupantes de x, como saber qual endereço MAC colocar no quadro? Es-
uma LAN podem ser escolhidos de um modo que faça sen- tudaremos essa questão no Capítulo 5, mas, em resumo,
tido para a organização, sem considerar muito a geografia. o usuário transmitirá um quadro contendo a seguinte per-
E' importante saber quem está conectado a cada LAN? gunta: "A quem pertence o endereço IP x?". Em seguida, o
'
Afinal, em quase todas as organizações, todas as LANs es- usuário aguardará uma resposta. A 1nedida que o número de
tão interconectadas. A resposta é sim, isso com frequência é comunicações em uma LAN aumenta, o rnesmo acontece
i1nportante. Os administradores de redes gosta1n de agrupar co1n a quantidade de broadcasts circulando. Cada broad-
os usuários em LANs de modo a refletir a estrutura orga- cast consome mais capacidade da LAN do que um quadro
nizacional, en1 lugar do layout tisico do prédio, por várias nonnal, pois ele é entregue a cada computador na LAN.
razões. Uma delas é a segurança. Uma LAN poderia hos- Evitando que as LANs sejam maiores do que precisam ser,
pedar servidores Web e outros con1putadores voltados para reduzi1nos o itnpacto do tráfego de broadcast.
uso público. Outra LAN poderia hospedar co1nputadores Um proble1na relacionado ao broadcast é que, de vez
que contivessem os registros do departamento de recursos em quando, uma interface de rede sofrerá uma pane e co-
hutnanos, que não devem ser passados para fora do departa- meçará a gerar um fluxo infinito de quadros de broadcast.
mento. Nessa situação, faz sentido colocar todos os compu- Se a rede realmente estiver sem sorte, alguns desses qua-
tadores e1n u111a única LAN e não permitir que nenhu1n ser- dros gerarão respostas que levarão a ainda mais tráfego.
vidor seja acessado de fora dela. A gerência tende a franzir O resultado dessa tempestade de broadcast é que ( 1) a
a testa quando escuta que esse arranjo é impossível. capacidade da LAN inteira será ocupada por esses quadros
Utna segunda questão é a carga. Algumas LANs são e (2) todas as máquinas em todas as LANs interconectadas
utilizadas mais intensa1nente que outras, e pode ser inte- serão danificadas, processando e descartando todos os qua-
ressante separá-las. Por exe1nplo, se o pessoal da área de dros que estiverem sendo transmitidos.
pesquisa estiver realizando várias experiências e alguma A princípio, pode parecer que seria possível limitar o
delas sair do controle e saturar a LAN, é bem possível que escopo das tempestades de broadcast separando as LANs
o pessoal da gerência não fique nluito entusiasmado por com bridges ou switches; porém, se o objetivo é conse-
ter de doar uma parte de sua capacidade de computação re- guir transparência (i.e., poder mover un1a 1náquina de uma
servada para uma videoconferência para ajudar os colegas LAN diferente usando a bridge sem que alguém note a
do outro departamento. Novamente, isso pode causar, na mudança), então as bridges tên1 de encaminhar quadros de
gerência, a i1npressão da necessidade de instalar uma rede broadcast.
mais rápida. Depois de verificannos por que seria interessante
U1na terceira questão é o tráfego de broadcast. para as e1npresas ter várias LANs con1 escopo restrito, va-
As bridges enviam tráfego de broadcast quando o local do mos voltar ao problema de desacoplar a topologia lógica
Capítulo 4 • A subcamada de controle de acesso ao meio 223

da topologia física. A criação de u1na topologia física para en1 vennelho, os n1e111bros da LAN verde em verde, e assim
refletir a estrutura organizacional pode acrescentar traba- por diante. Desse modo, os layouts tisico e lógico são visí-
lho e custo, mesn10 com fiação centralizada e switches. Por veis e1n um único diagratna.
exe1nplo, se duas pessoas no n1esmo departamento traba- Como exemplo, considere as LANs conectadas por
lham em prédios diferentes, pode ser mais fácil conectá-las bridges da Figura 4.39, em que nove das máquinas perten-
a diferentes switches que fazen1 parte de LANs diferen- cem à VLAN G (gray - cinza) e cinco pertencem à VLAN
tes. Mesmo que esse não seja o caso, um usuário pode- W (white - branca). As máquinas da YLAN cinza estão es-
ria ser deslocado dentro da empresa de un1 departamento palhadas por dois switches, inclumdo as duas máquinas que
para outro sen1 1nudar de escritório, ou poderia mudar de se conecta1n a u1n switch por 1neio de um hub.
escritório sem 1nudar de departa1nento. Isso pode fazer o Para fazer as VLANs funcionarem corretan1ente, é ne-
usuário estar na LAN e1Tada até que o ad1ninistrador nlude cessário definir tabelas de configuração nas bridges. Essas
o conector do usuário de um switch para outro. Além dis- tabelas informam quais são as VLANs acessíveis através de
so, o número de computadores que pertencen1 a diferen- cada uma das portas. Quando um quadro chega, digamos,
tes departamentos pode não corresponder bem ao nú1nero
da VLAN cinza, ele tem de ser encaminhado para todas as
de portas nos switches; alguns departamentos podem ser
portas marcadas com um G. Isso é válido para o tráfego
muito pequenos e outros tão grandes que exigem vários
con1um (i.e., de unicast) para o qual as pontes não desco-
switches. Isso resulta e1n portas do switch desperdiçadas,
briram o local do destino, ben1 como para os tráfegos de
que não são usadas.
nlulticast e de broadcast. Observe que tuna porta pode ser
Em 1nuitas empresas, as mudanças organizacionais
rotulada com várias cores de VLAN.
ocorre1n o tempo todo; isso significa que os adn1inistrado-
res de siste1nas passam muito ten1po retirando plugues e Como u111 exemplo, suponha que uma das estações
inserindo-os de novo em algum outro lugar. Além disso, em cinza conectadas à bridge Bl na Figura 4.39 envie um
alguns casos, a mudança não pode ser feita de modo algum, quadro para u1n destino que não tenha sido observado an-
porque o par trançado da máquina do usuário está longe teriormente. A bridge B1 receberá o quadro e verá que ele
demais do hub correto (p. ex., em outro prédio), ou então as veio de un1a máquina na VLAN cinza e, por isso, o quadro
portas do switch disponíveis estão na LAN errada. inundará todas as portas rotuladas com G (exceto a porta de
Em resposta à solicitação de usuários que desejam chegada). O quadro será enviado às cinco outras estações
maior flexibi lidade, os fornecedores de redes começaram cinza conectadas a 81, além do enlace de 8 I até a bridge
a buscar um meio de recompor a fiação dos prédios inteira- 82. Na 82, o quadro será igual1nente enca1ninbado por to-
mente via software. O conceito resultante é chamado LAN das as portas rotuladas com G. Isso envia o quadro a uma
virtual, ou VLAN (Virtual LAN) e foi até mes1no padro- estação adiante e ao hub (que trans1nitirá o quadro a todas
nizado pelo comitê IEEE 802. Atuahnente, ele está sendo as suas estações). O hub tem os dois rótulos, pois se conecta
itnplementado e111 muitas organizações. Vamos examiná-lo a máquinas das duas VLANs. O quadro não é enviado pelas
em seguida. outras portas sem G no rótulo, pois a bridge sabe que não
As VLANs se baseiam em switches especialmen- existem 1náquinas na YLAN cinza que possa1n ser alcança-
te projetados para reconhecê-las. Para configurar tuna das por 1neio dessas portas.
rede baseada em VLANs, o adn1inistrador da rede decide Em nosso exemplo, o quadro é enviado apenas da
quantas delas haverá, quais computadores estarão e111 qual bridge 81 para a bridge 82 , pois existem 1náquinas na
VLAN e qual será o nome de cada uma. Geralmente, elas VLAN cinza que estão conectadas a 82. Examinando a
são identificadas (informalmente) por cores, pois assim é VLAN branca, podemos ver que a porta da B2 que se co-
possível i1npri1nir diagramas de cores que mostram o layout necta à 81 não está rotulada com W. Isso significa que um
físico das 1náquinas, com os membros da LAN vennelha quadro na VLAN branca não será encaminhado da 82 para

Estação cinza - -1 Porta cinza Hub 1----l

e branca
G G G w w
Porta cinza~ /
GW G
81 82

Bridge~G G G G w w
~Porta branca

Figura 4.39 Duas VLANs, cinza e branca, em uma LAN com bridge.
224 Redes de computadores

a B1. Esse con1portamento é correto, pois nenhu1na estação Quanto a descartar todas as placas Ethernet existentes,
na VLAN branca está conectada à Bl. a resposta é não. Lembre-se de que o con1itê 802.3 não po-
deria nem mesmo fazer as pessoas transformarem o campo
O padrão IEEE 802.10 Tipo em um campo Ta1nanho. Você pode i1naginar a reação
ao anúncio de que todas as placas Ethernet existentes te-
Para implementar esse esquema, as bridges precisam sa- riam de ser jogadas fora. Contudo, as novas placas Ethernet
ber a qual VLAN pertence um quadro que chega. Sem essa são compatíveis com o 802.1 Q e podem preencher correta-
informação, por exemplo, quando a bridge B2 receber um mente os campos VLAN.
quadro da bridge B 1, na Figura 4.39, ela não sabe se enca- Como pode haver co1nputadores (e switches) que não
minha o quadro na VLAN cinza ou branca. Se estivésse- reconhece1n a VLAN, a primeira bridge que a reconhece
mos criando u1n novo tipo de LAN, seria muito fácil apenas e toca em um quadro acrescenta os can1pos de VLAN e a
acrescentar um campo VLAN no cabeçalho. Mas o que fa- última no can1inho os remove. Um exemplo de topologia
zer no caso do padrão Ethernet, que é a LAN dominante e mista aparece na Figura 4.40. Nela, os computadores que
que não tem um campo sobressalente que possa ser usado reconhece1n a VLAN geram quadros marcados (ou seja,
con10 identificador da VLAN? 802. I Q) direta1nente, e a co1nutação posterior utiliza essas
O con1itê 802 do IEEE enfrentou esse problen1a em tags. Os sín1bolos so1nbreados são n1áquinas que reconhe-
1995. Depois de 1nuita discussão, ele fez o inconcebível e cem VLANs e os símbolos vazios não as reconhecen1.
mudou o cabeçalho do padrão Ethernet. O novo formato foi Con1 o 802.1Q, os quadros são coloridos dependendo
publicado no padrão 802.lQ do IEEE, emitido em 1998. da porta na qual são recebidos. Para que esse método fun-
O novo formato contém u1na tag de VLAN; va1nos exa1ni- cione, todas as máquinas em uma porta precisam pertencer
ná-lo rapidan1ente. Não surpreende que a n1udança de algo à mesma VLAN, o que reduz a flexibilidade. Por exemplo,
tão bem estabelecido quanto o cabeçalho Ethernet não seja na Figura 4.40, essa propriedade é 1nantida para todas as
inteiramente trivial. Algumas questões que surgem são: portas nas quais um con1putador individual se conecta a
1. Precisaremos jogar fora várias centenas de milhões de uma bridge, mas não para a porta na qual o hub se conecta
placas Ethernet existentes? aB2.
2. Se não, quen1 gerará os novos campos? Além disso, a bridge pode usar o protocolo da cama-
da mais alta para selecionar a cor. Desse modo, os quadros
3. O que acontecerá co1n os quadros que já tê1n o tama-
que chegam a uma porta podem ser colocados em VLANs
nho 1náxin10?
diferentes, dependendo se elas transportan1 pacotes IP ou
É claro que o comitê 802 estava (ainda que de forma 1nuito quadros PPP.
dolorosa) consciente desses problen1as e teve de apresentar Outros 1nétodos são viáveis, mas não são admitidos
soluções, o que realmente fez. pelo 802.1 Q. Co1no exemplo, o endereço MAC pode ser
A chave para a solução é perceber que os campos usado para selecionar a cor da VLAN. Isso poderia ser útil
VLAN só são realmente usados pelas bridges e switches, para quadros chegando de urna LAN 802. 11 próxi1na, em
e não pelas máquinas dos usuários. Desse 1nodo, na Figura que notebooks enviam quadros por portas diferentes en-
4.39, não é realmente essencial que eles estejam presentes quanto se movem. Um endereço MAC seria, então, mapea-
nas linhas que saem para as estações finais, desde que este- do a uma VLAN fixa, independentemente da porta e1n que
ja1n na linha entre as bridges. Portanto, para usar VLANs, ele entrou na LAN.
as bridges tên1 de reconhecer a VLAN. Esse fato ton1a o Quanto ao problema de quadros 1naiores que 1.518 bytes,
projeto viável. o 802. 1Q simplesmente aumentou o limite para 1.522 bytes.

> Quadro
1
> ~ antigo
> 83 >
/
Quadro
81 82 85
marcado
>

>
---
84
/
"'
Host e bridge que
reconhecem VLAN
86 Bridge
e host
...--- antigos

Figura 4.40 LAN com bridge, parcialmente consciente da VLAN . Os sombreados são máquinas que reconhecem VLANs e os
vazios não as reconhecem .
Capítulo 4 • A subcamada de controle de acesso ao meio 225

Felizmente, apenas computadores e switches que reconhecem Con10 já dissemos, quando u1n quadro 1narcado chega
a YLAN precisam dar suporte a eles. a un1 switch que reconhece VLANs, o switch utiliza a ID
Agora, van1os exa1ninar o formato de quadro 802.1 Q. da VLAN como um índice em u1na tabela para descobrir
Ele está representado na Figura 4.41. A única n1udança é o por 111eio de que portas deve enviar o quadro. Contudo, de
acréscimo de u1n par de campos de 2 bytes. O primeiro é onde ve1n a tabela? Se ela for construída 111anualmente, vol-
o ca1npo !D de J>rotocolo de VLAN, que se1npre tem o valor taremos à estaca zero: a configuração n1anual de bridges.
Ox8100. Como esse número é 1naior que 1.500, todas as A beleza da ponte transparente é o fato de ela ser plug-and-
placas Ethernet o interpretam como u1n tipo, e não co1no -play e não exigir qualquer configuração manual. Seria uma
um tamanho. O que uma placa antiga faz co1n un1 quadro vergonha ten·ível perder essa propriedade. Feliz1nente, as
desse tipo é discutível, pois tais quadros não deveria1n ser bridges que reconhecem VLANs ta1nbém podem se auto-
enviados a placas antigas. configurar com base na observação das tags que passam
O segundo ca1npo de 2 bytes contén1 três subca1npos. por elas. Se um quadro marcado como VLAN 4 chegar à
O principal é o Identificador de VLAN, que ocupa os 12 bits porta 3, então aparentemente alguma máquina na porta 3
de baixa ordem. É isso que interessa - a cor da VLAN à está na YLAN 4. O padrão 802.1 Q explica co1no construir
qual o quadro pertence. O ca1npo de 3 bits Prioridade não as tabelas dinamicamente, em grande parte por meio de re-
ten1 nenhun1a relação con1 YLANs, mas, co1no a nludan- ferências a partes apropriadas do padrão 802. l D.
ça no cabeçalho Ethernet é um evento que acontece uma Antes de encerrannos o assunto de rotean1ento de
vez a cada década, de111ora três anos e envolve uma centena YLANs, vale a pena fazer uma última observação. Mui-
de pessoas, por que não incluir alguns outros benefícios? tas pessoas no universo da Internet e das redes Ethernet
defenden1, de fonna enfática, a interligação de redes não
Esse campo torna possível distinguir o tráfego e111 te111po
real pern1anente do tráfego em ten1po real provisório e do orientadas a conexões e se opõe1n violentamente a qual-
quer sinal de conexões na camada de enlace de dados ou na
tráfego não relacionado ao te1npo, a fi111 de fornecer 111elhor
camada de rede. Ainda assim, as YLANs introduzem algo
qualidade de serviço nas redes Ethernet. Ele é necessário
surpreendentemente se1nelhante a u1na conexão. Para usar
para voz sobre a Ethernet (embora o IP tivesse um campo
as YLANs de forma apropriada, cada quadro transporta um
se1nelhante durante um quarto de século se1n que ninguém
novo identificador especial que é usado como um índice
ja111ais o tenha usado).
para uma tabela interna do switch, a fi.m de procurar o local
O último ca111po, o indicador de fom1ato canônico, ou
para onde o quadro deve ser enviado. É isso mesmo que
CFI (Canonical Forniat Indicator), deveria ter sido chan1a- acootece nas redes orientadas a cooexões. Nas redes não
do indicador de ego corporativo, ou CEI (Co1porate Ego orientadas a conexões, deve-se utilizar o endereço de des-
lndicator). Originahnente, ele foi criado para indicar en- tino para roteamento e não alguma espécie de identificador
dereços MAC little-endian versus endereços MAC big-en- de conexão. Veremos mais detalhes sobre essa rejeição às
dian, 111as esse uso se perdeu e111 outras controvérsias. Sua conexões no Capítulo 5.
presença agora indica que a carga útil conté111 um quadro
802.5 congelado que está esperando encontrar ouh.·a LAN
802.5 no destino, enquanto é transpo1tado por uma rede
Ethernet nesse meio-tempo. É claro que toda essa organiza- 4.8 RESUMO
ção não tem nenhuma relação com as VLANs. No entanto,
a política do con1itê de padrões não é diferente da política Algun1as redes administram todo o fluxo de comunicações
con1um: se você votar a favor do 111eu bit, eu votarei a favor por ineio de um único canal. Nessas redes, a grande ques-
do seu - un1a negociação mais sofisticada que uma barga- tão é a alocação desse canal entre as estações que desejam
nha comum. utilizá-lo. FDM e TDM são esque1nas de alocação si1nples

Endereço Endereço Tama- " Check-


802.3 Dados Preenchimento
de destino de origem nho ..,. sum

..
,,
Endereço Endereço Tama- Check-
802.10 Tag Dados Preenchimento
de destino de origem nho sum
,

,,, ------ ..
-,,

--. . -- -- -
e ldent1f1cador
ID de protocolo Pri F
1 de VLAN
de VLAN (Ox8100)

Figura 4.41 Os formatos de quadros Ethernet 802.3 (antigo) e 802.1 Q.


226 Redes de computadores

e eficientes quando o número de estações é pequeno e fixo, canal em u1n cabo amarelo do tamanho de uma mangueira
e o tráfego é contínuo. Ambos são an1plamente utilizados de jardim, esticado de uma 1náquina para outra. A arquite-
nessas circunstâncias, como para dividir a largura de banda tura mudou quando as velocidades passaram de l O Mbps
nos enlaces usados co1no troncos telefônicos. No entanto, para 1O Gbps, e continuam subindo. Agora, enlaces pon-
quando o número de estações é grande e variável, ou quan- to a ponto, con10 o par trançado, são conectados a hubs e
do o tráfego ocorre em rajadas - o caso comum nas redes de switches. Co1n os switches modernos e enlaces full-duplex,
computadores - FDM e TDM não são boas opções. não existe disputa nos enlaces e o switch pode encan1inhar
Foram criados diversos algorihnos dinâtnicos de alo- os quadros em paralelo entre diferentes portas.
cação de canal. O protocolo ALOHA, com e sem segmen- Com prédios repletos de LANs, é preciso que haja
tação (o ALOHA original ou o slotted ALOHA), é usado un1a 1naneira de interconectar todas elas. As bridges plug-
e1n muitas derivações nos sistemas reais, por exemplo, nas -and-play são usadas para essa finalidade, sendo construí-
redes DOCSIS. Como uma melhoria quando o estado do das co1n um algoritmo de aprendizado e um algoritmo
canal pode ser detectado, as estações podem evitar iniciar spanning tree. Como essa funcionalidade está e1nbutida
uma transmissão enquanto outra estação está transmitindo. nos switcbes 1nodernos, os termos " bridge" e "switcb" são
Essa técnica, a detecção de portadora, levou a uma série de usados para indicar a mesma coisa. Para ajudar no geren-
protocolos CSMA para LANs e MANs. Essa é a base para a ciamento de LANs com bridges, as VLANs pennitem que a
Ethernet clássica e para as redes 802.11. topologia física seja dividida e1n diferentes topologias lógi-
Uma classe de protocolos que elinlina por completo a cas. O padrão de VLAN, o IEEE 802.1 Q, introduz um novo
disputa, ou pelo menos a reduz consideravelmente, é bas- fonnato de quadros Ethernet.
tante conhecida há anos. O protocolo bit-map, topologias
em anéis e a contagem regressiva binária eliminam total-
mente a disputa. O protocolo tree-walk reduz a disputa di-
vidindo de forma dinâmica as estações em dois grupos com
PROBLEMAS
tamanhos diferentes, e pennitindo a disputa apenas dentro 1. Para resolver este problema, use uma fónnula deste capítu-
de um grupo; o ideal é que esse grupo seja escolhido de lo, mas prin1eiro a enuncie. Os quadros chegan1 aleatoria-
tal forma que apenas uma estação que esteja pronta para 1nente a uni canal de 100 Mbps para transmissão. Se estiver
transmitir tenha permissão para fazê-lo. As versões moder- ocupado quando um quadro chegar, o canal aguardará sua
nas dos protocolos MAC, incluindo DOCSIS e Bluetooth, vez em u1na fila. O comprimento do quadro está distribuído
tomam medidas explícitas para evitar a disputa, atribuindo exponencialmente com u1na média de l 0.000 bits/quadro.
intervalos de transmissão aos transmissores. Para cada uma das taxas de chegada de quadros a seguir,
As LANs se1n fio têm os problemas adicionais de detern1ine o atraso 1nédio experi1nentado pelo quadro, in-
cluindo tanto o tempo de enfileira111ento quanto o tempo de
dificuldade em detectar as transmissões que colidem, e
transn1issão.
as regiões de cobertura das estações poden1 ser diferen-
(a) 90 quadros/s.
tes. Na LAN se1n fio dominante, IEEE 802.1 1, as estações
usam CSMA/CA para aliviar o problema de deixar peque- (b) 900 quadros/s.
nas lacunas para impedir colisões. As estações tan1bé1n (c) 9.000 quadros/s.
podem usar o protocolo RTS/CTS para combater terminais 2. Um grupo de N estações compartilha um canal ALOHA ori-
ocultos que surgem em decorrência do segundo proble1na, ginal de 56 kbps. Cada estação transmite em 1nédia u1n qua-
dro de 1.000 bits a cada 100 s, mes1no que o anterior ainda
embora o overhead do RTS/CTS seja muito alto na prática,
não tenha sido enviado (as estações podem, por exemplo,
devido ao problema do terminal exposto, que quase nunca é armazenar os quadros enviados em uin buffer). Qual é o
usado, especialmente em ambientes densos. valor 1náx i1no de N?
E1n contrapartida, muitos clientes agora utilizam me- 3. Dez mil estações de reserva de uma co1npanhia aérea estão
can is1nos para realizar a seleção de canal a fi1n de evitar competindo pelo uso de u1n único canal slotted ALOHA.
disputa. O TEEE 802.1 1 nonnalmente é usado para conectar E111 média, a estação faz l8 solicitações/hora. Um slot ocu-
notebooks e outros dispositivos a PAs wireless, mas tam- pa 125 µs. Qual é a carga total aproximada do canal?
bém pode ser usado entre dispositivos. Qualquer uma das 4. As 1nediçôes de u111 ca11al slotted ALOHA co111 u1u nú1ne-
várias carnadas fisicas pode ser usada, incluindo o FDM ro infinito de usuários mostram que l 0% dos slots estão
multicanal com e se1n várias antenas, e o espectro de dis- OCIOSOS.
persão. As versões modernas do 802. 11 incluem recursos (a) Qual é a carga do canal, G?
de segurança na camada de enlace, incluindo o suporte para (b) Qual é o throughput?
autenticação, be1n con10 a codificação avançada para dar (c) O canal está subcarregado ou sobrecarregado?
suporte à transmissão MIMO. 5. A Figura 4.4 ilustra que o throughput máximo varia do
A Ethernet é a forma dominante de LAN com fio. ALOHA original (mais baixo) até o CSMA 0,01 -persis-
A Ethernet clássica usava CSMA/CD para alocação de tente (mais alto). Para alcançar o throughpul máximo, um
Capítulo 4 • A subcamada de controle de acesso ao meio 227

protocolo precisa fazer algumas escoU1as, por exemplo, dar 17. Uma LAN CSMA/CD de 10 Mbps (não 802.3), com
suporte ao hardware extra ou aumentar o tempo de espe- 1 kln de extensão, te1n u1na velocidade de propagação de
ra. Para os protocolos representados nessa figura, explique 200 miµs. Não são permitidos repetidores nesse sistema.
qual escolha cada protocolo faz para alcançar o throughput Os quadros de dados têm 256 bits, incluindo 32 bits de ca-
mais alto. beçalho, checksun1 e outras fonnas de overbead. O primei-
6. Qual é o tamanho de um slot de disputa ern CSMNCD ro slot de bits depois de u1na transmissão be1n-sucedida é
para (a) u1n cabo twin de 2 km (a velocidade de propaga- reservado para o receptor capturar o canal com o objetivo
ção do sinal é 82% da velocidade de propagação do sinal de enviar um quadro de confinnaçào de 32 bits. Qual será
no vácuo)? E (b) urn cabo de fibra óptica multimodo de a taxa de dados efetiva, excluindo o overhead, se partinnos
40 kn1 (a velocidade de propagação é 65o/o da velocidade de do princípio de que não há colisões?
propagação do si.nal no vácuo)? 18. Considere a montagem de unia rede CSMA/CD operando a
7. Quanto tempo uma estação s terá de esperar, na pior das 1 Gbps por um cabo de 1 km sem repetidores. A velocidade
hipóteses, antes de poder começar a transmitir seu quadro do sinal no cabo é de 200.000 kln/s. Qual é o tamanho mí-
sobre urna LAN que use o protocolo bit-map básico? 11in10 do quadro?
8. No protocolo de contagen1 regressiva binária, explique 19. Um pacote IP a ser transmitido por uma rede Ethernet tem
con10 urna estação com núrnero mais baixo pode ser impe- 60 bytes de cornprimento, incluindo todos os seus cabeça-
dida de enviar um pacote. lhos. Se o LLC não estiver e1n uso, será necessário utilizar
9. Veja a Figura 4.1 O. Suponha que as estações saibam que preenchirnento no quadro Ethernet? Em caso afinnativo, de
existem quatro estações prontas: B, D, G e H. Corno o pro- quantos bytes?
tocolo adaptativo tree-walk atravessa a árvore para pennitir 20. Os quadros Ethernet devem ter pelo menos 64 bytes para
que todas as quatro estações envien1 seu quadro? Quantas garantir que o transmissor ainda esteja ativo na eventua-
colisões adicionais acontecem se a busca começar da raiz? lidade de ocorrer uma colisão na extrernidade remota do
10. U111 grupo de arnigos se reúne para jogar videoga111es inte- cabo. O tamanho rnínirno do quadro nas redes Fast Ethernet
rativos co1n alto uso de CPU e rede. Os a1nigos jogam jun- também é de 64 bytes, mas é capaz de transportar o mesmo
tos usando uma rede sen1 fio de alta largura de banda. O si- nú1nero de bits con1 uma velocidade dez vezes maior. Como
nal sern fio não pode se propagar através das paredes, mas é possível manter o mesmo tamanho mínimo de quadro?
os amigos estão todos na rnesrna sala. En1 tal configuração, 21. A especificação 1OOOBase-SX afirma que o clock deverá
seria melhor usar o CSMA não persistente ou o protocolo operar a 1250 MHz, embora a gigabit Ethernet só deva ofe-
token ring? Por favor, explique sua resposta. recer uma taxa de dados máxima de 1 Gbps. Essa velocida-
11. Urna coleção de 2" estações usa o protocolo adaptativo de 111ais alta serve para oferecer uma margern de segurança
tree-walk para arbitrar o acesso a um cabo compartilhado. extra? Se não, o que acontece nesse caso?
E1n determinado instante, duas delas se apronta1n. Qual é o 22. Quantos quadros por segundo a gigabit Ethernet pode ma-
núu1ero núnimo, rnáximo e 111édio de slots para percorTer a nipular? Pense cuidadosamente e leve e111 conta todos os
árvore se 2" >> 1? casos relevantes. Dica: o fato de ela ser uma gigabit Ether-
12. As LANs sem fio que estuda111os usavam protocolos como net é importante.
CSMA/CA e RTS/CTS no lugar de CSMNCD. Sob quais 23. Identifique duas redes que pennitam que os quadros sejam
condições, se houver algurna, seria possível usar CSMA/CD reunidos em sequência. Por que é importante haver essa
e111 seu lugar? característica?
13. Seis estações, de A até F, se comunicarn usando o proto- 24. Na Figura 4.27 são 1nostradas quatro estações, A, B, C e
colo MACA. Seria possível duas transmissões ocorrerem D. Qual das duas últimas estações você acha que está nlais
simultaneamente? Explique sua resposta. próxima de A, e por quê?
14. Um prédio cornercial de sete andares tern 15 escritórios 25. Dê um exemplo para mostrar que o RTC/CTS no protocolo
adjacentes por andar. Cada escritório contém unia tomada 802.11 é u1n pouco diferente daquele do protocolo MACA.
(un1 soquete) para urn tern1inal na parede frontal. Dessa for- 26. Veja a Figura 4.33(b). Imagine que todas as estações, brid-
rna, as tomadas forn1am uma grade retangular em um plano ges e hubs mostrados na figura seja1n estações sem fio, e
vertical, com uma distância de 4 111 entre as tornadas, tanto que os enlaces indicam que duas estações estão dentro do
na direção horizontal quanto na vertical. Supondo que seja alcance uma da outra. Se B2 estiver transmitindo para D
viável passar um cabo linear entre qualquer par de toma- quando B 1 quiser transmitir para A e f/l quiser transmi-
das, seja na horizontal, na vertical ou na diagonal, quantos tir para F, quais pares de estações são tenninais ocultos ou
metros de cabo seriam necessários para conectar todas as expostos?
tornadas usando:
27. Unia LAN sern fio corn urn PA tem dez estações clientes.
(a) U1na configuração em estrela com um único roteador Quatro delas tên1 taxas de dados de 6 Mbps, quatro têm ta-
no centro? xas de dados de 18 Mbps e as duas últin1as têm taxas de
(b) U1na LAN 802.3 clássica? dados de 54 Mbps. Qual é a taxa de dados experimentada
15. Qual é a taxa baud da rede Ethernet clássica de lO Mbps? por cada estação quando todas as dez estações estão trans-
16. Estn1ture a codificação Manchester em unia Ethernet clássi- 1nitindo dados juntas e
ca para o f1uxo de bits 0001110101 . (a) TXOP não é usada?
228 Redes de computadores

(b) TXOP é usada? (b) F trans1nite um quadro para A.


28. Suponha que uma LAN 802.11 b de 11 Mbps esteja trans- (c) A transmite u1n quadro para 8 .
1nitindo quadros de 64 bytes em sequência por utn canal de (d) G trans1nite um quadro para E.
rádio co1n u1na taxa de erros de bits igual a 10-1 • Quantos (e) D trans1nite un1 quadro para e.
quadros por segundo serão danificados en1 1nédia? (f) C transmite um quadro para A.
29. Dois dispositivos conectados à mesma rede 802. 11 estão Suponha que cada quadro seja transmitido após o quadro
baixando um arquivo grande da Internet. Explique co1no anterior ter sido recebido.
u111 dispositivo poderia obter uma taxa de dados 111ais alta
42. Considere a LAN estendida conectada usando as bridges
que o outro (ab)usando u1n 1necanismo do 802.1 1 voltado
Bl e B2 na Figura 4.33(b). Suponha que as tabelas hash nas
para oferecer qualidade de serviço.
duas bridges estejam vazias. Qual destas transmissões de
30. A Figura 4.28 mostra diferentes te1npos de espera na 802.11 dados leva a um broadcast:
para quadros com diferentes prioridades. Essa técnica evita (a) A transnUte Ulll quadro para e.
que o tráfego de alta prioridade, como os quadros transpor-
(b) B trans1nite u1n quadro para E.
tando dados em tempo real, fiquem presos pelo tráfego co-
(c) C transmite um quadro para B.
1nun1. Cite u1na desvantage1n dessa técnica.
(d) G trans1nite um quadro para C.
31. Apresente duas razões pelas quais as redes poderiam usar
u1n código de correção de erros e1n vez de detecção de erros (e) E trans1nite um quadro para F.
e retransmissão. (f) D trans1nüe um quadro para C.
32. Por que soluções como PCF (Point Coordjnation Function) Suponha que cada quadro seja transn1itido após o quadro
são 1nais adequadas para as versões do 802.1 1 que operam anterior ter sido recebido.
em frequências 1nais altas? 43. Considere a LAN estendida conectada usando as bridges
33. U1na desvantagem dos perfis do Bluetooth é que eles au- Bl e B2 na Figura 4.33(b). Suponha que as tabelas hash nas
1nenta111 bastante a coinplexidade do protocolo. Qual é a duas bridges esteja1n vazias. Liste todas as portas en1 que
vantagem desses perfis do ponto de vista das aplicações? um pacote será encan1inhado para a seguinte sequência de
transmissões de dados:
34. f1nagine u1na rede onde as estações se co1nunica1n usando
raios laser, sen1elbante à montagem que aparece na Figura (a) A transmite um quadro para C.
2.1 1. Explique as se111elhanças (e as diferenças) entre essa (b) E trans1nite um quadro para F.
1nontage111 e as redes Ethernet e 802. 11, e ta1nbé111 con10 (c) F transmite um quadro para E.
isso afetaria o projeto dessa camada de enlace de dados e os (d) G trans1nite um quadro para E.
protocolos MAC. (e) D trans1nite um quadro para A.
35. Na Figura 4.30, observamos que um dispositivo Bluetooth (f) 8 trans1nite um quadro para F.
pode estar e1n duas piconets ao 1nesn10 tempo. Existe algu- 44. Veja a Figura 4.36. linagine que uma bridge adicional, BO,
ma razão pela qual um dispositivo não possa ser o mestre esteja conectada às bridges B4 e B5. Desenhe a nova span-
em a1nbas as piconet.s ao mes1no te1npo? ning tree para essa topologia.
36. Qual é o tamanho 1náximo do can1po de dados para um 45. Considere a rede da Figura 4.39. Se uma nláq uina conecta-
quadro Bluetooth de 3 slots na taxa básica? Explique sua da à bridge 81 de repente se tornasse branca, serian1 neces-
reposta. sárias 1nudanças nos rótulos? Neste caso, quais?
37. O Bluetooth admite dois tipos de enlaces entre um mestre 46. Considere u1na LAN Ethernet com sete bridges. A bridge O
e um escravo. Quais são eles e para que é usado cada um? está conectada a 1 e 2. As bridges 3, 4, 5 e 6 estão conecta-
38. Menciona1nos que a eficiência de um quadro de 1 slot com das a a1nbas 1 e 2. Suponha que a 1naioria dos quadros seja
codificação de repetição é de cerca de 13% na taxa de dados endereçada a estações conectadas à bridge 2. Pri111eiro esbo-
básica. Qual será a eficiência se, e1n vez disso, for usado u1n ce a spanning tree construída pelo protocolo Ethernet e, em
quadro de 5 slots com codificação de repetição na taxa de seguida, esboce uma spanning tree alternativa que reduza a
dados básica? latência média do quadro.
39. Os quadros de baliza na variante de espectro de dispersão 47. Considere duas redes Ethernet. Na rede (a), as estações
de salto de frequência do 802.11 contê1n o tempo de parada. estão conectadas a u1n hub por 111eio de cabos full-duplex.
Você acha que os quadros de baliza análogos no Bluetooth Na rede (b), as estações estão conectadas a un1 switch usan-
também contê1n o tempo de parada? Explique sua resposta. do cabos half-duplex. Para cada uma dessas redes, por que
40. Un1 switch projetado para uso con1 Fast Ethernet te111 uma o CSMA/CD (não) é necessário?
placa integrada que pode mover 1OGbps. Na pior das hipó- 48. Os switches store-and-for\vard leva1n vantage1n sobre os
teses, quantos quadros/s ela pode tratar? S\vitches cut-through no que se refere a quadros danifica-
41. Considere a LAN estendida conectada usando as bridges dos. Explique qual é essa vantage1n.
BI e B2 na Figura 4.33(b). Suponha que as tabelas hash nas 49. Mencionamos, na Seção 4.8.3, que algumas bridges po-
duas bridges estejam vazias. Qual será a tabela hash de 82 dem ne1n sequer estar presentes na spanning tree. Mostre
após a seguinte sequência de trans1nissões de dados: um cenário no qual uma bridge pode não estar presente na
(a) B trans1rute u1n quadro para E. spanuing tree.
Capítulo 4 • A subcamada de controle de acesso ao meio 229

50. Para fazer as VLANs funcionare1n, são necessárias tabelas 53. Escreva u1n programa que silnule o co1nporta1nento do
de configuração nas bridges. E se as VLANs da Figura 4.39 protocolo CSMA/CD sobre Ethernet quando existirem N
usarem bubs e1n vez de switches? Os hubs ta1nbém necessi- estações prontas para transmitir enquanto u1n quadro está
ta1n de tabelas de configuração? Por quê? sendo transn1itido. Seu progran1a deve inforn1ar os mo-
1nentos em que cada estação inicia com êxito a transmis-
51. Na Figura 4.40, o switch no domínio final da tecnologia
são de seu quadro. Suponha que ocorra um pulso de clock
antiga do lado direito é un1 switch que reconhece VLANs.
en1 cada período de slot (51 ,2 µs) e que u1na sequência de
Seria possível usar ali um switch da tecnologia antiga? Nes- detecção de colisão e transmissão de interferência demore
se caso, como isso funcionaria? Se não, por que não? um período de slot. Todos os quadros têm o comprin1ento
52. Capture traços de 1nensagens enviados pelo seu próprio 1náximo permitido.
computador usando o modo prom.íscuo várias vezes por 54. Baixe o programa wireshark em Wlv1v. wireshark.org. Esse é
alguns 1ninutos. Crie um si1nulador para utn único canal um progra1na de código aberto gratuito para 1nonitorar re-
de comunicação e i1nplemente os protocolos CSMA/CD. des e relatar o que está acontecendo lá. Aprenda sobre ele
Avalie a eficiência desses protocolos usando seus próprios assistindo a um dos muitos tutoriais no YouTube. Existem
traços para representar diferentes estações disputando pelo 1nuitas páginas da Web discutindo experimentos que você
canal. Discuta as representações desses traços co1no cargas pode fazer co111 ele. Essa é uma boa maneira de ter tuna
de trabalho da camada de enlace. ideia prática daq uilo que acontece em uma rede.
Esta página foi deixada em branco intencionalmente.
A camada de rede

A ca1nada de rede está relacionada à transferência de paco- 5.1 QUESTÕES DE PROJETO


tes da origem para o destino. Chegar ao destino pode exigir
vários hops (saltos) en1 roteadores intermediários ao longo DA CAMADA DE REDE
do percurso. Essa função contrasta claramente com a fun-
ção da camada de enlace de dados, que tem o objetivo 1nais Nas seções a seguir, apresentaremos informações introdu-
modesto de apenas mover quadros de uma extremidade de tórias sobre algumas das questões co1n as quais os proje-
um "fio" (virtual) para a outra. Portanto, a camada de rede tistas da camada de rede devem se preocupar. Entre elas
é a ca1nada 1nais baixa que lida com a trans1nissão ponto a estão o serviço oferecido à camada de transporte e o projeto
ponto. interno da rede.
Para alcançar seus objetivos, a camada de rede deve
conhecer a topologia da rede (ou seja, o conjunto de to- 5.1.1 Comutação de pacotes
dos os roteadores e enlaces) e escolher os caminhos mais
apropriados que a compõem - isso vale até mesn10 para
store-and-forward
redes grandes. A can1ada de rede também deve ter o cui- Antes de começarmos a explicar os detalhes da camada
dado de escolher rotas que evitem sobrecarregar algumas de rede, vale a pena reaftrmar o contexto em que operam
das linhas de comunicação e roteadores enquanto deixa ou- os protocolos dela. Esse contexto pode ser visto na Figura
tras ociosas. Por fim, quando a origem e o destino estão em 5 .1. Os principais componentes da rede são os equipa1nen-
redes operadas de forma independente, às vezes denomi- tos do ISP (roteadores, switches e dispositivos intermediá-
nados sistemas autônomos, ocorrem novos desafios, como rias conectados por linhas de transmissão), mostrados na
a coordenação dos fluxos de tráfego por várias redes e o elipse sombreada, e os equipamentos dos clientes, mostra-
gerencia1nento da utilização da rede. Esses proble1nas nor- dos fora da elipse. O host HI está direta1nente conectado
malmente são tratados na camada de rede; os operadores a um dos roteadores do ISP, denominado A, talvez como
da rede costumam ser encarregados de lidar co1n esses de- um computador pessoal conectado a utn modem DSL.
safios 1nanualmente. Tradicionahnente, esses profissionais Em contrapartida, H2 está em uma LAN, que poderia ser a
tinham de reconfigurar a camada de rede de forma 1nanual, Ethen1et de um escritório, com u1n roteador, F, pertencen-
por meio da configuração de baixo nível. Contudo, mais re- te e operado pelo cliente. Esse roteador tambén1 te1n uma
cente1nente, o surgimento de redes definidas pelos software linha dedicada para o equipamento do ISP. Mostramos F
e hardware programáveis possibilitou a configuração da ca- fora da elipse porque ele não pertence ao ISP. Entretanto,
mada de rede por nieio de progra1nas de software de nível para os propósitos deste capítulo, os roteadores nas insta-
mais alto, até niesmo para redefinir totahnente suas fun- lações do cliente são considerados parte da rede do ISP,
ções. Neste capítulo, estudaren1os todas essas questões e as porque executa1n os 1nesmos algoritmos que os roteadores
ilustraremos usando principahnente a Internet e o protocolo do ISP (e nossa principal preocupação aqui é o estudo dos
de sua ca1nada de rede, o lP (Internet Protocol). algorihnos).
232 Redes de computadores

Roteador Equipamento do ISP


Processo P1 P2

,,,,_B_;-- - - -.../ D

Host H1 LAN H2

Pacote

Figura 5.1 O ambiente dos protocolos da camada de rede.

Esse equipamento é usado da maneira descrita a se- inerente1nente não confiável, independenternente de co1no
guir. U1n host com urn pacote a enviar o transmite para o tenha sido projetada. Portanto, os hosts devem aceitar esse
roteador mais próximo, seja en1 sua própria LAN, seja so- fato e fazer eles próprios o controle de erros (ou seja, detec-
bre um enlace ponto a ponto para o ISP (p. ex., por u1na li- ção e correção de erros) e o controle de fluxo.
nha ADSL ou urn fio de TV a cabo). O pacote é armazenado Esse ponto de vista leva à conclusão de que o serviço
ali até chegar con1pletan1ente, de fonna que o checksum de rede deve ser não orientado a conexões, praticamente
possa ser conferido. E1n seguida, ele é encaminhado para restrito às primitivas SEND PACKET e RECEIVE PA-
o próxirno roteador ao longo do can1inho, até alcançar o CKET. Em particular, não devem ser feitos ordenação de
host de destino, onde ele é entregue. Esse mecanismo é a pacotes nem controle de fluxo, pois os hosts cuidarão disso
comutação de pacotes store-and-forward, corno vimos ern de qualquer maneira e, en1 geral, não há grande vantagem
capítulos anteriores. em fazer a mesma tarefa duas vezes. Esse raciocínio é um
exemplo do argumento fim a fim , um princípio de proje-
to que tem sido rnuito influente na rnodelagern da Internet
5.1.2 Serviços oferecidos à (Saltzer et ai., 1984). Além disso, cada pacote deve ter o
camada de transporte endereço de destino completo, pois todos são transportados
independentemente de seus predecessores, se for o caso.
A camada de rede oferece serviços à carnada de transporte
O outro lado, representado pelas cornpanhias telefô-
na interface entre elas. Urna questão importante é identi-
nicas, alega que a rede deve fornecer um serviço orienta-
ficar os tipos de serviços que a camada de rede oferece à
do a conexões confiável. Elas afirmam que os 100 anos de
camada de transporte. Os serviços precisam ser cuidadosa-
experiência bem-sucedida com o sisten1a telefônico rnun-
mente planejados tendo ern vista os objetivos a seguir:
dial servem como um excelente guia. De acordo com essa
1. Os serviços devern ser independentes da tecnologia visão, a qualidade de serviço é o fator dominante e, se1n
presente nos roteadores. conexões na rede, é muito dificil alcançar qualidade de ser-
2. A camada de transporte deve ser isolada do número, viço, en1 especial no caso de tráfego ern tempo real, corno
do tipo e da topologia dos roteadores presentes. voz e vídeo.
3. Os endereços de rede que tornam os pacotes disponí- Mesmo depois de várias décadas, essa controvér-
veis para a can1ada de transporte devem usar um plano sia ainda está nluito viva. Antigamente, as redes de dados
muito usadas, como a X.25 na década de 1970 e sua suces-
de nurneração uniforme, n1esmo nas LANs e WANs.
sora, Frame Relay, na década de 1980, era1n orientadas à
Tendo definido esses objetivos, os projetistas da ca- conexão. Contudo, desde os dias da ARPANET e da Inter-
mada de rede têm muita liberdade para escrever especifi- net inicial, as carnadas de rede não orientadas à conexão
cações detalhadas dos serviços a serem oferecidos à can1a- crescerarn muito em popularidade. O protocolo IP agora é
da de transporte. Essa liberdade costuma se transformar um símbolo de sucesso sempre presente. Ele não recuou
em uma violenta batalha entre duas facções. A discussão mesrno diante de uma tecnologia orientada à conexão, cha-
se concentra na seguinte questão: a camada de rede deve n1ada ATM, que foi desenvolvida para aboli-lo na década
fornecer serviço orientado a conexões ou não orientado a de 1980; em vez disso, agora é a ATM que tem seu uso
conexões? em nichos e o IP que está assumindo as redes de telefonia.
Um lado, representado pela comunidade da Internet, Debaixo dos panos, porém, a Internet está evoluindo e re-
alega que a tarefa dos roteadores é rnovimentar pacotes e cursos orientados à conexão, con10 a qualidade de serviço,
nada mais. Na visão dessas pessoas (baseada e1n 40 anos de tomam-se 1nais importantes. Dois exemplos de tecnologias
experiência com uma rede de computadores real), a rede é orientadas a conexões são MPLS (MultiProtocol Label
Capítulo 5 • A camada de rede 233

Switching), que descreveren1os neste capítulo, e VLANs, talvez simplesmente seja outro procedin1ento no sistema
que vimos no Capítulo 4. As duas tecnologias são 1nuito operacional.
utilizadas. Neste exemplo, vamos supor que a mensagem seja
quatro vezes mais longa que o tamanho máximo do pa-
cote e, portanto, que a camada de rede tenha de dividi-la
5.1.3 Implementação do serviço eru quatro pacotes, 1, 2, 3 e 4, e enviar cada um deles ao
não orientado a conexões roteador A usando algum protocolo ponto a ponto, corno o
Depois de anaLisar as duas classes de serviço que a can1a- PPP. Nesse ponto, o ISP assurne o controle. Todo roteador
da de rede pode oferecer a seus usuários, chegou a hora de tem uma tabela interna que informa para onde deve1n ser
vermos como ela funciona por dentro. São possíveis duas enviados os pacotes a serem entregues a cada possível des-
organizações, dependendo do tipo de serviço oferecido. tino. Cada entrada da tabela é un1 par que consiste e1n um
Se for ofertado o serviço não orientado a conexões, os pa- destino e na linha de saída a ser utilizada para esse destino.
cotes serão injetados individualmente na rede e roteados de So1nente podem ser usadas linhas diretamente conectadas.
modo independente uns dos outros. Não será necessária ne- Por exernplo, na Figura 5.2, A tem apenas duas linhas de
nhuma configuração antecipada. Nesse contexto, os pacotes saída - para B e C - e, assim, todo pacote recebido deve ser
frequentemente são chamados de datagramas (em analo- enviado a um desses roteadores, mesmo que o destino seja
gia com os telegramas) e a rede será denominada rede de algum outro roteador. A tabela de roteamento inicial de A é
datagramas. Se for usado o serviço orientado a conexões, mostrada na figura sob o título "inicial".
terá de ser estabelecido un1 ca1ninho desde o roteador de Em A, os pacotes 1, 2 e 3 foram armazenados por
origen1 até o de destino, antes de ser possível enviar quais- algum tempo, tendo chegado ao enlace de entrada, e seus
quer pacotes de dados. Essa conexão é chamada de circuito checksums conferidos. Em seguida, cada um deles foi en-
virtual, em analogia aos circuitos fisicos estabelecidos pelo ca1ninhado para C, de acordo com a tabela de A, dentro de
sisten1a telefônico, e a rede é denon1inada rede de circuitos um novo quadro. O pacote 1 foi então encaminhado para E
virtuais. Nesta seção, examinare1nos as redes de datagra- e depois para F. Chegando a F, ele foi enviado dentro de
mas; na próxima, estudaremos as redes de circuitos virtuais. um quadro para H2 pela LAN. Os pacotes 2 e 3 segue1n a
Vejamos agora como funciona uma rede de datagra- n1es1na rota.
mas. Suponha que o processo PJ da Figura 5.2 tenha uma Entretanto, aconteceu algo diferente com o pacote 4.
mensagem longa para P2. Ele entrega a mensagem à ca- Quando chegou ao roteador A, ele foi enviado para o ro-
mada de transporte, com instruções para que ela seja en- teador B, embora seu destino também fosse F. Por alguma
tregue a P2 do host H2. O código da camada de transporte razão, A decidiu enviar o pacote 4 por uma rota diferente da
é executado ern Hl , em geral dentro do sistema operacio- que foi usada para os três primeiros pacotes. Talvez ele te-
nal. Ele acrescenta um cabeçalho de transporte ao início nha tomado conhecimento de urna obstrução de tráfego etn
da mensagem e entrega o resultado à camada de rede, que algun1 lugar ao longo do caminho ACE e tenha atualizado

Roteador Equipamento do ISP


Processo P1 P2

Host H1 LAN H2

Pacote

Tabela de Tabela de
A (inicial} A (depois) Tabela de C Tabela de E
A - A - A A A e
B B B B B A B D
e e e e e - e e
D B D B D E D D
E e E B E E E -
F e F B F E F F
~~

Destino Linha

Figura 5.2 Roteamento em uma rede de datagramas.


234 Redes de computadores

sua tabela de roteamento, como 111ostran1os na figura sob Co1no exemplo, considere a situação da Figura 5.3.
o título "depois". O algoritmo que gerencia as tabelas e Na figura, o hostHJ estabeleceu a conexão l com H2. Ela é
toma as decisões de roteamento é chamado algoritmo de 1ne1norizada co1no a pri1neira entrada de cada u1na das tabe-
roteamento, um dos principais assuntos que estudaremos las de roteamento. A prilneira linha da tabela de A infonna
neste capítulo. Co1no veremos, existem diferentes tipos de que, se u1n pacote contendo o identificador de conexão 1
algoritmos. chegar de H1, ele será enviado ao roteador C e receberá o
O IP, que é a base para a Inten1et inteira, é um exen1- identificador de conexão 1. De modo sen1elhante, a pri1nei-
plo donúnante de serviço de rede não orientado a conexões. ra entrada e1n C faz o rotea1nento do pacote para E, também
Cada pacote transporta u1n endereço IP de destino que os com o identificador de conexão 1.
roteadores utilizam para encaminhar cada pacote indivi- Agora, veja1nos o que acontece se f /3 tan1bém quiser
dualmente. Os endereços tê1n 32 bits nos pacotes 1Pv4 e estabelecer utna conexão com H2. Ele escolhe o identifica-
128 bits nos pacotes IPv6. Van1os descrever o IP com muito dor de conexão 1 (porque está iniciando a conexão, e essa
mais detalhes mais adiante neste capítulo. é sua única conexão) e infonna à rede que ela deve esta-
belecer o circuito virtual. Isso conduz à segunda linha nas
tabelas. Observe que, nesse caso, ten1os um conflito, pois,
5.1.4 Implementação do serviço embora A possa distinguir faci lmente os pacotes da cone-
orientado a conexões xão 1 provenientes de H I dos pacotes da conexão 1 que
No caso do serviço orientado a conexões, precisamos de vêm def/3, C não te1n con10 fazer o 1nesn10. Por essa razão,
uma rede de circuitos virtuais. Veja1nos como ela funcio - A atribui u1n identificador de conexão diferente ao tráfego
na. A ideia que rege os circuitos virtuais é evitar a necessi- de saída correspondente à segunda conexão. Evitar confli-
dade de escolher uma nova rota para cada pacote enviado, tos desse tipo é a razão pela qual os roteadores precisam ter
como na Figura 5.2. Em vez disso, quando u1na conexão é a capacidade de substituir identificadores de conexões para
estabelecida, escolhe-se u1na rota desde a n1áquina de ori- os pacotes de saída.
gen1 até a 1náquina de destino, co1no parte da configuração Um exe1nplo de serviço de rede orientado a conexões
da conexão, e essa rota é annazenada em tabelas internas é o MPLS. Ele é usado dentro das redes do TSP na lnternet,
dos roteadores. Ela é usada por todo o tráfego que flui pela co1n os pacotes IP inseridos em um cabeçalho MPLS com
conexão, exatamente como ocorre no sistema telefônico. um identificador ou rótulo de conexão de 20 bits. O MPLS
Quando a conexão é liberada, o circuito virtual ta1nbém é normalmente fica oculto aos clientes, com o ISP estabele-
encen·ado. Co1n o serviço orientado a conexões, cada paco- cendo conexões a longas distâncias para grandes volumes
te transporta um identificador, informando a qual circuito de tráfego, 1nas ele está sendo cada vez 1nais utilizado para
virtual ele pertence. ajudar na qualidade do serviço e também em outras tarefas

P3

Roteador Equipamento do ISP


P2

B J------1

Processo P1
A E

LAN H2

Pacote

Host H1
Tabela deA Tabela de C Tabela de E
fH1i1l íCT1l íAT11 IET11 íCT11 IFT11
[filIJJ ~ ~ITID ~CIITI
Entrada Saída

Figura 5.3 Roteamento em uma rede de circuitos virtuais.


Capítulo 5 • A camada de rede 235

de gerenciamento do tráfego do ISP. Veremos mais a res- Outra questão é a quantidade de espaço exigido en1
peito do MPLS e1n outro ponto deste capítulo. tabelas na memória do roteador. Uma rede de datagramas
precisa ter uma entrada para cada destino possível, enquan-
to uma rede de circuitos vi1tuais só precisa de tuna entrada
5.1.5 Comparação entre redes de para cada circuito virtual. No entanto, essa vantagen1 é u1n
circuitos virtuais e de datagramas pouco ilusória, pois pacotes de configuração de conexões
também têm de ser roteados e, da mesma forma que os da-
Tanto os circuitos virtuais como os datagramas têm seus fãs e tagramas, eles usam endereços de destino.
seus detratores. Agora, vamos tentar reslunir os argumentos Os circuitos virtuais têm algun1as vantagens na ga-
de an1bos os lados. As principais questões estão listadas na rantia da qualidade de serviço e ao evitar o congestiona-
Figura 5.4, ainda que os puristas provavelmente encontrem mento dentro da rede, pois os recursos (p. ex., buffers,
um exemplo contrário para tudo o que está disposto nela. largura de banda e ciclos de CPU) podem ser reservados
Dentro da rede, existem vários dile1nas entre circuitos antecipadamente, quando a conexão é estabelecida. Quan-
virtuais e datagramas. U1n deles é o co1npro1nisso entre o do os pacotes começare1n a chegar, a largura de banda e
tempo de configuração e o tempo de análise do endereço. a capacidade do roteador necessárias já estarão instala-
O uso de circuitos virtuais exige uma fase de configuração, das. Com uma rede de datagramas, é mais dificil evitar o
que leva te1npo e conso1ne recursos. Contudo, quando esse congestionamento.
preço é pago, é fácil descobrir o que fazer com um paco- No caso de siste1nas de processamento de transações
te de dados etn uma rede de circuitos virtuais: o roteador (p. ex., lojas que utiliza1n o telefone para verificar co1npras
simplesmente usa o número do circuito para indexar sua com cartões de crédito), o overhead necessário para confi-
tabela e descobrir para onde vai o pacote. Em uma rede de gurar e limpar u1n circuito virtual pode reduzir facilmente
datagramas, nenhu1na configuração é necessária, mas é pre- o uso do circuito. Caso se espere que a maior parte do trá-
ciso um procedimento de pesquisa mais complicado para fego seja desse tipo, o uso de circuitos vi1tuais esporádicos
mapear o endereço de destino. dentro da rede fará pouco sentido. Contudo, para usos de
Uma questão relacionada é que os endereços de des- longa duração, como o tráfego YPN entre dois escritórios
tino usados nas redes de datagrruna são maiores que os nú- corporativos, os circuitos virtuais permanentes (configura-
meros de circuito usados nas redes de circuito virtual, pois dos 1nanuahnente e que dura1n 1neses ou anos) talvez sejam
eles têm um significado global. Se os pacotes tenderem a úteis nessa situação.
ser muito pequenos, incluir um endereço de destino com- Os circuitos virtuais ta1nbém têm u1n proble1na de vul-
pleto em cada pacote poderá representar u1n vo lume sig- nerabilidade. Se um roteador apresentar u1na falha e perder
nificativo de overbead e, portanto, haverá desperdício de sua capacidade de memória, mes1no que volte um segundo
largura de banda. depois, todos os circuitos virtuais que estivere1n passando

Questão Rede de datagramas Rede de circuitos virtuais


Configuração de Desnecessária Obrigatória
circuitos
Endereçamento Cada pacote contém os endereços Cada pacote contém um pequeno número do
completos de origem e de destino circuito virtual
Informações sobre Os roteadores não armazenam Cada circuito virtual requer espaço em tabelas de
o estado informações sobre o estado das conexões roteadores por conexão
Roteamento Cada pacote é roteado A rota é escolhida quando o circuito virtual é
independentemente estabelecido e todos os pacotes a seguem
Efeito de falhas no Nenhum, com exceção dos pacotes Todos os circuitos virtuais que tiverem passado
roteador perdidos durante a falha pelo roteador que apresentou o defeito serão
encerrados
Qualidade de Difícil Fácil, se for possível alocar recursos suficientes
serviço com antecedência para cada circuito virtual
Controle de Difícil Fácil, se for possível alocar recursos suficientes
congestionamento com antecedência para cada circuito virtual

Figura 5.4 Comparação entre redes de circuitos virtuais e de datagramas.


236 Redes de computadores

por ele terão de ser interrompidos. Em contrapartida, se um são estabelecidas, certas prop1iedades são desejáveis en1 um
roteador de datagra1nas ficar fora do ar, somente serão afe- algoritmo de roteamento: exatidão, simplicidade, robustez,
tados os usuários cujos pacotes estivere1n enfileirados no estabilidade, equidade e eficiência. Os itens exatidão e si1n-
roteador naquele mo1nento (e talvez nem todos eles, pois plicidade são autoexplicativos, 1nas, a princípio, talvez a ne-
o transmissor provavelmente os retransmitirá em breve). cessidade de robustez seja menos óbvia. Uma vez que uma
A perda de u1na linha de comunicação é fatal para os cir- rede de 1naior porte é instalada, espera-se que ela funcione
cuitos virtuais que a utilizan1, mas pode ser compensada continuamente durante anos sen1 apresentar qualquer falha
com facilidade se forem usados datagramas. Estes também no siste1na. Durante esse período, haverá todos os tipos de
permite1n que os roteadores equilibrem o tráfego pela rede, falhas de hard"vare e software. Os hosts, os roteadores e as
pois as rotas podem ser parcialn1ente alteradas durante uma linhas falharão repetidan1ente, e a topologia mudará 1nuitas
longa sequência de transmissões de pacotes. vezes. O algoritmo de roteamento deve ser capaz de aceitar
as alterações de topologia e de tráfego se1n exigir que todas
as tarefas de todos os hosts seja1n interrompidas. ln1agine
o problema que haveria se a rede precisasse ser reiniciada
5.2 ALGORITMOS DE ROTEAMENTO sempre que algum roteador apresentasse falha.
EM UMA ÚNICA REDE A estabilidade também é um objetivo importante do
algorittno de roteamento. Existem algoritmos que nunca
A principal função da camada de rede é rotear pacotes da convergen1 para un1 conjunto viável de rotas, independen-
máquina de origem para a máquina de destino. Nesta se- temente do tempo e1n que são executados. Um algoritmo
ção, discuti1nos como a can1ada de rede realiza essa função estável alcança u1n ponto de equilíbrio e permanece nesse
dentro de u1n único domínio administrativo ou sistema au- estado. Ele também deve convergir rapida1nente, pois a co-
tônomo. Na maioria das redes, os pacotes necessitarão de n1unicação pode ser interrompida até que o algorihno de
vários hops para cumprir o trajeto. A única exceção impor- roteamento tenha alcançado u1n ponto de equilíbrio.
tante diz respeito às redes de broadcast, mas mesmo aqui
A equidade e a eficiência podem parecer óbvias, pois
o roteamento depende do fato de a orige1n e o destino não
certamente ninguém faria oposição a elas. No entanto,
estarem no ines1no segmento da rede. Os algorittnos que
como se vê, con1 frequência elas tê1n objetivos conflitantes.
escolhem as rotas e as estruturas de dados que elas utilizam
Como um exemplo simples, observe a Figura 5.5. Suponha
constituem um dos elementos mais importantes do projeto
que o tráfego entre A e A', entre B e B' e entre C e e· seja
da camada de rede.
suficiente para saturar os enlaces horizontais. Para maxi-
O algoritmo de roteamento é a parte do software da
n1izar o fl uxo total, o tráfego de X para X' deve ser desati-
camada de rede responsável pela decisão sobre a linha de
vado por completo. Infelizmente, talvez X e X' não vejam
saída a ser usada na transmissão do pacote de entrada. Se a
rede internamente utilizar datagramas, essa decisão deverá a situação dessa maneira. É evidente que se faz necessário
ser tomada mais uma vez para cada pacote de dados rece- um meio-tern10 entre eficiência global e equidade para as
bido, pois a melhor rota pode ter sido alterada desde a úl- conexões individuais.
tima vez. Se a rede interna1nente utilizar circuitos virtuais, Antes de tentarmos encontrar um meio-termo entre
as decisões de roteamento serão to1nadas so1nente quando equidade e eficiência, devemos decidir o que estamos bus-
um novo circuito virtual estiver sendo estabelecido. Daí em cando otimizar. A minimização do atraso médio do pacote
diante, os pacotes de dados seguirão a rota previamente es- é un1a candidata óbvia, e o 1nesmo vale para a maximiza-
,
tabelecida. As vezes, essa últitna circunstância é cha1nada ção do throughput total da rede. Alén1 disso, esses dois ob-
de roteamento por sessão, pois uma rota permanece em jetivos tan1bém estão e1n conflito, pois operar qualquer sis-
vigor durante toda u1na sessão (p. ex., un1a sessão de login tema de enfileiramento em uma velocidade próxima a sua
em uma rede VPN). capacidade máxima implica um longo atraso de enfileira-
Algumas vezes, é útil fazer distinção entre o rotea- mento. Como meio-tenno, n1uitas redes tenta1n minimizar
mento, que é a tomada de decisão sobre quais rotas utilizar, a distância que um pacote deve percorrer, ou sin1plesmente
e o encaminhamento, que acontece quando um pacote che- reduzir o nún1ero de hops que un1 pacote deve dar. Qual-
ga. Podemos imaginar que um roteador tem dois processos quer uma dessas escolhas tende a melhorar o atraso e a
internamente. Um deles trata cada pacote que chega, pro- reduzir a largura de banda consumida por pacote, o que,
curando a linha de saída que será usada em sua tabela de por sua vez, ta1nbém tende a melhorar o throughput geral
rotea1nento. Esse processo é o encaminhamento. O outro da rede.
processo é responsável pelo preenchimento e pela atualiza- Os algoritmos de roteamento podem ser agrupados
ção das tabelas de roteamento. É nele que o algoritmo de en1 duas classes principais: não adaptativos e adaptativos.
roteamento entra em cena. Os algoritmos não adaptativos não baseiam suas decisões
Mes1no que as rotas seja1n escolhidas independente- de roteamento em medidas ou estimativas do tráfego e
mente para cada pacote ou apenas quando novas conexões da topologia atuais. Em vez disso, a escolha da rota a ser
Capítulo 5 • A camada de rede 237

A B e

X X'

A' B' C'

Figura 5.5 Rede com conflito entre equidade e eficiência.

utilizada para ir de 1 até J (para todo 1 e todo J) é previa- possibilidade de decisões co1n base nos níveis de tráfego
mente calculada off-line, sendo,
transferida para os roteado- para a Seção 5.3.
res quando a rede é iniciada. As vezes esse procedimento é
chamado de roteamento estático. Por não responder be1n a
falhas, o roteamento estático é mais útil para situações em
5.2.1 O princípio de otimização
que a escolha de rotas é óbvia. Por exemplo, o roteador F Antes de estudarmos algoritmos específicos, talvez valha a
na Figura 5.3 deve enviar para o roteador E os pacotes dire- pena lembrar que é possível criar u1na descrição geral das
cionados à rede, independentemente do destino. rotas ideais se1n levar em conta a topologia ou o tráfego de
En1 contraste, os algoritmos adaptativos alteram as rede. Essa descrição é conhecida como princípio de otimi-
decisões de roteamento para refletir mudanças na topolo- zação (Bellrnan, 1957), que estabelece que, se o roteador J
gia e, às vezes, também no tráfego. Esses algoritmos de ro- estiver no ca1ninho ideal entre o roteador l e o roteador K,
teamento dinâmico diferem em termos do lugar em que o caminho ideal de J até K ta1nbém estará na mes1na rota.
obtêm suas informações (p. ex., no local, de roteadores ad- Para confirmar isso, chame a parte da rota entre l e J de r 1
jacentes ou de todos os roteadores), do momento em que e o restante de r 2• Se existisse uma rota 1nelhor que r 2 entre
alteram as rotas (p. ex., quando a topologia muda ou a cada J e K, ela poderia ser concatenada com r 1 para melhorar a
!lT segundos, quando a carga se altera) e da métrica utili- rota entre l e K, contradizendo nossa afirmação de que r 1r 2
zada na otin1ização (p. ex., distância, número de hops ou é ideal.
tempo estimado de tráfego). Como consequência direta do princípio de otimização,
Nas próxin1as seções, trataremos de un1a variedade poden1os observar que o conjunto de rotas ideais de todas
de algoritmos de rotea1nento. Os algoritmos abordam 1no- as origens para detenninado destino fonna uma árvore com
delos de entrega além de ,
transmitir um pacote de un1a ori- raiz no destino. Uma árvore como essa é chamada de árvo-
ge1n para um destino. As vezes o objetivo é enviar o paco- r e de escoamento e está ilustrada na Figura 5.6(b), em que
te para vários, todos ou um entre um conjunto de destinos. a 111étrica de distância é o nún1ero de hops. O objetivo de
Todos os algorit1nos de rotean1ento que descrevemos todos os algoritlnos de roteamento é descobrir e utilizar as
aqui tomam decisões com base na topologia; deixamos a árvores de escoamento em todos os roteadores.

B B

A--
---- e
E E

G J
F

N H N

K K

M o M o
(a) (b)

Figura 5.6 (a) Uma rede. (b) Uma árvore de escoamento para o roteador B.
238 Redes de computadores

Observe que uma árvore de escoan1ento não é neces- 5.2.2 Roteamento pelo caminho mais curto
saria1nente exclusiva; pode haver outras árvores con1 os
mesmos ta1nanhos de caminho. Se permitirmos que todos Iniciaremos nosso estudo prático de algoritmos de rotea-
os ca1ninhos possíveis seja1n escolhidos, a árvore se toma mento com uma técnica sünples para calcular os caminhos
u1na estrutura mais geral chamada DAG (Directed AcycUc ideais a partir de uma image1n con1pleta da rede. Esses
Graph). Os DAGs não possuem loops. Usaremos árvores caminhos são aqueles que querernos que um algoritmo de
roteamento distribuído encontre, embora nem todos os ro-
de escoamento co1no uma abreviação conveniente para
teadores possam conhecer todos os detalhes da rede.
esses dois casos. Ambos os casos também dependem da
A ideia é criar u1n grafo da rede, con1 cada nó repre-
suposição técnica de que os caminhos não interferen1 uns
sentando um roteador e cada arco indicando un1a linha de
nos outros. Assi1n, por exen1plo, u1n engarrafan1ento no
comunicação, ou enlace. Para escolher uma rota entre de-
trânsito em um caminho não causará o desvio para outro
terminado par de roteadores, o algoritmo simplesmente en-
caminho.
contra o caminho tnais curto entre eles.
Como u1na árvore de escoa1nento é de fato uma árvore, O conceito de caminho mais curto merece uma ex-
ela não contém loops; portanto, cada pacote será entregue plicação. Un1a fonna de 1nedir o comprimento do caminho
dentro de um nú1nero finito e li1nitado de hops. Na prática, é usar o nú1nero de hops. Empregando-se essa métrica, os
nem tudo é tão fácil assim. Enlaces e roteadores podem sair caminhos ABC e ABE da Figura 5.7 são igualmente longos.
do ar e voltar à atividade durante a operação; desse n1odo, Outra rnétrica é a distância geográfica em quilômetros e,
diferentes roteadores podem ter estimativas distintas sobre nesse caso, ABC é claramente muito 1nais longo que ABE
a topologia atual. Alé1n disso, empregamos alguns artificios (supondo-se que a figura tenha sido desenhada e1n escala).
para resolver a seguinte questão: cada roteador deve obter Entretanto, muitas outras n1étricas também são pos-
individualmente as infonnações sobre a base de cálculo de síveis além do número de hops e da distância tisica. Por
sua árvore de escoamento ou esses dados serão obtidos por exemplo, cada arco poderia ser identificado com o atraso
algu1n outro n1eio? Retornare1nos a essa questão em breve. médio de enfileiramento e de transmissão referente a um
Contudo, o princípio de otimização e a árvore de escoa- pacote de teste padrão, de acordo com as especificações de
mento permitem que se faça um teste de bencbmark para testes executados a cada hora. Na representação deste gra-
detectar que outros algoritmos de rotea1nento pode1n ser fo, o caminho mais curto é o caminho mais rápido, e não o
medidos. caminho com menor número de arcos ou quilômetros.

B 7 e B (2, A) e (oo, -)
2 3
2
E 2 F
3
E (oo, -)
D A D (oo, -)
1 2
4 2

G H G (6, A) H (oo, -)
(a) (b)

B (2, A) C (9, B) B (2, A) C (9, B)

E (4, B) E (4, B)
A - - ---a F (oo, -) D (oo, -) D (oo,1)

G (6, A) H (oo, -) G (5, E) H (oo, -)


(c) (d)

B (2, A) C (9, B) B (2, A) C (9, B)

E (4, B)""' E (4, B)


A D (oo, -) D (oo, -)

G (5, E) H (9, G) G (5, E) / H (8, F)


(e) (f)

Figura 5.7 As seis primeiras etapas utilizadas no cálculo do caminho mais curto de A até D. As setas indicam o nó ativo.
Capítulo 5 • A camada de rede 239

No caso geral, os rótulos dos arcos poden1 ser calcula- ton1ará o nó ativo na próxima iteração. A Figura 5.7 mostra
dos como uma função da distância, da largura de banda, do as seis primeiras etapas do algoritmo.
tráfego n1édio, do custo de co1nunicação, do atraso medido Para saber por que o algorit1no funciona, observe a
e de outros fatores. Alterando-se a função de ponderação Figura 5.7(c). Nesse n1omento, ton1amos E pennanente.
(atribuição de pesos), o algoritmo então calcularia o cami- Suponha a existência de um ca1ninho mais curto que ABE,
nho "mais curto" medido de acordo com qualquer critério digamos, AXYZE (para algum X e Y). Há duas possibilida-
ou como uma combinação de critérios. des: ou o nó Z já se tomou permanente ou não. Se ele já se
São conhecidos diversos algoritmos para calcular o tornou permanente, então E já foi testado (na iteração que
caminho mais curto entre dois nós de um grafo. O algorit- se segue àquela em que Z se tomou permanente); assim, o
mo que vamos examinar agora se deve a Dijkstra (1959) e caminho AXYZE não escapou à nossa atenção e, portanto,
encontra os caminhos mais curtos entre u1na orige1n e todos não pode ser u1n caminho mais curto.
os destinos na rede. Cada nó é identificado (entre parên- Agora, leve em conta a hipótese de Z ainda ter um ró-
teses) por sua distância a partir do nó de origetn ao longo tulo provisório. Se o rótulo em Z for maior ou igual ao de
do melhor caminho conhecido. As distâncias deve1n ser E, então AXYZE não poderá ser um caminho mais curto que
não negativas, co1no acontecerá se elas fore1n baseadas em ABE. Se o rótulo for menor que o de E, então Z e não E se
quantidades reais, con10 largura de banda e atraso. Inicial- tomará pem1anente primeiro, permitindo que E seja testado
mente, nenhum caminho é conhecido; portanto, todos os a partir de Z.
nós são rotulados com infinito. A' medida que o algoritmo Esse algoritmo é mostrado na Figura 5.8, na lingua-
prossegue e os caminhos são encontrados, os rótulos podem gem C. As variáveis globais n e dist descrevem o grafo
mudar, refletindo 1nelhores caminhos. Un1 rótulo pode ser e são inicializadas antes de shortest_path ser chamado.
provisório ou permanente. No início, todos são provisórios. A única diferença entre o programa e o algoritmo descrito
Quando se descobre que um rótulo representa o ca1ninho anteriormente é que, na Figura 5.8, calculamos o caminho
mais curto possível até a origem desse nó, ele se to1na per- mais curto a pa1tir do nó terminal t, e1n vez de começarmos
manente e, daí em diante, nunca mais é alterado. no nó de origem, s.
Para ilustrar como funciona o algoritmo de identifi- Como os caminhos mais curtos de t até sem u1n grafo
cação, vamos examinar o grafo ponderado não orientado não orientado são iguais ao ca1ninho mais curto de s até t,
mostrado na Figura 5.7(a), em que os pesos representan1, não i1nporta em que extremidade co1necemos. A razão para
por exemplo, a distância. Desejamos encontrar o caminho a pesquisa no sentido inverso é que cada nó é rotulado com
mais curto de A até D. Começa1nos marcando o nó A como seu predecessor em vez de ser rotulado com seu sucessor.
permanente, o que é indicado por um círculo preenchido. Quando o caminho final for copiado na variável de saída,
A seguir, examina1nos separadamente cada tun dos nós ad- path, o caminho será então invertido. Os dois efeitos re-
jacentes a A (o nó ativo), alterando o rótulo de cada um versos se cancelarão e a resposta será produzida na orde1n
deles para indicar a distância até A. Se1npre que u1n nó é correta.
rotulado novamente, ele ta1nbém é rotulado com o nó a par-
tir do qual o teste foi feito; assin1, podemos reconstruir o
caminho final mais tarde. Se a rede tivesse mais de um ca- 5.2.3 Flooding
minho mais curto de A até D e quiséssemos encontrar todos Quando o algoritmo de roteamento é implementado, cada
eles, precisaríamos nos lembrar de todos os nós de teste que roteador precisa tomar decisões co1n base no conhecimento
poderiam alcançar um nó co1n a mesma distância. local, não na imagem completa da rede. Uma técnica local
Após examinarmos cada um dos nós adjacentes a A, simples é a de flooding (inundação), na qual cada pacote
verificamos todos os nós provisoria1nente rotulados no gra- de entrada é enviado para cada linha de saída, exceto para
fo inteiro e tomamos permanente o nó que tem o menor aquela e1n que chegou.
rótulo, como mostra a Figura 5.7(b). Esse nó passa a ser o Evidentemente, o algoritmo de inundação gera uma
novo nó ativo. grande quantidade de pacotes duplicados, na verdade um
Agora, co1neçamos por B e examinamos todos os nós número infinito, a menos que algun1as medidas sejam to-
adjacentes a ele. Se a so1na do rótulo de B e a distância madas para tornar o processo mais lento. Uma delas é ter
entre B e o nó que está sendo considerado for menor que o um contador de hops contido no cabeçalho de cada paco-
rótulo desse nó, teremos um caminho 1nais curto, portanto, te; o contador é decre1nentado en1 cada hop, com o pacote
o nó será rotulado novan1ente. sendo descartado quando o contador atingir zero. O ideal
Depois que todos os nós adjacentes ao nó ativo tive- é que o contador de hops seja iniciado com a distância do
rem sido inspecionados e os rótulos provisórios tiverem caminho desde a origem até o destino. Se não souber o ta-
sido alterados, na medida do possível, o grafo inteiro será n1anho do caminho, o transmissor poderá iniciar o contador
pesquisado até ser encontrado o nó com o rótulo provisório com o valor referente ao pior caso, ou seja, a din1ensão total
de menor valor. Esse nó passará a ser o nó permanente e se da rede.
240 Redes de computadores

#define MAX_NODES 1024 1• número máximo de nós •;


#define INFINITY 1000000000 /• um número maior que cada caminho máximo•;
int n, dist[MAX_NODES][MAX_NODES]; ;• dist[i][j] é a distância de i até j •;

void shortest_path(int s, int t, int path[])


{ struct state { ; • o caminho sendo usado •;
int predecessor; / * nó anterior •;
int length; /* distância da origem até este nó •;
enum {permanent, tentativa} label; ;• estado do rótulo */
} state[MAX_NODES);

int i, k, min;
struct state *p;

for (p = &state[O]; p < &state[n]; p++) { ; • inicializa estado */


p->predecessor = -1;
p->length = INFINITY;
p->label = tentativa;
}
state[t].length = O; state[t).label = permanent;
k = t; ;• k é o nó ativo inicial •;
do { ;• Existe caminho melhor a partir de k? •;
for (i = O; i < n; i++) ;• este grafo tem n nós •;
if (dist[k][i] != O && state[i].label ==tentativa) {
if (state[k].length + dist[k][i] < state[i].length) {
state[i].predecessor = k;
state[i].length = state[k].length + dist[k][i];
}
}

;• Acha o nó provisoriamente rotulado com o menor rótulo. */


k = O; min = INFINITY;
for (i = O; i < n; i++)
if (state[i].label ==tentativa && state[i].length < min) {
min = state[i].length;
k = i;
}
state[k].label = permanent;
} while (k != s);

;•Copia o caminho para array de saída. ·1


i =O; k = s;
do {path[i++] = k; k = state[k).predecessor; } while (k >=O);
}
Figura 5.8 Oalgoritmo de Dijkstra para calcular o caminho mais curto através de um grafo.

O flooding com um contador de hops pode produ- Para evitar que as listas cresçam indefinidamen-
zir um número exponencial de pacotes duplicados à me- te, cada tuna delas deve ser incrernentada de acordo com
dida que o contador de hops duplica os pacotes já vistos. um contador k, o que significa que todos os nú1neros de
Uma técnica melhor para conter o processo de flooding é sequência até k foram vistos. Quando um pacote for recebi-
controlar quais pacotes foram transrnitidos, a fim de evitar do, será fácil verificar se ele é uma cópia (comparando seu
transmiti-los uma segunda vez. U1na forma de conseguir número de sequência com k); se for, ele será descartado.
isso é fazer o roteador de origem inserir u1n número de se- Alérn disso, a lista completa abaixo de k não é necessária,
quência ern cada pacote recebido de seus hosts. Portanto, visto que k resume essa lista.
cada roteador precisará de uma lista por roteador de origem O algoritmo de flooding não é prático para enviar a
informando quais números de sequência originários desse niaioria dos pacotes, mas tem sua utilidade. Prirneiro, ele
ponto já foram vistos. Se houver um pacote de entrada na garante que urn pacote seja entregue a cada nó na rede.
lista, ele não será transmitido por flooding. Isso pode ser un1 desperdício se houver utn único destino
Capítulo 5 • A camada de rede 241

precisando do pacote, 1nas é eficiente para a difusão de in- da distância até esse destino. A métrica utilizada pode ser
formações. Em redes sem fio, todas as nlensagens trans- o número de hops ou outra medida, conforme discutimos
mitidas por uma estação podem ser recebidas por todas as para o cálculo do caminho mais curto.
outras estações dentro de seu alcance de rádio, o que, na Presume-se que o roteador conheça a "distância" até
verdade, representa o flooding, e alguns algoritinos empre- cada um de seus vizinhos. Se a 1nét1ica for o hop, a distân-
gan1 essa propriedade. cia será de apenas um hop. Se for o ati·aso de propagação,
Em segundo lugar, o flooding é tren1endamente robus- o roteador poderá medi-lo diretamente com pacotes ECHO
to. Mesmo que grandes quantidades de roteadores estejam especiais, que o receptor identifica com um registro de tem-
sobrecarregadas de bits (p. ex., em uma rede 1nilitar loca- po e transn1ite de volta o mais rápido que puder.
lizada e1n u1na zona de guerra), o flooding encontrará um Por exemplo, suponha que o atraso seja usado como
caminho, se existir, para levar un1 pacote ao seu destino. métrica e que o roteador saiba qual é o atraso até cada urn
Ele também exige pouco no modo de configuração, pois de seus vizinhos. Uma vez a cada Tms, cada roteador envia
os roteadores só precisam conhecer seus vizinhos. Isso sig- a cada vizinho uma lista de seus atrasos esti1nados até cada
nifica que o flooding pode ser usado como um bloco de destino. Ele também recebe uma lista sen1elhante de cada
montagem para outros algoritmos de rotea1nento que são vizinho. Imagine que uma dessas tabelas tenha acabado
mais eficientes, porém precisam de mais configuração. de chegar do vizinho X , sendo X; a estimativa de X sobre
Também pode ser usado como uma unidade de medida que o te1npo que ele levará para chegar até o roteador i. Se o
servirá como base de comparação com outros algoritmos roteador souber que o atraso para X é de 1n ms, ele também
de rotea1nento. O flooding sempre escolhe o caminho 1nais saberá que pode alcançar o roteador i por 1neio de X em
curto, pois todos os caminhos possíveis são selecionados X; + 1n ms. Efetuando esse cálculo para cada vizinho, um ro-
em paralelo. E1n consequência disso, nenhu1n outro algo- teador pode descobrir qual estimativa parece ser a melhor, e
ritmo é capaz de produzir u1n atraso de menor duração (se também usar essa estimativa e o enlace correspondente em
ignorarmos o overhead gerado pelo próprio processo de sua nova tabela de roteamento. Observe que a antiga tabela
inundação). de rotean1ento não é utilizada no cálculo.
Esse processo de atualização é ilustrado na Figura 5.9.
A parte (a) mostra uma rede. As quatro primeiras colunas
5.2.4 Roteamento por vetor de distância da parte (b) 1nostra1n os vetores de atraso recebidos dos vi-
zinhos do roteador J. A alega ter um atraso de 12 ms até B,
Geralmente, as redes de co1nputadores utiliza1n algoritmos
um atraso de 25 ms até C, um atraso de 40 ms até D , etc.
de roteamento dinâmicos que são mais complexos que o
Suponha que J tenha medido ou estimado seu atraso até seus
flooding, porérn mais eficientes, porque encontram os ca-
vizinhos A,!, H e K como 8, 1O, 12 e 6 ms, respectivamente.
minhos mais curtos para a topologia atual. Dois algoritmos
dinârnicos específicos, o roteamento por vetor de distância Considere a forma como J calcula sua nova rota até
o roteador G. Ele sabe que pode chegar até A em 8 ms e A
e o roteamento de estado de enlace, são os mais conhecidos.
Nesta seção, vamos estudar o primeiro deles. Na próxima alega ser capaz de chegar a G em 18 ms; portanto, J sabe
seção, estudaremos o segundo. que pode contar co1n urn atraso de 26 ms até G, se enca-
minhar pacotes destinados a G para A. Da 1nestua forma,
Um algoritmo de roteamento por vetor de distância
ele calcula o atraso para G via J, H e K co1no 41 (31 + 1O),
opera fazendo cada roteador nlanter uma tabela (i.e., urn
18 (6 + 12) e 37 (31 + 6) ms, respectivamente. O melhor
vetor) que fornece a melhor distância conhecida até cada
desses valores é 18; portanto, J cria urna entrada em sua
destino e determina qual enlace deve ser utilizado para che-
tabela de roteamento indicando que o atraso até G é 18 ms
gar lá. Essas tabelas são atualizadas por meio da troca de
e que a rota a ser utilizada passa por H. O mesmo cálculo
informações con1 os vizinhos. No fim , cada roteador saberá
é feito para todos os outros destinos, co1n a nova tabela de
o melhor enlace para alcançar cada destino.
'
roteamento mostrada na última coluna da figura.
As vezes, o algoritmo de rotea1nento por vetor de
distância recebe outros nornes, sendo o nlais co1nu1n o al-
goritmo de rotearnento distribuído de Bellman-Ford, que O problema da contagem ao infinito
recebeu o nome dos pesquisadores que o desenvolveram O estabelecimento de rotas para os melhores caminhos pela
(Belbnan, 1957; e Ford e Fulkerson, 1962). Ele foi o algo- rede é cha1nado de convergência. O roteamento por vetor
ritino de rotearnento original da ARPANET e também foi de distância é útil como urna técnica siinples para os rotea-
utilizado na Internet, com o nome RIP. dores calcularem coletivarnente os caminhos mais curtos,
No roteamento por vetor de distância, cada roteador mas tem um sério inconveniente na prática: apesar de con-
manté1n uma tabela de roteamento indexada para cada vergir para a resposta correta, ele pode fazê-lo muito len-
roteador da rede e que contém un1a entrada para cada um tamente. E1n particular, ele reage com rapidez às boas no-
deles. Essa entrada contém duas partes: a linha de saída tícias, mas reage lentan1ente às n1ás. Imagine u1n roteador
preferencial a ser utilizada para o destino e uma estimativa cuja melhor rota até o destino X seja grande. Se, na próxima
242 Redes de computadores

Roteador Para ver a que velocidade as boas notícias se propa-


A B ~C D
gam, considere a rede de cinco nós (linear) da Figura 5.1 O,
na qual a métrica para calcular o atraso é o nú1nero de hops.
Suponha que A iniciahnente esteja inativo e que todos os
outros roteadores saibam disso. E1n outras palavras, todos
eles registraram o atraso até A como inftnito.
Quando A está ativo, os outros roteadores tomam
conhecimento dele por 1neio de trocas de vetores. Para
K L
simplificar, vamos supor que exista um gongo gigantesco
J
em algum lugar e que ele seja tocado periodicamente para
(a) dar início a uma troca de vetores e1n todos os roteadores
ao 1nesmo tempo. No momento da primeira troca, B toma
Novo atraso conhecimento de que seu vizinho da esquerda te1n atraso
estimado de J zero até A. Agora, B cria tuna entrada e1n sua tabela de ro-
Para A H K ~ Linha teamento, indicando que A está a um hop de distância à es-
A o 24 20 21 8 A querda. Todos os outros roteadores continua1n imaginando
B 12 36 31 28 20 A que A está inativo. Nesse mo1nento, as entradas da tabela de
e 25 18 19 36 28 1
D 40 27 8 24 20 H roteamento correspondentes a A são as que estão ilustradas
E 14 7 30 22 17 1 na segunda linha da Figura 5.1 O(a). Na troca seguinte, C
F 23 20 19 40 30 1 descobre que B tem um caminho de comprimento 1 até A e,
G 18 31 6 31 18 H portanto, atualiza sua tabela de roteamento para indicar um
H 17 20 o 19 12 H
caminho de comprimento 2, 1nas D e E só detecta1n as boas
1 21 o 14 22 10 1
J 9 11 7 10 o - notícias niais tarde. É claro que as boas notícias estão sen-
K 24 22 22 o 6 K do espalhadas na velocidade de u1n hop por troca. En1 uma
L 29 33 9 9 15 K rede cujo caminho mais longo tenha o comprimento de N
Atraso Atraso Atraso Atraso ~ hops, dentro de N trocas todos saberão quais enlaces e ro-
JA Jl JH JK Nova
.
e é é é tabela de teadores foram recentemente reativados.
8 10 12 6 roteamento Agora, varnos considerar a situação da Figura 5.1O(b),
para J
Vetores recebidos em que todos os enlaces e roteadores estão inicialmente ati-
dos quatro vizinhos de J vos. Os roteadores B, C, D e E têm distâncias até A iguais a
(b)
l, 2, 3 e 4, respectiva1nente. De repente, A é desativado, ou
então a linha entre A e B é interrompida (o que efetivamente
Figura 5.9 (a) Uma rede. (b) Entrada de A, !, H, K e a nova é o 1nesmo, do ponto de vista de B).
tabela de roteamento para J. Na priineira troca de pacotes, B nada detecta vindo
de A. Felizmente, C informa: "Não se preocupe. Tenho
troca, o vizinho A repentinamente relatar u111 pequeno atra- um caminho até A de comprimento 2". Pouco adianta B
so até X, o roteador deixará de usar a linha que vai até A e saber que o caminho de C passa pelo próprio B. Apesar
enviará o tráfego para X. Em uma troca de vetores, a boa de B saber disso, C pode ter dez enlaces de saída, todos
notícia sempre é processada. com caminhos independentes até A de comprimento 2. Por

A B e D E A B e D E
• • • • • Inicialmente
• •
1

2
•3 •4Inicialmente
1 Após uma troca 3 2 3 4 Após uma troca
1 2 Após duas trocas 3 4 3 4 Após duas trocas
1 2 3 Após três trocas 5 4 5 4 Após três trocas
1 2 3 4 Após quatro trocas 5 6 5 6 Após quatro trocas
7 6 7 6 Após cinco trocas
7 8 7 8 Após seis trocas

(a) (b)

Figura 5.10 Oproblema da contagem ao infinito.


Capítulo 5 • A camada de rede 243

conseguinte, B agora in1agina que pode alcançar A via C, de estado de enlace. Variantes do rotean1ento de estado
com um comprimento de caminho igual a 3. D e E não de enlace, chamadas IS-IS e OSPF, são os algoritmos de
atualizam suas entradas correspondentes a A na primeira roteamento 1nais usados dentro de grandes redes e da Inter-
troca. net atualtnente.
Na segunda troca, C percebe que cada u1n de seus vi- A ideia por trás do roteamento de estado de enlace é
zinhos alega ter um caminho até A de comprin1ento 3. Ele simples e pode ser estabelecida en1 cinco partes. Cada ro-
seleciona um desses caminhos ao acaso e torna 4 sua nova teador deve fazer o seguinte:
distância até A, como mostra a terceira fileira da Figura
1. Descobrir seus vizinhos e aprender seus endereços de
5 .1O(b ). As trocas subsequentes produzem o histórico mos-
rede.
trado no restante da Figura 5.1 O(b ).
A partir dessa figura, deve ficar claro por que as más 2. Medir a distância ou o custo até cada un1 de seus
notícias se propagam lentamente: nenhum roteador tem um vizinhos.
valor maior que uma unidade a mais que o valor rninimo de 3. Criar um pacote que inforn1e tudo o que ele acabou
todos os seus vizinhos. Gradualn1ente, todos os roteadores de aprender.
seguem seu caminho até infinito, mas o número de trocas 4. Enviar esse pacote e receber pacotes de todos os ou-
necessárias depende do valor numérico utilizado para infi- tros roteadores.
nito. Por essa razão, é melhor definir infinito como o cami- 5. Calcular o ca1ninho mais curto até cada u1n dos outros
nho mais longo mais uma unidade. roteadores.
Não é de surpreender totaltnente que esse problema
Co1n efeito, a topologia completa é distribuída para
seja conhecido como problema da contagem ao infini-
todos os outros roteadores. Em seguida, o algoritmo de
to. Houve algumas tentativas de resolvê-lo, por exemplo,
Dijkstra pode ser usado e1n cada roteador para encontrar
impedindo que os roteadores anunciassem seus rnelhores
o caminho ruais curto até os demais. A seguir, estudaren1os
ca1ninhos recétn-descobertos aos seus vizinhos, e1n um
cada uma dessas cinco etapas en1 detalhes.
processo conhecido con10 reversão envenenada, descrita na
RFC l 058. Contudo, nenhuma dessas heurísticas funcio-
nou bem na prática, apesar dos nomes bonitos. O núcleo do Conhecendo os vizinhos
proble1na é que, quando Xinfonna a Y que ten1 u1n caminho Quando um roteador é iniciado, sua primeira tarefa é apren-
em algum lugar, Y não tem co1no saber se ele próprio está der quem são seus vizinhos. Esse objetivo é alcançado en-
no caminho. viando-se um pacote HELLO especial em cada linha ponto
a ponto. O roteador da outra extremidade deve enviar de
volta uma resposta infonnando quem é. Esses no1nes de-
5.2.5 Roteamento de estado de enlace vern ser globalmente exclusivos, pois, quando mais tarde
O rotean1ento por vetor de distância foi utilizado na AR- um roteador distante ouvir que esses três roteadores estão
PANET até 1979, quando foi substituído pelo roteamento todos conectados a F, é essencial que ele possa determinar
de estado de enlace. O problema principal que causou sua se os três representam o mesmo F .
retirada foi que o algoritmo geralmente levava muito te1npo Quando dois ou 1nais roteadores estão conectados por
para convergir (em decorrência do problema da contagem um enlace de broadcast (p. ex., em um switch, em un1 anel
ao infinito). Por conseguinte, ele foi substituído por um ou na Ethernet clássica), a situação é um pouco mais com-
algoritmo inteira1nente novo, agora chamado roteamento plicada. A Figura 5.1 l(a) ilustra uma LAN broadcast à qual

H Roteador

B
D E G
B
D
-------- E
G H

A e F e
A
F

LAN N

(a) (b)

Figura 5.11 (a) Nove roteadores e uma LAN broadcast. (b) Um modelo de grafo de (a).
244 Redes de computadores

três roteadores, A, C e F, estão diretamente conectados. un1a lista de vizinhos. É fornec ido o custo até cada vizi-
Cada um desses roteadores está conectado a u1n ou n1ais nho. Um exemplo de rede é apresentado na Figura 5.12(a),
roteadores adicionais, como mostra a figura. sendo os custos n1ostrados como rótulos nas linhas. Os pa-
A LAN broadcast oferece conectividade entre cada par cotes de estado de enlace correspondentes a todos os seis
de roteadores conectados. Contudo, a modelage1n da LAN roteadores são 1nostrados na Figura 5.12(b).
con1 muitos enlaces ponto a ponto au1nenta o tamanho da É fácil criar os pacotes de estado de enlace. Dificil
topologia e leva ao desperdício de mensagens. Uma fonna é determinar quando criá-los. Un1a possibi lidade é criá-
melhor de modelar a LAN é considerá-la um nó, conforme -los periodicamente, ou seja, en1 intervalos regulares. Ou-
mostra a Figura 5.11 (b). Aqui, introduzimos um novo nó tra possibilidade é criá-los durante a ocon·ência de algum
artificial, N, ao qual A, C e Festão conectados. U1n rote- evento significativo, con10 uma linha ou vizinho que sai do
ador designado na LAN é selecionado para desempenhar ar, entra em atividade novamente ou altera suas proprieda-
o papel de N no protocolo de roteamento. A possibilidade des de forma considerável.
de ir de A até C na LAN é representada aqui pelo caminho
ANC.
Distribuição dos pacotes de estado de enlace
Como medir o custo do enlace A parte n1ais co1nplicada do algoritmo é distribuir os paco-
tes de estado de enlace. Todos os roteadores precisam obter
O algoritmo de rotean1ento de estado de enlace exige que todos os pacotes de estado de enlace de modo rápido e con-
cada enlace tenha uma medida da distância ou de custo para fiável. Se diferentes roteadores estiverem usando diferentes
encontrar os caminhos mais curtos. O custo para alcançar versões da topologia, as rotas que eles calculam pode1n ter
os vizinhos pode ser definido automaticamente, ou então inconsistências, como loops, máquinas inacessíveis e ou-
configurado pelo operador da rede. Uma escolha comu1n é tros problemas.
to1nar o custo inversamente proporcional à largura de ban-
Primeiro, descrevere1nos o algoritmo básico de distri-
da do enlace. Por exemplo, a Ethernet de 1 Gbps pode ter
buição. Depois, va1nos aperfeiçoá-lo. A ideia fundamental
um custo de um e a Ethernet de 100 Mbps, um custo de dez.
é usar o flooding para distribuir os pacotes de estado de
isso faz os ca1ninbos de tnaior capacidade se tomarem as
enlace para todos os roteadores. Para manter o controle do
melhores escolhas.
flooding, cada pacote contém um número de sequência que
Se a rede estiver espalhada geograficamente, o atraso
é incrementado para cada novo pacote enviado. Os roteado-
dos enlaces pode ser computado no custo, de modo que os
res controlam todos os pares (roteador de origem, sequên-
caminhos por enlaces mais curtos são as melhores escolhas.
cia) que veem. Quando é recebido, o novo pacote de esta-
A fortna mais simples de detenninar esse atraso é enviar u.m
do de enlace é conferido na lista de pacotes já verificados.
pacote ECHO especial pelo enlace, que o outro lado precisa
Se for novo, será encaminhado a todas as linhas, exceto
devolver imediatamente. Medindo o tempo de ida e volta
àquela por onde chegou. Se for uma cópia, será descarta-
e dividindo-o por dois, o roteador transmissor pode obter
do. Se utn pacote recebido tiver número de sequência mais
uma estimativa razoável do atraso.
baixo que o mais alto número de sequência detectado até o
1nomento, ele será rejeitado e considerado obsoleto, pois o
Como criar pacotes de estado de enlace roteador terá dados mais recentes.
Uma vez obtidas as informações necessárias para a troca, Esse algorit1no apresenta alguns proble1nas, mas eles
a próxima etapa é cada roteador criar um pacote que con- são contornáveis. Primeiro, se os números de sequência se
tenha todos os dados. O pacote começa com a identidade repetirem, haverá confusão. A solução aqui é usar um nú-
do transmissor, seguida por um número de sequência e mero de sequência de 32 bits. Co1n um pacote de estado
pelo tempo de vida (TIL, a ser descrito mais adiante) e por de enlace por segundo, seria1n necessários 137 anos para

B 2 e Enlace Estado Pacotes


A B e D E F
4 3 Seq. Seq. Seq. Seq. Seq. Seq.
A D TIL TIL TIL TIL TIL TIL
1 6 B 4 A 4 B 2 e 3 A 5 B 6
5 7
E 5 e 2 D 3 F 7 e 1 D 7
E 8 F F 6 E 1 F 8 E 8

(a) (b)

Figura 5.12 (a) Uma rede. (b) Os pacotes de estado de enlace correspondentes a essa rede.
Capítulo 5 • A camada de rede 245

um nún1ero se repetir; portanto, essa possibilidade pode ser A tabela registra a orige1n do pacote, seu nú1nero de se-
ignorada. quência e TTL, além dos dados correspondentes. Além dis-
Segundo, se um roteador apresentar falha, ele perderá so, há flags de transn1issão e confirmação para cada u1n dos
o controle de seu número de sequência. Se ele começar de três enlaces de B (para A, C e F, respectivamente). Flags de
novo em zero, o pacote seguinte será rejeitado por ser con- transmissão significam que o pacote deve ser enviado no
siderado un1a cópia. enlace indicado. Flags de confirmação significa1n que ele
Terceiro, se u1n número de sequência for adulterado deve ser confirmado ali.
e o número 65.540 for recebido no lugar do nú1nero 4 (um Na Figura 5.13, o pacote de estado de enlace de A
erro de 1 bit), os pacotes de 5 a 65.540 serão rejeitados chega diretamente; portanto, ele deve ser enviado para e
como obsoletos, pois 65.540 será considerado o número de e F e confirmado por A, conforme indicam os bits de flag.
sequência atual. Da mesma forma, o pacote proveniente de F deve ser enca-
A solução para todos esses proble1nas é incluir o n1inhado para A e C, e confirmado por F.
tempo de vida ou TTL de cada pacote após o nú1nero de Entretanto, a situação com o terceiro pacote, prove-
sequência e decrementá-lo uma vez por segundo. Quando o niente de E, é diferente. Ele chegou duas vezes, uma vez
TIL atingir zero, as informações desse roteador serão des- por EAB e outra por EFB. Consequentemente, ele só preci-
cartadas. Normalmente, u1n novo pacote chega, diga1nos, sa ser enviado para C, 1nas deve ser confirmado por A e F,
a cada 1O segundos; logo, as informações do roteador só confonne indicam os bits.
alcançarão o timeout (ten1po-limite) quando um roteador Se uma cópia for recebida enquanto o original ainda
estiver inativo (ou quando seis pacotes consecutivos se estiver no buffer, os bits deverão ser alterados. Por exem-
perderem, um evento improvável). O campo TTL também plo, se uma cópia do estado de C chegar de F antes de a
é decrementado por roteador durante o processo inicial de quarta entrada da tabela ter sido enca1ninhada, os seis bits
flooding, para garantir que nenhum pacote será perdido e serão trocados para l 00011 , indicando que o pacote deve
durará um período indefinido (um pacote cujo TIL for zero ser continuado para F, mas não deve ser enviado para lá.
será descartado).
Alguns apri1nora1nentos nesse algorit1no o tornam Como calcular as novas rotas
mais resistente. Quando u1n pacote de estado de enlace che-
ga a u1n roteador para flooding, ele não é imediatamente Uma vez que un1 roteador tenha acu1nulado um conjunto
enfileirado para transmissão. Em vez disso, ele é coloca- con1pleto de pacotes de estado de enlace, ele poderá criar
do em uma área de retenção para aguardar um pouco, caso o grafo da rede inteira, pois todos os enlaces estarão repre-
mais enlaces estejam chegando ou saindo. Se outro paco- sentados. Na verdade, todo enlace será representado duas
te de estado de enlace da mesma origem chegar antes da vezes, uma vez em cada sentido. Os diferentes sentidos po-
transn1issão do prin1eiro pacote, seus nú1neros de sequência dem até 1nesmo ter diferentes custos. Então, os cálculos de
serão comparados. Se forem iguais, a cópia será descarta- caminho mais curto poderão achar diferentes caminl1os do
da. Se forem diferentes, o mais antigo será descartado. Para roteador A para B e vice-versa.
evitar erros nos enlaces, todos os pacotes de estado de enla- Agora o algoritmo de Dijkstra pode ser executado lo-
ce são confirmados. cahnente com a finalidade de criar os caminhos mais curtos
A estrutura de dados utilizada pelo roteador B da rede até todos os destinos possíveis. Os resultados desse algo-
mostrada na Figura 5.12(a) é representada na Figura 5.13. ritmo dizem ao roteador qual enlace utibzar para alcançar
Cada linha aqui corresponde a um pacote de estado de en- cada destino. Essa infonnação é inserida nas tabelas de
lace recém-chegado, mas ainda não totalmente processado. roteamento, e a operação nonnal pode ser retomada.

Flags de envio Flags deACK


,---"--, ,---"--,
Origem Seq. TTL A C F A C F Dados

A 21 60 o 1 1 1 o o
F 21 60 1 1 o o o 1

E 21 59 o 1 o 1 o 1

e 20 60 1 o 1 o 1 o
D 21 59 1 o o o 1 1

Figura 5.13 Obuffer de pacotes correspondente ao roteador 8 da Figura 5.12(a).


246 Redes de computadores

Em co1nparação com o roteamento por vetor de dis- 5.2.6 Roteamento hierárquico


tância, o roteamento de estado de enlace requer 1nais me-
tnória e cálculos. Para uma rede com n roteadores, cada
dentro de uma rede
qual com k vizinhos, a memória necessária para annazenar À medida que as redes aun1entan1 de ta1nanho, as tabelas
os dados de entrada é proporcional a kn, que, no mínirno, de roteamento dos roteadores crescem proporcionaln1ente.
é tão grande quanto a tabela de roteamento que relaciona Não apenas a men1ória do roteador é consumida por tabelas
todos os destinos. Além disso, o tempo de cálculo cresce cada vez maiores, mas també1n é necessário dedicar maior
mais rápido que kn, mesmo com estruturas de dados mais tempo de CPU para perco1Tê-las e mais largura de banda
eficientes, un1 problema nas grandes redes. Apesar disso, para enviar relatórios de status sobre elas. Alén1 disso,
em muitas situações práticas, o rotean1ento de estado de en- mesmo que cada roteador pudesse annazenar a topologia
lace funciona muito bem, pois não sofre com os problemas inteira, seria 1nuito difícil recalcular os can1inhos 1nais cur-
de convergência lenta. tos toda vez que a rede sofresse mudanças na topologia;
O roteamento de estado de enlace é muito utilizado iinagine, por exemplo, se uma rede n1uito grande precisasse
ern redes reais; portanto, vale a pena fazer alguns comen- calcular os caminhos mais curtos toda vez que um enlace na
tários sobre exemplos de protocolos que o utilizam. Muitos rede falhasse ou se recuperasse. En1 determinado n1on1ento,
ISPs utilizam o protocolo de estado de enlace intersiste- a rede pode crescer até o ponto em que deixará de ser viável
mas, ou IS-IS (lntermediate System-Intermediate Sys- cada roteador ter uma entrada correspondente a cada outIO
tem) (Oran, 1990). Ele foi projetado para uma antiga rede roteador, de fonna que o roteamento terá de ser feito de for-
cha1nada DECnet, adotado mais tarde pela ISO para uso n1a hierárquica, con1 o uso de áreas de roteamento.
con1 os protocolos OSI e depois 1nodificado para lidar com Quando o rotean1ento hierárquico for utilizado, os
outros protocolos também, entre os quais se destaca o IP. roteadores serão divididos naquilo que deno1ninare1nos
O OSPF (Open Shortest Path First), que será discutido regiões ou áreas, e cada um conhecerá todos os deta-
na Seção 5.7.6, é o outro principal protocolo de estado de lhes sobre como rotear pacotes para destinos dentro de
enlace. Ele foi projetado pela fETF muitos anos depois do sua própria região, 1nas não saberá nada sobre a estrutura
IS-IS e adotou muitas das inovações projetadas para aque- interna de outras regiões. Quando diferentes redes estão
le. Entre essas inovações estão as seguintes: u1n método de interconectadas, é natural que cada urna seja vista como
autoestabilização de atualizações de estado de enlace por un1a região separada, a fi1n de liberar os roteadores de uma
flooding, o conceito de roteador designado em u1na LAN e rede da necessidade de conhecer a estrutura topológica das
o rnétodo de cálculo e suporte à divisão do caminho, além demais.
de várias métricas. Consequente1nente, há pouca diferença No caso de redes muito grandes, uma hierarquia de
entre o IS-IS e o OSPF. A mais importante delas é que o dois níveis talvez seja insuficiente; provavelmente será
IS-IS pode transportar simultanea1nente informações so- necessário reunir as regiões em agruparnentos (clusters),
bre vários protocolos da camada de rede (p. ex., IP, IPX e os agrupamentos em zonas, as zonas em grupos, etc., até
AppleTalk). O OSPF não apresenta esse recurso, que é uma faltare1n nomes para os agregados. Como exemplo de uma
vantagem em grandes ambientes de vários protocolos. hierarquia de vários níveis, vejamos como um pacote po-
Um comentário geral sobre algorit1nos de roteamento deria ser roteado de Berkeley, na Califórnia, até Malindi,
também é pertinente aqui. Estado de enlace, vetor de dis- no Quênia. O roteador de Berkeley conheceria a topologia
tância e outros algoritmos contam com o processan1ento em detalhada da Califórnia, mas enviaria todo o tráfego de fora
todos os roteadores para calcular as rotas. Probletnas com o do estado para o roteador de Los Angeles. Este seria ca-
hardware ou con1 o software, até nlesrno com um pequeno paz de rotear o tráfego para outros roteadores domésticos,
número de roteadores, podem causar grandes cornplicações mas enviaria todo o tráfego destinado a outros países para
na rede. Por exemplo, se urn roteador alegar ter um enla- Nova Iorque. O roteador de Nova Iorque seria progra1nado
ce que na realidade não tem, ou se esquecer de um enlace de modo a direcionar todo o tráfego para o roteador no país
que tem, o grafo da rede ficará incorreto. Se um roteador de destino responsável pelo tratamento do tráfego vindo do
deixar de encaminhar pacotes ou danificá-los enquanto os exterior, digamos, em Nairóbi. Por fim, o pacote seguiria
encaminhar, a rota não funcionará como se espera. Por fi1n, seu caminho descendente pela árvore no Quênia até chegar
se a 1ne1nória do roteador se esgotar ou se ele calcular, o ro- a Malindi.
tean1ento incorretamente, as falhas serão inún1eras. A me- A Figura 5.14 fornece um exemplo quantitativo do
dida que a rede cresce até a faixa de dezenas ou centenas de rotean1ento em uma hierarquia de dois níveis com cinco re-
milhares de nós, a probabilidade de algum roteador falhar giões. A tabela de roteamento completa do roteador JA tem
ocasionalmente deixará de ser desprezível. O truque é ten- 17 entradas, con10 mostra a Figura 5.14(b). Quando o rotea-
tar limitar os danos quando acontecer o inevitável. Perlman mento for feito hierarquicamente, como na Figura 5.l4(c),
(1988) discute em detalhes esses problemas e suas possí- haverá entradas para todos os roteadores locais, como an-
veis soluções. tes, mas todas as outras regiões terão sido condensadas em
Capítulo 5 • A camada de rede 247

Tabela completa para 1A Tabela hierárquica para 1A

Oest. Linha Hops Oest. Linha Hops


Região 1 Região 2 1A - - 1A - -
,, , ---
,,,-- - ....
18 .... ', /'2A 28'', 18 18 1 18 18 1
I \ \
1C 1C 1 1C 1C 1
l1A ' 1
'
1

'
\
1
I ' ,2c
\ 1
2A 18 2 2 18 2
,,
1C ,20'
1 \

' ' , __ ,
\
'' -- 28 18 3 3 1C 2
2C 18 3 4 1C 3
/
;--- ', /
,,---.... ... ,
,,,"" '
--- 20 18 4 5 1C 4
,/3A \ ,/ 4A \ / 58 5C 3A 1C 3
1 ' 5A 38 1C 2
\\ 38 / '
___
48 4C, t'\ '\ 50 4A 1C 3
' ' , ,,
- / ' ... ,, "'
/
---
', .... __
5E_,,'
48 1C 4
Região 3 Região 4 Região 5
4C 1C 4
5A 1C 4
58 1C 5
5C 18 5
50 1C 6
5E 1C 5
(a) (b) (e)

Figura 5.14 Roteamento hierárquico.

um único roteador; portanto, todo o tráfego destinado à re- que o aumento na extensão do caminho médio efetivo cau-
gião 2 passará pela linha IB-2A , mas o restante do tráfego sado pelo roteamento hierárquico é suficientemente peque-
remoto utilizará a linha 1C-3B. O roteamento hierárquico no, de fonna que, de modo geral, é aceitável.
reduz a tabela de 17 para 7 entradas. A' rnedida que cresce a
relação entre o número de regiões e o número de roteadores
por região, a economia de espaço na tabela aumenta. 5.2.7 Roteamento por broadcast
Infelizmente, esses ganhos em espaço não são gratui- Em al&rumas aplicações, os hosts precisam enviar rnensagens
tos. Há um preço a ser pago: um aumento no comprimento a rnuitos ou a todos os outros hosts. Por exemplo, um serviço
do caminho. Por exernplo, a melhor rota de IA até 5C passa de distribuição de relatórios sobre o tetnpo, atualizações do
pela região 2; no entanto, corn o roteamento hierárquico, mercado de ações ou programas de rádio ao vivo poderiam
todo o tráfego destinado à região 5 segue pela região 3, por- funcionar melhor por meio do envio das informações a todas
que essa é a melhor opção para a maior parte dos destinos as máquinas, pennitindo que as que estivessern interessadas
na região 5. lessem os dados. O envio de urn pacote a todos os destinos
Quando uma única rede se torna muito extensa, sur- simultanea1nente é charnado de broadcasting (difusão). Fo-
ge uma questão interessante: "Quantos níveis a hierarquia ram propostos vários rnétodos para i1nplementar esse recurso.
deve ter?". Por exernplo, considere uma rede corn 720 ro- Urn 1nétodo de broadcasting que não exige recursos
teadores. Se não houver hierarquia, cada roteador precisará especiais da rede pern1ite à origern simplesrnente enviar
de 720 entradas na tabela de roteamento. Se a rede for parti- um pacote específico a cada destino. O 1nétodo não só des-
cionada em 24 regiões de 30 roteadores cada urna, cada ro- perdiça largura de banda mas também exige que a orige1n
teador precisará de 30 entradas locais e mais 23 entradas re- tenha uma lista co1npleta de todos os destinos. Esse méto-
motas, perfazendo um total de 53 entradas. Se for escolhida do não é desejável na prática, embora se aplique de fonna
urna hierarquia de três níveis com oito agruparnentos, cada generalizada.
um deles contendo nove regiões de dez roteadores, cada Uma melhora é o roteamento para vários destinos,
roteador precisará de dez entradas para roteadores locais, en1 que cada pacote contén1 uma lista de destinos ou um
oito entradas para roteamento até outras regiões dentro de mapa de bits indicando os destinos desejados. Quando um
seu próprio agrupamento e sete entradas para agruparnentos pacote chega a um roteador, este verifica todos os destinos
distantes, perfazendo um total de 25 entradas. Kan1oun e para determinar o conjunto de linhas de saída que serão ne-
Kleinrock ( 1979) descobriran1 que o número ideal de níveis cessárias. (Uma linha de saída será necessária se for a melhor
para uma rede com N roteadores é ln N, exigindo um total rota a pelo 1nenos um dos destinos.) O roteador gera un1a
de e ln N entradas por roteador. Eles também demonstraram nova cópia do pacote para cada linha de saída a ser utilizada
248 Redes de computadores

e inclui e1n cada pacote so1nente os destinos que usarão a uma rede, a parte (b) 1nostra u1na árvore de escoa1nento para
linha. Na verdade, o conjunto de destinos é particionado en- o roteador 1 dessa rede e a parte (c) mostra como funciona o
tre as linhas de saída. Após um número suficiente de hops, algoritmo de encan1inbamento pelo caminho inverso. No pri-
cada pacote será transportado so1nente para um destino e 1neiro hop, 1 envia pacotes para F, H, J e N, como indica a
poderá ser tratado como um pacote normal. O rotean1ento segunda linha da árvore. Cada um desses pacotes chega ao
para vários destinos é como utilizar pacotes endereçados se- ca1ninho preferencial para 1 (supondo que o caminho prefe-
paradamente, exceto pelo fato de que, quando vários pacotes rencial acompanhe a árvore de escoamento) e é, então, in-
tiverem de seguir a mesma rota, um deles pagará toda a pas- dicado por um circulo em torno da letra. No segundo hop,
sage1n e os restantes viajarão de graça. A largura de banda são gerados oito pacotes, dois por roteador que recebeu um
da rede, portanto, é usada de modo mais eficiente. Contudo, pacote no primeiro hop. Por sua vez, todos os oito pacotes
esse esquema ainda requer que a orige1n conheça todos os chegam a roteadores não visitados anteriormente, e cinco de-
destinos, e ainda é 1nuito trabalhoso para um roteador deter- les chegam ao longo da linha preferencial. Dos seis pacotes
minar para onde enviar um pacote para vários destinos, da gerados no terceiro hop, somente três chegam pelo caminho
mesn1a fonna que para múltiplos pacotes distintos. preferencial (em C, E e K); os outros são cópias. Depois de
Já vimos tuna técnica de rotea1nento por broadcast 1ne- cinco hops e 24 pacotes, o broadcasting termina, em compa-
lhor: o flooding. Quando iinple1nentado co1n um número de ração com quatro hops e 14 pacotes que haveria se a árvore
sequência por origem, o flooding utiliza enlaces de n1odo de escoamento fosse seguida exatamente.
eficiente com uma regra de decisão nos roteadores que é A principal vantage1n do encaminhamento pelo cami-
relativamente simples. Embora o flooding não seja muito nho inverso é que ele, ao 1nesmo tempo, é eficiente e fácil
adequado
. .
para a co1nunicação ponto
.
a ponto comum, ele de implementar. Ele envia o pacote de broadcast por enlace
deve ser levado em consideração no broadcasting. Contudo, apenas uma vez e1n cada sentido, assi1n co1no no tlooding,
podemos fazer ainda melhor quando as rotas de caminho enquanto exige apenas que os roteadores saiba1n como al-
mais curto para os pacotes nonnais tiverem sido calculadas. cançar todos os destinos, sem ter de lembrar dos números
Um vez co1npreendida, a ideia do encaminhamento de sequência (ou usar outros mecanistnos para interromper
pelo caminho inverso é elegante e muito simples (Dalal o flooding) ou listar todos os destinos no pacote.
e Metcalfe, 1978). Quando u1n pacote de broadcast chega Nosso últirno algoritn10 de broadcast 1nelhora o com-
em um roteador, este verifica se o pacote chegou pelo en- po11a1nento do enca1ninbamento pelo caminho inverso. Ele
lace que normalmente é usado para enviar pacotes para a faz uso explícito da árvore de escoamento - ou qualquer ou-
origem do broadcast. Em caso afirmativo, há uma excelente tra árvore spanning tree - para o roteador que inicia o broad-
possibilidade de que o pacote de broadcast tenha seguido cast. Uma spanning tree é uma árvore que é um subconjun-
a n1elhor rota a partir do roteador e seja, portanto, a pri- to da rede que inclui todos os roteadores, rnas não contém
meira cópia a chegar a ele. Se for esse o caso, o roteador loops. As árvores de escoa1nento são do tipo spanning tree.
encaminhará cópias do pacote para todos os enlaces, exceto Se cada roteador souber quais de suas linhas pertence1n à
para aquele por onde ele chegou. Contudo, se o pacote de spanning tree, ele poderá copiar um pacote de broadcast da
broadcast chegou por um enlace diferente do preferido para entrada para todas as linhas da spanning tree, exceto para
alcançar o destino, ele é descartado como un1a provável aquela pela qual o pacote chegou. Esse método faz excelente
duplicata. uso da largura de banda, gerando um nú1nero n1ínimo abso-
Um exe1nplo do algoritmo de encaminhamento pelo ca- luto de pacotes necessários para realizar essa tarefa. Na Fi-
minho inverso é n1ostrado na Figura 5.15. A parte (a) 1nostra gura 5.15, por exemplo, quando a árvore de escoamento da

(a)

Figura 5.15 Encaminhamento pelo caminho inverso. (a) Uma rede. (b) Arvore de escoamento para o roteador/. (c) Arvore
construída por encaminhamento pelo caminho inverso de /.
Capítulo 5 • A camada de rede 249

parte (b) é usada co1no spanning tree, o pacote de broadcast roteamento utilizado é chamado de roteamento por multi-
é enviado com o 1nínimo de 14 pacotes. O único problema casting. Todos os esquemas de 1nulticasting exigem algum
é que cada roteador deve ter conhecimento de alguma span- método para criar e destruir grupos, be1n como para identi-
ning tree para que o método seja aplicável. Às vezes essas ficar quais roteadores são membros de um grupo. O modo
infom1ações estão disponíveis (p. ex., con1 o roteamento de co1no essas tarefas serão realizadas não interessa ao algo-
estado de enlace, e1n que todos os roteadores conhece1n a to- ritmo de rotea1nento. Por enquanto, vamos considerar que
pologia completa e, por isso, podem calcular uma spanning cada grupo é identificado por u1n endereço de nlulticast e
tree), 1nas às vezes não (p. ex., no caso do roteamento por que os roteadores conhecem os grupos aos quais eles perten-
vetor de distância). cem. Retomaremos ao assunto de membros de grupo quan-
do descrevermos o multicasting da Internet, na Seção 5.7.8.
Os esquemas de rotea1nento por multicast se baseia1n
5.2.8 Roteamento por multicast nos esquemas de rotea1nento por broadcast que já estuda-
Algu1nas aplicações, como jogos com mais de u1n partici- mos, enviando pacotes pelas spanning trees para entregá-
pante ou vídeo ao vivo de um evento esportivo, transmitido -los aos membros do grupo enquanto utilizam a largura de
para muitos locais de exibição, envia1n pacotes para vários banda co1n eficiência. Todavia, a melhor spanning tree a ser
receptores. A menos que o grupo seja muito pequeno, o en- usada depende se o grupo é coeso, co1n receptores espalha-
vio de un1 pacote distinto a cada receptor é dispendioso. Em dos pela nlaior prute da rede, ou esparso, co1n boa parte da
contrapartida, o broadcasting de um pacote é um desperdí- rede não pertencente ao grupo. Nesta seção, vamos consi-
cio se o grupo tiver, digamos, 1nil máquinas em uma rede derar esses dois casos.
de un1 milhão de nós, de modo que a maioria dos receptores Se o grupo é coeso, o broadcast é um bom ponto de
não está interessada na n1ensagem (ou, pior ainda, os re- partida, pois ele leva o pacote com eficiência a todas as par-
ceptores estão defmitivamente interessados, mas não deve- tes da rede. Contudo, o broadcast alcançará alguns roteado-
riam ver a mensagem, por exemplo, porque faz parte de um res que não faze111 parte do grupo, o que é um desperdício.
evento esportivo "pay-per-view"). Desse nlodo, precisamos A solução explorada por Deering e Cheriton ( 1990) é podar
de um nleio para enviar mensagens a grupos bem definidos a spanning tree por broadcast, removendo os enlaces que
que têm um tamanho numericamente grande, 1nas pequeno não levatn a membros. O resultado é uma spanning tree de
quando comparado à rede como um todo. multicast eficiente.
O envio de uma 1nensagem a um desses grupos de- Co1no um exemplo, considere os dois grupos, 1 e 2, na
non1ina-se multicasting (1nultidifusão) e seu algorit1no de rede 1nostrada na Figura 5. 16(a). Alguns roteadores estão

2 1 2 1

1

1 • • •
{e) (d)

Figura 5.16 (a) Uma rede. (b) Uma spanning tree para o roteador da esquerda. (e) Uma árvore de multicast para o grupo 1.
(d) Uma árvore de multicast para o grupo 2.
250 Redes de computadores

associados a hosts que pertencen1 a un1 ou a ambos os gru- PR UNE. Assin1, a rede será podada recursivamente. O pro-
pos, como indica a figura. Uma spanning tree correspon- tocolo de roteamento multicast por vetor de distância, ou
dente ao roteador situado mais à esquerda é mostrada na Fi- DVMRP (Distance Vector Multicast Routing Protocol),
gura 5.16(b). Essa árvore pode ser usada para o broadcast, é um exemplo de protocolo de roteamento de multicast que
mas é u1n exagero para o n1ulticast, con10 pode1nos ver pe- funciona dessa maneira (Waitzn1an et ai., 1988).
las duas versões podadas que aparecem e1n seguida. Na Fi- A poda resulta em spanning trees eficientes, que usam
gura 5.16(c), todos os enlaces que não levam a hosts que apenas os enlaces realmente necessários para alcançar os
são membros do grupo 1 foram removidos. O resultado é a membros do grupo. Uma desvantagem potencial desse al-
spanning tree de mu lticast para o roteador mais à esquerda goritmo é que ele gera 1nuito trabalho para os roteadores,
enviado para o grupo 1. Os pacotes são encaminhados ape- especialmente e1n redes maiores. Suponha que u1na rede te-
nas ao longo dessa spanning tree, o que é mais eficiente que nha n grupos, cada qual com uma 1nédia de 11·1 nós. En1 cada
a árvore de broadcast, pois existem sete enlaces em vez de roteador e para cada grupo, devem ser armazenadas 1n
dez. A Figura 5.16(d) mostra a spanning tree de multicast spanning trees podadas, perfazendo um total de 111n árvores.
após a poda para o grupo 2. Ela tan1bé1n é eficiente, com Por exe1nplo, a Figura 5.16(c) 1nostra a spanning tree para o
apenas cinco enlaces dessa vez. Percebe-se, assim, que di- roteador 1nais à esquerda enviando para o grupo 1. A span-
ferentes grupos de multicast têm diferentes spanning trees. ning tree para o roteador mais à direita enviando para o gru-
Existem vários métodos que podem ser usados para po 1 (que não aparece) será muito diferente, pois os pacotes
podar utna spanning tree. O mais simples pode ser usado se retornarão diretamente para os me1nbros do grupo, em vez
o rotea1nento de estado de enlace for empregado e cada ro- de pelo lado esquerdo do grafo. Isso, por sua vez, significa
teador estiver ciente da topologia completa, inclusive quais que os roteadores devem encaminhar pacotes destinados ao
hosts pertencem a cada um dos grupos. Cada roteador pode, grupo l em diferentes direções, dependendo de qual nó está
então, construir sua própria spanning tree podada para cada enviando ao grupo. Quando existem muitos grupos gran-
transmissor para o grupo em questão, nonnaln1ente cons- des, com 1nuitos transn1issores, é necessário um armazena-
truindo uma árvore de escoamento para o transmissor e, de- mento considerável para todas as árvores.
pois, removendo todos os enlaces que não conectam mem- Um projeto alternativo utiliza árvores baseadas em
bros do grupo ao nó de escoamento. O MOSPF (Multicast núcleo para calcular uma única spanning tree por grupo
OSPF) é um exe1nplo de un1 protocolo de estado de enlace (Ballardie et ai., 1993). Todos os roteadores concordam
que funciona dessa 1naneira (Moy, 1994). com u1na raiz (o núcleo ou ponto de encontro) e 1nontam
Quando se emprega o roteamento por vetor de distân- a árvore enviando um pacote de cada membro para essa
cia, é possível utilizar outra estratégia de poda. O algoritmo raiz. A árvore é a união dos caminhos traçados por esses
básico é o encaminha1nento pelo caminho inverso. Entre- pacotes. A Figura 5. l 7(a) n1ostra u1na árvore baseada e1n
tanto, se1npre que um roteador sem hosts pertencentes a um núcleo para o grupo 1. Para enviar u1na mensage1n para
grupo específico e se1n conexões com outros roteadores re- esse grupo, um transmissor manda u1n pacote ao núcleo.
cebe uma mensagem de rnulticast relacionada a esse grupo, Quando o pacote alcança o núcleo, ele é encaminhado pela
ele responde com uma 1nensagem PRUNE, informando ao árvore. Isso pode ser visto na Figura 5. l 7(b) para o trans-
transmissor que este não deve enviar n1ais mensagens de 1nissor no lado direito da rede. Como u1na otimização de
multicast para esse grupo. Quando um roteador se1n 1nen1- desen1penho, os .pacotes destinados ao grupo não precisam
.

bros de grupos entre seus próprios hosts recebe tais men- alcançar o núcleo antes de ser transmitidos por multicast.
sagens em todas as suas linhas para as quais ele envia o Assi1n que o pacote alcança a árvore, ele pode ser enca-
multicast, ele também pode responder com uma n1ensagem minhado para ci1na, e1n direção à raiz, ou para baixo, para

1 1
Transmissor
.... . .
1

Núcleo

1 1
1 1
(a) (b}

Figura 5.17 (a) Arvore baseada em núcleo para o grupo 1. (b) Enviando para o grupo 1.
Capítulo 5 • A camada de rede 251

todos os outros galhos. Isso acontece para o transn1issor Felizn1ente, não tere1nos de criar novos esquen1as de
no topo da Figura 5. l 7(b). roteamento para o anycast, pois o roteamento nonnal por
Ter uma árvore compartilhada não é ideal para to- vetor de distância e de estado de enlace pode produzir ro-
das as origens. Por exemplo, na Figura 5. l 7(b), o pacote tas de anycast. Suponha que queiramos realizar o anycast
do trans1nissor no lado direito alcança o me1nbro do grupo para os 1ne1nbros do grupo 1. Todos eles receberão o ende-
superior direito por meio do núcleo em três hops, e não di- reço " l ", en1 vez dos diferentes endereços. O rotea1nento
retamente. A ineficiência depende do local onde o núcleo por vetor de distância distribuirá vetores normal1nente, e os
e os trans1nissores estão localizados, mas nonnalmente é nós escolherão o caminho mais curto até o destino 1. Isso
razoável quando o núcleo está no meio dos transmissores. resultará e1n nós enviando para a ocorrência 1nais próxima
Quando existe apenas um único trans1nissor, como em um do destino 1. As rotas aparecem na Figura 5.18(a). Esse
vídeo transmitido para um grupo, o uso do transmissor procedimento funciona porque o protocolo de roteamento
como núcleo é o ideal. não observa que existem várias ocorrências do destino 1.
Observe ta1nbé1n que as árvores compartilhadas po- Ou seja, ele acredita que todas as ocorrências do nó l são o
den1 ser u1na economia importante em custos de armazena- mes1no nó, como na topologia mostrada na Figura 5.18(b).
mento, envio de mensagens e computação. Cada roteador Esse procedimento também funciona para o rotea-
precisa manter apenas uma árvore por grupo, em vez de mento de estado de enlace, e1nbora exista uma considera-
m árvores. Além disso, os roteadores que não fazem parte ção adicional de que o protocolo de roteamento não deva
da árvore não realizam trabalho para dar suporte ao grupo. encontrar ca1ninhos aparentemente curtos que passan1 pelo
Por esse niotivo, técnicas de árvore compartilhada, como nó 1. Isso resultaria em saltos pelo hiperespaço, pois as
as árvores baseadas em núcleo, são usadas em multicasting ocorrências do nó l são, na realidade, nós localizados em
para grupos esparsos na Internet co1no parte dos protoco- diferentes partes da rede. Contudo, os protocolos de estado
los populares co1no o multicast independente de protocolo de enlace já faze1n essa distinção entre roteadores e hosts.
(Fenner et ai., 2006). Passamos por ci1na desse fato anterionnente porque ele não
foi necessário para nossa discussão.

5.2.9 Roteamento por anycast


Até aqui, estudamos os modelos de entrega em que uma 5.3 CONTROLE DE TRÁFEGO
origem envia para um único destino (chamado unicast),
para todos os destinos (chamado broadcast) e para um NA CAMADA DE REDE
grupo de destinos (chamado multicast). Outro modelo de
entrega, chamado anycast, às vezes também é útil. No any- Quando há pacotes demais em qualquer parte da rede, isso
cast, um pacote é entregue ao membro mais próximo de um pode causar atraso de pacotes e uma perda prejudicial ao de-
sempenho. Essa situação é chamada de congestionamento.
grupo (Partridge et ai ., 1993). Os esquemas que encontrarn
esses caminhos são chamados de roteamento por anycast.
'
Por que desejarían1os usá-lo? As vezes, os nós ofere- 5.3.1 Necessidade de controle de
cem u1n serviço, co1no a hora do dia ou a distribuição de
conteúdo, para o qual obter a infonnação co1Teta é tudo o
tráfego: congestionamento
que iinporta, e não o nó que é contatado; qualquer nó servi- As ca1nadas de rede e transporte con1partilha1n a responsa-
rá. Por exemplo, o anycast é usado na Internet con10 parte bilidade de lidar com o congestiona1nento. Co1no ele ocor-
do DNS, confonne vere1nos no Capítulo 7. re dentro da rede, é a camada de rede que o experimenta

~/ /•.
I
,.. ....

,,..
\

------.
1 1
1
• 1
\
/

~/
_ ;

•1 ...
1

(a) (b)

Figura 5.18 (a) Rotas de anycast para o grupo 1. {b) Topologia vista pelo protocolo de roteamento.
252 Redes de computadores

diretamente e, por fim, precisa dete1minar o que fazer com cai enquanto a carga oferecida aumenta além da capaci-
os pacotes em excesso. Contudo, o 1nodo 1nais eficiente de dade. Resumindo, o colapso de congestionamento ocorre
controlar o congestionamento é reduzir a carga que a ca- quando o au1nento da carga na rede resulta efetivamente
mada de transporte está colocando sobre a rede. Isso exige e1n menos h·áfego sendo entregue com sucesso. Isso pode
que as can1adas de rede e de h·ansporte trabalhen1 juntas. acontecer porque os pacotes podern ser atrasados dentro
A camada de rede não atenua auto1natica1nente o conges- da rede por tanto tempo que não são mais úteis quando sa-
tionamento, n1as os operadores da rede podem configurar írem dela. Por exemplo, no início da Internet, o tempo que
roteadores, switches e outros dispositivos nela para reduzir um pacote gastava esperando u1n acúmulo de pacotes à
os seus efeitos, norn1almente to1nando ações que encoraja- sua frente para ser enviado por um enlace lento de 56 kbps
riam um dispositivo a reduzir sua taxa de transmissão ou atingia o te1npo 1náxin10 que ele poderia pennanecer na
enviando tráfego ao longo de caminhos diferentes e menos rede. Depois disso, tinha de ser descartado. U1n 1nodo de
congestionados na rede. Nesta seção, examinaremos os as- falha diferente ocorre quando os transmissores retransn1i-
pectos do congestionamento que dizem respeito ã ca1nada te1n pacotes já bastante atrasados, achando que eles foram
de rede e os mecanismos que ela utiliza para controlá-lo e perdidos. Nesse caso, cópias do mesmo pacote serão en-
gerenciá-lo. Para evitar confusão com o uso mais comum tregues pela rede, novamente desperdiçando sua capacida-
da fase de "controle de congestionamento'', que costurna de. Para capturar esses fatores, o eixo y da Figura 5.19 é
ser usada por alguns autores para descrever funções da indicado como goodput, que é a taxa em que os pacotes
camada de transporte, neste capítulo discutiremos as práti- úteis são entregues pela rede.
cas para gerenciar o congestionamento na camada de rede Gostaríamos de projetar redes que evitassem o con-
como controle de congestionamento ou controle de trá- gestionamento se1npre que fosse possível e não sofressem
fego. No Capítulo 6, coinpletaremos o assunto abordando cotn o colapso se elas se tornassem congestionadas de al-
os mecanismos que a camada de transporte utiliza para ge- guma maneira. Infelizmente, e1n uma rede de co1nutação
renciar o controle de congestionainento. de pacotes, o congestionamento não pode ser totalmente
A Figura 5.19 ilustra o início do congestionamento. evitado. Se os fluxos de pacotes começarem a chegar re-
Quando o número de pacotes que os hosts enviam pela pentinamente em três ou quatro linhas de entrada e todos
rede está dentro de sua capacidade de transporte, a quan- precisarem da mesma linha de saída, uma fila será forma-
tidade de tráfego entregue é proporcional à quantidade da. Se a memória for insuficiente para conter todos eles,
enviada. Se o dobro for enviado, o dobro será entregue. os pacotes se perderão. A inclusão de 1nais 1ne1nória aju-
Entretanto, à medida que a carga oferecida se aproxima da dará até certo ponto, 1nas Nagle (1987) descobriu que, se
capacidade de transporte, rajadas de h·áfego ocasionalmen- os roteadores tiverem um volu1ne infinito de memória, o
te preenchem os buffers dentro dos roteadores e alguns pa- congestionan1ento piorará, e não 1nelhorará. Mais recente-
cotes se perdem. Esses pacotes perdidos consome1n parte mente, os pesquisadores descobriram que rnuitos dispositi-
da capacidade, de modo que o nú1nero de pacotes entre- vos de rede costumam ter mais memória do que precisam,
gues cai para menos do que a curva ideal. A rede agora está um conceito que se tornou conhecido como bufferbloat.
congestionada. Os dispositivos de rede com muita memória podem preju-
Em algum ponto, a rede poderá experimentar un1 dicar o desempenho da rede por vários motivos. Primeiro,
colapso de congestionamento, e1n que o desempenho no 1no1nento em que os pacotes chegarem ao início da fila,
eles já terão seu tempo limite esgotado (repetidamente) e as
cópias já terão sido enviadas. Segundo, como discutiremos
Ideal no Capítulo 6, os transmissores precisam de infonnações
Capacidade oportunas sobre o congestionamento da rede, e se os paco-
tes fore1n armazenados nos buffers do roteador, em vez de
Resposta
desejável serem descartados, os transmissores continuarão a enviar
tráfego, o que congestiona a rede. Isso piora as coisas, e não
t
Início do
Colapso de melhora - leva ao colapso do congestiona1nento.
congestionamento
congestionamento Enlaces ou roteadores de pouca largura de banda, que
processa1n pacotes mais lentan1ente do que a capacidade de
um enlace da rede, tan1bé1n podem ficar congestionados.
Nos casos em que a rede possui capacidade adicional e1n
Carga oferecida (pacotes/s)
outras partes, o congestiona1nento pode ser 1nitigado dire-
Figura 5.19 Quando há congestionamento, o desempe- cionando parte do tráfego do gargalo para outras (menos
nho cai significativamente: as taxas de perda de pacotes e congestionadas) partes da rede. No entanto, o aun1ento das
a latência, aumentam à medida que as filas do roteador se demandas de tráfego pode resultar no congestionamento
enchem de pacotes. de todas as partes da rede. Nessa situação, duas técnicas
Capítulo 5 • A camada de rede 253

podem ser usadas pelos operadores: cortar a carga (i.e., re- Iniciaren1os nosso estudo do controle de congestiona-
mover o tráfego) ou oferecer rnais capacidade. mento examinando as técnicas que podem ser usadas em
Vale a pena destacar a diferença entre controle de diferentes escalas de ternpo. Depois, vere1nos estratégias
congestionamento, controle de tráfego e controle de flu- gerais para evitar que os congestionarnentos ocorram, se-
xo, pois o relacionan1ento entre eles é n1uito sutil. O con- guidas por técnicas para lidar con1 os congestionamentos,
trole de tráfego (também cha1nado engenharia de tráfego) uma vez que se manifestem.
se baseia na garantia de que a rede é capaz de transportar o
tráfego oferecido; ele pode ser realizado por dispositivos na
rede ou pelos transmissores de tráfego (normahnente, por 5.3.2 Técnicas de controle de
meio de mecanismos no protocolo de transporte, que são congestionamento
indicados por controle de congestionamento). O controle
A presença de congestionamento significa que a carga é
de congestionamento tem a ver com o comportamento de
(ten1poraria1nente) maior do que os recursos (em uma par-
todos os hosts e roteadores. O controle de fluxo, por sua
te da rede) pode111 tratar. Podemos irnaginar duas soluções:
vez, está relacionado ao tráfego entre um transmissor em aumentar os recursos ou dirninuir a carga. Con10 ve1nos na
particular e urn receptor e111 particular, e geralmente garante Figura 5.20, essas soluções normalmente são aplicadas em
que utn transmissor rápido não transmita dados com 1nais diferentes escalas de ten1po para in1pedir o congestiona-
rapidez do que a capacidade de processarnento do receptor. mento ou reagir a ele quando ocorre.
Sua função é garantir que nenhurn dado se perca porque
A forma mais básica de evitar o congestiona1nento
o transmissor é mais poderoso do que o receptor, envian-
é criar uma rede que combine ben1 corn o tráfego que ela
do dados mais rapidamente do que o receptor é capaz de
transporta. Se existe um enlace com pouca largura de ban-
absorvê-los.
da no caminho ao longo do qual a nJaior parte do tráfego
Para entender a diferença entre esses dois conceitos, é direcionada, o congestionamento é provável. As '
vezes,
considere uma rede de fibra óptica com capacidade de 100 recursos podem ser acrescentados dinamicamente quando
Gbps, na qual um superco1nputador está tentando transferir existe um congestionamento sério, por exe1nplo, ativando
um arquivo para um computador pessoal que é capaz de tra- roteadores de reserva ou habilitando linhas que normalmen-
tar apenas 1 Gbps. Mesrno que não haja congestionamento te são usadas apenas como backups (para tornar o sistema
(a rede ern si não apresenta problernas), o controle de flu- tolerante a falhas) ou adquirindo largura de banda no mer-
xo é necessário para forçar o supercomputador a parar com cado aberto. Mais frequentemente, os enlaces e roteadores
frequência, permitindo que o computador pessoal tenha a normalmente muito utilizados são atualizados na primeira
chance de "respirar". oportunidade. Isso é chamado provisionamento, e acon-
No outro extremo, considere un1a rede con1 linhas de tece em uma escala de tempo de meses, controlada pelas
l Mbps e mil computadores de grande porte, metade dos tendências de tráfego em longo prazo.
quais está tentando transferir arquivos a l 00 kbps para a Para obter o máximo da capacidade da rede existen-
outra metade. O problema aqui não é o fato de os transn1is- te, as rotas podem ser ajustadas para os padrões de tráfe-
sores rápidos serern mais poderosos que os receptores len- go que mudam durante o dia, à medida que os usuários da
tos, mas sitn a questão de o tráfego total oferecido exceder rede acordam e dormem em diferentes fusos horários. Por
o que a rede é capaz de tratar. exemplo, rotas podem ser alteradas para deslocar o tráfego
A razão para o controle de congestionarnento e o para longe de caminhos muito usados alterando os pesos do
controle de fluxo com frequência serem confundidos é carninho mais curto. Algumas estações de rádio possuem
que a rnelhor forrna de lidar com esses dois problernas é helicópteros que voam sobre sua cidade para informar so-
fazer o host diminuir a velocidade. Dessa forma, um host bre congestionamentos nas estradas, possibilitando aos ou-
pode receber un1a mensage1n "reduzir velocidade", seja vintes direcionar seus pacotes (carros) para fora dos pontos
porque o receptor não pode manipular a carga, seja porque críticos. Isso é chamado roteamento com conhecimento
a rede não é capaz de tratá-la. Voltaretnos a esse assunto do tráfego. Dividir o tráfego por vários caminhos também
no Capítulo 6. é útil.

Provisio- Roteamento com


namento conhecimento Controle Controle Corte de
da rede do tráfego de acesso de tráfego carga

Mais lento Mais rápido


(preventivo) (reativo)

Figura 5.20 Escalas de tempo das técnicas para o controle de tráfego e congestionamento.
254 Redes de computadores

Entretanto, às vezes não é possível aun1entar a capa- modelagen1 de tráfego (restringir a velocidade de trans-
cidade, especialmente em escalas de tempo curtas. A única missão para detenninado transmissor) e controle de tráfego
fonna de superar o congestionamento é diminuir a carga. (remover o tráfego de detenninado transmissor se ele ultra-
Em urna rede de circuito virtual, novas conexões podem ser passar algurna velocidade). U1na boa política para escolher
recusadas se fizerern a rede se tornar congestionada. Isso é quais pacotes descartar pode ajudar a impedir o colapso de
chamado de controle de acesso, tun conceito que, de forma congestiona1nento. Todos esses tópicos serão discutidos a
.
sirnples, nega aos transrnissores a capacidade de enviar trá- seguir.
fego se a capacidade da rede não puder suportá-lo.
Quando o congestionarnento é irninente, a rede pode Roteamento com conhecimento do tráfego
oferecer feedback às fontes cujo .fluxo de tráfego é respon-
A prirneira técnica que exarninarernos é o rotea1nento com
sável pelo problema. A rede pode solicitar que essas fontes
conheciinento do tráfego. Os esquemas de roteamento que
controlem seu tráfego, ou então a própria rede pode atra-
exa1nina1nos na Seção 5.2 usava1n pesos de enlace fixos,
sar o tráfego, um processo que às vezes é chamado de su-
que se adaptavam às rnudanças na topologia, mas não às
pressão (throttling). Duas dificuldades com essa técnica
n1udanças na carga. O objetivo de levar en1 consideração a
são corno identificar o início do congestionamento e como
carga quando se calculan1 as rotas é deslocar o tráfego para
informar à fonte que ela precisa diminuir sua velocidade.
fora dos pontos críticos, que serão os primeiros lugares na
Para enfrentar o prirneiro problema, os roteadores podem
rede a experimentar congestiona1nento.
monitorar a carga média, o atraso com enfileiramento ou a
O modo 1nais direto de fazer isso é definir o peso do
perda de pacotes e enviar um feedback aos transmissores,
en lace como uma função da largura de banda do enlace
explícita ou implicitamente (p. ex., descartando pacotes),
(fixa) e atraso de propagação mais a carga medida (variá-
para que eles diminuarn a velocidade. vel) ou atraso médio do enfileiramento. Os caminhos co1n
Quando o feedback é explícito, os roteadores preci- menor peso, portanto, favorecerão os caminhos menos car-
sam participar de un1 loop de feedback com as fontes. Para regados, se todos os outros critérios forem iguais.
que o esquema funcione de fon11a correta, a escala de ten1- O roteamento com conhecimento do tráfego foi usado
po deve ser ajustada cuidadosamente. Se toda vez que dois no início da Internet de acordo com esse modelo (Khanna
pacotes chegarem e1n sequência um roteador gritar PARE, e Zinky, 1989). Contudo, existe u1n risco. Considere a rede
e toda vez que urn roteador ficar ocioso por 20 µs gritar da Figura 5.21, que é dividida em duas partes, Leste e Oes-
SIGA, o sisterna oscilará rnuito e nunca convergirá. Contu- te, conectadas por dois enlaces, CF e EJ. Suponha que a
do, se ele esperar 30 rninutos para ter ce11eza antes de dizer rnaior parte do tráfego entre Leste e Oeste esteja usando o
algo, o n1ecanisn10 de congestionarnento reagirá muito len- enlace CF e, como resultado, ele esteja bastante carregado,
tamente para ter qualquer utilidade. A entrega de feedback com longos atrasos. A inclusão do atraso de enfileiramento
em tempo é uma questão essencial. Outro problema é que no peso usado para o cálculo do caminho mais curto tor-
os roteadores enviam mais rnensagens quando a rede já está nará El mais atraente. Depois que as novas tabelas de ro-
congestionada. teamento tiverem sido inseridas, a rnaior parte do tráfego
Outra técnica é fazer a rede descartar pacotes que ela Leste-Oeste agora passará para E!, carregando esse enlace.
não pode entregar. O no1ne geral para isso é corte de car- Consequentemente, na próxima atualização, CF parecerá
ga, e existem várias formas de conseguir isso, incluindo ser o caminho mais curto. Como resultado, as tabelas de

Oeste Leste

B e F

Figura 5.21 Uma rede em que as partes Leste e Oeste são conectadas por dois enlaces.
Capítulo 5 • A camada de rede 255

rotean1ento poderão oscilar bastante, ocasionando um rote- O tráfego nonnaln1ente é descrito em termos de sua
amento errático e muitos problemas potenciais. velocidade e forma. O problen1a de como descrevê-lo de
Se a carga for ignorada e apenas a largura de banda e modo simples, porém significativo, é dificil porque o trá-
o atraso de propagação forem considerados, esse proble- fego é tipicamente feito em rajadas - a velocidade média é
ma deixará de existir. As tentativas de incluir a carga, mas apenas rnetade da história. Por exen1plo, é n1ais difícil lidar
mudar os pesos dentro de uma faixa estreita, só atrasam as con1 o tráfego que varia enquanto se navega pela Web do
oscilações no roteamento. Duas técnicas podetn contribuir que com um streaming de vídeo com o mesmo throughput
para uma solução bem-sucedida. A primeira é o rotean1ento em longo prazo, pois as rajadas de tráfego da Web têm
por caminhos múltiplos, em que pode haver vários can1i- n1aior probabilidade de congestionar os roteadores na rede.
nhos de uma origem a um destino. Em nosso exemplo, Um descritor muito utilizado, que captura esse efeito, é o
isso significa que o tráfego pode ser espalhado pelos dois leaky bucket ou token bucket. Um leaky bucket te1n dois
enlaces, de Leste a Oeste. A segunda é que o esquema de parân1etros que delimitam a velocidade média e o tama-
roteamento desloque o tráfego pelas rotas de maneira lenta nho da rajada instantânea de tráfego. Como estes são dois
o suficiente para que seja capaz de convergir, como no es- mecanisrnos comuns para a n1odelagem de tráfego, vamos
quema de Gallagher (1977). examiná-los com mais detalhes naquela seção.
Com essas dificuldades, na Internet, os protocolos de Armada co111 as descrições de tráfego, a rede pode de-
roteamento geralmente não ajustam suas rotas dependendo cidir se admitirá o novo circuito virtual. Uma possibilida-
da carga. Ern vez disso, os ajustes são feitos no protocolo de é que a rede reserve capacidade suficiente ao longo dos
de rotearnento ern escalas de tempo mais lentas pelos ope- carninhos de cada um de seus circuitos virtuais para que o
radores de rede, alterando lentamente a configuração e os congestiona111ento não ocorra. Nesse caso, a descrição do
parâmetros de roteamento, um processo chamado engenha- tráfego é um acordo de serviço sobre o que a rede garantirá
ria de tráfego. A engenharia de tráfego sempre foi um pro- a seus usuários. Impedimos o congestionamento, mas nos
cesso rnanual e trabalhoso, sen1elhante a uma arte oculta. desviamos para o tópico relacionado à qualidade de serviço
Algurn trabalho tentou formalizar esse processo, n1aS as um pouco cedo den1ais; retornaremos a isso mais adiante.
cargas de tráfego da Internet são Ílnprevisíveis o suficiente Mesmo sem fazer garantias, a rede pode usar descri-
e os parâmetros de configuração do protocolo são variados ções de tráfego para controle de acesso. A tarefa é, então,
e desajeitados o suficiente para que o processo pennaneça estimar quantos circuitos caberão dentro da capacidade de
razoavehnente primitivo. Contudo, rnais recenternente, o transporte da rede sem congestionamento. Suponha que
advento da rede definida por software pern1itiu automatizar todos os circuitos virtuais que possatn lidar com o tráfego
algu1nas dessas tarefas, e o uso crescente de certas tecnolo- e1n velocidades de até 1OMbps passern pelo rnesrno enlace
gias, corno túneis MPLS ern toda a rede, deu aos operado- fisico de 100 Mbps. Quantos circuitos deverão ser admi-
res mais flex ibilidade para uma ampla garna de tarefas de tidos? É claro que dez circuitos podem ser admitidos sem
engenharia de tráfego. risco de congestionamento, 1nas isso é um desperdício no
caso nonnal, pois raramente acontecerá de todos os dez es-
Controle de acesso tarern transmitindo em volun1e rnáximo ao mesmo te111po.
Nas redes reais, medições de cornportamento passado, que
Uma técnica muito usada em redes de circuito virtual capturam as estatísticas das transtnissões, podem ser usadas
para reduzir o congestionarnento é o controle de acesso. para estimar o núrnero de circuitos a admitir, para negociar
A ideia é simples: não monte um novo circuito virtual a un1 n1elhor desernpenho para o risco aceitável.
menos que a rede possa transportar o tráfego adicional O controle de acesso també111 pode ser combinado
sem ficar congestionada. Assim, as tentativas de estabe- con1 o roteamento com conhecimento do tráfego, conside-
lecer urn circuito virtual podem falhar. Isso é rnelhor do rando rotas em torno dos pontos críticos do tráfego como
que a alternativa, pois pen11itir que n1ais pessoas entren1 parte do estabelecimento da conexão. Por exemplo, consi-
quando a rede está ocupada só torna as coisas piores. Por dere a rede ilustrada na Figura 5.22(a), en1 que dois rotea-
analogia, no sisterna telefônico, quando uma central está dores estão congestionados, conforme indicado.
sobrecan·egada, ela realiza controle de acesso não emitin- Suponha que urn host conectado ao roteador A queira
do sinais de discar. estabelecer urna conexão com um host conectado ao rote-
O tnrque com esta técnica é descobrir quando um novo ador B. Normalmente, essa conexão passaria por um dos
circuito virtual conduzirá ao congestionarnento. A tarefa é roteadores congestionados. Para evitar essa situação, pode-
sirnples na rede telefônica, em virtude da largura de banda mos redesenhar a rede como rnostra a Figura 5.22(b), omi-
fixa das cha1nadas (64 kbps para áudio não compactado). tindo os roteadores congestionados e todas as suas linhas.
Entretanto, os circuitos virtuais nas redes de computadores A linha tracejada mostra uma rota possível para o circuito
têm diversas fonnas e tamanhos. Assirn, o circuito precisa virtual, que evita os roteadores congestionados. Shaikh et
vir com alguma caracterização de seu tráfego se tivermos ai. (1999) têm urn projeto para esse tipo de roteamento sen-
de aplicar o controle de acesso. sível à carga.
256 Redes de computadores

Congestionamento

I
-·-
~lt,...
--._.,,. /J\""-,....-.,.

L------7ª
,,
·-
J''
/

Congestionamento

(a) (b)

Figura 5.22 (a) Uma rede congestionada. (b) A parte da rede que não está congestionada. Um circuito virtual de A para B
também aparece.

Corte de carga quadro completo. 'Nesse caso, descartar um pacote que faz
parte de uma diferença é preferível a descartar u1n que faz
Quando nenhu1n dos métodos anteriores fizer o conges- parte de um quadro co1npleto, pois pacotes futuros depen-
tionamento desaparecer, os roteadores poderão cha1nar a dem do quadro con1pleto.
artilharia pesada: o corte de carga. Esta é uma maneira Para in1plementar uma política de descarte inteligen-
diferente de dizer que, quando os roteadores estão sendo te, as aplicações devem marcar seus pacotes para indicar à
inundados por pacotes que não poden1 manipular, eles sin1- rede qual a irnportância deles. Depois, quando os pacotes
plesmente os descartam. A expressão vem do universo da tiverem de ser descartados, os roteadores poderão desca1tar
geração de energia elétrica, que se refere à prática das con- primeiro os pacotes da classe menos importante, depois os
cessionárias de apagar intencionalmente certas áreas para da próxima classe mais iinportante, e assim por diante.
impedir que toda a rede entre etn colapso nos dias quentes E' claro que, a menos que exista algum incentivo es-
de verão, quando a demanda por eletricidade (para alimen- pecial para evitar marcar os pacotes com MUITO IMPOR-
tar os aparelhos de ar condicionado) ultrapassa muito a ca- TANTE - NUNCA DESCARTAR, ninguérn o fará. O incen-
pacidade de fornecin1ento. tivo pode vir sob a for1na de dinheiro, a fin1 de desencorajar
A questão-chave para u1n roteador se afogando em pa- a marcação inescrupulosa. Por exemplo, a rede pode deixar
cotes é saber quais pacotes descartar. A escolha preferida que os transmissores enviem mais rapidamente do que o per-
pode depender do tipo das aplicações que usam a rede. Para mitido pelo serviço que eles adquirira1n se marcarem paco-
uma transferência de arquivos, um pacote antigo vale mais tes em excesso con10 baixa prioridade. Essa estratégia não
do que um novo. Isso porque descartar o pacote 6 e manter é realn1ente u1na má ideia, pois faz uso nlais eficiente dos
os pacotes de 7 a 1O, por exemplo, só forçará o receptor recursos ociosos, permitindo que os hosts os utilizem en-
a realizar 1nais trabalho para manter e1n buffer dados que quanto ninguém mais está interessado, mas sem estabelecer
ele ainda não pode usar. Ao contrário, para mídia em tempo um direito a eles quando a situação fica dificil.
real, um pacote novo vale mais do que u1n antigo. Isso por-
que os pacotes se tomam inúteis se forem atrasados e perde-
re1n o te1npo no qual devem ser reproduzidos para o usuário.
Modelagem de tráfego
A primeira dessas políticas (o antigo é melhor que o Antes que a rede possa fazer garantias de desempenho, ela
novo) costuma ser chamada política do vinho, e a segunda precisa saber que tráfego está sendo garantido. Na rede
(o novo é melhor que o antigo) é chamada política do leite, telefônica, essa caracterização é simples. Por exernplo,
pois a 1naioria das pessoas preferiria beber leite novo e vi- un1a charnada de voz (em formato não compactado) pre-
nho velho, e não o contrário. cisa de 64 kbps e consiste en1 uma amostra de 8 bits a
O corte de carga mais inteligente exige a cooperação cada 125 µ.s. Contudo, o tráfego nas redes de dados é por
dos transmissores. Um exemplo são os pacotes que trans- rajada. Ele normalmente chega em taxas não unifonnes
porta1n informações de rotean1ento. Esses pacotes são 1nais à n1edida que a taxa de tráfego varia (p. ex., videoconfe-
importantes do que os pacotes de dados normais, pois es- rência com compactação), os usuários interagem con1 as
tabelecem rotas; se forem perdidos, a rede pode perder a aplicações (p. ex., navegação em uma nova página Web)
conectividade. Outro exemplo é que certos algorit1nos para e os computadores alternam-se entre as tarefas. As raja-
co1npactação de vídeo, como MPEG, transmiten1 periodi- das de tráfego são mais difíceis de lidar do que o tráfego
camente un1 quadro inteiro e depois enviam quadros sub- com taxa constante, pois elas pode1n preencher os buffers
sequentes sob a forma de diferenças em relação ao último e causar perda de pacotes.
Capítulo 5 • A camada de rede 257

A modelagem de tráfego é uma técnica relacionada hnagine um balde (bucket) con1 u1n pequeno furo no
à regulagen1 da taxa média do fluxo de dados que entra na fundo, como ilustra a Figura 5.23(b). Independentemen-
rede. O objetivo é permitir que as aplicações transmitam te da velocidade com que a água entra no balde, o fluxo
uma grande variedade de tráfego que se ajuste a suas neces- de saída ocorrerá a un1a taxa constante, R, quando houver
sidades, incluindo algumas rajadas, e1nbora haja u1n modo qualquer quantidade de água no balde e zero quando o bal-
sünples e útil de descrever os possíveis padrões de tráfego de estiver vazio. Além disso, quando o balde estiver cheio
da rede. Quando um fluxo é configurado, o usuário e a rede até a capacidade B, qualquer água que entrar escorrerá pe-
(i.e., o cliente e o provedor) concordam com determinado las bordas e se perderá.
padrão de tráfego (ou seja, tuna forma) para aquele flu- Esse balde pode ser usado para 1nodelar ou contro-
xo. Com efeito, o cliente diz ao provedor "Meu padrão de lar os pacotes que entra1n na rede, co1no 1nostra a Figura
transmissão se parece con1 isso; você consegue lidar com 5.23(a). Conceitualmente, cada host está conectado à rede
ele?". por uma linha que contém um leaky bucket. Para enviar um
' vezes, esse acordo é chamado acordo de nível
As pacote para a rede, deverá ser possível colocar n1ais água no
de serviço, ou SLA (Service Levei Agreement), es- balde. Se um pacote chegar quando o balde estiver cheio,
pecialmente quando ele é feito por fluxos agregados e ou o pacote deverá ser enfileirado até que u1na quantidade
longos períodos, como todo o tráfego para determinado de água suficiente seja escoada para mantê-lo ou deverá ser
cliente. Desde que o cliente cumpra sua parte no negó- descartado. O primeiro caso poderia acontecer em um host
cio e envie somente pacotes que estejam de acordo com n1odelando seu tráfego para a rede como parte do sistema
o contrato, a concessionária de comunicações promete operacional. O segundo poderia acontecer no hardware, em
entregá-los em tempo. uma interface de rede do servidor que está controlando o
A modelagem de tráfego reduz o congestionarnento e tráfego que entra na rede. Essa técnica foi proposta por Tur-
ajuda a rede a cumprir sua promessa. Todavia, para que isso ner ( 1986) e é chamada de algoritmo leaky bucket.
funcione, também há a questão de como o provedor saberá U1na ideia diferente, poréin equivalente, é imaginar a
se o cliente está cumprindo o acordo e o que fazer em caso interface de rede como um balde que está sendo enchido,
negativo. Os pacotes que excedem o do padrão combina- como 1nostra a Figura 5.23(c). A torneira está jorrando na
do podem ser descartados pela rede, ou então ser marcados velocidade R e o balde tem urna capacidade B, como an-
con10 tendo menor prioridade. O 1nonitoramento de u1n flu- tes. Agora, para enviar utn pacote, temos de poder apanhar
xo de tráfego é cha1nado de controle de tráfego. água, ou shnbolos (tokens), à medida que o conteúdo for
A modelagem e o controle não são tão importantes chamado normalmente, a partir do balde (em vez de colo-
para o peer-to-peer e outras transferências que consu1nirão car água no balde). Não 1nais do que um número fixo de
toda e qualquer largura de banda disponível, mas são de tokens, 8 , poderá ficar acumulado no balde, e, se ele estiver
grande importância para dados e1n te1npo real, co1no cone- vazio, te1nos de esperar até que mais símbolos cheguem an-
xões de áudio e vídeo, que tê1n requisitos rigorosos de qua- tes de poder enviar outro pacote. Esse algoritmo é chamado
lidade de serviço. Já vÍJnos um modo de limitar a quantida- de algoritmo token bucket.
de de dados que uma aplicação envia: a janela deslizante, Os leaky e token buckets limitam a velocidade de um
que usa u1n parân1etro para limitar quantos dados estão em fluxo em longo prazo, 1nas permite1n que rajadas de curto
trânsito en1 detern1inado mo1nento, o que indireta1nente li- prazo até um ta1nanho 1náxi1no regulado passem inalteradas
mita a velocidade. Agora, veremos um modo mais genérico e sem sofrer nenhum atraso artificial. Grandes rajadas serão
de caracterizar o tráfego, com os algoritmos leaky bucket e suavizadas por um modelo de tráfego leaky bucket para re-
token bucket. As formulações são ligeiramente diferentes, duzir o congestiona1nento na rede. Co1no exemplo, imagi-
mas dão um resultado equivalente. ne que um con1putador possa produzir dados a 1.000 Mbps

Host D
l ..
Velo~dade
Pacotes B Colo0
'
agua ' ::>

n i
l >
> Verificar
balde
B Retirar
água/tokens
> aqui
>
..i l Velocidade
B

>
Rede \. f R

(a) (b) (e)

Figura 5.23 (a) Modelando pacotes. (b) Um leaky bucket. (e) Um token bucket.
258 Redes de computadores

(125 n1ilhões de bytes por segundo) e que o pri1neiro enlace permanece nivelado quando o tráfego está sendo enviado
da rede também funcione nessa velocidade. O padrão de trá- na velocidade do enchitnento.
fego que o host gera aparece na Figura 5.24(a). Esse padrão Também podemos moldar o tráfego para ter menos ra-
é em rajadas. A taxa média por segundo é de 200 Mbps, em- jadas. A Figura 5.24(c) 1nostra a saída de um token bucket
bora o host envie tuna rajada de 16.000 KB na velocidade com R = 200 Mbps e u1na capacidade de O. Esse é o caso
máxima de 1.000 Mbps (por 1/8 de segundo). extremo em que o tráfego foi completamente suavizado.
Agora, suponha que os roteadores possam aceitar Nenhuma rajada é permitida, e o tráfego entra na rede em
dados na velocidade máxüna somente por intervalos cur- uma velocidade constante. O nível do balde corresponden-
tos, até que seus buffers se encham. O tan1anho do buffer te, mostrado na Figura 5.24(f), se1npre está vazio. O tráfego
é de 9.600 KB, menor que a rajada de tráfego. Para inter- está sendo enfileirado no host para ser lançado na rede e
valos longos, os roteadores funciona1n melhor em veloci- sempre existe um pacote esperando para ser enviado quan-
dades que não ultrapassam 200 Mbps (digamos, porque do for permitido.
essa é toda a largura de banda dada ao cliente). A impli- Finalmente, a Figura 5.24(d) mostra o nível do balde
cação é que, se o tráfego for enviado nesse padrão, parte para um token bucket con1 R = 200 Mbps e un1a capacidade
dele será descartada na rede, pois não cabe nos buffers dos de B = 16.000 KB. Esse é o menor token bucket através do
roteadores. qual o tráfego passa sem alteração. Ele poderia ser usado
Para evitar essa perda de pacotes, podemos mode- e1n um roteador na rede para controlar o tráfego que o host
lar o tráfego no host con1 um token bucket. Se usarmos envia. No entanto, se o host estiver enviando tráfego em
uma velocidade, R, de 200 Mbps e uma capacidade, B, de confo1midade com o token bucket, como combinado com
9.600 KB, o tráfego estará dentro daquilo que a rede pode a rede, o tráfego passará pelo mesmo token bucket usado
lidar. A saída desse token bucket aparece na Figura 5.24(b). no roteador de borda da rede. Se o host enviar em uma ve-
O host pode enviar no máximo a 1.000 Mbps por um curto locidade mais rápida, ou com rajada maior, o token bucket
período até que tenha escoado totalmente o balde. Depois, ficará sem água. Se isso acontecer, o controlador de tráfe-
ele precisa recuar para 200 Mbps até que a rajada tenha go saberá que o tráfego não está em confonnidade co1n o
sido enviada. O efeito é distribuir a rajada com o tempo, combinado. Ele então removerá os pacotes em excesso ou
pois ela foi tnuito grande para lidar com tudo ao tnesmo reduzirá sua prioridade, dependendo do desenho da rede.
te1npo. O nível do token bucket aparece na Figura 5.24(e). E1n nosso exemplo, o balde se esvazia apenas 1non1entanea-
Ele começa cheio e é esvaziado pela rajada inicial. Quan- 1nente, no final da rajada inicial, depois recupera o suficien-
do alcança zero, novos pacotes só podem ser enviados na te para a próxima rajada.
velocidade e1n que o buffer está enchendo; não pode haver Os leaky e token buckets são fáceis de implementar.
mais rajadas até que o balde tenha se recuperado. O bal- Agora, va1nos descrever a operação de u1n token bucket.
de se enche quando nenhum tráfego está sendo enviado e E1nbora tenhamos descrito a água fluindo continua1nente

Velocidade (Mbps) Balde (KB)


125 MB/s por
1000 ~ 125ms 16000
25 MB/ s por
/250ms

(a) (d)

Com R = 25 MB/s,
/ B = 9.600 KB 9600 Balde esvazia,

/ "' /tráfego adiado

(b) (e)

Com R = 25 MB/s, B = O Balde sempre vazio


/ /
o .......
~~~~~~~~~~+-

Tempo (ms) 1000 Tempo (ms) 1000


(e) (f)

Figura 5.24 (a) Tráfego de um host. Saída modelada por um token bucket na velocidade de 200 Mbps e capacidade de
(b) 9.600 KB e (c) OKB. Nível do token bucket para modelagem com velocidade de 200 Mbps e capacidade de (d) 16.000 KB,
(e) 9.600 KB e (f) OKB.
Capítulo 5 • A camada de rede 259

para dentro e fora do balde, as implementações reais preci- enviados. Quando os token buckets são usados para contro-
sam funcionar com quantidades discretas. Um token bucket le de tráfego nos roteadores da rede, o algorit:Jno é simulado
é implementado com um contador para o nível do balde. para garantir que não sejam enviados mais pacotes que o
Esse contador é avançado por RIt:,,T unidades a cada batida pennitido. Não obstante, essas ferramentas fornecem 1neios
de clock de t:,,T segundos. Isso seria 200 Kbits a cada ms para n1odelar o tráfego de rede de maneira 1nais gerenciá-
em nosso exe1nplo anterior. Toda vez que un1a unidade de vel, a fim de atender aos requisitos de qualidade de serviço.
tráfego é enviada pela rede, o contador é decrementado e
o tráfego pode ser enviado até que o contador atinja zero. Controle ativo da fila
Quando todos os pacotes são do mesn10 ta1nanho,
o nível do balde pode sin1plesmente ser contado nos pa- Na Internet e en1 1nuitas outras redes de computadores,
cotes (p. ex., 200 Kbits são 20 pacotes de 1.250 bytes). os trans1nissores ajustam suas transn1issões para enviar o
Contudo, geralmente são usados pacotes de tamanho máximo de tráfego que a rede pode oferecer prontamente.
variável. Nesse caso, o nível do balde é contado em Nesse a1nbiente, a rede visa a operar imediatamente antes
bytes. Se a contagem de bytes residual é 1nuito baixa do início do congestionamento. Quando este é iininente, ela
para enviar um pacote grande, o pacote precisa esperar precisa dizer aos trans1nissores para desacelerar suas trans-
até o próximo sinal (ou ainda mais tempo, se a taxa de mjssões e seguir em um ritmo mais lento. Esse feedback é
preenchimento for pequena). o comportamento normal, não uma situação excepcional.
Calcular a duração da rajada máxima (até que o bal- A expressão prevenção de congestionamento às vezes é
de esvazie) é um pouco complicado. O cálculo não é feito usada para comparar esse ponto de operação com um em
simplesmente dividindo-se 9.600 KB por 125 MB/s, por- que a rede se toma (de1nasiadamente) congestionada.
que chegam mais símbolos enquanto a rajada está sendo Agora, vamos examinar algumas técnicas para contro-
transmitida. Se cha1narmos a duração da rajada de S segun- lar o tráfego que podem ser usadas nas redes de datagra-
dos, a taxa de saída máxüna de M bytes/s, a capacidade do n1as e nas redes de circuitos vi1tuais. Cada uma delas deve
token bucket de B bytes e a taxa de chegada de símbolos de resolver dois proble1nas. Primeiro, os roteadores precisa1n
R bytes/s, podemos ver que u1na rajada de saída contém no detenninar quando o congestionamento está se aproxin1an-
máxiino B + RS bytes. Também sabemos que o nú1nero de do, de preferência antes que ele seja alcançado. Para fazer
bytes e1n uma rajada à velocidade 1náxima de duração igual isso, cada roteador pode tnonitorar continua1uente os recur-
a S segundos é MS. Consequentemente, te1nos: sos que está usando. Três possibilidades são a utilização
dos enlaces de saída, a colocação de pacotes enfileirados
B + RS = MS no buffer do roteador e a nu1neração dos pacotes que se
perdem em razão do buffering insuficiente. Dessas possibi-
Podemos resolver essa equação para obter S = Bl (M - R). lidades, a segunda é a mais útil. As 1nédias da utilização não
Para nossos parâmetros de 8 = 9.600 .KB, M = 125 MB/s são direta1nente responsáveis pela explosão da maior parte
e R = 25 MB/s, obte1nos um te1npo de rajada de cerca de do tráfego - u1na utilização de 50% pode ser baixa para
94 ms. um tráfego tranquilo e muito alta para un1 tráfego alta1nente
Un1 problema potencial com o algorit:Jno de token bu- variável. As contagens de pacotes perdidos chegam muito
cket é que ele reduz rajadas grandes para a taxa em longo tarde. O congestiona1nento já terá sido estabelecido quando
prazo R. Normalmente desejamos reduzir a taxa de pico, esses pacotes forem perdidos.
mas sem di1ninuir a taxa e1n longo prazo (e també1n sem O atraso de enfileiramento dentro dos roteadores cap-
aun1entar a taxa a longo prazo para pennitir 1nais tráfego tura diretamente qualquer congestionamento experimen-
na rede). Uma forn1a de obter um tráfego mais suave é tado pelos pacotes. Ele quase sempre deve ser baixo, mas
inserir um segundo token bucket após o primeiro. A taxa saltará quando houver uma rajada de tráfego que gera um
do segundo balde deve ser muito maior que a do primeiro. acúmulo. Para manter wna boa estin1ativa do atraso de enfi-
Basica1nente, o priineiro balde caracteriza o tráfego, con- leiramento, d, uma amostra do tamanho instantâneo da fila,
sertando sua velocidade média, mas permitindo algumas s, pode ser tomada periodica1nente e d atualizado de acordo
rajadas. O segundo balde reduz a taxa de pico em que as com
rajadas são enviadas para a rede. Por exemplo, se a taxa
d novo = adantigo + ( 1 - a )s
do segundo token bucket for definida con10 500 Mbps e a
capacidade for defmida como O, a rajada inicial entrará na onde a constante a. detern1ina a velocidade que o roteador
rede a uma taxa de pico de 500 Mbps, que é menor que a se esquece da história recente. Isso é chamado média 1nóvel
taxa de 1.000 Mbps que tínhamos anterionnente. ponderada exponencialmente, ou EWMA (Exponentially
O uso de todos esses buckets pode ser um pouco Weighted Moving Average). Ela suaviza as flutuações e
co1nplicado. Quando os token buckets são usados para a é equivalente a u1n filt:J·o passa-baixa. Sempre que d 1nuda
modelagem de tráfego nos hosts, os pacotes são enfileira- para acima de algum patamar predefinido, o roteador obser-
dos e adiados até que os algoritmos permitam que sejam va o início do congestiona1nento.
260 Redes de computadores

O segundo problema é que os roteadores precisam en- de notificação, n1as implicitan1ente, se1n o roteador enviar
tregar um feedback em tempo aos transmissores que estão qualquer sinal explícito.
causando o congestionamento. Este é experimentado na Os roteadores RED 1neU1oram o desempenho e1n com-
rede, mas aliviá-lo requer ação por parte dos transmissores paração conl os roteadores que desca1ia1n pacotes quando
que estão usando a rede. Para oferecer feedback, o roteador seus buffers estão cheios, e1nbora possa1n exigir ajustes
precisa identificar os transn1issores corretos e adverti-los para que funcionem bem. Por exemplo, o número ideal de
cuidadosamente, sem enviar muito mais pacotes por uma pacotes a descartar depende de quantos transmissores pre-
rede já congestionada. Diferentes esquemas utilizan1 dife- cisam ser notificados do congestiona1nento. Contudo, a no-
rentes 1necanismos de feedback, conforme descreveremos tificação explícita é a opção preferida, se estiver disponível.
em seguida. Ela funciona exatamente da n1esma maneira, mas entrega
um sinal de congestionamento explicitamente, e não na
Detecção aleatória prematura forma de uma perda; a RED é usada quando os hosts não
• pode1n receber sinais explícitos .
E bem conhecido o fato de que lidar com o congestiona-
mento após sua detecção inicial é mais eficaz do que per-
mitir que o congestionamento se consolide e depois tentar
Pacotes reguladores
lidar com ele. Essa observação nos leva a u1na ideia inte- O modo mais direto de notificar um transmissor sobre o
ressante sobre o corte de carga, que é a de desca1iar pacotes congestionamento é comunicar-lhe diretamente. Nessa téc-
antes que todo o espaço dos buffers realmente se esgote. nica, o roteador seleciona um pacote congestionado e envia
A motivação para essa ideia é que a 1naioria dos hosts um pacote regulador de volta ao host de origem, dando-
da Internet ainda não recebe sinais de congestionamen- -lhe o destino encontrado no pacote. O pacote original pode
to dos roteadores na forma de uma notificação explícita. ser marcado (um bit de cabeçallio é ativado), de modo que
Em vez disso, a única indicação confiável de congestiona- não gere 1nais pacotes reguladores adiante no ca1ninho e
mento que os hosts recebe1n da rede é a perda de pacotes. seja encaminhado de modo nonnal. Para evitar o aumento
Afinal, é dificil montar um roteador que não descarte pa- da carga na rede durante u1n n101nento de congestionan1en-
cotes quando está sobrecarregado. Protocolos de transporte to, o roteador também pode enviar pacotes reguladores em
como o TCP são preparados para reagir à perda pelo con- um ritmo lento.
gestionamento, tomando a orige1n mais lenta em resposta. Quando o host de origem recebe o pacote regulador,
O raciocínio por trás dessa lógica é que o TCP foi projetado ele é solicitado a reduzir o tráfego enviado ao destino es-
para redes fisica1nente conectadas, as quais são 1nuito con- pecificado, por exe1nplo, em 50%. Em uma rede de data-
fiáveis; assim, a perda de pacotes se deve muito mais ao gramas, simplesmente escolher pacotes aleatórios quando
overflow dos buffers do que a erros de transmissão. Os en- houver um congestionamento provavelmente fará os pa-
laces se1n fio precisam recuperar erros de trans1nissão na cotes reguladores serem enviados a trans1nissores rápidos,
camada de enlace (de modo que não sejam vistos na can1a- pois eles terão a maioria dos pacotes na fila. O feedback
da de rede) para que funcionem bem com o TCP. criado por esse protocolo pode ajudar a impedir o con-
Esse fato pode ser explorado para ajudar a reduzir o gestionamento, ernbora não controle nenhum transtnissor,
congestionamento. Fazendo os roteadores descartarem os a menos que ele cause proble1na. Pelo nlestno motivo, é
pacotes tnais cedo, antes que a situação se tome desespera- provável que vários pacotes reguladores sejam enviados
dora, a ideia consiste e1n ter te1npo para en1preender algu- a determinado host de destino. O host deverá ignorares-
ma ação antes que seja tarde demais. Un1 algoritmo popular ses pedidos adicionais periodicamente até que sua redu-
para isso é chamado de detecção aleatória prematura, ção no tráfego tenha surtido efeito. Depois desse período,
ou RED (Random Early Detection) (Floyd e Jacobson, outros pacotes reguladores indicam que a rede ainda está
1993). Para deter1ninar quando começar a descartar, os congestionada.
roteadores mantê1n uma 1nédia acumulada do tan1anho de Um exemplo de pacote regulador usado na antiga in-
suas fi las. Quando o tan1anho n1édio da fila en1 algum enla- ternet é a 1nensagem SOURCE QUENCH (Postei, 1981).
ce ultrapassa detenninado patamar, o enlace é considerado Contudo, ela nunca vingou, talvez porque as circunstâncias
congestionado e uma pequena fração dos pacotes é descar- em que ela foi gerada e o efeito que ela tinha não foram cla-
tada aleatoria1nente. A escolha aleatória de pacotes torna ramente especificados. A Internet moderna usa um projeto
mais provável que os e1nissores 1nais rápidos noten1 u1n de notificação alternativo, que descrevere1nos a seguir.
pacote descartado; essa é a 1nelhor opção, pois o roteador
não sabe distinguir qual origem está causando mais proble-
Notificação explícita de congestionamento
ma na rede de datagramas. O transmissor afetado notará a
perda quando não houver confirmações e, então, o proto- Em vez de gerar pacotes adicionais para advertir quanto ao
colo de transporte dilninuirá a velocidade. Assiln, o pacote congestionamento, um roteador pode marcar qualquer pa-
perdido está entregando a mesma mensagem que o pacote cote que ele encan1inha (definindo um bit no cabeçalho do
Capítulo 5 • A camada de rede 261

pacote) para sinalizar que está havendo congestionamento. U1na abordagem alternativa é fazer o pacote regula-
Quando a rede entrega o pacote, o destino pode observar dor ter efeito a cada hop pelo qual passar, como mostra a
que existe congestiona1nento e infonnar ao trans1nissor sequência da Figura 5.26(b). Aqui, assim que o pacote re-
quando ele enviar um pacote de resposta. O trans1nissor gulador atinge F, o nó Fé solicitado a reduzir o fluxo para
pode, então, reduzir suas transmissões, como antes. D. Fazendo isso, F terá de dedicar 1nais buffers à conexão,
Esse projeto é chamado notificação explicita de con- pois a origem ainda estará transmitindo a plena carga, mas
gestionamento, ou ECN (Explicit Congestion Notifica- dará alívio imediato a D , como um remédio para dor de
tion), e é usado na Internet (Ramakrishnan et ai., 2001 ). cabeça em um comercial de televisão. Na etapa seguinte,
Ele é uma melhoria de antigos protocolos de sinalização de o pacote regulador atingirá E, o que o fará reduzir o flu-
congestionamento, principa!Inente o esque1na de feedback xo para F. Essa ação impõe u1na de1nanda 1naior sobre os
binário de Ramakrishnan e Jain ( 1988), que era usado na buffers de E, mas proporciona alívio imediato a F. Por fim,
arquitetura DECNET. Dois bits no cabeçalho do pacote IP o pacote regulador atinge A e o fluxo genuinamente dimi-
são usados para registrar se o pacote experimentou conges- nui sua velocidade.
tionamento. Os pacotes são desmarcados quando enviados, O efeito líquido desse esquema hop a hop é ofere-
confonne ilustra a Figura 5.25. Se qualquer un1 dos rotea- cer alívio rápido no ponto de congestiona1nento, ao preço
dores pelos quais eles passare1n estiver congestionado, oro- de au1nentar o consumo de buffers do fluxo ascendente
teador, então, n1arcará o pacote como tendo experiinentado (upstream). Dessa maneira, o congestionamento pode ser
congestiona1nento quando ele for encaminhado. O destino cortado pela raiz sem perda de pacotes. A ideia é analisada
ecoará quaisquer marcas de volta ao transmissor co1no um com 1nais detalhes e1n Mishra et ai. ( 1996).
sinal explícito de congestionamento em seu próxiino pacote
de resposta. Isso pode ser visto co1n uma linha tracejada na
figura, para indicar o que acontece acima do nível IP (p. ex., 5.4 QUALIDADE DE SERVIÇO E
no TCP). O trans1nissor precisa, então, reduzir suas trans-
missões, como no caso dos pacotes reguladores. QUALIDADE DE EXPERIÊNCIA
DA APLICAÇÃO
Pacotes reguladores hop a hop
As técnicas que exan1ina1nos nas seções anteriores fo-
Em altas velocidades ou em longas distâncias, muitos pa- ram projetadas para reduzir o congestionan1ento e 1nelho-
cotes novos podern ser transmitidos após o congestiona- rar o desempenho das redes. Contudo, existem aplicações
mento ter sido sinalizado, em razão do atraso, antes que (e clientes) que exige1n garantias de dese1npenho mais altas
o sinal tenha surtido efeito. Suponha que um host em São da rede do que "o melhor que poderia ser feito sob as atuais
Francisco (o roteador A da Figura 5.26) esteja enviando circunstâncias", tan1bém chamado de melhor esforço. Ain-
tráfego para um host e1n Nova Iorque (o roteador D da da assim, muitas aplicações frequentemente precisam de um
Figura 5.26) na velocidade OC-3 de 155 Mbps. Se o host throughput mínimo e latência máxima para funcionar. Nes-
de Nova Iorque começar a esgotar o espaço de buffers, ta seção, continuare1nos nosso estudo sobre o desempenho
levará cerca de 40 1ns para tun. pacote regulador voltar a da rede, 1nas co1n un1foco1nais nítido nas alternativas para
São Francisco e solicitar que a transrnissão seja mais lenta. oferecer uma qualidade de serviço adequada às necessida-
U1na indicação de ECN levará ainda 1nais tempo, pois ela é des das aplicações. Essa é uma área em que a Internet está
entregue por rneio do destino. A propagação do pacote re- passando por u1na atualização em longo prazo. Mais recen-
gulador é 1nostrada como a segunda, terceira e quarta eta- temente, ta1nbém houve um foco 1naior na Qualidade d e
pas da Figura 5.26(a). Nesses 40 1ns, outros 6,2 1negabits experiência (QoE) do usuário, que reconhece, finalmente,
terão sido enviados. Mesmo que o host em São Francisco que a experiência do usuário importa, e diferentes aplica-
seja imediatamente interrompido, os 6,2 megabits na rede ções têm requisitos e limites muito diferentes, no que se re-
continuarão a trafegar e terão de ser tratados. Somente no fere ao desempenho da rede. Uma área cada vez mais visada
sétimo diagra1na da Figura 5.26(a) é que o roteador em refere-se à estimativa da QoE do usuário dada a capacidade
Nova Iorque notará um fluxo 1nais lento. de observar apenas o tráfego criptografado da rede.

Pacote Roteador congestionado Pacote marcado

D d >
>
/ / > D
Host ~ -------------------------------------- Host
Sinal de congestionamento

Figura 5.25 Notificação explícita de congestionamento.


262 Redes de computadores

B e B e

A D A D

~ E ----F
/ ~ E ---- F
hiuxo
intenso

Re- Re-
gulador
/ gulador
h1uxo
reduzido

Fluxo"'-'\
reduzido "\. /

% uxo ainda na
velocidade máxima

/o fluxo é
reduzido

(a) (b)

Figura 5.26 (a) Um pacote regulador que afeta apenas a origem. (b) Um pacote regulador que afeta cada hop pelo qual passa.

5.4.1 Requisitos de qualidade de pacotes enviados de um processo para outro. As necessida-


des de cada fluxo podem ser caracterizadas por quatro parâ-
serviço da aplicação n1etros principais: largura de banda, atraso, flutuação e per-
Uma sequência de pacotes de uma origem até um destino da. Juntos, esses parân1etros determinam a qualidade d e
é cha1nada flu xo (Clark, 1988). Em uma rede orientada a serviço, ou QoS (Quality of Service), que o fluxo exige.
conexões, um fluxo pode ser todos os pacotes de uma co- Várias aplicações co1nuns e a rigidez de seus requisi-
nexão; em uma rede não orientada a conexões, são todos os tos estão listadas na Figura 5.27. Observe que os requisitos
Capítulo 5 • A camada de rede 263

Aplicação Largura de banda Atraso Flutuação Perda


E-mail Baixa Baixo Baixa Média
Compartilhamento de arquivos Alta Baixo Baixa Média
Acesso à Web Média Médio Baixa Média
Login remoto Baixa Médio Média Média

Audio por demanda Baixa Baixo Alta Baixa
Vídeo por demanda Alta Baixo Alta Baixa
Telefonia Baixa Alto Alta Baixa
Videoconferência Alta Alto Alta Baixa

Figura 5.27 Rigidez de requisitos de qualidade de serviço das aplicações.

da rede são menos exigentes do que os da aplicação naque- Mas, se o tempo de transmissão variar aleatoriamente entre
les casos em que a aplicação pode melhorar o serviço for- 1 e 2 segundos, o resultado será terrível, a menos que a apli-
necido pela rede. Em particular, as redes não precisan1 ser cação oculte a flutuação. Para o áudio, uma flutuação de
isentas de perda para a transferência confiável de arquivos, até rnesmo alguns milissegundos é claramente perceptível.
e elas não precisan1 entregar pacotes com atrasos idênticos As quatro prilneiras aplicações tê1n requisitos mais
para a reprodução de áudio e vídeo. Alguma perda pode- rigorosos sobre a perda do que áudio e vídeo, pois todos
rá ser reparada con1 retransn1issões, e algun1a quantidade os bits precisam ser entregues correta1nente. Esse objetivo
de flutuação pode ser suavizada mantendo-se pacotes en1 no1malmente é alcançado com retransmissões de pacotes
buffer no receptor. Contudo, não há nada que as aplicações perdidos na rede pela camada de transporte. Isso é trabalho
possam fazer para re1nediar a situação se a rede oferecer desperdiçado; seria melhor se a rede recusasse pacotes que
pouca largura de banda ou muito atraso. ela provavehnente perderia em pri1neiro lugar. Aplicações
As aplicações diferem em suas necessidades em largu- de áudio e vídeo podem tolerar alguns pacotes perdidos
ra de banda, com o e-mail, áudio em todas as suas formas sen1 retrans1nissão, pois as pessoas não observam pausas
e o login remoto não precisando de muita, 1nas o con1parti- curtas ou quadros pulados ocasionalmente.
Lhamento de arquivos e vídeo em todas as suas formas pre- Para aco1nodar uma série de aplicações, as redes po-
cisando de muita largura de banda. dem dar suporte a diferentes categorias de QoS. Um exem-
Mais interessantes são os requisitos de atraso. As apli- plo influente vem das redes ATM, que faziam parte de uma
cações de transferência de arquivos, incluindo e-mai l e ví- grande visão da rede, mas que desde então se tomaram uma
deo, não são sensíveis ao atraso. Se todos os pacotes esti- tecnologia de nicho. Elas dão supo11e a:
verem uniformemente atrasados por alguns segundos, não 1. Taxa de bits constante (p. ex., telefonia).
haverá qualquer dano. Aplicações interativas, como nave- 2. Taxa de bits variável em te1npo real (p. ex., videocon-
gação na Web e login remoto, são mais sensíveis ao atraso. ferência con1pactada).
Aplicações etn tempo real, co1no telefonia e videoconferên-
3. Taxa de bits variável não etn tempo real (p. ex., assis-
cia, têm requisitos estritos de atraso. Se todas as palavras
tir a un1 filme por demanda).
em u1na ligação telefônica forem atrasadas por um longo
tempo, os usuários considerarão a conexão inaceitável. Por 4. Taxa de bits disponível (p. ex., transferência de
sua vez, a reprodução de arquivos de áudio ou vídeo de um arquivos).
servidor não exige baixo atraso. Essas categorias també1n são úteis para outros propó-
A variação (ou seja, desvio padrão) no atraso ou no sitos e outras redes. A taxa de bits constante é u1na tentati-
te1npo de chegada do pacote é chamada de flutuação. va de silnular u1n fio que oferece uma largura de banda e
As três pri1neiras aplicações na Figura 5.27 não são sensí- u1n atraso unifonnes. A taxa de bits variável ocorre quan-
veis aos pacotes que tê1n entre si intervalos irregulares de do o vídeo é compactado, com alguns quadros sendo 1nais
chegada. O login remoto às vezes é sensível a isso, pois as con1pactados que outros. Desse n1odo, a transn1issão de
atualizações na tela aparecerão e1n pequenas rajadas se a u1n quadro com uma grande quantidade de detalhes pode
conexão sofrer muita flutuação. O vídeo e especialmente o exigir o envio de muitos bits, enquanto a transmissão de
áudio são extremamente sensíveis à flutuação. Se o usuário u1na foto de uma parede branca pode se co1npactar extre-
estiver vendo um vídeo pela rede e os quadros forem adia- ma1nente ben1. Os filmes por demanda não são realmente
dos por exata1nente 2.000 segundos, não haverá prejuízo. em tempo real, pois alguns segundos de vídeo podem ser
264 Redes de computadores

facilmente n1antidos en1 buffer no receptor antes que are- percorrem na rede. Para isso, esta1nos considerando que
produção seja iniciada, de modo que a flutuação na rede todos os pacotes de um fluxo segue1n a mesma rota. Dis-
simples1nente causa variação na quantidade de vídeo ar- persá-los pelos roteadores ao acaso toma difícil estabelecer
mazenado, 1nas não exibido. A taxa de bits disponível se qualquer garantia. Como consequência, algo semelhante a
destina a aplicações con10 e-1nail, não sensíveis ao atraso um circuito virtual tem de ser configurado desde a orige1n
ou à flutuação e que usa1n a largura de banda que puderem até o destino, e todos os pacotes que pertence1n ao fluxo
obter. devem seguir essa rota.
Os algoritmos que alocam recursos do roteador entre
os pacotes de um fluxo e entre fluxos concorrentes são cha-
5.4.2 Superprovisionamento mados de algoritmos de escalonamento de pacotes. Três
Uma solução fácil para fo1necer u1n serviço de boa quali- tipos de recursos potencialmente podem ser reservados
dade é constnür uma rede com capacidade suficiente para para diferentes fluxos:
qualquer tráfego que seja direcionado a ela. O norne dessa 1. Largura de banda.
solução é superprovisionamento. A rede resultante trans- 2. Espaço em buffer.
portará o tráfego de aplicativos sem perdas significativas e,
3. Ciclos de CPU.
assumindo um esquema de roteamento decente, entregará
pacotes com baixa latência. O desempenho não pode ser O primeiro recurso, a largura de banda, é o mais ób-
melhor do que isso. Até certo ponto, o siste1na telefônico vio. Se um fluxo exige 1 Mbps e a linha de saída te1n uma
é superprovisionado porque é raro pegar o telefone e não capacidade de 2 Mbps, tentar orientar três fluxos por essa
ouvir o to1n de discagem instantaneamente. Há tanta capa- linha é uma estratégia que não vai funcionar. Desse modo,
cidade disponível que a demanda quase sempre pode ser reservar largura de banda não significa sobrecarregar ne-
atendida. nhu1na linha de saída.
O proble1na dessa solução é que ela é cara. Basica- Um segundo recurso frequentemente escasso é o es-
mente resolve-se um problema jogando dinheiro nele. paço em buffer. Quando um pacote chega, em geral ele é
Os mecanismos de qualidade de serviço permitem que uma armazenado no roteador até poder ser transmitido na linha
rede com 1nenos capacidade atenda aos requisitos da apli- de saída escolhida. A finalidade do buffer é absorver pe-
cação a um custo mais baixo. Alén1 disso, o superprovisio- quenas rajadas de tráfego à 1nedida que os fluxos disputam
namento é baseado no tráfego esperado. Todas as apostas uns com os outros. Se nenhum buffer estiver disponível, o
serão canceladas se o padrão de tráfego n1udar 1nuito. Com pacote terá de ser descartado, pois não há lugar para colocá-
mecanismos de qualidade de serviço, a rede pode honrar -lo. Para alcançar u1na boa qualidade de serviço, alguns
as garantias de desempenho que oferece 1nesn10 quando há buffers podem ser reservados para um fluxo específico, de
picos de tráfego, ao custo de recusar algumas solicitações. forma que o fluxo não tenha de competir pelos buffers com
Quatro questões devem ser tratadas para garantir a qualida- outros fluxos. Até um número máximo, se1npre haverá um
de do serviço: buffer disponível quando o fluxo precisar de um.
Finalmente, os ciclos de CPU também podem cons-
1. O que as aplicações precisam da rede.
tituir um recurso escasso. O processan1ento de un1 pacote
2. Como regular o tráfego que enn·a na rede. exige tempo de CPU do roteador e, assin1, o roteador só
3. Co1no reservar recursos em roteadores para garantir o pode processar certo número de pacotes por segundo. Etn-
dese1npenho. bora os roteadores modernos sejam capazes de processar a
4. Se a rede pode aceitar mais tráfego com segurança. n1aioria dos pacotes rapida1nente, alguns tipos de pacotes
exigem maior processa1nento de CPU, co1no os pacotes
Nenhuma técnica isolada lida com todos esses pro-
ICMP, que descreveremos na Seção 5.7.4. É preciso ter cer-
blemas de forma eficiente. Em vez disso, diversas técni-
teza de que a CPU não está sobrecarregada, a fi1n de asse-
cas fora1n desenvolvidas para uso na ca1nada de rede (e de
gurar o processamento oportuno desses pacotes.
transporte). Soluções práticas de qualidade de serviço con1-
bina1n várias técnicas. Para tanto, descrevere1nos duas ver-
sões da qualidade de serviço para a internet, denominadas Escalonamento First-ln, First Out (FIFO)
Serviços integrados e Serviços diferenciados. Os algoritmos de escalonamento de pacotes alocam lar-
gura de banda e outros recursos do roteador detem1inando
quais dos pacotes no buffer serão enviados na linha de saída
5.4.3 Listagem de pacotes em seguida. Já descrevemos o escalonador mais simples
A capacidade de regular a forma do tráfego oferecido é um quando explicamos o funcionamento dos roteadores. Cada
bom início para garantir a qualidade de serviço. Todavia, roteador n1anté1n pacotes em buffer em uma fila para cada
para oferecer uma garantia de dese1npenho, temos de re- linha de saída, até que possan1 ser enviados na mes1na or-
servar recursos suficientes ao longo da rota que os pacotes dem em que chegaram. Esse algoritmo é conhecido como
Capítulo 5 • A camada de rede 265

FIFO (First-In, First-Out), ou, de n1odo equivalente, Embora seja um início, o algoritn10 ten1 uma falha:
FCFS (First-Come, First-Served). ele oferece mais largura de banda para os hosts que usa1n
Roteadores FIFO normalmente descartam pacotes grandes pacotes do que para os que usa111 pequenos pacotes.
recém-chegados quando a fila está cheia. Como o pacote De1ners et ai. (1990) sugeriratn uma melhoria ern que a ope-
recérn-chegado teria sido colocado no final da fila, esse ração é feita de modo que siinule un1 rodízio byte a byte,
comportatnento é cha1nado de descarte de cauda. Ele é in- en1 vez de um rodízio pacote a pacote. O truque é calcular
tuitivo, e você pode estar questionando quais são as alterna- um tempo virtual que seja o número da rodada em que cada
tivas que existem. De fato, o algoritmo RED que descreve- pacote acabaria sendo enviado. Cada rodada escoa un1 byte
mos na Seção 5.3.2 escolheu um pacote recém-chegado para de todas as fi las que possuem dados para enviar. Os pacotes
descartar aleatoriamente quando o tamanho médio da fila são, então, classificados na ordem da hora de finalização e
cresceu muito. Os outros algoritmos de escalonan1ento que enviados nessa ordem.
descreveremos ta111bén1 cria1n outras oportunidades para de- Esse algoritmo e un1 exe1nplo das horas de finalização
cidir qual pacote descartar quando os buffers estão cheios. para os pacotes que chegam por três fluxos são ilustrados
na Figura 5.29. Se um pacote tem tamanho L, a rodada em
Enfileiramento ordenado com rodízio de filas que ele terminará é simplesmente L rodadas após a hora
de início. Essa é a hora do ténnino do pacote anterior ou a
O escalonamento FIFO é simples de implementar, mas não hora da chegada do pacote, se a fila estiver vazia quando
é adequado para fornecer boa qualidade de serviço, pois, ele chegar.
quando existe1n múltiplos fluxos, u1n deles pode faci lmente Pela tabela na Figura 5.29(b) e examinando apenas os
afetar o desempenho dos outros. Se o primeiro fluxo for dois primeiros pacotes nas duas fi las superiores, os pacotes
agressivo e enviar grandes rajadas de pacotes, eles se aloja- chegam na ordem A, B, D e F. O pacote A chega na rodada
rão na fila. Processar pacotes na orden1 de chegada signifi- Oe tem 8 bytes de extensão, de inodo que sua hora de tér1ni-
ca que o transmissor agressivo pode tomar conta da maior no é a rodada 8. De maneira semelhante, a hora de término
parte da capacidade dos roteadores no enca1ninhamento para o pacote B é 11. O pacote D chega enquanto B está sen-
interno de pacotes, prejudicando os outros fluxos e redu- do enviado. Sua hora de ténnino é 9 rodadas de byte após
zindo sua qualidade de serviço. Para aumentar o problema, iniciar quando B chega, ou 20. De modo similar, a hora de
os pacotes de outros fluxos que não são encaminhados in- ténnino para Fé 16. Na ausência de novas chegadas, a or-
ten1amente provavehnente sofrerão adiamentos, pois eles dem de envio relativa é A, B, F , D , e1nbora F tenha chegado
devem ficar na fila atrás dos 1nuitos pacotes do transmissor depois de D. É possível que outro pacote pequeno chegue
. .
tna1s agressivo. no fluxo superior e obtenha uma hora de ténnino anterior a
Muitos algoritmos de escalonamento de pacotes foram D. Ele só saltará adiante de D se a transmissão desse paco-
criados para oferecer isolan1ento mais robusto entre os flu- te não tiver sido iniciada. O enfileira1nento ordenado co1n
xos e afastar tentativas de interferência (Bhatti e Crowcroft, rodízio de filas não se apropria de pacotes que estão sendo
2000). Um dos primeiros foi o algoritmo de enfileiramento transrnitidos atualmente. Como os pacotes são enviados por
ordenado com rodízio de filas, criado por Nagle (1987). inteiro, esse enfileiramento é apenas urna aproximação do
A essência dele é que os roteadores têm filas separadas, uma esquema byte a byte ideal. Mas ele é tuna boa aproxin1ação,
para cada fluxo para determinada linha de saída. Quando a ficando dentro de uma trans1nissão de pacote do esquema
linha fica ociosa, o roteador varre as filas em rodízio, como ideal em todos os 1nomentos.
mostra a Figura 5.28. Depois, ele pega o primeiro pacote
na próxima fila . Dessa fonna, corn n bosts competindo pela Enfileiramento ordenado com
linha de saída, cada host consegue enviar u1n de cada n pa-
rodízio de filas ponderado
cotes. Isso é justo no sentido de que todos os fluxos passam
a enviar pacotes na 111esma velocidade. O envio de mais pa- Uma deficiência desse algoritmo na prática é que ele dá a
cotes não melhorará essa velocidade. todos os hosts a nlesma prioridade. En1 muitas situações, é

1
DDDI
2
DDI Serviço
de rodízio
Linha de saída
3
DDDI
Filas de entrada

Figura 5.28 Enfileiramento ordenado com rodízio de filas.


266 Redes de computadores

Chega
atrasado Chega após D, mas
/ vai primeiro Pacote Hora de Tamanho Hora de Ordem
' chegada término de saída
A o 8 8 1
B 5 6 11 3
• c 5 10 10 2
D IITJ Enfileiramento
ordenado com D 8 9 20 7
rodízio de filas E 8 8 14 4
~=
G =..!ll=E==!.:11= c =!Jll 2x'
F 10 6 16 5
G 11 10 19 6
Filas de entrada O peso é 2 H 20 8 28 8
(a) (b)

Figura 5.29 (a) Enfileiramento ordenado com rodízio de filas ponderado. (b) Horas de término para os pacotes.

desejável dar, por exemplo, n1ais largura de banda aos ser- pacotes devem ter alta prioridade), e1nbora algu1na fração
vidores de vídeo do que, digamos, aos servidores de arqui- dos pacotes de baixa prioridade continue a ser enviada mes-
vos. Isso é facilmente possível dando ao servidor de vídeo mo quando existe tráfego de alta prioridade. Um sistema de
dois ou rnais bytes por rodada. Esse algoritmo modificado prioridades alta e baixa é basicamente um sistema WFQ de
é cha1nado enfileiramento ordenado com rodízio de filas duas filas em que a alta prioridade tem peso infinito.
ponderado, ou WFQ (Weighted Fair Queueing). Deixan- Co1no u1n exe1nplo final de escalonador, os pacotes
do o número de bytes por rodada ser o peso de u1n fluxo, poden1 carregar registros de tempo e ser enviados na ordem
W, pode1nos agora fornecer a fórmula para calcular a hora desses registros. Clark et ai. ( 1992) descrevem um projeto
de término: em que o registro de tempo grava quanto o pacote está atra-
sado ou adiantado enquanto é enviado por uma sequência
de roteadores no ca1ninbo. Os pacotes que tiverem sido
enfileirados atrás de outros e1n u1n roteador tende1n a es-
onde A; é a hora de chegada, F; é a hora de término e L; é o tar atrasados, e os pacotes que foram atendidos primeiro
tamanho do pacote i. A fila inferior da Figura 5.29(a) tem tendem a estar adiantados. Enviar pacotes na ordem de re-
um peso 2, de modo que seus pacotes são enviados mais gistros de tempo tem o efeito benéfico de agilizar pacotes
rapidamente, como você pode ver nas horas de ténnino da lentos ao 1nes1no te1npo que atrasa pacotes rápidos. O re-
Figura 5.29(b). sultado é que todos são entregues pela rede con1 u1n atraso
Outra consideração prática é a cotnplexidade da im- mais consistente, o que obviamente é uma coisa boa.
plementação. O WFQ requer que os pacotes sejam inseri-
dos por sua hora de término em uma fi la ordenada. Com N
fluxos, essa é, na melhor das hipóteses, uma operação de
Reunindo todos os elementos
ordem O(logN) por pacote, que é difícil de conseguir para Já vimos até aqui todos os elementos necessários para
muitos fluxos e1n roteadores de alta velocidade. Shreedhar QoS, e agora é hora de reuni-los para realmente oferecê-
e Vargbese ( 1995) descrevem uma aproximação chamada -la. As garantias de QoS são estabelecidas por meio do pro-
rodízio por déficit, que pode ser itnpletnentada de modo cesso de controle de acesso. Prin1eiro vin1os o controle de
muito eficiente, com apenas O( 1) operações por pacote. acesso usado para regular o congestiona1nento, o que é uma
O WFQ é muito usado com essa aproxirnação. garantia de desempenho, apesar de fraca. As garantias que
Ta1nbén1 existem outros tipos de algoritmos de escalo- esta1nos considerando agora são mais fortes, mas o mode-
nan1ento. Um exemplo simples é o escalonamento por prio- lo é o mes1no. O usuário oferece à rede um fluxo co1n un1
ridade, em que cada pacote é niarcado co1n u1na prioridade. requisito de QoS desejado. A rede decide, então, com base
Os pacotes co1n alta prioridade sempre são enviados antes en1 sua capacidade e na quantidade de compro1nissos que
de quaisquer pacotes de baixa prioridade que são 1nantidos já assumiu para outros fluxos, se deve admitir ou rejeitar o
em buffer. Dentro de unia prioridade, os pacotes são envia- fluxo. Se aceitar, a rede reserva capacidade com antecedên-
dos na orde1n FIFO (ou seja, primeiro a entrar, primeiro a cia nos roteadores para garantir a QoS quando o tráfego for
sair). Contudo, o escalona1nento por prioridade tem a des- enviado no novo fluxo.
vantagem de que u1na rajada de pacotes de alta prioridade As reservas devem ser feitas em todos os roteadores
poderá deixar os pacotes de baixa prioridade esperando in- ao longo da rota que os pacotes tomarão pela rede. Qual-
definida1nente. O WFQ normaln1ente oferece u1na alten1a- quer roteador sem reservas no caminho poderia se tornar
ti va melhor. Dando à fila de alta prioridade um peso gran- congestionado, e um único roteador congestionado pode
de, digamos 3, os pacotes de alta prioridade nor1nalmente quebrar a garantia de QoS. Muitos algoritn1os de rote-
atravessarão um caminho curto (pois relativamente poucos amento encontram o único melhor caminho entre cada
Capítulo 5 • A camada de rede 267

origem e cada destino e envia1n todo o tráfego por ele. Isso da rota, cada roteador a examina e modifica os parâmetros
pode fazer alguns fluxos serem rejeitados se não houver conforme for necessário. As nlodificações só podem redu-
capacidade de reserva suficiente ao longo do melhor ca- zir o fluxo, não aumentá-lo (p. ex., uma taxa de dados mais
minho. As garantias de QoS para novos fluxos ainda po- baixa, e não mais alta). Quando ela chega à outra extre1ni-
de1n ser ajustadas escolhendo-se uma rota diferente para dade, os parâmetros pode1n ser estabelecidos.
o fluxo que tenha capacidade em excesso. Isso é chan1ado Co1no exemplo do que pode haver e1n un1a especifi-
de roteamento por QoS. Chen e Nahrstedt ( 1998) ofere- cação de fluxo, considere a Figura 5.30, baseada nas RFCs
cen1 u1na visão geral dessas técnicas. Também é possível 221 Oe 2211 para os serviços integrados, um projeto de QoS
dividir o tráfego para cada destino por vários caminhos, que vere1nos na próxima seção. A especificação te1n cin-
para encontrar a capacidade em excesso co1n nlais facili- co parâmetros. Os dois primeiros, a taxa de token bucket
dade. U1n nlétodo silnples é que os roteadores escolham e o tan·1anho do token bucket, usam um token bucket para
ca1ninhos de mes1no custo e dividan1 o tráfego igual ou fornecer a taxa máxima sustentada que o transmissor pode
proporcionaln1ente co1n a capacidade dos enlaces de saída. transtnitir, co1n a média calculada para um longo intervalo
Todavia, algoritmos 1nais sofisticados ta1nbé1n estão dispo- de tempo, e a maior rajada que ele pode enviar por um curto
níveis (Nelakuditi e Zhang, 2002). intervalo de tempo.
Dado um caminho, a decisão de aceitar ou rejeitar um O terceiro parâmetro, a taxa de dados de pico, é a taxa
fluxo não é uma simples questão de con1parar os recursos máxiina de trans1nissão tolerada, 1nesmo durante breves in-
(largura de banda, butfers, ciclos) solicitados pelo fluxo tervalos. O trans1nissor nunca deve excedê-Ia, mesmo para
com a capacidade em excesso do roteador nessas três di- rajadas curtas.
mensões. O problema é um pouco 1nais complicado. Para Os dois últin1os parâmetros especificam os tamanhos
co1neçar, embora algumas aplicações possam conhecer mínimo e máximo do pacote, incluindo os cabeçalhos da ca-
seus requisitos de largura de banda, poucas sabem algo so- mada de transporte e da camada de rede (p. ex., TCP e IP).
bre butfers ou ciclos de CPU; então, no mínin10, é neces- O tamanho 1nínimo é i1nportante porque o processamento
sário encontrar uma forma diferente de descrever fluxos e de cada pacote demora um tempo fixo, independentemente
traduzir essa descrição para recursos do roteador. Veremos de quanto ele seja curto. Um roteador pode estar preparado
isso em breve. para manipular 10.000 pacotes/s de 1 KB cada u1n, mas não
estar preparado para tratar 100.000 pacotes/s de 50 bytes
Em seguida, algumas aplicações são muito nlais to-
cada um, embora isso represente un1a taxa de dados mais
lerantes à perda ocasional dentro de um prazo final que
baixa. O tamanho máximo do pacote é importante em razão
outras. As aplicações precisam escolher entre os tipos de
de limitações internas da rede que não podem ser excedi-
garantias que a rede pode oferecer, sejam elas rígidas, se-
das. Por exemplo, se parte do canlinho passar por uma rede
ja1n por con1portan1ento que será mantido na 1naior parte do
Ethernet, o ta1nanho 1náximo do pacote será restrito a não
tempo. Tudo o mais sendo igual, todos gostariam de garan-
mais que 1.500 bytes, independentemente do tan1anho que
tias rígidas, mas a dificuldade é que elas são caras, pois, na
o restante da rede possa inanipular.
pior das hipóteses, restringe1n o comporta1nento. As garan-
Urna pergunta interessante é corno u1n roteador trans-
tias para a maior parte dos pacotes norn1ahnente são sufi-
forma uma especificação de fluxo ,
en1 u1n conjunto de re-
cientes para as aplicações, e mais fluxos com essa garantia
servas de recursos específicos. A primeira vista, pode pa-
oferecida podem ser ad1nitidos como tuna capacidade fixa. recer que, se u1n roteador tem um enlace que transmite a,
Por fi1n, algumas aplicações podem estar dispostas a digamos, 1 Gbps e o pacote tem, em média, 1.000 bits, ele
pechinchar sobre os parâ1netros de fluxo e outras não. Por pode processar 1 1nilhão de pacotes/s. Contudo, essa ob-
exemplo, um aplicativo gerenciador de filmes que normal- servação é falsa, pois sempre haverá períodos ociosos no
mente funciona a 30 quadros/s pode estar disposto a reduzir enlace decorrentes de flutuações estatísticas na carga. Se o
sua velocidade para 25 quadros/s, se não houver largura de enlace precisar de cada bit de capacidade para realizar seu
banda suficiente para admitir 30 quadros/s. De modo seme-
lhante, o número de pixeis por quadro, a largura de banda
de áudio e outras propriedades podem ser ajustáveis. Parâmetro Unidade
Como muitas partes talvez estejam envolvidas na ne- Bytes/s
Taxa de token bucket
gociação de fluxo (o transnlissor, o receptor e todos os ro-
teadores ao longo do caminho entre eles), os fluxos devem Tamanho do token bucket Bytes
ser descritos com precisão en1 tennos de parâ1netros espe- Taxa de dados de pico Bytes/s
cíficos que podem ser negociados. Um conjunto desses pa-
Tamanho mínimo do pacote Bytes
râtnetros é chamado de especificação de fluxo. Em geral, o
transmissor (p. ex., o servidor de vídeo) produz uma espe- Tamanho máximo do pacote Bytes
cificação de fluxo propondo os parâmetros que ele gostaria
de usar. À medida que a especificação se propaga ao longo Figura 5.30 Um exemplo de especificação de fluxo.
268 Redes de computadores

trabalho, a ociosidade até 1nes1no por alguns bits criará um O maior atraso de enfileiramento que o fluxo verá é
acúmulo do qual ele nunca poderá se livrar. uma função do tamanho da rajada do token bucket. Consi-
Até mesmo com uma carga ligeiramente abaixo da ca- dere os dois casos extremos. Por um lado, se o tráfego for
pacidade teórica, as filas pode1n se acumular e os atrasos suave, sein nenhuma rajada, os pacotes serão escoados do
podem ocorrer. Considere uma situação em que os pacotes roteador tão rapida1nente quanto eles chegam. Não haverá
chegan1 aleatoria1nente com uma taxa de chegada média de atraso de enfileiramento (ignorando os efeitos do uso de
), pacotes/s. Os pacotes têm tan1anhos variáveis e podem pacotes). Por outro lado, se o tráfego for em rajadas, en-
ser enviados no enlace com uma taxa de serviço média de tão uma rajada de tamanho máximo, B, poderá chegar ao
µ pacotes/s. Sob a hipótese de que as distribuições de che- roteador ao 1nes1no ten1po. Nesse caso, o atraso de enfilei-
gada e serviço são distribuições de Poisson (o que é chama- ramento 1náxin10, D, será o tempo gasto para escoar essa
do sistema de enfileira1nento M/M/1 , onde "M" significa rajada na largura de banda garantida, ou BIR (novamente
Markov, ou seja, do tipo Poisson), pode ser provado, usan- ignorando os efeitos do uso de pacotes). Se esse atraso
do a teoria de enfileiramento, que o atraso médio experi- for muito grande, o fluxo deverá solicitar mais largura de
mentado por um pacote, T, é banda da rede.
Essas garantias são rígidas. Os token buckets limita1n
1 1 1 1 as rajadas da origem, e o enfileira1nento ordenado com rodí-
T=-X--- -X--
jl 1- J.I µ µ 1- p zio de filas isola a largura de banda dada a diferentes fluxos.
Isso significa que o fluxo atenderá suas garantias de largura
onde p = )Jµ é a utilização de CPU. O prin1eiro fator, l iµ., de banda e atraso, independentemente de como os outros
indica qual seria o ten1po do serviço na ausência de con1- fluxos concorrentes se co1nportam no roteador. Esses outros
petição. O segundo fator é a lentidão ocasionada pela com- fluxos não podem quebrar a garantia, 1nesmo economizando
petição com outros fluxos. Por exemplo, se ), = 950.000 tráfego e com todos enviando ao 1nesmo tempo.
pacotes/s eµ = 1.000.000 pacotes/s, então p = 0,95 e o Além disso, o resultado é 1nantido para um caminho
atraso médio experimentado por pacote será de 20 µs, e1n por vários roteadores em qualquer topologia de rede. Cada
vez de 1 µs. Esse tempo considera tanto o tempo de en- fluxo recebe uma largura de banda mínima, que é garanti-
fileiramento quanto o ten1po de serviço, co1no pode ser da em cada roteador. O 1notivo para cada fluxo receber um
visto quando a carga é muito baixa (21µ ::::: O). Se houver, atraso máxitno é mais sutil. Na pior das hipóteses, em que
digamos, 30 roteadores ao longo da rota do fluxo, somente uma rajada de tráfego atinge o priJneiro roteador e co1npete
o atraso de enfileira1nento será responsável por 600 µs de com o tráfego de outros fluxos, ela será adiada até o atraso
atraso. n1áximo D. Contudo, esse atraso tan1bén1 suavizará a ra-
jada. Por sua vez, isso significa que a rajada não admitirá
Um método para relacionar especificações de fluxo a
mais atrasos de enfileiramento em roteadores mais adiante.
recursos do roteador, que co1responde a garantias de largu-
O atraso de enfileiramento geral será, no máximo, D.
ra de banda e dese1npenho no atraso, é dado por Parekh e
Gallagher (J 993, J994). Ele é baseado nas fontes de tráfego
modeladas por token buckets (R, B) e WFQ nos roteadores.
Cada fluxo recebe um peso de WFQ, W, grande o bastante
5.4.4 Serviços integrados
para escoar sua taxa de token bucket, R, con10 mostra a Fi- Entre 1995 e 1997, a JETF dedicou um grande esforço à
gura 5.31. Por exemplo, se o fluxo tem uma taxa de 1 Mbps criação de u1na arquitetura para streaming de multiinídia.
e o roteador e o enlace de saída têm uma capacidade de Esse trabalho resultou em mais de duas dezenas de RFCs,
1 Gbps, o peso para o fluxo precisa ser maior que 1/ 1.000 começando cotn as RFCs 2205 a 2212. A esse trabalho
do total dos pesos para todos os fluxos nesse roteador para foi dado o nome genérico de ser viços integrados. Ele
o enlace de saída. Isso garante uma largura de banda 1níni- teve como objetivo as aplicações de unicast e 1nulticast.
ma para o fluxo. Se ele não puder receber uma taxa grande Un1 exemplo do prin1eiro tipo de aplicação é um único
o bastante, o fluxo não poderá ser admitido. usuário que recebe um streaming de vídeo transmitido por

---- -- WxC
-- - 1
W;
R<
L pesos

DDI w
Capacidade C
Fonte de tráfego
(R, B)
------ -- - Roteador
1
W;
Fila com rodízio
ponderado

Figura 5.31 Garantias de largura de banda e atraso com token buckets e WFQ.
Capítulo 5 • A camada de rede 269

un1 site de notícias. Outro exemplo é un1 conjunto de es- anterionnente. Cada grupo recebe um endereço. Para enviar
tações de televisão digital que transmitem seus progra1nas dados a um grupo, um transmissor coloca o endereço dele
sob a fonna de fluxos de pacotes IP para 1nuitos recepto- em seus pacotes. Em seguida, o algoritmo de rotea1nento
res situados em diversos locais. A seguir, vamos nos con- por multicast padrão constrói u1na spanning tree que abran-
centrar no multicast, pois o unicast é u1n caso especial de ge todos os 1nembros. O algoritmo de rotea1nento não faz
multicast. parte do RSVP. A única diferença e1n relação ao multicas-
Em muitas aplicações de multicast, os grupos podem ting normal são algumas informações extras transmitidas
alterar seus membros dinamicamente; por exemplo, quando periodicamente ao grupo por multicast, a fim de informar
as pessoas entram em uma videoconferência ou se entediam aos roteadores ao longo da árvore que devem manter certas
e passa1n para uma novela ou para o canal de esportes. Sob estruturas de dados em suas respectivas me1nórias.
essas condições, a estratégia de fazer os transmissores re- Como exemplo, considere a rede da Figura 5.32(a).
servarem largura de banda com antecedência não funciona Os hosts 1 e 2 são transmissores de multicast, e os hosts 3,
muito bem, pois ela exigiria que cada transmissor rastreasse 4 e 5 são receptores de 1nulticast. Nesse exe1nplo, os trans-
todas as entradas e saídas de sua audiência. No caso de um 1nissores e os receptores estão separados, mas, em geral, os
sistema projetado para transmitir programas de televisão dois conjuntos podem se sobrepor. As árvores de multicast
a milhões de assinantes, esse esquema não funcionaria de para os bosts 1 e 2 são 1nostradas na Figura 5.32(b) e na
forma alguma. Figura 5.32(c), respectivamente.
Para obter melhor recepção e eliminar o congestio-
RSVP - Resource Reservation Protocol namento, qualquer um dos receptores de um grupo pode
enviar uma 1nensagem de reserva pela árvore para o trans-
A parte principal da arquitetura de serviços integrados vi- missor. A 1nensagem é propagada co1n a utilização do algo-
sível aos usuários da rede é o RSVP, descrito nas RFCs ritmo de encaminha1nento pelo caminho inverso, discutido
2205 a 2210. Esse protocolo é empregado para fazer as re- anteriormente. Em cada hop, o roteador detecta a reserva e
servas; outros protocolos são usados para trans1nitir os da- guarda a largura de banda necessária. Na seção anterior, vi-
dos. O RSVP pennite que vários transmissores enviem os 1nos como u1n escalonador de enfileiramento ordenado com
dados para vários grupos de receptores, toma possível aos rodízio de filas ponderado pode ser usado para fazer essa
receptores individuais mudar livremente de canais e otimi- reserva. Se a largura de banda disponível não for suficiente,
za o uso da largura de banda ao rnesmo te1npo que elimina ele informa a falha. No momento em que a mensage1n re-
o congestionamento. tornar à origem, a largura de banda já terá sido reservada ao
Em sua forma mais simples, o protocolo utiliza rotea- longo de todo o caminho entre o transmissor e o receptor,
mento por multicast com spanning trees, como discutido fazendo a solicitação de reserva ao longo da spanning tree.

Transmissores

/ \ 1

B B B
A • e A
• e

D• • F D• • F
E E E

H H H
G• • I G•

K
J L J L

t
Receptores
(a) (b) (e)

Figura 5.32 (a) A rede. (b) Aspanning tree de multicast para o host 1. {e) A spanning tree de multicast para o host 2.
270 Redes de computadores

Un1 exemplo desse processo de reserva pode ser vis- da opção de origem. Quando reserva a largura de banda,
to na Figura 5.33(a). Aqui, o host 3 solicitou um canal ao u1n receptor pode alternar para outra origem e n1anter a
host 1. Uma vez estabelecido o canal, os pacotes podem parte válida do caminho existente para a nova origem. Por
fluir do host 1 até o host 3, sem congestionamento. Agora, exemplo, se o host 2 estiver transmitindo diversos fluxos de
considere o que acontecerá se, e1n seguida, o host 3 reservar vídeo, o host 3 poderá alternar entre eles quando quiser sem
um canal para o outro transn1issor, o host 2, de fonna que alterar sua reserva, pois os roteadores não se importam com
o usuário possa assistir a dois programas de televisão ao o programa a que o receptor está assistindo.
mes1no tempo. Um segundo caminho será reservado, como
ilustra a Figura 5.33(b). Observe que são necessários dois
canais distintos entre o host 3 e o roteador E, pois dois flu- 5.4.5 Serviços diferenciados
xos independentes estão sendo transmitidos. Os algoritmos baseados em fluxo tê1n potencial para ofere-
Por fim, na Figura 5.33(c), o host 5 decide assistir ao cer boa qualidade de serviço a um ou mais fluxos, porque
programa que está sendo transmitido pelo host l e também eles reservam quaisquer recursos necessários ao longo da
faz u1na reserva. Pri1neiro, é reservada tuna largura de banda rota. Contudo, eles ta1nbém tê1n a desvantagen1 de exigir
dedicada até o roteador H. Entretanto, esse roteador perce- uma configuração antecipada para estabelecer cada fluxo,
be que já está sendo alimentado pelo host l; assim, como a algo que não se ajusta bem quando existem milhares ou mi-
largura de banda necessária já foi reservada, ele não precisa lhões de fluxos. Além disso, eles mantêm o estado interno
reservar 1nais nada. Observe que os hosts 3 e 5 poderiam ter por fluxo nos roteadores, tornando-os vulneráveis a quedas.
solicitado diferentes volu1nes de largura de banda (p. ex., o Por fim, as mudanças exigidas no código do roteador são
host 3 tem uma tela pequena e só deseja a infonnação em substanciais e envolvem trocas complexas de roteador para
baixa resolução), portanto, a capacidade reservada deve ser roteador, a fim de configurar os fluxos. Em consequência
grande o suficiente para satisfazer ao receptor mais voraz. disso, e1nbora o trabalho com os serviços integrados conti-
Ao fazer uma reserva, um receptor pode (opcional- nue, ainda existem poucas implen1entações de RSVP ou de
mente) especificar uma ou mais origens a partir das quais algo se1nelhante.
deseja receber informações. Ele ta1nbém pode especificar Por essas razões, a IETF també1n criou u1na aborda-
se essas opções serão fixas durante o período de reserva, gem mais siinples para oferecer qualidade de serviço, uma
ou se deseja manter e1n aberto a opção de alterar as origens estratégia que pode ser implementada em grande parte no
mais tarde. Os roteadores utilizam essas inforn1ações para local em cada roteador, se1n configuração antecipada e sem
otiinizar o planejamento da largura de banda. E1n particu- ter de envolver todo o caminho. Essa abordagem é conheci-
lar, dois receptores só são configurados para con1partilhar da como qualidade de serviço baseada em classe (e1n vez
um caminho se a1nbos concordarem em não alterar as ori- de baseada em fluxo). A IETF padronizou uma arquitetura
gens posterionnente. para ela, chamada arquitetura de serviços diferenciados,
O motivo para essa estratégia no caso totalmente di- descrita nas RFCs 2474, 2475 e várias outras. Vamos des-
nân1ico é que a largura de banda reservada é desacoplada crevê-la agora.

1 2

B B B
A • e A • e
Largura de banda
A • e
_ reservada para
origem 2
D• E • F D• • F D• • F
Largura de
u-- banda reservada
para origem 1
H •I G• H • I G• • I

K K K
J ' ' L J L J L

3 4 5 3 4 5 3 4 5

(a) (b) (e}


Figura 5.33 (a) Ohost 3 solicita um canal ao host 1. (b) Em seguida, o host 3 solicita um segundo canal, agora ao host 2.
(c) Ohost 5 solicita um canal ao host 1.
Capítulo 5 • A camada de rede 271

Os serviços diferenciados (differentiated services - na Internet. Com u1n esquema baseado e1n fluxo, cada cha-
OS) podem ser oferecidos por um conjunto de roteadores mada telefônica obtém seus próprios recursos e garantias.
que forman1 um domínio administrativo (p. ex., um ISP Com um esque1na baseado em classe, todas as chamadas
ou uma empresa de telecomunicações). A administração telefônicas juntas obtên1 os recursos reservados para a clas-
define um conjunto de classes de serviço com regras de se de telefonia. Esses recursos não poden1 ser tirados pelos
encaminhamento correspondentes. Se um cliente fizer a pacotes da classe de navegação Web ou de outras classes,
assinatura para OS, seus pacotes que entrarem no domínio mas nenhu1na chamada telefônica recebe qualquer recurso
serão marcados com a classe a que pertencem. Essa infor- privado reservado apenas para ela.
mação é executada no ca1npo differentiated services dos
pacotes IPv4 e IPv6 (descritos na Seção 5.7.1). As classes Encaminhamento expresso
são definidas como comportamentos por hop, pois cor-
respondem ao tratamento que o pacote receberá em cada A escolha de classes de serviço cabe a cada operadora,
roteador, e não uma garantia pela rede. Um serviço melhor mas, como os pacotes com frequência são encaminhados
é fornecido aos pacotes co1n alguns con1porta1nentos por entre redes pertencentes a diferentes operadoras, a lETF
hop (p. ex., um serviço premium) e não a outros (p. ex. , o definiu algumas classes de serviço independentes da rede.
serviço regular). O tráfego dentro de uma classe talvez te- A mais simples delas é a de encaminhamento expresso;
nha de obedecer a alguma forma específica, como a de um portanto, vamos começar por ela. Essa classe é descrita na
leaky bucket com uma taxa de escoamento especificada. RFC 3246.
Uma operadora co1n certo tino con1ercial poderia cobrar A ideia que rege o encaminhamento expresso é 1nui-
uma tarifa extra por pacote especial transportado, ou po- to simples. Há duas classes de serviço disponíveis: regu-
deria permitir até N pacotes especiais por mês a urna taxa lar e expressa. A maioria do tráfego deve ser regular, mas
mensal adicional fixa. Observe que esse esquema não exi- uma pequena fração dos pacotes é expressa. Os pacotes
ge nenhuma configuração antecipada, nenhuma reserva de expressos devem ser capazes de transitar pela rede como
recursos e nenhuma negociação demorada e ponto a ponto se nenhum outro pacote estivesse presente. Desse modo,
para cada fluxo, como ocorre no caso dos serviços integra- eles receberão serviço com poucas perdas, atrasos e flutu-
dos. Isso torna relativamente fácil ünpletnentar os serviços ações - exata1nente o que é necessário para o YolP. Uma
diferenciados. representação simbólica desse sistema de "dois tubos" é
O serviço baseado em classe também ocorre em ou- dada na Figura 5.34. Observe que ainda existe apenas u1na
tros campos. Por exemplo, as e1npresas de entrega de pa- linha física. Os dois canais lógicos 1nostrados na figura re-
cotes frequentemente oferecem serviço noturno, em dois e presentan1 um 1nodo de reservar largura de banda, não uma
em três dias. As e1npresas aéreas oferecem serviço de pri- segunda linha física.
meira classe, classe executiva e classe econômica. Os trens Um modo de ünpletnentar essa estratégia é o seguinte:
interurbanos muitas vezes têm várias classes de serviço. os pacotes são classificados con10 expressos ou regulares
Até 1nesmo o metrô de Paris tem duas classes de serviço. e 1narcados de acordo com esse critério. Essa etapa pode
No caso dos pacotes, as classes de serviço podem diferir ser feita no host transmissor ou no (prüneiro) roteador de
en1 termos de atraso, flutuação e probabilidade de os paco- ingresso. A vantagem de fazer a classificação no host trans-
tes sere1n descartados na eventualidade de ocorrer conges- 1nissor é que mais informações estão disponíveis a respei-
tionamento, entre outras possibilidades (mas talvez não de to de quais pacotes pertencem a quais fluxos. Essa tarefa
quadros Ethernet, mais espaçosos). pode ser realizada pelo software de rede ou ainda pelo sis-
Para tornar 1nais clara a diferença entre a qualidade tema operacional, para evitar ter de mudar as aplicações
de serviço baseada em fluxo e a qualidade de serviço ba- existentes. Por exemplo, está se tornando comum que os
seada etn classe, vamos considerar o exemplo da telefonia pacotes VoIP sejam 1narcados para serviço expresso pelos

Pacotes expressos i=:)


(~)-
º --º ~()o
D
Pacotes regulares i=:) ºo
D
D
Figura 5.34 Pacotes expressos experimentam uma rede sem tráfego.
272 Redes de computadores

hosts. Se os pacotes passarem por uma rede corporativa ou de pequenas rajadas como baixo descarte, pacotes que ex-
ISP que aceite o serviço expresso, eles receberão tratamen- cedem as pequenas rajadas como descarte médio e paco-
to preferencial. Se a rede não aceitar o serviço expresso, tes que ultrapassam grandes rajadas como descarte alto.
nenhurn dano será causado. Nesse caso, faz sentido pelo A combinação de classes de prioridade e descarte é, então,
menos tentar. codificada ern cada pacote.
Naturalrnente, se a marcação for feita pelo host, o ro- Por fin1, os pacotes são processados pelos roteadores
teador de ingresso provavelmente policiará o tráfego para na rede com um escalonador de pacotes que distingue as
garantir que os clientes não estejam enviando mais tráfego diferentes classes. Uma escolha comum é usar o enfilei-
expresso do que aqueles que efetivamente pagararn. Dentro ramento ordenado corn rodízio de fi las ponderado para as
da rede, os roteadores podem ter duas filas de saída para quatro classes de prioridade, com as classes mais altas re-
cada linha de saída, uma para os pacotes expressos e outra cebendo pesos maiores. Desse 1nodo, elas receberão mais
para os pacotes regulares. Quando um pacote chega, ele é largura de banda, mas as classes mais baixas não ficarão
enfileirado de acordo co.m seu tipo. A fila expressa recebe totalmente sem largura de banda. Por exemplo, se os pe-
mais prioridade que a regular, por exemplo, usando um es- sos dobrarern de uma classe para a próxin1a, mais alta, a
calonador de prioridade. Desse modo, os pacotes expressos classe mais alta receberá o dobro da largura de banda. Em
vee1n uma rede desafogada, mesnlo quando, na realidade, uma classe de prioridade, os pacotes com uma classe de
existe uma alta carga de tráfego regular. descarte tnais alta podem ser preferencialmente descartados
executando-se um algoritruo como RED. O RED corneçará
Encaminhamento garantido a descartar pacotes à medida que o congestiona1nento se
acumula, mas antes que o roteador tenha ficado sem espa-
Um esquema um pouco mais elaborado para gerenciar as ço e1n buffer. Nesse estágio, ainda existe espaço em buffer
classes de serviço é o encaminhamento garantido. Ele para aceitar pacotes com baixo descarte enquanto pacotes
é descrito na RFC 2597 e especifica que haverá quatro com alto descarte são removidos.
classes de prioridade, cada wna delas tendo seus próprios
recursos. As três classes superiores poderia1n ser cha-
madas de ouro, prata e bronze. Além disso, tan1bém são
definidas três classes de descarte de pacotes que estejam 5.5 INTERLIGAÇÃO DE REDES
sofrendo congestionarnento: baixo, médio e alto. Conside-
rados em conjunto, esses dois fatores definem 12 classes Até agora, supusemos implicitarnente que havia uma úni-
de serviço. ca rede homogênea, com cada máquina usando o mesmo
A Figura 5.35 mostra un1a forma possível de processar protocolo em cada camada. Infelizmente, essa suposição é
pacotes no esquema de encaminharnento garantido. A pri- n1uito otimista. Existen1 muitas redes diferentes, incluindo
meira etapa consiste em classificar os pacotes em uma das PANs, LANs, MANs e WANs. Descrevemos Ethernet, In-
quatro classes de prioridade. Como antes, essa etapa pode- ternet por cabo, as redes de telefone fixo e móvel, 802. l 1 e
ria ser feita no host transrnissor (corno rnostra a figw·a) ou outras. Diversos protocolos estão sendo bastante utilizados
no roteador de ingresso, e os pacotes de prioridade mais em cada camada dessas redes.
alta podem ser limitados pelo operador como parte da ofer-
ta de serviço.
A próxima etapa é detenninar a classe de descarte
5.5.1 Visão geral
para cada pacote. Isso é feito pela passagen1 dos pacotes Nas seções a seguir, exan1inaren1os cuidadosa1nente as
de cada classe de prioridade por um controlador de tráfego, questões que surgem quando duas ou nlais redes são inter-
con10 um token bucket. O gerenciador permite que todo o conectadas para formar uma rede interligada, ou, simples-
tráfego passe, mas identifica os pacotes que cabern dentro mente, uma internet (com "i" n1inúsculo).

Pacotes com
marca DiffServ
O I ouro
• •) ===~~
r r
)
DOIPrata
Classificador r Gerenciador r
}
'\. r lsronze
'• ===~
origem do •
pacote Quatro Doze classes D DDI Filas com
rodízio
classes de de prioridade/
prioridade descarte Roteador ponderado

Figura 5.35 Uma implementação possível do fluxo de dados para encaminhamento garantido.
Capítulo 5 • A camada de rede 273

Seria muito n1ais simples unir as redes se todos usas- Con10 as redes normaln1ente diferem em aspectos im-
sem uma única tecnologia de rede, e normalmente acontece portantes, levar pacotes de uma rede para outra nem sempre
de existir um tipo dominante de rede, como a Ethernet. Não é tão fácil. Temos de resolver problemas de heterogeneida-
sabe1nos se essa 1nultiplicidade de tecnologias é u1na condi- de e tan1bém de escala enquanto a rede interligada resultan-
ção ten1porária, que passará tão logo alguém perceba quan- te fica maior. Va1nos co1neçar examinando co1no as redes
to a rede [preencha con1 sua rede favorita] é maravilhosa. poden1 diferir para ver com o que estamos lidando. Depois,
Mas não conte com isso. A história mostra que esse é ape- veremos a técnica usada com tanto sucesso pelo IP, o proto-
nas um desejo. Diferentes tipos de redes resolvem diferen- colo da camada de rede da Internet, incluindo técnicas para
tes problemas, de modo que, por exe1nplo, a Ethernet e as tunelamento em redes, roteamento en1 redes interligadas e
redes por satélite provavelmente serão sen1pre diferentes. fi"ag1nentação de pacotes.
A reutilização de sistemas existentes, como a execução de
redes de dados em cima de redes por cabo, a rede telefônica
e as linhas da rede de energia elétrica, acrescenta restrições 5.5.2 Diferenças entre redes
que causam divergências nos recursos da rede. A heteroge- As redes podem diferir em várias aspectos. Algumas des-
neidade veio para ficar. sas diferenças, como técnicas de modulação ou formatos de
Se sempre haverá redes diferentes, seria mais sim- quadros distintos, encontra1n-se nas can1adas física e de en-
ples se não precisássemos interconectá-las. Isso também lace de dados, 1nas elas não nos interessa1n agora. E1n vez
é pouco provável. Bob Metcalfe postulou que o valor de disso, na Figura 5.36, listamos algumas diferenças que po-
un1a rede co1n N nós é o número de conexões que podem dem ocorrer na ca1nada de rede. É a superação dessas dife-
ser feitas entre os nós, ou N2 (Gilder, 1993). Isso significa renças que torna a interligação de redes 1nais difícil do que
que grandes redes são muito mais valiosas do que as re- a operação de uma única rede.
des pequenas, pois elas permitem muito mais conexões, de Quando os pacotes enviados por u1na origem em uma
modo que sen1pre haverá um incentivo para combinar redes rede deve1n transitar por uma ou mais redes externas antes
menores. de chegar à rede de destino, podem ocorrer muitos proble-
A Internet é o principal exemplo dessa interconexão. n1as nas linhas existentes entre elas. Para começar, a origem
(Escreveren1os Internet com a letra "l" 1naiúscula para dis- precisa ser capaz de endereçar o destino. O que faze1nos
tingui-la de outras internets, ou redes interligadas.) A fina- quando uma origem está e1n tuna rede Ethernet e o destino
lidade de juntar todas essas redes é permitir que os usuários está em uma rede de telefone celular? Supondo que ainda
em qualquer un1a delas se co1nuniquem com os usuários e1n possamos especificar um destino de celular a partir de uma
todas as outras. Quando você paga a um ISP pelo serviço da rede Ethernet, os pacotes cruzariam de uma rede não orien-
Internet, o valor pode ser cobrado de acordo com a largura tada a conexões pru·a uma rede orientada a conexões. Isso
de banda de sua conexão, mas o que você está realmente pode exigir que un1a nova conexão seja configurada sen1
pagando é a capacidade de trocar pacotes co1n qualquer ou- aviso prévio, o que introduz atraso, e muito overhead se a
tro host que também esteja conectado à Internet. Afinal, a conexão não for usada para rnuito mais pacotes.
Internet não seria muito popular se você só pudesse enviar Muitas diferenças específicas também podem ter
pacotes para outros hosts na mes1na cidade. de ser acornodadas. Como realiza1nos o multicast de um

Item Algumas possibilidades


Serviço oferecido Orientado a conexões e não orientado a conexões
Endereçamento Diferentes tamanhos, simples ou hierárquico
Broadcasting Presente ou ausente (também multicast)
Tamanho do pacote Cada rede tem seu próprio tamanho máximo
Ordenação Entrega ordenada e não ordenada
Qualidade de serviço Pode estar presente ou ausente; muitos tipos
Confiabilidade Diferentes níveis de perda
Segurança Regras de privacidade, criptografia, etc.
Parâmetros Diferentes timeouts, especificações de fl uxo, etc.
Contabilidade Por tempo de conexão, por pacote, por byte ou nenhuma

Figura 5.36 Algumas das muitas diferenças possíveis entre redes.


274 Redes de computadores

pacote a u1n grupo con1 alguns n1embros em uma rede que das redes de computadores para assu1nir a rede telefônica.
não admite multicast? Os diferentes tamanhos máximos de Ele també1n funciona em redes de sensores e outros dispo-
pacotes usados por redes distintas também são uma grande sitivos pequenos que anteriormente eram considerados com
dor de cabeça. Como passar um pacote de 8.000 bytes por muito poucos recursos para oferecer suporte.
u1na rede cujo ta1nanho 1náximo é de 1.500 bytes? Se os Discutimos vários dispositivos que conectam as redes,
pacotes em uma rede orientada a conexões transitare1n por incluindo repetidores, hubs, switches, bridges, roteadores
uma rede não orientada a conexões, eles poderão chegar e gateways. Os repetidores e hubs simples1nente inovem
em uma ordem diferente daquela em que foram enviados. bits de um fio para outro. Eles são, em grande parte, dis-
Isso é algo que o trans1nissor provaveln1ente não esperava, positivos analógicos e não entendem coisa alguma sobre
e també1n pode chegar como uma surpresa (desagradável) protocolos de camada mais alta. Bridges e switches operam
ao receptor. na camada de enlace. Eles pode1n ser usados para criar re-
Esses tipos de diferenças pode1n ser ocultados con1 des, mas apenas com pouca intervenção do protocolo no
algu1n esforço. Por exemplo, um gateway juntando duas re- processo, por exe1nplo, entre switches Ethernet de 10, 100
des pode gerar pacotes separados para cada destino simular e 1.000 Mbps. Nosso foco nesta seção é a interconexão de
o multicasting. U1n pacote grande poderia ser desmembra- dispositivos que operam na ca1nada de rede, ou seja, os ro-
do, enviado en1 partes e depois nlontado de volta. Os recep- teadores. Deixaremos os gateways, que são dispositivos de
tores poderiam manter pacotes em buffer e entregá-los em conexão de camada 1nais alta, para mais tarde.
ordem. Primeiro, exploraremos em alto nível co1no a inter-
As redes tan1bém podem diferir em alguns aspectos conexão com uma camada de rede comum pode ser usada
que são mais difíceis de reconciliar. O exemplo mais claro é para interconectar redes diferentes. Urna rede interligada
a qualidade de serviço. Se uma rede tem forte QoS e a outra co1nposta de redes 802. l l , MPSL e Ethernet aparece na
oferece serviço de tnelhor esforço, será impossível fazer ga- Figura 5.37(a). Suponha que a n1áquina de origem na rede
rantias de largura de banda e atraso para o tráfego em tempo 802.11 queira enviar um pacote para a 1náquina de desti-
real de ponto a ponto. De fato, eles provavelmente só podem no na rede Ethernet. Co1no essas tecnologias são diferen-
ser feitos enquanto a rede de melhor esforço for operada em tes, e elas são separadas ainda mais por outro tipo de rede
baixa utilização, ou quase nunca usada, o que provavelmen- (MPLS), é preciso haver algum processa1nento adicional
te não é o objetivo da maioria dos ISPs. Os mecanis1nos de nos lin1ites entre as redes.
segurança são problemáticos, mas pelo menos a criptografia Como diferentes redes pode1n, em geral, ter diferentes
para confidencialidade e integridade de dados pode ser dis- formas de endereçamento, o pacote transporta um endere-
posta sobre as redes que ainda não a incluíram. Finalmente, ço da camada de rede que pode identificar qualquer host
as diferenças na contabilidade podern levar a contas que não pelas três redes. O primeiro 1imite que o pacote alcança é
são bem recebidas quando o uso normal de repente se ton1a quando ele faz a transição de uma rede 802.11 para uma
caro, como já descobriram os usuários de telefone móvel em rede MPLS. A 802.11 oferece u1n serviço não orientado a
roa1ning com planos de dados. conexões, 1nas a MPLS oferece u1n serviço orientado a co-
nexões. Isso significa que um circuito virtual precisa ser
estabelecido para cruzá-la. Quando o pacote tiver atraves-
5.5.3 Conexão de redes heterogêneas sado o circuito virtual, ele alcançará a rede Ethernet. Nesse
Existem duas escolhas básicas para conectar redes diferen- limite, o pacote pode ser muito grande para ser transporta-
tes: pode1nos criar dispositivos que traduzam ou convertam do, pois a 802. 11 pode trabalhar com quadros maiores que
pacotes de cada tipo de rede em pacotes para outra rede ou, a Ethernet. Para resolver esse proble1na, o pacote é dividido
como bons cientistas da computação, podemos tentar resol- en1 frag1nentos, e cada um deles é enviado separadamente.
ver o problema acrescentando uma camada indireta e crian- Quando os fragn1entos alcança1n o destino, eles são remon-
do uma camada comu1n e1n cima das diferentes redes; ini- tados. Então, o pacote completou sua jo1nada.
cialmente, esses dispositivos eram chamados de gate,vays. O processamento de protocolo para essa jornada apa-
Desde cedo, Cerf e Kahn (1974) argumentaram e1n fa- rece na Figura 5.37(b). A origern aceita dados da ca1nada
vor de uma camada comum para ocultar as diferenças entre de transporte e gera u1n pacote co1n o cabeçalho con1.um da
as redes existentes. Essa técnica tem sido tremendamente camada de rede, que, nesse exe1nplo, é o IP. O cabeçalho
bem-sucedida, e a camada que eles propuseram por fim foi da rede contém o endereço de destino, que é usado para
separada nos protocolos TCP e IP. Quase quatro décadas determinar que o pacote deve ser enviado pelo primeiro
depois, o fP é o alicerce da Internet 1noderna. Por essa rea- roteador. Assi1n, o pacote é encapsulado em um quadro
lização, Ce1f e Kahn receberam o Turing Award de 2004, 802.11, cujo destino é o pri1neiro roteador, e transn1itido.
informahnente conhecido con10 o Prêmio Nobel da ciência No roteador, o pacote é removido do campo de dados do
da computação. O IP oferece um formato de pacote uni- quadro e o cabeçalho do quadro 802.11 é descartado. Oro-
versal que todos os roteadores reconhecem e que pode ser teador agora exa1nina o endereço IP no pacote e pesqui-
passado por quase todas as redes. O TP estendeu o alcance sa esse endereço en1 sua tabela de roteamento. Co1n base
Capítulo 5 • A camada de rede 275

,..-Pacote ÍCircuito virtual


==·~_
1-
_-_-
_~_,I 1 1 ~1~11.___,I

.b;t: 802.11 ----~~~;---· Ethernet j;i


Origem Roteador Roteador Destino
(a)

Dados da
reamada de
~- transporte
ED r-ffj, r-EIJ, 0J
lso2.11j1PI 1 iso2.11 j1PI 1 IMPL~IPI 1 ~PL~IPI 1 1 Eth j1PI 1 1 Eth j1PI 1

Física
(b)

Figura 5.37 (a) Um pacote cruzando diferentes redes. (b) Processamento de protocolo das camadas de rede e de enlace.

nesse endereço, ele decide enviar o pacote para o roteador muitos protocolos de rede com o tempo. É dificil fazer todos
seguinte. Para essa parte do caminho, um circuito virtual combinarem com um único formato quando as empresas
MPLS deve ser estabelecido para o segundo roteador e o percebem que é comercialmente proveitoso ter um formato
pacote deve ser encapsulado com cabeçalhos MPLS que próprio que elas controlarn. Alguns exemplos além do IP,
trafegam por esse circuito. No outro extre1no, o cabeçalho que agora é o protocolo de rede quase universal, foram IPX,
MPLS é descartado e o endereço de rede é novamente con- SNA e AppleTalk. Nenhum deles continua sendo usado de
sultado para encontrar o próximo hop da camada de rede. forma generalizada, mas sempre há outros. Os exemplos
Esse é o próprio destino. Como o pacote é muito grande mais relevantes agora provavelmente são o 1Pv4 e o 1Pv6.
para ser enviado pela Ethernet, ele é dividido em duas Embora ambos sejam versões do IP, eles não são compatí-
partes. Cada uma é colocada e1n um campo de dados de veis (ou então não teria sido necessário criar o 1Pv6).
um quadro Ethernet e enviada para o endereço Ethernet Um roteador que pode lidar com vários protocolos de
do destino, onde o cabeçalho Ethernet tem cada um dos rede é cbarnado de roteador multiprotocolos. Ele preci-
quadros re1novidos e o conteúdo é remontado. O pacote sa ou traduzir os protocolos ou pennitir a conexão por um
finalmente alcança seu destino. protocolo de ca1nada mais alta. Nenhurna dessas técnicas
Observe que existe uma diferença essencial entre o é totalmente satisfatória. A conexão em uma camada n1ais
caso roteado e o caso comutado (bridge ou switch). Com alta, digan1os, usando o TCP, requer que todas as redes o
um roteador, o pacote é extraído do quadro e o endereço implemente1n (o que pode não ser o caso). Depois, ela limi-
da rede no pacote é usado para decidir para onde enviá-lo. ta o uso das redes em aplicações que usam TCP (o que não
Co1n u1n switch (ou bridge), o quadro inteiro é transportado inclui muitas aplicações en1 ten1po real).
com base en1 seu endereço MAC. Para con1utar os pacotes, A alternativa é traduzir pacotes entre as redes. Todavia,
os switches não precisam entender o protocolo da camada a menos que os formatos de pacotes seja1n parentes próxi-
de rede usado. Os roteadores si1n. mos corn os 1nesmos ca1npos de inforn1ação, tais conver-
Infelizmente, a interconexão de redes não é tão fácil sões sen1pre serão incompletas e nonnalmente fadadas ao
quanto poderia parecer. Na verdade, quando as bridges fo- fracasso. Por exe1nplo, endereços IPv6 têm 128 bits de ex-
ram introduzidas, a intenção era que elas unissem diferen- tensão. Eles não caberão em u1n ca1npo de endereço 1Pv4 de
tes tipos de redes ou, pelo 1nenos, diferentes tipos de LANs. 32 bits, não importa quanto o roteador tente. Fazer o IPv4
Elas deveriam fazer isso traduzindo quadros de tuna LAN e o IPv6 funcionarem na 1nesn1a rede tem sido um grande
para quadros de outra. Contudo, isso não funcionou bem, obstáculo para a iinplementação do IPv6. (Para ser franco,
pela mes1na dificuldade que há na interligação de redes: di- o nlesmo acontece para fazer os clientes entenderem por
ferenças nos recursos das LANs, diferentes tamanhos má- que eles deve1n querer IPv6 em primeiro lugar.) Problemas
ximos de pacotes e LANs co1n e se1n classes de prioridade, maiores podem ser esperados quando se traduzem entre
difíceis de 1nascarar. Hoje, as bridges são usadas predon1i- protocolos funda1nentahnente diferentes, co1no protocolos
nantemente para conectar o mesmo tipo de rede na camada de rede orientados e não orientados a conexões. Com essas
de enlace, e os roteadores conectam diferentes redes na ca- dificuldades, a conversão raramente é experimentada. Com-
mada de rede. provadamente, até inesmo o IP tem funcionado apenas o su-
A interconexão de redes ten1 sido muito ben1-sucedida ficiente para servir co1no tun tipo de denon1inador co1num.
na montagen1 de grandes redes, n1as ela só funciona quando Ele requer pouco das redes em que é executado, mas oferece
existe uma camada de rede comum. Na verdade, têm surgido apenas o melhor serviço possível como resultado.
276 Redes de computadores

5.5.4 Conexão de extremidades IPv4. O rnesmo acontece com os hosts de Paris ou Londres.
Somente os roteadores multiprotocolo precisam entender
em redes heterogêneas os pacotes IPv4 e 1Pv6. Com efeito, a viage1n inteira de um
Lidar com o caso geral da interligação de duas redes é roteador multiprotocolo para o outro é como urn hop por
extremamente difícil. Entretanto, existe um caso especial um único enlace.
muito comum que proporciona bons resultados até mesmo Urna analogia pode tornar o processo de tunelamen-
para protocolos de rede diferentes. Isso acontece quando os to n1ais claro. Irnagine uma pessoa dirigindo seu carro de
hosts de origem e de destino estão no n1esmo tipo de rede, Paris a Londres. Na França, o carro trafega usando sua pró-
mas há uma rede de outro tipo entre eles. Por exemplo, ima- pria energia; no entanto, ao chegar ao Canal da Mancha, ele
gine um banco internacional com uma rede 1Pv6 em Paris, é colocado etn um trem de alta velocidade e transportado
uma rede lPv6 em Londres e conectividade entre os escritó- para a Inglaterra pelo Eurotúnel (não é pennitido o tráfe-
rios por 1neio de Internet IPv4. Essa situação pode ser vista go de auton1óveis nesse túnel). Na realidade, o carro está
na Figura 5.38. sendo transportado corno uma carga, conforrne mostra a
A solução para esse problema é uma técnica chamada Figura 5.39. Na outra extremidade, o carro passa a transitar
tunelamento (tunneling). Para enviar um pacote IP a um nas estradas inglesas e continua a trafegar com sua própria
host no escritório em Londres, um host em Paris constrói o energia. Ern uma rede externa, o tunelarnento de pacotes
pacote contendo um endereço 1Pv6 em Londres e o envia funciona da mesma forma.
para o roteador multiprotocolo que conecta a rede 1Pv6 de O tunelamento é bastante usado para conectar hosts e
Paris à Internet IPv4. Quando esse roteador recebe o pacote redes isoladas usando outras redes. A rede resultante é cha-
1Pv6, ele o encapsula com um cabeçalho 1Pv4 endereçado mada overlay, pois efetivamente foi sobreposta em uma rede
ao lado 1Pv4 do roteador multiprotocolo que se conecta à básica. A implantação de u1n protocolo de rede com um novo
rede lPv6 de Londres. Ou seja, o roteador coloca um paco- recurso é um motivo comum, como mostra o nosso exemplo
te (1Pv6) dentro de um pacote (IPv4). Quando esse pacote "IPv6 sobre IPv4". A desvantagem do tunelamento é que ne-
embrulhado chega, o roteador em Londres remove o pacote nhum dos hosts na rede, pertencentes ao túnel formado pe-
1Pv6 original e o envia adiante para o host de destino. los hosts terminais, pode ser alcançado, pois os pacotes não
O caminho pela Internet IPv4 pode ser visto con10 um podem escapar no meio do túnel. Contudo, essa limitação
grande túnel que se estende de u1n roteador multiprotocolo dos túneis é transformada em uma vantagem com as VPNs
para o outro. O pacote lPv6 só trafega de urna extremidade (Virtual Private Nenvorks). Uma VPN é simplesrnente um
do túnel para a outra, confortável em sua bela caixa. Ele overlay usado para fornecer uma medida de segurança. Ex-
não precisa, de forn1a algun1a, se preocupar e1n lidar com o ploraremos as VPNs quando chegannos ao Capítulo 8.

D ----------
1Pv6

í Túnel

Pacote 1Pv6 1Pv41Pacote 1Pv61 Pacote 1Pv6

Figura 5.38 Tunelamento de um pacote de Paris a Londres.

/Carro Canal inglês

\
- - Paris Londres - -
Transporte de ferrovia
I
"-.Trilho da ferrovia

Figura 5.39 Tunelamento de um carro da França até a Inglaterra.


Capítulo 5 • A camada de rede 277

5.5.5 Roteamento entre múltiplas redes Os dois níveis norn1aln1ente não são estritan1ente
hierárquicos, pois cai.ninhos muito abaixo do ideal podem
O rotea1nento por uma rede interligada é semelhante ao resultar de u1na grande rede internacional e uma pequena
roteamento em uma única rede, mas há algumas outras rede regional se ambos forem considerados uma única rede.
complicações. Para começar, as redes podem usar interna- Contudo, relativa1nente poucas informações sobre as rotas
mente diferentes algoritmos de roteamento. Por exemplo, dentro das redes são expostas para encontrar as rotas pela
un1a rede pode usar o rotea1nento de estado de enlace e ou- rede interligada. Isso ajuda a resolver todas as complica-
tro rotean1ento por vetor de distância. Co1no os algoritmos ções, pois melhora a escala e pennite que os operadores se-
de estado de enlace precisam conhecer a topologia, mas os lecionem livremente as rotas dentro de suas próprias redes
algoritmos por vetor de distância não, essa diferença apenas usando um protocolo à sua escolha. Isso também não exige
não deixaria claro como encontrar os caminhos 1nais curtos que os pesos seja1n con1parados entre as redes ne1n expõe
pela rede interligada. infonnações confidenciais fora delas.
As redes usadas por diferentes operadores ocasio- Todavia, disse1nos pouco até aqui sobre co1no as rotas
na1n problemas maiores. Prin1eiro, os operadores podem pelas redes da internet são determinadas. Na Internet, utn
ter diferentes ideias sobre qual é um bo1n caminho pela grande fator determinante são os arranjos comerciais en-
rede. U1n operador pode querer rotear com o menor atra- tre os ISPs. Cada ISP pode cobrar ou receber dinheiro dos
so, enquanto outro pode querer a rota nlenos dispendiosa. outros ISPs para transportar tráfego. Outro aspecto é que,
Isso levará os operadores a usar diferentes quantidades
se o rotean1ento da interligação de redes exigir a travessia
para definir os custos do ca1ninho mais curto (p. ex., mi-
de fronteiras internacionais, várias leis podem subitatnente
lissegundos de atraso versus custo monetário). Os pesos
entrar em ação, como a lei de privacidade estrita da Suécia,
não serão comparáveis entre as redes, de modo que os
sobre a exportação de dados pessoais sobre cidadãos sue-
caminhos mais curtos na rede interl igada não serão bem
cos a partir do país. Todos esses fatores não técnicos estão
definidos.
incluídos no conceito de uma política de roteamento que
Pior ainda, wn operador pode não querer que outro
controla o modo como as redes autôno1nas selecionam as
operador conheça os detalhes dos caminhos em sua rede,
rotas que utilizam. Retornaremos às políticas de roteamento
talvez porque os pesos e os caminhos possarn refletir infor-
quando descrevennos o BGP.
mações confidenciais (como o custo monetário) que repre-
senta1n u1na vantagem co1nercial co1npetitiva.
Finalmente, a rede interligada pode ser muito maior
5.5.6 Suporte a diferentes tamanhos
do que qualquer uma das redes que a compreendem. Por-
tanto, ela pode exigir algoritmos de roteamento que evo- de pacotes: fragmentação
lue1n bem usando utna hierarquia, mesmo que nenhuma das Cada rede ou enlace impõe um tamanho 1náxi1no a seus
redes individuais precise usar uma. pacotes. Entre as principais causas para essa limitação,
Todas essas considerações levam a un1 algoritmo ten1os:
de roteamento em dois níveis. Dentro de cada rede, um
protocolo de gateway interior ou intradomínio é usado 1. Hardware (p. ex., o tamanho de um quadro Ethernet).
para o roteamento. ("Gateway" é um tenno 1nais antigo 2. Siste1na operacional (p. ex., todos os buffers têm
para "roteador".) Ele poderia ser um protocolo de estado 512 bytes).
de enlace do tipo que já descrevemos. Entre as redes que
3. Protocolos (p. ex., o número de bits no campo de ta-
compõem a rede interligada, é usado um interdomínio ou
manho do pacote).
protocolo de gateway exterior. Todas as redes podem usar
diferentes protocolos intradomínio, mas elas precisam usar 4. Compatibilidade com algum padrão (inter)nacional.
o mesmo protocolo interdo1nínio. Na Internet, o protoco- 5. Desejo de reduzir de alguma forma as retransmissões
lo de roteamento interdomínio é chamado BGP (Border provocadas por erros.
Gateway Protocol). Vamos descrevê-lo na Seção 5.7.7. 6. Desejo de evitar que um pacote ocupe o canal por
Há mais um termo importante para apresentar. Como muito tempo.
cada rede é operada independente1nente de todas as outras,
ela nonnalmente é cha1nada de sistema autônomo, ou AS O resultado de todos esses fatores é que os projetis-
(Autonomous System). Un1 bom modelo mental para u1n tas de redes não têm liberdade para escolher o tamanho
AS é uma rede de ISP. De fato, un1a rede de ISP pode ser máximo de pacote que desejan1. As cargas úteis nláxirnas
composta de mais de um AS, se for gerenciada, ou, se for para algumas tecnologias comuns são de 1.500 bytes para
adquirida, co1no Lnúltiplas redes. Mas a diferença normal- Ethernet e 2.272 bytes para 802.11. O IP é mais generoso, e
mente não é significativa. permite pacotes com até 65.515 bytes.
278 Redes de computadores

Os hosts normalmente preferen1 transmitir pacotes Essa opção é 1nostrada na Figura 5.40(a). Nessa técnica,
grandes, pois isso reduz os overheads de pacote, como quando u1n pacote de tamanho superior chega a G" o rotea-
largura de banda desperdiçada e1n bytes de cabeçalho. dor o desmembra em fragmentos. Cada um deles é endere-
Um problema óbvio de interligação de redes aparece quan- çado para o n1es1no roteador de saída, G1 , onde as partes são
do u1n pacote grande deseja atravessar uma rede cujo tan1a- reco1nbinadas. Desse 1nodo, a passagem pela rede de paco-
nho de pacote máximo é muito pequeno. Esse incômodo tes pequenos se toma transparente. As redes subsequentes
tem sido um problema persistente, e as soluções para ele nem sequer sabem que houve fragmentação.
têm evoluído com a grande experiência obtida na Internet. A fragmentação transparente é simples, nlas apresenta
U1na solução é garantir que o problema não ocor- alguns problemas. Primeiro, o roteador de saída deve saber
ra em priineiro lugar. Contudo, é mais fácil falar do que quando recebeu todas as partes, portanto, é necessário in-
fazer. U1na origem normalmente não conhece o caminho cluir um campo de contagem ou un1 bit de "fim de pacote"
que um pacote tomará na rede até um destino, de modo que em cada um deles. Segundo, como todos os pacotes têm
certamente não sabe o tamanho que os pacotes devem ter de sair pelo mesmo roteador para que possam ser recons-
para que cheguen1 lá. Esse tamanho de pacote é chamado truídos, as rotas são restritas. Como não é permitido que
unidade máxima de transmissão do caminho, ou Path alguns fragmentos sigam uma rota até o destino e que ou-
MTU (Path Maximum Transmission Unit). Mesmo que tros fragmentos percorram uma rota distinta, há uma perda
a origem não saiba a MTU do camin110, os pacotes são ro- considerável em termos de desen1penho. Mais significativa
teados de fonna independente em uma rede não orientada é a quantidade de trabalho que o roteador pode ter de fazer.
a conexões, como a Inten1et. Esse roteamento significa que Ele pode precisar manter os fragmentos em buffer assim
os caminhos podem ser alterados de repente, o que pode que chegam e decidir quando descartá-los, se nem todos os
mudar inesperadamente a MTU do caminho. fragmentos chegarem. Parte desse trabalho também pode
A solução alternativa para o problema é pennitir que ser desperdiçada, pois o pacote pode passar por tnna série
os roteadores quebrem os pacotes em fragmentos, envian- de redes de pequenos pacotes, tendo de ser repetidan1ente
do cada un1 deles como um pacote separado da camada de fragmentado e reconstruído.
rede. Todavia, como todo pai de filho pequeno sabe, con- A outra estratégia de fragmentação é evitar recom-
verter um objeto grande em pequenos frag1nentos é muito binar os fragmentos e1n qualquer roteador intermediário.
mais fáci l do que o processo inverso. (Os físicos até n1es1no Quando un1 pacote é frag1nentado, cada pedaço é tratado
deran1 u1n no1ne a esse efeito: a segunda lei da tennodi- co1no se fosse o pacote original. Os roteadores passam os
nâmica.) As redes de co1nutação de pacotes também têm fragmentos, como mostra a Figura 5.40(b), e a reconstrução
problemas para montar os fragmentos de volta. ocorre apenas no host de destino.
Ex istem duas estratégias opostas para recombinar os A principal vantage1n da fragmentação não transpa-
frag1nentos de volta ao pacote original. A primeira é tornar a rente é que ela exige 1nenos trabalho dos roteadores. O IP
fragmentação causada por uma rede de "pacotes pequenos" funciona assin1. Um projeto completo requer que os frag-
transparente a quaisquer redes subsequentes através das mentos sejam numerados de modo que o fluxo de dados
quais o pacote deve passar em seu caminho até o destino. original possa ser reconstruído. O projeto usado pelo IP é

Rede 1 Rede2
Pacote

G2 G4
G1 fragmenta um reconstrói os G3 fragmenta reconstrói
pacote grande fragmentos novamente novamente
(a)

Pacote

G1 fragmenta um Os fragmentos não são reconstruídos até o


pacote grande destino (um host) ser alcançado
(b)

Figura 5.40 (a) Fragmentação transparente. (b) Fragmentação não transparente.


Capítulo 5 • A camada de rede 279

dar a cada fragmento um nún1ero de pacote (transportado ser necessários. Mas o problema real ainda é a existência de
em todos os pacotes), u1n deslocamento de byte absoluto fragmentos. Kent e Mogul (1987) argu1nentaram que essa
dentro do pacote e uma flag indicando se esse é o final fragmentação prejudica o desempenho porque, assim como
do pacote. U1n exe1nplo aparece na Figura 5.41. Embora os overheads do cabeçalho, u1n pacote inteiro é perdido se
si1nples, esse projeto tem algu1nas propriedades atraentes. qualquer un1a de suas partes for perdida, e também porque
Os frag1nentos podem ser colocados em um buffer no des- a fragmentação é mais um peso para os hosts do que o que
tino, no local certo para a reconstrução, 1nesmo que eles foi observado originalmente.
cheguem fora de ordem. Os pedaços também pode1n ser Isso nos leva de volta à solução original de remover a
subdivididos se passarem por uma rede com u1na MTU fragmentação na rede, estratégia usada na lnten1et 1nodema.
ainda menor. Isso pode ser visto na Figura 5.4l(c). As re- O processo é chamado de descoberta da MTU do caminho
transmissões do pacote (se todos os fragmentos não fossem (Mogul e Deering, 1990). Ele funciona da seguinte fonna:
recebidos) podem ser divididas em diferentes partes. Final- cada pacote lP é enviado con1 seus bits de cabeçalho defini-
mente, os fragmentos podem ter um tamanho qualquer, até dos para indicar que oenbu1na fragmentação poderá ser rea-
u1n de único byte 1nais o cabeçalho do pacote. Em todos lizada. Se um roteador recebe um pacote muito grande, ele
os casos, o destino simplesmente usa o nú1nero do pacote gera um pacote de erro, retorna-o para a origem e o remove.
e o deslocamento de fragmento para colocar os dados na Isso é mostrado na Figura 5.42. Quando a origem recebe o
posição correta, e a flag de final de pacote para detenninar pacote de erro, ela usa a infonnação no interior para refrag-
quando ele tem o pacote co1npleto. 1nentá-lo em partes pequenas o suficiente para o roteador tra-
Infelizmente, esse projeto ainda ten1 problemas. tar. Se um roteador mais adiante no caminho tiver uma MTU
O overhead pode ser maior do que com a fragmentação ainda menor, o processo é repetido.
transparente, pois os cabeçalhos de fragmento agora são A vantagem da descoberta da MTU do caminho é que
transportados por alguns enlaces em que eles podem não a orige1n agora sabe que tamanho de pacote enviar. Se as

Número do primeiro fragmento elementar nesse pacote

Número de Bit de final


pacote de pacote 1 byte
\ I ,....,._.,
l 27 I o l 11
A
1
8 c D E F G H J

Cabeçalho
(a)

l 27 1 o 1o1 A 8 c D E F G H l 27 I 8 l1 I J

Cabeçalho Cabeçalho
(b)

l 27 I o 1o1 A 8 c D E l 27 I 5 1o1 F G H l 27 I 8 l1 1 J

Cabeçalho Cabeçalho Cabeçalho


(c)

Figura 5.41 Fragmentação quando o tamanho de dados elementares é de 1 byte. (a) Pacote original, contendo 10 bytes de
dados. (b) Fragmentos após passarem por uma rede com tamanho máximo de pacote de 8 bytes de carga útil mais cabeçalho.
(c) Fragmentos após passarem por um gateway de tamanho 5.

1 900 1

Origem....'.'Tente 1.200",, "Tente 900" __ _ Destino


' '.....
--- __
,,,.
---- ---
.....
-----------------
Figura 5.42 Descoberta da MTU do caminho.
280 Redes de computadores

rotas e a MTU do caminho mudaren1, novos pacotes de en·o 5.6.1 Visão geral
serão disparados e a origem se adaptará ao novo caminho.
Contudo, a fragmentação ainda é necessária entre a origem De certa fonna, as redes sempre foram "definidas por soft-
e o destino, a menos que as camadas mais altas descubra1n a ware", no sentido de que o software configurável en1 execu-
MTU do caminho e passem a quantidade certa de dados ao ção nos roteadores é responsável por procurar infonnações
IP. TCP e IP nonnalmente são imple1nentados juntos (como nos pacotes e tomar decisões de encaminhamento sobre
"TCP/IP") para poder passar esse tipo de informação. Mes- eles. Ainda assim, o software que executa os algoritrnos de
mo que isso não seja feito para outros protocolos, a frag- roteamento e implernenta outras lógicas sobre o encaminha-
mentação ainda terá sido passada da rede para os hosts. rnento de pacotes historicamente era integrado verticalmen-
A desvantagem da descoberta da MTU do caminho te com o hardware de rede. Urna operadora que comprou
é que podem ser adicionados atrasos de inicialização sim- um roteador Cisco ou Juniper estava, de certa fonna, pre-
plesmente para enviar um pacote. Mais de um atraso de sa à tecnologia de software que o fornecedor enviou com
ida e volta podem ser necessários para sondar o ca1ninho o hardware. Por exe1nplo, não era possível siinplesmente
e encontrar a MTU antes que qualquer dado seja entregue fazer alterações na maneira como o OSPF ou o BGP fun-
ao destino. Isso levanta a questão da existência de projetos cionam. Um dos principais conceitos que in1pulsionaran1 a
melhores. A resposta provavelmente é "Sim". Considere o SDN foi reconhecer que o plano de controle, o software e
projeto em que cada roteador sirnplesrnente trunca os pa- a lógica que selecionam as rotas e decidem o que fazer com
cotes que excedem sua MTU. Isso garantiria que o desti- o tráfego de encaminhamento, seja executado em software e
no descobrisse a MTU o mais rápido possível (a partir da possa operar cornpletarnente separado do plano de dados, a
quantidade de dados que foram descartados) e recebesse tecnologia baseada en1 hardware responsável por realmente
alguns dos dados. realizar pesquisas nos pacotes e decidir o que fazer con1
eles. Os dois planos são mostrados na Figura 5.43.
Dada a separação arquitetônica do plano de controle
e do plano de dados, a próxima etapa lógica natural é reco-
5.6 REDES DEFINIDAS nhecer que o plano de controle ne1n sequer precisa ser exe-
POR SOFTWARE cutado no hardware de rede! Na verdade, uma instanciação
comum da SDN envolve um programa logicamente cen-
Historicamente, o gerenciarnento e a engenharia de tráfego tralizado, 1nuitas vezes escrito em uma linguagem de alto
são muito desafiadores: exigem que os operadores de rede nível (p. ex., Python, Java, Golang, C), tornando decisões
ajustem os parâmetros de configuração dos protocolos de lógicas sobre co1no enca1ninhá-las e comunicá-las a cada
roteamento, que então recalculam as rotas. O tráfego flui dispositivo de encaminhamento na rede. Esse canal de co-
através dos novos carninhos e resulta em um reequilíbrio municação entre o programa de software de alto nível e o
do tráfego. Infelizmente, os mecanismos de controle de trá- hardware subjacente pode ser qualquer coisa que o disposi-
fego dessa maneira são indiretos: as mudanças na configu- tivo de rede entenda. U1n dos priineiros controladores SDN
ração de rotea1nento resultam em mudanças no roteamento usava o próprio BGP como um plano de controle (Feamster
tanto na rede quanto entre as redes, e esses protocolos po- et ai., 2003); depois disso, tecnologias como Openflo"v,
den1 interagir de maneiras imprevisíveis. A rede definida NETCONF e YANG surgira1n como formas mais flexí-
por sofnvare, ou SDN (Software-Detined Networking) veis de comunicar informações de plano de controle com
procura corrigir muitos desses problemas. Ya1nos discutir dispositivos de rede. Em certo sentido, SDN foi uma reen-
. .
isso a seguir. carnação de uma ideia bem estabelecida (ou seja, controle

Controlador de software
Plano de controle

Protocolo de controle padronizado


(p. ex., OpenFlow)

Switches de hardware
Plano de dados

Figura 5.43 Separação dos planos de controle e dados na SDN.


Capítulo 5 • A camada de rede 281

centralizado) em um 1nomento en1 que vários ativadores balancean1ento de carga de tráfego e defesa contra ataques
(APis de chipset aberto, controle de software de sistemas de negação de serviço (DoS). Desenvolvimentos poste-
distribuídos) também estavam em um nível de maturidade riores incluíram um sistema denominado Ethane (Casado
para permitir que as ideias da arquitetura finalmente obti- et ai., 2007), que usava controle de software centralizado
.-
vessem uma pos1çao. para autenticar hosts dentro de u1na rede. Todavia, u1n dos
Enquanto a tecnologia da SDN continua a evoluir problemas com o Ethane era que ele exigia switches per-
rapidamente, o princípio central da separação dos planos sonalizados para operar, o que limitava sua implantação
de dados e de controle permanece invariável. A tecnologia na prática.
SDN evoluiu ao longo de vários anos; os leitores que quei- Depois de den1onstrar esses benefícios da SDN para
ram apreciar uma história completa sobre ela pode1n ler o gerenciamento de rede, os operadores e fornecedores de
1nais para apreciar o início dessa tecnologia cada vez mais rede começararn a obervá-la. Além disso, havia urna por-
popular (Fea1nster et ai., 2013). A seguir, examina1nos vá- ta dos fundos conveniente para tornar os switches ainda
rias das principais tendências e1n SDN: ( 1) controle sobre mais flexíveis, por meio de um plano de controle progra-
o roteamento e o encaminhamento (ou seja, a tecnologia mável: nluitos switches de rede dependiam de um chipset
por trás do plano de controle); (2) hardware programável e Broadcom cornum, que tinha uma interface que permitia
encaminhamento personalizável (ou seja, a tecnologia que gravações diretas na n1e1nória do switch. Utna equipe de
toma o plano de dados 1nais programável); e (3) telemetria pesquisadores trabalhou co1n fornecedores de switch para
programável de redes (uma aplicação de gerencia1nento de expor essa interface aos programas de software, por fim
redes que reúne duas partes e, de várias maneiras, pode ser desenvolvendo um protocolo denominado OpenFlow
a aplicação 1nais importante para a SDN). (McKeown et ai ., 2008). Ele foi exposto por rnuitos for-
necedores de switch que estavam tentando co1npetir com
o fornecedor de switch do1ninante, a Cisco. Inicialmente,
5.6.2 Plano de controle SDN: controle de o protocolo admitia uma interface tnuito si1nples: gravar
software logicamente centralizado em u1na me1nória endereçável por conteúdo, que agia
como uma simples tabela de combinação-ação. Esta ta-
U1na das principais ideias técnicas que estão por trás da bela permitiu que un1 switch identificasse os pacotes que
SDN é un1 plano de controle executado separada1nente dos correspondiam a um ou 1nais can1pos no cabeçalho do
roteadores, gerahnente con10 um único programa logica- pacote (p. ex ., endereço MAC, endereço íP) e executasse
mente centralizado. De certa fonna, a SDN sempre exis- u1ua de um conjunto de ações possíveis, incluindo enca-
tiu: os roteadores são configuráveis e muitas redes gran- n1inhar o pacote para u1na porta específica, descartando-o
des muitas vezes até mesmo geram sua configuração de ou enviando-o para um controlador de software fora do
roteador automaticamente a partir de u1n banco de dados caminho.
centralizado, o mantên1 no controle da versão e enviam es- Havia várias versões do protocolo Openflow padrão.
sas configurações para os roteadores por nleio de scripts. A versão 1.0 tinha un1a única tabela de combinação-ação,
Embora, em certo sentido, esse tipo de configuração possa na qual as entradas podiam se referir a correspondências
ser chamado de SDN, tecnicamente falando, ele apenas dá exatas em combinações de campos de cabeçalho de pacote
às operadoras um controle liJnitado sobre como o tráfego (p. ex., endereço MAC, endereço IP) ou entradas curinga
é enca1ninhado pela rede. Nonnalmente, os programas de (p. ex., um endereço IP ou prefixo de endereço MAC). Ver-
controle da SDN (às vezes chamados de "controladores") sões posteriores do OpenFlow (sendo a mais proeminente
são mais responsáveis pela lógica de controle, como o cál- o Openflow 1.3) adicionaram operações mais complexas,
culo dos ca1ninhos através da rede em favor dos roteadores, incluindo cadeias de tabelas, n1as muito poucos fornece-
é simplesmente atualizar as tabelas de encaminhamento re- dores imple1nentaran1 esses padrões. Expressar conjunções
sultantes de forma remota. AND e OR nesses tipos de combinações acabou sendo u1n
O trabalho inicial em redes definidas por software vi- pouco complicado, especialmente para programadores, de
sava tomar mais fácil para os operadores de rede executar rnodo que surgiram algumas tecnologias para tornar 1nais
tarefas de engenharia de tráfego, controlando diretamente fácil expressar combinações mais co1uplexas de condicio-
as rotas que cada roteador na rede seleciona, em vez de nais (Poster et ai. , 2011), e até mesmo incorporar aspectos
depender do ajuste indireto dos parâmetros de configu- temporais e outros nas decisões de encaminhamento (Kim
ração da rede. Logo, as priJneiras encarnações da SDN et ai., 2015). No fim, a adoção de alglllnas dessas tecno-
objetivavam trabalhar dentro das restrições dos protoco- logias foi limitada: o protocolo OpenFlow ganhou alguma
los de rotea1nento da Internet existentes, usando-os para força en1 grandes data centers, onde as operadoras podiam
controlar diretamente as rotas. Um dos exemplos foi a pla- ter controle total sobre a rede. No entanto, a adoção gene-
taforma de controle de roteamento, ou RCP (Routing ralizada ern redes de longa distância e corporativas provou
Control Platform) (Feamster et al., 2003), que posterior- ser mais limitada porque as operações que podiam ser rea-
1nente foi i1nplantada e1n redes de backbone para realizar o lizadas na tabela de encaminha1nento eram n1uito restritas.
282 Redes de computadores

Alé1n disso, 1nuitos fon1ecedores de switch nunca in1ple- hardware programável, tanto em placas de interface de rede
mentaram totalmente as versões posteriores do padrão, (NICs; Network Interface Cards) quanto em switches, tor-
dificultando a implantação de soluções que dependessem naram possível personalizar tudo, desde o formato do paco-
desses padrões na prática. Etn últirna análise, no entanto, te até o compo1tamento de encaminhamento.
o protocolo OpenFlow deixou vários legados importan- A arquitetura geral às vezes é chamada de arquite-
tes: ( 1) controle sobre tuna rede corn urn único prograrna tura de S\vitch independente de protocolo. Ela envolve
de software centralizado, pem1itindo a coordenação entre un1 conjunto fixo de pipelines de processamento, cada
dispositivos de rede e elementos de encaminhan1ento, e (2) uma con1 men1ória para tabelas de combinação-ação, al-
a capacidade de expressar tal controle sobre toda a rede a guma quantidade de memória de registrador e operações
partir de uma única linguagem de programação de alto ní- simples, como adição (Bosshart et ai., 2013). O modelo de
vel (p. ex., Pytbon, Java). encaminhamento nonnahnente é chamado de tabelas de
Por fim, o OpenFlow acabou sendo uma interface combinação reconfiguráveis, ou RMT (Reconfigurable
rnuito limitadora. Ele não foi projetado visando um contro- Match Tables), u1na arquitetura de pipeline inspirada nas
le de rede flexível , mas sim um produto de conveniência: os arquiteturas RISC. Cada estágio do pipeline de processa-
dispositivos de rede já tinham tabelas de pesquisa baseadas rnento pode ler infonnações dos cabeçalhos dos pacotes,
em TCAM em seus switches e o Openflow foi , mais do fazer modificações nos valores do cabeçalho co1n base em
que qualquer coisa, uma iniciativa orientada para o mer- operações aritn1éticas simples e escrever de volta os valo-
cado para abrir a interface com essas tabelas, a fim de que res nos pacotes. A pipeline de processamento é mostrada na
programas de software externos pudessem escrever nela. Figura 5.44. A arquitetura do chip inclui um analisador pro-
Não demorou rnuito para que os pesquisadores de rede gramável, um conjunto de estágios de cornbinação, que têm
con1eçasse1n a pensar ta1nbé1n e1n tuna nlaneira 1nelhor de estado e pode1n realizar cálculos aritJnéticos em pacotes,
projetar o hardware, para permitir tipos 1nais flexíveis de bem como realizar decisões simples de encaminha1nento e
controle no plano de dados. A próxima seção discute os de- descarte, e um "montador", que grava os valores resultan-
senvolvimentos em hardware programável que, em última tes de volta nos pacotes. Cada um dos estágios de leitura/
análise, tornararn os próprios switches mais programáveis. modificação pode alterar o estado que é mantido em cada
Enquanto isso, o controle de software programável, estágio, além de quaisquer metadados de pacote (p. ex.,
inicia\Jnente focado principalmente en1 redes de trânsito informações sobre a profundidade da fila que um pacote
e de data center, está começando a encontrar seu caminho individual vê).
também nas redes de celular. Por exemplo, o projeto CORD O modelo RMT também permite formatos personali-
(Central Office Re-Architected as a Datacenter) visa desen- zados de cabeçalho de pacote, possibilitando o armazena-
volver uma rede 50 a partir de componentes de hardware n1ento de informações adicionais, além daquelas que estão
e software de código aberto desagregados (Peterson et ai., nos cabeçalhos do protocolo padrão de cada pacote. O nlo-
2019). delo RMT possibilita que u1n programador altere aspectos
do plano de dados do hardware, sem rnodificar o próprio
hardware. O programador pode especificar várias tabelas
5.6.3 Plano de dados SDN: de correspondência de qualquer tarnanho, sujeito a urn
hardware programável limite geral de recursos. Isso também dá ao operador fle-
xibilidade suficiente para modificar quaisquer campos de
Reconhecendo as limitações do chipset Openflow, um de- cabeçalho.
senvolvimento posterior em SDN foi tornar programável Os chipsets modernos, como o Barefoot Tofino, possi-
o próprio hardware. Uma série de desenvolvituentos e1u bilita1n realizar o processatnento personalizado de pacotes

Estágios

Estado Estado Estado


1 11 1 1 1
Entrada Saída
de de
pacotes
- Analisador Sintetizador pacot- es
-
.

programável Ler/ Ler/ Ler/ programável


Modificar Modificar Modificar

Figura 5.44 Pipeline reconfigurável de combinação-ação para um plano de dados programável.


Capítulo 5 • A camada de rede 283

independente de protocolo na entrada e na saída de pacotes, muito antes dos switches de hardware programáveis). Nes-
conforme mostra a Figura 5.45. A capacidade de realizar sa linha, un1 importante avanço no controle programável de
processamento personalizado tanto na entrada quanto na switches foi o desenvolvimento do Open vSwitch (OVS),
saída torna possível fazer análises sobre tempos de fila uma imple1nentação em código aberto de u1n switch que
(p. ex., quanto tempo os pacotes individuais passa1n nas processa pacotes em múltiplas camadas, operando como
filas), bem como encapsulamento e desencapsula1nento un1 n1ódulo no kemel do Linux. O switch de software ofe-
personalizados. Ta1nbém toma possível executar o geren- rece u1na série de recursos, de VLANs a IPv6. O surgimen-
ciamento ativo de fila (p. ex., RED) em filas de saída, com to do OVS pennitiu que os operadores de rede personali-
base em metadados que estaria1n disponíveis nas filas de zassem o encan1inhan1ento em data centers, em particular,
entrada. O trabalho e1n andamento está investigando ma- com o OVS funcionando como um switch no hipervisor
neiras de explorar essa arquitetura para fins de gerencia- dos servidores nos data centers.
mento de tráfego e congestionamento, como realizar medi-
ções detalhadas de fila (Chen et ai., 2019).
Em geral, esse nível de programabilidade provou ser 5.6.4 Telemetria programável de redes
mais útil em redes de data center, cujas arquiteturas podem Um dos benefícios mais importantes da SDN é sua capaci-
se beneficiar dos altos níveis de personalização. Contudo, dade de suportar a medição programável da rede. Por mui-
o modelo também permite algumas melhorias e recursos tos anos, o hardware de rede expôs apenas uma quantidade
gerais. Por exemplo, possibilita aos pacotes transportar li1nitada de informações sobre o tráfego de rede, como es-
informações sobre o estado da própria rede, permitindo tatísticas agregadas sobre fluxos de tráfego que o switch de
aplicações co1no a chamada telemetria de rede em ban- rede vê (p. ex., por meio de padrões como IPFIX). Por sua
da, ou INT (ln-band Network Telemetry), tecnologia que vez, o suporte para a captura de cada pacote de rede tam-
permite aos pacotes transportar informações, por exemplo, bétn pode ser proibitivo, dada a quantidade de armazeoa-
sobre a latência ao longo de cada hop etn um ca1ninho da 1nento e largura de banda que seria necessária para capturar
rede. o tráfego, bem con10 a quantidade de processamento que
NICs programáveis, bibliotecas co1no Data Plane De- seria necessária para analisar os dados em u1n ponto pos-
velopment Kit (DPDK) da Intel e o surgimento de pipelines terior. Para muitos aplicativos, é necessário encontrar um
de processamento mais flexíveis , como o chipset Barefoot equilíbrio entre a granularidade dos rastreamentos de paco-
Toftno, que é programável com uina linguagem cbatnada tes e a escalabilidade dos agregados IPFIX. Esse equilíbrio
P4 (Bosshart et ai., 2014), agora pennite1n que os operado- é necessário para dar suporte a tarefas de gerenciamento de
res de rede desenvolva1n protocolos personalizados e pro- rede, con10 medição de desempenho de aplicações, e para
cessamento de pacotes mais extenso no próprio hardware as tarefas de controle de congestionrunento que discutimos
do switch. P4 é uma linguagem de alto nível, independen- anterionnente.
te de protocolo, para a programação de processadores de O hardware de switch progra1nável, como aquele que
pacotes, co1no o chip RMT. Ta1nbém surgiram planos de discuti1nos na seção anterior, pode permitir uma teleme-
dados progratnáveis para switches de software (na verdade, tria 1nais flexível. U1na tendência, por exe1nplo, é pem1itir

DO
DDDDDO q
GI o o o oº'
DO DO DO
DO DO DO
GI o o o oº'
IG GI o o o oº'
IG GI D D D D DI

IG DOO
DDDDDI ~ DDDDDO
DO DO DO
IG DO DO DO
\ J \ J \ J \ )

Pipeline de entrada Crossbar Enfileiramento Pipeline de saída

Figura 5.45 Pipelines de combinação-ação reconfiguráveis na entrada e na saída.


284 Redes de computadores

que as operadoras expressem consultas sobre o tráfego de resun1ir o que consideran1os ser os dez n1aiores princípios
rede e1n linguagens de programação de alto nível usando (do mais ao menos importante).
frameworks como MapReduce (Dean e Ghemawat, 2008).
1. Certifique-se de que funciona. Não conclua o projeto
Esse paradigma, projetado inicialmente para processamen-
ou o padrão até que vários protótipos tenham conse-
to de dados e1n grandes clusters, també1n serve naturalmen-
guido se comunicar com sucesso uns com os outros.
te a consultas sobre tráfego de rede, por exemplo, quantos
Nonnahnente, um número muito grande de projetistas
bytes ou pacotes são destinados a um determinado endereço
escreve no início um padrão de rnil páginas, obtém sua
ou porta, dentro de uma janela de tempo especificada? lnfe-
aprovação e depois descobre que ele tem falhas profun-
lizn1ente, o hardware de switch programável não é (ainda)
das e não funciona . Então, esses projetistas escrevem
sofisticado o bastante para suportar consultas complexas e,
a versão 1.1 do padrão. Esse não é o melhor caminho.
como resultado, a consulta pode precisar ser particionada
entre o processador de stream e o switch de rede. Diversas 2. Ma ntenha a simplicidade. Quando estiver em dú-
tecnologias visam possibilitar o suporte a esse tipo de parti- vida, use a solução mais simples. Willia1n de Occam
ciona1nento de consultas (Gupta et ai., 2019). A pesquisa de enunciou este princípio (a navalha de Occam) no sécu-
problemas em aberto envolve descobrir como mapear cons- lo XIV. Em termos modernos: os recursos entram em
truções e abstrações de consulta de alto nível de modo efi- conflito. Se um recurso não for absolutamente essen-
ciente para hardware e software de switch de nível inferior. cial, deixe-o de fora, em especial se o mesmo efeito
Um dos últimos desafios para a telemetria de rede puder ser obtido pela co1nbinação de outros recursos.
programável nos próxi.mos anos é a crescente difusão do 3. Faça escolhas claras. Se houver várias maneiras de
tráfego criptografado na Internet. Por urn lado, a criptogra- executar a 1nesma ação, escolha apenas uma. Ter duas
fia 1nelhora a privacidade, tornando difícil para os intrusos ou mais opções para realizar a mesma ação é procurar
da rede ver o conteúdo do tráfego do usuário. Entretanto, problemas. Com frequência, os padrões têm diferentes
por outro lado, também é mais difícil para os operadores opções, modos ou parâmetros, porque várias partes
de rede gerenciar suas redes quando não podetn ver o con- poderosas insiste1n em afinnar que sua alternativa é
teúdo do tráfego. U1n exemplo diz respeito ao rastreamento a n1elhor. Os projetistas devem resistir con1 fi1meza a
da qualidade dos fluxos de vídeo da Internet. Na ausência essa tendência. Basta dizer não.
de criptografia, o conteúdo do tráfego toma aparentes deta- 4. Explore a modularidade. Esse princípio leva direta-
lhes como a taxa de bits e a resolução do vídeo. Quando o mente à ideia de pilhas de protocolos, em que cada
tráfego é criptografado, essas propriedades devern ser de- uma das camadas é independente de todas as outras.
duzidas indiretamente, com base nas propriedades do trá- Desse 1nodo, se as circunstâncias exigire1n 1nudanças
fego de rede que pode1n ser observadas diretamente (p. ex., em um 1nódulo ou e1n uma can1ada, os outros itens
tempos entre chegadas de pacotes, bytes transferidos). Tra- não serão afetados.
balhos recentes exploraram as maneiras de deduzir automa- 5. Espere heterogeneidade. Diferentes tipos de hard-
ticamente as propriedades de nível superior do tráfego de ware, instalações de transmissão e aplicações ocorrerão
aplicações de rede a partir de estatísticas de nível inferior em qualquer rede de grande porte. Para lidar com isso,
(Bronzino et ai., 2020). No final das contas, os operadores o projeto de rede deve ser sirnples, geral e flexível.
de rede precisarão de n1odelos melhores para ajudar a de- 6. Evite opções e parâ1netros estáticos. Se os parâme-
duzir como condições (co1no o congestionamento) afetam tros forern inevitáveis (p. ex., ta1nanho máximo de pa-
o dese1npenho da aplicação. cote), é 1nelhor fazer o transmissor e o receptor nego-
ciarem um valor em vez de definir opções fixas.
7. Procure um bom proj eto; ele não precisa ser per-
5.7 A CAMADA DE REDE feito. Frequentemente, os projetistas tê1n um bom
projeto, tnas não conseguem lidar com algutn caso
DA INTERNET especial co1nplicado. Em vez de alterar o projeto, eles
Agora é hora de discutirmos a camada de rede da Internet devem dar continuidade ao bom projeto e entregar o
detalhadamente. Contudo, antes de entrarmos nesses deta- fardo de trabalhar com ele às pessoas que fizeram as
lhes, vale a pena dar uma olhada nos princípios que contro- exigências complexas.
laram seu projeto no passado e a tornaram o sucesso que ela 8. Seja rígido ao enviar e tolerante ao receber. Em ou-
é hoje. Com frequência, as pessoas parece1n ter se esqueci- tras palavras, só envie pacotes que obedeçam rigoro-
do deles. Esses princípios são enumerados e discutidos na sa1nente aos padrões, mas espere receber pacotes que
RFC 1958, que merece ser lida (e isso deve ser obrigató- talvez não sejan1 plena1nente con1patíveis e procure
rio para todos os projetistas de protocolo - com uma prova lidar com eles.
final). Essa RFC se baseia bastante nas ideias estabeleci- 9. Pense na escalabilidade. Se o sistema tiver de ma-
das por Clark (1988) e Saltzer et ai. (1984). Agora, vamos nipular milhões de hosts e bilhões de usuários de
Capítulo 5 • A camada de rede 285

fom1a efetiva, nenhum banco de dados centralizado para o destino, independentemente de essas n1áquinas es-
de qualquer tipo será tolerável, e a carga deverá ser tarem na mesma rede ou de haver outras redes entre elas.
espalhada da maneira mais unifor1ne possível pelos Na Internet, a comunicação funciona da seguinte for-
recursos disponíveis. ma: a ca1nada de transporte recebe os fluxos de dados e
10. Considere desempenho e custo. Se uma rede tiver os divide para que possam ser enviados como pacotes IP.
fraco dese1npenho ou custos exagerados, ninguén1 a Teoricamente, os pacotes podem ter até 64 KB, no entan-
usará. to, na prática, eles geralmente têrn no máximo 1.500 bytes
(e, portanto, cabem em un1 único quadro Ethernet). Os ro-
Agora vamos deixar de lado os princípios gerais e ini-
teadores IP encam.inham cada pacote pela Internet, por u1n
ciar o exame dos detalhes da camada de rede da Internet.
caminho de um roteador para o seguinte, até que o destino
Nela, a Tnten1et pode ser vista como um conjunto de redes
seja alcançado. No destino, a camada de rede entrega os
ou siste1nas autônomos, ou ASs (Autonomous Systems), co-
dados à carnada de transporte, que os oferece ao processo
nectados entie si. Não existe u1na estrutura real, 1nas diver-
receptor. Quando todos os fragmentos finalmente chegam
sos backbones principais, construídos a partir de linhas de
à máquina de destino, eles são remontados pela camada de
grande largura de banda e roteadores rápidos.
rede no datagrama original. Esse datagrama é, então, entre-
O maior desses backbones, ao qual todos os outros se
gue à ca1nada de transporte.
conecta1n para alcançar o restante da Internet, é cha1nado
de rede de nível 1. Conectados aos backbones estão os No exemplo da Figura 5.46, u1n pacote originando-
ISPs, que oferecem acesso à Internet para casas e e1npresas, -se em um host na rede doméstica precisa atravessar quatro
data centers e instalações repletas de máquinas servidoras, redes e um grande número de roteadores IP antes de chegar
e redes regionais (de nível intermediário). Os data centers à rede da ernpresa na qual o host de destino está localiza-
oferecem grande parte do conteúdo enviado pela Internet. do. Isso não é raro na prática, e existern n1uitos caminhos
Conectados às redes regionais estão mais ISPs, LANs em maiores. També1n há muita conectividade redundante na
muitas universidades e empresas, além de outras redes na Internet, com backbones e ISPs conectando-se uns aos ou-
borda. Um esque1na dessa organização se1ni-hierárquica é tros em diversos locais. Isso significa que existem muitos
mostrado na Figura 5.46. caminhos possíveis entre dois hosts. A tarefa dos protocolos
O elemento que mantém a Internet unida é o protocolo de roteamento IP é decidir quais deles serão usados.
da can1ada de rede, o IP (Internet Protocol). Ao contrário
da maioria dos protocolos da camada de rede mais antigos, 5.7.1 O protocolo IP versão 4 (1Pv4)
o IP foi projetado desde o início tendo como objetivo a in-
terligação de redes. Uma boa maneira de pensar na camada Um local apropriado para iniciar nosso estudo da carnada
de rede é esta: sua tarefa é fornecer a melhor forma possível de rede da Inte1net é o fonnato dos próprios datagra1nas IP.
(ou seja, sem garantias) de transportar pacotes da origem Um datagrama IPv4 consiste em uma parte de cabeçalho

Um backbone
Linhas
Linhas alu~adas Um backbone nos na Europa
transatlânticas
para a Asia Estados Unidos
alugadas

Rede
móvel Rede
Rede nacional
regional

5G-- /
Rede da

-cabo
Q empresa

D , _ Rede
doméstica

Figura 5.46 A Internet é uma coleção interconectada de muitas redes.


286 Redes de computadores

e uma parte de dados. O cabeçalho ten1 uma parte fixa de confiabilidade e velocidade. Para voz digitalizada, a entre-
20 bytes e uma parte opcional de tamanho variável. O for- ga rápida vence a entrega segura. Para a transferência de
mato do cabeçalho é 1nostrado na Figura 5.47. Os bits são arquivos, uma transmissão sem erros é 1nais importante do
transmitidos da esquerda para a direita e de cima para que urna transmissão rápida. O campo Tipo de serviço for-
baixo, com o bit de nlais alta ordem do campo Versão necia 3 bits para prioridade de sinal e 3 bits para sinalizar
aparecendo pri1neiro. (Essa é uma orden1 de byte de rede se um host se in1portava mais co1n atraso, throughput ou
"big-endian". Em máquinas "little-endian", como os com- confiabilidade. Contudo, ninguém realn1ente sabia o que
putadores x86 da Intel, uma conversão de software é exibi- fazer com esses bits nos roteadores, de modo que ficaram
da na trans1nissão e na recepção.) Fazendo u1n retrospecto, sem uso por nluitos anos. Quando os serviços diferenciados
"little-endian" teria sido un1a escolha 1nelbor, mas, quando foram projetados, a IETF jogou a toalha e reutilizou esse
o IP foi projetado, ninguém sabia que ele viria a dominar campo. Agora, os seis bits superiores são usados para mar-
a computação. car o pacote com sua classe de serviço; descrevemos os ser-
O campo Versão controla a versão do protocolo à qual viços expressos e garantidos anteriormente neste capítulo.
o datagrama pertence. A versão 4 domina a Internet hoje, e Os 2 bits inferiores são usados para transportar informações
foi aí que começamos nossa discussão. Incluindo a versão explícitas de notificação de congestiona1nento, por exem-
no início de cada datagrama, é possível ter uma transição plo, se o pacote o experimentou; descrevemos essa notifica-
entre as versões por um longo período. Na verdade, o IPv6, ção explícita corno parte do controle de congestionamento
a próxima versão do IP, foi definido há mais de uma déca- anteriormente neste capítulo.
da, embora ainda esteja só co1neçando a ser implementado. O campo Ta1nanho total inclui tudo o que bá no da-
Vamos descrevê-lo tnais adiante nesta seção. Seu uso por tagrama - cabeçalho e dados. O tamanho máxi1no é de
fim será forçado quando cada u1.na das quase 23 1 pessoas na 65.535 bytes. Atualmente, esse limite superior é tolerável,
China tivere1n u1n PC desktop, u1n notebook e um telefone mas, com as futuras redes, serão necessários datagramas
IP. A propósito da numeração, o 1Pv5 era um protocolo de maiores.
fluxo em tempo real experimental, e nunca foi ampla1.nente O campo identificação é necessário para permitir que
utilizado. o host de destino determine a qual datagrama pertence um
Como o tamanho do cabeçalho não é constante, existe frag1nento recém-chegado. Todos os fragmentos de urn da-
u1n campo no cabeçalho, IHL, que inforn1a seu tamanho e1n tagra1.na contê1.n o mes1no valor de identificação.
palavras de 32 bits. O valor mínimo é 5, quando não há Em seguida, bá u1n bit não utilizado, o que é surpreen-
nenhuma opção presente. O valor nláxiino desse campo de dente, pois o espaço disponível no cabeçalho IP é extre-
4 bits é 15, que limita o cabeçalho a 60 bytes, e, portanto, mamente escasso. Como uma piada de prüneiro de abril,
o campo Opções a 40 bytes. Para algumas opções, como Bellovin (2003) propôs o uso desse bit para detectar tráfego
aquela que registra a rota que u1n pacote to1nou, 40 bytes é rnalicioso. Isso simplificaria bastante a segurança, pois os
muito pouco, tomando essas opções inúteis. pacotes com o bit "malicioso" marcado seriam conhecidos
O campo Serviços diferenciados é um dos poucos por terem sido enviados por invasores e poderiam simples-
campos que mudaratn (ligeiramente) seu significado com o mente ser descartados. Infelizmente, a segurança na rede
passar dos anos. Originalmente, ele se chamava Tipo de ser- não é tão simples assim, nlas valeu a tentativa.
viço. Ele foi e ainda é destinado a distinguir entre diferentes Depois vêm dois ca1npos de l bit relacionados à frag-
classes de serviços. São possíveis várias combinações de mentação. DF significa Don ZFragnient (Não Fragmentar).

- - - - - - - - - - - - - - - 32 bits - - - - - - - - - - - - - --

Versão IHL Serviços diferenciados Tamanho total


D M Deslocamento de fragmento
Identificação F F
Tempo de vida (TTL) Protocolo Checksum do cabeçalho

Endereço de origem

Endereço de destino

-- Opções (O ou mais palavras) -.....


T T
Figura 5.47 O cabeçalho 1Pv4.
Capítulo 5 • A camada de rede 287

Trata-se de uma orden1 para os roteadores não dividire1n Con10 o cabeçalho transporta infonnações vitais, con10
o datagrama. Originalmente, a intenção era dar supor- endereços, ele contém seu próprio checksum por proteção, o
te a hosts incapazes de unir as partes novamente. Agora Checksu111 do cabeçalho. O algoritmo tem como objetivo so-
ele é usado co1no parte do processo de descobrir a MTU 1nar todas as meias palavras de 16 bits do cabeçalho à 1nedi-
do caminho, que é o maior pacote que pode atravessar da que elas chegan1, utilizando a aritn1ética de co1nplemento
u1n caminho sen1 ser fragmentado. Marcando o datagra- de u1n e, depois, calculando o cotnplemento de tun do resul-
ma com o bit DF, o trans1nissor sabe que ele chegará com tado. Para os propósitos desse algoritmo, supomos que esse
uma só parte, ou uma mensagem de erro será retornada ao campo seja zero no momento da chegada. Esse checksurn é
trans1nissor. útil para detectar erros enquanto o pacote atravessa a rede.
MF significa Mais Frag1nentos. Todos os frag1nentos, Observe que ele deve ser recontado a cada hop, porque pelo
exceto o últin10, tê1n esse conjunto de bits, necessário para menos um campo sempre se altera (o campo TTL), mas exis-
saber quando chegaram todas as partes de um datagrama. tem artificios que podem ser usados para acelerar o cálculo.
O ca1npo Desloca1nento de fragrnento informa a que Os campos Endereço de orige1n e Endereço de destino
ponto do datagrama atual o fragmento pertence. Todos os indicam o endereço IP das linhas de rede de origem e de des-
fragmentos de u1n datagra1na, con1 exceção do último, de- tino. Discutiremos os endereços da Internet na próxin1a seção.
ven1 ser 1núltiplos de 8 bytes, a unidade ele1nentar de frag- O campo Opções foi projetado para pernútir que ver-
mento. Como são fornecidos 13 bits, existem no máximo sões posteriores do protocolo incluam informações inexis-
8.192 partes por datagrama, resultando em um tamanho tentes no projeto original, possibilitando a experi1nentação
máximo de pacote igual ao limite do ca1npo Tanzanho total. de novas ideias e evitando a alocação de bits de cabeçalho
Trabalhando juntos, os can1pos ldent!ficação, MF e Deslo- para informações raramente necessárias. Existem opções de
carnento dej·ragrnento são usados para implementar a frag- tamanhos variáveis. Cada un1a começa com um código de
mentação descrita na Seção 5.5.6. 1 byte identificando a opção. Algumas opções são seguidas
O campo TTL é um contador usado para limitar a vida por u1n ca1npo de tamanho de opção de 1 byte e, depois, por
útil dos pacotes. Esse campo originalmente deveria contar 1 ou mais bytes de dados. O can1po Opções é preenchido
o tempo e1n segundos, permitindo u1na vida útil máxima de até alcançar um múltiplo de 4 bytes. Originalmente, havia
255 s. Esse contador deve ser decre1nentado a cada hop e cinco opções definidas, como mostra a Figura 5.48.
supõe-se que ele seja decrementado diversas vezes quando A opção Security mostra o nível de segurança da in-
estiver enfileirado durante um longo tempo em urn rotea- formação . Teoricamente, um roteador militar poderia usar
dor. Na prática, ele si1nples1nente conta os hops. Quando o esse campo para especificar que não se devem seguir rotas
contador chega a zero, o pacote é descartado e u1n pacote que passam por certos países que os militares consideram
de advertência é enviado ao host de origem. Esse recurso "perigosos". Na prática, todos os roteadores a ignoram,
evita que os datagra1nas fiquem vagando indefLUidamente, pois sua única função prática é ajudar os espiões a descobrir
algo que aconteceria se as tabelas de roteamento fossem mais facilmente onde estão as melhores infonnações.
danificadas. A opção Strict source routing fornece o can1inho com-
Quando tiver montado um pacote con1pleto, a camada pleto da origem ao destino como uma sequência de ende-
de rede precisará saber o que fazer com ele. O can1po Pro- reços IP. O datagrama é obrigado a seguir exatamente essa
tocolo informa a que processo de transporte o datagrama rota. Essa opção é mais útil principalmente para os gerentes
deve ser entregue. O TCP é urna possibilidade, mas tam- de sisten1as enviare1n pacotes de emergência quando as ta-
bém há o UDP e alguns outros. A numeração dos protocolos belas de rotea1nento estão danificadas ou para fazer 1nedi-
se aplica a toda a Internet. Os protocolos e outros números ções de sincronização ou desempenho.
atribuídos foram listados inicialmente na RFC 1700, mas A opção Loose source routing exige que o pacote per-
hoje eles estão contidos em um banco de dados on-line lo- corra uma lista de roteadores específicos, na ordem espe-
calizado em www.iana.org. cificada, mas permite que ele passe por outros roteadores

Opção Descrição
Security Especifi ca o nível de segurança do datagrama
Strict source routing Mostra o caminho completo a ser seguido
Loose source routing Apresenta uma lista de roteadores que não devem ser esquecidos
Record route Faz cada roteador anexar seu endereço IP
Timestamp Faz cada roteador anexar seu endereço e seu registro de tempo

Figura 5.48 Algumas opções do IP.


288 Redes de computadores

durante o percurso. Nonnalmente, essa opção forneceria um e de uma parte de host nos bits inferiores. A parte de rede
pequeno nún1ero de roteadores, a ftm de forçar detenninado te111 o 111es1no valor para todos os hosts em uma única rede,
caminho. Por exemplo, se for necessário forçar um pacote como uma LAN Ethernet. Isso significa que uma rede cor-
a ir de Londres até Sidney pelo Oeste e não pelo Leste, essa responde a u1n bloco contíguo de espaço de endereços IP.
opção poderia especificar roteadores em Nova Iorque, Los Esse bloco é charnado de prefixo.
Angeles e Honolulu. A opção é útil principahnente quando Os endereços IP são escritos ern notação decimal com
considerações políticas ou econômicas exigem a passagem ponto. Nesse forn1ato, cada um dos 4 bytes é escrito em de-
por certos países ou que eles sejam evitados. cirnal, de O a 255. Por exemplo, o endereço hexadecimal de
A opção Record route infonna aos roteadores ao longo 32 bits 80D00297 é escrito como 128.208.2.151. Os prefixos
do caminho que eles devem anexar seu endereço IP ao cam- são escritos dando o menor endereço IP no bloco e o ta1nauho
po Opções. Isso permite que administradores de sisternas do bloco. O tarnanho do prefixo é detenninado pelo número
depurem algoritmos de roteamento ("Por que os pacotes de bits na parte de rede; os bits restantes fazem parte do cam-
de Houston para Dallas estão passando prüneiro por Tó- po de host e podem variar. Isso significa que o tamanho do
quio?"). Quando a ARPANET foi criada, nenhum pacote endereço deve ser uma potência de dois. Por convenção, ele é
passava por mais de nove roteadores; por isso, 40 bytes de escrito após o endereço IP do prefixo con1 urna barTa seguida
opção erarn rnais do que suficientes. Como já foi dito, agora pelo tamanho en1 bits da parte da rede. Ern nosso exemplo, se
. pequeno.
esse espaço e' muito o prefixo tiver 28 endereços e, portanto, deixar 24 bits para a
Por fim, a opção Timestamp é semelhante à opção parte de rede, ele é escrito como 128.208.0.0/24.
Record route, exceto pelo fato de, além de registrar seu Co1110 o tamanho do prefixo não pode ser deduzido
endereço IP de 32 bits, cada roteador também mantém um apenas pelo endereço IP, os protocolos de roteamento
, de-
registro de tempo de 32 bits. Essa opção também é mais útil vem transportar os prefixos aos roteadores. As vezes, os
para medição da rede. prefixos são sin1plesn1ente descritos por seu tarnanho, con10
Hoje, as opções do IP perderam popularidade. Muitos em um "/ 16" que é pronunciado como "barra 16". O tama-
roteadores as ignorarn ou não as processarn de modo eficien- nho do prefixo corresponde a uma máscara binária de 1s na
te, deixando-as de lado como um caso incomutn. Ou seja, parte destinada à rede. Quando escrita dessa forma, ela é
elas são aceitas apenas parcialmente e raramente são usadas. chamada de máscara de sub-rede e pode ser subrnetida a
un1 AND com o endereço IP a fim de extrair apenas a parte
da rede do endereço IP. Para nosso exen1plo, a máscara de
5.7.2 Endereços IP sub-rede é 255.255.255 .0. A Figura 5.49 mostra um prefixo
Um recurso que define o 1Pv4 são seus endereços de 32 bits. e u1na máscara de sub-rede.
Cada host e roteador na Internet tem um endereço IP que Endereços hierárquicos têrn vantagens e desvantagens
pode ser usado nos campos Endereço de orige1n e Endereço significativas. A principal vantagern dos prefixos é que os
de destino dos pacotes IP. É importante observar que um en- roteadores podern encan1inhar pacotes com base apenas na
dereço IP não se refere realn1ente a um host. Na verdade, ele parte de rede do endereço, desde que cada uma das redes te-
se refere a uma interface de rede; assim, se um host estiver nha um bloco de endereços exclusivos. A parte do host não
em duas redes, ele precisará ter dois endereços IP. Contudo, irnporta para os roteadores, pois todos os hosts na n1esma
na prática, a maioria dos bosts está ern urna única rede e, rede estarão na n1esrna direção. Somente quando os pacotes
portanto, só tern un1 endereço IP. Ao contrário, os roteadores chega1n à rede para a qual são destinados é que eles são en-
tên1 várias linhas e, portanto, vários endereços fP. caminhados para o host correto. Isso toma as tabelas de ro-
teatnento muito menores do que elas seriarn de outra forma.
Considere que o número de hosts na Internet está se apro-
Prefixos ximando de urn bilhão. Essa seria urna tabela muito grande
Os endereços IP são hierárquicos, diferentemente dos en- para cada roteador rnanter. Todavia, usando uma hierarquia,
dereços Ethernet. Cada endereço de 32 bits é composto de os roteadores precisam manter rotas somente para cerca de
uma parte de rede de tarnanho variável nos bits superiores 300 rnil prefixos.

32 bits

Tamanho do prefixo = L bits 32 - L bits

Rede Host
Máscara de
sub-rede 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 O O O O O O O O

Figura 5.49 Um prefixo IP e uma máscara de sub-rede.


Capítulo 5 • A camada de rede 289

Embora o uso de uma hierarquia pennita a expansão do à medida que as redes crescem. Por exemplo, imagine uma
roteamento na Internet, ele tem duas desvantagens. Primei- universidade que começou com nosso exemplo de prefixo
ro, o endereço IP de um host depende do local onde ele está / 16 para uso pelo departamento de ciência da computação,
na rede. U1n endereço Ethen1et pode ser usado em qualquer para os computadores em sua Ethernet. Um ano mais tar-
lugar do inundo, 1nas cada endereço IP pertence a uma rede de, o departa1nento de engenharia elétrica quis entrar na
específica, e os roteadores só poderão entregar pacotes des- Internet, e o mesmo aconteceu co1n o departamento de ar-
tinados a esse endereço na rede. Projetos como o IP 1nóvel tes. Que endereços IP esses departamentos deverão usar?
são necessários para dar suporte a hosts que se movem entre Para obter outros blocos, seria preciso sair da universidade,
as redes, mas que queren11nanter os 1nesn1os endereços IP. e isso pode ser caro e inconveniente. Além do 1nais, o / 16
A segunda desvantagem é que a hierarquia desperdiça já alocado tem endereços suficientes para mais de 60.000
endereços, a menos que seja cuidadosamente gerenciada. hosts. A intenção poderia ser pennitir um crescimento sig-
Se os endereços são atribuídos a redes em blocos (muito) nificativo, mas, até que isso aconteça, é um desperdício
grandes, haverá (muitos) endereços que são alocados, mas alocar mais blocos de endereços IP à mesma universidade.
não usados. Essa alocação não i1nportaria 1nuito se houves- E' necessária uma organização diferente.
se 1nuitos endereços para utilizar. Todavia, há mais de duas A solução para esses proble1nas é permitir que uma
décadas foi observado que o tremendo crescimento da In- rede seja dividida em diversas partes para uso interno,
ternet estava esgotando rapidamente o espaço de endereços como várias redes, 1nas externamente continue a funcionar
livres. O IPv6 é a solução para essa escassez, mas, até que como uma única rede. Isso é subdivisão de rede, e as redes
ele seja largamente implantado, haverá muita pressão para (como as LANs Ethernet) que resultam da divisão de wna
alocar endereços lP de modo que sejam usados de maneira rede maior são chamadas de sub-redes. Como disse1nos no
mais eficiente. Capítulo l, você precisa estar ciente de que esse novo uso
do termo entra e1n conflito co1n o uso mais antigo de "sub-
Sub-redes -rede", que significa o conjunto de todos os roteadores e
Para evitar conflitos, os números de rede são controlados enlaces de comunicação em uma rede.
por u1na corporação não lucrativa chamada ICANN (Inter- A Figura 5.50 mostra como as sub-redes pode1n ajudar
net Cor poration for Assigned Names and Numbers). Ela etn nosso exemplo. O único I 16 foi dividido em partes. Essa
delegou partes do espaço de endereços a diversas autorida- segmentação não precisa ser uniforme, 1nas cada parte pre-
des regionais, que distribuíram endereços IP aos ISPs e a cisa estar alinhada de modo que os bits possa1n ser usados
outras empresas. Esse é o processo pelo qual uma empresa na parte destinada ao host. Nesse caso, metade do bloco
aloca um bloco de endereços IP. (/ 17) é alocada ao departa1nento de ciência da computa-
Contudo, esse processo é apenas o começo da história, ção, um quarto é alocado ao depa1ia1nento de engenharia
pois a atribuição de endereços IP é contínua, à medida que elétrica (/ 18) e un1 oitavo (/ 19), ao departa1nento de artes.
as empresas cresce1n. Disse1nos que o roteamento por pre- O oitavo restante não é alocado. Um modo diferente de ver
fixo exige que todos os hosts de u1na rede tenham o 1nes1no como o bloco foi dividido é examinar os prefixos resultan-
nún1ero de rede. Essa propriedade poderá causar proble1nas tes quando escritos em notação binária:

Ciência da computação: 10000000 11010000 1lxxxxxxx xxxxxxxx


Engenharia elétrica: 10000000 11010000 OOlxxxxxx xxxxxxxx
Artes: 10000000 11010000 011lxxxxx xxxxxxxx

Aqui, a barra vertical (1) 1nostra o li1nite entre a pa11e da sub-rede e a parte do host.

EE

cc 128.208.0.0/16
128.208.128.0/1 7 (para a Internet)

Artes

Figura 5.50 Dividindo um prefixo IP em redes separadas, com a subdivisão de rede.


290 Redes de computadores

Quando um pacote entra no roteador principal, como milhão. Isso pode gerar uma tabela muito grande. Ela pode
ele sabe a qual sub-rede deve ir? E' aí que entram os deta- não parecer grande pelos padrões dos cornputadores, mas
lhes de nossos prefixos. Uma maneira seria cada roteador observe que os roteadores precisam realizar uma pesquisa
ter urna tabela com 65.536 entradas, informando qual linha nessa tabela para encaminhar cada pacote, e os roteadores
de saída usar para cada host no can1pus. Mas isso prejudi- en1 ISPs grandes podem encarninhar até n1ilhões de paco-
caria o beneficio principal da expansão que obtemos co1n tes por segundo. Hardware especializado e men1ória veloz
o uso de uma hierarquia. E1n vez disso, os roteadores sim- são necessários para processar pacotes nessas velocidades,
ples1nente precisam conhecer as máscaras de sub-rede para e não um computador de uso geral.
as redes no campus. Além disso, algoritmos de rotearnento exigem que
Quando um pacote chega, o roteador examina o en- cada roteador troque corn outros informações sobre os en-
dereço de destino e verifica a qual sub-rede ele pertence. dereços que ele pode alcançar. Quanto maiores as tabelas,
O roteador pode fazer isso passando o endereço de desti- mais informações precisam ser comun icadas e processa-
no pela operação AND com a rnáscara para cada sub-rede das. O processamento cresce pelo menos linearmente com
e verificando se o resultado é o prefixo correspondente. o tarnanbo da tabela. Maior cornunicação aun1enta a pro-
Por exemplo, considere um pacote destinado para o en- babilidade de que algun1as partes se percam, pelo menos
dereço IP 128.208.2.151. Para ver se ele é para o departa- temporariamente, possivelrnente levando a instabilidades
mento de ciência da computação, realizamos o AND corn de roteamento.
255.255. 128.0 para apanhar os 17 prirneiros bits (que é O problema da tabela de roteamento poderia ter sido
128.208.0.0) e vemos se eles correspondem ao endereço resolvido indo para uma hierarquia mais profunda, como a
do prefixo (que é 128.208.128.0). Eles não correspondem. rede telefônica. Por exemplo, fazer cada endereço lP con-
Verificando os primeiros 18 bits para o departamento de en- ter urn campo de país, estado/província, cidade, rede e host
genharia elétrica, obtemos 128.208.0.0 ao realizar o AND pode funcionar. Então, cada roteador só precisaria saber
con1 a máscara de sub-rede. Isso con1bina corn o endereço como chegar a cada país, estado ou província em seu pró-
do prefixo, de modo que o pacote é encaminhado para a prio país, a cidades em seu estado ou província, e a redes
linha que leva à rede de engenharia elétrica. en1 sua cidade. Infelizmente, essa solução exigiria muito
As divisões da sub-rede podem ser mudadas mais tar- rnais do que 32 bits para endereços IP e usaria endereços
de, se for preciso, atualizando todas as rnáscaras de sub- de 1nodo ineficaz (e Liechtenstein teria tantos bits em seus
-rede nos roteadores dentro da universidade. Como a subdi- endereços quanto os Estados Unidos).
visão de redes não é visível fora da rede, a alocação de uma Felizmente, bá algo que podemos fazer para reduzir os
nova sub-rede não exige contatar a lCANN nem alterar tamanhos da tabela de roteamento. Podemos aplicar a mes-
qualquer banco de dados externo. ma ideia das sub-redes: os roteadores em diferentes locais
podem saber a respeito de determinado endereço IP como
CIDR - Classless lnterDomain Routing pertencentes a prefixos de diferentes tamanhos. Contudo,
em vez de dividir um bloco de endereços em sub-redes,
Mesmo que os blocos de endereços IP sejam alocados de aqui combinamos vários prefixos pequenos em um único
modo que os endereços sejarn usados de rnodo eficien- prefixo maior. Esse processo é chamado de agregação de
te, ainda haverá um problerna: a explosão da tabela de rota. O maior prefixo resultante às vezes é chamado de
roteamento. super-rede, ao contrário das sub-redes corno a divisão de
Os roteadores nas organizações na borda da rede, blocos de endereços.
como uma universidade, precisam ter uma entrada para Com a agregação, os endereços IP estão contidos em
cada uma de suas sub-redes, infonnando ao roteador prefixos de tamanhos variáveis. O mesmo endereço IP que
qual linha usar para chegar a essa rede. Para as rotas até um roteador trata corno parte de um /22 (um bloco conten-
destinos fora da organização, eles podem usar a regra pa- do 2 10 endereços) pode ser tratado por outro roteador como
drão simples de enviar os pacotes na linha até o ISP que parte de um /20 maior (que contén1 2 12 endereços). Fica a
conecta a organização ao restante da Internet. Os outros cargo de cada roteador ter a informação de prefixo corres-
endereços de destino precisam ser enviados para algurn pondente. Esse projeto func iona cotn sub-redes e é cba1na-
outro lugar. do CIDR (Classless lnter-Domain Routing). A versão
Os roteadores nos ISPs e backbones no meio da Inter- mais recente dele está especificada na RFC 4632 (Fuller e
net não têm esse luxo. Eles precisam saber que caminho se- Li, 2006). O nome destaca o contraste con1 endereços que
guir para chegar a cada rede, e nenburn padrão sirnples fun- codificam a hierarquia de classes, que explicaremos em
cionará. Esses roteadores de núcleo são considerados como breve.
estando na zona livre padrão da Internet. Atualmente, nin- Para tornar o CIDR mais fácil de entender, vamos
guém mais sabe quantas redes estão conectadas à Internet, considerar um exemplo em que um bloco de 8.192 ende-
mas é um número grande, provaveln1ente pelo menos um reços IP esteja disponível a partir de 194.24.0.0. Suponha
Capítulo 5 • A camada de rede 291

que a Ca1nbridge University precise de 2.048 endereços e as três universidades e os 1.024 endereços não alocados de
tenha recebido os endereços de 194.24.0.0 a 194.24. 7.255, outra forma. Usando a agregação, três prefixos foram re-
junto com a máscara 255.255.248.0. Esse é u1n prefixo /21. duzidos a um, diminuindo os prefixos de que o roteador de
E1n seguida, a Oxford University pede 4.096 endereços. Nova Iorque precisa ser infonnado e as entradas da tabela
Como u1n bloco de 4.096 endereços precisa estar em u1n de rotean1ento no roteador de Nova Iorque.
li1nite de 4.096 bytes, Oxford não pode receber endereços Quando a agregação é ativada, esse é um processo au-
começando em 194.24.8.0. Em vez disso, ela recebe de tomático. Ele depende de quais prefixos estão localizados
194.24.16.0 a 194.24.31.255, junto co1n uma máscara de na Internet, não das ações de um administrador atribuindo
sub-rede 255.255.240.0. Por fin1, a University ofEdinburgh endereços às redes. A agregação é bastante usada em toda a
pede l.024 endereços e recebe os endereços de 194.24.8.0 Internet e pode reduzir o tamanho das tabelas de roteamen-
a 194.24.11.255 e a máscara 255.255.252.0. Essas atribui- to para cerca de 200 mil prefixos.
ções são resumidas na Figura 5.51. Outro detalhe é que os prefixos pode1n se sobrepor.
Todos os roteadores na zona livre padrão agora são in- A regra é que os pacotes sejam enviados na direção da rota
formados sobre os endereços IP nas três redes. Os roteado- mais específica, ou do maior prefixo combinado, que pos-
res próximos às universidades pode1n precisar enviar para sui menos endereços IP. O roteamento com o maior prefi-
uma linha de saída diferente para cada um dos prefixos, de xo combinado oferece um grau útil de flexibilidade , como
modo que eles precisam de uma entrada para cada u1n dos pode ser visto no cornportamento do roteador em Nova
prefixos em suas tabelas de roteatnento. Um exen1plo é o Iorque na Figura 5.53. Esse roteador ainda usa um único
roteador em Londres na Figura 5.52. prefixo agregado para enviar o tráfego de três universida-
Agora, vejamos essas três universidades do ponto de des para Londres. Todavia, o bloco de endereços previa-
vista de um roteador distante em Nova Iorque. Todos os mente disponíveis dentro desse prefixo foi agora alocado
endereços IP nos três prefixos devern ser enviados de Nova a uma rede em São Francisco. Uma possibilidade é o ro-
Iorque (ou dos Estados Unidos em geral) para Londres. teador em Nova Iorque 1nanter quatro prefixos, enviando
O processo de rotea1nento em Londres observa isso e com- pacotes para três deles em Londres e para o quarto em São
bina os três prefixos em uma única entrada agregada para Francisco. Em vez disso, o roteamento por maior prefixo
o prefixo 194.24.0.0/ 19 que ele passa para o roteador em co1nbinado pode lidar com esse encaminhatnento com os
Nova Iorque. Esse prefixo contém 8K endereços e abrange dois prefixos que aparecem. Un1 prefixo geral é usado para

Universidade Primeiro endereço Último endereço Quantos Prefixo


Cambridge 194.24.0.0 194.24.7.255 2.048 194.24.0.0/21
Edinburgh 194.24.8.0 194.24.11.255 1.024 194.24.8.0/22
(Disponível) 194.24.12.0 194.24.15.255 1.024 194.24.12.0/22
Oxford 194.24.16.0 194.24.31.255 4.096 194.24.16.0/20

Figura 5.51 Um conjunto de atribuições de endereços IP.

194.24.0.0/21 - -
Cambridge

Nova Iorque Londres

194.24.0.0/19 194.24.16.0/20-
(1 prefixo agregado) (3 prefixos)
Oxford

194.24.8.0/22 - -
Edinburgh

Figura 5.52 Agregação de prefixos IP.


292 Redes de computadores

São Francisco Nova Iorque


194.24.16.0/20 -
- 194.24.12.0/22 194.24.0.0/19 -

- 194.24.12.0/22 194.24.8.0/22-

Figura 5.53 Roteamento pelo maior prefixo combinado no roteador em Nova Iorque.

o tráfego direto para o bloco inteiro e1n Londres. Um pre- categorias, listadas na Figura 5.54. Essa alocação passou a
fixo 1nais específico também é usado para direcionar uma se chamar endereçamento em classes.
parte do prefixo rnaior para São Francisco. Com a regra do Os formatos das classes A, B e C permitem até 128
maior prefixo combinado, os endereços IP dentro da rede redes com 16 milhões de hosts cada uma, 16.384 redes com
de São Francisco serão enviados no enlace contínuo para até 65.536 hosts cada uma e 2 1nilhões de redes (p. ex. ,
São Francisco, e todos os outros endereços IP no prefixo LANs) co1n até 256 hosts cada uma (en1bora algumas des-
maior serão enviados para Londres. sas sejam especiais). Também há suporte para multicast
Por conceito, o CIDR funciona da seguinte fonna: (o formato da classe D), em que u1n datagrama é direcio-
quando um pacote chega, a tabela de roteamento é varrida nado para vários hosts. Os endereços começando com 1111
para detenninar se o destino se encontra dentro do prefixo. são reservados para uso futuro. Eles seria111 valiosos para
E' possível que várias entradas co1n diferentes ta1nanhos de usar agora, dada a escassez de espaço de endereços IPv4.
prefixo combinem, caso em que é usada a entrada com o Infelizmente, muitos hosts não aceitarão esses endereços
maior prefixo. Assim, se houver uma combinação para uma como válidos, pois têm ficado fora dos limites por tanto
máscara /20 e uma máscara /24, a entrada /24 será usada tempo que é dificil ensinar novos truques a hosts antigos.
para pesquisar a linha de saída para o pacote. Contudo, esse Esse é u1n projeto hierárquico, nlas, diferentemente do
processo seria tedioso se a tabela fosse realn1ente varrida CIDR, os tamanhos dos blocos de endereço são fixos. Exis-
entrada por entrada. Em vez disso, foram criados algorit- tem 1nais de 2 bilhões de endereços de 21 bits, mas a orga-
mos complexos para agilizar o processo de combinação de nização do espaço de endereços por classes desperdiça 1ni-
endereço (Ruiz-Sanchez et al., 200 l ). Os roteadores comer- lbões deles. Em particular, o vilão real é a rede de classe B.
ciais utilizam chips VLSJ personalizados com esses algorit- Para a 1naioria das organizações, u1na rede de classe A, com
mos embutidos no hardware. 16 111ilhões de endereços, é muito grande, e uma rede de
classe C, com 256 endereços, é muito pequena. Uma rede
de classe B, com 65.536, é ideal. No folclore da Internet,
Endereçamento em classes especiais
essa situação é conhecida como o problema dos três ursos
Para ajudá-lo a entender melhor por que o ClDR é tão útil, (co1no em Goldilocks and the Three Bears [Southey, 1848]).
vamos apresentar rapidamente o projeto que o precedeu. Na realidade, poré1n, um endereço de classe B é mui-
Antes de 1993, os endereços IP eram divididos em cinco to grande para a maioria das organizações. Os estudos têm

--- - - - - - - - - - - 32 b i t s - - - - - - - - - - --

~~~~~ 1 1 1 1 1
..........~~~~__.__._...._..____.~~~""---'..........~~~~__.__.__,__1 Intervalo de endereços
Classe de host
1.0.0.0 a
A ~º~
1 1 __ de_ _....__ _ _ _ _ _ _ _H_o_s_t _ _ _ _ _ _ _ _1 127.255.255.255
R_e_

128.0.0.0 a
B l 10 1 Rede Host
1 191.255.255.255

e l 110 Rede Host


192.0.0.0 a
1 223.255.255.255

224.0.0.0 a
D l 1110 1 Endereço multicast
1 239.255.255.255

240.0.0.0 a
E 1 111 1 1 Reservado para uso futuro
1 255.255.255.255

Figura 5.54 Formatos de endereços IP.


Capítulo 5 • A camada de rede 293

mostrado que mais da metade de todas as redes de classe simples no sistema antigo com classes. Quando um pacote
B tem menos de 50 hosts. Uma rede de classe C teria sido chegava a u1n roteador, tnna cópia do endereço IP era deslo-
suficiente, 1nas, se1n dúvida, cada organização que pediu cada 28 bits para a direita, para gerar u1n nú1nero de classe
um endereço de classe B pensou que um dia ultrapassaria de 4 bits. Um desvio de 16 bits desviava então os pacotes
o campo de host de 8 bits. Fazendo u1n retrospecto, poderia para as classes A, B, C (e D, E), com oito dos casos para
ter sido 1nelhor ter tido redes de classe C usando l Obits em a classe A, quatro para a classe B e dois para a classe C.
vez de 8 para o campo de host, permitindo 1.022 hosts por Então, o código para cada classe mascarava o número de
rede. Se isso acontecesse, a maioria das organizações pro- rede de 8, 16 ou 24 bits e o alinhava à direita em uma pala-
vavehnente teria ficado co1n uma rede de classe C e haveria vra de 32 bits. O número de rede era então pesquisado na
meio nlilbão delas (contra apenas 16.384 redes de classe B). tabela A, B ou C, normalmente indexando para redes A e B
E' difícil culpar os projetistas da Internet por não tere1n e realizando o hash para redes C. Quando a entrada era en-
oferecido mais (e menores) endereços de classe B. Na épo- contrada, a linha de saída poderia ser pesquisada e o pacote,
ca e1n que foi tomada a decisão de criar as três classes, a encaminhado. Isso é 1nuito mais siinples do que a operação
Inte1net era u1na rede de pesquisa conectando as principais de co1nbinação de 1naior prefixo correspondente, que não
universidades de pesquisa dos Estados Unidos (mais algu- pode mais usar uma si1nples pesquisa de tabela, pois um
mas poucas e1npresas e 1nilitares real izando pesquisas com endereço IP pode ter um prefixo de qualquer tamanho.
redes). Ninguém percebeu que a Internet se ton1ava u1n sis- Os endereços de classe D continuani a ser usados na
te1na de con1unicação de mercado em tnassa, competindo Internet para multicast. Na realidade, pode ser mais preciso
com a rede telefônica. Na época, alguém se1n dúvida disse: dizer que eles estão começando a ser usados para multicast,
"Os Estados Unidos têm cerca de 2 mil faculdades e uni- pois o multicast na Internet não foi muito implementado no
versidades. Mesmo que todas elas se conecte1n à Internet passado.
e muitas outras universidades em outros países também se Também existem vários outros endereços que têm
juntem, nunca chegare1nos aos 16 mil, pois não existem significados especiais, con10 mostra a Figura 5.55. O en-
tantas universidades no mundo inteiro. Alé1n do mais, ter dereço IP O.O.O.O, o menor deles, é usado pelos hosts quan-
como número de bost um número inteiro de bytes agiliza o do estão sendo inicializados. Isso significa "essa rede" ou
processa1nento do pacote" (o que, na época, era feito intei- "esse host". Os endereços IP co1n O como nú1nero de rede
ramente no software). Talvez algum dia as pessoas voltem refere1n-se à rede atual. Esses endereços pennitem que as
e culpe1n aqueles que projetara1n o esquema do nú1nero de máquinas se refiratn à sua própria rede sem conhecer seu
telefone e digam: "Que idiotas. Por que eles não ii1cluíram nú1nero (1nas elas precisam conhecer a 1náscara de rede
o nú1nero do planeta no nú1nero do telefone?". Contudo, no para saber quantos Os incluir). O endereço que consiste
momento, isso não parece ser necessário. apenas em ls, ou 255.255.255.255 - o mais alto-, é usado
Para enfrentar esses problemas, as sub-redes foram para apontar todos os bosts na rede indicada. Ele permite o
introduzidas para atribuir blocos de endereços co1n flexi - broadcasting na rede local, normalmente uma LAN. Os en-
bilidade dentro de uma organização. Mais tarde, o CIDR dereços co1n un1 número de rede apropriado e apenas 1s no
foi acrescentado para reduzir o tan1anho da tabela de rotea- campo de host permitem que as máquinas envie1n pacotes
mento global. Hoje, os bits que indicam se um endereço IP de broadcast para LANs distantes en1 qualquer parte da In-
pertence à rede de classe A, B ou C não são mais usados, ternet. Todavia, muitos administradores de rede desativa1n
embora as referências a essas classes na literatura ainda se- esse recurso, pois ele é um sério risco à segurança. Final-
.
1am comuns. 1nente, todos os endereços na forma 127 .xx.yy.zz são reser-
Para ver co1no o descarte das classes tomou o enca- vados para o teste de loopback. Os pacotes enviados a esse
minhamento mais complicado, considere como isso era endereço não são enviados para os fios , mas processados

1 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 1 Este host

l. . _o_o_______o_o_.l_______H_o_s_t_ _ _ _ _ _ _~I Um host nesta rede


~ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Broadcast na
1. . rede local
Broadcast em uma
Rede 1111 1 1 1 1 . rede distante
1 1

~,___1_2_7_ _~_ _ _ _ _ _(0_ua_1_qu_e_r_c_o_is_a_) _ _ _ _ _ _ _ _ _I Loopback


Figura 5.55 Endereços IP especiais.
294 Redes de computadores

localmente e tratados como pacotes de chegada. Isso per- até aqui, cada co1nputador precisa ter seu próprio endereço
mite que os pacotes sejam enviados para o host sem que IP o dia inteiro. Para um ISP com 1nuitos milhares de clien-
um transmissor conheça seu número, o que é útil para fins tes, principalmente clientes empresariais e famílias que
de teste. são con10 pequenas en1presas, a demanda por endereços IP
pode ultrapassar rapida1nente o bloco disponível.
NAT - Network Address Translation O problema de esgotar os endereços IP não é apenas
teórico, que poderia ocorrer em algum momento no futuro
Os endereços IP são escassos. Um ISP poderia ter um ende- distante. Ele está acontecendo aqui e agora mes1no. A solu-
reço / 16, fornecendo 65.534 números de hosts. Se ele tiver ção e1n longo prazo é a Internet inteira 1nigrar para o IPv6,
um nú1nero maior do que esse de clientes, haverá um pro- que te1n endereços de 128 bits. Essa transição está oco1Ten-
blema. De fato, com endereços de 32 bits, existem apenas do com lentidão e a conclusão do processo demorará 1nui-
232 deles, e todos já se fora1n. tos anos. Para contornar a situação nesse meio-tempo, foi
Essa escassez levou à criação de técnicas para usar o necessário fazer uma rápida con·eção, que veio sob a forma
endereço IP co1n cautela. Uma delas é atribuir dina1nica- da NAT (NenvorkAddress Translation), descrita na RFC
mente um endereço IP ao computador quando ele se co- 3022 e que resumiremos a seguir. Para obter mais infom1a-
nectar e usar a rede, tomando-o de volta quando o host se ções, consulte Dutcher (2001).
tomar inativo. Desse modo, um único endereço / 16 poderá A ideia básica por trás da NAT é atribuir a cada em-
manipular até 65.534 usuários ativos. presa um único endereço IP (ou, no máxüno, um nú1nero
Essa estratégia funciona bem em alguns casos, por pequeno deles) para tráfego na Internet. Dentro da empresa,
exemplo, para redes discadas e computadores móveis e ou- todo computador obtém um endereço IP exclusivo, usado
tros que podem estar temporariamente ausentes ou desli- para roteamento do tráfego interno. Todavia, quando um
gados. Contudo, ela não funciona muito bem para clientes pacote sai da empresa e vai para o ISP, ocorre uma conver-
e1npresa1iais. Muitos computadores nas empresas devem são do endereço IP interno para o endereço IP público. Essa
estar ligados continuamente. Alguns são máquinas de fun- tradução utiliza três intervalos de endereços IP que foram
cionários, que recebem backup à noite, e outros são servi- declarados como privativos. As redes podem utilizá-los in-
dores que podem ter de atender a uma solicitação remota ternamente como desejarem. A única regra é que nenhum
a qualquer momento, sem aviso. Essas empresas tê1n um pacote contendo esses endereços pode aparecer na própria
enlace de acesso que sempre oferece conectividade ao res- Internet. Os três intervalos reservados são:
tante da Internet.
Cada vez mais, essa situação ta1nbém se aplica a usuá- 10.0.0.0 - 10.255.255.255/8 (16.777.216 hosts)
172.16.0.0 -172.31.255.255/12 (1 .048.576 hosts)
rios domésticos que assi11am serviços de ADSL ou Internet - 192.168.255.255/16
192.168.0.0 (65.536 hosts)
por cabo, pois não existe cobrança por te1npo de conexão
(apenas u1na taxa fixa mensal). Muitos desses usuários têm O primeiro intervalo permite a utilização de 16.777 .216
dois ou mais con1putadores em casa, muitas vezes um para endereços (com exceção dos endereços contendo apenas O
cada membro da famí lia, e todos eles quere1n estar on-line ou apenas 1, como sempre) e é a escolha habitual, mesmo
o te1npo todo. A solução aqui é conectar todos os computa- que a rede não necessite de tantos endereços.
dores a uma rede do1néstica por meio de uma LAN e inserir A operação da NAT é mostrada na Figura 5.56. Dentro
um roteador (wireless) nela. O roteador, então, se conecta das instalações do cliente, toda máquina te1n um endereço
ao ISP. Do ponto de vista do lSP, agora a família equivale exclusivo da forma 1O.x.y.z. Contudo, quando um pacote
a u1na pequena empresa com alguns con1putadores. Bem- deixa as instalações da empresa, ele passa por uma NAT
-vindos à Silva & Silva Ltda. Com as técnicas que vin1os que converte o endereço de origen1 IP inten10, 1O.O.O. ! na

Pacote antes
Pacote após
da tradução
tradução

(à Internet)

Figura 5.56 Posicionamento e operação de uma NAT.


Capítulo 5 • A camada de rede 295

figura, no endereço IP verdadeiro da empresa, 198.60.42.12 saída entra na NAT, o endereço de origen1 1O.x.y.z é subs-
nesse exemplo. Com frequência, a NAT é combinada e1n tituído pelo endereço IP verdadeiro do cliente. Além dis-
um único dispositivo com um firewall, que oferece segu- so, o campo Porta de origern do TCP é substituído por u1n
rança por meio do controle cuidadoso do que entra na em- índice na tabela de tradução de 65.536 entradas da NAT.
presa e do que sai dela. Estudare1nos os firewalls no Capí- Essa entrada da tabela contém a porta de orige1n e o ende-
tulo 8. Tan1bém é possível integrar a NAT a un1 roteador ou reço IP original. Por fim, tanto o checksum do cabeçalho IP
modem ADSL. quanto o do cabeçalho TCP são recalculados e inseridos no
Até agora, deixamos de lado um pequeno detalhe: pacote. E' necessário substituir o campo Porta de origern,
quando a resposta volta (p. ex., de um servidor da Web), pois as conexões das 1náquinas 10.0.0.1 e 10.0.0.2 pode1n,
ela é naturahnente endereçada para 198.60.42.12; então, por exemplo, usar a mes1na porta 5000, e, assim, o campo
con10 a NAT sabe por qual endereço deve substituir o en- Porta de origern sozinho não é suficiente para identificar o
dereço da resposta? Aqui reside o problema co1n a NAT: processo transmissor.
se houvesse um campo sobressalente no cabeçalho IP, ele Quando um pacote chega à NAT vindo do ISP, o cam-
poderia ser usado para controlar qual foi o transmissor real, po Porta de destino no cabeçalho TCP é extraído e usado
mas só resta un1 bit ainda não utilizado. E1n princípio, uma como índice para a tabela de mapeamento da NAT. A partir
nova opção poderia ser criada para conter o endereço de da entrada localizada, o endereço IP interno e a porta TCP
origem verdadeiro, mas isso exigiria 1nudar o código do IP original são extraídos e inseridos no pacote. Em seguida, os
em todas as máquinas na Internet inteira para tratar da nova checksums do IP e do TCP são recalculados e inseridos no
opção. Essa não é u1na alternativa promissora para tuna pacote. O pacote é, então, repassado ao roteador do cliente
correção rápida. para entrega normal, utilizando o endereço 1O.x.y.z.
O que realmente aconteceu é que os projetistas da Embora esse tipo de esquema resolva o problema,
NAT observaram que a maioria dos pacotes IP transporta 1nuitas pessoas na comunidade IP o consideram uma abo-
uma carga útil TCP ou UDP. Quando estudam1os o TCP e minação. Em resumo, a seguir estão algu1nas objeções.
o UDP no Capítulo 6, veremos que ambos têm cabeçalhos Primeiro, a NAT viola o 1nodelo arquitetônico do IP, que
contendo tuna porta de orige1n e tuna de destino. Descreve- estabelece que todo endereço IP identifica de forma exclu-
re1nos a seguir apenas as portas TCP, 1nas o 1nes1no princí- siva uma única máquina em todo o inundo. Toda a estrutura
pio é válido para as portas UDP. As portas são inteiros de de software da Internet se baseia nesse fato. Co1n a NAT,
16 bits que indicam onde a conexão TCP começa e tern1i- milhares de 1náquinas podem usar (e usam) o endereço
na. Elas fome.cem o campo necessário para fazer a NAT l 0.0.0.1.
funcionar. Em segundo lugar, a NAT fere o 1nodelo de conecti-
Quando u1n processo deseja estabelecer u1na conexão vidade de ponto a ponto da Internet, que diz que qualquer
TCP con1 um processo remoto, ele se associa a u1na porta host pode enviar um pacote para outro a qualquer momen-
TCP não utilizada em sua própria 1náquina, a qual é cha1nada to. Como o inapeamento na NAT é configurado por pacotes
porta de origem, e informa ao código do TCP para onde de saída, os pacotes de entrada não pode1n ser aceitos antes
devem ser enviados os pacotes que cbegaretu pertencentes dos de saída. Na prática, isso significa que um usuário do-
a essa conexão. O processo tambén1 fornece uma porta de méstico com un1a NAT pode fazer conexões TCP/IP com
destino para informar a quem deven1 ser entregues os paco- urn servidor Web remoto, 1nas um usuário remoto não pode
tes no lado remoto. As portas de Oa 1023 são reservadas para fazer conexões com um servidor de jogos na rede domés-
serviços conhecidos. Por exemplo, a porta 80 é usada por tica com u1na NAT. É necessário usar técnicas de configu-
servidores Web, de fonna que clientes remotos possa1n loca- ração especiais ou de travessia da NAT para dar suporte a
lizá-los. Cada mensagem TCP enviada conté1n u1na porta de esse tipo de situação.
orige1n e un1a de destino. Juntas, elas servem para identificar Terceiro, a NAT faz a Internet mudar suas caracterís-
os processos que utilizam a conexão nas duas extremidades. ticas de rede não orientada a conexões para uma espécie
Un1a analogia deve tornar 1nais claro o uso das por- de rede orientada a conexões. O probletna é que a NAT
tas. Imagine uma ernpresa com um único número de tele- deve manter o estado (o mapeamento) para cada conexão
fone principal. Quando as pessoas ligam para esse nú1ne- que passa por ela. Fazer isso é uma propriedade das redes
ro, acessa1n um telefonista, que pergunta qual ra1nal elas orientadas a conexões, e não das redes não orientadas a co-
desejam e em seguida as conecta a esse ramal. O número nexões. Se a NAT sofrer uma pane e sua tabela de mapea-
principal é equivalente ao endereço IP do cliente, e os ra- n1ento se perder, todas as conexões TCP serão destruídas.
1nais em ambas as extre1n idades são equivalentes às portas. Na ausência da NAT, panes e1n roteadores não terão ne-
As portas constitue1n um grupo extra de 16 bits de endere- nhum efeito em longo prazo sobre conexões TCP. O pro-
ça1nento que identifica o processo que receberá cada paco- cesso transtnissor sin1plesmente entrará em tiJneout dentro
te de entrada. de alguns segundos e retransmitirá todos os pacotes não
Usando o ca1npo Porta de origetn, poden1os resolver confinnados. Com a NAT, a Internet se torna tão vulnerável
nosso problema de 1napea1nento. Se1npre que u1n pacote de quanto uma rede co1nutada por circuitos.
296 Redes de computadores

E1n quarto lugar, a NAT viola a regra n1ais funda- crescin1ento exponencial da Internet. Infelizn1ente, ele tor-
mental da distribuição de protocolos em camadas: a ca- nou-se vítima de sua própria popularidade: está próxüno de
mada k não pode fazer nenhuma suposição sobre o que a esgotar os endereços disponíveis. Até mesmo com CIDR e
camada k + 1 inseriu no campo de carga útil. Esse princí- NAT usando endereços co1n mais cautela, os últimos en-
pio básico existe para n1anter as can1adas independentes. dereços 1Pv4 fora1n atribuídos pela ICANN em 25 de no-
Se o TCP for atualizado mais tarde para TCP-2, con1 wn vembro de 2019. Esse desastre in1inente foi reconhecido há
layout de cabeçalho diferente (p. ex., portas de 32 bits), a quase duas décadas e gerou muita discussão e controvér-
NAT falhará. Toda a ideia de protocolos em camadas tem sia dentro da comunidade da Internet sobre o que fazer a
o objetivo de assegurar que as mudanças e1n u1na cama- respeito.
da não exigirão 1nudanças e1n outras. A NAT destrói essa Nesta seção, descrevere1nos o problema e várias so-
independência. luções propostas. A única solução é passar para endereços
Quinto, os processos na Internet não são obrigados a maiores. O 1Pv6 (IP versão 6) é u1n projeto substituto que
usar o TCP ou o UDP. Se um usuário na máquina A decidir faz exatamente isso. Ele usa endereços de 128 bits; uma
e1npregar algu1n novo protocolo de transporte para se co- escassez desses endereços provavelmente não ocorre-
municar com u1n usuário na máquina B (p. ex., no caso de rá no futuro previsível. Todavia, o IPv6 provou ser mui-
uma aplicação de multimídia), a introdução de uma NAT to difícil de in1plen1entar. Ele é u1n protocolo diferente da
fará a aplicação falhar, porque a NAT não será capaz de camada de rede e não se interliga realmente com o 1Pv4,
localizar corretamente o campo Porta de origem do TCP. apesar de muitas semelhanças. Além disso, as empresas e
Um sexto problema relacionado é que algumas apli- usuários não sabem ao certo por que eles deveriam querer
cações usam várias conexões TCP/IP ou portas UDP de o IPv6 de qualquer forma. O resultado é que o TPv6 está
maneiras predefinidas. Por exemplo, o protocolo de trans- implementado e é usado e1n apenas uma pequena fração da
ferência de arquivos padrão, o FTP (File Transfer Proto- Internet (estiina-se que seja 25%), apesar de ser um Internet
col), insere endereços IP no corpo do pacote para o receptor Standard desde 1998. Os próximos anos serão interessan-
extrair e usar. Por não saber nada sobre esses arranjos, a tes. Cada endereço 1Pv4 agora vale até US$ 19. E1n 2019,
NAT não pode reescrever os endereços IP ou considerá-los un1 home1n foi condenado por annazenar 750.000 endere-
de alguma outra forma. Essa falta de conhecimento signifi- ços IP (valendo cerca de US$ 14 milhões) e vendê-los no
ca que o FTP e outras aplicações, como o protocolo de te- mercado ilegal.
lefonia da Internet H.323 (que estudaremos no Capítulo 7), Além desses problemas técnicos, há outra questão em
tê1n essa propriedade e pode1n fa lhar na presença da NAT, paralelo. No início, a Internet era amplamente usada por
a menos que sejan1 to1nadas precauções especiais. Talvez universidades, indústrias de alta tecnologia e órgãos go-
seja possível corrigir a NAT para esses casos, 1nas ter de vernamentais dos Estados Unidos (especialmente pelo De-
corrigir o código na NAT toda vez que surge uma nova apli- partamento de Defesa). Com a explosão do interesse pela
cação não é u1na boa ideia. Internet a partir de 1neados da década de 1990, ela começou
Por fim, como o campo Porta de orige1n do TCP é de a ser usada por tun grupo diferente de pessoas, em especial
16 bits, no 1náxin10 65.536 n1áquinas podem ser 1napeadas as co1n necessidades específicas. Por um lado, milhares de
em um endereço IP. Na realidade, o número é un1 pouco pessoas con1 s1nartphones a utilizan1 para manter contato
menor, porque as primeiras 4.096 portas estão reservadas com suas bases. Por outro, com a inevitável convergência
para usos especiais. Contudo, se vários endereços TP es- das mdústrias de informática, comunicação e entretenimen-
tiverem disponíveis, cada um deles poderá manipular até to, talvez não demore para que cada telefone e cada televi-
61.440 máquinas. sor do inundo seja u1n nó da Internet, resultando no uso de
áudio e vídeo por demanda em um bilhão de máquinas. Sob
Esses e outros problemas com a NAT são discutidos
essas circunstâncias, ficou claro que o IP precisava evoluir
na RFC 2993. Apesar dos problemas, a NAT é muito usada
para se tornar n1ais flexível.
na prática, especialmente e1n redes domésticas e de peque-
Vendo esses proble1nas no horizonte, em 1990 a IETF
nas empresas, co1no a últi1na técnica ágil para lidar co1n a
começou a trabalhar em uma nova versão do IP, que nunca
falta de endereços IP. Ela te1n sido usada co1n firewa lls para
ficaria sem endereços, resolveria u1na série de outros pro-
privacidade, pois in1pede os pacotes de chegada não solici-
blemas e também seria mais flexível e eficiente. Seus prin-
tados, por padrão. Por esse motivo, é provável que ela não
cipais objetivos eram:
desapareça mesmo quando o IPv6 tiver sido i1nplantado de
modo geral. 1. Aceitar bilhões de hosts, mesmo com alocação inefi-
ciente de espaço de endereços.
2. Reduzir o tamanho das tabelas de roteamento.
5.7.3 IP versão 6 3. Simplificar o protocolo, de 1nodo a pennitir que os
O IP tem sido 1nuito usado há décadas. Ele tem funcio- roteadores processem os pacotes co1n mais rapidez.
nado extremamente bem, conforme demonstrado pelo 4. Oferecer mais segurança (autenticação e privacidade).
Capítulo 5 • A camada de rede 297

5. Dar mais i1nportância ao tipo de serviço, particular- Os principais recursos do IPv6 serão discutidos a seguir.
mente no caso de dados em tempo real. Para obter mais informações sobre ele, consulte as RFCs
6. Auxiliar o multicasting, possibilitando a especificação de 2460 a 2466.
de escopos. Em primeiro lugar, o IPv6 tem endereços mais longos
7. Pennitir que w11 host mude de lugar se1n precisar mu- que o IPv4. Eles tê1n 128 bits, o que resolve o problema
que o 1Pv6 se propõe a resolver: oferecer um nú1nero pra-
dar de endereço.
ticamente ilimitado de endereços na Internet. Voltaremos a
8. Pennitir que o protocolo evoluísse no futuro. descrever os endereços 1nais adiante.
9. Pennitir a coexistência entre protocolos novos e anti- O segundo aperfeiçoa1nento importante no IPv6 é a
gos durante anos. simplificação do cabeçalho. Ele contém apenas sete cam-
pos (contra os 13 do IPv4). Essa mudança permite aos
O projeto do 1Pv6 apresentou uma oportunidade im-
roteadores processar os pacotes com mais rapidez e, dessa
portante para melhorar todos os recursos no IPv4 que fi-
forma, melhorar o throughput e o atraso. També1n voltare-
caram aquém do que se deseja agora. Para chegar a um
mos a descrever o cabeçalho em breve.
protocolo que atendesse a todos esses requisitos, a IETF
A terceira 1nudança in1portante foi o melhor suporte
convocou os interessados em apresentar suas propostas
para as opções oferecidas. Essa alteração era essencial para
na RFC 1550. Inicialmente, foram recebidas 21 respostas.
o novo cabeçalho, pois os campos então obrigatórios agora
Em dezembro de 1992, havia sete propostas muito interes-
são opcionais (pois não são usados com tanta frequência).
santes e1n estudo. Elas variavan1 desde pequenos ajustes no
Além disso, é diferente a forma como as opções são repre-
IP até sua elin1inação pura e simples, com a criação de um
sentadas, o que torna mais simples para os roteadores ig-
protocolo totalmente diferente.
norar as opções a que eles não se propõem. Esse recurso
Uma proposta era executar o TCP em cima do CLNP, diminui o tempo de processamento de pacotes.
o protocolo de camada de rede desenvolvido para o OSI.
Uma quarta área em que o IPv6 representa um gran-
Com seus endereços de 160 bits, o CLNP seria capaz de
de avanço é a segurança. A IETF já estava farta de ver
oferecer um espaço de endereços infinito, pois poderia dar
reportagens nos jo1nais com meninos precoces de 12 anos
a cada molécula de água nos oceanos endereços suficientes
que, utilizando seus computadores pessoais, conseguiam
(cerca de 25) para 1nontar uma pequena rede. Essa escolha
devassar segredos de grandes instituições financeiras e
também unificaria os dois principais protocolos da camada
militares pela Internet. Havia un1a forte sensação de que
de rede. No entanto, para muita gente, isso seria o mesmo
era preciso fazer algo para 1nelhorar a segurança. A auten-
que adn1itir que o inundo OSI ainda tinha suas vantagens, ticação e a privacidade são recursos importantes do novo
uma afinnação politicamente incorreta nos círculos da In-
IP. Todavia, mais tarde essas características foran1 integra-
ternet. A padronização do protocolo CLNP tinha caracterís-
das ao IPv4, assim, na área de segurança não há inais dife-
ticas muito parecidas com a do IP, portanto, não podemos
renças tão grandes.
afirmar que os dois protocolos seja1n, de fato, muito dife-
Por fín1, foi dada n1aior atenção à qualidade de ser-
rentes. Na verdade, o protocolo que acabou sendo escolhi-
viço. Diversos esforços corajosos foram feitos no passado
do apresenta muito mais diferenças em relação ao IP do que
para melhorar a QoS; porém, com o crescimento atual da
o CLNP. Um dos fatores que pesaram contra o CLNP foi a
1nultimídia na Internet, a sensação de urgência é 111aior.
baixa qualidade em relação aos tipos de serviços ofereci-
dos, algo de fundamental importância para uma transn1is-
são multimídia eficiente. O cabeçalho principal do 1Pv6
As três 1nelhores propostas foram publicadas na IEEE O cabeçalho do IPv6 é 1nostrado na Figura 5.57. O ca1npo
Network (Deering, 1993; Francis, 1993; e Katz e Ford, Versão é sempre 6 para o IPv6 (e 4 para o IPv4). Durante
1993). Depois de muita discussão, revisão e disputa, foi se- o período de transição do 1Pv4, que já passou de uma dé-
lecionada uma versão combinada modificada das propostas cada, os roteadores serão capazes de examinar esse ca1npo
de Deering e Francis, agora chan1ada SIPP (Simple Inter- para identificar o tipo de pacote que eles tên1. A propósito,
net Protocol Plus), à qual foi atribuída a designação 1Pv6 a realização desse teste desperdiça algumas instruções no
(Internet Protocol version 6). can1inho crítico, visto que o cabeçalho do enlace de dados
O JPv6 atende a todos os objetivos da IETF, preser- nonnalmente indica o protocolo de rede para demultiple-
vando os bons recLu·sos do IP, descartando ou reduzindo xação e, portanto, alguns roteadores pode1n pular a veri-
a importância das características ruins e criando outras ficação. Por exe1nplo, o campo Tipo da Ethernet ten1 di-
quando necessário. Genericamente, o 1Pv6 não é compa- ferentes valores para indicar uma carga útil lPv4 ou lPv6.
tível com o IPv4, mas o é co1n todos os outros protocolos As discussões entre os que desejam "fazer o que é certo" e
auxiliares da Internet, incluindo TCP, UDP, ICMP, IGMP, os que querem "to1nar o processo 1nais rápido" ainda de-
OSPF, BGP e DNS, apesar de sere1n necessárias peque- verão se estender por um longo tempo e serão motivo de
nas modificações para lidar com endereços mais longos. muita polê1nica.
298 Redes de computadores

- - - - - - - - - - - - 128 b i t s - - - - - - - - - - --
' 1 1 1 1

Serviços
Versão diferenciados Rótulo de fluxo

Tamanho da carga útil Próximo cabeçalho Limite de hops

,_ -
Endereço de origem
,_ (16 bytes) -

- -

- -

-
,_
Endereço de destino
(16 bytes) -
-

Figura 5.57 O cabeçalho fixo 1Pv6 (exigido).

O ca1npo Serviços diferenciados (originalmente cha- facil idade, eles serão escolhidos ao acaso, e1n vez de serem
mado Cla.sse de tráfego) é usado para distinguir a classe de atribuídos sequenciahnente a partir de 1.
serviço para pacotes com diferentes requisitos de entrega O campo Ta1na11ho de carga útil determina o núme-
em te1npo real. Ele é usado com a arquitetura de serviço ro de bytes que seguem o cabeçalho de 40 bytes da Figura
diferenciado para qualidade de serviço da mesma n1aneira 5.57. O nome desse campo, que no IPv4 era Tarnanho total,
que o campo de mesmo nome no pacote IPv4. Além disso, foi alterado em virtude de uma pequena mudança de signi-
os 2 bits de baixa orden1 são usados para sinalizar indica- ficado a que foi submetido: os 40 bytes do cabeçalho deixa-
ções explícitas de congestiona1nento, nova1nente da mesma ram de ser contados como parte do ta1nanho, co1no aconte-
maneira que no IPv4. cia até então. Essa 1nudança significa que a carga útil agora
O campo Rótulo de .fluxo pern1ite que u1na orige1n e pode ser de 65.535 bytes em vez de 1neros 65.515 bytes.
um destino marquen1 grupos de pacotes que têm os mes- O campo Próxirno cabeçalho revela um segredo.
mos requisitos e devem ser tratados da n1esma n1aneira pela O cabeçalho pode ser si1nplificado, pois existe a possibi-
rede, formando uma pseudoconexão. Por exemplo, u1n flu- lidade de haver outros cabeçalhos de extensão (opcionais).
xo de pacotes entre um processo de determinado host de Esse campo informa quais dos seis cabeçalhos de extensão
(atuais) seguem esse cabeçalho, se houver algum. Se esse
origem e certo processo de u1n host de destino específico
cabeçalho for o último do IP, o can1po Próximo cabeça-
pode ter severas restrições em termos de atraso e, por essa
lho revelará para qual tratador de protocolo de transporte
razão, necessitar de urna largura de banda reservada. O flu-
(p. ex., TCP, UDP) o pacote deverá ser enviado.
xo pode ser configurado com antecedência e ter um identi-
O campo Limite de hops é usado para impedir que os
ficador atribuído a ele. Quando aparece um pacote com o
pacotes tenha1n duração eterna. Na prática, ele é igual ao
campo Rótulo de fluxo com valor diferente de zero, todos
ca1npo TTL do TPv4, ou seja, un1 campo que é decre1nen-
os roteadores podem verificar nas tabelas internas que tipo tado a cada hop. Teorica1nente, no IPv4 ele indicava um
de tratamento especial ele exige. Na prática, os fluxos são te1npo em segundos, mas nenhum roteador o utilizava dessa
uma tentativa de ter a flexibilidade de uma rede de data- maneira. Por esse motivo, seu nome foi alterado para refle-
gramas com as garantias de uma rede de circuitos virtuais. tir o modo co1no ele é usado de fato.
Para fins de qualidade de serviço, cada fluxo é desig- En1 seguida, vêm os campos Endereço de origern e
nado por endereço de origem, endereço de destino e nú- Endereço de destino. A proposta original de Deering, o SJP,
mero de fluxo. Esse projeto significa que até 220 fluxos po- utilizava endereços de 8 bytes; porén1, durante o processo
dem estar ativos ao 1nesmo tempo entre determinado par de de revisão, muitas pessoas perceberam que, com endere-
endereços IP. Por essa razão, quando dois fluxos enviados ços de 8 bytes, o 1Pv6 esgotaria os endereços disponíveis
por diferentes hosts e com o mesmo nútnero de fluxo pas- em apenas algumas décadas, enquanto os endereços de
sare1n pelo n1es1no roteador, este será capaz de distingui-los 16 bytes nunca se esgotariam. Outras pessoas afínnavam
usando os endereços de orige1n e de destino. Para que os que 16 bytes serian1 un1 exagero, e outras alegavam que
roteadores possam analisar os números de fluxo com mais endereços de 20 bytes seriam compatíveis com o protocolo
Capítulo 5 • A camada de rede 299

de datagra1nas do OSI. Outro grupo ainda queria endereços cabeçalho identifica o que ven1 depois do último cabeçalho
de ta1nanho variável. Depois de muita discussão (e algumas IP (p. ex., um segmento UDP ou TCP).
palavras que não poderíamos citar neste livro), chegou-se à Todos os can1pos relacionados à fragmentação foram
conclusão conciliadora de que a melhor opção era utilizar removidos, pois o 1Pv6 dá um tratamento diferente à ela.
endereços de 16 bytes. Para corneçar, todos os hosts co1npatíveis com o 1Pv6 de-
Foi criada uma nova notação para representar endere- vem detertninar dinamicamente o tamanho de pacote que
ços de 16 bytes. Eles são escritos sob a forma de oito gru- será usado. Eles fazem isso usando o procedimento de
pos de quatro dígitos hexadecimais, separados por sinais descoberta da MTU do caminho, descrito na Seção 5.5.6.
de dois-pontos entre os grupos, como no exemplo a seguir: Resumü1do, quando um host enviar um pacote 1Pv6 mui-
to grande, em vez de fragmentá-lo, o roteador incapaz de
8000:0000:0000:0000:0123 :4567: 89AB:CDEF enca1ninhá-lo descartará o pacote e enviará u1na 1nensagem
Tendo e1n vista que vários endereços conterão 1nui- de erro de volta ao host transmissor. Essa n1ensagem instrui
tos zeros, fora1n autorizadas três otimizações. Em priineiro o hosta dividir todos os novos pacotes enviados a esse des-
lugar, os zeros à esquerda dentro de un1 grupo podem ser tino. Fazer o host enviar pacotes que têm o ta1nanho correto
omitidos, de modo que 0123 pode ser escrito como 123. é 1nuito mais eficiente do que fazer os roteadores os frag-
Em segundo lugar, um ou mais grupos de 16 bits zero po- mentaren1 no ato. Além disso, o pacote de ta1nanho míni1no
de111 ser substituídos por u1n par de sinais de dois-pontos. que os roteadores precisam saber encaminhar aumentou de
Consequentemente, o endereço anterior pode ser escrito da 576 para 1.280 bytes, permitindo 1.024 bytes de dados e
seguinte maneira: 111uitos cabeçalhos.
Por fim , o ca1npo Checksuni foi eliminado, porque
8000:: 123:4567:89AB:CDEF esse cálculo reduz o dese111penho de forma significativa.
Por fin1, os endereços 1Pv4 podem ser escritos en1pre- Com as redes confiáveis usadas atualmente, além do fato
gando-se u1u par de sinais de dois-pontos e um número de- de a camada de enlace de dados e as camadas de transporte
cimal tradicional, como neste exemplo: tere1n seus próprios checksu1ns, a i1npo1tância de un1 novo
checksum é insignificante, se comparada com a queda de
:: 192.31.20.46 dese1npenho que ele acarreta. Com a remoção de todos
esses recursos, o protocolo da camada de rede ficou mui-
Talvez não seja necessário ser tão explícito en1 rela- to mais enxuto e prático. Assim, o objetivo do IPv6 - um
ção a isso, mas existem muitos endereços de 16 bytes. Es- protocolo a un1 só tempo rápido e flexível, capaz de ofere-
pecificamente, existe1n 2 128 deles, o que significa cerca de cer um grande espaço de endereços - foi atendido por esse
3 x J038 . Se o plaDeta inteiro, terra e água, fosse coberto de projeto.
computadores, o 1Pv6 permitiria 7 x 1023 endereços IP por
metro quadrado. Os estudantes de química perceberão que
esse nútnero é maior que o número de Avogadro. Embora Cabeçalhos de extensão
não exista a intenção de dar a cada molécula na superficie Ocasionaln1ente, alguns dos ca1npos ausentes do IPv4 ain-
da Te1Ta seu próprio endereço IP, não esta1nos longe de che- da serão necessários; assim, o 1Pv6 introduziu o conceito
gar a essa 1narca. de cabeçalho de extensão (opcional). Esses cabeçalhos
Na prática, o espaço de endereços não será usado podem ser criados com a finalidade de oferecer informa-
con1 eficiência, exata1nente como acontece com o espaço ções extras, desde que elas sejam codificadas de maneira
de endereços dos números telefônicos (o código de área eficiente. Atualmente, há seis tipos de cabeçalhos de exten-
de Manhattan, 212, está próximo da saturação, 1nas o de são definidos, mostrados na Figura 5.58. Todos eles são op-
Wyoming, 307, está quase vazio). Na RFC 3194, Durand cionais, mas, se houver mais de um, eles terão de aparecer
e Huitema calcularam que, usando a alocação dos números logo depois do cabeçalho fixo e, de preferência, na ordem
de telefones como um guia, 1nes1no considerando-se a hi- listada.
pótese mais pessi1nista, ainda assiin haverá 1nais de mil en- Alguns desses cabeçalhos têm um fonnato fixo, ou-
dereços IP por metro quadrado de toda a superficie da Terra tros contên1 um 11ú1nero variável de opções de comprimen-
(incluindo rios e mares). Em qualquer situação provável, to. Nesses casos, cada item é codificado como uma tupla
haverá trilhões deles por metro quadrado. En1 resumo, pa- (Tipo, Ta1nanho, Valor). Tipo é um ca1npo de 1 byte que
rece in1provável que eles venham a se esgotar em qualquer identifica a opção. Os valores de Tipo fora1n escolhidos
ponto no futuro previsível. de tal forma que os dois primeiros bits infom1e1n o que
E' interessante comparar o cabeçalho do 1Pv4 (Figura os roteadores que não sabem como processar a opção de-
5.47) com o cabeçalho do 1Pv6 (Figura 5.57) e ver o que foi vem fazer. Estas são as possibilidades: ignorar a opção,
mantido e o que foi descartado no IPv6. O ca1npo !HL foi descartar o pacote, descartar o pacote e enviar de volta um
elin1inado, pois o cabeçalho do IPv6 te1n um tamanho fixo. pacote !CMP e, ainda, a n1esma opção anterior sem que,
O campo Protocolo foi retirado porque o campo Próxin10 no entanto, sejam enviados pacotes ICMP para endereços
300 Redes de computadores

Cabeçalho de extensão Descrição


Hop-by-hop options Informações diversas para os roteadores
Destination options Informações adicionais para o destino
Routing Lista parcial de roteadores a visitar
Fragmentation Gerenciamento de fragmentos de datagramas
Authentication Verificação da identidade do transmissor
Encrypted security payload Informações sobre o conteúdo criptografado

Figura 5.58 Cabeçalhos de extensão do 1Pv6.

1nulticasting (para impedir que um pacote de tnulticasting utilizado. Esse campo foi incluído para garantir que o novo
defeituoso gere milhões de relatórios ICMP). software de roteamento e de host poderá tratá-lo, no caso de
Tamanho também é um can1po de 1 byte. Ele identifi- alguém in1aginar uma opção de destino algum dia.
ca o tamanho do Valor (O a 255 bytes), o qual conté1n todas O cabeçalho de rotea1nento lista u1n ou mais rotea-
as informações obrigatórias, com no máximo 255 bytes. dores que devem ser visitados no caminho até o destino.
O cabeçalho hop-by-hop é usado para as infonnações Ele é 1nuito se1nelhante ao roteamento de origem livre do
que todos os roteadores ao longo do caminho deve1n exa- IPv4 pelo fato de que todos os endereços listados tên1 de ser
minar. Até agora, uma opção foi definida: co1npatibilidade visitados em orde1n; porém, outros roteadores não listados
com datagramas além de 64 KB. O formato desse cabeçalho também podem ser visitados. O formato do cabeçalho de
é mostrado na Figura 5.59. Quando ele é usado, o campo Ta- roteamento é mostrado na Figura 5.60.
manho da carga útil do cabeçalho fixo é definido como zero. Os quatro primeiros bytes do cabeçalho de extensão
A exe1nplo de todos os outros cabeçalhos de extensão, para rotean1ento contê1n quatro inteiros de 1 byte. Os cam-
esse começa com 1 byte, cuja função é identificar o tipo de pos Próxirno cabeçalho e Tan1anho da extensão do cabeça-
cabeçalho que vem a seguir. Depois desse byte, há um de- lho já foram descritos. O campo Tipo de roteamento forne-
les cuja função é identificar o tamanho do cabeçalho hop- ce o formato do restante do cabeçalho. O tipo Oinfonna que
-by-hop e1n bytes, excluindo os pritneiros 8 bytes, que são un1a palavra reservada de 32 bits segue a prin1eira palavra,
obrigatórios. Todas as extensões começam dessa maneira. e é acompanhada por algum número de endereços 1Pv6.
Os 2 bytes seguintes indicam que essa opção define Outros tipos podem ser criados no futuro, se necessário. Por
o tamanho do datagrama (código 194) e que o tamanho é fim, o campo Segnientos restantes controla quantos endere-
um número de 4 bytes. Os quatro últitnos bytes mostram ços da lista ainda não foram visitados. Ele é decrementado
o tamanho do datagrama. Não são permitidos datagramas toda vez que um endereço é visitado. Quando chega a O, o
com menos de 65.536 bytes; isso resultará na eliminação do pacote fica por sua própria conta, sem nenhuma orientação
pacote no pritneiro roteador e no envio de uma mensagem adicional sobre qual rota seguir. E1n geral, a essa altura ele
de en·o ICMP. Os datagramas que utilizam essa extensão está tão perto do destino que a melhor rota é evidente.
de cabeçalho são chamados jumbogramas, e o seu uso é O cabeçalho de fragmento lida com a frag1nentação da
importante para as aplicações de supercomputadores, que mesma maneira que o 1Pv4. O cabeçalho contém o identi-
devem transferir gigabytes de dados pela Internet com ficador do datagrama, o número do fragmento e um bit que
eficiência. informa se haverá novos frag1nentos em seguida. No 1Pv6,
O cabeçalho de opções de destino é usado e1n cam- ao contrário do IPv4, apenas o host de origern pode frag-
pos que só precisa1n ser interpretados no host de destino. n1entar um pacote. Os roteadores ao longo do caminho não
Na versão inicial do 1Pv6, as únicas opções defrnidas são podem fazê-lo. Essa 1nudança é u1na grande ruptura filosó-
opções nulas para preencher esse cabeçalho até formar um fica com o TP original, rnas acompanha a prática atual para
múltiplo de 8 bytes; portanto, inicialtnente ele não será o 1Pv4. Além disso, ela simplifica o trabalho dos roteadores
e faz o roteamento ir ruais rápido. Como já dissemos, se um
roteador for confrontado com um pacote rnuito grande, ele
Próximo cabeçalho o 194 4 o descartará e enviará um pacote de erro ICMP de volta à
origem. Tais infonnações permitem que o host de origem
Tamanho da carga út il jumbo utilize esse cabeçalho para dividir o pacote en1 pedaços me-
nores e tentar outra vez.
Figura 5.59 Ocabeçalho de extensão hop-by-hop para O cabeçalho de autenticação oferece um mecanismo
datagramas grandes (jumbogramas). pelo qual o receptor de um pacote pode ter certeza de quem
Capítulo 5 • A camada de rede 301

Próximo Tamanho da extensão Tipo de Segmentos


cabeçalho do cabeçalho roteamento restantes

Dados específicos do tipo


~::: ~~

Figura 5.60 Ocabeçalho de extensão para roteamento.

o enviou. A carga útil de segurança criptografada torna pos- irnportantíssin1a e não deve ser interrompido a cada 64 KB.
sível criptografar o conteúdo de utn pacote, de 1nodo que O argu1nento contrário ao uso de grandes pacotes é que, se
apenas o destinatário pretendido possa ler seu conteúdo. um pacote de l MB alcançar uma linha T 1 de 1,5 Mbps, ele
Esses cabeçalhos utilizam técnicas criptográficas, que des- a ocupará durante 5 segundos, o que produzirá um atraso
creveremos no Capítulo 8, para alcançar os objetivos a que bastante perceptível para os usuários interativos que estão
se propõem. compartilhando a linha. Chegou-se a u1n acordo quanto a
essa questão: os pacotes normais foram limitados a 64 KB,
Controvérsias mas o cabeçalho de extensão hop-by-hop pode ser usado
para permitir a utilização de jumbogramas.
Considerando o processo de projeto aberto e o ardor com
Outro assunto polêmico foi a remoção do checksum
que as pessoas defenderam suas opiniões, não foi surpresa
do IPv4. Algumas pessoas comparavam esse movimento à
que muitas das escolhas feitas para o IPv6 tenham gerado
remoção dos freios de um automóvel. Dessa forma, o veí-
tanta polêmica. Va1nos apresentar um breve resumo dessas
culo ficaria mais leve e mais veloz, mas, se ocorresse algu-
controvérsias. Se desejar conhecer todos os detalhes, con-
ma situação inesperada, haveria um sério problema.
sulte as RFCs relevantes.
O argumento contrário aos checksu1ns levava em con-
Já mencionamos o argu1nento sobre o ta1nanho do en-
dereço. O resultado, fruto de uma conciliação, foi o uso de ta que qualquer aplicação que realmente se preocupasse
endereços de comprimento ftxo de 16 bytes. con1 a integridade dos dados teria de incluir u1n checksum
na camada de transporte e, por essa razão, seria uma redun-
O ta1nanho do ca1npo Limite de hops tan1bém provo-
dância ter um novo checksu1n no IP (alé1n do da can1ada de
cou muita discussão. De u1n lado estavam os defensores da
tese de que seria un1 grande equívoco limitar o número de enlace de dados). Vale lembrar também que a experiência
hops a um máximo de 255 (implícito na utilização de um mostrava que o cálculo do checksum do IP representava
can1po de 8 bits). Afinal, os ca1ninhos de 32 hops são co- um grande desperdício no IPv4. Os que eram contrários ao
muns agora e, daqui a 10 anos, talvez seja1n comuns ca1ni- checksum venceram essa batalha, e o IPv6 ficou sem ele.
nhos muito mais longos. Essas pessoas argumentaran1 que a Os hosts móveis também fora1n motivo de discórdia.
utilização de um tamanho de endereço gigantesco era algo Quando um computador portátil vai de um canto a outro do
inovador, mas usar um pequeno nún1ero de hops era retró- mundo, ele pode continuar a operar no destino com o mes-
grado. Para elas, o maior pecado que a ciência da co1nputa- mo endereço IPv6 ou tem de usar um esquema com agentes
ção poderia cometer seria oferecer tão poucos bits. do1nésticos? Algun1as pessoas quiseram dar ao IPv6 uma
Do outro lado estava1n os que acreditavam que a am- compatibilidade explícita com hosts móveis. Esse esfor-
pliação excessiva do campo incharia o cabeçalho. Além ço fracassou, pois não foi possível chegar a um consenso
disso, a função do campo Limite de hops é impedir que os quanto a essa questão.
pacotes vagueiem por muito tempo, tese incompatível com Provavelmente a maior batalha se deu no campo da
o tempo necessário para percorrer 65.535 hops. Por fim, segurança. Todos concordavam que ela era essencial. O pro-
con1 o crescimento da Internet, serão criados cada vez tnais blema foi descobrir onde usá-la. O argumento para inseri-la
enlaces de longa distância, tornando possível ir de qualquer na camada de rede é que nessa camada ela se toma um ser-
país a qualquer outro, usando no máximo n1eia dúzia de viço padrão que todas as aplicações podem usar sem qual-
hops. Se forem necessários mais de 125 hops para ir da quer planeja1nento prévio. O argumento contrário é que, em
origem até o destino por seus respectivos gateways inter- geral, tudo o que as aplicações reahnente seguras desejam é
nacionais, algo estará errado com os backbones nacionais. a criptografia, na qual a aplicação de origem cuida da codi-
Os defensores dos 8 bits venceran1 essa batalha. ficação, e a aplicação de destino a desfaz. Se não for assim,
Outro problema foi o tamanho máximo do pacote. o usuário estará à mercê de implementações potenciahnente
A co1nunidade dos supercomputadores desejava pacotes problemáticas, sobre as quais ele não tem o menor controle,
co1n 1nais de 64 KB. Quando un1 supercomputador ini- na can1ada de rede. A resposta a esse argumento é que essas
cia a transferência, ele está tentando executar uma tarefa aplicações podem se abster de usar os recursos de segurança
302 Redes de computadores

do IP, executando elas 1nesmas essa tarefa. A réplica a esse Muitas estratégias têm sido definidas para ajudar a fa-
argu1nento é que as pessoas que não confiam na execução cilitar a transição. Entre elas estão maneiras de configurar
adequada dessa tarefa não estão dispostas a pagar o preço automaticamente os túneis que transportam o 1Pv6 pela ln-
das desajeitadas e lentas implementações IP que dispõem ten1et IPv4, e maneiras para os hosts encontrarem automa-
desse recurso, ainda que ele esteja desativado. tican1ente as extre1nidades do túnel. Os hosts de pilha dupla
Outro aspecto a ser levado em consideração quanto têm un1a imple1nentação IPv4 e IPv6, de modo que possam
à localização da segurança diz respeito ao fato de que, e1n selecionar qual protocolo utilizar dependendo do destino
muitos países (mas não e1n todos), as leis de exportação que do pacote. Essas estratégias facilitarão a implantação subs-
envolvetn a criptografia são muito rígidas, especialmen- tancial que parece inevitável quando os endereços IPv4 se
te para dados pessoais. Alguns países, como a França e o esgotarem. Para obter mais info1mações sobre o IPv6, con-
Iraque, também impõem inúmeras restrições quanto a seu sulte Davies (2008).
uso doméstico; portanto, as pessoas não podem guardar se-
gredos do governo. Consequentemente, os Estados Unidos 5.7.4 Protocolos de controle da Internet
(e muitos outros países) não teriam mercado consumidor
para nenhuma implementação do IP que usasse um sistema Além do IP, que é usado para transferência de dados, a
criptográfico suficientemente forte para ser digno de valor. Internet tem diversos protocolos de controle que são usa-
A maioria dos fabricantes de computadores se opõe vigoro- dos na camada de rede. Eles incluem !CMP, ARP e DHCP.
samente a manter dois conjuntos de software, um para uso Nesta seção, veremos cada um deles, descrevendo as ver-
don1éstico e outro para exportação. sões que correspondem ao 1Pv4, pois são protocolos que
Um ponto em que não houve controvérsia é que njn- estão em uso. ICMP e DHCP tê1n versões se1nelhantes para
guém espera que a Internet usando 1Pv4 seja desligada em o 1Pv6; o equivalente do ARP é chamado NDP (Neighbor
um domingo à noite e volte como uma Internet usando 1Pv6 Discovery Protocol) para o IPv6.
na 1nanhã de segunda-feira. Em vez disso, "ilhas" isoladas
de 1Pv6 serão convertidas, inicialn1ente comunicando-se ICMP - Internet Contrai Message Protocol
por 1neio de túneis, conforme mostra1nos na Seção 5.5.4. A operação da Internet é n1onitorada de perto pelos rotea-
A' medida que as ilhas 1Pv6 crescerem, elas se fundirão for- dores. Quando acontece algo inesperado durante o proces-
mando ilhas maiores. Por fi1n, todas as ilhas se fundirão e a samento do pacote em u1n roteador, o evento é relatado ao
Internet estará totabnente convertida. transn1issor pelo protocolo de mensagem de controle da
Pelo 1nenos esse foi o plano. A implementação pro- Internet, ou ICMP (Internet Control Message Protocol).
vou ser o calcanhar de Aquiles do IPv6. Ele continua sendo O ICMP também é usado para testar a Internet. Cerca de
pouco usado, embora todos os principais siste1nas operacio- 12 tipos de mensagens !CMP são definidos, cada um sendo
nais o ad1nita1n totalmente. A 1naioria das ünplementações transportado encapsulado dentro de um pacote IP. Os tnais
é de situações novas, em que um operador de rede - por importantes estão listados na Figura 5.61.
exemplo, um operador de telefonia móvel - precisa de um A mensagem DESTINATION UNREACHABLE é
grande número de endereços lP. Apesar disso, ele está as- usada quando o roteador não pode localizar o destino ou
sumindo o controle lentan1ente. Na Con1cast, a maior parte quando um pacote com o bit DF não pode ser entregue
do tráfego agora é IPv6, e um quarto da Google ta1nbé1n é porque uma rede com um "pacote pequeno" se encontra no
IPv6, de 1nodo que há um progresso. caminho.

Tipo de mensagem Descrição


Destination unreachable O pacote não pôde ser entregue
Time exceeded O campo TTL atingiu O
Parameter problem Campo de cabeçalho inválido
Source quench Restringe o envio de pacotes
Redirect Ensina uma rota a um roteador
Echo e echo reply Verificam se uma máquina está ativa
Timestamp request/reply O mesmo que Echo, mas com registro de tempo
Router advertisement/solicitation Encontra um roteador próximo

Figura 5.61 Os principais tipos de mensagem ICMP.


Capítulo 5 • A camada de rede 303

A n1ensagem TIME EXCEEDED é enviada quando hosts encontrem roteadores vizinhos. U1n host precisa des-
um pacote é descartado, pois seu contador de TTL alcançou cobrir o endereço IP de pelo menos um roteador para enviar
zero. Esse evento é um sintoma de que os pacotes estão pacotes pela rede local.
realizando um looping ou que os valores do contador estão Além dessas 1nensagens, outras fora1n definidas. A lis-
sendo definidos com um número muito baixo. ta on-line agora é 1nantida e1n www.iana.org/assignnientsl
Um uso inteligente dessa mensage1n de erro é o utilitá- icmp-parameters.
rio traceroute, que foi desenvolvido por Van Jacobson em
1987. Sem qualquer tipo de suporte de rede privilegiado, o tra- ARP - Address Resolution Protocol
ceroute encontra os roteadores ao longo do caminho do host
para um endereço IP de destino. O método é simples1nente Embora cada máquina na Internet tenha um ou mais en-
enviar uma sequência de pacotes para o destino, primeiro dereços IP, estes não são suficientes para enviar pacotes.
co1n u1n TTL de 1, depois un1 TTL de 2, 3, e assim por As placas de interface de rede, ou NlCs da ca1nada de enla-
diante. Os contadores nesses pacotes alcançarão zero em ce de dados, como as placas Ethen1et, não entendem ende-
roteadores sucessivos ao longo do caminho. Cada um deles reços da Internet. No caso da Ethernet, cada NIC já fabrica-
enviará fielmente u1na mensagem TIME EXCEEDED de do vem equipado com um endereço Ethernet exclusivo de
volta ao host. Por essas mensagens, o host pode determinar 48 bits. Os fabricantes de NlCs Ethernet solicitam um blo-
os endereços IP dos roteadores ao longo do ca1ninho, além co de endereços Ethernet ao IEEE para garantir que duas
de manter estatísticas e ten1pos sobre as partes do caminho. NICs não tenham o mes1no endereço (para evitar conflitos
Não foi para isso que a mensagem TIME EXCEEDED foi caso duas NICs apareçam na mes1na LAN). As NICs en-
criada, 1nas talvez ela seja a ferramenta de depuração 1nais viam e recebem quadros co1n base nos endereços Ethernet
poderosa de todos os tempos. de 48 bits. Elas não conhecem nada a respeito de endereços
IP de 32 bits.
A mensagem PARAMETER PROBLEM indica que
un1 valor ilegal foi detectado no ca1npo de cabeçalho. Esse A questão agora é: como os endereços IP são mapea-
dos em endereços da camada de enlace de dados, como a
proble1na indica um bug no software de rede do IP do host
t.ransmissor ou possivelmente no software de rede do rotea- Ethernet? Para expl icar como isso funciona, vamos usar o
dor no ca1ninho. exemplo da Figu.ra 5.62, em que é ilustrada uma pequena
universidade con1 redes /24. Uma rede (CC) é un1a Ether-
A 1nensagem SOURCE QUENCH há muito tempo era
net comutada no departa1nento de ciência da co1nputação.
usada para restringir os hosts que estava1n enviando paco-
Ela terno prefixo 192.32.65.0/24. A outra LAN (EE), ta1n-
tes em demasia. Quando um host recebia essa mensage1n,
bé1n Ethernet comutada, está no departamento de engenha-
ele deveria desacelerar. Ela raramente continua a ser usada
ria elétrica e te1n o prefixo 192.32.63.0/24. As duas LANs
porque, quando ocorre congestionamento, esses pacotes
são conectadas por u1n roteador IP. Cada n1áquina e1n uma
tendem a acrescentar mais combustível ao fogo, e não é
Ethernet e cada linha no roteador têm um endereço Ethernet
correto responder a eles. O controle de congestionamento
único, rotulado de E I a E6, e u1n endereço IP único na rede
na Internet agora é feito em grande parte tornando ação na
CC ou EE.
camada de transporte, usando perdas de pacotes con10 um
Va1nos co1neçar vendo como um usuário no host 1
sinal de congestionamento; vamos estudá-lo e1n detalhes no
envia um pacote pa.ra um usuário no host 2 na rede CC.
Capítulo 6.
Suponha que o transmissor conheça o nome do receptor
A mensagen1 REDIRECT é usada quando um roteador pretendido, possivelmente algo como eagle.cs.uni.edu.
observa que um pacote parece estar roteado incon·eta1nente. O prin1eiro passo é encontrar o endereço IP para o host 2.
Ela é usada pelo roteador para dizer ao host trans1nissor que Essa pesquisa é realizada pelo DNS, o qual estudaremos
utilize uma rota melhor. no Capítulo 7. Por enquanto, van1os considerar apenas que
As n1ensagens ECHO e ECHO REPLY são enviadas o DNS retorna o endereço IP para o host 2 ( 192.32.65.5).
pelos hosts para ver se detern1inado destino pode ser al- O software da camada superior no host 1 agora 1nonta
cançado e está atualmente ativo. Ao receber a 1nensagem un1 pacote con1 192.32.65.5 no campo Endereço de destino
ECHO, o destino deve enviar de volta u1na mensage1n e passa para o IP transmitir. O IP pode examinar o endereço
ECHO REPLY. Essas 1nensagens são usadas no utilitário e ver que o destino está na rede CC (ou seja, sua própria
ping, que verifica se tun host está ativo na Internet. rede). Contudo, ele ainda precisa, de algu1na forn1a, encon-
As 1nensagens TIMESTAMP REQUEST e TIMES- trar o endereço Ethernet do destino para enviar o quadro.
TAMP REPLY são semelhantes, exceto que o tempo de Uma solução é ter um arquivo de configuração em algum
chegada da mensagem e o tempo de saída da resposta são lugar no sistema que mapeie os endereços lP em endereços
registrados na resposta. Esse serviço pode ser usado para Ethernet. Embora essa solução certamente seja possível,
medir o desempenho da rede. para organizações com n1ilhares de n1áquinas, manter todos
As mensagens ROUTER ADVERTISEMENT e esses arquivos atualizados é uma tarefa den1orada e passí-
ROUTER SOLICITATION são usadas para permiti.r que os vel de erros.
304 Redes de computadores

IP1 =192.32.65.7 IP3 = 192.32.63.3

E5 ~

~~ E1 Ethernet
" switch Roteador
' " "
Host 1 ' ::: :::: ::::', GT~=tl - - - - - - - _E~ -
j- _E~ - - - - - - - - - - l'n=rn=i'Y'
Host 3
/l:++H.+~~;;.;;;_;;..:;.,;;;.,,;;..;;;_;;

Host 2 //
/ / ri-'-'-'-'-"
192.32.65.1 192.32.63.1 /
J;il::
IP2 =192.32.65.5
Rede CC
192.32.65.0/24
Rede EE
192.32.63.0/24 E6
IP4 = 192.32.63.8

IP de Ethernet IP de Ethernet
Quadro de destino
origem de origem destino
Host 1 para 2, na rede CC IP1 E1 IP2 E2
Host 1 para 4, na rede CC IP1 E1 IP4 E3
Host 1 para 4, na rede EE IP1 E4 IP4 E6

Figura 5.62 Duas LANs Ethernet comutadas, unidas por um roteador.

Uma solução melhor é que o host 1 envie um pacote pacote ARP. Quaodo o broadcast ARP chega ao host 2, o
de broadcast para a Ethernet perguntando quem possui o par (192.32.65.7, El) é inserido no cache ARP do host 2.
endereço IP 192.32.65.5. O broadcast chegará a cada má- Na verdade, todas as n1áquinas na Ethernet podem entrar
quina na Ethernet CC, e cada uma verificará seu endereço com esse mapeamento e1n seus caches ARP.
IP. O host 2 sozinho responderá com seu endereço Ether- Para permitir que os 1napeamentos mude1n, por exem-
net (E2). Desse modo, o host 1 aprenderá que o endereço plo, quando um host é configurado para usar um novo en-
IP 192.32.65.5 está no host con1 o endereço Ethernet E2. dereço IP (mas manter seu endereço Ethernet antigo), as
O protocolo usado para fazer essa pergunta e obter u1na res- entradas no cache ARP devem esgotar seu tempo-limite
posta é chamado de ARP (Address Resolution Protocol), após alguns n1inutos. Um modo 1nais inteligente de ajudar
que é utilizado por quase toda máquina na Inte111et. O ARP a n1anter atualizada a informação em cache e otimizar o
é definido na RFC 826. desempenho é fazer cada máquina enviar seu 1napeamento
A vantage1n de usar o ARP sobre os arquivos de con- por broadcast quando for configurada. Esse broadcast ge-
figuração é a si1nplicidade. O gerenciador do sistema não rahnente é feito na forma de um ARP procurando seu pró-
precisa fazer muito, exceto atribuir a cada 1náquina um en- prio endereço IP. Não deve haver uma resposta, mas um
dereço IP e decidir sobre as máscaras de sub-rede. O ARP efeito colateral do broadcast é criar ou atualizar uma entra-
faz o restante. da no cache ARP de cada máquina. Isso é conhecido como
Nesse ponto, o IP no host 1 monta un1 quadro Ether- ARP gratuito. Se uma resposta chegar (inesperadamente),
net endereçado a E2, põe o pacote IP (endereçado a duas n1áquinas recebera1n o mesn10 endereço IP. O e1ro
I92.32.65.5) no campo de carga útil e o coloca na Ethernet. deve ser resolvido pelo administrador da rede antes que as
Os endereços IP e Ethernet desse pacote são 1nostrados na duas máquinas possam usar a rede.
Figura 5.62. O NIC Ethernet do host 2 detecta esse quadro, Agora vejamos a Figura 5.62 novamente, 1nas dessa
reconhece-o como um quadro por si só e causa u1na inter- vez considere que o host 1 deseja enviar um pacote para o
rupção. O driver Ethernet extrai o pacote IP da carga útil e host 4 (192.32.63.8) na rede EE. O host 1 verá que o ende-
o passa para o IP, que vê que ele está endereçado correta- reço IP de destino não está na rede CC. Ele sabe enviar todo
mente e o processa. esse tráfego fora da rede para o roteador, que tambén1 é co-
Diversas otimizações são possíveis para fazer o ARP nhecido como o gateway padrão. Por convenção, o gateway
funcionar de modo mais eficiente. Para co1neçar, quando padrão é o endereço mais baixo na rede (198.31.65. 1). Para
uma máquina executa o ARP, ela coloca o resultado e1n ca- enviar u1n quadro ao roteador, o host 1 ainda deve conhecer
che caso precise entrar em contato com a mesma máquina o endereço Ethernet da interface do roteador na rede CC. Ele
em breve. Da próxima vez, ela encontrará o mapeamento descobre isso enviando um broadcastARP para 198.31.65.J,
em seu próprio cache, eliminando, assi1n, a necessidade de do qual descobreEJ. Depois, ele envia o quadro. Os mesmos
un1 segundo broadcast. E1n muitos casos, o host 2 preci- tnecanismos de pesquisa são usados para enviar u1n pacote
sará enviar uma resposta de volta, o que o força também de um roteador para o seguinte, por u1na sequência de rotea-
a executar o ARP para determinar o endereço Ethernet do dores em u1n caminho na lnte111et.
transmissor. Esse broadcast ARP pode ser movido fazen - Quando a NlC Ethernet do roteador recebe esse qua-
do o host 1 incluir seu 1napeamento IP para Ethernet no dro, ela entrega o pacote ao software IP. Ela sabe pelas
Capítulo 5 • A camada de rede 305

máscaras de rede que o pacote deve ser enviado para a rede endereço IP deve ser alocado. Se u1n host sair da rede e não
EE, onde alcançará o host 4. Se o roteador não souber o retornar seu endereço IP ao servidor DHCP, esse endereço
endereço Ethernet para o host 4, então ele usará o ARP será pern1anentemente perdido. Após certo ten1po, muitos
novamente para o descobrir. A tabela na Figura 5.62 lista endereços pode1n se perder. Para i1npedir que isso aconte-
os endereços Ethernet e IP de origen1 e destino que estão ça, a atribuição de endereço IP pode ser por um período de
presentes nos quadros, confonne observado nas redes CC e tempo fixo, em uma técnica chamada leasing. Imediatamen-
EE. Observe que os endereços Ethernet mudam com o qua- te antes que o te1npo de validade de leasing termine, o host
dro em cada rede, enquanto os endereços IP permanecem precisa pedir uma renovação ao DHCP. Se ele deixar de fazer
constantes (pois indicam as extremidades através de todas uma solicitação ou se ela for negada, o host não pode mais
as redes interconectadas). usar o endereço IP que lhe foi dado anteriormente.
Tambén1 é possível enviar um pacote do host 1 ao host 4 O DHCP é descrito nas RFCs 2131 e 2132. Ele é mui-
sen1 que o host 1 saiba que o host 4 está en1 uma rede dife- to usado na Internet para configurar todos os tipos de pa-
rente. A solução é fazer o roteador responder aos ARPs na râmetros, alé1n de oferecer endereços IP aos hosts. Tanto
rede CC para o host 4 e dar seu endereço Ethernet, E3, co1no em redes empresariais como do1nésticas, o DHCP é usado
resposta. Não é possível fazer o host 4 responder diretamente, pelos ISPs para definir os parâmetros dos dispositivos pelo
pois ele não verá a solicitação ARP (pois os roteadores não enlace de acesso à Internet, de modo que os clientes não
encan1inham broadcasts en1 nível de Ethernet). O roteador, precisa1n ligar para seus ISPs para receber essa informação.
então, recebe quadros enviados para 192.32.63.8 e os en- Alguns exe1nplos comuns da infonnação configurada in-
ca1ninha para a rede EE. Essa solução é cha1nada de proxy cluem a máscara de rede, o endereço IP do gateway padrão
ARP e é usada en1 casos especiais, en1 que un1 host deseja e os endereços IP de DNS e servidores de hora. O DHCP
aparecer e1n uina rede, embora resida em outra. U1na situação en1 grande parte substituiu os protocolos anteriores (cha-
comum, por exe1nplo, é um computador móvel que deseja n1ados RARP e BOOTP) com funcionalidades ben1 mais
que alguin outro nó capture pacotes para ele quando não esti- li1nitadas.
ver em sua rede do1néstica.

DHCP - Dynamic Host Configuration Protocol 5.7.5 Rótulos de comutação e MPLS


O ARP (be1n co1no outros protocolos da Internet) pressu- Até aqui, em nosso passeio pela camada de rede da Inter-
põe que os hosts são configurados com algun1a infonnação net, foca1nos exclusivamente os pacotes co1no datagramas
básica, como seus próprios endereços IP. Como os hosts enca1ninhados pelos roteadores IP. Ta1nbén1 há outro tipo
obtêm essa infonnação? E' possível configurar manual- de tecnologia que está começando a ser largamente empre-
mente cada co1nputador, mas isso é tedioso e passível de gada, especiahnente pelos ISPs, a fitn de mover o tráfego
en·os. Existe um modo melhor, chamado protocolo de con- da Internet por suas redes. Essa tecnologia se chama MPLS
figuração dinâmica de host, ou DHCP (Dynamic Host (MultiProtocol Label Slvitching) e está perigosamente
Configuration Protocol). perto da co1nutação de circuitos. Apesar de muitas pessoas
Com DHCP, cada rede precisa ter um servidor DHCP na comunidade da Internet teren1 un1a grande aversão pelas
responsável pela configuração. Quando um co1nputador é redes orientadas à conexão, a ideia parece estar voltando.
iniciado, ele tem um endereço Ethernet ou outro endereço Como Yogi Berra disse certa vez, isso é co1no un1 déjà vu
da camada de enlace en1butido na NIC, n1as não u1n en- de tudo novamente. Contudo, existem diferenças essenciais
dereço IP. Assim como o ARP, o computador envia uma entre o modo como a Internet lida com a construção da rota
solicitação de broadcast por endereço IP em sua rede. Ele e a maneira como as redes orientadas à conexão fazem isso,
faz isso usando um pacote DHCP DISCOVER, que preci- de forma que a técnica certamente não é a comutação de
sa alcançar o servidor DHCP. Se esse servidor não estiver circuitos tradicional.
conectado diretamente à rede, o roteador será configurado O MPLS acrescenta um rótulo na frente de cada pa-
para receber broadcasts DHCP e repassá-los ao servidor cote, e o encaminhamento é baseado no rótulo, em vez do
DHCP, onde quer que esteja localizado. endereço de destino. Transformar o rótulo em um índice
Quando o servidor recebe a solicitação, ele aloca um para uma tabela interna faz da descoberta da linha de saída
endereço IP livre e o envia ao host em u1n pacote DHCP correta simplesmente uina questão de pesquisa de tabela.
OFFER (que novamente pode ser repassado pelo roteador). Usando essa técnica, o enca1ninha1nento pode ser feito mui-
Para fazer isso funcionar até 1nesmo quando os hosts não to rapidamente. Essa vantagem foi a motivação original por
têm endereços IP, o servidor identifica u1n host usando seu trás do MPLS, que começou como uma tecnologia paten-
endereço Ethernet (que é transportado no pacote DHCP teada, conhecida por vários no1nes, incluindo comutação
DISCOVER). de tags. Por fim , a TETF co1neçou a padronizar a ideia. Ela
Um problema que surge com a atribuição automática é descrita na RFC 3031 e en1 1nuitas outras RFCs. Os prin-
de endereços IP a partir de u1n pool é por quanto te1npo um cipais benefícios co1n o te1npo fora1n o rotea1nento, que
306 Redes de computadores

é flexível, e o encaminhan1ento, que é adequado e rápido índice para un1a tabela, a fim de determinar a linha de saída
para a qualidade de serviço. e também o novo rótulo a usar. Essa comutação de rótulos é
A prin1eira pergunta a fazer é: onde entra o rótulo? usada e1n todas as redes de circuito virtual. Os rótulos têm
Con10 os pacotes IP não foram projetados para circuitos significado apenas local e dois roteadores podem alin1en-
virtuais, não existe u1n campo disponível para os n(uneros tar pacotes não relacionados con1 o 1nesn10 rótulo e1n outro
de circuito virtual dentro do cabeçalho IP. Por esse moti- roteador para trans1nissão pela 1nesma linha de saída. Para
vo, um novo cabeçalho MPLS teve de ser acrescentado na que sejam distinguidos na outra ponta, os rótulos devem ser
frente do cabeçalho IP. Ern uma conexão roteador a rote- remapeados em cada hop. Vimos esse mecanis1no em ação
ador usando PPP como o protocolo de enquadra1nento, o na Figura 5.3. O MPLS usa a mesma técnica.
formato do quadro, incluindo os cabeçalhos PPP, MPLS, IP A propósito, algumas pessoas distinguem entre enca-
e TCP, pode ser visto na Figura 5.63. 1ninhan1ento e con1utação. O encan1inha1nento é o processo
O cabeçalho MPLS genérico tem 4 bytes de extensão de encontrar uma rnelhor combinação para um endereço
e quatro carnpos. O mais importante é o campo Rótulo, que de destino em uma tabela, para decidir para onde enviar
mantém o índice. O campo QoS indica a classe de serviço. pacotes. Um exetnplo é o algoritmo do maior prefixo com-
O campo S relaciona-se ao e1npilhan1ento de vários rótu- binado, usado para o enca1ninhan1ento IP. Ao contrário, a
los (que discutiren1os n1ais adiante). O can1po ITL indica comutação usa um rótulo tirado do pacote como u1n índice
quantas outras vezes mais o pacote pode ser encaminha- para uma tabela de encaminhamento. Isso é rnais simples
do. Ele é decrementado e1n cada roteador e, se atingir O, é e mais rápido. Essas definições, poré1n, estão longe de ser
, .
descartado. Esse recurso Ílnpede o loop infinito no caso da unanrmes.
instabilidade do roteamento. Como a maioria dos hosts e roteadores não entende
O MPLS fica entre o protocolo da ca1nada de rede IP e o MPLS, ta1nbém deven1os perguntar quando e como os
o protocolo da camada de enlace PPP. Ele não é realmente rótulos são anexados aos pacotes. Isso acontece quando um
um protocolo da camada 3, pois depende do IP ou de outros pacote IP alcança a borda de urna rede MPLS. O roteador
endereços da can1ada de rede para estabelecer caminhos de borda de rótulo, ou LER (Label Edge Router), ins-
por rótulo. Ele também não é realmente un1 protocolo da peciona o endereço IP de destino e outros campos para ver
camada 2, pois encaminha pacotes por vários hops, e não qual caminho na rede MPLS o pacote deve seguir, e coloca
por um único enlace. Por esse motivo, às vezes é descrito o rótulo correto na frente do pacote. Dentro da rede MPLS,
como um protocolo da catnada 2,5. Ele é uma ilustração de esse rótulo é usado para enca1ninhar o pacote. Na outra bor-
que protocolos reais nem sempre se encaixam perfeitamen- da da rede MPLS, o rótulo já terá atendido à sua finalidade
te em nosso modelo ideal de protocolos em camadas. e será removido, revelando novamente o pacote IP para a
Pelo lado positivo, como os cabeçalhos MPLS não fa- próxima rede. Esse processo pode ser visto na Figura 5.64.
zem parte do pacote da carnada de rede ou do quadro da Uma diferença em relação aos circuitos virtuais tradicio-
camada de enlace de dados, o MPLS é, em grande parte, nais é o nível de agregação. Certamente, é possível que
independente das duas camadas. Entre outras coisas, essa cada fluxo tenha seu próprio conjunto de rótulos pela rede
propriedade significa que é possível montar switches MPLS MPLS. Todavia, é 1nais comu1n que os roteadores agru-
que possam encanúnhar tanto pacotes IP quanto pacotes que pem vários fluxos que terminam em determinado roteador
não sejam IP, dependendo do que aparecer. É desse recurso ou LAN e usem um único rótulo para eles. Diz-se que os
que vem o "multiprotocolo" no no1ne MPLS. O MPLS tam- fluxos agrupados sob um único rótulo pertencem à mes-
bém pode transportar pacotes IP por redes não IP. ma classe de equivalência de encaminhamento, ou FEC
Quando um pacote nlelhorado com MPLS chega a um (Fonvarding Equivalence Class). Essa classe abrange não
LSR (Label Switched Router), o rótulo é usado como um apenas aonde os pacotes estão indo, mas também sua classe
de serviço (no sentido dos serviços diferenciados), pois to-
Cabeçalhos dos os pacotes são tratados da mesma maneira para fins de
encaminhan1ento.
Dados 1 Co1n o roteamento tradicional de circuito virtual, não
PPP ] MPLS 1. IP TCP do usuário CRC
1 é possível agrupar vários ca1ninhos distintos com diferentes
' ,,
I
I
'
' ',,
extremidades no mesmo identificador de circuito virtual,
I
I
'
' ',, pois não haveria con10 distingui-los no destino. Com o
'
I
'
,,', MPLS, os pacotes ainda contêm seu endereço de destino,
Bits r-·-----R-=:"'t:'-1º----~lº_,:'-s~l:.!..,1---'~"-,-L,_,-=...,, alé1n do rótulo. Ao final da rota, o cabeçalho do rótulo pode
ser removido e o encaminhamento pode continuar normal-
mente, usando o endereço de destino da can1ada de rede.
Figura 5.63 Transmitindo um segmento TCPusando IP, Na realidade, o MPLS vai ainda 1nais adiante. Ele pode
MPLS e PPP. operar em vários níveis ao 1nesmo tempo, acrescentando
Capítulo 5 • A camada de rede 307

Remove
Acrescenta rótul o~
~ rótulo Comutação por
rótulo apenas i---c~
1
Rótulo 1Rótulo
Rótulo IP · - ' - - - (para a próxima
rede)

Roteador
de borda de rótulo
Roteador de comutação
de rótulo

Figura 5.64 Encaminhando um pacote IP por uma rede MPLS.

mais de tun rótulo à frente de un1 pacote. Por exemplo, su- variantes podem estabelecer can1inhos diferentes, corno
ponha que existan1 1nuitos pacotes que já tenham diferentes caminhos de engenharia de tráfego que levam e1n conta a
rótulos (pois queremos tratar os pacotes de forn1a diferente capacidade não usada, e criar caminhos por demanda para
em algum lugar na rede) que deverão seguir um caminho dar suporte a ofertas de serviço, como a qualidade.
con1u1n até algum destino. Em vez de estabelecer 1nuitos En1bora as ideias básicas por trás do MPLS sejam
caminhos de co1nutação de rótulos, u1n para cada rótulo di- simples, os detalhes são complicados, com muitas varian-
ferente, podemos estabelecer um único can1inho. Quando tes e casos de uso que estão sendo ativamente desenvolvi-
os pacotes já rotulados atingem o início desse caminho, ou- dos. Para obter mais informações, consulte Davie e Farrel
tro rótulo é acrescentado à frente. Isso é chamado de pilha (2008) e Davie e Rekhter (2000).
de rótulos. O rótulo 1nais externo guia os pacotes ao longo
do can1inho. Ele é re1novido no fmal do caminho, os rótulos
são revelados e, se houver alguns, são usados para encami- 5.7.6 OSPF - protocolo de roteamento
nhar o pacote mais adiante. O bit S na Figura 5.63 permite de gateway interior
que um roteador ren1ovendo u1n rótulo saiba se ainda exis-
tem rótulos adicionais. Ele é definido co1no 1 para o rótulo Neste ponto, já tennina1nos nosso estudo de como os pa-
inferior e O para todos os demais. cotes são encaminhados na Internet. É hora de prosseguir
A última pergunta que faremos é como as tabelas de para o próximo assunto: roteamento na Internet. Como já
encaminhamento de rótulos são montadas de tuodo que os dissemos, a Internet é composta por um grande nú1nero
pacotes as siga1n. Essa é uma área de diferença iinportante de redes independentes, ou sistemas autônomos (Auto-
entre MPLS e projetos convencionais de circuito virtual. nomous Systems, ASs), que são operados por diferentes
Nas redes tradicionais de circuito virtual, quando um usuá- organizações, normalmente uma empresa, universidade ou
rio quer estabelecer uma conexão, um pacote de configura- ISP. Dentro de sua própria rede, u1na organização pode usar
ção é disparado na rede, para criar o caminho e as entradas seu próprio algoritmo para roteamento interno, ou rotea-
da tabela de encaminha1nento. O MPLS não envolve os mento intradomínio, como nonnalmente é 1nais conheci-
usuários na fase de configuração, pois exigir que eles façam do. Apesar disso, existe1n apenas alguns protocolos padrão
algo diferente de enviar um datagrama atrapalharia grande que são populares. Nesta seção, estudaren1os o problema
parte do software da Internet existente. de roteamento intradomínio e veren1os o protocolo OSPF,
E1n vez disso, a infonnação de encaminhamento é que é bastante utilizado na prática. U1n protocolo de ro-
estabelecida por protocolos, que são un1a combinação de tea1nento intrado1nínio també1n é chamado de protocolo
protocolos de roteamento e de estabelecin1ento de conexão. de gateway interior (Interior Gate,vay Protocol, IGP).
Esses protocolos de controle são nitidamente separados Na próxüna seção, estudare1nos o problema de roteamento
do encaminha1nento de rótulos, o que permite que vários entre redes operadas independentemente, ou rotea1nento
protocolos de controle seja1n utilizados. Un1a das variantes interdomínio. Para esse caso, todas as redes devem usar
funciona dessa maneira: quando um roteador é iniciado, ele o mesmo protocolo de roteamento interdomínio ou proto-
verifica para quais rotas ele é o destino (p. ex., quais pre- colo de gate\vay exterior. O protocolo usado na Internet é
fixos pertence1n às suas interfaces). Depois, cria tnna ou o BGP (Border Gateway Protocol), que será discutido na
mais FECs para elas, aloca um rótulo para cada uma e passa Seção 5.7.7.
os rótulos a seus vizinhos. Estes, por sua vez, entram co1n Os primeiros protocolos de rotea1nento intradomínio
os rótulos em suas tabelas de encaminhamento e envia1n usavam um projeto por vetor de distância, baseado no al-
novos rótulos aos seus vizinhos, até que todos os roteado- goritmo de Belln1an-Ford distribuído, herdado da ARPA-
res tenham adquirido o caminho. Recursos tan1bé1n po- NET. O RTP (Routing Jnformation Protocol) é o princi-
den1 ser reservados à medida que o ca1ninho é construído, pal exemplo que é usado até os dias de hoje. Ele funciona
para garantir un1a qualidade de serviço apropriada. Outras bem em sistemas pequenos, 1nas não n1uito bem quando as
308 Redes de computadores

redes se toman1 1naiores. Ele também sofre do problen1a de campo foi incluído no OSPF, mas ningué1n o utilizava ain-
contagem ao infinito e de convergência gerahnente lenta. da, e, por fim, foi removido. Talvez esse requisito tenha es-
A ARPANET passou para um protocolo de estado de en- tado à frente de seu tempo, e precedeu o trabalho da IETF
lace em maio de 1979, em decorrência desses problemas, sobre serviços diferenciados, que rejuvenesceu as classes
e ern 1988 a IETF con1eçou a trabalhar ern un1 protocolo de serviço.
de estado de enlace para o roteamento intrado1nínio. Esse En1 quinto lugar, e relacionado ao anterior, o OSPF
protocolo, chamado OSPF (Open Shortest Path First), tinha de realizar balancea1nento de carga, dividindo-a por
tornou-se padrão em 1990. Ele ocasionou um protocolo várias linhas. A maioria dos protocolos anteriores enviava
chan1ado IS-IS (Intermediate-System to Intermediate- todos os pacotes por u1na única melhor rota, rnesrno que
-System), que se tomou um padrão ISO. Em virtude de sua houvesse duas rotas que fossem igualmente boas. A outra
herança compartilhada, os dois protocolos são muito mais rota nem sequer era usada. Em muitos casos, a divisão da
semelhantes do que diferentes. Para ver a história completa, carga por várias rotas oferece melhor desempenho.
consulte a RFC 2328. Eles são os protocolos de rotea1nento Em sexto lugar, o suporte para siste1nas hierárquicos
intradominio mais difundidos, e a rnaioria dos fornecedores era necessário. Em 1988, algun1as redes tinham se tomado
de roteador agora oferece suporte para ambos. O OSPF é tão grandes que não se poderia esperar que algu1n roteador
mais utilizado em redes de empresas, e o IS-IS é mais usa- conhecesse a topologia inteira. O OSPF tinha de ser proje-
do em redes de ISP. Faremos urn esboço de como o OSPF tado de modo que nenhurn roteador precisasse disso.
funciona. Ern sétirno lugar, algutn modo de segurança era exi-
Dada a longa experiência com outros protocolos de gido para impedir que estudantes procurando diversão bis-
roteamento, o grupo que estava projetando o OSPF tinha bilhotassem os roteadores enviando-lhes informações de
uma longa lista de requisitos que precisavam ser atendidos. roteam.ento falsas. Finalmente, era preciso algum meio de
Prirneiro, o algoritmo tinha de ser publicado na literatura lidar com os roteadores que estavam conectados à Internet
aberta, dai o "O" (Open) em OSPF. Uma solução patente- por 1neio de un1 túnel. Os protocolos anteriores não cuida-
ada, pertencente a uma empresa, não serviria. Em segundo vam disso muito bem.
lugar, o novo protocolo deveria dar suporte a uma série de O OSPF tem suporte para enlaces ponto a ponto
métricas de distância, incluindo distância física, atraso, e (p. ex., SONET) e redes de broadcast (p. ex., a maioria das
assim por diante. Em terceiro lugar, ele tinha de ser urn al- LANs). Na realidade, ele é capaz de dar suporte a redes
goritn10 dinâmico, que se adaptasse às mudanças na topolo- corn vários roteadores, cada un1 deles podendo se co1nuni-
gia de maneira automática e rápida. car diretamente com os outros (chamadas redes de aces-
Em quarto lugar, e novo para o OSPF, ele tinha de dar so múltiplo), mesmo que eles não tenham capacidade de
suporte ao roteamento com base no tipo de serviço. O novo broadcast. Os protocolos anteriores também não cuidavam
protocolo deveria ser capaz de rotear o tráfego em tem- desse caso corretamente.
po real de uma rnaneira e o restante do tráfego de outra. Um exemplo de uma rede de sisterna autôno1no
Na época, o IP tinha um ca1npo Tipo de serviço, mas ne- aparece na Figura 5.65(a). Os hosts são 01nitidos porque
nhum protocolo de roteamento existente o utilizava. Esse geralmente não desempenham um papel no OSPF, ao

R1 R3 R5
LAN 1
LAN4
LAN 3

R4
R2 R4
(a)

5
LAN 1 R1 R3 3 R5 LAN 4
~\'"---:s~-==~º~ ~J:>-~~5 ~-0
4

a
4 4 LAN3
8
3 o
1
R4
o
LAN 2 R2
(b)

Figura 5.65 (a) Um sistema autônomo. (b) Uma representação gráfica de (a).
Capítulo 5 • A camada de rede 309

contrário dos roteadores e das redes (que pode1n conter Cada AS ten1 uma área de backbone, chamada de
hosts). A maioria dos roteadores na Figura 5.65(a) é co- área O. Os roteadores nessa área são chamados de roteado-
nectada a outros roteadores por enlaces ponto a ponto e res de backbone. Todas as áreas são conectadas ao backbo-
às redes para alcançar os hosts nessas redes. Contudo, os ne, possivelmente por túneis, de modo que é possível seguir
roteadores R3, R4 e R5 são conectados por tuna LAN de de qualquer área no AS para qualquer outra área nele por
broadcast, como a Ethernet con1utada. meio do backbone. Um túnel é representado no grafo sin1-
O OSPF opera abstraindo a coleção de redes, roteado- plesmente como outro arco com um custo. Assim con10 ou-
res e enlaces reais em um grafo direcionado no qual cada tras áreas, a topologia do backbone não é visível fora dele.
arco recebe u1n peso (distância, atraso, etc.). Uma conexão Cada roteador que está conectado a duas ou n1ais áreas
ponto a ponto entre dois roteadores é representada por u1n é chamado de roteador de borda de área. Ele também
par de arcos, um em cada direção. Seus pesos podem ser precisa fazer parte do backbone. A tarefa de um roteador
diferentes. Uma rede de broadcast é representada por um nó de borda de área é resumir os destinos em uma área e in-
para a própria rede, tnais um nó para cada roteador. Os ar- jetar esse resumo nas outras às quais ele está conectado.
cos desse nó da rede para os roteadores têm peso O. Apesar Esse resun10 inclui infon11ação de custo, mas nen1 todos os
disso, eles são importantes, pois, sem eles, não existe cami- detalhes da topologia dentro de uma área. A passagem de
nho pela rede. Outras redes, que possuem apenas hosts, têm informações de custo permite que os hosts em outras áreas
apenas um arco chegando até elas, e não um retornando. encontrem o melhor roteador de borda a usar para entrar
Essa estrutura gera rotas aos hosts, mas não através deles. etn utna área. Não passar informação de topologia reduz o
A Figura 5.65(b) mostra a representação gráfica da tráfego e simplifica os cálculos do caminho mais curto dos
rede da Figura 5.65(a). O que o OSPF fundamentalmente roteadores em outras áreas. Contudo, se houver apenas um
faz é representar a rede real como um grafo como este e, roteador de borda fora de uma área, ne1n 1nesmo o resu-
depois, usar o rnétodo de estado de en lace para que cada mo precisa ser passado. As rotas para destinos fora da área
roteador calcule o caminho mais curto de si mesmo para sen1pre começam com a instrução "Vá até o roteador de
todos os outros nós. Múltiplos caminhos podem ser encon- borda". Esse tipo de área é chamada de área de stub.
trados, os quais são igualmente curtos. Nesse caso, o OSPF O último tipo de roteador é o roteador de limite de
se lembra do conjunto de caminhos mais curtos e, duran- AS. Ele injeta na área as rotas para destinos externos em
te o enca1ninha1nento de pacotes, o tráfego é divido entre outros ASs. As rotas externas aparecem então como des-
eles. Isso ajuda a balancear a carga. Isso é chamado ECMP tinos que pode1n ser alcançados por meio do roteador de
(Equal Cost MultiPath). limite de AS com algum custo. Uma rota externa pode ser
Muitos dos ASs na Internet são, por si sós, grandes e injetada em um ou mais roteadores de limite de AS. A rela-
não triviais para admjnistrar. Para traball1ar nessa escala, o ção entre ASs, áreas e os diversos tipos de roteadores apa-
OSPF pennite que um AS seja dividido em áreas nu1ne- rece na Figura 5.66. U1n roteador pode desempenhar vários
radas, onde uma área é u1na rede ou un1 conjunto de redes papéis; por exemplo, u1n roteador de borda ta1nbé1n é urn
contíguas. As áreas não se sobrepõem, mas não precisam roteador de backbone.
ser completas, ou seja, alguns roteadores podem não per- Durante a operação norrnal, cada roteador dentro de
tencer a uma área. Os roteadores que se encontram total- uma área te1n o 1nes1no banco de dados de estado de en-
mente dentro de uma área são cha1nados de roteadores lace e executa o mesn10 algo1itmo de caminho n1ais curto.
internos. Uma área é uma generalização de u1na rede in- Sua tarefa principal é calcular o caminho mais curto de si
dividual. Fora de uma área, seus destinos são visíveis, mas n1esmo para cada um dos roteadores e para a rede no AS
não sua topologia. Essa característica ajuda na expansão do inteiro. U1n roteador de borda de área precisa dos bancos
rotean1ento. de dados para todas as áreas às quais está conectado, e deve

Roteador de borda Roteador de Roteador Roteador


de área backbone de limite de AS interno

Um sistema
autônomo

Aera 2 (stub) Área O (backbone) Área 1

Figura 5.66 A relação entre ASs, backbones e áreas no OSPF.


31 O Redes de computadores

executar o algo1it1no do caminho n1ais curto para cada área para to111á-las confiáveis. Cada 1nensagem tem un1 nún1ero
separadamente. de sequência, de modo que um roteador pode ver se u1n
Para uma origem e um destino na mesma área, é esco- LINK STATE UPDATE é mais antigo ou 1nais novo do que
th ida a melhor rota intra-área (que se encontra totalmente o que ele te1n atualmente. Os roteadores também enviam
dentro dela). Para uma orige1n e um destino e1n áreas dife- essas 1nensagens quando um enlace é ativado ou desativa-
rentes, a rota interárea deve ir da origem para o backbone, do, ou quando seu custo muda.
atravessá-lo até a área de destino e depois até o destino. Mensagens DATABASE DESCRIPTION dão os nú-
Esse algoritmo força uma configuração de estrela no OSPF, meros de sequência de todas as entradas de estado de enla-
co1n o backbone sendo o hub e as outras áreas sendo as ce atualn1ente mantidas pelo transmissor. Comparando seus
pontas. Como a rota co1n o menor custo é escolhida, os próprios valores com os do transmissor, o receptor pode
roteadores em diferentes partes da rede podem usar dife- determinar quem tem os valores mais recentes. Essas men-
rentes roteadores de borda de área para entrar no backbone sagens são usadas quando um enlace é ativado.
e na área de destino. Os pacotes são roteados da orige1n Qualquer parceiro pode solicitar informações de es-
ao destino "co1no se encontra1n", se1n seren1 encapsulados tado de enlace do outro usando mensagens LINK STATE
ou tunelados (a menos que sigam para uma área cuja única REQUEST. O resultado desse algoritino é que cada par de
conexão para o backbone é um túnel). Além disso, as rotas roteadores adjacentes verifica quem tem os dados 1nais re-
para destinos externos podern incluir urn custo externo do centes, e novas infonnações são espalhadas pela área dessa
roteador de limite do AS pelo catninho externo, se deseja- maneira. Todas essas mensagens são enviadas diretamente
do, ou apenas o custo interno para o AS. etn pacotes IP. Os cinco tipos de mensagens são resurnidos
Quando um roteador é iniciado, ele envia mensagens na Figura 5.67.
HELLO em todas as conexões ponto a ponto e as transmite Finalmente, podemos juntar todas as partes. Usando
por multicast nas LANs para o grupo consistindo em todos flooding, cada roteador informa a todos os outros em sua
os outros roteadores. A partir das respostas, cada roteador área sobre seus enlaces para outros roteadores e redes e o
descobre quem são seus vizinhos. Os roteadores na mesma custo desses enlaces. Essa infonnação permite que cada
LAN são todos os vizinhos. roteador construa o grafo para sua(s) área(s) e calcule os
O OSPF funciona trocando informações entre rotea- caminhos mais curtos. A área de backbone tarnbém faz esse
dores adjacentes, o que não é o mes1no que entre roteadores trabalho. Alé1n disso, os roteadores de backbone aceitam
vizinhos. Em particular, é ineficaz fazer cada roteador e1n infonnações dos roteadores de borda de área, a fim de cal-
uma LAN falar com outro roteador na LAN. Para evitar cular a melhor rota a partir de cada roteador de backbone
essa situação, um deles é eleito como roteador designa- para cada un1 dos outros roteadores. Essa informação é pro-
do. Ele é considerado adjacente a todos os outros ern sua pagada de volta para os roteadores de borda de área, que a
LAN, e troca informações co1n eles. Con1 efeito, ele está anunciam dentro de suas áreas. Usando essa infonnação,
atuando co1no o único nó que representa a LAN. Os rotea- os roteadores internos podem selecionar a melhor rota para
dores vizinhos que não são adjacentes não trocam informa- um destino fora de sua área, incluindo o melhor roteador de
ções uns com os outros. Um roteador designado de backup saída para o backbone.
sempre é mantido atualizado, para facilitar a transição caso
o roteador designado principal falhe e precise ser substi-
tuído Ílnediata1nente. 5.7.7 BGP - protocolo de roteamento
Durante a operação normal, cada roteador periodica- de gateway exterior
mente envia 1nensagens LINK STATE UPDATE para cada
um de seus roteadores adjacentes. Essas mensagens dão seu Dentro de un1 único AS, OSPF e IS-IS são os protocolos
estado e oferece1n os custos usados no banco de dados to- normahnente utilizados. Entre os ASs, urn protocolo di-
pológico. Essas mensagens de tlooding são confirmadas, ferente, chamado BGP (Border Gateway Protocol), é

Tipo de mensagem Descrição


Hello Usada para descobrir quem são os vizinhos
Link state update Oferece os custos do transmissor aos seus vizinhos
Link state ack Confirma a atualização do estado de enlace
Database description Anuncia quais atualizações o transmissor tem
Link state request Solicita informações do parceiro

Figura 5.67 Os cinco tipos de mensagens OSPF.


Capítulo 5 • A camada de rede 311

utilizado. Un1 protocolo diferente é necessário porque os comerciais confidenciais. Contudo, poden1os descrever
objetivos de um protocolo intradomínio e de um interdomí- alguns padrões que captura1n o raciocínio das empresas
nio não são os mes1nos. Tudo o que um protocolo intrado- mencionadas anteriormente e que normalmente são usados
mínio tem a fazer é mover pacotes da forma mais eficiente como ponto de partida.
possível da origem ao destino. Ele não precisa se preocupar Uma política de roteamento é implementada deci-
con1 a política. dindo que tráfego pode fluir por quais dos enlaces entre
Ao contrário, os protocolos de roteamento interdo- os ASs. Uma política co1num é que um ISP cliente paga a
mínio precisam se preocupar rnuito com a política (Metz, outro ISP provedor para entregar pacotes a qualquer outro
200 1). Por exe1nplo, u1n AS corporativo poderia desejar ter destino na Internet e receber pacotes enviados de qualquer
a capacidade de enviar pacotes e recebê-los de qualquer site outro destino. O ISP cliente compra serviço de trânsito do
da Internet. Entretanto, pode não ser interessante transpor- ISP provedor. Isso é muito se1nelhante a u1n cliente em casa
tar pacotes de trânsito começando em um AS estrangeiro con1prando serviço de acesso à Internet de um ISP. Para
e tenninando em u1n AS estrangeiro diferente, 1nesmo que fazer isso funcionar, o provedor deve anunciar as rotas para
seu próprio AS esteja no can1inho 1nais curto entre os dois todos os destinos na Internet ao cliente pelo enlace que os
ASs estrangeiros ("Isso é problema seu, e não nosso"). Por conecta. Desse 1nodo, o cliente terá tnna rota a ser usada
sua vez, pode ser interessante transportar o tráfego para para enviar pacotes a qualquer lugar. Reciprocan1ente, o
seus vizinhos, ou 1nesn10 para outros ASs específicos que cliente deverá anunciar rotas son1ente para os destinos em
pagara1n por esse serviço. Cornpanhias telefônicas, por sua rede até o provedor. Isso permitirá que o provedor en-
exe1nplo, podem ter interesse em atuar como operadoras vie tráfego para o cliente so1nente para esses endereços; o
para seus clientes, nlas não para outras pessoas. Os proto- cliente não deseja tratar do tráfego intencionado para outros
colos de gateway exterior ern geral, e o BGP em particular, destinos.
têm sido designados para permitir que muitos tipos de po- Pode1nos ver u1n exe1nplo de serviço de trânsito na
líticas de roteamento seja1n Ílnpostos no tráfego entre ASs. Figura 5.68. Nela, existen1 quatro ASs que estão conecta-
As nonnas típicas envolvem considerações políticas, dos. A conexão normahnente é feita com um enlace nos
de segurança ou econô1nicas. Alguns possíveis exemplos pontos de troca da Internet, ou IXPs (Internet eXchan-
de restrições de roteamento são: ge Points), instalações e1n que 1nuitos ISPs tên1 u1n enlace
con1 a finalidade de se conectar a outros ISPs. AS2, AS3 e
1. Não transporte tráfego comercial na rede educacional. AS4 são clientes de ASJ - eles compram serviço de trânsi-
2. Nunca envie tráfego do Pentágono em uma rota que to dele. Assim, quando a origem A envia para o destino C,
passa pelo Iraque. os pacotes atravessam de AS2 para ASJ e, finalmente, para
3. Use TeliaSonera em vez de Verizon, pois é mais AS4. Os anúncios de rotea1nento transita1n no sentido opos-
barato. to ao dos pacotes. AS4 anuncia C como um destino para
4. Não use AT &T na Austrália, porque o dese1npenho é seu provedor de trânsito, ASJ, para permitir que as origens
fraco. alcance111 C por 1neio de AS1. Mais tarde, AS I anuncia uma
rota para C a seus outros clientes, incluindo AS2, para per-
5. O tráfego começando ou terminando na Apple não
mitir que os clientes saibam que eles podem enviar tráfego
deve transitar pelo Google.
para C por 1neio de ASJ.
Como você pode imaginar por essa lista, as políti- Na Figura 5.68, todos os outros ASs co1npra1n servi-
cas de roteamento podem ser altamente individuais. Elas ço de trânsito de AS 1. Isso lhes oferece conectividade, de
nonnalmente são patenteadas, pois contêm informações 111odo que possam interagir com qualquer host na Internet.

AS1 Política de roteamento


TR = Trânsito
CL =Cliente
PE = Peer

Caminho dos
pacotes IP (sólido):
AS3

PE
--
PE

Figura 5.68 Políticas de roteamento entre quatro sistemas autônomos.


312 Redes de computadores

Poré1n, eles precisam pagar por esse privilégio. Suponha acordos con1erciais, os ASs têm outros acordos, incluindo
que AS2 e AS3 troquen1 muito tráfego. Visto que suas redes o peering pago, em que un1 AS paga a outro pelo acesso
já estão conectadas, se eles quiserem, pode1n usar u1na po- a rotas aprendidas com os clientes desses ASs. O peering
lítica diferente - podem enviar tráfego diretamente de u1n pago é se1nelhante ao peering sem acordo, exceto que o
para outro gratuita1nente. rsso reduzirá a quantidade de trá- dinheiro muda de mãos. Finalmente, também pode haver
fego que ASJ precisa entregar em seu favor, e espera-se que arranjos de trânsito parcial, por meio dos quais um AS
reduzam suas contas. Essa política é chamada de peering pode pagar a outro AS por rotas para algum subconjunto de
sem acordo, ou interconexão sem acordo. todos os destinos da Internet.
Para irnplementá-la, dois ASs enviam anúncios de Algumas redes de empresas são conectadas a vários
roteamento urn para o outro, para os endereços que resi- ISPs. Essa técnica é usada para melhorar a confiabilidade,
de1n em suas redes. Isso torna possível que AS2 envie para pois, se o caminho por um ISP falhar, outro pode ser utili-
AS3 pacotes de A destinados para B e vice-versa. Todavia, zado. Essa técnica é chamada de multihoming. Nesse caso,
observe que o peering sem acordo não é transitivo. Na Fi- a rede da empresa provavelmente executará u1n protocolo
gura 5.68, AS3 e AS4 tatnbém fazem par um com o outro. de rotearnento interdornínio (p. ex., BGP) para dizer a ou-
Esse arranjo permite que o tráfego de C destinado para B tros ASs quais endereços devem ser alcançados por 1neio de
seja enviado diretamente para AS4. O que acontece se C quais enlaces do ISP.
envia u1n pacote para A? AS3 só está anunciando uma rota São possíveis 1nuitas variações sobre essas políticas
para B para AS4. Ele não está anunciando uma rota para A. de trânsito e peering, mas elas já ilustram como os rela-
A consequência é que o tráfego não passará de AS4 para cionamentos e o controle da e1npresa sobre o local onde os
AS3 para AS2, embora exista um carninho fí sico. Essa res- anúncios de rota se encontram podem implementar diferen-
trição é exatan1ente o que AS3 deseja. Ele faz par con1 AS4 tes tipos de políticas. Agora, vamos considerar com mais
para trocar tráfego, mas não deseja transportar o tráfego detalhes como os roteadores executando BGP anunciam ro-
de AS4 para outras partes da Internet, pois não está sendo tas uns para os outros e selecionam caminhos sobre os quais
pago para fazer isso. Em vez disso, AS4 recebe serviço de os pacotes são encaminhados.
trânsito de ASI. Assin1, é ASI quem transportará o pacote BGP é uma fonna de protocolo por vetor de distância,
de CparaA. mas é muito diferente dos protocolos por vetor de distân-
Agora que sabemos a respeito de trânsito e peering cia intradomínio, como o RIP. Já vimos que essa política,
sem acordo, tambéin podemos ver que A, B e C têtn arran- em vez da distância mínima, é usada para escolher quais
jos de trânsito. Por exemplo, A precisa comprar acesso à In- rotas utilizar. Outra grande diferença é que, em vez de rnan-
ternet de AS2. A poderia ser urn único cornputador dornésti- ter apenas o custo da rota para cada destino, cada roteador
co ou uma rede de empresa con1 muitas LANs. Todavia, ele BGP registra o can1inho utilizado. Essa técnica é chamada
não precisa rodar BGP, pois é uma rede stub conectada ao de protocolo por vetor de caminho. O caminho consiste
restante da Internet por apenas um enlace. Assim, o único no roteador do próxin10 hop (que pode estar no outro lado
lugar para ele enviar pacotes destinados para fora da rede é do ISP, e não adjacente) e na sequência de ASs, ou cami-
pelo enlace com AS2. Não há outro lugar para ir. Esse cami- nho do AS, que a rota seguiu (dado na ordem inversa). Por
nho pode ser arranjado simplesmente pela criação de uma fim, pares de roteadores BGP se comunican1 uns com os
rota padrão. Por esse motivo, não mostramos A, B e C como outros estabelecendo conexões TCP. Operar dessa maneira
ASs que participan1 no rotean1ento interdomínio. oferece comunicação confiável e ta1nbé1n oculta todos os
Arranjos de negócios para trânsito e peering sem detalhes da rede sendo atravessada.
acordo são i1nplen1entados por meio de uma cornbinação Um exen1plo de con10 as rotas BGP são anunciadas
de políticas de rotean1ento que implen1entam ( 1) prefe- aparece na Figura 5.69. Existem três ASs, e o do meio está
rência entre várias rotas até un1 destino e (2) filtrage1n de fornecendo trânsito para os lSPs da esquerda e da direi-
con10 as rotas são anunciadas para redes vizinhas. Ern ge- ta. Um anúncio de rota para o prefixo C começa em AS3.
ral, a preferência funciona da seguinte forma: um roteador Quando propagado pelo enlace para R2c no topo da figura,
preferirá as rotas aprendidas primeiro co1n os clientes pa- ele tem o caminho de AS de simplesmente AS3 e o roteador
gantes, seguidas pelas rotas aprendidas com os pares sem do próximo hop de R3a. Na parte de baixo, ele ten1 o mes-
acordo e, por fim , as rotas aprendidas com as redes do mo caminho de AS, mas um próxi1no hop diferente, pois
provedor. O raciocínio é simples: urn AS prefere enviar veio por urn enlace diferente. Esse anúncio continua a se
tráfego ao longo de rotas pelas quais é pago, em vez de en- propagar e atravessa o limite para ASI. No roteador RI a,
viar tráfego em rotas em que é necessário pagar pelo uso. no topo da figura, o caminho do AS éAS2, AS3 e o próximo
Por razões sernelhantes, um AS anunciará todas as suas hop é R2a.
rotas para os clientes, mas não anunciará novamente as ro- Transportar o caminho completo com a rota a ser se-
tas aprendidas de um par sem acordo ou do provedor de guida torna mais fácil para o roteador receptor detectar e
trânsito para outros pares ou provedores. Além desses dois acabar com os loops de roteamento. Uma regra é que cada
Capítulo 5 • A camada de rede 313

Caminho do AS
Próximo hop
C,AS2,AS3,R1a C,AS2, AS3,R2a C, AS3, R3a i----....
e
I
R1a R2a R2c R3a I
I
I
I
I
I
I
.--.'----.,.' --+-Caminho
C,AS2, AS3, R1b C,AS2,AS3,R2b
dos pacotes

R1b R2b R2d R3b


AS1 AS2 AS3
Figura 5.69 Propagação dos anúncios de rota BGP.

roteador que envia uma rota para fora


,
do AS inicia seu pró- partir de todas as partes do ISP, não importando como os
prio número de AS para a rota. (E por isso que a lista está pacotes entram no ISP a partir de outros ASs.
e1n ordem invertida.) Quando um roteador recebe uma rota, Não mostramos essa propagação na Figura 5.69 para
ele verifica se seu próprio número de AS já está no caminho evitar confusão, mas, por exetnplo, o roteador R2b saberá
do AS. Se estiver, um loop foi detectado e o anúncio é des- que pode alcançar C por rneio do roteador R2c no alto ou
cartado. Contudo, e de certa forma ironicamente, no fim da do roteador R2d na parte de baixo. O próxin10 hop é atua-
década de 1990 observou-se que, apesar dessa precaução, lizado à medida que a rota cruza dentro do ISP, de 1nodo
o BGP sofre de uma versão do proble1na da contagern ao que os roteadores no lado distante do ISP sabem qual ro-
infinito (Labovitz et ai., 2001 ). Não existe1n loops de longa teador usar para sair do ISP no outro lado. Isso pode ser
vida, mas as rotas às vezes podem detnorar a convergir e ter visto nas rotas mais à esquerda, em que o próximo bop
loops transitórios. aponta para um roteador no rnesn10 ISP, e não para um
Oferecer urna lista de ASs é um rnodo 1nuito prüni- roteador no próximo ISP.
tivo de especificar um ca1ninho. Un1 AS poderia ser urna Agora, podernos descrever a principal peça que fal-
pequena empresa, ou urna rede de backbone internacional. tava, que é o modo como os roteadores BGP escolhem a
Não dá para saber isso pela rota. O BGP nem sequer tenta, rota a utilizar para cada destino. Cada roteador BGP pode
pois diferentes ASs podem usar diferentes protocolos intra- descobrir uma rota para determinado destino a partir do ro-
don1ínio cujos custos não podem ser comparados. Mes1no teador ao qual está conectado no próximo ISP e a partir de
que pudessem ser comparados, um AS pode não querer re- todos os outros roteadores no limite (que escutaram dife-
velar suas métricas internas. Essa é uma das rnaneiras pelas rentes rotas dos roteadores aos quais estão conectados ern
quais os protocolos de roteamento interdomínio diferem outros ISPs). Cada um precisa decidir qual rota nesse con-
dos intradomínio. junto é a melhor. Por fi1n, a resposta é que fica a critério do
Até aqui, vimos como um anúncio de rota é enviado ISP escrever alguma política para escolher a rota preferida.
pelo enlace entre dois TSPs. Ainda precisa1nos de alguma Contudo, essa explicação é n1uito genérica e não satisfaz de
maneira para propagar as rotas BGP de um lado do ISP para forma alguma, de rnodo que podemos pelo menos descre-
o outro, de modo que possatn ser enviadas para o próximo ver algurnas estratégias comuns.
ISP. Essa tarefa poderia ser tratada pelo protocolo intrado- A primeira estratégia é que as rotas por redes peering
mínio, 1nas, co1no o BGP é 1nuito bom na expansão para re- são escolhidas em preferência às rotas por meio de prove-
des grandes, normalmente se utiliza uma variante dele. Ela dores de acesso. As primeiras são gratuitas; as últin1as têm
é chamada de BGP interno, ou iBGP (internai BGP), para un1 custo monetário. Uma estratégia semelhante é que as
distingui-la do uso regular do BGP, como BGP externo, ou rotas do cliente recebem preferência mais alta. Só é bom
eBGP (externai BGP). negócio enviar o tráfego diretamente para os clientes que
A regra para propagar rotas dentro de un1 ISP é que estão pagando.
cada roteador no limite do ISP descobre todas as rotas vis- U1n tipo diferente de estratégia é a regra padrão de que
tas por todos os outros roteadores de limite, por consistên- os caminhos de AS 1nais cu1ios são melhores. Isso é discutí-
cia. Se um roteador de limite no ISP descobrir um prefixo vel, pois um AS poderia ser uma rede de qualquer tamanho,
para o IP 128.208.0.0/ 16, todos os outros roteadores des- de modo que o caminho por três ASs pequenos poderia ser
cobrirão esse prefixo. Este poderá, então, ser alcançado a mais curto do que um carninho por um AS grande. Todavia,
314 Redes de computadores

em n1édia, mais curto costuma ser melhor, e essa regra é u1n 5. Prefira rotas com o custo de caminho IGP mais curto
critério de dese1npate co1num. para o endereço IP do próximo hop na rota BGP (onde
A estratégia final é preferir a rota que tem o n1enor o endereço IP do próximo hop normalmente é aquele
custo dentro do ISP. Essa é a estratégia implementada na do roteador de borda).
Figura 5.69. Os pacotes enviados de A para C saem de AS!
no roteador de cima, Ria. Os pacotes enviados de B saem Essas etapas de seleção de rota prosseguem em se-
pelo roteador de baixo, RIb. O motivo é que tanto A quan- quência até que o roteador escolha uma única rota para
to B estão tomando o caminho com menor custo ou a rota cada prefixo IP. O roteador executa o processo descrito
mais rápida para fora de AS/. Por estarem localizados em anteriormente para cada prefixo fP em sua tabela de rote-
partes diferentes do ISP, a saída niais rápida para cada u1n é amento. Embora essa ordem pareça extensa e complicada,
diferente. A 1nesma coisa acontece quando os pacotes pas- ela é bastante intuitiva. O valor de preferência local para
san1 por AS2. Na última perna, ASJ precisa transportar o cada rota é um valor que a operadora de rede local pode
pacote de B passando por sua própria rede. definir e pern1anccc interno a esse AS. Por ter a maior pre-
Essa estratégia é conhecida como saída antecipada cedência entre as regras de seleção de rota, pennite que um
ou rotean1ento "batata quente". Ela te1n o efeito cola- operador i111ple1nente os tipos de preferências e prioridades
teral curioso de tender a tornar as rotas assitnétricas. Por de rota que discutin1os anteriorn1ente nesta seção (p. ex.,
exemplo, considere o caminho seguido quando C envia un1 preferindo uma rota aprendida de u1n cliente em vez de uma
pacote de volta para 8. O pacote sairá de ASJ rapidamente, rota de peering se1n acordo). Após essa regra, as demais
no roteador de cima, para evitar desperdiçar seus recursos. geralmente envolvem a seleção de rotas curtas, bem como
De modo semelhante, ele pennanecerá no topo quando AS2 uma forma de implementar o rotea1nento com saída ante-
lhe passar para AS/ o mais rapidamente possível. Depois, o cipada, conforme descrito anterionnente. Por exe1nplo, a
pacote terá uma viage1n mais longa etn AS/. Essa é a ima- preferência por uma rota aprendida de um AS externo em
gem-espelho do ca1ninho seguido de B até C. vez de u1n roteador interno é uma tentativa de implementar
Essa discussão deverá deixar claro que cada roteador a saída antecipada. De 1nodo semelhante, a preferência por
BGP escolhe sua melhor rota a partir das possibiLidades co- uma rota com um custo de caminho lGP mais curto para o
nhecidas. Não acontece, como se poderia esperar de fonna roteador de borda também é uma tentativa de implementar
ingênua, de o BGP escolher um caminho a seguir no nível a saída antecipada.
do AS e o OSPF escolher ca1ninbos dentro de cada um dos O interessante é que só arranhan1os a superfície do
ASs. O BGP e o protocolo de gateway interior estão mui- BGP. Para obter mais infonnações, consulte a especificação
to mais profundamente integrados. Isso significa que, por do BGP versão 4 na RFC 4271 e nas RFCs relacionadas.
exemplo, o BGP pode encontrar o melhor ponto de saída Contudo, observe que grande parte de sua complexidade
de urn ISP para o próxi1no nesse ponto, e variará pelo TSP, está nas políticas, que não são descritas na especificação do
como no caso da política "batata quente". Isso também sig- protocolo BGP.
nifica que os roteadores BGP e1n diferentes partes de um
AS podcn1 escolher diferentes ca1ni11J1os de AS para alcan- Engenharia de tráfego interdomínio
çar o 1nesn10 destino. O ISP deve ter o cuidado de configu-
rar todos os roteadores BGP para fazer escolhas co1npalí- Confonne já foi dito anteriormente neste capítulo, os opera-
veis, dada toda essa liberdade, mas isso pode ser feito na dores de rede gera lmente precisa1n ajustar os parâ1netros e
' . a configuração dos protocolos de rede para controlar a uti-
pratica.
Essas políticas são itnplernentadas com diversas con- lização e o congestionamento. Essas práticas de engenharia
figurações e definições do protocolo. O principal aspecto de tráfego são co1nuns cotn o BGP, em que um operador
dessa n1ecânica, que vale a pena entender, é o processo de pode querer controlar con10 ele seleciona as rotas para con-
seleção de rota, que pennitc a um roteador selecionar uma trolar como o tráfego entra na rede (engenharia de tráfego
rota para um destino da internet, dadas múltiplas opções. de entrada) ou con10 ele sai da rede (engenharia de trá-
A seleção de rota prossegue com as seguintes etapas: fego de saída).
A maneira mais comum de realizar a engenharia de
1. Prefira a rota com o valor de preferência local mais alto.
tráfego de entrada é ajustando o modo como os roteadores
2. Prefira a rota com o comprimento de caminho de AS definem o atributo de preferência local para rotas indivi-
mais curto. duais. Ao definir urn valor de preferência local mais alto
3. Prefira rotas descobertas por conexões externas (i.e., para todas as rotas aprendidas de um detenninado AS do
via eBGP) àquelas descobertas por conexões internas cliente, por exemplo, um operador pode garantir que as
(i.e., via iBGP). rotas do cliente seja1n escolhidas, diga1nos, no lugar de
4. Entre as rotas aprendidas pelo 1nes1no AS vizinho, uma rota de trânsito sempre que a rota do cliente existir.
prefira aquelas com o menor valor de discriminador A engenharia de tráfego de entrada é mais complicada, por-
de 1núltipla saída (MED). que o BGP não pennite que um AS diga a outro AS como
Capítulo 5 • A camada de rede 315

selecionar rotas (daí o non1e, autônon10). No entanto, un1a é necessário. Mas, primeiro, os roteadores de 1nulticast
operadora pode enviar sinais indiretos aos roteadores em precisam saber quais hosts são membros de um grupo.
redes vizinhas para controlar como eles selecionam as ro- Um processo pede ao seu host para se juntar a um grupo
tas. Uma maneira comum de fazer isso é aumentar artifi- específico. Ele ta1nbé1n pode pedir a seu host para sair do
ciahnente o co1npri1nento do caminho do AS, repetindo o grupo. Cada host registra a quais grupos seus processos
próprio AS da rede várias vezes no anúncio de rota, uma pertencem atualn1ente. Quando o últi1no processo em um
prática chamada prefixo do caminho do AS. Outro artifi- host sai de um grupo, ele não é mais um membro desse gru-
cio é aproveitar a correspondência de prefixo mais longa e po. Cerca de uma vez por minuto, cada roteador multicast
si1nplesmente dividir um prefixo e1n vários menores (1nais envia u1n pacote de consulta a todos os hosts e1n sua LAN
longos), para que os roteadores upstream prefiram as rotas (usando o endereço de multicast local 224.0.0. l , natural-
com prefixos mais longos. Por exemplo, uma rota para um mente), pedindo a eles que informem de volta os grupos
prefixo /20 poderia ser dividida em rotas para dois prefi- aos quais pertencem atualmente. Os roteadores de multicast
xos /21, quatro prefixos /22, e assim por diante. No entanto, pode1n ou não estar localizados corn os roteadores padrão.
essa técnica tem algum custo, pois pode aumentar o tama- Cada host envia respostas de volta para todos os endere-
nho das tabelas de roteamento e, além de um dete1minado ços de classe D em que está interessado. Esses pacotes de
comprin1ento, os roteadores filtrarão os anúncios. consulta e resposta utilizam um protocolo chamado proto-
colo de gerenciamento de grupo da Internet, ou IGMP
(Internet Group Management Protocol), descrito na
5.7.8 Multicast na Internet RFC 3376.
A comun icação IP normal é feita entre un1 trans1nissor e Qualquer un1 dos diversos protocolos de rotea1nento
u1n receptor. Todavia, para algumas aplicações, é útil que multicast pode ser usado para criar spanning trees de mul-
u1n processo seja capaz de enviar dados para um grande ticast que oferecem ca1ninhos dos transmissores para todos
número de receptores simultaneamente. Alguns exem- os membros do gn1po. Os algoritmos usados são aqueles
plos são o strea1ning de um evento esportivo ao vivo para que descreven1os na Seção 5.2.8. Dentro do AS, o proto-
muitos espectadores, oferecendo atualizações de pro- colo principal usado é o multicast independente de pro-
grama a um pool de servidores replicados, e tratando de tocolo, ou PIM (Protocol Independent Multicast), que
chamadas telefônicas de conferência digital (ou seja, e1n pode ser de vários tipos. No Dense Mode PTM, cria-se uma
múltiplas partes). árvore de enca1ninhamento podada de caminho reverso.
O IP oferece suporte para a comunicação um para Isso é adequado para situações e1n que os 1ne1nbros estão
muitos, ou multicasting, usando endereços IP de classe D. en1 toda a parte da rede, co1no ao distribuir arquivos para
Cada endereço de classe D identifica um grupo de hosts. muitos servidores dentro da rede de um centro de dados.
Vinte e oito bits estão disponíveis para identificar os gru- No Sparse Mode PIM, as spanning trees criadas são se-
pos, de modo que 1nais de 250 1nilhões de grupos pode1n melhantes às árvores baseadas e1n núcleo. Isso é adequado
existir ao 1nesmo tempo. Quando um processo envia um para situações con10 um provedor de conteúdo realizando
pacote para um endereço de classe D, é feita uma tentativa o nlulticasting de TV para os assinantes em sua rede IP.
pelo rnelhor esforço para entregá-lo a todos os membros do Un1a variante desse projeto, chamada Source-Specific
grupo endereçado, mas nenhuma garantia é dada. Alguns Multicast PIM, é oti1nizada para o caso en1 que existe ape-
membros podem não receber o pacote. nas um transmissor para o gn1po. Finalmente, as extensões
A faixa de endereços IP 224.0.0.0/24 é reservada para do multicast ao BGP ou túneis precisam ser usadas para
multicast na rede local. Nesse caso, nenhum protocolo de criar rotas multicasting quando os membros do grupo estão
roteamento é necessário. Os pacotes são trans1nitidos por em mais de u1n AS.
multicast simplesmente transn1itindo-os na LAN con1 um
endereço de multicast. Todos os hosts na LAN recebem os
broadcasts, e os hosts que são membros do grupo proces-
sam o pacote. Os roteadores não encaminham o pacote pela 5.8 POLÍTICA NA CAMADA DE REDE
LAN. Alguns exemplos dos endereços de 1nulticast locais
são: O gerenciamento de tráfego se tomou um tópico relacio-
nado à política nos últi1nos anos, à medida que o tráfego
224.0.0.1 Todos os sistemas em tuna LAN de streaming de vídeo se tornou uma fração do1ninante do
224.0.0.2 Todos os roteadores e1n uma LAN tráfego geral e a interconexão da Internet tomou-se cada
224.0.0.5 Todos os roteadores OSPF em uma LAN vez mais direta entre provedores de conteúdo e redes de
acesso. Dois aspectos da camada de rede relacionados à po-
224.0.0.251 Todos os servidores de DNS em urna LAN
lítica são as disputas entre pares e a priorização de tráfego
Outros endereços de multicast pode1n ter n1e1nbros em (às vezes associada à neutralidade da rede). Discutiremos
redes diferentes. Nesse caso, um protocolo de roteamento cada um desses aspectos a seguir.
316 Redes de computadores

5.8.1 Disputas entre pares atinge o domínio da política. Um aspecto central do geren-
ciamento de tráfego é a priorização do tráfego sensível à
Embora o BGP seja um padrão técnico, em última análise, latência (p. ex., jogos e vídeo interativo) para que a alta
a interconexão equivale a dinheiro de roteamento. O trá- utilização de outros tipos de tráfego (p. ex., a transferên-
fego flui ao longo de ca1ninhos que tomam o provedor de cia de um grande arquivo) não resulte en1 uma experiência
serviços e as redes de trânsito mais rentáveis; pagar pelo geral ruim para o usuário. Algumas aplicações, como trans-
trânsito é considerado um últi1no recurso. O peering sem ferências de arquivos, não exigem interatividade, enquanto
acordo, é claro, depende de an1bas as partes concordarem aplicações interativas geralmente exigem baixas latências e
que a interconexão é n1utua1nente benéfica. Quando u1na jitter (variação dos atrasos).
rede sente que está fechando o negócio, ela pode pedir à Para alcançar u1n bom desempenho para uma con1bi-
outra rede que pague. A outra rede de conexão pode concor- nação de tráfego de aplicações, os operadores de rede ge-
dar ou recusar, mas se as negociações fore1n interron1pidas, raln1ente institue1n várias formas de priorização de tráfego,
isso resultará na chamada disputa de peering. incluindo métodos como as abordagens de enfileiramento
Un1a disputa de peering de alto nível ocorreu há alguns justo ponderado descritas anteriormente. Além disso, con-
anos. Nos últirnos anos, grandes provedores de conteúdo fonne discutido, as versões 1nais recentes do DOCSIS terão
têm enviado tráfego suficiente para congestionar qualquer suporte para colocar o tráfego de aplicações interativas em
enlace de interconexão. Em 20 13, grandes provedores de fi las de baixa latência. O trata1nento diferenciado em dife-
vídeo estavam congestionando enlaces de interconexão en- rentes tipos de tráfego da aplicação pode, na verdade, resul-
tre provedores de trânsito e redes de acesso residenciais. tar em melhor qualidade da experiência para certas aplica-
Em última análise, o tráfego de streaming de vídeo esgo- ções, sem afetar negativamente a qualidade da experiência
tou a capacidade desses enlaces, criando uma utilização tão para outras classes de aplicações.
grande nos enlaces de interconexão que era difícil para as
Contudo, a priorização começa a ficar mais compli-
redes de acesso resolverem sem ter de provisionar capa- cada se e quando o dinheiro muda de mãos. O terceiro
cidade extra. A questão então passou a ser quem deveria trilho na política da Internet é a priorização paga, pela
pagar pelo aumento da capacidade da rede. No fmal, em
qual uma parte pode pagar a um provedor de serviços de
1nuitos casos, os grandes provedores de conteúdo acaba-
Internet para que seu tráfego receba prioridade mais alta
ram pagando às redes de acesso pela interconexão direta,
do que outro tráfego concorrente do n1esmo tipo de apli-
efetivamente um acordo de peering pago, confom1e discu- cação. Essa priorização paga pode ser vista como um com-
timos anteriormente neste capítulo. Muitos interpretaram portamento anticompetitivo. Em outros casos, wna rede de
erroneamente essas circunstâncias con10 algo relacionado
trânsito com un1a oferta de serviço específica (p. ex., ví-
à perda de priorização igualitária ou ao bloqueio do tráfego
deo ou voz sobre 1P) pode priorizar seu próprio serviço em
de vídeo. Na verdade, os incidentes resultaram de disputas
relação aos serviços de concorrentes. Por exemplo, certa
comerciais sobre qual rede devería ser responsável pelo pa- vez, a AT&T bloqueou as cha1nadas de vídeo do FaceTi-
gamento para fornecer pontos de interconexão. Para obter n1e. Por esses 1notivos, a priorização pode muitas vezes ser
mais infonnações sobre disputas de peering e como elas são
u1n ponto sensível e1n discussões sobre neutralidade da
tratadas, consu lte The Peering Playbook (Norton, 20 12).
rede. O conceito de neutralidade da rede tem implicações
As disputas de pccring são tão antigas quanto a Inter-
jurídicas e políticas co111plexas, que vão além do escopo de
net co1nercial. Como uma fração 1naior do tráfego na Inter- um livro-texto técnico sobre redes, mas as regras claras
net passa por interconexões privadas, entretanto, a nature- geralmente aceitas são:
za dessas disputas provavelmente evoluirá. Por exemplo,
redes de acesso residencial atualmente enviam uma fração 1. Sem bloqueio.
n1uito alta de seu próprio tráfego para as mesmas nuvens 2. Sem supressão.
distribuídas onde outro conteúdo está hospedado. Portanto, 3. Sem priorização paga.
não é do interesse deles pennitir que as interconexões com
essas plataformas de nuvem distribuídas experimentem 4. Divulgação de qualquer prática de príorízaçào.
uma alta utilização. Há pouco tempo, algumas operadoras Qualquer política de neutralidade de rede geralmen-
chegaran1 a prever a morte total das conexões de trânsito te também permite exceções para práticas razoáveis de
(Huston, 2018). Resta saber se isso vai acontecer, mas nem gerencia1nento de rede (p. ex., priorização para 1nelhorar
é preciso dizer que a dinâmica de peering, interconexão e a eficiência da rede, bloqueio ou filtragem por motivos
trânsito continua a evoluir rapidarnente. de segurança na rede). O que constitui "razoável" mui-
tas vezes é deixado para os advogados decidirem. Outra
questão política e lega l é quem (ou seja, qual agência do
5.8.2 Priorização de tráfego governo) decide quais são as regras e quais devem ser as
A priorização de tráfego, dos tipos que discutimos anterior- penalidades por infringi-las. Alguns aspectos dos deba-
mente neste capítulo, é u1n te1na complicado, que às vezes tes sobre a política de neutralidade da rede nos Estados
Capítulo 5 • A camada de rede 317

Unidos, por exen1plo, são sobre se un1 provedor de ser- un1 pacote passa por uma rede hostil, n1as, se as redes de
viços de Internet é mais semelhante a uma empresa de origem e de destino forem diferentes, essa estratégia não
serviços de telefonia (p. ex., AT&T) ou a um provedor de funcionará.
infonnações e conteúdo (p. ex., Google). Dependendo da A Internet te111 un1a rica variedade de protocolos re-
resposta a essa pergunta, diferentes agências do governo lacionados à camada de rede. Entre eles, encontram-se o
pode1n definir as regras sobre tudo, desde a priorização à protocolo de datagrama, o IP e os protocolos de contro-
privacidade. le, como ICMP, ARP e DHCP, associados. Um protocolo
orientado à conexão, chamado MPLS, transporta pacotes
IP por algumas redes. Um dos principais protocolos de ro-
teamento usado dentro das redes é o OSPF, e o protocolo
5.9 RESUMO de roteamento usado entre as redes é o BGP. A Internet está
esgotando rapidamente os endereços IP, de modo que foi
A camada de rede fornece serviços à camada de transporte. desenvolvida uma nova versão do IP, o IPv6, que ainda está
Ela pode se basear em circuitos virtuais ou em datagran1as. sendo lentamente implementado.
En1 a1nbos os casos, sua principal tarefa é rotear pacotes da
origem até o destino. Nas redes de datagra1nas, uma deci-
são de roteamento é tomada para cada pacote. Nas redes de
circuitos virtuais, ela é tomada quando o circuito virtual é PROBLEMAS
estabelecido.
Muitos algoritmos de roteamento são usados nas re- 1. Existe1n circunstâncias em que o serviço orientado a co-
des de co1nputadores. O flooding é um algoritn10 simples nexões entregará (pelo 1nenos, deveria) pacotes fora de or-
para enviar um pacote por todos os caminhos. A maioria dem? Explique.
dos algoritmos encontra o caminho mais curto e se adapta 2. Considere o seguinte problema de projeto referente à im-
às mudanças na topologia da rede. Os algoritmos principais ple1nentação do serviço de circuito virtual. Se os circuitos
são o rotean1ento por vetor de distância e o roteamento de virtuais forem usados interna111ente à rede, cada pacote de
estado de enlace. A maioria das redes reais utiliza u1n des- dados deverá ter um cabeçalho de 3 bytes e cada roteador
ses algoritmos. Outros assuntos importantes relacionados deve ter 8 bytes de annazenan1ento para identificação do
ao roteamento são o uso de hierarquia em grandes redes, o circuito. Se os datagramas foren1 usados interna1nente,
cabeçalhos de 15 bytes serão necessários, mas não será
roteamento de hosts móveis e o roteamento por broadcast,
necessário nenhum espaço de tabela no roteador. A capa-
multicast e anycast.
cidade de transmissão custa 1 centavo por 106 bytes, por
As redes podem faciln1ente se tomar congestionadas, hop. Un1a memória 1nuita rápida de urn roteador pode ser
au1nentando o atraso e a perda de pacotes. Os projetistas adquirida por 1 centavo por byte e é depreciada em dois
de rede tentam evitar o congestionamento projetando-a anos, considerando utna se1nana útil de 40 horas. Estatis-
para que tenha capacidade suficiente, escolhendo rotas não ticamente, u1na sessão é executada por l 000 segundos em
congestionadas, recusando-se a aceitar n1ais tráfego, sina- inédia, durante os quais 200 pacotes são transmitidos. Opa-
lizando as origens para reduzir a velocidade e escoando a cote médio requer quatro hops. Qual implementação é niais
carga. barata e em quanto?
A próxima etapa, além de lidar com o congestiona- 3. Mostre que o problema da contagem ao infmito mostrada
1nento, é tentar de fato alcançar a qualidade de serviço pro- na Figura 5.1 O(b) pode ser resolvido fazendo os roteadores
metida. Algumas aplicações se i1nporta1n n1ais com o throu- acrescentarem em seus vetores de distância o enlace de
ghput, enquanto outras se importam mais com o atraso e a saída para cada par de destino e custo. Por exemplo, na
flutuação. Os inétodos que podetn ser usados para fornecer Figura 5. IO(a), o nó C não apenas anuncia uma rota para A
com distância 2, 111as ta1nbém co1nunica que esse caminho
diferentes qualidades de serviço incluem u1na combinação
passa pelo nó B. Mostre as distâncias de todos os roteado-
de adequação de tráfego, reserva de recursos nos roteadores res para A depois de cada troca de vetor de distância, até
e controle de acesso. Entre as abordagens adotadas para ob- que todos os roteadores notem que A não pode mais ser
ter boa qualidade de serviço estão os serviços integrados da alcançado.
IETF (incluindo RSVP) e os serviços diferenciados. 4. Considere a rede da Figura 5.12(a). O roteainento por vetor
As redes apresentam diferenças e1n vários aspectos; de distância é usado e os seguintes vetores acabaram de en-
portanto, podem ocorrer proble1nas quando várias estão trar no roteador D: de A: (B: 5, E: 4); de B: (A: 4, C: 1, F: 5);
interconectadas. Quando diversas redes têm diferentes ta- de C: (B: 3, D: 4, E: 3); de E: (A: 2, C: 2, F: 2); de F: (B: 1,
manhos 1náximos de pacote, a fragmentação pode ser ne- D: 2, E: 3). Os custos dos enlaces de D para C e E são 3 e
cessária. Diferentes redes podem usar diferentes protocolos 4, respectiva1nente. Qual é a nova tabela de roteamento de
de rotea1nento internamente, mas precisa1n executar um D? Forneça a linha de saída a ser usada e o custo esperado.
'
protocolo con1um externan1ente. As vezes, os problemas 5. Considere a rede da Figura 5.7, mas ignore os pesos nas
podem ser superados efetuando-se o tunelamento quando linhas. Suponha que ela use o flooding como algoritmo de
318 Redes de computadores

rotea1nento. Se un1 pacote enviado por A até D te1n u1na pacote recebido até(!) saber que sua última trans1nissão
contage1n de hops máxima de 3, liste todas as rotas que ele ao longo do circuito virtual foi recebida com sucesso e (2)
seguirá. Info rme ta1nbén1 quantos hops de largura de banda ter u1n buffer livre. Para si1nplificar, suponha que os rotea-
ele consome. dores usem um protocolo stop-and-wait e que cada circuito
6. Cite unia heurística simples para localizar dois can1inbos virtual tenba u1n buffer dedicado a ele em cada sentido do
através de uma rede de detenninada orige1n para determina- tráfego. Se ele precisar de T segundos para transmitir um
do destino que possa sobreviver à perda de qualquer linha pacote (dados ou confinnação) e houver n roteadores no ca-
de comunicação (desde que existam dois desses ca1ninhos). 1ninho, qual será a taxa em que os pacotes serão entregues
Os roteadores são considerados suficientemente confiáveis; ao host de destino? Suponha que os erros de trans1nissão
portanto, não é preciso se preocupar com a possibi !idade sejam raros e que a conexão entre host e roteador seja infi-
de panes. nitamente rápida, de modo que não há gargalo.
7. Considere a rede da Figura 5.12(a). O rotea1nento por vetor 16. U1na rede de datagramas pern1ite que os roteadores elimi-
de distância é usado e os seguintes vetores acabarain de en- nem pacotes se1npre que precisarem. A probabilidade de um
trar no roteador C: de B: (5, O, 8, 12, 6, 2); de D: (16, 12, 6, roteador descartar um pacote é p. Considere o caso de um
O, 9, 1O); e de E: (7, 6, 3, 9, O, 4). Os custos dos enlaces de host de origen1 conectado ao roteador de origem, que está
C para B, D e E são 6, 3 e 5, respectivamente. Qual é a nova conectado ao roteador de destino que, por sua vez, está co-
tabela de rotean1ento de C? Fon1eça a interface de saída a nectado ao host de destino. Se u1n dos roteadores descartar
ser usada e o custo esperado. um pacote, o host de origem por fim sofrerá um ti1neout e
8. Explique a diferença entre roteamento, encaminhamento e fará novas tentativas. Se as linhas bost-roteador e roteador-
comutação. -roteador fossem contadas con10 hops, qual seria o nún1ero
1nédio de:
9. Na Figura 5.13, o OU booleano dos dois conjuntos de bits
(a) Hops que um pacote executa por trans1nissão?
ACF é 111 em cada linha. Trata-se de urna coincidência ou
ele é 1nantido en1 todas as redes, independenten1ente das (b) Transrnissões que um pacote cria?
circunstâncias? (c) Hops necessários por pacote recebido?
10. No roteamento hierárquico con1 4.800 roteadores, que ta- 17. Descreva duas diferenças i1nportantes entre o método ECN
1.uanhos de região e de agrupa1neoto devem ser escolhidos e o 1nétodo RED de prevenção de congestionamento.
para 1ni.nimizar o tan1anbo da tabela de roteamento no caso 18. Explique como as grandes transferências de arquivo pode-
de uma hierarquia de três ca1nadas? U1n bon1 ponto de par- riam degradar a latência observada por uma aplicação de
tida é a hipótese de que uma solução com k agn1pamentos jogos e pequenas transferências de arquivo.
de k regiões com k roteadores está próxima de ser ideal; isso 19. Uma possível solução para o problema anterior envolve
significa que k é aproxitnadamente a raiz cúbica de 4.800 1nodelar o tráfego de transferência de arquivos de modo que
(cerca de 16). Utilize um processo de tentativa e erro para ele nunca exceda uma certa taxa. Você decide 1nodelar o
verificar as combinações e1n que todos os três parâlnetros tráfego de modo que a taxa de envio nunca ultrapasse os
estão na vizinhança genérica de 16. 20 Mbps. Para itnple1uentar essa modelage1n, seria preci-
11. 'No texto foi declarado que, quando uni host n1óvel não está so usar um token bucket ou um leaky bucket, ou nenhu1n
en1 sua localização de orige1n, os pacotes enviados para deles funcionará? Qual deverá ser a taxa de escoa1nento do
sua LAN são interceptados pelo agente local nessa LAN. bucket?
E1n unia rede lP de uma LAN 802.3, de que maneira o agen- 20. Dado u1n transmissor enviando a 100 Mbps, você também
te local executa essa interceptação? gostaria de re1nover (controlar) o tráfego auto1naticamente
12. Observando a rede da Figura 5.6, quantos pacotes são gera- do transn1issor após 1 segundo. Qual deveria ser o ta1nanho
dos por broadcast de B, usando-se: do bucket e1n bytes?
(a) Encaminhamento pelo ca1ninbo inverso? 21. Um computador usa um token bucket com uma capacidade
(b) A árvore de escoan1ento? de 500 megabytes (MB) e tuna taxa de 5 MB por segundo.
13. Considere a rede da Figura 5.15(a). Imagine que u1na nova A rnáquina corneça a gerar 15 MB por segundo quando o
linha seja acrescentada entre F e G, mas que a árvore de bucket conté1n 300 MB. Quanto te1npo levará para enviar
escoa1nento da Figura 5. 15(b) pennaneça inalterada. Que 1000 MB?
rnudanças ocorrerão na Figura 5.15(c)? 22. Considere as filas de pacotes mostradas na Figura 5.29.
14. Considere dois hosts conectados por rneio de um roteador. Qual é a hora de término e a ordem de saída dos pacotes se
Explique co1no pode ocorrer congestionamento, 1nes1no a fila do meio, ern vez da fi la inferior, tiver um peso de 2?
quando os dois hosts e o roteador usam controle de fluxo, Ordene alfabeticamente os pacotes com a mesma hora de
rnas se1n controle de congestiona1nento. Depois explique término.
con10 o receptor pode ser sobrecarregado, mesn10 quando 23. ln1agine unia especificação de fluxo que possui u1n tan1a-
utiliza controle de congestionan1ento, n1as sem controle de nho máx i1no de pacote de 1000 bytes, uma taxa de token
fluxo. bucket de 1O1nilhões de bytes/s, um tamanho de token bucket
15. Como um possível mecanismo de controle de congestio- de 1 milhão de bytes e uma taxa de transmissão máxima de
namento em uma rede que utiliza circuitos virtuais inter- 50 milhões de bytes/s. Quanto tempo pode durar uma rajada
narnente, u1n roteador poderia privar-se de confirmar u1n na velocidade 111áxitna?
Capítulo 5 • A camada de rede 319

24. A rede da Figura 5.32 utiliza o RSVP com árvores de multi- 34. Enquanto os endereços IP são experimentados para redes
cast nos hosts 1 e 2. Suponha que o host 3 solicite um canal específicas, os endereços Ethernet não o são. Você conse-
de largura de banda de 2 MB/s para um fluxo proveniente gue i1naginar um bo1n 1notivo para isso acontecer?
do host 1 e outro canal de largura de banda de 1 MBis para 35. Um grande número de endereços IP consecutivos está dis-
uin fluxo do bost 2. Ao 1nesmo te1npo, o bost 4 solicita um ponível a partir de 198.16.0.0. Suponha que quatro organi-
canal de largura de banda igual a 2 MB/s para um fluxo do zações, A, B, C e D , solicite1n 4.000, 2.000, 4.000 e 8.000
host 1, e o host 5 solicita um canal de largura de banda de endereços, respectiva1nente, e nessa ordem. Para cada unia
J MB/s para um fluxo vindo do host 2. Qual será a largura delas, forneça o primeiro endereço 1P atrib uído, o último
de banda total reservada para essas solicitações nos rotea- endereço IP atribuído e a máscara na notação ~v.x.y.zls .
dores A, B, C, E, H , J, K e L?
36. Un1 roteador acabou de receber estes novos endereços IP:
25. U1n roteador pode processar 2 1nilhões de pacotes/s. A car- 57.6.96.0/21, 57.6.1 04.0/21, 57.6.112.0/21 e 57.6.120.0/2 1.
ga oferecida a ele é de 1,5 milhão de pacotes/s em 1nédia. Se todos usarem a mes1na linha de saída, eles poderão ser
Se uma rota da orige1n até o destino contiver 1Oroteadores, agregados? Em caso afirmativo, por quê? Em caso negati-
quanto teinpo será gasto no enfileiramento e no envio pelo vo, por quê?
roteador?
37. O conjunto de endereços IP de 29.1 8.0.0 até 29.18. 127.255
26. Considere o usuário de serviços diferenciados con1 encan1i- foi agregado a 29.18.0.0/ 17. Contudo, existe uma lacuna
nhamento expresso. Existe alguma garantia de que os paco- de 1.024 endereços não atribuídos, desde 29.18.60.0 até
tes expressos experimentarão u1n atraso mais curto que os 29.18.63.255, que agora são repentinan1ente atribuídos
pacotes regulares? Por quê? a un1 host que utiliza uma linha de saída diferente. Agora
27. Suponha que o host A esteja conectado a um roteador R 1, é necessário dividir o endereço agregado em seus blocos
que R 1 esteja conectado a outro roteador R2, e que R2 este- constituintes, acrescentar o novo bloco à tabela e, depois,
ja conectado ao host B. Suponha que uma mensagem TCP verificar se é possível u1na reagregação? Em caso contrário,
contendo 900 bytes de dados e 20 bytes de cabeçalho TCP o que poderia ser feito?
seja repassada ao código lP do host A para ser entregue a 38. Considere três roteadores, A, B e C. O roteador A anuncia ro-
B. Mostre os campos Ta111anho tola/, Identificação, DF, tas para os intervalos de endereços 37.62.5.0/24, 37.62.2.0/23
MF e Desloca1nento de ji·ag1nento do cabeçalho IP em cada e 37.62.128.0/ 17. O roteador B anuncia rotas para os interva-
pacote transmitido pelos três enlaces. Suponba que o enla- los de endereços 37.61.63.0/24 e 37.62.64.0/ 18. Esses dois
ce A-RI possa admitir u1n tamanho máximo de quadro de roteadores agregam esses intervalos e anuncia1n o resultado
1.024 bytes, incluindo un1 cabeçalho de quadro de 14 bytes, ao roteador C. Mostre o co1nportan1ento do rotea1nento in-
que o enlace R 1-R2 possa admitir tnn tan1anho 1náxi1no de correto que resulta se a tabela de roteainento de C tiver ape-
quadro de 512 bytes, incluindo um cabeçalho de quadro de nas esses dois intervalos de endereços agregados. O que os
8 bytes, e que o enlace R2-B possa admitir u1n tamanho má- roteadores pode1n fazer para in1pedir que isso aconteça?
ximo de quadro de 512 bytes, incluindo um cabeçalho de
39. Muitas empresas adota1n a política de manter dois (ou mais)
quadro de 12 bytes.
roteadores para estabelecer conexão com a Internet, a fin1
28. U1n roteador está transmitindo pacotes 1P cujo con1primen- de proporcionar algun1a redundância no caso de un1 deles
to total (dados mais cabeçalho) é de 1.024 bytes. Supondo ficar inativo. Essa política ainda será possível com a NAT?
que os pacotes tenba1n a duração de 1Osegundos, qual será Explique sua resposta.
a velocidade máxi1na de linha em que o roteador poderá
40. Você deseja jogar co1n seu amigo na internet. Seu an1igo
operar se1n o perigo de percorrer o espaço de números de
está executando um servidor de jogos e fornece o número
identificação de datagran1as do IP?
da porta e1n que o servidor está escutando. Suponha que sua
29. Un1 datagraina IP usando a opção Strict source routing tem rede e a de seu amigo estejam separadas da Internet por uma
de ser fragmentado. Para você, a opção é copiada para cada NAT. O que a NAT faz com os pacotes de entrada que você
fragmento ou basta colocá-la no pri1neiro frag1nento? Ex- envia? Co1no esse problema pode ser evitado sem re1nover
plique sua resposta. as NATs?
30. Suponha que, e1n vez de ser utilizados 16 bits na parte 4 l. Duas n1áquinas na mesn1a rede tentain usar o mes1no nú-
de rede de un1 endereço de classe B, tenha1n sido usados 1nero de porta para se con1unicar co1n u1n servidor em outra
20 bits. Nesse caso, existira1n quantas redes da classe B? rede. Isso é possível? Explique o n1otivo. O que n1udaria se
31. Converta o endereço IP cuja representação hexadecimal é essas máquinas estivessem separadas das outras redes por
C22F 1582 en1 tuna notação decimal com pontos. u1na NAT?
32. Dois dispositivos habilitados para !Pv6 desejan1 se co- 42. Você acabou de explicar o que é u1n protocolo A.RP a un1
municar pela Internet. Infelizmente, o ca1ninbo entre amigo. No final , ele diz: "Entendi. Como o ARP forne-
eles inclui uma rede que ainda não implementou o IPv6. ce um serviço à camada de rede, isso significa que ele
Elabore uma fonna para que os dois dispositivos se faz parte da camada de enlace de dados". O que você diz
comuniquem. a ele?
33. Uma rede na Internet tem uma máscara de sub-rede 43. Você conecta o seu smartphone á rede WiFi em sua casa,
255.255.240.0. Qual é o número máximo de hosts que ela a qual é criada pelo modetn obtido do seu provedor. Usan-
aceita? do DHCP, seu celular obtém o endereço lP 192.168.0.103.
320 Redes de computadores

Qual é o provável endereço IP de orige1n da 1nensage1n que é decrementado a cada hop. Quando o contador chegar
DHCPOFFER? a zero, o pacote será descartado. O tempo é discreto, co1n
44. Descreva uma forma de remontar os fragmentos IP no cada linha tratando de um pacote a cada intervalo. Crie três
destino. versões do programa: todas as linhas sofrem floodi ng, to-
45. A 1naioria dos algorittnos de remontagem do datagra1na IP das as linhas co111 exceção da de entrada sofrem tlooding, e
tem u1n tÍlner para evitar que um fraginento perdido seja son1ente as k melhores linhas (escolhidas estatistica1nente)
anexado definitivan1ente aos buffers de re1nontage1n. Su- sofre1n flooding. Compare o algorihno de flooding com o
roteamento determinístico (k = 1) em tennos de atraso e de
ponha que un1 datagrama te nha sido dividido em quatro
largura de banda utilizada.
fragmentos. Os três primeiros chegam, mas o último deles
está atrasado. A certa altura, o timer é desativado e os três 53. Crie um programa capaz de simular urna rede de computa-
fragmentos contidos na me1nória do receptor são descarta- dores usando tempo discreto. O primeiro pacote de cada fila
dos. Logo depois, chega o último frag1nento. O que deve ser do roteador cria um hop por intervalo. Cada roteador te1n
feito com ele? apenas un1 número finito de buffers. Se u1n pacote chegar e
não houver espaço, ele será descartado e não será re1rans-
46. No IP, o checksum abrange apenas o cabeçalho, não os da-
1nitido. Eu1 vez disso, há um protocolo ponto a ponto con1-
dos. Para você, por que essa estrutura foi escolhida?
pleto, con1 intervalos de timeout e pacotes de confinnação,
47. Uma pessoa que mora em Boston viaja para Minneapolis que en1 algu1n n10111ento regenera o pacote do roteador de
levando consigo seu computador portátil. Para sua surpresa, origem. Represente o throughput da rede como uma função
a LAN no seu destino em Minneapolis é do tipo IP sem do intervalo de timeout ponto a ponto, paran1etrizado pela
fio; portanto, ela não precisa se conectar. Mes1110 assi1n, taxa de erros.
será preciso percorrer toda a empresa co1n agentes locais
54. Crie un1a função para realizar o encaminhatnento em um
e exte111os para fazer os e-n1ails e outros tipos de tráfego
roteador IP. O procedimento te1n um único parâinetro, um
chegarem corretamente?
endereço IP. Ele també1n tem acesso a u1na tabela global
48. O 1Pv6 utiliza endereços de 16 bytes. Se utn bloco de 1 n1i- que consiste em u1n an·ay de tliplas. Cada tripla contéo1 três
lhão de endereços for alocado a cada picossegundo, qual inteiros: u.1n endereço LP, uu1a nláscara de sub-rede e a linha
será a duração desses endereços? de saída a ser usada. A função pesquisa o endereço IP na
49. U1na das soluções que os ISPs usam para lidar co1n a es- tabela usando o CI DR e retorna com o seu valor e a linha
cassez dos endereços IPv4 é alocá-los dinamicamente aos que deverá ser usada.
seus clientes. Quando o 1Pv6 for totalmente in1plementa- 55. Use o programa traceroute (UNIX) ou o programa tracert
do, o espaço de endereços será grande o suficiente para dar (Windows) para traçar a rota desde seu computador até vá-
a cada dispositivo un1 endereço exclusivo. Para reduzir a rias universidades em outros continentes. Faça uma lista
con1plexidade do sistema, os endereços 1Pv6 poderiam ser dos enlaces transoceânicos que você descobrir. Alguns sites
atribuídos aos dispositivos de fonua pennanente. Explique que você deve tentar são:
por que esta não é uma boa solução.
~vwtv.berkeley.edu (Califórnia)
50. O campo Protocolo usado no cabeçalho do 1Pv4 não é en-
tVWl·v.1nit. edu (Massachusetts)
contrado no cabeçalho fixo do 1Pv6. Por quê?
tv\vw.vu.11! (Amsterdã)
51. Quando o protocolo 1Pv6 é introduzido, o protocolo ARP
tem de ser alterado? Se houver necessidade de 1nudanças, tvwtv.ucl.ac.uk (Londres)
elas serão conceituais ou técnicas? tvww.usyd.edu.au (Sidney)
52. Crie u1n progra1na para siinular o rotea1nento usando o al- tv\vw.u-tokyo.acjp (Tóquio)
goritn10 de flooding. Cada pacote deve conter u1n contador tvww.uct.ac.za (Cidade do Cabo)
A camada de transporte

Com a ca1nada de rede, a ca1nada de transporte é o núcleo que, em geral, são processos presentes na can1ada de apli-
da hierarquia de protocolos. A camada de rede oferece re- cação. Para atingir esse objetivo, a camada de transporte
messa de pacotes fim a fi1n usando datagramas ou circui- utiliza vários serviços oferecidos pela can1ada de rede.
tos virtuais. A camada de transporte se baseia na ca1nada de O hardware/software da camada de transporte que execu-
rede para oferecer transporte de dados de um processo em ta o trabalho é chamado de entidade de transporte, que
uma máquina de origem a u1n processo em uma máquina de pode estar localizada no núcleo do sistema operacional, em
destino com uru nível de confiabilidade desejado indepen- um pacote da biblioteca vmculada às aplicações em rede,
denten1ente das redes tisicas ern uso no rnomento. Ela provê em outro processo do usuário ou na placa de interface de
as abstrações de que as aplicações precisan1 para usar a rede. rede. As duas primeiras opções são inais comuns na In-
Sem a camada de transporte, todo o conceito de protocolos ternet. O relacionamento (lógico) existente entre as cama-
em camadas faria pouco sentido. Neste capítulo, estudare- das de rede, de transporte e de aplicação está ilustrado na
mos en1 detalhes a camada de transporte, ben1 corno seus Figura 6.1.
serviços e a seleção de projeto de uma API para enfrentar Assim como existem dois tipos de serviço de rede - o
questões de confiabilidade, conexões e controle de conges- orientado a conexões e o não orientado a conexões - , tam-
tionamento, protocolos como TCP e UDP, e desempenho. bétn existem dois tipos de serviço de transporte. O serviço
de transporte orientado a conexões é semelhante ao serviço
de rede orientado a conexões em muitos aspectos. Em am-
6.1 O SERVIÇO DE TRANSPORTE bos os casos, as conexões têm três fases: o estabelecin1ento,
a transferência de dados e o encen·amento.
Nas próximas seções, apresentaremos uma introdução ao O endereçamento e o controle de fluxo tan1bén1 são
serviço de transporte. Veremos que tipo de serviço é ofe- semelhantes em ambas as camadas. Além disso, o serviço
recido à camada de aplicação. Para tornar mais concreta de transporte não orientado a conexões é semelhante ao ser-
essa questão, examinaremos dois conjuntos de prin1itivas viço de rede não orientado a conexões. Contudo, observe
da camada de transporte. Primeiro, estudaremos u1na pritni- que pode ser dificil oferecer um serviço de transporte não
tiva simples (mas hipotética) para mostrar as ideias básicas. orientado a conexões sobre um serviço de rede orientado
Em seguida, analisaremos a interface comumente utilizada a conexões, pois é ineficaz estabelecer uma conexão para
na Internet. enviar urn único pacote e encerrá-la irnediatarnente depois.
Diante disso, fazernos a seguinte pergunta: se o ser-
6.1.1 Serviços oferecidos às viço da camada de transporte é tão semelhante ao serviço
da camada de rede, por que há duas camadas distintas? Por
camadas superiores que uma só catnada não é suficiente? A resposta, embo-
O principal objetivo da camada de transporte é oferecer urn ra sutil, é de importância crucial. O código de transporte
serviço confiável, eficiente e econômico a seus usuários, funciona inteiramente nas máquinas dos usuários, mas a
322 Redes de computadores

Host 1 Host 2

Camada de
aplicação Camada
(ou sessão) Interface de aplicação/ de aplicação
Endereço de transporte (ou sessão)
_..- transporte
/
Segmento
Entidade de Entidade de
transporte transporte
Protocolo de
transporte
Endereço_..-
de rede
Camada de rede
' Interface de
transporte/rede Camada de rede

Figura 6.1 As camadas de rede, de transporte e de aplicação.

ca1nada de rede funciona principalmente nos roteadores, a conexões). Ocultar o serviço de rede por trãs de um con-
cuja operação é de responsabilidade da concessionária de junto de primitivas de serviço de transporte garante que a
comunicações (pelo nlenos no caso de un1a rede geografi- 1nudança da rede simples1nente requer substituição de u1n
camente distribuída). O que acontecerá se a camada de rede conjunto de procedimentos de biblioteca por outro que faça
oferecer um serviço inadequado? E se perder pacotes com a roestna coisa com um serviço subjacente diferente. É boro
frequência? O que acontecerá se os roteadores apresenta- ter aplicações independentes da camada de rede.
rem fa lhas ocasionais? Graças à camada de transporte, os desenvolvedores de
Problemas acontecen1. Os usuários não têm qualquer aplicações distribuídas e1n rede podeu1 escrever códigos de
controle real sobre a ca1nada de rede, portanto, não pode1n acordo com um conjunto de primitivas padrão e permitir
resolver o problema de u1n serviço ineficaz usando roteado- que esses programas funcionem em uma grande variedade
res nlelhores ou au1nentando o controle de erros na camada de redes, sem a preocupação de lidar co1n diferentes inter-
de enlace de dados, pois não têm roteadores. A única possi- faces de redes e níveis de confiabilidade. Se todas as redes
bilidade é colocar sobre a ca1nada de rede outra ca1nada que reais fossem perfeitas e tivessen1 as 1nesn1as primitivas de
melhore a qualidade do serviço. Se, e1n u1na rede não orien- serviço, e ainda a garantia de nunca mudar, provavelmente
tada a conexões, pacotes foren1 perdidos ou dani ficados, a ca1nada de transporte não seria necessária. Contudo, na
a entidade de transporte pode detectar o problema e com- vida real ela cumpre a função primordial de tornar as can1a-
pensá-lo usando retransmissões. Se, em uma rede orientada das superiores do projeto imunes à tecnologia, ao projeto e
a conexões, u1na entidade de transporte for informada no a imperfeições da rede.
meio de uma longa transmissão de que sua conexão de rede Por essa razão, muitas pessoas fazem distinção entre
foi encerrada de forma abrupta, sem nenhuma indicação do as can1adas de 1 a 4, por um lado, e as camadas aci1na de 4,
que ocorreu com os dados que estavam sendo transferidos, por outro. As quatro can1adas inferiores são consideradas o
ela poderá estabelecer u1na nova conexão de rede com a provedor de ser viços de transporte, enquanto as camadas
entidade de transporte re1nota. Usando essa nova conexão superiores constit:uen1 o usuário de serviços de transpor-
de rede, ela poderá perguntar à entidade remota quais dados te. Essa distinção entre provedor e usuário tem u1n in1pacto
chegaram e quais não chegaram, e depois retomar a trans- considerável sobre o projeto das camadas e coloca a can1a-
missão a partir da interrupção. da de transporte em uma posição-chave, pois ela representa
Em síntese, a existência de uma camada de transporte a principal fronteira entre o provedor e o usuário do serviço
toma o serviço de transporte mais confiável que o serviço de transmissão de dados confiável. Esse é o nível que as
de rede subjacente, que pode não ser tão confiável. Além aplicações veem.
disso, as prin1itivas do serviço de transporte poden1 ser in1-
plementadas sob a forma de chamadas a procedimentos de
biblioteca, a fim de torná-las independentes das primitivas
6.1.2 Primitivas do serviço de transporte
do serviço de rede. As chamadas do serviço de rede podem Para pennitir que os usuários tenha1n acesso ao serviço de
variar muito de uma rede para outra (p. ex., chamadas ba- transporte, a camada de transporte deve oferecer algumas
seadas em uma Ethernet não orientada a conexões podem operações aos prograrnas de aplicação, ou seja, uma inter-
ser 1nuito diferentes das cha1nadas em uma rede orientada face de serviço de transporte. Cada serviço de transporte
Capítulo 6 • A camada de transporte 323

tem sua própria interface. Nesta seção, veremos primeiro poucos usuários ou progra1nas vee1n a estrutura do serviço
um serviço de transporte (hipotético) simples e sua interfa- de rede. Por sua vez, muitos progran1as (e progran1adores)
ce, a fim de examinarmos os seus fundan1entos . Na próxi- veem as primitivas de transporte. Por isso, o serviço de
ma seção, estudare1nos u1n exemplo real. transporte deve ser conveniente e fácil de usar.
O serviço de transporte é se1nelhante ao serviço de Para ter uma ideia de como deve ser um serviço de
rede, 1nas existe1n algu1nas diferenças importantes entre transporte, considere as cinco primitivas apresentadas na
eles. A principal delas é que o serviço de rede representa o Figura 6.2. Essa interface de transporte é uma estrutura
modelo oferecido pelas redes reais, com todos os atributos. bem básica, mas denota o que uma interface de transpo11e
As redes reais podem perder pacotes, portanto, o serviço de orientada a conexões deve fazer. Ela permite aos programas
rede, e1n geral, não é confiável. aplicativos estabelecer, usar e encerrar conexões, o que é
Em contraste, o serviço de transporte orientado a suficiente para muitas aplicações.
conexões é confiável. E' óbvio que as redes reais não são Para entender como essas primitivas deve1n ser usa-
infalíveis, mas essa é exatamente a função da ca.1nada de das, considere uma aplicação com un1 servidor e u1na sé-
transporte - oferecer um serviço confiável sobre uma rede rie de clientes remotos. Primeiro, o servidor executa uma
não confiável. primitiva LISTEN, geralmente chamando um procedimen-
Como exemplo, considere dois processos em uma úni- to de biblioteca que emite uma chamada de sistema para
ca máquina, conectados por um canal (pipe) no UNIX (ou bloquear o servidor até que u1n cliente apareça. Quando um
qualquer outro serviço de comunicação entre processos). cliente quer se co1nunicar com o servidor, ele executa uma
Supomos que a conexão entre eles é perfeita, sem levar em primitiva CONNECT. Para executá-la, a entidade de trans-
consideração confirmações, pacotes perdidos, congestio- porte bloqueia o transmissor e envia um pacote ao servidor.
nan1entos, etc. Esses processos esperam ter uma conexão Encapsulada no campo carga útil desse pacote encontra-se
l 00% confiável. O processo A insere os dados em uma uma mensagen1 da camada de transporte destinada à entida-
extremidade do canal, e o processo B os recebe na outra. de de transporte do servidor.
O serviço de transporte orientado a conexões consiste em Faren1os agora algumas observações rápidas sobre a
ocultar as imperfeições do serviço de rede, de modo que os terminologia. Por falta de um termo 1nais adequado, usare-
processos do usuário possam simples1nente supor a existên- mos segmento para denominar as n1ensagens enviadas de
cia de um fluxo de bits livre de erros mesmo quando estão uma entidade de transporte a outra entidade de transpor-
e1n 1náquinas diferentes. te. TCP, UDP e outros protocolos da Internet utilizam esse
A propósito, a camada de transporte também pode ofe- termo. Alguns protocolos 1nais antigos usavam o desajei-
recer um serviço não confiável (de datagra1nas). Contudo, tado acrônimo TPDU (unidade de dados de protocolo de
há relativamente pouco a dizer sobre esse assunto além de transporte, do inglês Tra nsport Protocol Data Unit). Essa
que "são datagramas" e, assim, neste capítulo, vamos nos nomenclatura não é mais muito usada, mas você poderá
concentrar no serviço de transporte orientado a conexões. encontrá-la en1 artigos e livros n1ais antigos.
Apesar disso, há algumas aplicações, como a computação Portanto, os segmentos (trocados pela camada de
cliente-servidor e o streaming de multimidia, que se bene- transporte) estão contidos e1n pacotes (trocados pela can1a-
ficiam do serviço de transporte não orientado a conexões; da de rede). Por sua vez, os pacotes estão contidos em qua-
por essa razão, estudaremos alguns detalhes sobre ele mais dros (trocados pela camada de enlace de dados). Quando
adiante. um quadro chega, a camada de enlace de dados processa
A segunda diferença entre o serviço de rede e o servi- o cabeçalho do quadro e, se o endereço de destino combi-
ço de transporte está relacionada ao destinatário do serviço. na para a entrega local, transmite o conteúdo do campo de
Do ponto de vista das extremidades da rede, o serviço de carga útil do quadro à entidade de rede. Em seguida, a en-
rede só é usado pelas entidades de transporte. Poucos usuá- tidade de rede, de modo semelhante, processa o cabeçalho
rios criam suas próprias entidades de transporte, portanto, do pacote e envia o conteúdo do campo carga útil do pacote

Primitiva Pacote enviado Significado


LISTEN (nenhum) Bloqueia até algum processo tentar conectar
CONNECT CONNECTION REQ. Tenta ativamente estabelecer uma conexão
SEND DATA Envia informação
RECEIVE (nenhum) Bloqueia até que um pacote DATA chegue
DISCONNECT DISCONNECTION REQ. Solicita uma liberação da conexão

Figura 6.2 As primitivas para um serviço de transporte simples.


324 Redes de computadores

à entidade de transporte. Esse aninhan1ento é ilustrado na segmento DISCONNECT ser enviado à entidade de trans-
Figura 6.3. porte remota. Quando esse segmento chega a seu destino, a
Voltando ao exemplo de cliente-servidor, a cha1nada conexão é encerrada.
CONNECT do cliente envia un1 seg1nento CONNECTION Na variante simétrica, cada direção da comunicação é
REQUEST ao servidor. Quando o segmento chega, a en- encerrada separadamente e de for1na independente da outra.
tidade de transporte verifica se o servidor está bloqueado Quando u1na das pa11es executa tuna pri1nitiva DISCON-
e1n uma primitiva LISTEN (ou seja, pronto para ad1ninis- NECT, isso significa que não há mais dados a enviar, mas
trar solicitações). Em seguida, ela desbloqueia o servidor ainda é possível receber dados enviados pela outra parte.
e transmite um segmento CONNECTION ACCEPTED de Nesse modelo, a conexão só é encerrada quando os dois
volta para o cliente. Quando esse seg1nento chega a seu des- lados tivere1n executado uma primitiva DISCONNECT.
tino, o cliente é desbloqueado e a conexão é estabelecida. U1n diagra1na de estados para o estabelecin1ento e en-
Agora, é possível trocar dados utilizando-se as pri- cerramento de uma conexão co1n essas primitivas simples
mitivas SENO e RECEIVE. E1n sua forma mais simples, é mostrado na Figura 6.4. Cada transição é acionada por al-
qualquer uma das partes pode executar un1a primitiva RE- gum evento, seja ele uma primitiva executada pelo usuário
CEIVE (co1n bloqueio) para aguardar que a outra execu- de transporte local ou um pacote que chega. Por simplici-
te uma primitiva SEND. Quando o segmento chega a seu dade, supo1nos que cada segmento é confirmado separa-
destino, o receptor é desbloqueado. Em seguida, ele pode damente e que un1 modelo de desconexão simétrico está
processar o seg1nento e enviar uma resposta. Esse sisten1a sendo usado, com o cliente dando início ao procedimento.
funciona bem desde que as partes controlem de quem é a Cabe observar que esse modelo é muito simples. Veremos
vez de enviar os dados. adiante outros modelos n1ais realistas, quando descrever-
Cabe observar que, na camada de transporte, até mos o modo con10 o TCP funciona.
mesmo uma troca de dados simples e unidirecional é 1nais
complexa do que na camada de rede. Cada pacote de dados
enviado ta1nbé1n será confirmado (ao final). Os pacotes que
6.1.3 Soquetes de Berkeley
transpo11a1n segmentos de controle tambén1 são confirn1a- Agora, va1nos analisar resu1nidamente outro conjunto de
dos, de fom1a explícita ou in1plícita. Essas confrrmações prin1itivas de transporte, as pri1nitivas de soquetes de pro-
são gerenciadas por entidades de transporte que utiliza1n gramação usadas para o TCP. Os soquetes foram lança-
o protocolo da ca1nada de rede e não são visíveis para os dos inicialmente como parte da distribuição do software
usuários de transporte. Da mes1na forma, as entidades de UNIX 4.2BSD de Berkeley em 1983. Eles logo se torna-
transporte têm de lidar com timers e retransmissões. Esse ra1n populares. As prünitivas agora são bastante usadas
mecanismo também não é percebido pelos usuários de para progra1nação na Internet em muitos sistemas ope-
transporte. Para eles, uma conexão é um canal de bits con- racionais, especialmente sistemas baseados no UNIX, e
fiável: u1n usuário envia bits por uma das extremidades e existe uma API em estilo soquete para o Windows, cha-
eles são recebidos na outra co1no en1 u1n passe de mágica. n1ada "winsock".
A habilidade de ocultar sua complexidade é o que torna os Essas primitivas são mostradas na Figura 6.5. Em ge-
protocolos em camadas uma ferramenta tão útil. ral, elas segue1n o mesmo modelo do nosso prÍlneiro exem-
Quando u1na conexão não é 1nais necessária, ela deve plo, mas oferecem mais recursos e maior flexibilidade. Não
ser encen·ada para desocupar espaço na tabela alocada den- vamos mostrar os segmentos correspondentes a elas nesta
tro das duas entidades de transporte. O encerramento da seção; essa discussão ficará para mais adiante.
conexão tem duas variantes: assin1éh·ica e si1nétrica. Nava- As quah·o pri1neiras pri1nitivas na lista são executadas
riante assünétrica, qualquer um dos usuários de transpor- pelos servidores nessa mesn1a ordem. A primitiva SOCKET
te pode emitir uma prin1itiva DISCONNECT, fazendo um cria um novo ponto final e aloca espaço da tabela para ele

Cabeçalho Cabeçalho Cabeçalho


do quadro do pacote do segmento
,/
,
,
/
,..
/
/

Carga útil do segmento

Carga útil do pacote


Carga útil do quadro

Figura 6.3 Aninhamento de segmentos, pacotes e quadros.


Capítulo 6 • A camada de transporte 325

Segmento de solicitação Primitiva de conexão


de conexão recebido executada
I ... -----------------. IDLE
1
1
t
PASSIVE ACTIVE
ESTABLISHMENT ESTABLISHMENT
PENDING PENDING

: Primitiva de conexão Segmento de conexão
1
1
, ____ _________ ___.._
executada aceita recebido
ESTABLISHED


1
1
Segmento de solicitação : Primitiva de
~-P -A
---V
88 1 -E~ de desconexão : desconexão
ACTIVE
___ ...
recebido: executada
DISCONNECT
DISCONNECT ....----- ------
PENDING PENDING

1
1

·I
1
1

~~ ---- -p,:;;;,1t1,;;d~- - IDLE


Segmento de solicitação
desconexão executada ,_____ _ _ __, de desconexão recebido

Figura 6.4 Diagrama de estados para um esquema simples de gerenciamento de conexão. As transições identificadas em
itálico são causadas pela chegada de pacotes. As linhas contínuas mostram a sequência de estados do cliente. As linhas trace-
jadas mostram a sequência de estados do servidor.

na entidade de transporte. Os parârnetros da chamada espe- manter seus endereços (p. ex., eles vêm usando o mes1no
cificam o formato de endereçarne11to a ser usado, o tipo de endereço bá 1nuitos anos e todos já o conhecem).
serviço desejado (p. ex., u1n fluxo de bytes confiável) e o Em seguida, temos a charnada LISTEN, que aloca es-
protocolo. Uma chamada SOCKET bem-sucedida retorna paço para a fila de chamadas recebidas, caso vários clientes
um descritor de arquivo comum que será usado nas chan1a- tentem se conectar ao mesmo te1npo. Ao contrário da cha-
das subsequentes, exatamente como uma chamada OPEN mada LISTEN em nosso pri1neiro exemplo, no modelo de
sobre urn arquivo. soquetes, LTSTEN não é urna chamada de bloqueio.
Os soquetes recérn-criados não tên1 endereços de rede Para bloquear a espera por uma conexão de entrada,
- eles são atiibuídos através da primitiva BIND. Uma vez o servidor executa uma primitiva ACCEPT. Quando chega
que um servidor tenha designado um endereço para um so- um segmento solicitando uma conexão, a entidade de trans-
quete, os clientes remotos já podem se conectar a ele. Ara- porte cria u1n novo soquete com as 1nesmas propriedades do
zão para uma charnada SOCKET não criar um endereço original e reton1a um descritor de arquivo para ele. Em se-
diretamente é que alguns processos considerarn Ílnportante guida, o servidor pode desviar um processo ou un1a thread

Primitiva Significado
SOCKET Criar um novo ponto final de comunicação

BINO Associar um endereço local a um soquete

LISTEN Anunciar a disposição para aceitar conexões; mostrar o tamanho da fila

ACCEPT Estabelecer uma conexão de entrada passivamente

CONNECT Tentar estabelecer uma conexão ativamente

SENO Enviar alguns dados através da conexão

RECEIVE Receber alguns dados da conexão

GLOSE Encerrar a conexão

Figura 6.5 As primitivas de soquetes para TCP.


326 Redes de computadores

para tratar a conexão no novo soquete e voltar a esperar pela e não para todo o grupo, o que não é o ideal. Fica para a
próxin1a conexão no soquete original. ACCEPT retoma um aplicação o peso de gerenciar o conjunto. Alguns protoco-
descritor de arquivo nonnal, que pode ser usado para ler e los e interfaces têm sido criados para dar suporte a grupos
gravar da maneira padrão, co1no no caso de arquivos. de fluxos relacionados com mais eficiência e siinplicidade
Agora, va1nos ver o que acontece no lado cliente. Aqui para a aplicação. Dois exen1plos são SCTP (Stream Con-
ta1nbé1n é preciso criar primeiro um soquete usando a pri- trol Transmission Protocol), definido na RFC 4960 (Ford,
mitiva SOCKET, mas a primitiva BIND não é necessária, 2007), e QUIC (discutido 1nais adiante). Esses protocolos
pois o endereço usado não é importante para o servidor. precisam mudar ligeiramente a API de soquetes para que
A primitiva CONNECT bloqueia o responsável pela cha- obtenha1n os benefícios de grupos de fluxos relacionados,
mada e inicia o processo de conexão. Quando a conexão e eles tan1bé1n dão suporte a recursos como uma mistura de
é concluída (ou seja, quando o segmento apropriado é re- tráfego orientado a conexões e não orientado a conexões, e
cebido do servidor), o processo cliente é desbloqueado e a até mesmo múltiplos caminhos pela rede.
conexão é estabelecida. Depois disso, os dois lados podem
usar as primitivas SEND e RECETVE para transmitir e re-
ceber dados através da conexão full -duplex. As chamadas 6.1.4 Exemplo de programação de soquetes:
do sistema READ e WRITE padrão do UNIX também po- um servidor de arquivos da Internet
dem ser usadas, se nenhuma das opções especiais de SEND
e RECEJVE for necessária. Como um exemplo de utilização das chamadas por soque-
O encerra1nento da conexão co1n soquetes é simétrico. tes, considere o código do cliente e o código do servidor da
Quando ambos os lados tivere1n executado uma pri1nitiva Figura 6.6. Nele, temos w11 servidor de arquivos da Internet
CLOSE, a conexão será encerrada. muito primitivo, juntamente com um exemplo de cliente
Os soquetes provara1n ser extremamente populares e que o utiliza. O código tem muitas limitações (descritas a
são os padrões de fato para abstrair serviços de transporte seguir), mas, ern princípio, o código do servidor pode ser
às aplicações. AAPI de soquetes normalmente é usada com compilado e executado em qualquer sistema UNIX conec-
o protocolo TCP para oferecer um serviço orientado à cone- tado à Internet. O código do cliente pode então ser com-
xão, cha1nado flu xo de bytes confiável, que é simplesmen- pilado e executado em qualquer outra máquina UNIX co-
te um canal de bits confiável, que já descrevemos. Contudo, nectada à Internet, em qualquer lugar do mundo. O código
outros protocolos poderiam ser usados para a implementa- do cliente pode ser executado cotn parâ1netros apropriados
ção desse serviço usando a mesma APL Tudo deverá ser o para buscar qualquer arquivo ao qual o servidor te1n acesso
mes1no para os usuários do serviço de transporte. em sua máquina. O arquivo é enviado para a saída padrão,
Un1 ponto forte da API de soquetes é que ela pode ser que, é claro, pode ser redirecionada para um arquivo ou um
usada por u1na aplicação para outros serviços de transporte. canal.
Por exemplo, os soquetes podem ser usados com um ser- Va1nos exa1ninar pri1neiro o código do servidor. Ele
viço de transporte não orientado a conexões. Nesse caso, con1eça incluindo alguns cabeçalhos padrão, e os três úl-
CONNECT define o endereço do peer de transporte remoto timos cabeçalhos contêm as principais definições e estru-
e SEND e RECEIVE envian1 e receben1 datagramas de e turas de dados relacionadas à Internet. Em seguida, temos
para o peer ren1oto. (Também é comum usar um conjun- uma definição de SER VER_PORT como 8080. Esse núme-
to expandido de chamadas, p. ex., SENDTO e RECEI- ro foi escolhido arbitrariamente. Qualquer nún1ero entre
VEFROM, que enfatizam mensagens e não li1nitam u1na 1.024 e 65 .535 também funcionará , desde que não esteja
aplicação a um único peer de transporte.) Os soquetes tan1- en1 uso por algum outro processo; as portas abaixo de 1.023
bém pode1n ser usados con1 protocolos de transporte que são reservadas para usuários privilegiados.
oferecem um fluxo de mensagens, em vez de um fluxo de As duas linhas seguintes no servidor defme1n cons-
bytes, e que realizam ou não controle de congestionamento. tantes. A primeira determina, em bytes, o tamanho do bloco
Por exe1nplo, o DCCP (Datagram Congestion Controlled usado na transferência de arquivos. A segunda determina
Protocol) é uma versão do UDP com controle de congestio- quantas conexões pendentes podetn ser niantidas antes de
namento (Kohler et ai., 2006). Fica a critério dos usuários conexões adicionais serem descartadas.
de transporte entendere1n qual serviço eles estão obtendo. Depois das declarações de variáveis locais, tern início
Entretanto, os soquetes provavelmente não são a úl- o código do servidor. Ele co1neça iniciando uma estrutura
tima palavra e1n interfaces de transporte. Por exemplo, de dados que conterá o endereço IP do servidor. Essa estru-
as aplicações normalmente trabalha1n com un1 grupo de tura de dados logo será vinculada ao soquete do servidor.
fluxos relacionados, como um navegador Web que solici- A chamada a 1nen1set zera toda a estn1tura de dados. As três
ta vários objetos do mes1no servidor. Com os soquetes, o atribuições seguintes preenchem três de seus campos, e a
mais natural é que os progra1nas aplicativos usen1 u1n fluxo últi1na delas contém a porta do servidor. As funções htonl
por objeto. Essa estrutura significa que o controle de con- e htons estão relacionadas co1n a conversão de valores
gestionamento é aplicado separadamente para cada fluxo, para um formato padrão, de modo que o código funcione
Capítulo 6 • A camada de transporte 327

corretamente em máquinas little-endian (p. ex., Intel x86) e charnada a listen, para anunciar a disposição do servidor
big-endian (p. ex., SPARC). para aceitar cha1nadas de entrada e infonnar ao sistema
Em seguida, o servidor cria um soquete e verifica se que ele deve armazenar um número de chamadas igual a
ele contérn en·os (indicados por s < O). Em un1a versão de QUEUE_SIZE, no caso de chegarem novas solicitações en-
produção do código, a mensagem de erro poderia ser um quanto o servidor ainda estiver processando a solicitação
pouco mais explicativa. A chamada a setsockopt é necessá- atual. Se a fila estiver cheia e chegaren1 outras solicitações,
ria para permitir que a porta seja reutilizada, de forma que elas serão descartadas de forma transparente.
o servidor funcione indeflllidamente, recebendo solicitação Nesse momento, o servidor entra em seu loop princi-
após solicitação. Agora, o endereço IP é vinculado ao so- pal, do qual ele nunca sai. A única maneira de inte1Ton1per
quete e é realizada urna verificação para saber se a chama- o loop é encerrá-lo externa1nente. A charnada a accept blo-
da a bind teve sucesso. A última etapa da inicialização é a queia o servidor até algum cliente tentar estabelecer uma

/* Esta página contém um programa cliente que pode solicitar um arquivo do


• programa servidor na próxima página. O servidor responde enviando o arquivo inteiro.
*/

#include <sys/types.h>
#include <unistd.h>
#include <string.h>
#include <Stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

#define SERVER_PORT 8080 /* arbitrário, mas cliente e servidor devem combinar*/


#define BUF_SIZE 4096 /* block transfer size */

int main(int argc, char •*argv)


{
int c, s, bytes;
char buf[BUF_SIZE]; /* buffer para arquivo de entrada*/
struct hostent *h; /* informações sobre servidor*/
st ruct sockaddr_in channel; /* mantém endereço IP */
if (argc != 3) {printf("Uso: cliente nome-servidor nome-arquivo"); exit(-1);}
h = gethostbyname(argv[1]); /* pesquisa endereço IP do host */
if (!h) {printf("gethostbyname failed to locate %s0, argv[1]); exit(-1);}
s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if (s <0) {printf("chamada de soquete falhou"); exit(-1);}
memset(&channel, O, sizeof(channel));
channel.sin_family= AF_INET;
memcpy(&channel.sin_addr.s_addr, h->h_addr,h->h_length);
channel.sin_port= htons(SERVER_PORT);
c = connect(s, (struct sockaddr *) &channel, sizeof(channel));
if (e< O) {printf("falha de conexão"); exit(-1);}
/*Conexão agora estabelecida. Envia nome do arquivo com byte O no final. */
write(s, argv[2], strlen(argv[2])+1);
/* Captura o arquivo e o escreve na saída padrão. */
while (1) {
bytes= read(s, buf, BUF_SIZE); /* lê do soquete*/
if (bytes <= O} exit(O}; /* verifica final de arquivo */
write(1 , buf, bytes); /*escreve na saída padrão*/
}
}

Figura 6.6 Código do servidor. (Continua)


328 Redes de computadores

#include <sys/types.h> ;• Este é o código do servidor•;


#include <string.h>
#include <Stdio.h>
#include <stdlib.h>
#include <sys/fcntl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#define SERVER_PORT 8080 /* arbitrário, mas cliente e servidor devem combinar */
#define BUF_SIZE 4096 /* tamanho do bloco de transferência */
#define QUEUE_SIZE 10
int main(int argc, char •argv[])
{ int s, b, 1, fd, sa, bytes, on = 1;
char buf[BUF_SIZE]; /* buffer para arquivo de saída •;
struct sockaddr_in channel; /* mantém endereço IP•;
/* Monta estrutura de endereços para vincular ao soquete. •;
memset(&channel, O, sizeof(channel)); /*canal zero */
channel.sin_family = AF_INET;
channel.sin_addr.s_addr = htonl(INADDR_ANY);
channel.sin_port = htons(SERVER_PORT);
/* Abertura passiva. Espera a conexão. */
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); ;•cria soquete*/
if (s <O) {printf("falha de chamada de socket"); exit(-1);}
setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *) &on, sizeof(on));
b = bind(s, (struct sockaddr •j &channel, sizeof(channel));
if (b < O) {printf("falha de bind"); exit(-1);}
1= listen(s, QUEUE_SIZE); / *especifica tamanho da fila •;
if (1 < O) {printf("falha de listen"); exit(-1);}
/*O soquete agora está preparado e vinculado. Espera conexão e a processa. */
while (1) {
sa = accept(s, O, O); /* bloqueia solicitação de conexão •;
if (sa <O) {printf("falha de accept"); exit(-1);}
read(sa, buf, BUF_SIZE); /* lê nome do arquivo do soquete•;
/* Captura e retorna o arquivo. */
fd = open(buf, O_RDONLY); ;•abre arquivo para ser enviado de volta*/
if (fd <O) {printf("falha de open"); exit(-1);}
while (1) {
bytes= read(fd, buf, BUF_SIZE); /*lê do arquivo*/
if (bytes <= O) break; ;• verifica se é final do arquivo•;
write(sa, buf, bytes); /*grava bytes no soquete•;
}
close(fd); /* fecha arquivo•;
close(sa); 1• fecha conexão */
}
}
Figura 6.6 (Continuação) Código do servidor.

conexão com ele. Se a chamada a accepl tiver êxito, ela aceito (sa) pode ser usado para realizar a leitura da conexão
retornará um descritor de soquete que poderá ser usado e também para efetuar escritas. Utn descritor de arquivo em
para leitura e escrita, de 1naneira análoga ao uso de des- um canal serve para leitura ou escrita, mas não para ambos.
critores de arquivos em operações de leitura e escrita nos Depois que a conexão é estabelecida, o servidor lê o
canais. Contudo, diferentemente dos canais, que são unidi- nome do arquivo. Se o nome ainda não estiver disponível,
recionais, os soquetes são bidirecionais, e assim o soquete o servidor será bloqueado esperando por ele. Após obter o
Capítulo 6 • A camada de transporte 329

no1ne do arquivo, o servidor o abre e, e1n seguida, entra separada1nente e em geral funcionam e1n co1nputadores di-
em um loop que, alternadan1ente, lê blocos do arquivo e os ferentes, eles não podem compartilhar o código da função
envia pelo soquete, até copiar o arquivo inteiro. Depois, o fatal.
servidor fecha o arquivo e a conexão, e espera que a próxi- Apenas para registrar, esse servidor não é a última pa-
ma conexão apareça. Ele repete esse loop indefinidamente. lavra em desempenho. Sua verificação de erros é escassa e
Agora, va1nos examinar o lado do código do cliente. seu relatório de erros é 1nediocre. Como ele trata de todas
Para entender como ele funciona, é necessário compreen- as den1andas de modo estritamente sequencial (porque te1n
der como é chamado. Supondo-se que ele seja denominado apenas u1n thread), seu desempenho é insatisfatório. É claro
client, nina chamada típica será: que ele nunca ouviu falar de segurança, e usar cha1nadas
client flits.cs.vu.nl /usr/tom/filename >f co1nuns do sistema UNIX não é a últi1na palavra em in-
dependência de plataforma. Ele tambén1 faz algu1nas su-
Essa chamada só funciona se o servidor já estiver em posições tecnica1nente ilegais, como a de considerar que o
execução em jlits.cs. vu.nl e o arquivo lusrltom/jilename non1e do arquivo cabe no buffer e é transmitido por inteiro
existir, e se o servidor tiver acesso de leitura para o arquivo. de uma só vez. Apesar dessas limitações, é um servidor de
Se a chamada for bem-sucedida, o arquivo será transferi- arquivos da Internet completo e funcional. Para obter mais
do pela Internet e gravado em/; depois disso, o programa informações sobre programação com soquetes, consulte
cl iente será encerrado. Tendo em vista que o processo ser- Donahoo e Calvert (2008, 2009) e Stevens et ai. (2004).
vidor continua após uma transferência, o cliente pode ser
iniciado repetidamente para obter outros arquivos.
O código do cliente começa com algumas inclusões
e declarações. A execução começa verificando se o código 6.2 ELEMENTOS DE PROTOCOLOS
fo i chamado co1n o número correto de argumentos (argc = 3
significa que o programa foi chamado com seu nome e 1nais DE TRANSPORTE
dois argumentos). Observe que a1gv(l] contém o nome do
servidor (p. ex.,.flits. cs. vu.nl) e é convertido e1n um ende- O serviço de transporte é i1nplementado por un1 protoco-
reço IP por gethostbyna111e. Essa função utiliza o DNS para lo de transporte usado entre duas entidades de transporte.
pesquisar o nome. Estudaremos o DNS no Capítulo 7. Em alguns aspectos, esses protocolos lembram os de enlace
Em seguida, um soquete é criado e iniciado. Depois de dados que estuda1nos em detalhes no Capítulo 3. A1nbos
disso, o cliente tenta estabelecer uma conexão TCP com o têm de lidar com o controle de erros, com a definição de
servidor, usando connect. Se o servidor estiver funcionando sequências e com o controle de fluxo, entre outros aspectos.
na máquina citada e conectado a SERVER_PORT, e se ele Entretanto, existem diferenças significativas entre os
estiver ocioso ou tiver espaço em sua fila listen., a conexão dois. Elas ocorrem devido às peculiaridades dos ambien-
será (em algum mo1nento) estabelecida. Usando a conexão, tes nos quais os dois protocolos operam, como mostra a
o cl iente envia o no1ne do arquivo, escrevendo-o no soque- Figura 6.7. Na ca1nada de enlace de dados, dois roteado-
te. O nú1nero de bytes enviados é uma unidade maior que res se comunicam direta1nente através de u1n canal físico
o nome em si, tendo em vista que o byte O que encerra o com ou sem conexão por cabo, enquanto na can1ada de
non1e também deve ser enviado para informar ao servidor transporte esse canal físico é substituído pela rede inteira.
em que ponto o nome termina. Essa diferença tem muitas ünplicações importantes para os
Agora o cliente entra em um loop, lendo o arquivo protocolos.
bloco por bloco do soquete e copiando-o na saída padrão. Por u1n lado, e1n enlaces fim a fim, co1no nos fios ou
Ao terminar, ele si1nplesmente encerra o loop. em fibra óptica, normalmente o roteador não precisa espe-
O procedimento fatal imprime uma mensagem de erro cificar co1n qual roteador deseja se comunicar, pois cada
e se encerra. O processo servidor precisa do mesmo proce- linha de saída leva direta1nente a um detenninado roteador.
di1nento, mas ele foi on1itido por falta de espaço na página. Na camada de transporte, é necessário o endereçamento ex-
Tendo e1n vista que o cliente e o servidor são compilados plícito de destinos.

Roteador Roteador Rede

\• /

\ Canal físico
de comunicação Host
(a) (b)

Figura 6.7 (a) Ambiente da camada de enlace de dados. (b) Ambiente da camada de transporte.
330 Redes de computadores

Por outro lado, o processo de estabeleci1nento de ui11a de enlace de dados. No Capítulo 3, vi1nos que alguns dos
conexão através de um cabo, como mostra a Figura 6.7(a), protocolos alocam um número fixo de buffers para cada
é simples: a outra extremidade está sempre presente (a me- linha. Portanto, quando um quadro chegar, sempre have-
nos que haja alguma falha). De qualquer modo, não há 1nui- rá um butfer disponível. Na camada de transporte, o 1naior
to a fazer. Até 1nesn10 e1n enlaces sen1 fio, o processo não nú1nero de conexões que precisam ser gerenciadas e as va-
é n1uito diferente. Apenas enviar u1na mensagem já é sufi- riações na largura de banda que cada conexão pode receber
ciente para que ela alcance todos os outros destinos. Se a tornam menos atraente a ideia de dedicar vários buffers a
mensagem não for confirmada devido a um erro, ela pode cada uma. Nas próximas seções, vamos analisar essas e ou-
ser reenviada. Já na camada de transporte, o estabelecimen- tras questões importantes.
to inicial da conexão é mais complicado, co1no veren1os
mais adiante.
Outra diferença (extremamente inoportuna) entre a 6.2.1 Endereçamento
ca1nada de enlace de dados e a camada de transporte é a Quando um processo de aplicação deseja estabelecer uma
possível existência de capacidade de annazena1nento na conexão com um processo de aplicação remoto, é neces-
rede. Quando um roteador envia um pacote por um enlace, sário especificar a aplicação com a qual ele irá se conectar.
ele pode chegar a seu destino ou se perder, mas não rico- O 1nétodo normalmente utilizado é definir os endereços
cheteia nem se esconde em algum canto para e1nergir de de transporte que os processos pode1n ouvir para receber
repente, en1 u1n n101nento inoportuno, depois que outros solicitações de conexão. Na Internet, essas extremidades
pacotes foram enviados, 1nuito tempo depois. Se a rede uti- são chamadas de portas. Vamos utilizar a expressão ge-
lizar datagramas, que são roteados independenten1ente no nérica ponto de acesso de serviço de transporte, ou TSAP
interior da rede, haverá u1na probabilidade significativa de (Transport Service Access Point) para indicar uma extre-
que um pacote possa ficar annazenado por alguns segun- midade específica na ca1nada de transporte. Os pontos ex-
dos e ser entregue 1nais tarde, fora da orde1n esperada, ou tremos análogos na camada de rede (ou seja, os endereços
até n1esmo que cheguem duplicatas dele. As consequências da ca1nada de rede) são chamados, então, pontos de acesso
da habilidade de atrasar e duplicar pacotes às vezes podem de serviço de rede, ou NSAPs (Net"•ork Service Access
ser desastrosas e exigir o uso de protocolos especiais para Points). Os endereços IP são exemplos de NSAPs.
transportar a info1mação correta1nente. A Figura 6.8 ilustra o relaciona1nento entre os NSAPs,
A última diferença entre as camadas de enlace de da- os TSAPs e uma conexão de transporte que os utiliza.
dos e de transporte é mais uma questão de grau, e não de Os processos de aplicações, tanto clientes quanto servido-
espécie. Os controles de buffers e de fluxo são necessários res, podem se associar a u1n TSAP para estabelecer uma
em ambas as camadas, mas a presença de u1n número gran- conexão com u1n TSAP remoto. Essas conexões funcionam
de e dina1nicamente variável de conexões na ca1nada de através dos NSAPs de cada host, como 1nostra a figura.
transporte pode exigir outra estratégia que não a da camada O propósito de ter TSAPs é o fato de, em algumas redes,

Host 1 Host2
Servidor 1 Servidor 2
Processo TSAP 1208 Camada de
da aplicação
/ aplicação

:"'-Conexão Camada de I ',, \


: de transporte TSAP 1522\ TSAP1836
\

:,
1 \
1 transporte \

: ' NSAP Camada


1
1 de rede : NSAP
1 1
1 1
• 1
1
1
1 1
1 1
1 Camada 1
1 1
1 de enlace 1
1 1
1 de dados 1
• .
1 1
1 1
1 Camada 1
1
1
1 física 1
1
1

,, .
1 1
\
\

'~ - - ------------------------- -''


Figura 6.8 TSAPs, NSAPs e conexões de transporte.
Capítulo 6 • A camada de transporte 331

cada co1nputador ter u1n único NSAP, e assim necessitar de serviço e o portmapper retoma o endereço TSAP. Depois, o
algum meio para distinguir entre vários pontos extremos usuário encerra a conexão com o portmapper e estabelece
de transporte que o compartilham. uma nova conexão com o serviço desejado.
Aqui está um possível cenário para uma conexão de Nesse modelo, quando um novo serviço é criado, ele
transporte: precisa se registrar com o pornnapper, dando seu nome
1. Um processo servidor de correio se associa ao TSAP de serviço (norrnahnente, uma string ASCII) e seu TSAP.
1522 no host 2 para aguardar a chegada de uma cha- O portmapper registra essa informação em seu banco de da-
1nada. O 1nodo como um processo se associa a um dos interno de modo que, quando chegarem consultas mais
TSAP está fora do escopo do modelo de rede e depen- tarde, ele saberá as respostas.
de exclusiva1nente do sistema operacional local. Por A função do portmapper é se1nelhante à de un1 telefo-
exemplo, poderia ser utilizada u1na chamada como a nista de auxílio à lista no sisten1a telefônico - ele oferece
nossa primitiva LISTEN. un1 n1apea1nento entre non1es e nú1neros. Assim co1no no
2. Um processo de aplicação no host 1 deseja enviar u1na sistema telefônico, é essencial que o endereço do TSAP
mensagen1 de con·eio e, portanto, se junta ao TSAP bem conhecido usado pelo portmapper seja reahnente bem
1208 e uma solicitação CONNECT. A solicitação conhecido. Se você não souber o número do telefonista de
especifica o TSAP 1208 no host 1 como orige1n e o infonnações, não poderá ligar para descobrir o nú1nero de-
TSAP 1522 no host 2 como destino. E1n últiina aná- sejado. Se você acha que o número a ser usado para obter
lise, essa ação resulta no estabelecin1ento de u1na co- info1mações é óbvio, tente fazer isso en1 algun1 outro país.
nexão de transporte entre o processo de aplicação e o Muitos dos processos servidores que podem existir

servidor. e1n uma máquina serão usados apenas raramente. E um
3. O processo de aplicação envia, então, a mensage1n de desperdício ter cada um deles ativo e escutando em um
correio. endereço TSAP estável o dia inteiro. Un1 esque1na alter-
4. O servidor de correio responde para dizer que entre- nativo aparece na Figura 6.9, de forma simplificada. Ele é
gará a mensagem. conhecido como protocolo de conexão inicial. En1 vez de
ter todos os possíveis servidores escutando em um TSAP
S. A conexão de transporte é ence1Tada (liberada).
conhecido, cada máquina que desejar oferecer serviços a
Observe que pode haver outros servidores no host 2, usuários remotos terá um servidor de processos especial,
associados a outros TSAPs e que estejam esperando pela que funcionará como um proxy para servidores nlenos uti-
chegada de conexões de entrada sobre o mesmo NSAP. lizados. Esse servidor é chamado inetd e1n sistemas UNIX.
O quadro mostrado anteriormente é bom, exceto pelo Ele ouve tuna série de portas ao mes1no te1npo, a&TUardando
fato de tennos 01nitido um pequeno proble1na: como o pro- uma solicitação de conexão. Os usuários potenciais de um
cesso de usuário do host 1 sabe que o servidor de correio serviço deven1 começar co1n un1a solicitação CONNECT,
está associado ao TSAP 1522? U1na possibilidade é o servi- especificando o endereço TSAP do serviço que deseja1n.
dor de correio estar associado ao TSAP 1522 há anos e, gra- Se nenhum servidor os estiver aguardando, eles estabele-
duahnente, todos os usuários da rede terem descoberto isso. cem u1na conexão com o servidor de processos, como mos-
Nesse modelo, os serviços têm endereços TSAP estáveis, tra a Figura 6.9(a).
que estão listados e1n arquivos guardados em locais conhe- Depois de receber a solicitação de entrada, o servidor
cidos, como o arquivo /etc/services dos sistemas UNIX, de processos gera a conexão para o servidor solicitado, per-
que lista os servidores que estão associados de modo per- mitindo que ele herde a conexão já existente com o usuário.
manente a cada uma das portas, incluindo o fato de que o
Em seguida, o novo servidor executa a tarefa solicitada,
servidor de co1Teio se encontra na porta TCP 25.
enquanto o servidor de processos volta a aguardar novas
Embora os endereços TSAP estáveis possam funcio- solicitações, con10 mostra a Figura 6.9(b ). Esse método
nar para un1 pequeno número de serviços que nunca 1nu-
só se aplica quando os servidores podem ser criados por
dam (p. ex., o servidor da Web), em geral, os processos do
demanda.
usuário desejam se comunicar com outros processos do
usuário que não têm endereços TSAP conhecidos con1 an-
tecedência, ou que existem por u1n curto período de te1npo. 6.2.2 Estabelecimento de conexões
Para cuidar dessa situação, um esque1na alternati-
vo pode ser utilizado. Nele, existe um processo especial, Estabelecer uma conexão parece u1na tarefa fácil, 1nas, na
chamado portmapper . Para encontrar o endereço TSAP verdade, trata-se de um procedimento complicado. A' pri-
correspondente a determinado nome de serviço, como meira vista, pode parecer que basta uma entidade de trans-
"BitTorrent", u1n usuário estabelece un1a conexão com o porte enviar un1 segn1ento CONNECTION REQUEST
portmapper (que escuta em um TSAP conhecido). O usuá- ao destino e aguardar uma resposta CONNECTION
rio envia então uma 1nensagem especificando o no1ne do ACCEPTED. O problema é que a rede pode perder,
332 Redes de computadores

Host 1 Host 2 Host 1 Host 2

Servidor
1 d e correio
.

Camada
Servidor de Servidor de
( Usuário ) ' Usuário )
processos
processos
/ I \ \ \ \.
·1 - - -
4
TSAP

:::::::: :::: ::.~ ::::;: :::: :::: ::::::=: ::::

(a) (b)

Figura 6.9 Como um processo do usuário no host 1 estabelece uma conexão com o servidor de correio no host 2 por meio
de um servidor de processos.

atrasar, corro1nper e duplicar pacotes. Esse co1nporta- ser elaborados para estarem corretos em todos os casos.
mento causa sérias con1plicações. Somente os casos comuns precisan1 ser in1plementados de
modo eficiente para obter um bom desempenho na rede,
Problema: pacotes adiados e duplicados mas o protocolo precisa ser capaz de lidar com os casos
incomuns sem erros. Se não puder, então teremos montado
Imagine tuna rede tão congestionada que as confirmações un1a rede razoável, que pode falhar se1n aviso quando as
quase nunca chegam a te1npo, cada pacote sofre um tin1eout condições se tomarem difíceis.
e é retransn1itido duas ou três vezes. Suponha que a rede No restante desta seção, vamos estudar o problema
utilize datagramas internamente e que cada pacote siga uma das duplicatas atrasadas, dando ênfase especial aos algorit-
rota específica. Alguns pacotes podem ficar detidos em mos para estabelecer conexões confiáveis, de modo a evitar
um congestionan1ento de tráfego na rede e demorar muito proble1nas como o que acabamos de descrever. O centro
para chegar, ou seja, eles ficam detidos e só surgem 1nuito do proble1na é que as duplicatas atrasadas são consideradas
depois, quando o transmissor achou que eles tinham sido pacotes novos. Não pode1nos inlpedir que os pacotes sejam
perdidos. duplicados e atrasados. Mas, se e quando isso acontecer, os
O pior que pode acontecer é um usuário estabelecer pacotes devem ser rejeitados como duplicatas e não proces-
uma conexão com u1n banco, enviar mensagens dizendo ao sados como pacotes novos.
banco para transferir uma grande quantia para a conta de O problema pode ser co1nbatido de várias manei-
uma pessoa não muito confiável. infelizmente, os pacotes ras, no entanto, nenhu1na delas é 1nuito satisfatória. U1na
deciden1 to1nar u1na rota inco1nu1n até o destino e seguem alternativa possível é usar endereços de transporte des-
explorando um canto remoto da rede. O transnussor esgota cartáveis. Nessa abordagem, toda vez que un1 endereço
seu tempo-limite e os envia nova1nente. Dessa vez, os pa- de transporte é necessário, um novo endereço é criado.
cotes tomam a rota mais curta e são entregues rapida1nente, Ao fim da conexão, o endereço é descartado e nunca mais
de modo que o trans1nissor encerra a conexão. é usado. Os pacotes duplicados atrasados, então, nunca
Infelizmente, o lote inicial de pacotes finalmente che- chega1n a u1n processo de transporte e não podem causar
ga ao destino na orde1n, pedindo ao banco que estabele- danos. Todavia, essa alternativa torna mais difícil conectar
ça tuna nova conexão e transfira o dinheiro (nova1nente). com um processo.
O banco não te1n con10 saber que se trata de uma duplicata Outra possibilidade é atribuir a cada conexão um
do pedido. Ele supõe que essa é uma segunda transação in- identificador exclusivo (i.e., um núrnero de sequência in-
dependente, e transfere o dinheiro mais uma vez. crementado a cada conexão estabelecida), escolhido pelo
Esse cenário pode parecer improvável, ou mesmo in1- lado que a inicia e colocado ern cada seg1nento, inclusive
plausível, mas o importante é que os protocolos precisam naquele que solicita a conexão. Após o encerramento, cada
Capítulo 6 • A camada de transporte 333

entidade de transporte pode atualizar un1a tabela que lista nem suas confinnações surgirão repentinamente para com-
as conexões obsoletas como pares (entidade de transpor- plicar as coisas.
te correspondente, identificador de conexão). Sempre que LiílUtando o tempo de vida dos pacotes, é possível
uma solicitação for recebida, será possível compará-la com imaginar uma fonna infalível de rejeitar segmentos dupli-
a tabela para verificar se ela pe11encia a uma conexão já cados atrasados. O método descrito a seguir foi proposto
encen·ada. por To1nlinson (1975) e apri1norado 1nais tarde por Sunshi-
Tnfeliz1nente, esse esque1na tem u1na falha básica: ele ne e Datal ( 1978). Na prática, muitas de suas variações são
exige que cada entidade de transporte 1nantenha certa quan- amplan1ente utilizadas, inclusive no TCP.
tidade de infonnações sobre o histórico das conexões por O núcleo do método é fazer a origem rotular os seg-
um tempo indeterminado. Esse histórico precisa persistir mentos com números de sequência que não serão reu-
nas máquinas de origem e de destino. Caso contrário, se tilizados dentro de T segundos. O período, T, e a taxa de
uma n1áquina apresentar defeito e perder sua 1ne1nória, ela pacotes por segundo detem1inam o ta1nanho dos números
não terá mais como saber quais identificadores de conexões de sequência. Desse modo, somente um pacote com de-
já fora1n utilizados. terminado nú1nero de sequência pode estar pendente em
É necessário usar outro n1étodo para simplificar o pro- determinado mornento. As duplicatas desse pacote ainda
blema. Em vez de pennitir que os pacotes pennaneça1n na poderão ocorrer, e elas devem ser descartadas pelo destino.
rede eternamente, devemos criar um mecanismo para des- Contudo, não acontece mais de uma duplicata atrasada de
truir os pacotes desatualizados que ainda estejam presentes. um pacote antigo ter o mesmo número de sequência e ser
Com essa restrição, o problen1a poderá ser contornado. aceita pelo destino.
A duração de um pacote pode ser Jimjtada a um va- Para contornar o problema da perda de memória de
lor máximo conhecido, usando-se uma (ou mais) destas uma máquina após um desastre, un1a possibilidade é exigir
técnicas: que as entidades de transporte fiquem ociosas por T segun-
dos após u1na recuperação. O período ocioso pennitirá que
1. Restringir o projeto da rede. todos os segmentos antigos morram, de modo que o trans-
2. Usar um contador de hops en1 cada pacote. missor possa co1neçar nova1nente co1n qualquer nú1nero de
3. Utilizar um registro de data e hora em cada pacote sequência. Contudo, em u1na rede interligada complexa, T
(ti1nesta1np). pode ser grande, de modo que essa estratégia não é atraente.
Em vez disso, Tomlinson propôs que cada host fosse
A primeira técnica inclui qualquer 1nétodo que evi- equipado com u1n clock. Os clocks dos diferentes hosts não
te que um pacote execute um loop, co1nbinado co1n algum precisam estar sincronizados. Cada clock assume a for1na
meio de li1nitar o atraso devido ao congestionamento sobre o de u1n ti1ner binário incrementado em intervalos regulares.
caminho mais longo possível (agora conhecido). Isso é difi- Alé1n disso, o nú1nero de bits no ti1ner deve ser maior ou
cil, pois as redes interligadas podem variar desde uma única igual ao número de bits dos números de sequência. Por últi-
cidade até Lin1 nível internacional. O segundo método consis- rno, e mais importante, o clock deve continuar funcionando
te en1 ter um timer de hops, iniciado com algum valor apro- rnesmo que o host saia do ar.
priado e decrementado toda vez que o pacote é encaminhado. Quando uma conexão é estabelecida, os k bits de
O protocolo de rede sin1ples1nente descarta qualquer pacote baixa ordem do clock são usados co1no o número de se-
cujo contador de hops chega a zero. A terceira técnica exjge quência inicial. Assim, diferentemente de nossos protoco-
que cada pacote seja associado ao horário en1 que foi criado, los do Capítulo 3, cada conexão começa a numerar seus
com a concordância dos roteadores em descartar qualquer segmentos com um número de sequência inicial diferente.
pacote mais antigo que um tempo previamente estabelecido. O espaço de sequência deve ser tão extenso que, quando
Esse último método exige que os clocks dos roteadores este- os números de sequência começare1n a se repetir, os seg-
jam sincronizados, o que não é uma tarefa fácil, e na prática mentos antigos com o 1nesmo número de sequência já de-
um contador de hops é uma aproxin1ação suficiente. verão ter sido destruídos há muüo tempo. O relacionamento
Na prática, é necessário garantir que não apenas o pa- linear entre o tempo e o número de sequência é ilustrado
cote seja destruído, 1nas ta1nbém que todas as suas confir- na Figura 6. IO(a). A região proibida mostra os te1npos para
mações também sejam destruídas; portanto, introduziremos os quais os números de sequência do segmento são inváli-
agora o valor T, algum múltiplo pequeno da verdadeira du- dos, impedindo seu uso. Se qualquer segmento for enviado
ração máxima do pacote. A duração máxima do pacote é com u1n número de sequência nessa região, ele poderia ser
uma constante conservadora para uma rede; para a Internet, atrasado e personificar u1n pacote diferente com o mesmo
esse valor é considerado arbitrariamente co1no 120 segun- número de sequência que será e1nitido pouco depois. Por
dos. O múltiplo depende de um protocolo e tem o efeito de exemplo, se o host falhar e reiniciar no instante 70 segun-
tomar T mais longo. Se esperarmos u1n te1npo de T segun- dos, ele usará os números de sequência iniciais com base
dos após um pacote ser enviado, podere1nos ter certeza de no clock para prosseguir de onde parou; o host não começa
que todos os seus vestígios desapareceram, e que nem ele cotn um nú1nero de sequência inferior na região proibida.
334 Redes de computadores

T
<li <li
o
rl-1
g
«ll
120 e
<<ll
::J ::J
e; e;
<ll <ll
"'
Q) 80 "'
<ll
"O "O
~
O
_
<1>
70 I ' - - --.'......____ Re1nic10
60
. . . apos
.
falha em 70 s
e
<ll
E
•::J
E
·::J
z z
Número?de
se uência reais
0
o 30 60 so 120 150 180 utilizados
Tempo Tempo
(a) (b)

Figura 6.10 (a) Segmentos não podem entrar na região proibida. (b) O problema da ressincronização.

Uma vez que duas entidades de transporte tenham será adiado. Evitar essa situação limita a lentidão do avan-
chegado a um acordo sobre o número de sequência inicial, ço dos nú1neros de sequência e1n uma conexão (ou quanto
qualquer protocolo de janela deslizante poderá ser usado tempo as conexões podem durar).
para o controle de fluxo de dados. Esse protocolo de jane- O método baseado em c lock resolve o problema de
la encontrará e descartará correta1nente as duplicatas dos não poder distinguir os segmentos duplicados e ainda man-
pacotes após já tere1n sido aceitas. Na verdade, a curva do tidos dos novos segmentos. Contudo, existe um problema
nú1nero de sequência inicial (representada pela linha mais prático no seu uso para estabelecer conexões. Como nor-
grossa) não é exatamente uma reta, e se parece com uma maltnente não nos Ie1nbramos dos nú1neros de sequência
escada, pois o clock avança em passos discretos. Para sin1- entre as conexões no destino, ainda não temos como sa-
plifícar, vamos ignorar esse detalhe. ber se um segn1ento CONNECTION REQUEST contendo
Para manter os números de sequência de pacote fora um número de sequência inicial é uma duplicata de uma
da região proibida, precisamos ton1ar cuidado e1n dois as- conexão recente. Esse obstáculo não existe durante uma co-
pectos, pois podemos ter proble1nas de duas maneiras dis- nexão, pois o protocolo de janela deslizante se lembra do
tintas. Se u1n host enviar muitos dados muito rapida1nen- nú1nero de sequência atual.
te por uma conexão recém-aberta, a curva do nú1nero de
sequência real contra o tempo pode crescer de forma mais Solução: handshake de três vias
inclinada do que a curva do número de sequência inicial Para resolver esse problema específico, Tomlinson (1975)
contra o tempo, fazendo o número de sequência entrar na criou o bandsbake de três via s. Esse protocolo de esta-
região proibida. Para impedir que isso aconteça, a taxa de beleci111ento de conexão envolve un1 peer verificando con1
dados 1náxima em qualquer conexão é de um segmento por o outro se a solicitação de conexão está realmente ativa.
pulso de clock. Isso tambén1 significa que a entidade de O procedimento inicial normal quando o host 1 é iniciado
transporte deve esperar até que o pulso de clock ocorra an- aparece na Figura 6. 11 (a). O host 1 escolhe u1n número de
tes de abrir tuna nova conexão após u1n reinício por falha, sequência inicial x e o envia em segmento CONNECTION
a fim de que o mesmo número não seja usado duas vezes. REQUEST para o host 2. Por sua vez, o host 2 responde
Esses dois pontos são argumentos a favor de um pulso de com um segmento ACK que confirma x e anuncia seu pró-
clock curto (1 µsou menos). Mas o pulso de clock não pode prio número de sequência inicial, y. Por fim, o host l con-
ser tão rápido quanto o nún1ero de sequência. Para uma taxa firma o nún1ero de sequência inicial escolhido pelo host 2
de clock Cem um espaço de número de sequência de tama- no primeiro seginento de dados que enviar.
nho S, devemos ter SIC > T, de 111odo que os números de Agora, van1os ver como o handsbake de três vias fun-
sequência não possam ser reiniciados muito rapidamente. ciona diante de duplicatas atrasadas de segmentos de con-
Entrar na região proibida por baixo, trans1nitindo 1nui- trole. Na Figura 6. 11(b), o primeiro segmento é uma dupli-
to rapida1nente, não é a única maneira de ter proble1nas. cata atrasada da primitiva CONNECTION REQUEST de
Pela Figura 6. lO(b), vemos que, em qualquer taxa de dados uma antiga conexão. Esse segrnento chega ao host 2 sem
menor que a taxa do clock, a curva dos nún1eros de sequên- o conhecilnento do host 1. O host 2 reage a ele transmitin-
cia reais usados contra o tempo por fim entrará na região do um segmento ACK ao host 1, para verificar se o host
proibida a partir da esquerda, à 1nedida que os números de 1 deseja reabnente estabelecer uma nova conexão. Quan-
sequência forem reiniciados. Quanto maior a inclinação dos do o host 1 rejeita a tentativa de conexão feita pelo bost 2,
nú1neros de sequência reais, por mais tempo esse evento este percebe que fo i enganado por uma duplicata atrasada e
Capítulo 6 • A camada de transporte 335

Host 1 Host 2 Host 1 Host2


Duplicata antiga
CR1
1Seq ::: X)

o f'.ey... .,,. -J..1 o 'f...,:. 'f..l


a. a. f>..C
E o. .,:. '! • E o..,:. '! •
Q)
f>..CY... \se
Q) 'f.. \Se
1- 1- f>..C

! 0414
(Seq
! RcJccr(AcK
::: X, ACk ::: Y)
::: .J!)

(a) (b)

Host 1 Host 2
CR(se
q::: X}
Duplicata antiga
'f...,,. A
!>-e;
o V!>eo. ""~ i '
a. "'c'f-
E
~
o,q ,A
(Seq
,, ::: 2?)"'x•
Aci.-

! Duplicata antiga

(c)

Figura 6.11 Três cenários de protocolos para o estabelecimento de uma conexão com o uso de um handshake de três vias.
CR significa CONNECTION REOUEST. (a) Operação normal. (b) Duplicata antiga de CONNECTION REOUEST que surge repentina-
mente. (e) CONNECTION REQUEST e ACK duplicadas.

abandona a conexão. Dessa forma, uma duplicata atrasada de tempo é usado para estender o número de sequência de
não causa danos. 32 bits de nlodo que não reinicie dentro da duração 1náxima
A pior situação ocorre quando tanto uma CONNEC- do pacote, até mesmo para conexões de gigabits por segun-
TlON REQUEST atrasada quanto uma ACK estão pairando do. Esse mecanismo é um reparo para o TCP, que foi neces-
na sub-rede. Esse caso é ilustrado na Figura 6.ll(c). Como sário para ser usado em enlaces cada vez mais rápidos. Ele
no exemplo anterior, o host 2 recebe uma CONNECTION é descrito na RFC 1323 e é cha1nado de PAWS (Protection
REQUEST atrasada e responde a ela. Nesse ponto, é impor- Against Wrapped Sequence numbers). Entre as cone-
tante entender que o host 2 propôs o uso de y como número xões, para os números de sequência iniciais e antes de o
de sequência inicial para o tráfego do host 2 ao host 1, o PAWS ter aparecido, o TCP originalmente usava o esque-
que impl ica não ex istir nenbutn segmento que contenha o n1a baseado em clock, que acabamos de descrever. Todavia,
nú1nero de sequência y ou ainda existirem conftrn1ações descobriu-se que havia uma vulnerabilidade de segurança.
para y . Quando o segundo segmento atrasado finalmente O clock tomava fácil para um invasor prever o próximo nú-
chega ao host 2, o fato de z ter sido confir1nado no lugar de mero de sequência inicial e enviar pacotes que enganavarn
y também faz o host 2 perceber que se trata de uma dupli- o handshake de três vias e estabeleciam uma conexão falsa.
cata antiga. O i1nportante a observar aqui é que não existe Para fechar essa lacuna, os nú1neros de sequência inicial
con1binação algu1na de segmentos antigos que possa fazer pseudoaleatórios são usados para as conexões na prática.
o protocolo falhar e configurar uma conexão por acidente Contudo, continua sendo importante que os números de
quando ela não for solicitada. sequência iniciais não se repitatn por um intervalo, etnbora
O TCP se1npre usa esse handshake de três vias para pareça1n ser aleatórios a um observador. Caso contrário, as
estabelecer conexões. Dentro de uma conexão, um período duplicatas atrasadas pode1n causar problen1as.
336 Redes de computadores

6.2.3 Encerramento de conexões encerTamento simétrico, no qual cada direção da conexão


é liberada de forma independente da outra. Nesse caso, um
Encerrar u1na conexão é mais fáci l do que estabelecê-la. host pode continuar a receber dados mesmo depois de ter
No entanto, nesse procedin1ento há mais a1madilhas do que enviado um se&rmento DJSCONNECT.
se poderia esperar. Como já dissernos, existe1n dois tipos de O encerra1nento si1nétrico é indicado quando cada
encerramento de conexão, o sirnétrico e o assi1nétrico. O en- processo tem uma quantidade fixa de dados a enviar e sabe
cerra1nento assirnétrico representa o funcionan1ento do siste- com clareza quando terminou de enviá-los. Em outras si-
ma telefônico, ou seja, quando um dos interlocutores desliga, tuações, não é tão simples detenninar que todo o tr~balho
a conexão é interrompida. Em contraste, o encerra1nento si- foi concluído e que a conexão deve ser encerrada. E pos-
métrico trata a conexão corno duas conexões unidirecionais sível i1naginar um protocolo no qual o host 1 diz: "Já ter-
isoladas e exige que cada w11a seja finalizada separadamente. minei. Você também já terminou?". Se o host 2 responder:
O encerramento assimétrico é repentino e pode resul- "Eu também já terminei, adeus!", a conexão poderá ser en-
tar na perda de dados. Considere o cenário da Figura 6.12. cerrada co111 segurança.
Após o estabelecimento da conexão, o host 1 envia um seg- Infelizmente, nem sempre o protocolo funciona assim.
mento, que chega de forma correta ao host 2. E1n seguida, Há um problema famoso que ilustra essa questão, chan1a-
o host 1 envia outro segmento. Infelizrnente, o host 2 gera do problema dos dois exércitos. Imagine que o exército
uma primitiva DISCONNECT antes de o segundo segmen- branco está acampado ern um vale, conforme ilustra a Fi-
to chegar, o que resulta no encerramento da conexão e na gura 6.13. Acarupados nas duas colinas ao redor do vale
perda dos dados. estão dois exércitos azuis. O exército branco tem um con-
Fica clara a necessidade de utilizar u1n protocolo de tingente maior que cada exército azul, mas juntos os exér-
encerramento mais sofisticado para evitar a perda de da- citos azuis são maiores que o exército branco. Se um dos
dos. Uma forma de implementar essa estratégia é usar o exércitos azuis atacar sozinho, ele será derrotado pelo exér-
cito branco; porén1, se atacaren1 o exército branco simulta-
neamente, os dois exércitos azuis serão vitoriosos.
Host 1 Host2 Os exércitos azuis desejam sincronizar seus ataques.
Entretanto, eles só podem se comunicar através de mensa-
CR
geiros que caminham pelo vale, onde podern ser capturados
e a n1ensagen1 perdida (ou seja, eles têm de usar urn canal
p.C'f- - de comunicação não confiável). A questão é: existe algum
o
·- protocolo que permita aos exércitos azuis vencer?
a. DATA Suponha que o comandante do exército azul núme-
E
Q)
..... ro l envie u1na mensagem dizendo: "Proponho que nosso
DATA ataque seja ao a1nanhecer do dia 29 de março. Que tal?".
oP- 7-----. Suponha também que a mensagem chegue a seu destino e
que o comandante do exército azul número 2 concorde, e
Os dados não são
entregues após que sua 1nensagem chegue com segurança ao exército azul
o pedido de
d esconexão
núrnero 1. O ataque acontecerá? Provavehnente não, pois o
comandante nú1nero 2 não tem como saber se o comandan-
Fígura 6.12 Desconexão repentina com perda de dados. te número l recebeu sua resposta. Caso não tenha recebido

• Exército • Exército
A azul azul
A
número 1 número 2

·~ Exército branco

Fígura 6.13 Oproblema dos dois exércitos.


Capítulo 6 • A camada de transporte 337

a resposta, ele não vai atacar; portanto, seria inútil o exérci- a mensagem final não chegar a seu destino? Acabamos de
to azul número 2 iniciar a batalha sozinho. afirmar que ela é essencial; portanto, se essa mensagem se
Agora, vamos melhorar o protocolo tornando-o um perder, o ataque não ocorrerá. Como o transmissor não tem
handshake de três vias. O responsável pela proposta ori- certeza de que a 1nensagem final foi recebida, ele não arris-
ginal deve confinnar a resposta fornecida. Supondo que ca um ataque. Pior ainda, o outro exército azul sabe disso e
nenhun1a mensagen1 se perca, o exército azul nún1ero 2 também não ataca.
receberá a confirmação. No entanto, agora é a vez de o Para compreender a relevância do problema dos dois
comandante do exército número l hesitar. Afinal, ele não exércitos no encerramento de conexões, basta substituir
sabe se sua confinnação chegou ao destino e assim o exér- "atacar" por "desconectar''. Se nenhun1 dos lados estiver
cito azul número 2 não vai atacar. Poderían1os criar aqui o preparado para encerrar a conexão até estar convencido de
handshake de quatro vias, mas isso também não ajudaria. que o outro lado também está pronto, o encerramento ja-
Na verdade, podemos provar que não existe nenhum mais acontecerá.
protocolo que funcione. No entanto, va1no supor que esse Na prática, podemos evitar esse dilema deixando de
protocolo existe. Nesse caso, devería1nos verificar se a últi- lado a necessidade de um acordo e e1npurrando o problema
ma mensagem do protocolo é essencial ou não. Se não for, para o usuário do transporte, deixando que cada lado decida
devemos removê-la (assim como todas as outras mensagens independentemente de quando isso será feito. Esse é um
que não forem essenciais) até ficarmos corn um protocolo problema mais fácil de ser resolvido. A Figura 6.14 ilustra
no qual toda mensagern seja essencial. O que acontecerá se quatro cenários de encerramento utilizando o handshake de

Host 1 Host 2 Host 1 Host 2


Envia DR ,_ DR Envia DR DR
+ inicia timer - + inicia timer -

Envia DR Envia DR
or. + inicia timer
OR
- + inicia timer
,_ Encerra - •
Encerra •
conexão conexão •

••
Envia ACK ACK ••

-e
Encerra Envia ACK ACK •
conexão •
(Timeout)
encerra
conexão

(a) (b)

Host 1 Host 2 Host 1 Host 2


Envia DR DR Envia DR DR
+ inicia timer Envia DR+ + inicia timer Envia DR +
or. • ,_
inicia timer • inicia timer
e~
A A •

• I< P~rcÍa~ ~
• ••
(Timeout) • , y'

Envia DR DA • •
--e
Envia DR+ (Timeout) •
+ inicia timer Envia DR •
or. - inicia timer
+ inicia timer •

Encerra ,_ • •
• •
conexão • •
• •
• •
Envia ACK ACK •
(N Timeouts)

(Timeout)
Encerra
- encerra encerra
conexão
conexão conexão

(c) {d)

Figura 6.14 Quatro situações de protocolos para encerramento de uma conexão. (a) Caso normal de handshake de três vias.
(b) ACK final perdida. (c) Resposta perdida. (d) Resposta perdida e DRs subsequentes perdidas.
338 Redes de computadores

três vias. Ainda que não seja infalível, en1 geral esse proto- pode n1ais entregar pacotes entre os hosts) sen1 que alguma
colo é o mais adequado. extremidade desconecte primeiro.
Na Figura 6.14(a), vemos uma situação normal em E' obvio que, se essa regra for utilizada, será necessário
que um dos usuários envia u1n seg1nento DR (DISCON- que cada entidade de transporte tenha um timer que será
NECTION REQUEST) para dar início ao encerramento da interrompido e depois reiniciado sempre que um segmen-
conexão. Quando o segmento chega, o receptor também to for enviado. Se esse tirner expirar, u1n segmento fictício
retorna um segn1ento DR e dispara um timer para o caso será transn1itido para evitar que o outro lado se desconecte.
de a DR se perder. Quando essa DR chega, o transmissor Se a regra de encerramento automático for usada e muitos
original envia um segmento ACK e encerra a conexão. segmentos fictíc ios seguidos se perderem em uma conexão
Finalmente, quando um segmento ACK chega, o receptor inativa, a transmissão será encerrada automatica1nente, um
também encerra a conexão. Encerrar uma conexão significa lado de cada vez.
que a entidade de transporte remove as informações sobre Não trataremos 1nais desse assunto, mas já deve estar
essa conexão de sua tabela de conexões atualmente aber- claro que encerrar u1na conexão se1n perda de dados não
tas e envia algum tipo de sinal ao proprietário da conexão é tão simples quanto parecia à primeira vista. A lição que
(o usuário de transporte). Essa ação é diferente de um usuá- aprendernos aqui é que o usuário do transporte precisa estar
rio de transporte emitindo uma primitiva DlSCONNECT. envolvido na decisão de quando desconectar - o problema
Se o último segmento ACK for perdido, como ilus- não pode ser resolvido de fonna limpa pelas próprias enti-
tra a Figura 6. l 4(b), a situação poderá ser salva pelo titner. dades de transporte. Para entender a importância da apli-
Quando o titner expirar, a conexão será encerrada de qual- cação, considere que, embora o TCP normalmente realize
quer forma. um encerramento si1nétrico (corn cada lado encerrando in-
dependentemente sua 1netade da conexão com un1 pacote
Agora, varnos considerar o caso em que a segunda
FIN quando tiver enviado seus dados), muitos servidores
DR se perde. O usuário que der início à desconexão não
Web enviam ao cliente um pacote RST que causa um encer-
receberá a resposta esperada, sofrerá um titneout e terá de
ramento brusco da conexão, mais semelhante a um fecha-
começar tudo outra vez. Na Figura 6. 14(c), podemos ver
mento assi1nétrico. Isso só funciona porque o servidor Web
con10 isso funciona, supondo que da segunda vez nenhu1n
conhece o padrão da troca de dados. Primeiro, ele recebe
segmento se perdeu e que todos os segmentos foram entre-
uma solicitação do cliente, que são todos os dados que o
gues de forma correta e em tempo.
cliente enviará, e depois envia uma resposta a ele.
Nosso últitno cenário, a Figura 6. l4(d), é igual ao da Quando o servidor Web termina com sua resposta, to-
Figura 6.1 4(c), exceto pelo fato de assuminnos agora que dos os dados foran1 enviados em ambas as direções. O ser-
todas as tentativas repetidas de retransmitir a DR ta1nbé1n vidor pode enviar u1n aviso ao cliente e encerrar a conexão
falharam devido a segmentos perdidos. Após N tentativas, repentinamente. Se o cliente receber esse aviso, ele encer-
o transmissor desiste e encerra a conexão. Enquanto isso, rará o estado de sua conexão nesse 1nomento. Se não rece-
o receptor sofre um tirneout e ta1nbén1 para de funcionar. ber o aviso, ele por fim notará que o servidor não está mais
Apesar de em geral ser suficiente, na teoria esse proto- falando com ele e encerrará a conexão. De qualquer forma,
colo pode falhar se a DR inicial e todas as N retransn1issões os dados terão sido transferidos com sucesso.
se perderem. O transmissor desistirá e encerrará a conexão,
enquanto o outro lado não saberá nada sobre todas as ten-
tativas de desconexão e pennanecerá ativo. Isso resulta em 6.2.4 Controle de erros e controle de fluxo
un1a conexão semiaberta, e é inaceitável. Tendo exa1ninado o estabelecitnento e o encerratnento da
Poderíamos evitar esse problema não permitindo ao conexão com algu1n detalhe, agora veremos co1no as cone-
transmissor desistir após N tentativas e forçando-o a conti- xões são gerenciadas enquanto estão em uso. As principais
nuar tentando até obter resposta. Entretanto, se o outro lado questões são controle de erros e controle de fluxo. Contro-
tiver te1npo a expirar (antes de se esgotar o tempo, ou seja, le de erros significa garantir que os dados sejam entregues
entrar em timeout), o transmissor continuará tentando para com o nível de confiabilidade desejado, nonnalmente que
sempre, pois nenhuma resposta será recebida. Se não per- todos seja1n entregues se1n qualquer erro. Controle de fluxo
mitirmos que o lado receptor entre e1n timeout, o protocolo significa in1pedir que u1n transmissor rápido sobrecarregue
se comportará como na Figura 6.14(d). um receptor lento.
Un1a forma de extinguir conexões semiabertas é criar Essas duas questões já apareceram antes, quando estu-
uma regra informando que, se nenhum segmento chegar damos a camada de enlace de dados. As soluções usadas na
durante determinado número de segundos, a conexão será camada de transporte têm os 1nesmos 1necanis1nos que estu-
encerrada automaticamente. Dessa fonna, se um lado en- damos no Capítulo 3. Como u1na recapitulação muito rápida:
cerrar a conexão, o outro perceberá a falta de atividade e 1. U1n quadro transporta um código de detecção de erro
também encerrará a conexão. Essa regra também cuida (p. ex., um CRC ou checksum) que é usado para veri-
do caso em que a conexão é interrotnpida (pois a rede não ficar se a informação foi recebida corretamente.
Capítulo 6 • A camada de transporte 339

2. Un1 quadro transporta um número de sequência para que um quadro aumentaria a complexidade sem n1elhorar o
se identificar e ser retransmitido pelo transmissor até desempenho. Para enlaces com fio e de fibra óptica, como
que receba uma confirmação de recebimento bem-su- a Ethernet (comutada) ou backbones de ISP, a taxa de erros
cedido do receptor. Isso é chamado ARQ (Automatic é baixa o suficiente para que as retransmissões da camada
Repeat reQuest). de enlace possam ser omitidas, pois as retransmissões fim a
3. Existe um nú1nero máximo de quadros que o transmis- fin1 repararão a perda residual de quadros.
sor pennitirá que estejam pendentes ao mesmo tempo, Por sua vez, muitas conexões TCP têm um produto
interrompendo se o receptor não estiver confinnando largura de banda-atraso que é muito maior que um úni-
quadros com rapidez suficiente. Se esse máximo for co segmento. Considere u1na conexão enviando dados
um pacote, o protocolo é chamado stop-and-\vait. Ja- pelos Estados Un idos a 1 Mbps com um tempo de ciclo
nelas n1aiores pennitem a canalização e melhora1n o de 200 ms. Até mesmo para essa conexão lenta, 200 Kbits
dese1npenbo sobre enlaces longos e rápidos. de dados serão annazenados no receptor no tempo neces-
4. O protocolo de janela deslizante co1nbina esses re-
sário para enviar um segmento e receber uma confirmação.
cursos e também é usado para dar suporte à transfe- Para essas situações, uma grande janela deslizante deve
rência de dados bidirecional. ser usada e o stop-and-wait prejudicará o dese1npenho.
Em nosso exemplo, isso limitaria o desempenho a um seg-
Visto que esses 1necanisn1os são usados e1n quadros mento a cada 200 ms, ou 5 segmentos/s, não importa quão
na camada de enlace, é natural questionar por que eles tam- veloz a rede realmente seja.
bém seriam usados em segmentos na camada de transporte. Dado que os protocolos de transporte geralmente
Contudo, na prática, há pouca duplicação entre as camadas usam janelas deslizantes maiores, vere1nos a questão do
de enlace e de transporte. Embora os n1esmos mecanismos buffering de dados co1n n1ais cuidado. Co1no um host pode
seja1n utilizados, existem diferenças em função e em grau. ter muitas conexões, cada uma tratada separadamente, ele
Para uma diferença em função, considere a detecção pode precisar de uma quantidade substancial de buffering
de erro. O checksum da camada de enlace protege um qua- para as janelas deslizantes. Os buffers são necessários no
dro enquanto ele atravessa um único enlace. O checksum transmissor e no receptor. Certa1nente, eles são necessários
da camada de transporte protege um segmento enquanto ele no transmissor para 1nanter todos os segmentos transmi-
atravessa um caminho de rede inteiro. Essa é u1na verifica- tidos mas ainda não confinnados. Eles são necessários lá
ção fi1n a fi1n, que não é o mesmo que ter u1na verificação porque esses segmentos podem ser perdidos e precisam ser
em cada enlace. Saltzer et al. (1984) descrevem uma situa- retransmitidos.
ção em que os pacotes foram corrompidos dentro de um Todavia, como o trans1nissor está mantendo buffers,
roteador. Os cbecksu1ns da camada de enlace protegeram o receptor pode ou não dedicar buffers específicos a co-
os pacotes so1nente enquanto eles atravessaran1 um enlace, nexões específicas, como desejar. O receptor pode, por
e não enquanto eles estavam dentro do roteador. Assim, os exe1nplo, 1nanter um único pool de buffers co1npartilbado
pacotes foram entregues incorreta1nente, embora estives- por todas as conexões. Quando um segmento chega, é feita
sem corretos segundo as verificações e1n cada enlace. uma tentativa de adquirir dinamicamente un1 novo buffer.
Esse e outros exemplos levaram Saltzer et ai. a articu- Se houver um disponível, o segmento é aceito; caso con-
lar o argumento fim a fim . De acordo com esse argumen- trário, ele é descartado. Como o transmissor está preparado
to, a verificação da camada de transporte que é executada para retransmitir segmentos perdidos pela rede, nenhum
fim a fim é essencial para a exatidão, e as verificações da prejuízo permanente será causado se o receptor descartar
camada de enlace não são essenciais, mas apesar disso são segmentos, en1bora alguns recursos sejam desperdiçados.
valiosas para melhorar o desempenho (pois se1n elas um O transmissor simplesmente continua tentando até receber
pacote corrompido pode ser enviado pelo caminho inteiro uma confirmação.
desnecessariamente). A melhor alternativa entre buffering na origem e
Como u1na diferença em grau, considere as retrans- buffering no destino depende do tipo de tráfego transpor-
missões e o protocolo de janela deslizante. A maioria dos tado pela conexão. Para um tráfego em rajada, co1n baixa
enlaces sem fio, diferentemente dos enlaces de satélite, largura de banda, como aquele produzido por um usuário
pode ter apenas um único quadro pendente a partir do trans- digitando em um computador remoto, é razoável não dedi-
missor de u1na só vez. Ou seja, o produto largura de banda- car 11enhum buffer, mas adquiri-lo dina1nicamente nas duas
-atraso para o enlace é tão pequeno que ne1n sequer u1n extre1nidades, confiando no buffering no trans1nissor se
quadro inteiro pode ser armazenado dentro do enlace. Nes- os segmentos ocasionalmente tivere1n de ser descartados.
se caso, um tamanho de janela pequeno é suficiente para o Contudo, para a transferência de arquivos e outro tráfego
bo1n dese1npenho. Por exemplo, o 802.11 usa um protocolo com alta largura de banda, é melhor que o receptor não de-
stop-and-wait, transmitindo ou retransmitindo cada qua- dique uma janela inteira de buffers, 1nas pennita que os da-
dro e esperando que seja confinnado antes de prosseguir dos fluam em velocidade 1náxima. Essa é a estratégia usada
para o quadro seguinte. Ter um tamanho de janela maior pelo TCP.
340 Redes de computadores

Ainda resta a questão de co1no organizar o pool de bu- conhecer o tráfego oferecido), poderia dizer ao transn1issor:
ffers . Se a maioria dos segmentos for quase do mesmo ta- "Tenho X buffers reservados para você''. Se o número de
manho, é natural organizá-los como um pool de buffers de conexões abertas au1nentar, talvez seja necessário reduzir
tamanho idêntico, com um segmento por buffer, co1no na uma alocação de buffer; portanto, o protocolo deve oferecer
Figura 6.1 S(a). Contudo, se houver un1a grande variação no essa possibilidade.
ta1nanho do seg1nento, de solicitações curtas para páginas U1n modo razoavelmente genérico de 1nanejar a alo-
Web a pacotes grandes em transferências de arquivo peer- cação dinâmica de buffers é desvincular o seu gerencia-
-to-peer, um conjunto de buffers de tamanho fixo apresen- mento das confirmações, ao contrário do que ocorre com
tará problen1as. Se o ta1nanho do buffer for escolhido para os protocolos de janela deslizante do Capítulo 3. Na ver-
ser igual ao maior ta1nanho de seg1nento possível, o espaço dade, o gerencia1nento dinâmico de buffers significa usar
será desperdiçado sempre que um segmento curto chegar. uma janela de tamanho variável. Inicialmente, o transn1is-
Se o tamanho do buffer for escolhido para ser menor que o sor solicita determinado número de buffers, com base em
ta1nanho máximo do segmento, vários buffers serão neces- suas necessidades. Em seguida, de acordo corn o número
sários para segmentos longos, com a co1nplexidade criada solicitado, o receptor oferece todos os buffers de que dis-
nesse caso. põe. Sempre que enviar u1n segmento, o transmissor deverá
Outra abordagem para o problema do tamanho dos decrementar sua alocação, parando por completo quando
buffers é usar buffers de ta1nanho variável, corno mostra a ela chegar a zero. Ern seguida, o receptor transm ite (de ca-
Figura 6.1 S(b). A vantagem nesse caso é a melhor utilização rona) as confirmações e as alocações de buffers no tráfego
de memória, à custa de um gerenciamento de buffers 111ais reverso. O TCP usa esse esquema, transportando alocações
complicado. Uma terceira possibilidade é dedicar um grande de buffer em um campo do cabeçalho chamado Ta1nanho
buffer circular a cada conexão, como ilustra a Figura 6.15(c). de janela.
Esse sistema é sirnples e elegante, e não depende do tamanho A Figura 6. 16 mostra um exemplo de como o geren-
dos segmentos, mas só faz urn bo1n uso da memória quando ciarnento dinâmico de janelas poderia funcionar en1 tnna
todas as conexões tê1n uma carga muito pesada. rede de datagramas com números de sequência de 4 bits.
A' medida que as conexões são abertas e fechadas e Nesse exemplo, os dados fluem em segmentos do host
que o padrão de tráfego se altera, o transmissor e o receptor A para o host B e as confirmações e alocações de buffers
precisam ajustar dina1nicamente suas alocações de buffers. fluern em segmentos no sentido contrário. Tnicialn1ente,
Consequenten1ente, o protocolo de transpo1te deve pennitir A quer oito buffers, dos quais só recebe quatro. Em segui-
que o host transmissor solicite espaço em buffer na outra da, A envia três segmentos, sendo que o terceiro é perdido.
extremidade da conexão. Os buffers poderiam ser alocados O segrnento 6 confirma a recepção de todos os segmentos
por conexão ou de maneira coletiva, para todas as cone- até o número de sequência 1, inclusive, permitindo que A
xões e1n execução entre os dois hosts. Em contrapartida, o libere esses buffers, e informa a A que ele tem pern1issão
receptor, conhecendo a situação de seus buffers (n1as sem para enviar 1nais três segmentos, começando pelo segmento

} segmento 1

Segmento 2

Segmento3
1

(a) (b)
Segmento 4
Espaço n ão
utilizado

\
'
(e)
Figura 6.15 (a) Buffers de tamanho fixo encadeados. (b) Buffers de tamanho variável encadeados. (c) Um grande buffer
circular por conexão.
Capítulo 6 • A camada de transporte 341

A Mensagem B Comentários

1 - < request 8 buffers> - A deseja 8 buffers


2 -- <ack = 15, buf = 4> - B concede mensagens 0-3 apenas
3
4 --
<seq = O, data = mO>
<seq = 1, data= m1>
-- A tem 3 buffers restantes agora
A tem 2 buffers restantes agora
5 <seq =2, data = m2> ••• Mensagem perdida, mas A acha que tem 1 restante
6 - <ack = 1, buf =3> - B confirma O e 1, permite 2-4
7 -- <seq = 3, data = m3> - A tem 1 buffer restante

9
8
--
<seq = 4, data = m4>
<seq = 2, data =m2>
-- A tem O buffer restante e deve parar
A atinge o timeout e retransmite
10
11 -
<ack = 4, buf =0>
<ack =4, buf =1>
-- Tudo confirmado, mas A ainda bloqueado
A pode agora enviar 5
12 - <ack = 4, buf =2> -- B encontrou novo buffer em algum lugar
13
14
-- <seq = 5, data = m5>
<seq = 6, data =m6> --
A tem 1 buffer restante
A agora está bloqueado novamente
15
16 •••
- <ack = 6, buf =0>
<ack = 6, buf =4> -
A ainda está bloqueado
Impasse em potencial

Figura 6.16 Alocação dinâmica de buffers. As setas mostram o sentido da transmissão. As reticências(...) indicam a perda
de um segmento.

seguinte ao de número 1 (i.e., os segmentos 2, 3 e 4). A sabe nunca será um problema, até mesmo para conexões remo-
que já enviou o segtnento de número 2 e assiin imagina tas. É claro que isso depende do tamanho do buffer sendo
que pode enviar os segmentos 3 e 4, o que acaba por fazer. definido como grande o suficiente, o que nem sempre acon-
Nesse ponto, ele é bloqueado e deve aguardar a alocação teceu no caso do TCP (Zhang et ai., 2002).
de mais buffers. Entretanto, pode haver retransmissões Quando o espaço em buffer deixar de limitar o fluxo
(linha 9) induzidas por timeouts durante o bloqueio, pois máxirno, surgirá outro gargalo: a capacidade de transporte
elas utilizam buffers que já haviam sido alocados. Na li- da rede. Se os roteadores adjacentes puderem trocar dados
nha 1O, B confi1ma a recepção de todos os segmentos até em uma taxa de no máximo x pacotes/s, e se houver k ca-
4, inclusive, mas se recusa a permitir que A continue. Essa rninhos disjuntos entre un1 par de hosts, esses hosts não
situação é impossível com os protocolos de janela fixa do poderão trocar n1ais de kx seg1nentos/s, independenternente
Capítulo 3. O próximo segmento de B para A aloca outro do espaço em buffer disponível em cada ext:rernidade da
buffer e pennite que A continue. Isso acontecerá quando B conexão. Se o transn1issor forçar 1nuito a transrnissão (ou
tem espaço em buffer, provavelmente porque o usuário do seja, enviar mais de kx segmentos/segundo), a rede ficará
transporte aceitou mais segmentos de dados. congestionada, pois não será capaz de entregar os segmen-
Podem surgir problemas potenciais com esquemas tos na mesma taxa em que eles chegam.
de alocação de buffers desse tipo em redes de datagramas, E' necessário urn mecanismo que limite as trans1nis-
caso ocorra a perda de segmentos de controle - e eles certa- sões com base na capacidade de transporte da rede, en1 vez
mente surgem. Observe a linha 16. B já alocou mais buffers da capacidade dos buffers do receptor. Belsnes ( 1975) pro-
para A, 1nas o segmento da alocação foi perdido. Cotno os pôs o uso de um esquema de controle de fluxo com uma ja-
segmentos de controle não respeitam uma sequência nem nela deslizante, no qual o transmissor ajusta dinamica1nente
sofrem timeout, A está em um impasse. Para evitar que isso o ta1nanho da janela à capacidade de transporte da rede.
aconteça, cada host deve enviar periodicamente segmentos Isso significa que o tamanho da janela deslizante pode
de controle informando o status dos buffers e das confirma- implementar controle de fluxo e controle de congestiona-
ções e111 cada conexão. Dessa forma, o impasse será resol- mento. Se a rede puder adn1inistrar e seg1nentos/s e o ten1po
vido 1nais cedo ou mais tarde. de ciclo (incluindo transmissão, propagação, enfileiramento,
Até agora, partirnos da suposição de que o único li- processatnento no receptor e retorno da confumação) for r,
mite imposto sobre a taxa de dados do transmissor é o es- a janela do transmissor deverá ser cr. Co1n u1na janela des-
paço em buffer disponível no receptor. Isso nonnalmente se tan1anho, o transmissor nonnahnente opera con1 toda a
não acontece. A memória já foi 111uito cara, 111as os preços capacidade do pipeline. Qualquer pequena dirninuição no
caíran1 bastante. Os hosts poden1 ser equipados co111 1nemó- desernpenho da rede bloqueará o fluxo. Con10 a capacidade
ria suficiente, de modo que a fa lta de buffers rararnente ou de rede disponível para qualquer fluxo varia com o tempo, o
342 Redes de computadores

tamanho da janela deverá ser ajustado com frequência, para 6.2.6 Recuperação de falhas
acompanhar as mudanças na capacidade de transporte. Como
veremos inais adiante, o TCP usa um esquema semelhante. Se os hosts e roteadores estiverem sujeitos a interrupções
em seu funcionarnento ou se as conexões tiverem longa
vida (p. ex., download grande de software ou multimídia), a
6.2.5 Multiplexação recuperação dessas panes se tornará uma questão importan-
te. Se a entidade de transporte estiver inteiratnente contida
A 1nultiplexação, ou compartilhamento de várias conversa- nos hosts, a recuperação de falhas na rede ou no roteador
ções e1n conexões, circuitos virtuais e enlaces fisicos, tem será sin1ples. As entidades de transporte esperam segn1en-
u1n papel importante e1n diversas ca1nadas da arquitetura tos perdidos o tempo todo e sabem co1no lidar com eles
de rede. Na ca1nada de transporte, a necessidade da multi- usando retransmissões.
plexação pode surgir de diversas formas. Por exemplo, se Um problema mais complexo é como recuperar o fun-
houver apenas um endereço de rede disponível em um host, cionamento depois de uma pane no host. Em particular, tal-
todas as conexões de transporte nessa máquina terão de vez seja preferível que os clientes possam continuar funcio-
utilizá-lo. Ao chegar um segmento, é necessário encontrar nando quando os servidores falhare1n e foren1 rapida1nente
algum meio de descobrir a qual processo ele deve ser entre- reinjciados em seguida. Para ilustrar a dificuldade, vamos
gue. Essa situação, denon1inada multiplexação, é ilustrada supor que un1 host, o cliente, esteja enviando urn arquivo
na Figura 6. l 7(a). Nessa figura, quatro conexões de trans- nJuito grande a outro host, o servidor de arquivos, utilizan-
porte distintas utilizam a mesma conexão de rede (p. ex., do um protocolo stop-and-wait sirnples. A camada de trans-
um endereço fP) para o host remoto. porte do servidor sin1plesmente passa os seg1nentos que
A multiplexação també1n pode ser útil na can1a- chegam para o usuário de transporte, um a um. No meio da
da de transporte por outra razão. Por exe1nplo, suponha transrnissão, o servidor sai do ar. Quando ele volta a funcio-
que u1n host tenha vários ca1ninhos de rede que ele possa nar, suas tabelas são reiniciadas, e ele não sabe rnais exata-
usar. Se um usuário necessitar de maior largura de banda n1ente onde estava.
ou mais confiabilidade do que u1n dos caminhos de rede Na tentativa de recuperar seu estado anterior, o servi-
pode fornecer, uma saída será u1na conexão que distribua dor pode transmitir un1 seg1nento por broadcast a todos os
o tráfego entre vários caminhos de rede e1n rodízio, co1no outros hosts, comunicando seu problema e solicitando que
indica a Figura 6. l 7(b). Esse n1odo de operação é chama- seus clientes o informem sobre o status de todas as cone-
do de multiplexação inversa. Com k conexões de rede xões abertas. Cada cliente pode estar em um dos seguintes
abertas, a largura de banda efetiva é aurnentada k vezes. estados: un1 seg1nento pendente, SI , ou nenhum segn1ento
Um exernplo cornu1n de multiplexação inversa é o SCTP, pendente, SO. Com base apenas nessas informações de es-
que pode trabalhar com uma conexão usando várias in- tado, o cliente tem de decidir se deve ou não retransmitir o
terfaces de rede. Ao contrário, o TCP utiliza uma única segmento mais recente.
'
extremidade de rede. A 1nultiplexação inversa ta1nbén1 é A pri1neira vista, parece óbvio que o cliente só deve
encontrada na camada de enlace, quando vários enlaces de retransmitir se houver um segmento não co11firmado pen-
baixa velocidade são usados em paralelo con10 um enlace dente (í.e., se ele se encontTar no estado SI) durante a queda
de alta velocidade. do servidor. Contudo, uma análise 1nais detalhada revela

Endereço de transporte
Camada /
4

2 "" /
Linhas do roteador

Para o roteador
(a) (b)

Figura 6.17 (a) Multiplexação. (b) Multiplexação inversa.


Capítulo 6 • A camada de transporte 343

as dificuldades dessa abordagem simplista. Por exemplo, pane (C). Os três eventos podetn ocorrer em seis ordens dis-
considere a situação na qual a entidade de transporte do tintas: AC(W), AWC, C(AW), C(WA), WAC e WC(A), onde
servidor primeiro envia uma confmnação e depois, quan- os parênteses são usados para indicar que nem A nen1 W
do a confinnação tiver sido enviada, efetua uma gravação podetn seguir C (ou seja, não há nenhum evento após uma
no processo de aplicação. Gravar um seg1nento no fluxo de pane). A Figura 6.18 mostra as oito con1binações de estraté-
saída e enviar un1a confirn1ação são dois eventos distintos gias do cliente e do servidor, e as sequências de eventos vá-
que não podem ser realizados simultaneamente. Se ocor- lidas para cada uma delas. Observe que, para cada estraté-
rer uma falha após o envio da confirmação, mas antes de a gia, existe alguma sequência de eventos que resulta na falha
gravação ser feita, o cliente receberá a confirmação e assim do protocolo. Por exemplo, se o cliente sempre retransn1itir,
ficará no estado SO quando chegar o anúncio de que o fun- o evento AWC gerará uma duplicata não detectada, 1nesmo
cionan1ento foi recuperado. Consequentemente, o cliente que os dois outros eventos funcionen1 perfeitamente.
não retransmitirá, porque imagina (incorretamente) que o Tornar o protocolo mais elaborado também não aju-
segmento chegou. Essa decisão do cliente ocasiona a perda da muito. Ainda que o cliente e o servidor troquem vários
de um segmento. segmentos antes de o servidor tentar gravar, de forma que o
A essa altura, você deve estar pensando: "E' fácil resol- cliente saiba exatamente o que está para acontecer, o cliente
ver esse problema. Basta reprogramar a entidade de trans- não terá meios para saber se ocorreu uma pane imediata-
porte para gravar primeiro o segmento e depois enviar a mente antes ou i1nediatamente após a gravação. A conclu-
confirmação". Tente outra vez. Imagine que a gravação foi são é inevitável: sob nossas regras básicas de não haver
feita 1nas a falha do servidor ocorreu antes de ser possí- eventos simultâneos - ou seja, eventos separados aconte-
vel enviar a confirmação. O cliente estará no estado Sl e, cem um após o outro, e não ao mesmo tempo -, a queda e
portanto, retransmitirá, acarretando uma duplicata do seg- a recuperação do host não podem ser realizadas de forma
mento não detectada no fluxo de saída para o processo de transparente para as camadas mais altas.
aplicação do servidor. Em tern1os mais genéricos, esse resultado pode
Independentemente da forma como o cliente e o ser- ser reafirmado como o fato de que "a recuperação de
vidor são programados, sempre haverá situações em que o uma queda da camada N só pode ser fei ta pela can1ada
protocolo não recuperará o funcionamento de 1nodo apro- N + l", e mesmo assim somente se a camada mais eleva-
priado. O servidor poderá ser programado de duas ma- da 1nantiver u1n volu1ne suficiente de infonnações sobre o
neiras: para confi1mar primeiro ou para gravar pri1neiro. status para reconstruir onde estava antes que o problema
O cliente poderá ser programado de quatro formas: para ocorresse. Como mencionan1os anteriormente, a camada de
sen1pre retransm itir o últi1no segmento, para nunca re- transporte pode se recuperar de falhas na camada de rede,
transmitir o últi1no segmento, para retransmitir so1uente no desde que cada extre1nidade da conexão tenha uma ideia do
estado SO ou para retransmitir so1nente no estado SI. Isso ponto em que está.
nos dá oito co1nbinações, mas, como veremos, para cada Esse problema nos leva à questão do que significa
co1nbinação existe algum conjunto de eventos que faz o de fato a cha1nada confir1nação fun a fim. Em princípio, o
protocolo falhar. protocolo de transporte é fi1n a fi1n, pois não é encadeado
Há três eventos possíveis no servidor: enviar uma con- como as camadas inferiores. Considere agora o caso de
firn1ação (A), gravar no processo de saída (W) e sofrer u1na um usuário que solicita transações relativas a u1n banco

Estratégia usada pelo host receptor

Primeiro ACK, depois gravar Primeiro gravar, depois ACK

Estratégia usada pelo


host transmissor AC0/V) AWC C(AW) C0/VA) WAC WC(A}

Sempre retransm itir OK DUP OK OK DUP DUP

Nunca retransmitir LOST OK LOST LOST OK OK

Retransmitir em SO OK DUP LOST LOST DUP OK

Retransmitir em S1 LOST OK OK OK OK DUP

OK = Protocolo funciona corretamente


DUP = Protocolo gera uma mensagem duplicada
LOST = Protocolo perde uma mensagem

Figura 6.18 Diferentes combinações de estratégias do cliente e do servidor.


344 Redes de computadores

de dados remoto. Suponha que a entidade de transpo11e re- 6.3.1 Alocação desejável de
mota esteja programada de modo a passar primeiro os seg-
largura de banda
tnentos para a catnada itnediatamente superior e só então
enviar a confirmação. Até 1nesmo nesse caso, o fato de uma Antes de descrevermos co1no regular o tráfego, temos de
confirmação ter sido recebida na n1áquina do usuário não entender o que esta1nos tentando alcançar executando um
quer dizer necessaria1nente que o host remoto funcionou algoritmo de controle de congestionamento. Ou seja, te-
por tempo suficiente para atualizar o banco de dados. Uma mos de especificar o estado en1 que u1n bon1 algoritmo de
confirn1ação fin1 a fim verdadeira, cujo recebimento indica controle de congestiona1nento operará na rede. O objetivo
que o trabalho foi realmente realizado e cuja falta indica é mais do que simples1nente evitar o congestionamento,
que ele não foi cumprido, talvez seja algo impossível de trata-se de encontrar tuna boa alocação de largura de ban-
alcançar. Esse assunto é discutido com mais detalhes por da para as entidades de transpo1te que estão usando a rede.
Uma boa alocação oferecerá bom desempenho, pois usa
Saltzer et ai. ( 1984).
toda a largura de banda disponível mas evita congestiona-
mento, será justa entre entidades de transporte concorrentes
e rastreará rapidamente as tnudanças nas demandas de trá-
6.3 CONTROLE DE fego. Vamos esclarecer cada u1n desses critérios por vez.

CONGESTIONAMENTO Eficiência e potência


Se as entidades de transporte en1muitas 1náquinas enviare1n Uma alocação eficiente de largura de banda por entidades
muitos pacotes para a rede com 1nuita rapidez, a rede ficará de transporte usará toda a capacidade da rede que se encon-
congestionada, com o desempenho degradado enquanto os tra disponível. Todavia, não é muito certo pensar que, se
pacotes são atrasados e perdidos. Controlar o congestiona- existe tnn enlace de I 00 Mbps, cinco entidades de transpor-
mento para evitar esse problema é responsabilidade con- te deverão receber 20 Mbps cada uma. Elas normaln1ente
junta das camadas de rede e de transporte. O congestiona- deverão receber menos de 20 Mbps para que tenham um
mento ocorre nos roteadores, de 1nodo que é detectado na bom desempenho. O motivo é que o tráfego nonualmente
camada de rede. Contudo, o congestionamento é causado é feito por rajada. Le1nbre-se de que, na Seção 5.3, descre-
vemos o goodput (ou vazão normalizada, a taxa de pacotes
pelo tráfego enviado para a rede pela camada de transporte.
úteis que chegam ao receptor) como uma função da carga
O único modo eficaz de controlá-lo é fazer os protocolos de
oferecida. Essa curva e uma curva correspondente para o
transporte enviarem pacotes nlais lentamente para a rede.
atraso como u1ua função da carga oferecida são apresenta-
No Capítulo 5, estudamos os mecanis1nos de controle das na Figura 6.1 9.
de congestionamento na camada de rede. Nesta seção, es- A' medida que a carga aumenta na Figura 6. I 9(a), o
tudaremos a outra metade do proble1na, os mecanis1nos de goodput inicialmente aumenta na mesn1a velocidade, mas
controle de congestionamento na camada de transporte. De- quando a carga se aproxi1na da capacidade, o goodput au-
pois de descrever os objetivos do controle de congestiona- menta n1ais gradualmente. Isso ocorre porque as rajadas de
mento, descrevere1nos con10 os hosts podem regular a taxa tráfego ocasionalmente podem se acumular e causar mais
de envio dos pacotes para a rede. A Internet conta bastante perdas nos buffers dentro da rede. Se o protocolo de trans-
com a camada de transporte para o controle de congestiona- porte for n1al projetado e retransmitir pacotes que foram
mento, e algoritmos específicos são elaborados para TCP e atrasados, mas não perdidos, a rede pode entrar e1n colapso
outros protocolos. de congestionamento. Nesse estado, os transmissores estão

Capacidade
----------- ,-~~~~ Inicio do
congestionamento
Resposta '.§:
, desejada g ~
\..._ ~
\ ""- Colapso de
1
~
congestionamento

Carga oferecida (pacotes/s) Carga oferecida (pacotes/s)


(a) (b)

Figura 6.19 (a) Goodput e (b) atraso como função da carga oferecida.
Capítulo 6 • A camada de transporte 345

furiosamente enviando pacotes, mas cada vez menos traba- U1na segunda consideração é o que significa uma fa-
lho útil está sendo realizado. tia justa para os fluxos em un1a rede. Seria muito simples
O atraso correspondente é dado na Figura 6. l 9(b). Ini- se N fluxos usassem utn único enlace, quando todos eles
cialmente, o atraso é fixo, representando o atraso de propa- poderiam ter l/N da largura de banda (embora a eficiência
gação pela rede. A• 1nedida que a carga se aproxima da ca- dite que eles usem pouco 1nenos se o tráfego for em raja-
pacidade, o atraso aumenta, lenta1nente a p1incípio e depois das). Mas o que acontece se os fluxos tiverem caminhos
muito mais rápido. Isso novamente é por causa do tráfego de rede diferentes, porém sobrepostos? Por exemplo, um
que tende a se acu1nular e1n carga alta. O atraso não pode fluxo pode atravessar três enlaces e os outros fluxos podem
realn1ente ir até o infinito, exceto em um modelo em que os atravessar um enlace. O fluxo de três enlaces consome 1nais
roteadores têm buffers infinitos. Em vez disso, os pacotes recursos da rede. Pode ser mais justo e1n certo sentido dar-
serão perdidos após experin1entare1n un1 atraso máximo de -lhe menos largura de banda do que os fluxos de um enlace.
buffering. Certamente, deve ser possível dar suporte a 1nais fluxos de
Para o goodput e o atraso, o desempenho começa a de- um enlace reduzindo a largura de banda do fluxo de três
gradar no início do congestiona1nento. Tntuitiva1nente, ob- enlaces. Esse ponto demonstra uma tensão inerente entre
teremos o melhor desempenho a partir da rede se alocannos justiça e eficiência.
largura de banda até que o atraso comece a cair rapidamen- Contudo, adotaremos uma noção de justiça que não
te. Esse ponto está abaixo da capacidade. Para identificá-lo, depende do comprimento do caminho da rede. Até mesmo
Kleinrock (1979) propôs a n1étrica da potência, onde com esse 1nodelo sin1ples, dar às conexões un1a fração igual
da largura de banda é um pouco complicado, pois diferentes
carga conexões usarão diferentes can1inhos pela rede e esses ca-
potência= --'-- minhos por si só terão diferentes capacidades. Nesse caso, é
atraso
possível que um fluxo seja engarrafado en1 u1n enlace 1nais
A potência inicialmente aumentará com a carga ofere- adiante e use u1na parte menor de um enlace anterior do que
cida, pois o atraso continua sendo pequeno e relativamen- outros fluxos ; reduzir a largura de banda dos outros fluxos
te constante, mas alcançará um máxitno e cairá à n1edida causaria lentidão, 1nas não ajudaria o fluxo cotn gargalo.
que o atraso crescer rapidamente. A carga com a 1nais alta A forma de justiça que nonnalmente é desejada para
potência representa uma carga eficiente para a entidade de uso da rede é a imparcialidade max-min. U1na alocação é
transporte colocar sobre a rede. A rede deve tentar ficar o imparcial max-min se a largura de banda dada a um fluxo
mais próxj1no possível disso. não puder ser au1nentada sem din1inuir a largura de banda
dada a outro fluxo com uma alocação que não seja 1naior.
Ou seja, au1nentar a largura de banda de un1 fluxo só toma-
Imparcialidade max-min rá a situação pior para fluxos menos afortunados.
Na discussão anterior, não falamos sobre como dividir a Vejamos un1 exemplo. Um alocação imparcial max-
largura de banda entre diferentes transn1issores de transpor- -min é mostrada para u1na rede com quatro fluxos , A, B, C
te. Isso parece un1a questão simples de responder - da1nos a e D, na Figura 6.20. Cada um dos enlaces entre os roteado-
todos os transmissores uma fração igual da largura de ban- res tem a n1esn1a capacidade, considerada como 1 unidade,
da - , 1nas ela envolve várias considerações. embora no caso geral os enlaces tenham diferentes capaci-
Talvez a primeira delas seja perguntar o que esse pro- dades. Três fluxos con1petem pelo enlace inferior esquerdo
blema tem a ver com o controle de congestionamento. Afi- entre as rotas R4 e R5. Cada um deles, portanto, recebe 1/3
nal, se a rede der a um transmissor alguma quantidade de do enlace. O fluxo restante, A, compete com B no enlace
largura de banda para usar, o transmissor deve usar apenas de R2 a R3. Con10 B tem uma alocação de 1/3, A recebe os
essa largura de banda. Contudo, as redes em geral não têm 2/3 restantes do enlace. Observe que todos os outros enla-
urna reserva de largura de banda estrita para cada fluxo ou ces têm capacidade de reserva. Todavia, essa capacidade
conexão. Isso pode acontecer para alguns fluxos, se a qua- não pode ser dada a qualquer um dos fluxos sem diminuir
lidade de serviço for admitida, mas n1uitas conexões busca- a capacidade de outro fluxo n1ais baixo. Por exemplo, se
rão usar qualquer largura de banda que estiver disponível mais da largura de banda do enlace entre R2 e R3 for dada
ou serão reunidas pela rede sob u1na alocação comum. Por ao fluxo B, haverá menos para o fluxo A. Isso é razoável,
exemplo, os serviços diferenciados da IETF separam o trá- pois o fluxo A já tem mais largura de banda. Contudo, a
fego em duas classes e as conexões co1npetem pela largura capacidade de fluxo C ou D (ou a111bos) deve ser diminuída
de banda dentro de cada classe. Os roteadores IP normal- para oferecer 1nais largura de banda a B, e esses fluxos te-
mente têm todas as conexões competindo pela tnesma lar- rão menos largura de banda do que B. Assim, a alocação é
gura de banda. Nessa situação, é o mecanismo de controle itnparcial max-111in.
de congestiona1nento que está alocando largura de banda às Alocações max-1nin podem ser calculadas dado um
conexões concorrentes. conhecimento global da rede. Um modo intuitivo de pensar
346 Redes de computadores

sobre elas é imaginar que a taxa para todos os fluxos co- Convergência
meça con1 zero e é aumentada lentarnente. Quando a taxa
Um últin10 critério é que o algorittno de controle de con-
alcança um gargalo para qualquer fluxo, então ele deixa de
gestionarnento convirja rapidamente para uma alocação
aumentar. Todos os outros fluxos continuam a aumentar,
imparcial e eficiente da largura de banda. Essa discussão
co1npartilhando igualmente a capacidade disponível, até do ponto de operação desejável considera um ambiente de
que eles tarnbérn alcancem seus respectivos gargalos. rede estático. Contudo, as conexões sernpre estão indo e
Uma terceira consideração é o nível para avaliar a vindo em urna rede, e a largura de banda necessária para
imparcialidade. Uma rede poderia ser imparcial em ní- determinada conexão também variará com o tempo, por
vel de conexões, conexões entre u1n par de hosts ou to- exemplo, à rnedida que um usuário navega pelas páginas
das as conexões por host. Examinamos essa questão Web e ocasionalmente baixa vídeos grandes.
quando discutimos WFQ (Weighted Fair Queueing) na Devido à variação na demanda, o ponto de operação
Seção 5.4 e concluímos que cada uma dessas definições ideal para a rede rnuda com o tempo. Um bom algoritmo de
tem seus problen1as. Por exemplo, a definição de impar- controle de congestionamento rapidamente converge para
cialidade por host significa que um servidor ocupado não o ponto de operação ideal, e deve acompanhar esse ponto à
se sai melhor que u1n telefone móvel, embora a def!Ilição medida que ele n1uda com o ternpo. Se a convergência for
de imparcialidade por conexão encoraje os hosts a abrir muito lenta, o algoritmo nunca estará próximo do ponto de
mais conexões. Como não existe uma resposta clara, a im- operação em mudança. Se o algorit1no não for estável, ele
pode deixar de convergir para o ponto certo em alguns ca-
parcialidade nonnalmente é considerada por conexão, mas
sos, ou até mesrno oscilar em torno do ponto certo.
a imparcialidade precisa geraltnente não é um problema.
U1n exemplo de alocação de largura de banda que
Na prática, é mais importante que nenhuma conexão te-
muda con1 o tempo e converge rapidarnente aparece na
nha falta de largura de banda do que as demais conexões Figura 6.2 1. Inicialmente, o fluxo 1 tern toda a largura de
receberem precisamente a mesma quantidade de largura banda. Um segundo depois, o fluxo 2 co1neça. Ele tam-
de banda. De fato, com o TCP, é possível abrir várias co- bém precisa de largura de banda. A alocação rapidan1ente
nexões e competir pela largura de banda com mais agres- rnuda para dar a cada u1n deles metade da largura de banda.
sividade. Essa tática é usada por aplicações famintas por Em 4 segundos, urn terceiro fluxo se junta. Contudo, ele usa
largura de banda, como BitTorrent para co1npartilhamento apenas 20% da largura de banda, que é n1enos do que sua fa-
de arquivos peer-to-peer. tia imparcial (que é um terço). Os fluxos l e 2 rapidamente

nl
u
~ 1 i----,
.o
Q)
u
~
i ' Fluxo 1
:;)

e'
nl
ã; 0,5
~ 1 3
~ 1 --~~~~~~~~~~-

.~ :'Fluxo 2 inicia \.........._


nJ 1 Fluxo 3 1 Fluxo 2 termina
g 1 :-------L______ ----------------------{----------------
~ o ......~........~~~~~~-'-~~~~~~~~~~~~'~~~~--
1 4 9
Tempo (s)

Figura 6.21 Mudando a alocação de largura de banda com o tempo.


Capítulo 6 • A camada de transporte 347

se ajustam, dividindo a largura de banda disponível para que Esses casos podem parecer semelhantes ao do trans-
cada um tenha 40% do total. Em 9 segundos, o segundo flu- missor, de modo que transn1itir muito rápido faz os paco-
xo sai e o terceiro fluxo pe1manece inalterado. O pri1neiro tes serem perdidos. Contudo, eles têm diferentes causas e
fluxo rapida1nente captura 80% da largura de banda. Em to- exigem diferentes soluções. Já falamos sobre uma solução
dos os mo1nentos, a largura de banda alocada total é aproxi- de controle de fluxo co1n un1a janela de ta1na11ho variável.
madamente 100%, de modo que a rede é totalmente usada, Agora, consideraren1os u1na solução de controle de con-
e os fluxos concon·entes recebem o 1nesmo tratan1ento (1nas gestionamento. Co1no qualquer um desses problemas pode
não têm que usar mais largura de banda do que precisa1n). ocorrer, o protocolo de transporte en1 geral precisará exe-
cutar as duas soluções e diminuir a velocidade se houver
algum problema.
6.3.2 Regulando a velocidade de envio O modo como u1n protocolo de transporte deve regu-
lar a velocidade de envio depende da forn1a do feedback
Agora é hora do ctu·so principal. Co1no regulamos as taxas retomado pela rede. Diferentes camadas de rede podem re-
de envio para obter uma alocação de largura de banda de- tornar diferentes tipos de feedback, que pode ser explícito
sejável? A taxa de envio pode ser limitada por dois fatores. ou iinplícito, preciso ou impreciso.
O primeiro é o controle de fluxo, caso exista um buffering Um exemplo de projeto explícito e preciso é quan-
insuficiente no extremo receptor. O segundo é o conges- do os roteadores dizem aos transmissores a taxa em que
tiona1nento, caso exista capacidade insuficiente na rede. podem transmitir. Os projetos na literatura, con10 o XCP
Na Figura 6.22, vemos esse proble1na ilustrado de fonna (eXplicit Congestion Protocol), operan1 dessa 1naneira
hidráulica. Na Figura 6.22(a), ve1nos un1 cano grosso le- (Katabi et ai., 2002). Um projeto explícito e impreciso é o
vando a um receptor de pequena capacidade. Essa é uma uso de ECN (Explicit Congestion Notification) com TCP.
situação limitada de controle de fluxo. Desde que o trans- Nesse projeto, os roteadores definem bits nos pacotes que
missor não envie mais água do que o balde pode conter, sofrem congestionamento para alertar os trans1nissores para
nenhuma água será perdida. Na Figura 6.22(b), o fator liini- reduzir a velocidade, mas eles não lhes informam quanto
tador não é a capacidade do balde, 1nas a capacidade interna devem reduzir.
de transporte da rede. Se muita água chegar rapida1nente, Em outros projetos, não existe sinal explícito. O FAST
ela se acumulará e parte será perdida (nesse caso, transbor- TCP mede o atraso de ciclo e usa essa métrica como um
dando a capacidade do funj l). sinal para evitar congestiona1nento (Weí et ai. , 2006).

,__~"'- Ajuste da taxa


de transmissào

Redede
transmissào Congestionamento
interno

Receptor com Receptor com


pequena capacidade---........._ grande capacidade

(a) (b)

Figura 6.22 (a) Uma rede rápida alimentando um receptor de baixa capacidade. (b) Uma rede lenta alimentando um recep-
tor de alta capacidade.
348 Redes de computadores

Protocolo Sinal Explícito? Preciso?


XCP Velocidade a usar Sim Sim
XCP com ECN Advertência de congestionamento Sim Não
FASTTCP Atraso fim a fim Não Sim
TCP COMPOSTO Perda de pacote e atraso fim a f im Não Sim
CUBICTCP Perda de pacote Não Não
TCP Perda de pacote Não Não

Figura 6.23 Sinais de alguns protocolos de controle de congestionamento.

Por fim, na forma de controle de congestionamento mais Considere o que acontece a partir de alguma aloca-
prevalente hoje na Internet, o TCP com tail drop ou rote- ção inicial se o usuário 1 e o usuário 2 aumentarem aditiva-
adores RED, a perda de pacotes é deduzida e usada para mente suas respectivas larguras de banda com o ten1po. Por
sinalizar que a rede ficou congestionada. Existe1n 1nuitas exe1uplo, cada um pode aumentar sua velocidade de envio
variantes dessa fonna de TCP, incluindo CUBIC TCP, que em 1 Mbps a cada segundo. Por fim, o ponto operacional
é usado no Linux (Ha et ai., 2008). Ce1ias combinações cruza a linha da eficiência e os dois usuários recebem um
tan1bém são possíveis. Por exemplo, o Windows inclui TCP sinal de congestionamento da rede. Nesse estágio, eles pre-
con1posto, que usa perda de pacotes e atraso como sinais de cisa1n reduzir suas alocações. Todavia, uma diminuição
feedback (Tan et ai., 2006). Esses projetos são resumidos aditiva simplesmente os faria oscilar ao longo de unia li-
na Figura 6.23. nha aditiva. Essa situação pode ser vista na Figura 6.24.
Se for dado um sinal explícito e preciso, a entidade de O comporta1nento 1nanterá o ponto operacional próximo da
transporte pode usá-lo para ajustar sua taxa ao novo pon- eficiência, 1nas não necessariamente será imparcial.
to de operação. Por exemplo, se o XCP disser aos trans- De 1nodo semelhante, considere o caso em que os
missore-s que velocidade deve ser usada, estes podem sin1- dois usuários au1nentam multiplicativamente sua largura de
plesmente usar essa velocidade. Nos outros casos, porém, banda com o tempo até que recebam um sinal de conges-
alguma tentativa será feita aleatoria1nente. Na ausência de tionamento. Por exemplo, os usuários podem aumentar sua
um sinal de congestionamento, os transmissores deverão velocidade de envio e1n 10% a cada segundo. Se eles dimi-
au1nentar sua velocidade. Quando um sinal de conges- nuíre1n 1nultiplicativamente sua velocidade de trans1nissão,
tionamento é dado, os transmissores devem diininuir sua o ponto operacional simplesmente oscilará ao longo de uma
velocidade. O 1nodo co1no a velocidade é aumentada ou linha multiplicativa. Esse comportamento também aparece
di1ninuída é dado por uma lei de controle. Essas leis têm na Figura 6.24. A linha multiplicativa tem uma inclinação
u1n efeito importante sobre o desempenho. diferente da linha aditiva. (Ela aponta para a origem, en-
quanto a linha aditiva ten1 um ângulo de 45 graus.) Contu-
Chiu e Jain ( 1989) estudaram o caso do feedback de
do, de outras maneiras, ela não é melhor. Em nenhum dos
congestionamento binário e concluíram que AIMD (Addi-
casos os usuários convergirão para as velocidades de envio
tive Increase Multiplicative Decrease) é a lei de contro-
ótimas, que sejam imparciais e eficientes.
le apropriada para chegar ao ponto operacional eficiente e
imparcial. Para defender esse caso, eles construíram u1n
argumento gráfico para o caso simples de duas conexões N

competindo pela largura de banda de um único enlace.


·º Aumento e diminuição
-~ 100% ' aditivos /\
O grafo na Figura 6.24 mostra a largura de banda alocada
ao usuário 1 no eixo x e ao usuário 2 no eixo y. Quando ] '',(»t ///..L1~~a de imparcialidade
a alocação é totahnente imparcial, os dois usuários rece- {g ~',, // Ponto ótimo
bem a mes1na quantidade de largura de banda. Isso pode ser e X__./
visto pela linha de imparcialidade pontilhada. Quando as
alocações soma1n 100% da capacidade do enlace, a aloca-
1l
~ //// X
/ , ~ Aumento e diminuição
multiplicativos

ção é eficiente, o que pode ser visto pela linha de eficiência =>
~ /
// ',
''
f Linha da eficiência
CG /
pontilhada. Um sinal de congestionamento é dado pela rede ...J
o 100%
para os dois usuários quando a soma de suas alocações
Largura de banda do usuário 1
cruza essa linha. A interseção delas é o ponto operacional
desejado, quando os dois usuários têm a mesma largura de Figura 6.24 Ajustes aditivos e multiplicativos da largura
banda e toda a largura de banda da rede é usada. de banda.
Capítulo 6 • A camada de transporte 349

Agora, considere o caso en1 que os usuários aun1en- con1petirem com diferentes leis de controle para evitar o
tam aditivamente suas alocações de largura de banda e congestionamento? Alocações de largura de banda desi-
depois as diminuem multiplicativamente quando o con- guais, isso é o que acontece. Co1no o TCP é a fonna do1ni-
gestionamento é sinalizado. Esse co1nportamento é a lei nante de controle de congestionamento na Internet, existe
de controle AIMD, e aparece na Figura 6.25. Pode-se ver pressão significativa da comunidade por novos protocolos
que o ca1ninho traçado por esse comportamento converge de transporte a seren1 projetados, de n1odo que conco1Tam
para o ponto ótimo, que é imparcial e eficiente. Essa con- de forma justa corn ele. Os primeiros protocolos de strea-
vergência acontece independentemente do ponto de partida, ming de mídia causavam problernas reduzindo excessiva-
tomando o ATMD n1uito útil. Por esse n1esmo argu1nento, mente a vazão do TCP, pois não competiam com imparcia-
a única outra combinação, o aumento multiplicativo com lidade. Isso trouxe a ideia de controle de congestionarnento
diminuição aditiva, divergiria do ponto ótimo. com um TCP amigável, ern que o TCP e protocolos de
AIMD é a lei de controle usada pelo TCP, co1n base transporte diferentes podem ser livremente mesclados sem
nesse argumento e em outro argumento de estabilidade efeitos prejudiciais (Floyd et ai., 2000).
(o de que é fácil levar a rede ao congestionamento e difi-
cil recuperá-la, de modo que a política de aumento deve
ser suave e a política de diminuição, agressiva). Ele não 6.3.3 Problemas da rede sem fio
é muito imparcial, pois as conexões TCP ajusta1n seu ta-
manho de janela por determinado valor a cada tempo de Os protocolos de transporte como o TCP, que irnplernentam
ciclo. Diferentes conexões terão diferentes tempos de ci- controle de congestionamento, devem ser independentes
clo. Isso leva a uma ünparcialidade na qual as conexões das tecnologias subjacentes das camadas de rede e de en-
com hosts mais próximos receberão mais largura de ban- lace. Essa é uma boa teoria, mas na prática existem pro-
da do que as conexões com hosts distantes, tudo o mais blen1as com redes sem fio. O principal deles é que a perda
sendo igual. de pacotes normalmente é usada como um sinal de conges-
Na Seção 6.5, descreveremos corn detalhes co1no o tionamento, inclusive pelo TCP, conforme já discutimos.
TCP in1plementa uma lei de controle AIMD para ajustar As redes se1n fio perdern pacotes o te1npo todo, devido a
a velocidade de envio e oferece controle de congestiona- erros de transmissão. Elas si1nplesrnente não são tão confiá-
mento. Essa tarefa é 1nais dificil do que parece, pois as veis quanto as redes com fio.
velocidades são medidas por algum intervalo e o tráfego Corn a lei de controle AlMD, a alta vazão requer ní-
é feito en1 rajadas. Em vez de ajustar a velocidade dire- veis muito pequenos de perda de pacotes. As análises de
tamente, uma estratégia nor1nalmente utilizada na prática Padhye et ai. ( 1998) mostra1n que a vazão se relaciona com
é ajustar o tamanho de uma janela deslizante - a qual é o inverso da raiz quadrada da taxa de perda de pacotes.
usada pelo TCP. Se o tamanho da janela é W e o ternpo de Na prática, isso significa que a taxa de perdas para cone-
ciclo é RTT, a taxa equivalente é WIRTT. Essa estratégia xões TCP velozes é muito pequena; 1% é uma taxa de per-
é fácil de co1nbinar com controle de fluxo, que já usa uma das moderada, e, quando a taxa atinge 10%, a conexão efe-
janela, e tem a vantagem de que o transmissor regula os tivamente terá deixado de funcionar. Contudo, para redes
pacotes usando confinnações e, portanto, atrasa em um sem fio, corno as LANs 802.11 , taxas de perda de quadros
RTT se parar de receber relatórios de que os pacotes estão de pelo menos l 0% são comuns. Essa diferença significa
saindo da rede. que, sem medidas de proteção, os esquemas de controle de
Como uma última questão, pode haver muitos pro- congestionamento que usam perda de pacotes corno um si-
tocolos de transporte diferentes que enviam tráfego para nal desnecessariarnente sufocarão as conexões que atuarn
a rede. O que acontecerá se os diferentes protocolos sobre enlaces sern fio en1 velocidades rnuito baixas.

100%
Legenda:
"'
"O
CC\I Linha da / =Aumento
"' .o...
.o·- imparc ialidade aditivo (até 45°)
"O ::::J'
Q) ' "

"' o
.... ::::J
::::J
(/)
/ = Diminuição multiplicativa
(a linha aponta
~"O
para a origem)
5

Largura de banda do usuário 1

Figura 6.25 Lei de controle do aumento aditivo com diminuição multiplicativa (AIMD).
350 Redes de computadores

Para funcionar ben1, as únicas perdas de pacote que o perda nos protocolos de transporte dispararn na ordem de
algoritmo de controle de congestionamento deve observar milissegundos a segundos. A diferença é de três ordens de
são aquelas devidas à largura de banda insuficiente, e não grandeza. Isso permite que os enlaces sem fio detectem as
as devidas a en·os de transmissão. U1na solução para esse perdas de quadros e os retransmitam para reparar erros de
problen1a é n1ascarar as perdas sem fio usando retrans1nis- transrnissão n1uito ten1po antes de a perda de pacote ser de-
sões pelo enlace sen1 fio. Por exen1plo, o 802.11 usa um duzida pela entidade de transporte.
protocolo stop-and-wait para entregar cada quadro, ten- A estratégia de máscara é suficiente para pem1itir que
tando realizar transmissões novamente várias vezes, se for os protocolos de transporte funcionem bem pela maioria
preciso, antes de infonnar uma perda de pacote à camada dos enlaces sem fio. Contudo, essa ne1n sernpre é uma so-
superior. No caso nonnal, cada pacote é entregue apesar de lução ideal. Alguns enlaces sem fio têm longos tempos de
erros de trans1nissão transitórios, que não são visíveis às ciclo, como os satélites. Para eles, outras técnicas devem
camadas mais altas. ser usadas para mascarar a perda, como FEC (Forward Er-
A Figura 6.26 mostra u1n caminho com u1n enlace com ror Correction), ou o protocolo de transporte deve usar um
e sem fio, para o qual a estratégia de 1náscara é utilizada. sinal sem perda para o controle de congestiona1nento.
Existe1n dois aspectos a serem observados. Primeiro, o Um segundo problema do controle de congestiona-
transmissor não necessariamente sabe que o caminl1o inclui mento por enlaces se1n fio é a capacidade variável. Ou seja,
um enlace sem fio, pois tudo o que ele vê é o enlace corn fio a capacidade de um enlace sem fio mudar com o tempo,
ao qual está conectado. Os caminhos na Internet são hetero- às vezes bruscamente, à medida que os nós se movem e a
gêneos e não existe urn método geral para que o transmissor relação sinal-ruído varia com a mudança das condições no
saiba quais tipos de enlaces compreendem o caminho in- canal. Isso é diferente dos enlaces com fio, cuja capacidade
teiro. Isso complica o proble1na do controle de congestio- é fixa. O protocolo de transporte precisa se adaptar à capaci-
namento, pois não há um modo fácil de usar urn protocolo dade variável dos enlaces sem fio , ou então congestionará a
para enlaces sern fio e outro protocolo para enlaces con1 fio. rede ou deixará de usar a capacidade disponível.
O segundo aspecto é um quebra-cabeça. A figura Uma solução possível para esse problema é simples-
mostra dois mecanismos que são controlados por perda: mente não se preocupar com isso. Essa estratégia é viável
retransmissões de quadro da catnada de enlace e controle porque os algoritmos de controle de congestionamento já
de congestiona1nento na camada de transporte. O quebra- deverão tratar do caso de novos usuários entrando na rede
-cabeça é con10 esses dois n1ecanisrnos podem coexistir ou usuários existentes mudando sua velocidade de envio.
sem se confundirem. Afinal, uma perda deve fazer apenas Embora a capacidade dos enlaces com fio seja fixa, o com-
u1n mecanismo tomar alguma ação, pois esse é urn erro portamento variável de outros usuários se apresenta como
de transrnissão ou um sinal de congestionamento. Não é variabilidade na largura de banda que está disponível a de-
possível que haja a1nbos. Se os dois mecanismos ton1arem tern1inado usuário. Assi1n, é possível simplesmente usar
alguma ação (retransmitindo o quadro e diminuindo a ve- TCP por um caminho corn un1 enlace sem fio 802.11 e obter
locidade de envio), então voltaremos ao proble111a original um desempenl10 razoável.
de transpo1tes que rodam mais lentamente por enlaces sem Todavia, quando existe 1nuita variabilidade sem fio,
fio. Considere esse quebra-cabeça por urn instante e veja se os protocolos de transporte projetados para enlaces corn
você pode solucioná-lo. fio poden1 ter dificuldade de acompanhar, oferecendo um
A solução é que os dois mecanismos atuan1 em esca- desempenho fraco. A solução nesse caso é un1 protocolo
las de tempo diferentes. As retransrnissões da camada de de transporte que seja projetado para enlaces cabeados.
enlace acontecem na ordern de rnicrossegundos a milisse- Um ambiente pa1ticularn1ente desafiador é tuna rede em
gundos para enlaces sem fio, corno o 802.11. Os timers de n1alha sem fio ern que vários enlaces sem fio interferindo se

Transporte com controle de congestionamento fim a fim (perda = congestionamento)

f Enlace com fio f Enlace sem fio

Transmissor Receptor

Retransmissão na camada de
enlace (perda = erro de transmissão)

Figura 6.26 Controle de congestionamento sobre um caminho com um enlace sem fio.
Capítulo 6 • A camada de transporte 351

cruzan1, as rotas mudan1 devido à n1obilidade e existe muita ao processo associado à porta de destino. Essa associação
perda. Existe pesquisa e1n andamento nessa área. Consulte ocorre quando a pritnitiva BIND ou algo semelhante são
em Li et ai. (2009) um exe1nplo de projeto de protocolo de usados, como vimos na Figura 6.6 para o TCP (o processo
transporte sem fio. de vinculação é idêntico para o UDP). Pense nas portas
con10 caixas de correio que as aplicações podem alugar
para receber pacotes. Falaremos mais sobre elas quando
descrevermos o TCP, que também usa portas. De fato, o
6.4 OS PROTOCOLOS DE principal valor de ter o UDP em relação ao uso do IP bru-
TRANSPORTE DA INTERNET: UDP to é a adição das portas de orige1n e de destino. Sem os
campos de porta, a camada de transporte não saberia o que
A Internet tem dois protocolos principais na camada de fazer com o pacote que chega. Com eles, a camada entrega
transporte, um não orientado a conexões e outro orienta- o segmento encapsulado à aplicação correta.
do a conexões, que se complementa1n. O protocolo não A porta de origem é necessária principalinente quando
orientado a conexões é o UDP. Ele faz quase tudo alé1n de uma resposta precisa ser enviada de volta à origem. Co-
enviar pacotes entre aplicações, permitindo que as aplica- piando o campo Porta de orige1n do segmento de entrada
ções crie1n seus próprios protocolos em ci1na, conforme a no campo Porta de destino do segn1ento de saída, o proces-
necessidade. O protocolo orientado a conexões é o TCP. Ele so que transmite a resposta pode especificar qual processo
faz quase tudo. Faz conexões e acrescenta confiabilidade na máquina transmissora deve recebê-lo.
com retransmissões, junto com controle de fluxo e controle O campo Co111prilnento do UDP inclui o cabeçalho de
de congestiona1nento, tudo e1n favor das aplicações que o 8 bytes e os dados. O comprimento 1nínin10 é de 8 bytes,
utilizam. para incluir o cabeçalho, e o máximo é de 65.515 bytes, que
é menor que o 1naior número que caberá em 16 bits, devido
Nas próximas seções, estudaremos UDP e TCP. Co-
ao limite de tamanho nos pacotes IP.
meçaremos com UDP, pois é o mais simples, e veremos
Um campo opcional de Checksum do UDP também
dois de seus usos. Como UDP é um protocolo da cama-
é fornecido para gerar confiabilidade extra . Ele faz o
da de transporte que normabnente é executado no siste1na
checkswn do cabeçalho, dos dados e de um pseudocabe-
operacional e os protocolos que usam UDP norn1ahnente
çalho conceituai do IP. Ao realizar um cálculo, o campo
são executados no espaço do usuário, esses usos poderiam
de Checksu111 é defmido como zero e o campo de dados é
ser considerados aplicações. Contudo, as técnicas que eles
preenchido com u1n byte zero adicional se seu compriinen-
e1npregam são úteis para muitas aplicações, e o 1nelhor é
to for um número ímpar. O algoritn10 de checksum con-
considerá-los pertencentes a u1n serviço de transporte, e por
siste simplesmente em somar todas as palavras de 16 bits
isso serão explicados aqui.
com complemento de um e apanhar o complemento de
um da soma. Por conseguinte, quando o receptor realiza
6.4.1 Introdução ao UDP o cálculo sobre o segmento inteiro, incluindo o ca1npo de
Checksurn, o resultado deve ser O. Se o cbecksum não for
O conjunto de protocolos da Internet admite wn protocolo calculado, ele será annazenado co1no O, pois, por uma feliz
de transporte não orientado a conexões, o protocolo de da- coincidência da aritmética de complemento de um, um va-
tagrama do usuário, ou UDP (User Datagram Protocol). lor Overdadeiro calculado é annazenado con1 todos os bits
Ele oferece u1n meio para as aplicações enviaren1 datagra- iguais a 1. No entanto, é tolice desativá-lo, a menos que a
mas IP encapsulados se1n que seja necessário estabelecer qualidade dos dados não tenha impo1tância (p. ex., no caso
uma conexão e é descrito na RFC 768. de voz digitalizada).
O UDP transmite segmentos que consistem em tnn O pseudocabeçalho para o caso do 1Pv4 aparece na Fi-
cabeçalho de 8 bytes, seguido pela carga útil. O cabeçalho é gura 6.28. Ele conté1n os endereços fPv4 de 32 bits das 1ná-
tnostrado na Figura 6.27. As duas portas servem para iden- quinas de origem e de destino, o número de protocolo para
tificar os pontos extremos nas máquinas de origem e desti- o UDP ( 17) e a contagem de bytes para o segmento UDP
no. Quando um pacote UDP chega, sua carga útil é entregue (incluindo o cabeçalho). Para o 1Pv6, ele é diferente, porém

- - - - - - - - - - - - - - - - 3 2 bit s - - - - - - - - - - - - - - --
' 1

Porta de origem Porta de destino

Comprimento do UDP Checksum do UDP

Figura 6.27 O cabeçalho UDP.


352 Redes de computadores

- - - - - - - - - - - - - - - - 3 2 b i t s - - - - - - - - - - - - - - --

Endereço de origem

Endereço de destino

00000000 Protocolo = 17 Comprimento do UDP

Figura 6.28 O pseudocabeçalho 1Pv4 incluído no checksum do UDP.

si1nilar. A inclusão do pseudocabeçalho no cálculo do che- parâmetros e recebe de volta um resultado. Essa observação
cksum do UDP ajuda a detectar pacotes não entregues, 1nas levou as pessoas a tentar organizar interações de solicita-
incluí-lo também infringe a bjerarquia de protocolos, pois ção/resposta e1n redes no formato de chamadas de procedi-
os endereços lP nele pertencem à camada do IP, e não à ca- mentos. Tal organização torna as aplicações de rede muito
mada do UDP. O TCP usa o mes1no pseudocabeçalho para niais fáceis de programar e mais familiares. Por exemplo,
o seu checksu1n. imagine uma função cha1nada obter_endereço_IP(nome_
Vale a pena mencionar explicitamente algumas ações do_host) que funcione enviando un1 pacote UDP a un1 ser-
que o UDP não realiza. Ele não realiza controle de fluxo, vidor DNS e aguardando a resposta, chegando ao timeout e
controle de congestionan1ento ou retrans1nissão após a che- tentando de novo, caso não receba um retorno co1n rapidez
gada de un1 seg1nento incorreto. Tudo isso cabe aos proces- suficiente. Desse modo, todos os detalhes de redes podem
sos do usuário. O que ele faz é fornecer uma interface para ficar ocultos ao programador.
o protocolo IP co1n o recurso adicional de de1nultiplexação O trabalho fundamental nessa área foi realizado por
de vários processos que utilizam as portas e detecção op- Birrei! e Nelson (1984). Em resumo, o que os autores su-
cional de erro fim a fim. Isso é tudo que ele faz. geriram foi permitir que os programas chamassem proce-
Para aplicações que requerem controle preciso sobre o dünentos localizados em hosts remotos. Quando um pro-
fluxo de pacotes, os erros ou a sincronização, o UDP forne- cesso na máquina 1 chama um procedimento na máquina
ce apenas aquilo que é detenninado. Uma área em que ele é 2, o processo de chamada em l é suspenso, e a execução
especialmente útil é nas situações cliente-servidor. Normal- do procedimento cha1nado ocorre em 2. As informações
mente, o cliente envia uma solicitação curta para o servidor podem ser transportadas do chamador até o chamado nos
e espera uma resposta curta de volta. Se a solicitação ou parâmetros, e podem voltar no resultado do procedimento.
a resposta se perderem, o cliente pode entrar e1n tüneout Nenhuma passage1n de n1ensagens é visível para o progra-
e tentar novamente. Não apenas o código é simples, mas mador da aplicação. Essa técnica é conhecida como chama-
menos mensagens são necessárias (uma em cada sentido) da de procedimento remoto, ou RPC (Remote Procedure
do que com un1 protocolo exigindo uma preparação inicial, Call), e se ton1ou a base para rnuitas aplicações em redes.
como oTCP. Tradicionahnente, o procedirnento chamador é conhecido
Uma aplicação que utiliza o UDP desse modo é como cliente, e o procedin1ento chamado é conhecido como
o DNS (Domain Name System), que estudaremos no servidor; também usaremos esses nomes aqui.
Capítulo 7. E1n resumo, u1n programa que precisa pes- A ideia por trás da RPC é tornar u1na chamada de
quisar o endereço IP de algum non1e de host - con10 procedimento re1noto o mais semelhante possível a uma
www.cs.berkeley.edu - pode enviar um pacote UDP con- chamada local. Na forma 1nais simples, para chamar um
tendo o nome do hosta u1n servidor DNS. O servidor res- procedimento re.moto, o progra1na cliente deve estar vin-
ponde co1n um pacote UDP que contém o endereço IP do culado a u1n pequeno procedimento de biblioteca, chamado
host. Não é necessária nenhun1a preparação antecipada stub do cliente, que representa o procedimento do servidor
e também nenhum encerramento posterior. Basta enviar no espaço de endereços do cliente. De modo semelhante, o
duas rnensagens pela rede. servidor está vinculado a um procedirnento chamado stub
do servidor. Esses procedi1nentos ocultam o fato de que
a chamada de procedimento do cliente até o servidor não
6.4.2 Chamada de procedimentos remotos é local.
Em certo sentido, enviar w11a 1nensagem a um host remoto As etapas reais na criação de u1na RPC são 1nostradas
e obter de volta uma resposta é muito semelhante a fazer na Figura 6.29. A etapa l é a chamada do cliente ao stub do
uma chamada de função em uma linguagem de programa- cliente. Essa é uma chamada de procedimento local, com os
ção. En1 ambos os casos, você começa co1n u1n ou 1nais parâmetros colocados na pilha da 1naneira normal. A etapa
Capítulo 6 • A camada de transporte 353

CPU do cliente CPU do servidor


Stub do Stub do .
1·r - cliente ~
~

servidor ~

' ' ~rvidor


Cliente 1

2 4
Sistema operacional Sistema operacional

Figura 6.29
"" Enlace de rede

Etapas na criação de uma chamada de procedimento remoto. Os stubs estão sombreados.

2 é o stub do cliente empacotando os parâmetros em uma servidor, este último envia k de volta ao cliente, onde o
mensagem e efetuando uma chamada de sistema para en- novo k é copiado sobre o antigo, pois o servidor pode tê-lo
viar a mensage1n. Ernpacotar os parân1etros é chatnado de alterado. Na realidade, a sequência de chamada padrão da
de marshaling (empacota1nento de fonna padronizada). chamada por referência foi substituída pela cópia/restaura-
A etapa 3 é o siste1na operacional enviando a mensagem da ção. Infelizmente, esse artificio nen1 se1npre funciona, por
máquina cliente até a 1náquina servidora. A etapa 4 é o siste- exemplo, se o ponteiro indicar um grafo ou outra estrutu-
1na operacional passando o pacote recebido ao stub do ser- ra de dados co1nplexa. Por essa razão, algumas restrições
vidor. Finahnente, a etapa 5 é o stub do servidor cha1nando deve1n ser in1postas sobre parâ1netros para procedimentos
o proceditnento servidor com os parâmetros desagrupados. chamados ren1ota1nente, confonne veren1os.
A resposta segue o mesmo caminho no sentido inverso. Um segundo problema é que, e1n linguagens com tipi-
O principal detalhe que devemos observar nesse caso ficação fraca, como C, é perfeitamente vál ido escrever um
é que o procedimento cliente, escrito pelo usuário, sitnples- proceditnento que calcula o produto interno de dois vetores
mente realiza uma chamada de procedin1ento nonnal (i.e., (arrays) sem especificar o tamanho de cada um. Cada vetor
local) ao stub do cliente, que te1n o mesmo nome que o poderia tenninar com um valor especial conhecido apenas
procedin1ento servidor. Tendo em vista que o procedimento pelo procedimento de chamada e pelo procedimento cha-
cliente e o stub do cliente estão no mesmo espaço de en- mado. Sob essas circunstâncias, é essenciahnente i1npossí-
dereços, os parâ1netros são repassados no modo habitual. vel para o stub do cliente encapsular os parâmetros: ele não
De fonna sen1elhante, o proceditnento servidor é chamado tem como detenninar o seu tamanho.
por um procedimento em seu espaço de endereços com os O terceiro problema é que ne1n sempre é possível
parâmetros que ele espera. Para o procedimento servidor, deduzir os tipos de parâmetros, nem mesmo com base
nada é inco1nu1n. Desse 1nodo, e1n vez de ser realizada uma em u1na especificação fonnal ou do próprio código.
E/S via soquetes, a comunicação de rede é feita simulando- Um exemplo é prinif, que pode ter qualquer nú1nero de pa-
-se uma chamada de procedin1ento nonnal. râmetros (pelo 1nenos um), e eles podem ser uma mistura
Apesar da elegância conceituai da RPC, existem al- qualquer de números inteiros, curtos, longos, de caracte-
gu1nas fases obscuras. Uma delas é o uso de parâtnetros de res, de strings, de números em ponto flutuante de diversos
ponteiros. Nom1almente, a passagem de um ponteiro em tamanhos e de outros tipos. Tentar cha1nar prinif a partir
um procedimento não é problema. O procedimento chama- de um procedimento remoto seria pratican1ente itnpossí-
do pode usar um ponteiro do mesmo modo que o chama- vel, porque C é uma linguagem muito permissiva. Toda-
dor o utiliza, porque ambos os procedi1nentos convivem no via, tuna regra estabelece que a RPC pode ser usada desde
mesmo espaço de endereços virtuais. Com a RPC, a passa- que você não use as linguagens C (ou C++), pois estas
gem de ponteiros é impossível, porque o cliente e o servi- não são muito usadas pelos desenvolvedores de aplicações
dor estão em espaços de endereços diferentes. distribuídas.
Em alguns casos, podem ser usados artifícios para tor- Utn quarto proble1na se relaciona ao uso de variáveis
nar possível a passagem de ponteiros. Suponha que o pri- globais. Em geral, o procedimento chamador e o proce-
meiro parâ1netro seja um ponteiro para u1n inteiro k. O stub ditnento chamado podem se comunicar usando variáveis
do cliente pode encapsular k e enviá-lo para o servidor. globais (embora esta não seja uma boa prática), além dos
O stub do servidor cria então um ponteiro para k e o repas- parâmetros. Contudo, se o procedimento cha1nado fordes-
sa ao procedimento servidor, da maneira esperada. Quan- locado para uma 1náquina re1nota, o código faU1ará, por-
do o procedi1nento servidor devolve o controle ao stub do que as variáveis globais não serão nlais con1partilhadas.
354 Redes de computadores

Esses problen1as não pretenden1 sugerir que a RPC 6.4.3 Protocolos de transporte
seja irnpossível. De fato, ela é n1uito uti lizada, mas são ne-
em tempo real
cessárias algumas restrições para fazê-Ia funcionar bem na
prática. A RPC do tipo cliente-servidor é uma área e1n que o UDP
Em tennos de protocolos da camada de transporte, o é amplamente utilizado. Outra área é a das aplicações mul-
UDP é uma boa base para implementar a RPC. Tanto so- timídia em tempo real. Ern particular, à medida que o rádio
licitações quanto respostas podem ser enviadas como um da Internet, a telefonia da Internet, a música por dernanda, a
único pacote UDP no caso mais simples, e a operação pode videoconferência, o vídeo sob demanda e outras aplicações
ser rápida. Entretanto, uma implernentação tambérn precisa de multimídia se tomara1n mais comuns, as pessoas desco-
incluir outros mecanismos. Como a solicitação ou a respos- briram que cada aplicação estava reinventando aproximada-
ta podem se perder, o cliente precisa 1nanter um timer para mente o n1esrno protocolo de transporte em tempo real. Aos
retransmiti-las. Observe que uma resposta serve corno uma poucos, ficou claro que seria un1a boa ideia ter u1n protocolo
confumação implícita para uma solicitação, de modo que de transporte e1n tempo real genérico para várias aplicações.
a solicitação não precisa ser confinnada separadamente. Desse modo, foi criado o protocolo de transporte
Às vezes, os parâmetros ou resultados poden1 ser n1aiores em tempo real, ou RTP (Real-time Transport Protocol).
Ele é descrito na RFC 3550 e agora está difundido para
que o tamanho máximo de pacote UDP, quando algum pro-
aplicações multimídia. Varnos descrever dois aspectos do
tocolo será necessário para entregar mensagens grandes em
transporte e1n tempo real. O primeiro é o RTP para trans-
partes e reagrupá-las corretamente. Se várias solicitações e
portar dados de áudio e vídeo em pacotes. O segundo é
respostas puderem se sobrepor (como no caso da progra-
o processamento que ocorre, principalmente no receptor,
mação concorrente), um identificador será necessário para
para reproduzir áudio e vídeo no momento certo. Essas
combinar a solicitação com a resposta.
funções se encaixam na pilha de protocolos, como n1ostra
Uma preocupação de nível mais alto é que a operação a Figura 6.30.
pode não ser idempotente (i.e., não pode ser repetida com O RTP normahnente trabalha no espaço do usuário
segurança). O caso simples é o de operações idempoten- sobre o UDP (no sistema operacional) e opera da maneira
tes como solicitações e respostas de DNS. O cliente pode descrita a seguir. A aplicação multimídia consiste em vários
seguramente retransrnitir essas solicitações várias vezes se fluxos de áudio, vídeo, texto e possivehnente muitos outros.
não chegar uma resposta. Não importa se o servidor nunca Esses fluxos são annazenados na biblioteca RTP, que se en-
recebeu a solicitação, ou se foi a resposta que se perdeu. contra no espaço do usuário, junta1nente com a aplicação.
O retorno, quando finalmente chega, será o mesmo (su- Essa biblioteca efetua a multiplexação dos fluxos e os codifi-
pondo que o banco de dados do DNS não seja atualizado ca em pacotes RTP, que são então colocados em um soquete.
nesse ínterim). Contudo, nem todas as operações são idem- Na outra extremidade do soquete (no sistetna operacional),
potentes, por exen1plo, quando elas têm efeitos colaterais os pacotes UDP são gerados e incorporados a pacotes RTP,
unportantes, COITIO incrementar um timer. A RPC para es- e entregues ao IP para transmissão por um enlace, como a
sas operações exige semântica mais robusta, de modo que, Ethernet. O processo inverso ocorre no receptor. A aplicação
quando o programa chama um procedirnento, ele não seja rnultirnídia por fim recebe os dados multimídia da biblioteca
executado várias vezes. Nesse caso, pode ser necessário es- RTP, que é responsável por reproduzir a midia. A pi lha de
tabelecer urna conexão TCP e enviar a solicitação por ela, protocolos para essa situação é rnostrada na Figura 6.30(a).
em vez de usar UDP. O aninhamento de pacotes é mostrado na Figura 6.30(b).

Cabe- Cabe- Cabe- Cabe-


çalho çalho çalho çalho
Aplicação multimídia Ethernet IP UDP RTP
Espaço {
do usuário ~------------------ +
RTP
Interface de soquetes Carga útil RTP
1 1 1

UDP
Núcleo
IP Carga útil UDP
doSO
Ethernet Carga útil IP

Carga útil Ethernet


(a) (b)

Figura 6.30 (a) A posição do RTP na pilha de protocolos. (b) O aninhamento de pacotes.
Capítulo 6 • A camada de transporte 355

Como consequência dessa estrutura, é u1n pouco di- a aplicação desejar. Para permitir a interoperação, o RTP
ficil dizer em que camada o RTP está. Como ele funcio- define vários perfis (p. ex., um único fluxo de áudio) e, para
na no espaço do usuário e está vinculado ao progra1na de cada perfil, podem ser per1nitidos vários fonnatos de co-
aplicação, certa1nente parece ser um protocolo de aplica- dificação. Por exemplo, um único fluxo de áudio pode ser
ção. Contudo, ele é um protocolo genérico e independente codificado em amostras PCM de 8 bits a 8 KHz, usando
das aplicações que apenas fornece recursos de transporte, e codificação delta, codificação preditiva, codificação GSM,
assim ta1nbém é semelhante a um protocolo de transporte. MP3, e assim por diante. O RTP fon1ece um campo de ca-
Talvez a melhor descrição do RTP seja como um protocolo beçalho no qual a origem pode especificar a codificação,
de transporte i1nple1nentado na can1ada de aplicação, moti- mas que não tem nenhum outro envolvimento na rnaneira
vo pelo qual está sendo abordado neste capítulo. de realizá-la.
Outro recurso de que muitas aplicações e1n tempo real
RTP - O protocolo de transporte em tempo real necessitam é a marcação com período de tempo. Aqui, a
A função básica do RTP é multiplexar diversos fluxos de ideia é permitir que a origern associe utn período de tempo
dados en1 tempo real sobre u1n único fluxo de pacotes UDP. à prin1eira amostra e1n cada pacote. Os períodos de tempo
O fluxo UDP pode ser enviado a um único destino (uni- são relativos ao início do fluxo, e assim somente as diferen-
casting) ou a vários destinos (multicasting). Como o RTP ças entre os períodos de tempo são significativas. Os va-
utiliza simplesmente o UDP nonnal, seus pacotes não são lores absolutos não têm qualquer significado. Como vere-
tratados de n1aneira especial pelos roteadores, a 1nenos que mos em breve, esse mecanis1no permite ao destino realizar
alguns recursos de qualidade de serviço normais do IP es- algu1n buffering e reproduzir cada a1nostra depois de u1n
tejam ativos. Em particular, não há qualquer garantia espe- nú1nero exato de milissegundos, contados desde o início do
cial sobre entrega, e pacotes podem ser perdidos, atrasados, fluxo, independentemente de quando chegou o pacote con-
adulterados, etc. tendo a amostra.
O formato RTP contém vários recursos para auxiliar O uso de períodos de te1npo não apenas reduz os efei-
os receptores a trabalhar co1n infonnações multimídia. tos da variação no atraso da rede, mas também permite a
Cada pacote enviado em un1 fluxo RTP recebe u1n número sincronização de vários fluxos. Por exemplo, um programa
uma unidade maior que seu predecessor. Essa numeração de televisão digital poderia ter um fluxo de vídeo e dois
permite ao destino descobrir se algu1n pacote está faltando. fluxos de áudio. Os dois fluxos de áudio poderiam ser para
Se u1n pacote for omitido, a 1nelhor ação que o destino deve broadcasts estereofônicos ou para tratamento de filmes
executar fica a cargo da aplicação - ela pode pular un1 qua- com uma trilha sonora no idioma original e outra dubla-
dro de vídeo se os pacotes estiverem transportando dados da no idioma local, dando ao espectador a possibilidade de
de vídeo, ou aproxi1nar u1n valor que falta por interpolação, escolher. Cada fluxo vem de um dispositivo fisico diferen-
se os pacotes estiveren1 transportando dados de áudio. A re- te, 1nas se eles forem marcados com um período de tempo
transn1issão não é uma opção prática, pois o pacote retrans- baseado e1n u1n único contador, poderão ser reproduzidos
mitido provavelmente chegaria tarde demais para ser útil. de rnodo sincronizado, mesrno que os fluxos sejam transmi-
Como consequência, o RTP não tem confir1nação e nenhutn tidos e/ou recebidos de maneira um tanto errática.
mecanismo para solicitar retrans1nissões. O cabeçalho do RTP é ilustrado na Fig1rra 6.31. Ele
Cada carga útil do RTP pode conter várias amos- consiste e1n três palavras de 32 bits e, potenciahnente, al-
tras, e elas podem ser codificadas de qualquer forma que gu1nas extensões. A pritneira palavra contém o can1po de

- - - - - - - - - - - - - - - 3 2 b i t s - - - - - - - - - - - - - - ---

1 1 1 1

Ver. p X cc M Tipo de carga útil Número de sequência

Período de tempo

Identificador de origem de sincronização

~
' '
~
1 1
1 1
~--------------------------------------------------------------------- ~
1 1
l Identificador de origem contribuinte :
1 1
'----------------------------------------------------------------------·
Figura 6.31 O cabeçalho RTP.
356 Redes de computadores

Versão, que já está em 2. Vamos esperar que essa versão proble1nas na rede. Fo111ecendo feedback contínuo, os algo-
esteja bem próxima da versão frnal, pois só falta definir um ritmos de codificação podem ser adaptados continuamente
ponto de código (embora 3 talvez seja definido co1no uma para oferecer a melhor qualidade possível sob as circuns-
indicação de que a versão real estava em u1na palavra de tâncias atuais. Por exen1plo, se a largura de banda aumen-
extensão). tar ou diminuir durante a transmissão, a codificação pode
O bit P indica que o pacote foi completado até chegar passar de MP3 para PCM de 8 bits e para codificação delta,
a u1n 1núltiplo de 4 bytes. O último byte de preenchimento conforme for necessário. O campo Tipo de carga útil é usa-
informa quantos bytes foram acrescentados. O bit X indi- do para informar ao destino qual algoritmo de codificação
ca que um cabeçalho de extensão está presente, mas seu será e1npregado no pacote atual, tomando possível variar o
fonnato e significado não são definidos. O único detalhe algoritmo de acordo com a demanda.
definido é que a primeira palavra da extensão fornece o Um problema para fornecer feedback é que os relató-
comprimento. Essa é un1a válvula de escape para quaisquer rios RTCP são enviados a todos os participantes. Para uma
exigências imprevistas. aplicação multicast co1n um grupo grande, a largura de ban-
O campo CC infonna quantas origens de contribuição da usada pelo RTCP rapida1nente se tornaria 1nuito grande.
estão presentes, de O a 15 (veja a seguir). O bit M é um Para impedir que isso aconteça, os transmissores RTCP re-
bit n1arcador específico da aplicação. Ele pode ser usado duzem a taxa de seus relatórios para consumir coletivamen-
para 1narcar o co1neço de um quadro de vídeo, o começo te não n1ais do que, digamos, 5% da largura de banda de
de uma palavra en1 un1 canal de áudio ou qualquer outro n1ídia. Para fazer isso, cada participante precisa conhecer a
elemento que a aplicação reconheça. O campo Tipo de car- largura de banda de mídia, que ele descobre pelo transmis-
ga útil informa que o algoritmo de codificação foi usado sor, e o número de participantes, que ele estima verificando
(p. ex., áudio não compactado de 8 bits, MP3, etc.). Tendo outros relatórios RTCP.
em vista que todo pacote apresenta esse can1po, a codifica- O RTCP também lida com a sincronização entre flu-
ção pode mudar durante a trans1nissão. O ca1npo Número xos. O problema é que diferentes fluxos podem utilizar
de sequência é apenas um contador incrementado em cada clocks distintos, co1n granularidades e taxas de flutuação
pacote RTP enviado, usado para detectar pacotes perdidos. diferentes. O RTCP pode ser usado para 1nanter esses ele-
O Período de tempo é produzido pela orige1n do flu- 1nentos sincronizados.
xo para anotar quando a primeira amostra no pacote foi Por fim, o RTCP fornece um modo para nomear as di-
realizada. Esse valor pode ajudar a reduzir a flutuação de versas origens (p. ex., e1n texto ASCII). Essas infonnações
sincronização (chamada jitter) no receptor, desacoplando pode1n ser exibidas na tela do receptor, para indicar quetn
a reprodução do momento da chegada do pacote. O Iden- está se co1nunicando no momento.
tificador de origem de sincronização informa a que fluxo Para obter mais infonnações sobre o RTCP, consulte
o pacote pertence. Esse é o método usado para multiplexar Perkins (2003).
e demultiplexar vários fluxos de dados em un1 único fluxo
de pacotes UDP. Por fim, o campo Identificador de origern Transmissão com buffering e controle de jitter
contribuinte, se estiver presente, será usado quando houver
mixers de áudio no estúdio. Nesse caso, o mixer será a ori- Quando a infom1ação de n1ídia chega até o receptor, ela
gen1 de sincronização, e os fluxos que estão sendo mixados precisa ser reproduzida no momento certo. Em geral, esse
serão listados nesse campo. não será o momento em que o pacote RTP chegou ao recep-
tor, pois os pacotes levarão tempos ligeiramente diferentes
RTCP - O protocolo de controle de para transitar pela rede. Mes1no que os pacotes seja1n des-
pachados exatan1ente com os intervalos certos entre eles no
transporte em tempo real trans1nissor, eles alcançarão o receptor com tempos relati-
O protocolo RTP tem um irmão caçula, o protocolo de vamente diferentes. Até mesmo uma pequena quantidade
controle de transporte em tempo real, ou RTCP (Real- de jitter no pacote pode causar imperfeições de mídia que a
-time Transport Control Protocol). Ele é definido com o distorcen1, co1no quadros de vídeo irregulares e áudio inin-
RTP na RFC 3550 e cuida do feedback, da sincronização e teligível, se a mídia for simplesn1ente reproduzida quando
da interface do usuário, n1as não transporta nenhun1a amos- ela chega.
tra de mídia. A solução para esse problema é 1nanter pacotes e1n
A priineira função pode ser usada para fornecer feed- buffer no receptor antes que sejan1 reproduzidos, para redu-
back sobre o atraso, variação do atraso (ou jitter), largura zir o jitter. Con10 exemplo, na Figura 6.32, vemos um fluxo
de banda, congestionamento e outras propriedades de rede de pacotes sendo entregue com uma quantidade substancial
para as origens. Essas informações podem ser usadas pelo de j itter. O pacote l é enviado do servidor em t = Osegundo
processo de codificação para aun1entar a taxa de dados e chega ao cliente em l = 1 segundo. O pacote 2 tem mais
(e oferecer 1nelhor qualidade) quando a rede estiver funcio- atraso e leva 2 segundos para chegar. Quando um pacote
nando bem e para reduzir a taxa de dados quando houver chega, ele é mantido em buffer na máquina cliente.
Capítulo 6 • A camada de transporte 357

Pacote sai da origem ~ 00G~ ~ 0~


Pacote chega ao buffer ~ 0 0G ~ ~ 0
~ 00G~ ~0 .
,--,
Pacote removido do buffer I• Tempo em buffer • . '
'8'
'
'.__J'
--- Lacuna na reprodução

o 5 10 15 20
Tempo (s)

Figura 6.32 Suavizando o fluxo de saída, mantendo pacotes em buffer.

Em t = 1O segundos, a reprodução começa. Nesse pela rnídia no receptor antes de iniciar a reprodução. Essa
momento, os pacotes de 1 a 6 foram rnantidos ern buffer, decisão depende do jitter. A diferença entre tuna conexão
de 1nodo que podem ser removidos do buffer em interva- com jitter baixo e j itter alto pode ser vista na Figura 6.33.
los uniformes, para gerar uma reprodução suave. No caso O atraso médio pode não diferir muito dos dois, mas, se
geral, não é necessário usar intervalos unifonnes, pois os houver urn jitter alto, o ponto de reprodução pode ser mui-
períodos de ternpo RTP dizem quando a mídia deve ser to rnais adiante, para capturar 99% dos pacotes, do que se
reproduzida. houvesse um jitter baixo.
lnfelizrnente, podemos ver que o pacote 8 está tão atra- Para escolher um bom ponto de reprodução, a apli-
sado que não está disponível quando entra em cena. Existem cação pode medir o jitter examinando a diferença entre os
duas opções. O pacote 8 pode ser pulado e o player prosse- períodos de ternpo e a hora da chegada. Cada diferença ofe-
guir para os próximos pacotes ou a reprodução pode parar rece un1a amostra do atraso (mais un1 deslocamento qual-
até que o pacote 8 chegue, criando un1a parada incômoda quer, fixo). No entanto, o atraso pode nludar com o tempo,
na música ou no filme. Em uma aplicação de mídia ao vivo, devido a outras rotas de tráfego concorrentes e variáveis.
como em uma cha1nada VolP, o pacote normalmente será Para acomodar essa mudança, as aplicações pode1n adap-
pulado. Aplicações ao vivo não funcionam bem se forem tar seu ponto de reprodução enquanto estão ern execução.
interrompidas. Em urna aplicação de streaming de mídia, o Contudo, se isso não for bem-feito, mudar o ponto de re-
player pode interron1per. Esse problema pode ser aliviado produção pode produzir um efeito observável ao usuário.
atrasando o tempo ainda mais, usando urn buffer maior. Para Um rnodo de evitar o problema para o áudio é adaptar o
um player com streaming de áudio ou vídeo, os buffers de ponto de reprodução entre os períodos de fala, nos inte1va-
cerca de 1Osegundos normalmente são usados para garantir los de uma conversa. Ninguém notará a diferença entre um
que os pacotes (que não são descartados na rede) cheguem a silêncio curto e outro ligeiramente maior. O RTP pern1ite
tempo. Para aplicações ao vivo, como videoconferência, bu- que as aplicações definam o bit marcador M para indicar o
ffers curtos são necessários para garantir resposta a tempo. início de um novo período de fala com essa finalidade.
Uma consideração irnportante para a reprodução Se o atraso absoluto até que a tnídia seja reproduzida
suave é o ponto de reprodução, ou quanto ten1po esperar for muito longo, as aplicações ao vivo sofrerão. Nada pode

-8
(/)
Q)

<G
o.
-8
(/)
Q)

<G
o.
Q) Q)
'O 'O
o o
•<G •<G
~
.... ~
u.. Alto jitter u..
- - Baixo jitter

Atraso
"-v-'
Atraso . Atraso-~

mínimo
(devido à velocidade da luz)

(a) (b)

Figura 6.33 (a) Alto jitter. (b) Baixo jitter


358 Redes de computadores

ser feito para reduzir o atraso de propagação se já estiver TCP aceita fluxos de dados do usuário provenientes de pro-
sendo usado um caminho direto. O ponto de reprodução cessos locais, divide-os em partes de no rnáximo 64 KB (na
pode ser encontrado simplesmente aceitando-se que uma prática, geralmente temos 1.460 bytes de dados, para que
fração maior de pacotes chegará muito tarde para ser repro- ele possa caber em um único quadro Ethernet com os ca-
duzida. Se isso não for aceitável, a única maneira de atrair o beçalhos IP e TCP) e envia cada parte ern um datagrarna
ponto de reprodução é reduzir o jitter usando Luna qualida- IP distinto. Quando os datagramas que contêm dados TCP
de de serviço melhor, por exemplo, o serviço diferenciado chegam a uma nláquina, eles são enviados à entidade TCP,
de encan1inhamento expresso. Ou seja, é necessário haver que restaura os fluxos de bytes originais. Para simplificar,
uma rede melhor. às vezes utilizarnos apenas "TCP'', a fi1n de fazer referência
tanto à entidade de transporte TCP (um software) quanto
ao protocolo TCP (um conjunto de regras). Pelo contexto,
ficará claro a qual deles estaremos nos referindo. Por exem-
6.5 OS PROTOCOLOS DE plo, em "O usuário envia os dados para TCP", está claro
que estamos nos referindo à entidade de transporte TCP.
TRANSPORTE DA INTERNET: TCP A camada IP não oferece qualquer garantia de que
O UDP é um protocolo simples e tem alguns usos muito os datagramas serão entregues da forma apropriada, nem
importantes, como interações cliente-servidor e multimí- indicação alguma da velocidade com que os datagramas
dia; porén1, para a maioria das aplicações da Internet, é podem ser enviados. Cabe ao TCP enviar datagrarnas com
velocidade suficiente para utilizar a capacidade, mas sem
necessária u1na entrega confiável e em sequência. O UDP
causar congestionamento, além de definir o timeout aceito
não pode proporcionar isso, e assirn foi preciso criar outro
protocolo. Ele se chama TCP e é o principal elemento da e retransmitir quaisquer datagramas que não foram entre-
Internet. Vamos estudá-lo em detalhes nas próximas seções. gues. Os datagramas também podern chegar fora de ordern;
o TCP tambérn terá de reorganizá-los en1 rnensagens na
sequência correta. Resumindo, o TCP deve fornecer bom
6.5.1 Introdução ao TCP desempenho com a confiabilidade que a maioria das aplica-
ções deseja, mas que o IP não oferece.
O protocolo de controle de transmissão, ou TCP (Trans-
mission Control Protocol), foi projetado especificamente
para oferecer u1n fluxo de bytes filll a fim confiável em urna 6.5.2 O modelo de serviço do TCP
rede interligada não confiável. Uma rede interligada é dife- O serviço TCP é obtido tanto pelo remetente quanto pelo
rente de uma única rede porque suas diversas partes podem receptor criando pontos fim a firn , charnados soquetes,
ter topologias, larguras de banda, atrasos, tamanhos de pa- conforme discutido na Seção 6.1.3. Cada soquete tem um
cote e outros parâmetros con1pletamente diferentes. O TCP número (endereço) que consiste no endereço IP do host e
foi projetado para se adaptar dinamicamente às proprieda- em um núrnero de 16 bits local para esse host, chamado
des da rede interligada e ser robusto diante dos muitos tipos porta. Porta é o non1e usado pelo TCP para um TSAP. Para
de falhas que podem ocorrer. que o serviço TCP funcione, é necessário que uma conexão
Esse protocolo foi definido forma lmente na RFC 793, seja explicitamente estabelecida entre um soquete em un1a
em setembro de 1981. Com o passar do tempo, diversas máquina e um soquete em outra rnáquina. As chamadas de
melhorias forarn realizadas, e vários erros e inconsistências soquetes estão listadas na Figura 6.5.
foram corrigidos. Para dar uma ideia da extensão do TCP, as Urn soquete pode ser utilizado por várias conexões ao
RFCs importantes agora são a RFC 793 e mais: esclareci- mesrno tempo. Ern outras palavras, duas ou ruais conexões
mentos e soluções de alguns bugs na RFC 1122; extensões podem terminar no nlesrno soquete. As conexões são iden-
para alto desempenho na RFC 1323; confirmações seletivas tificadas nas duas extremidades pelos identificadores de
na RFC 2018; controle de congestionaruento na RFC 2581; soquetes, ou seja, (soquete] , soquete2). Nenhum núrnero
modificação de propósito dos campos de cabeçalho para de circuito virtual ou qualquer outro identificador é usado.
qualidade de serviço na RFC 2873; melhores sincroniza- As portas com números abaixo de 1.024 são reserva-
ções de retransn1issão na RFC 2988; e notificação explícita das para serviços padronizados, que normalmente só po-
de congestionamento na RFC 3168. A coleção completa é dern ser iniciados por usuários privilegiados (p. ex., root
ainda maior, o que levou a um guia para as muitas RFCs, en1 sisten1as UNIX). Elas são de1101ninadas portas conhe-
publicado como outro docu1nento RFC, a RFC 4614. cidas. Por exemplo, qualquer processo que deseja recupe-
Cada máquina compatível corn o TCP tem uma enti- rar remotamente o correio de un1 host pode se conectar à
dade de transporte TCP, que pode ser urn procedirnento de porta 143 do host de destino para entrar em contato com
biblioteca, um processo do usuário ou, mais comumente, seu daernon IMAP. A lista de portas conhecidas é dada em
parte do núcleo do sistema. Em todos os casos, ele gerencia 1vwtv.iana.org, e 1nais de 700 já foran1 atribuídas. Algun1as
fluxos e interfaces TCP para a camada IP. Uma entidade das mais conhecidas estão listadas na Figura 6.34.
Capítulo 6 • A camada de transporte 359

Porta Protocolo Uso


20, 21 FTP Transferência de arquivos
22 SSH Login remoto, substituto do Telnet
25 SMTP E-mail

80 HTIP World Wide Web

110 POP-3 Acesso remoto a e-mail


143 IMAP Acesso remoto a e-mail

443 HTIPS Web segura (HTTP sobre SSL/TLS)


543 RTSP Controle de player de mídia
631 IPP Compartilhamento de impressora

Figura 6.34 Algumas portas atribuídas.

Outras portas de 1.024 a 49. l 51 pode1n ser registra- Uma conexão TCP é u1n fluxo de bytes e não um flu-
das na lANA para serem usadas por usuários privilegiados, xo de mensagens. As fronteiras das tnensagens não são
mas as aplicações podem escolher e escolhem suas próprias preservadas de ponta a ponta. Por exe1nplo, se o proces-
portas. Por exemplo, a aplicação de compartilhamento de so transmissor executar quatro gravações de 512 bytes e1n
arquivos peer-to-peer BitTorrent (não oficialmente) usa as um fluxo TCP, esses dados poderão ser entregues ao pro-
portas 6881-6887, mas também pode trabalhar com outras. cesso receptor em quatro partes de 512 bytes, em duas de
Certa1nente seria possível fazer o daemon FTP se as- 1.024 bytes, uma de 2.048 bytes (ver Figura 6.35) ou en1
sociar à porta 21 durante a inicialização, fazer o daemon qualquer outra divisão. Não há u1n meio de o receptor de-
SSH se associar à porta 22 em tempo de inicialização, e tectar a(s) unidade(s) em que os dados foram gravados, não
assim por diante. Todavia, isso ocuparia a tnemória com importa quanto ele tente.
daemons que ficaria1n ociosos na rnaior parte do tempo. No UNIX, os arquivos tambérn têm essa propriedade.
E1n vez disso, gerahnente se tem um único, chamado ine- O leitor de un1 arquivo não é capaz de distinguir se ele foi
td (Internet daemon) no UNIX, que se associa a várias gravado u1n bloco por vez, um byte por vez ou todo de uma
portas e espera pela primeira conexão de entrada. Quando vez. A exemplo do que acontece co1n um arquivo UNIX,
isso ocorre, o inetd ativa u1n novo processo e executa nele o o soft•vare TCP não te1n ideia do significado dos bytes, e
daemon apropriado, deixando-o tratar a solicitação. Desse tan1bé1n não está interessado em descobri-lo. U1n byte é
modo, os daen1ons diferentes de inetd só estão ativos quan- apenas wn byte.
do há trabalho a ser realizado. O inetd descobre que porta Quando uma aplicação repassa dados para a entidade
deve usar a partir de um arquivo de configuração. Conse- TCP, ela pode enviá-los imediata1nente ou armazená-los em
quente1nente, o ad1ninistrador do sistema pode configurá-lo un1 buffer (para aguardar outros dados e enviar um volume
para ter daemons permanentes nas portas 1nais ocupadas maior de uma só vez), de acordo com suas necessidades.
(p. ex., a porta 80) e inetd nas restantes. Entretanto, há ocasiões em que a aplicação realmente quer
Todas as conexões TCP são full-duplex e ponto a pon- que os dados sejam enviados de imediato. Por exemplo, su-
to. Full-duplex quer dizer que o tráfego pode ser feito em ponha que um usuário de um jogo interativo queira enviar
ambas as direções ao n1esmo te1npo. Ponto a ponto signi- un1 fluxo de atualizações. É essencial que as atualizações
fica que cada conexão tem exata1nente dois pontos termi- sejam enviadas in1ediatamente, e não n1antidas e1n buffer
nais. O TCP não admite os processos de multicasting ou até que haja uma coleção delas. Para forçar a saída dos da-
broadcasting. dos, o TCP tem uma flag PUSH, que é transportada nos

Cabeçalho IP Cabeçalho TCP

B A B C D

(a) (b)

Figura 6.35 (a) Quatro segmentos de 512 bytes enviados como datagramas IP separados. (b) Os 2.048 bytes de dados en-
tregues à aplicação em uma única chamada READ.
360 Redes de computadores

pacotes. A intenção original foi pennitir que as aplicações consiste em um cabeçalho fixo de 20 bytes (alé1n de uma
digam às implementações TCP, por meio da flag PUSH, parte opcional), seguido por zero ou mais bytes de dados.
para não adiar a transmissão. Contudo, as aplicações não O software TCP decide qual deve ser o tamanho dos seg-
pode1n literahnente definir a flag .PUSH quando enviarem mentos. Ele pode acu1nular dados de várias gravações em
dados. Em vez disso, diferentes sistemas operacionais cria- un1 único segmento ou dividir os dados de un1a única grava-
ram diferentes opções para agilizar a transn1issão (p. ex., ção em vários deles. Dois fatores restringem o tamanho do
TCP_NODELAY em Windows e Linux). segmento. Pri1neiro, cada um, incluindo o cabeçalho, deve
Para os arqueólogos da Internet, também mencionare- caber na carga útil do IP, que é de 65.515 bytes. Segundo,
mos um recurso interessante do serviço TCP que pe1mane- cada enlace tem un1a unidade máxin1a de transferência, ou
ce no protocolo, mas que raran1ente é usado: dados urgen- MTU (Maximum Transfer Unit). Cada seg1nento deve
tes. Quando uma aplicação tem dados de alta prioridade, caber na MTU no transmissor e receptor, de 1nodo que pos-
que devem ser processados imediatamente - por exemplo, sa ser enviado e recebido em um único pacote, não frag-
se um usuário interativo pressionar a cornbinação de teclas mentado. Na prática, a MTU geraln1ente ten1 1.500 bytes
CTRL-C para interromper uma con1putação re1nota que já (o ta1nanho da carga útil Ethernet) e, portanto, define o li-
foi iniciada - , a aplicação transmissora pode colocar algu- mite superior de tamanho dos seg1nentos.
ma informação de controle no fluxo de dados e lhe passar Todavia, ainda é possível que os pacotes IP transpor-
para o TCP junto com a flag URGENT. Esse evento faz tando segn1entos TCP sejam frag1nentados ao passar por um
o TCP parar de acutnular dados e transrnitir tudo que tern caminho da rede para o qual algu1n enlace tenha u1na MTU
para essa conexão imediatamente. pequena. Se isso acontecer, o desempenho é diminuído e
Quando os dados urgentes são recebidos no destino, a causa outros proble1nas (Kent e Mogul, 1987). En1 vez dis-
aplicação receptora é interrompida (na terminologia UNIX, so, as implementações TCP modernas realizam descoberta
ela recebe u1n sinal) e para tudo o que estiver fazendo para da MTU do caminho usando a técnica explicada na RFC
ler o fluxo de dados e encontrar os dados urgentes. O final 1191, que foi descrita na Seção 5.5.6. Essa técnica usa n1en-
dos dados urgentes é marcado para que a aplicação saiba sagens de en·o !CMP para encontrar a menor MTU para
quando eles terminarem. O início dos dados urgentes não é qualquer enlace no caminho. O TCP, então, ajusta o tama-
marcado, e a aplicação deve saber identificá-lo. nho do segmento para baixo, para evitar fragmentação.
Esse esquema oferece um mecanismo de sinalização
O protocolo básico utilizado pelas entidades TCP é o
pouco sofisticado, deixando a 1naior pa1te do trabalho para a
de janela deslizante com un1 tamanho de janela dinâmico.
aplicação. Contudo, embora os dados urgentes sejam poten-
Quando envia um segmento, o transmissor também dispara
cialmente úteis, eles não encontraram uma aplicação atraente
um contador. Quando o segn1ento chega ao destino, a enti-
e por isso caíram em desuso. Seu uso agora é desencorajado
dade TCP receptora retoma um segmento (con1 ou sen1 da-
devido a diferenças de in1plementação, deixando que as apli-
dos, de acordo com as circunstâncias) com um número de
cações lide1n com sua própria sinalização. Talvez os protoco-
confirmação igual ao próxin10 nún1ero de sequência que es-
los de transporte futuros ofereçam melhor sinalização.
pera receber e o tamanho restante da janela. Se o contador
do transmissor expirar antes de a confinnação ser recebida,
6.5.3 O protocolo TCP o seginento será retransmitido.
Nesta seção, apresentaremos uma visão geral do protocolo Apesar de esse protocolo parecer simples, há muitos
TCP. Na próxima, veremos o cabeçalho do protocolo, cam- detalhes sobre ele que veren1os a seguir. Os segmentos po-
po a ca1npo. dem chegar fora de ordem - os bytes 3.072 a 4.095 podem
Un1a característica funda1nental do TCP, que domi- chegar, mas não podem ser confirmados, porque os bytes
na o projeto do protocolo, é que cada byte em un1a cone- 2.048 a 3.071 ainda não chegaram. Além disso, os segmen-
xão TCP tem seu próprio número de sequência de 32 bits. tos pode1n se atrasar tanto que o timer do transmissor ex-
Quando a Internet começou, as linhas entre roteadores pira e ele tem de retransmiti-los. As retransmissões podem
eram principahnente linhas dedicadas de 56 kbps, e assim incluir diferentes faixas de bytes em relação à transmissão
um host funcionando a toda a velocidade demorava mais de original, exigindo uma ad1ninistração cuidadosa para con-
uma semana para percorrer todos os números de sequência. trolar quais bytes foram recebidos correta1nente. Todavia,
Na velocidade das redes modernas, os números de sequên- como cada byte no fluxo ten1 seu próprio deslocamento ex-
cia pode1n ser consu1nidos a u1na taxa alarmante, con10 ve- clusivo, isso pode ser feito.
remos mais adiante. São usados números de sequência de O TCP deve estar preparado para lidar com todos es-
32 bits separados para a posição da janela deslizante em ses problemas e resolvê-los de maneira eficiente. Foi feito
um sentido e para confinnações no sentido oposto, como um grande esforço no sentido de otimizar o desempenho
descrevere1nos a seguir. dos fluxos TCP, mesmo diante dos problemas da rede. A se-
As entidades transmissoras e receptoras do TCP tro- guir, descrevere1nos diversos algoritn1os usados por muitas
cam dados na fonna de segmentos. Um segmento TCP implementações do TCP.
Capítulo 6 • A camada de transporte 361

6.5.4 O cabeçalho do segmento do TCP Em seguida, temos um can1po de 4 bits que não é uti-
lizado. O fato de esse ca1npo ter sobrevivido intacto por
A Figura 6.36 mostra o layout de um segrnento TCP. Cada 30 anos (pois apenas 2 dos 6 bits reservados originais foram
segmento corneça com urn cabeçalho de fonnato fixo de reivindicados) é a prova de corno o TCP é bem organiza-
20 bytes. Ele pode ser seguido por opções de cabeçalho. do. Protocolos nienores teriam precisado dele para corrigir
Depois delas, se for o caso, pode haver até 65.535 - 20 - bugs no projeto original.
20 = 65.495 bytes de dados, em que o primeiro valor 20
Agora temos oito flags de J bit. CWR (Congestion
se refere ao cabeçalho IP e o segundo ao cabeçalho TCP.
Window Reduced) e ECE (ECN Echo) são usados para sina-
Segmentos sern nenhwn dado são válidos e são cornumente
lizar congestionamento quando a ECN (Explicit Congestion
usados para confirmações e mensagens de controle.
Notification) é usada, confonne especificado na RFC 3168.
Vamos analisar o cabeçalho TCP campo a campo.
A ECE é definida para sinalizar uma mensage1n ECN-Echo
Os campos Porta de origem e Porta de destino identificam
a um transmissor TCP para solicitar a redução de velocidade
os pontos terminais da conexão. A porta TCP mais o en-
quando o receptor TCP receber un1a indicação de congestio-
dereço IP de seu host formam urna extremidade exclusiva
namento da rede. A flag CWR é usada para sinalizar Janela
de 48 bits. As extremidades de origem e de destino juntas
identificam a conexão. Esse identificador de conexão é cha- de con.gestiona1nento reduzida do transmissor TCP para o
receptor TCP, de modo que ele saiba que o transmissor di-
mado de quíntupla, pois consiste em cinco partes de infor-
mação: o protocolo (TCP), lP de origem e po11a de origem, 111inuiu a velocidade e pode parar de enviar urna n1ensagen1
e IP de destino e porta de destino. ECN-Echo. Discutiremos o papel da mensagern ECN no
Os campos Nún1ero de sequência e Nún1ero de conflr- controle de congestiona1nento TCP na Seção 6.5. lO.
rnação dese1npenham suas funções habituais. Observe que o O valor 1 é atribuído a URG se o Ponteiro para ur-
segundo especifica o próximo byte esperado e não o último gente estiver sendo usado. O Ponteiro para urgente é usado
byte recebido corretamente. Ele é uma confirmação acumu- para indicar um deslocainento de bytes a partir do número
lativa, pois resutne os dados recebidos com um único nútne- de sequência atual em que os dados urgentes devem ser en-
ro. Ele não vai alé1n dos dados perdidos. Ambos têrn 32 bits, contrados. Esse recurso substitui as mensagens de interrup-
pois cada byte de dados é numerado e1n um fluxo TCP. ção. Como já n1encionamos, esse recurso representa uma
O campo Cotnprünento do cabeçalho TCP infor1na forma estruturada de permitir que o transrnissor envie um
quantas palavras de 32 bits existem no cabeçalho TCP. Essa sinal ao receptor sem envolver o serviço TCP no 1notivo da
informação é necessária, porque o campo Opções tem ta- interrupção, mas isso rara1nente é usado.
manho variável; assim, o mesmo acontece co1n o cabeça- A' tlag ACK é atribuído o bit 1 para indicar que o Nú-
lho. Tecnicamente, na verdade, esse campo indica o início mero de confirrnação é válido. Isso acontece para quase to-
dos dados dentro do segmento com base em palavras de dos os pacotes. Se ACK for igual a zero, isso significa que
32 bits, mas esse número é apenas o tamanho do cabeçalho o segmento não contém uma confirmação e assim o campo
em palavras e, portanto, o efeito é o mesrno. Nú111ero de conjir1nação é ignorado.

- - - - - - - - - - - - - - 32 b i t s - - - - - - - - - - - - --

Porta de origem Porta de destino

Número de sequência

Número de confirmação

Compr. do e E u A p R s F
cabeçalho we R e s s
y 1 Tamanho de janela
TCP R E G K H T N N

Checksum Ponteiro para urgente

~- - .
Opçoes (O ou mais palavras de 32 bits)
. ~ ....

I Dados (opcionais) I
Figura 6.36 O cabeçalho TCP.
362 Redes de computadores

A flag PSfl indica dados com PUSH. Com ele, o re- O campo Opções foi projetado co1no u1na fon11a de
ceptor é solicitado a entregar os dados à aplicação mediante oferecer recursos extras, ou seja, aqueles que não foram
sua chegada, em vez de armazená-los até que um buffer previstos pelo cabeçalho comum. Muitas opções foram de-
completo tenha sido recebido (o que ele poderia fazer para finidas e várias são con1umente utilizadas. As opções são de
manter a eficiência). tamanho variável, preenche1n um múltiplo de 32 bits usan-
A flag RST é utilizada para reiniciar i1nediata1nente do o preenchi1nento co1n zeros e podem se estender para
uma conexão que tenha ficado confusa devido a uma falha 40 bytes para acomodar o 1naior cabeçalho TCP que pode
no host ou por qualquer outra razão. Ela também é utiliza- ser especificado. Algumas opções são transportadas quan-
da para rejeitar um segmento inválido ou para recusar uma do u1na conexão é estabelecida para negociar ou infonnar
tentativa de conexão. Em geral, se receber u1n seg1nento o outro lado das capacidades. Outras opções são transpor-
co1n o bit RST ativado, isso significa que você tem um tadas sobre pacotes durante o tempo de vida da conexão.
problema. Cada opção tem uma codificação de Tipo-Tamanho-Valor.
A flag SYN é usada para estabelecer conexões. A so- Uma opção 1nuito utilizada é aquela que permite a
licitação de conexão tem SYN = l e ACK = O para indicar cada host estipular o tamanho máximo do segmento, ou
que o campo de confinnação por piggyback não está sendo MSS (Maximum Segment Size), que está disposto a re-
utilizado. A resposta conté1n uma confirn1ação e, portanto, ceber. O uso de segmentos grandes é 111ais eficiente do que
tem SYN = 1 e ACK = 1. Basicamente, o bit SYN é usado a utilização de segmentos pequenos, pois o cabeçalho de
para indicar CONNECTION REQUEST e CONNECTION 20 bytes pode ser diluído em um maior volume de dados;
ACCEPTED, enquanto o bit ACK é usado para distinguir porém, é possível que bosts pequenos não sejam capazes de
entre essas duas possibilidades. administrar segmentos n1uito grandes. Durante a configu-
A flag F!N é utilizada para encerrar uma conexão. Ela ração da conexão, cada lado pode anunciar sua capacidade
indica que o transn1issor não te1n n1ais dados para transtni- máxima e avaliar a capacidade de seu parceiro. Se um host
tir. Entretanto, um processo pode continuar a receber dados não usar essa opção, o valor padrão de 536 bytes será esti-
indefinidamente, mesmo depois que a conexão tiver sido pulado para a carga útil. Todos os hosts da Internet são obri-
encerrada. Tanto o segmento SYN quanto o seg1nento F!N gados a aceitar segmentos TCP de 536 + 20 = 556 bytes.
tên1 nún1eros de sequência e, portanto, são processados na O tamanho máximo do segmento nos dois sentidos não pre-
.
ordem correta. cisa ser o mesmo.
O controle de fluxo no TCP é ad1ninistrado por meio Para enlaces com alta largura de banda, alto atraso ou
de uma janela deslizante de tamanho variável. O campo ambos, a janela de 64 KB, correspondente a um campo de
Tatnanho de janela indica quantos bytes podem ser envia- 16 bits, é quase sempre um problema. Por exemplo, em uma
dos a partir do byte confinnado. U1n ca1npo Tamanho de linha OC-12 (de aproximadan1ente 600 Mbps), é necessário
janela igual a O é valido e infom1a que todos os bytes até menos de 1 ms para enviar uma janela de 64 KB completa.
Núfl'1ero de confir111ação - 1, inclusive, foram recebidos, Se o atraso de propagação da viagem de ida e volta for de
mas que o receptor precisa de um descanso no momento 50 ms (o mais comum em um cabo de fibra óptica trans-
e agradeceria muito se nenhum outro dado fosse enviado. continental), o transmissor ficará ioativo durante mais de
Mais tarde, o receptor pode conceder permissão para en- 98% do tempo, aguardando confinnações. U1n tamanho de
viar, transmitindo um seg1nento com o mesmo Núrnero de janela maior permitiria que o transmissor continuasse en-
confirmação e co1n u1n campo Tarnanho de janela diferente viando os dados. A opção 'vindolv scale (fator de escala da
de zero. janela) permite ao trans1nissor e ao receptor negociar um
Nos protocolos do Capítulo 3, as confinnações de fator de escala no início de uma conexão. Os dois lados
quadros recebidos e a permissão para enviar novos qua- usam o fator de escala para deslocar o campo Tarnanho de
dros eran1 mantidas juntas. Isso era uma consequência do janela para 14 bits à esquerda, permitindo assim janelas de
tamanho fixo da janela para cada protocolo. No TCP, as até 230 bytes. A maior parte das imple1nentações do TCP já
confirmações e a permissão para enviar dados adicionais é compatível co1n essa opção.
são completan1ente isoladas. Na verdade, um receptor pode A opção tirnestamp (registro de te1npo) transporta um
dizer: "Recebi os bytes até k, 1nas não quero mais agora". período de tempo euviado pelo transmissor e ecoado pelo
Esse desacoplamento (na verdade, uma janela de tamanho receptor. Ele está incluído em cada pacote, uma vez que
variável) proporciona flexibilidade adicional. Vamos estu- seu uso é definido durante o estabelecimento da conexão,
dá-lo e1n detalhes a seguir. e é utilizado para calcular as arnostras de tempo de ida e
Um Checksurn também é fornecido para au1nentar a volta que são usadas para estimar quando um pacote foi
confiabilidade. Ele confere o checksum do cabeçalho, dos perdido. Ele também é usado con10 uma extensão lógica do
dados e do pseudocabeçalho exatamente da 1nesma maneira nú1nero de sequência de 32 bits. Em uma conexão rápida,
que o UDP, exceto que o pseudocabeçalho tem o núrnero de o número de sequência pode se esgotar rapidamente, oca-
protocolo para TCP e o cbecksum é obrigatório. Para obter sionando uma possível confusão entre dados novos e an-
rnais detalhes, consulte a Seção 6.4. 1. tigos. O esquema PAWS, descrito anteriormente, descarta
Capítulo 6 • A camada de transporte 363

os segn1entos que chegan1 com períodos de ten1po antigos executado uma prin1itiva LISTEN na porta infonnada no
para evitar esse problen1a. campo Porta de destino. Caso contrário, ela envia uma res-
Por fi1n, a opção SACK (Selective ACKno,vledge- posta com o bit da flag RST ativado para rejeitar a conexão.
ment) pennite que u1n receptor infonne a um transmissor Se algu1n processo estiver na escuta da porta, ele re-
os intervalos de nútneros de sequência que ele recebeu. Ele ceberá o segmento TCP de entrada. Em seguida, ele pode-
incrementa o Número de conjirniaçào e é usado após um rá aceitar ou rejeitar a conexão. Se o processo aceitar, um
pacote ter sido perdido, 1nas após os dados subsequentes segmento de confirmação será retomado. A sequência dos
(ou duplicados) terem chegado. Os novos dados não apa- segmentos TCP enviados em condições normais é ilustrada
rece1n no campo Nútnero de confirtnação no cabeçalho, na Figura 6.37(a). Observe que 1un segmento SYN consome
pois esse campo oferece apenas o próximo byte esperado 1 byte de espaço de sequência, para que seja confirmado
e1n ordem. Com o SACK, o trans1nissor está explicitamen- sem ambiguidade.
te ciente de quais dados o receptor ten1 e, portanto, pode No caso de dois hosts tentarem estabelecer uma co-
detenninar quais dados devem ser retransmitidos. O SACK nexão entre os mesmos dois soquetes simultaneamente,
é definido nas RFC 2108 e 2883 e é usado cada vez mais. ocorrerá a sequência de eventos ilustrada na Figura 6.37(b).
Descreven1os o seu uso junto com controle de congestiona- O resultado desses eventos é o estabeleciinento de apenas
mento na Seção 6.5. l O. uma conexão e não de duas, porque as conexões são identi-
ficadas por suas extretnidades. Se a primeira configuração
resultar em uma conexão identificada por (x, y ) e a segunda
6.5.5 Estabelecimento de conexões TCP tan1bén1, haverá so1nente uma entrada na tabela, a saber,
As conexões TCP são estabelecidas por meio do handshake para ~,, y).
de três vias discutido na Seção 6.2.2. Para estabelecer uma Lembre-se de que o número de sequência inicial esco-
conexão, um lado - digan1os, o servidor - aguarda passiva- lhido por cada host deve ser reciclado lentamente, ern vez
mente por uma conexão de entrada, executando as primiti- de ser u1na constante como O. Essa regra serve para pro-
vas LISTEN e ACCEPT, nessa ordem, através da especifi- teger contra pacotes duplicados atrasados, conforme dis-
cação de detenninada origem ou de ningué1n em particular. cuti1nos na Seção 6.2.2. Originahnente, isso era feito com
O outro lado - diga1nos, o cliente - executa uma pri- um esque1na baseado ern clock, em que um pulso de clock
mitiva CONNECT, especificando o endereço TP e a porta ocorria a cada 4 p,s.
à qual deseja se conectar, o tamanho rnáximo do segmento Entretanto, uma vulnerabilidade com a implementa-
TCP que está disposto a aceitar e, opcionalmente, alguns ção do handshake de três vias é que o processo que escuta
dados do usuário (p. ex., urna senha). A prin1itiva CON- precisa se lembrar de seu número de sequência assim que
NECT envia u1n segmento TCP com o bit da flag SYN ati- responde cotn seu próprio segtnento SYN. Isso significa que
vado e um bit da flag ACK desativado, e aguarda wna res- um transrnissor tnalicioso pode amarrar recursos em utn
posta da outra ponta. host enviando um fluxo de segmentos SYN e nunca con-
Quando esse segmento chega ao destino, a entidade tinuando para completar a conexão. Esse ataque é chama-
TCP dessa estação verifica se existe um processo que tenha do de inundação de SYN, e prejudicou nluitos servidores

Host 1 Host 2 Host 1 Host 2

SYN fSEQ ::: X) SYN (SEQ ::: X)

s'<N lSE.O "' y)

o
a.
E C\( "' x + ~)
~ lSE.0 "' y, p.;
s'<N

(SEQ ::: x + 1 ACK


• ==y+1)

(a) (b)

Figura 6.37 (a) Estabelecimento da conexão TCP no caso normal. (b) Estabelecimento de conexão simultâneo nos dois lados.
364 Redes de computadores

Web na década de 1990. Agora, já conhecemos algumas da conexão estiveren1 desativados, ela será encerrada.
formas de nos defender contra ele. De modo geral, são necessários quatro seg1nentos TCP
U1n 1nodo de proteger contra esse ataque é usar para encerrar uma conexão, isto é, um FIN e um ACK para
cookies SYN. Em vez de lembrar-se do número de sequên- cada sentido. Todavia, é possível que o pri1neiro A CK e o
cia, um host escolhe u1n número de sequência gerado crip- segundo FIN ocupe1n o mes1no segmento, o que baixa o
tografica1nente, coloca-o no segmento de saída e se esquece número total para três.
dele. Se o handshake de três vias for concluído, esse nú- A exe1nplo do que ocorre com as ligações telefônicas
mero de sequência (1nais 1) será retomado para o host. Ele em que duas pessoas se despedem e desligam simultanea-
pode então recriar o número de sequência correto execu- mente, é possível que as duas extre1nidades da conexão
tando a 1nesma função criptográfica, desde que as entradas TCP enviem segmentos FIN ao mesmo tempo. Eles são
para essa função seja1n conhecidas, por exemplo, o endere- confirmados do 1nodo habitual, e a conexão é desativada.
ço IP e a porta do outro host, e um segredo local. Esse pro- Na verdade, não há nenhuma diferença essencial entre as
cedimento permite que o host verifique se um número de situações em que os dois hosts encerra1n a conexão de for-
sequência confirmado está correto sem ter de se lembrar do ma sequencial ou simultânea.
nún1ero de sequência separada1nente. Existem alguns pro- Para evitar que ocorra o proble1na dos dois exércitos
blemas, como a incapacidade de lidar con1 opções do TCP, (discutido na Seção 6.2.3), são utilizados timers. Se uma
de modo que os cookies SYN podem ser usados somente resposta para um F!N não chegar no período equivalente
quando o host está sujeito a uma inundação de SYN. Con- a duas vezes o tempo máximo de duração de um pacote, o
tudo, eles são uma guinada interessante no estabelecimento transmissor do FIN encerrará a conexão. Por fi1n, o outro
da conexão. Para obter 1nais info1n1ações, consulte a RFC lado perceberá que não há 1nais ninguém na escuta e tam-
4987 e Lemon (2002). bém sofrerá um tin1eout. Mesmo que essa solução não seja
perfeita, pois a solução perfeita é teoricamente impossível,
ela terá de bastar. Na prática, os proble1nas são raros.
6.5.6 Encerramento da conexão TCP
Apesar de as conexões TCP serem full-duplex, fica mais 6.5.7 Modelagem e gerenciamento
fácil compreender como elas são encerradas se as con-
siderarmos un1 par de conexões si1nplex. Cada conexão
de conexões TCP
simplex é encerrada de 1nodo independente de sua par- As etapas necessárias para o estabeleci1nento e o encerra-
ceira. Para encerrar uma conexão, qualquer um dos lados mento de conexões podem ser representadas en1 u1na nlá-
pode enviar um segmento com o bit F!N ativado, o que quina de estados finitos com os 11 estados mostrados na
significa que não há mais dados para transmitir. Quando Figura 6.38. Em cada estado, dete1n1inados eventos são vá-
FIN é confinnado, essa direção é desativada para novos lidos. Quando ocorre u1n evento válido, é possível executar
dados. No entanto, os dados podem continuar a fluir in- uma ação. Se ocorrer qualquer outro evento, será reportado
definidamente no outro sentido. Quando os dois sentidos um erro.

Estado Descrição
CLOSED Nenhuma conexão ativa ou pendente
LISTEN O servidor está esperando a chegada de uma chamada
SVN RCVD Uma solicitação de conexão chegou; espera por ACK
SVN SENT A aplicação começou a abrir uma conexão
ESTABLISHED O estado normal para a t ransferência de dados
FIN WAIT 1 A aplicação informou que terminou de transmitir
FIN WAIT2 O outro lado concordou em encerrar
TIME WAIT Aguarda a entrega de todos os pacotes
CLOSING Ambos os lados tentaram encerrar a transmissão simultaneamente
GLOSE WAIT O outro lado deu início a um encerramento
LASTACK Aguarda a entrega de todos os pacotes

Figura 6.38 Os estados usados na máquina de estados finitos para o gerenciamento de uma conexão TCP.
Capítulo 6 • A camada de transporte 365

Cada conexão começa no estado CLOSED. Ela sai u1na chegada de segmento (SYN, FlN, ACK ou RS1) ou,
desse estado ao executar uma abertura passiva (LISTEN) em um caso único, um período de tüneout igual a duas ve-
ou ativa (CONNECT). Se o outro lado executar a primitiva zes a duração máxima dos pacotes. A ação é o envio de um
oposta, a conexão será estabelecida e o estado passará a ser segmento de controle (SYN, F!N ou RST) ou nada, indi-
ESTABLISHED. O encen·a1nento da conexão pode ser ini- cado por u1n traço - . Os comentários são 1nostrados entre
ciado por qualquer um dos lados. Quando é completado, o parênteses.
estado volta a ser CLOSED. O diagrama pode ser mais bem compreendido se
A máquina de estados ftnitos propriamente dita está seguirmos primeiro o caminho de um cliente (a linha escura
ilustrada na Figura 6.39. U1na situação con1u1n e1n que contínua) e depois o caminho do servidor (a linha escura
um cliente se conecta ativamente a um servidor passivo é tracejada). Quando um programa de aplicação na máquina
representada pelas linhas mais escuras - a linha contínua cliente emite uma solicitação CONNECT, a entidade TCP
para o cliente e a linha tracejada para o servidor. As linhas local cria um registro de conexão, assinala que ela se en-
mais claras representam sequências de eventos incomuns. contra no estado SYN SENT e envia u1n segmento SYN. Ob-
Cada linha na Figura 6.39 é marcada por un1 par evento/ serve que muitas conexões podem estar abertas (ou sendo
ação. O evento pode ser un1a chamada de sistema iniciada abertas) ao mes1no tempo por várias aplicações; portanto,
pelo usuário (CONNECT, LISTEN, SEND ou CLOSE), o estado se refere a cada conexão e é incluído no registro

(Início)
CONNECT/SVN (Etapa 1 do handshake de 3 vias)
CLOSED
1 CLOSE/- ' '
1
LISTEN/- 1' CLOSE/-

(Etapa 2
SVN/SVN + ACK
,';·--------------------·
do handshake de 3 vias) LISTEN
'
1
1
t
RST/- • SENO/SVN
SVN ' SVN
RCVD SENT
• SVN/SVN + ACK (abertura simultânea)
1
1
1
1
1 (Estado da transferência de dados)
1
'\ , __ __ ____ACK/-
___ ____ ___ ._ SVN+ ACK/ACK ~
' ESTABLISHED
(Etapa 3 do handshake de 3 vias)
1
CLOSE/FIN 1
1
1
1
CLOSE/FIN ./
\ FIN/ACK
r ' '------------------------,
(Encerramento ativo) (Encerramento'~ passivo)
----~ - --------------------------------------, r-- -------- ~ ------
1
----.,
FIN
FIN/ACK
CLOSING
CLOSE '
WAIT 1 WAIT

1
ACK/- ACK/- : CLOS E/FIN
1

, FIN + ACK/ACK
t
FIN TIME
1
1
LAST
1
WAIT2 • WAIT
1
1 ACK
1 FIN/ACK 1
1 1
.. ____ _ 1 1

---------------------------------- ----------
(Timeout/)
-----------r-----
1 1

1
1
1
.,. _______ ___ ___ _______ , •
ACK/- ; I

CLOSED

(Volta ao início)

Figura 6.39 Máquina de estados finitos usada no gerenciamento de uma conexão TCP. A linha contínua mais escura repre-
senta o caminho normal de um cliente. A linha tracejada mais escura representa o caminho normal de um servidor. As linhas
mais finas representam eventos incomuns. Cada transição é identificada pelo evento que a provoca e pela ação resultante dela,
separados por uma barra.
366 Redes de computadores

de conexões. Quando SYN + ACK chegam, o TCP envia o Quando acabar de transmitir seus dados, o cliente
A CK final do handshake de três vias e passa para o estado executará uma primitiva CLOSE, o que faz un1 FIN che-
ESTABLISHED. Só então os dados pode1n ser transmitidos gar ao servidor (o quadro tracejado marca o "encerramento
e recebidos. passivo"). E1n seguida, o servidor recebe u1n sinal. Quando
Quando uma aplicação é encerrada, ela executa uma ele tan1bén1 executar tuna pri111itiva CLOSE, u1n FIN será
primitiva CLOSE, o que faz a entidade TCP local enviar u1n enviado ao cliente. Quando a confirmação do cliente forre-
segmento FIN e aguardar o ACK correspondente (o quadro cebida, o servidor encerrará a conexão e apagará o registro
tracejado marca o "encerramento ativo"). Quando ACK da conexão.
chega, há uma transição para o estado FIN WAIT 2 e aquela
direção da conexão é desativada. Quando o outro lado tam-
bém for desativado, chegará um FIN que será confirmado. 6.5.8 Janela deslizante do TCP
Agora os dois lados estão desativados, 1nas o TCP aguarda Co1no já dissen1os, o gerencia1nento de janelas no TCP
um período equivalente ao tempo máximo de duração de desvincula as questões de confir111ação do recebimento
um pacote para ter certeza de que todos os pacotes da co- correto dos segmentos da alocação de buffer pelo recep-
nexão fora1n recebidos, caso alguma confirn1ação tenha se tor. Por exemplo, suponha que o receptor tenha um buffer
perdido. Quando o timer expirar, o TCP removerá o registro de 4.096 bytes, cotno ilustra a Figura 6.40. Se o transmis-
da conexão. sor enviar un1 seg1nento de 2.048 bytes e este for recebido
Examinaremos agora o gerenciamento de conexões de fonna con·eta, o receptor o confir1nará. Contudo, co1no
do ponto de vista do servidor. Ele executa uma primitiva agora ele só tem 2.048 bytes de espaço disponível em seu
LISTEN e aguarda para ver quem aparece. Quando um SYN buffer (até que alguma aplicação retire alguns dados), ore-
chegar, ele será conf1rn1ado e o servidor passará para o esta- ceptor anunciará uma janela de 2.048 bytes con1eçando no
do SYN RCVD. Quando o SYN do servidor for confinnado, próximo byte esperado.
o bandsbake de três vias estará co1npleto e o servidor passa- Agora, o transmissor envia outros 2.048 bytes, que
rá para o estado ESTABL!SHED. Nesse caso, a transferên- são confirmados, mas a janela anunciada tem ta1nanho O.
cia de dados já pode ocorrer. O transmissor deve parar até que o processo da aplicação

Transmissor Receptor Buffer do


Aplicação r eceptor
realiza uma
o 4 KB
escrita de 2 K B
Vazio 1
1

1_2Ka1 sco
"" ol
I

12
1
1
ACK =2048 WIN - 2048:

Aplicação
realiza uma ~

escrita de 2 K B ; 2 KB/ SEQ = 2048'


1
Cheio
1


Transmissor . Aplicação
4096 \NIN "' O 1
é bloqueado 1 p..CK"' _ lê 2 KB
1 1
,_ 6 \NIN "'2048 r
~ p..CK "' 409

,_ 1
Transmissor pode~
enviar até 2 Ks-

1.
L1 kB/
St=o "" 40951
-' 11 KB I i 2KB 1
-

Figura 6.40 Gerenciamento de janelas no TCP.


Capítulo 6 • A camada de transporte 367

no host receptor tenha ren1ovido alguns dados do buffer, transmissor e1n pequenas partes, basta enviar o primeiro
quando o TCP poderá anunciar uma janela maior e n1ais byte e armazenar no buffer todos os outros, até que o byte
dados poderão ser enviados. pendente tenha sido confirmado. Em seguida, envie todos
Quando a janela é O, o trans1nissor não pode enviar os caracteres armazenados no buffer em um único segmen-
seg1nentos da forma co1no faria sob condições nonnais, to TCP e con1ece a arn1azenar no buffer novamente, até que
mas há duas exceções. Primeira, os dados urgentes podem o próximo segmento seja confirmado. Ou seja, somente um
ser enviados para, por exemplo, permitir que o usuário en- pacote pequeno pode estar pendente a qualquer mo1nento.
cerre o processo executado na máquina remota. Segunda, o Se muitas partes dos dados forem enviadas pela aplicação
trans1nissor pode enviar u1n seginento de 1 byte para fazer en1 un1 te1npo de ida e volta, o algoritmo de Nagle colocará
o receptor anunciar nova1nente o próximo byte esperado as 1nuitas partes em um segmento, reduzindo bastante a lar-
e o tamanho da janela. Esse pacote é cban1ado de window gura de banda utilizada. O algoritmo diz ainda que u1n novo
probe. O padrão TCP oferece essa opção de forma explí- seginento deveria ser enviado se vários dados completas-
cita para evitar um impasse no caso de uma atualização da se1n um segmento máximo.
janela se perder. O algoritmo de Nagle é n1uito utilizado por in1ple1nen-
Os transmissores não são obrigados a enviar os da- tações TCP, mas há ocasiões em que é melhor desativá-lo.
dos assim que os recebem da aplicação. Nem os receptores Em particular, em jogos interativos executados na Internet,
têm a obrigação de enviar as confirmações imediatamente. os jogadores normalmente desejan1 um fluxo rápido de pe-
Por exemplo, na Figura 6.40, quando os primeiros 2 KB de quenos pacotes de atualização. Reunir as atualizações para
dados chegaram, o TCP, sabendo que havia uma janela de enviá-las em rajadas faz o jogo responder indevidamente, o
4 KB disponível, estaria completamente correto se apenas que deixa os usuários insatisfeitos. Um problema mais sutil
armazenasse os dados no buffer até chegarem outros 2 KB, é que o algoritmo de Nagle às vezes pode interagir com
a fim de poder trans1nitir um segmento com 4 KB de carga confirmações adiadas e causar um irnpasse temporário: o
útil. Essa liberdade pode ser explorada para melhorar o de- receptor espera por dados nos quais pode enviar un1a con-
sempenho geral. fim1ação de carona, e o transmissor espera a confinnação
Considere uma conexão para um tenninal remoto, para enviar mais dados. Essa interação pode adiar os down-
por exemplo, usando SSH ou Teloet, que reage a cada tecla loads de páginas Web. Devido a esses problemas, o algo-
pressionada. Na pior das hipóteses, quando u1n caractere ritmo de Nagle pode ser desativado (u1na opção chamada
chega à entidade TCP receptora, o TCP cria um seg1nento TCP_NODELAY). Mogul e Minshall (2001) discutem essa
TCP de 21 bytes, que será repassado ao IP para ser envia- e outras soluções.
do como um datagrarna lP de 4 l bytes. No lado receptor, Outro problema que pode arruinar o desempenho do
o TCP envia imediatamente uma confirmação de 40 bytes TCP é a síndrome do janelamento inútil (Clark, 1982).
(20 bytes de cabeçalho TCP e 20 bytes de cabeçalho IP). Esse problen1a ocorre quando os dados são passados para
Mais tarde, quando o terminal re1noto tiver lido o byte, o a entidade TCP transmissora em grandes blocos, n1as u1na
TCP enviará uma atualização da janela, movendo a janela aplicação interativa no lado receptor lê os dados apenas
um byte para a direita. Esse pacote também tem 40 bytes. um byte por vez. Para entender a situação, observe a Fi-
Por últi1no, quando o terminal tiver processado o caracte- gura 6.41. Inicialmente, o buffer TCP no lado receptor está
re, ele o ecoará para exibição local usando u1n pacote de cheio (ou seja, ele te1n uma janela de ta1nanho O) e o trans-
41 bytes. No total, 162 bytes de largura de banda são utili- missor sabe disso. E1n seguida, un1a aplicação interativa lê
zados e quatro segmentos são enviados para cada caractere um caractere do fluxo TCP. Essa ação faz o TCP receptor
digitado. Quando a largura de banda é escassa, esse método ficar satisfeito e enviar tuna atualização da janela ao trans-
não se mostra un1a boa opção. n1issor, informando que ele pode enviar 1 byte. O transmis-
Un1a abordagem usada por muitas implementações do sor agradece e envia l byte. Agora, o buffer se enche outra
TCP para otimizar essa situação é chan1ada de confirma- vez; portanto, o receptor confirma o seginento de l byte e
ções adiadas. A ideia é retardar as confirmações e atualiza- atribui o valor Oao tamanho da janela. Esse comporta1nento
ções de janelas durante 500 ms, na esperança de encontrar pode durar para sempre.
algum dado que lhes dê "uma carona". Supondo que o ter- A solução apresentada por Clark é evitar que o recep-
minal ecoe dentro de 500 ms, apenas um pacote de 41 bytes tor envie uma atualização da janela de 1 byte. Em vez disso,
precisará ser retornado ao usuário remoto, reduzindo à nle- ele é forçado a aguardar até que haja um espaço considerá-
tade a contagem de pacotes e o uso da largura de banda. vel na janela para anunciar o fato. Para ser mais específico,
Embora essa regra reduza a carga ünposta à rede pelo o receptor não deve enviar u1na atualização da janela até
receptor, o transmissor ainda estará operando de modo ine- que possa lidar com o tamanho máximo do segmento que
ficiente, enviando pacotes de 41 bytes que contêm apenas anunciou quando a conexão foi estabelecida, ou até que seu
urn byte de dados. U1na fonna de reduzir esse uso é co- buffer esteja co1n metade de sua capacidade livre; o que for
nhecida con10 algoritmo de Nagle (Nagle, 1984). A su- menor. Além disso, o transmissor também pode ajudar não
gestão de Nagle é simples: quando os dados chegarem ao enviando segmentos muito pequenos. Em vez disso, deve
368 Redes de computadores

O buffer do receptor está cheio

A aplicação lê 1 byte

1
i
Espaço para mais 1 byte
1

-·---11 Cabeçalho I segmento de atualização da janela enviado

1Cabeçalho 1
i
Chega um novo byte

I
1 byte
O buffer do receptor está cheio

Figura 6.41 Síndrome do janelamento inútil.

tentar aguardar até que possa enviar um segmento inteiro receber os segmentos O, 1, 2, 4, 5, 6 e 7, ele poderá con-
ou pelo menos um que contenha dados equivalentes à n1eta- firmar tudo até o último byte do segmento 2, inclusive.
de da capacidade do buffer no lado receptor. Quando o transmissor sofrer urn timeout, ele retransmitirá
O algoritmo de Nagle e a solução de Clark para a sín- o seg1nento 3. Se tiver an11azenado os segmentos de 4 a 7, o
drome do janelamento inútil são co1nplementares. Nagle receptor poderá, ao receber o segmento 3, confirmar todos
tentava resolver o problema causado pelo fato de a aplica- os bytes até o fim do segmento 7.
ção transmissora entregar dados ao TCP um byte por vez.
Já Clark tentava acabar com o problema criado pelo fato de
a aplicação receptora retirar os dados do TCP u1n byte por
6.5.9 Gerenciamento de timers do TCP
vez. Ambas as soluções são válidas e podem funcionar jun- O TCP utiliza vários ti1ners (pelo 1nenos conceitualmen-
tas. O objetivo é evitar que o trans1nissor envie segn1entos te) para realizar seu trabalho. O mais importante deles é
pequenos e que o receptor tenha de solicitá-los. o de retransmissão, ou RTO (R etransmission Timeout).
O TCP receptor pode fazer mais para melhorar o de- Quando um seg1nento é enviado, um titner de retransmis-
se1npenho da rede do que apenas realizar a atualização das são é iniciado. Se o seg1nento for confir1nado antes de o
janelas ern unidades grandes. Assim como o TCP trans- ti1ner expirar, ele será interrompido. Contudo, se o timer
missor, ele ta1nbém te1n a capacidade de annazenar dados expirar antes de a confin11ação chegar, o segmento será re-
em buffer, portanto, pode bloquear uma solicitação READ transrnitido (e o timer disparado mais uma vez). Com isso,
da aplicação até ter um bon1 volu1ne de dados a oferecer. surge a seguinte pergunta: qual deve ser esse período de
Isso reduz o número de chamadas ao TCP (e também o tempo?
overhead). isso também aumenta o tempo de resposta, no Esse problema é 1nuito mais difícil na camada de
entanto, para aplicações não interativas, como a transferên- transporte do que nos protocolos de enlace de dados, como
cia de arquivos, a eficiência pode ser mais importante que o o 802.1 1. Nesse último caso, o atraso esperado é medido
tempo de resposta a solicitações individuais. em microssegundos e é altan1ente previsível (ou seja, tem
Outro proble1na para o receptor é o que fazer com os pouca variância), de modo que o timer pode ser definido
segmentos que chegam fora de orde1n. O receptor armaze- para expirar pouco depois da confirmação esperada, como
nará os dados em buffer até que possam ser passados para mostra a Figura 6.42(a). Como as confrrmações rara1nente
a aplicação em ordem. Na realidade, nada de ruim aconte- são adiadas na camada de enlace de dados (devido à falta
ceria se os seg1nentos fora de ordem fosse1n descartados, de congestionan1ento), a ausência de u1na confinnação no
pois eles por fim seriam retransmitidos pelo trans1nissor, momento esperado geralmente significa que ou o quadro ou
mas isso seria un1 desperdício. a confrrmação foram perdidos.
As confirmações só podem ser enviadas quando to- O TCP encontra u1n a1nbiente radicahnente distinto.
dos os dados até o byte confirmado tiverem sido recebidos. A função densidade de probabilidade para o ten1po gas-
Isso é chamado de confirmação acumulativa. Se o receptor to para uma confirn1ação TCP voltar é 111ais semelhante à
Capítulo 6 • A camada de transporte 369

0,3 T 0,3

CI> 0,2 CI> 0,2


-o -o
<1l <1l
-o -o
.o .o
<1l <1l
.o .o
e
o... O, 1
e
o... O, 1

10 20 30 40 50 10 20 30 40 50
Tempo de ida e volta (µs) Tempo de ida e volta (ms)
(a) (b)

Figura 6.42 (a) Densidade de probabilidade de tempos de chegada de confirmações na camada de enlace de dados.
(b) Densidade de probabilidade de tempos de chegada de confirmações para o TCP.

Figura 6.42(b) do que à Figura 6.42(a). Ela é maior e mais Mesmo con1 um bom valor de SRTT, escolher um
variável. Determinar o tempo de ida e volta ao destino é período de te1upo de retransmissão adequado é urna ques-
complicado. Mesmo quando é conhecido, decidir sobre o tão não trivial. As irnplementações iniciais do TCP usavam
intervalo de tempo tarnbém é dificil. Se o período de tempo 2xRTT, rnas a experiência rnostrou que urn valor constante
for muito curto, digarnos T1 na Figura 6.42(b), haverá re- era rnuito inflexível, pois deixava de responder quando a
transmissões desnecessárias, enchendo a Internet com pa- variância subia. Em particular, modelos de enfileiramen-
cotes inúteis. Se ele for muito longo (p. ex., T2) , o desempe- to de tráfego aleatório (ou seja, de Poisson) preveem que,
nho sofrerá devido ao longo atraso de retransmissão sempre quando a carga se aproxima de sua capacidade, o atraso se
que o pacote se perder. Além do mais, a média e a variância toma grande e altamente variável. Isso pode fazer o timer
da distribuição de chegada da confirmação poden1 mudar de retransmissão disparar e uma cópia do pacote ser retrans-
rapidamente dentro de alguns segundos, enquanto o con- mitida, embora o pacote original ainda esteja transitando na
gestionamento se acumula ou é resolvido. rede. Isso é mais provável que aconteça sob condições de
A solução é usar um algoritmo dinâ1nico que adap- alta carga, que é o pior mon1ento para enviar pacotes adi-
te constantemente o intervalo de tempo, com base em cionais para a rede.
medições contínuas do desempenho da rede. O algoritmo Para resolver esse problema, Jacobson propôs tornar o
geralmente usado pelo TCP é atribuído a Jacobson (1988) valor do período de tempo sensível à variância nos tempos
e funciona da seguinte forma: para cada conexão, o TCP de ida e volta, bem como o tempo de ida e volta nivela-
mantém uma variável, SRTT(Smoothed Round-Trip Time), do. Essa mudança exige registrar outra variável nivelada,
que é a melhor estirnativa atual do tempo de ida e volta até RTTVAR (Round-Trip Time YARiation), que é atualizada
o destino em questão. Quando urn segmento é enviado, um usando-se a fórmula:
tin1er é iniciado, tanto para ver quanto tempo a confirmação
leva con10 tarnbém para disparar uma retransmissão se o
RTTVAR = /3 RTTVAR + (1 - /3) ISRTT- RI
ten1po for rnuito longo. Se a confinnação retornar antes de Esta é uma rnédia EWMA, como antes, e norn1ahnente
o timer expirar, o TCP mede o tempo gasto para a confir- f3 = 3/4. O período de tempo de retrans111issão, RTO, é de-
mação, digamos, R. Depois, ele atualiza o SRTT de acordo finido con10
com a fórmula
RTO = SRTT+ 4 x RTTVAR
SRTT = a SRTT + ( 1 - a) R
A escolha do fator 4 é de certa forma arbitrária, mas a
onde a é um fator de nivelarnento que detennina a rapidez multiplicação por 4 pode ser feita em un1 único desloca-
con1 que os valores antigos são esquecidos. Normalmente, mento, e menos de 1% de todos os pacotes ve1n atrasado
a= 7/8. Esse tipo de fórmula é uma média móvel pondera- com um desvio padrão 1naior que quatro. Observe que a
da exponencialmente, ou EWMA (Exponentially Weigh- RTTVAR não é exatamente o mesmo que o desvio padrão
ted Moving Average ), ou filtro passa-baixa, que descarta o (na realidade, é o desvio da média), mas na prática é bas-
ruído nas amostras. tante próxima. O artigo de Jacobson está repleto de truques
370 Redes de computadores

inteligentes para calcular os períodos de tempo usando ape- 6.5.1O Controle de congestionamento
nas somas, subtrações e deslocamentos de inteiros. Essa
econo1nia agora não é necessária para os hosts modernos,
do TCP
mas se to111ou parte da cultura que permite que o TCP fun- Deixamos uma das principais funções do TCP para o final:
cione e1n todos os tipos de dispositivos, desde supercon1- o controle de congestionamento. Quando a carga oferecida
putadores até pequenos dispositivos. Até agora, ninguém a a qualquer rede é maior que sua capacidade, acontece um
incluiu em un1 chip de RFID, mas quem sabe algum dia? congestionamento. A lnternet não é exceção a essa regra.
Outros detalhes sobre como calcular esse período de A camada de rede detecta o congestionamento quando as
tempo, incluindo os valores iniciais das variáveis, são da- filas se torna1n grandes nos roteadores e tenta gerenciá-lo,
dos na RFC 2988. O timer de retransmissão també1n é man- mesmo que apenas descartando pacotes. Cabe à camada
tido em um n1ínimo de 1 segundo, independentemente das de transporte receber o feedback do congestiona1nento da
estin1ativas. Esse é un1 valor conservador (e1nbora empíri- ca1nada de rede e di1ninuir a velocidade do tráfego que
co, de certa forma), escolhido para impedir retransmissões está enviando para a rede. Na Internet, o TCP dese1npenha
falsas, com base nas 1nedições (Allman e Paxson, 1999). o principal papel no controle do congestionamento, bem
U1n probletna que ocorre cotn a coleta das amostras, como no transporte confiável. É por isso que esse protocolo
R, do te1npo de ida e volta, é o que fazer quando un1 seg- é tão especial.
mento expira seu período de te1npo e é enviado novamente. Abordatnos a situação geral do controle de congestio-
Quando a confirmação chega, não fica claro se ela se refere na1nento na Seção 6.3. Um detalhe importante foi que um
à primeira transmissão ou a alguma outra. A decisão errada protocolo de transporte usando u1na lei de controle AIMD
pode conta1ninar seriamente o período de tempo de retrans- en1 resposta aos sinais de congestionamento biná1ios da
missão. Phil Karn descobriu esse proble1na pelo modo mais rede convergiria para uma alocação de largura de banda im-
difícil. Karn é um radioamador interessado em transmitir parcial e eficiente. O controle de congestionamento do TCP
pacotes TCP/IP via radioamador, um meio notoriamente é baseado na imple1nentação dessa técnica usando utna ja-
não confiável. Ele fez uma proposta simples: não atualizar nela e com perda de pacotes como sinal binário. Para fazer
as estimativas sobre quaisquer segmentos que tiverem sido isso, o TCP n1antém uma janela de congestionamento cujo
retransmitidos. Além disso, o período de tempo é dobrado tamanho é o número de bytes que o transmissor pode ter na
a cada retransmissão bem-sucedida, até que os segmentos rede a qualquer 1nomento. A velocidade correspondente é
passem pela prin1eira vez. Esse reparo é chamado de al- o ta1nanho da janela dividido pelo ten1po de ida e volta da
goritmo de Karn (Karn e Partridge, 1987) e a maioria das conexão. O TCP ajusta o tamanho da janela de acordo com
i1nplementações do TCP o utiliza. a regra AIMD.
O timer de retransn1issão não é o único que o TCP Lembre-se de que a janela de congestionamento é
utiliza. Un1 segundo timer é o timer de persistência. Ele mantida alérn da janela de controle de fluxo, que espe-
é projetado para impedir o impasse a seguir: o receptor cifica o número de bytes que o receptor pode armazenar
envia uma confirmação com um tamanho de janela O, di- em buffer. As duas janelas são acompanhadas e1n parale-
zendo ao transmissor para esperar. Mais tarde, o receptor lo, e o número de bytes que pode ser enviado é a 1nenor
atualiza a janela, mas o pacote com a atualização se perde. das duas janelas. Assim, a janela efetiva é o menor entre
Agora, o trans1nissor e o receptor estão esperando que o o que o transmissor e o receptor pensam ser o correto.
outro faça algo. Quando o timer de persistência expira, Se u1n não quer, dois não brigam. O TCP deixará de en-
o transmissor envia uma consulta ao receptor. A resposta viar dados se a janela de congestionamento ou a janela
dessa consulta indica o tamanho da janela. Se ainda for O, de controle de fluxo estivere1n temporariamente cheias.
o timer de persistência é definido novan1ente e o ciclo se Se o receptor disser "envie 64 KB", 1nas o transmissor
repete. Se for diferente de zero, os dados agora podem ser souber que rajadas de mais de 32 KB entope1n a rede,
enviados. ele enviará 32 KB. Se o receptor disser "envie 64 KB"
O terceiro ti1ner que algumas imple1nentações utilizam e o transmissor souber que rajadas de até 128 KB são
é o timer keepalive. Quando uma conexão estiver ociosa enviadas sem nenhun1 esforço, ele enviará os 64 KB so-
por rnuito tempo, o tÍlner keepalive pode expirar e fazer urn licitados. A janela de controle de fluxo foi descrita ante-
lado verificar se o outro lado ainda está lá. Se ele não res- riormente, e a seguir descreveretnos apenas a janela de
ponder, a conexão é encerrada. Esse recurso é discutível, congestionamento.
pois aumenta o overhead e pode terminar uma conexão ativa O controle de congestionamento moderno foi acres-
devido a u1na interrupção transitória da rede. centado ao TCP em grande parte por 1neio dos esforços de
O último tin1er usado e1n cada conexão TCP é aquele Van Jacobson ( 1988). Essa é tnna história fascinante. A par-
usado no estado TIME WAIT durante o encerramento. Ele tir de 1986, a popularidade crescente da Internet levou à
usa o dobro do tempo de vida máximo do pacote para ga- primeira ocorrência do que passou a ser conhecido como
rantir que, quando uma conexão for fechada, todos os paco- colapso de congestionamento, um período prolongado du-
tes criados por ela terão expirado. rante o qual o goodput caiu bruscamente (ou seja, por u1n
Capítulo 6 • A camada de transporte 371

tàtor de mais de 100) devido ao congestionan1ento na rede. usando uma regra AIMD. Con10 você poderia esperar, a
Jacobson e muitos outros se propuseram a entender o que coisa é mais complicada. Uma consideração inicial é que
estava acontecendo a fi1n de remediar a situação. o modo como os pacotes são enviados para a rede, até
O reparo de alto nível que Jacobson implementou foi mesmo por pequenos períodos de tempo, deve correspon-
aproxünar u1na janela de congestiona1nento AIMD. A parte der ao caminho da rede. Caso contrário, o tráfego causará
interessante, e grande parte da complexidade do controle de congestionamento. Por exemplo, considere um host com
congestionamento do TCP, é como ele acrescentou isso a uma janela de congestionamento de 64 KB conectado a
uma implementação existente sem alterar nenhum formato uma Ethernet comutada de l Gbps. Se o host enviar a janela
de mensagen1, tomando-o instantaneamente i1nple1nentá- inteira ao n1esmo tempo, essa rajada de tráfego poderá pas-
vel. Para con1eçar, ele observou que a perda de pacotes é sar por uma linha ADSL lenta de 1 Mbps 1nais adiante no
um sinal adequado de congestionamento. Esse sinal chega caminho. A rajada que levava nleio milissegw1do na linha
um pouco tarde (quando a rede já está congestionada), mas de 1 Gbps prenderá a linha de 1 Mbps por meio segundo,
é bastante confiável. Afinal, é dificil montar um roteador tumultuando co1npletamente protocolos corno o YolP. Esse
que não descarte pacotes quando está sobrecarregado. Esse comportamento poderia ser uma boa ideia em um protocolo
fato provavelmente não mudará. Mesmo quando aparece- projetado para causar congestiona1nento, mas não em um
rem memórias de terabytes para manter grandes quantida- protocolo para controlá-lo.
des de pacotes ern buffer, provavelmente terernos redes de Entretanto, acontece que podernos usar pequenas
terabits/s para preencher essas memórias. rajadas de pacotes para o nosso proveito. A Figura 6.43
Todavia, usar a perda de pacotes co1no um sinal de mostra o que acontece quando um transmissor en1 uma
congestionamento depende de os erros de transmissão se- rede rápida (o enlace de l Gpbs) envia uma pequena raja-
rem relativarnente raros. Isso normalmente não acontece da de quatro pacotes para urn receptor em urna rede lenta
para redes se1n fio, como 802.11 , motivo pelo qual elas in- (o enlace de 1 Mbps), que é o gargalo ou a parte mais lenta
clue1n seu próprio mecanismo de retransmissão na camada do caminho. Inicialmente, os quatro pacotes atravessam
de enlace. Devido às retrans1nissões sem fio, a perda de pa- o enlace o mais rapidamente quanto o transmissor puder
cotes da camada de rede normalmente é mascarada nessas enviá-los. No roteador, eles são enfileirados enquanto são
redes. Ela também é rara ern outros enlaces, pois os fios e as enviados, pois leva rnais ternpo para enviar um pacote pelo
fibras ópticas normahnente tên1 baixas taxas de erro de bit. en lace lento do que para receber o próxi1no pacote pelo
Todos os algorinnos TCP da Internet consideran1 que enlace rápido. Mas a fila não é grande, pois somente um
os pacotes perdidos são causados por congestiona1nento e pequeno número de pacotes foi enviado ao mesmo tem-
monitoram os períodos de tempo, procurando sinais de pro- po. Observe o maior tamanho dos pacotes no enlace lento.
ble1nas da forma co1no os mineiros observa1n seus canários. O rnesmo pacote, digamos, de 1 KB, agora é maior, pois
E' preciso que haja um bo1n timer de retransn1issão para de- leva mais tempo para ser enviado em tun enlace lento do
tectar sinais de perda de pacotes com precisão e en1 tempo. que e1n um enlace rápido.
Já discutunos corno o tüner de retransmissão do TCP inclui Por fim, os pacotes chegam ao receptor, onde são
estimativas da 1nédia e variação nos te1npos de ida e volta. confirmados. Os tempos para as confirmações refletem os
Consertar esse timer, incluindo um fator de variação, foi tempos em que os pacotes chegaram ao receptor depois de
um passo in1portante no trabalho de Jacobson. Dado u111 cruzar o enlace lento. Eles são espalhados em comparação
bon1 período de tempo de retrans1nissão, o transmissor TCP con1 os pacotes originais no enlace rápido. A' medida que
pode acompanhar o número de bytes pendentes, que estão essas confirmações trafega1n pela rede e retornatn ao trans-
sobrecarregando a rede. Ele simples1nente observa a dife- missor, elas preservam esse tempo.
rença entre os nún1eros de sequência que são transmitidos A observação principal é esta: as confirmações re-
e confirmados. tornan1 ao transmissor aproxitnada1nente na velocidade
Agora, parece que nossa tarefa é fáci l. Tudo o que pre- en1 que os pacotes podem ser enviados pelo enlace mais
cisa1nos fazer é acompanhar a janela de congestionamento, lento no ca1ninho. Essa é exatamente a velocidade que o
usando nú1neros de sequência e confirmação, e ajustá-la transn1issor deseja usar. Se ele injetar novos pacotes na

1: Rajada de pacotes enviada 2: Rajada enfileirada no roteador

D
no enlace rápido
[)[)[)[:)
Enlace
rápido B
e drenada para enlace lento Enlace

='====~~=====~>-1.~~
lento
(g~ar~g~al~~'....__
D
------ <J <J <J <J <J ... <J ... <J ... <J
Transmissor . . . . .. ~ \ Receptor
4: ACKs preservam tempo \ 3: Receber pacotes ACKs
do enlace lento no transmissor Clock ACK na taxa lenta do enlace

Figura 6.43 Uma rajada de pacotes de um transmissor e o clock ACK retornando.


372 Redes de computadores

rede nessa velocidade, eles serão enviados na velocidade Transmissor TCP Receptor TCP
que o enlace mais lento pennite, nlas não ficarão enfilei-
rados nem congestionarão nenhum roteador ao longo do cwnd =1 ~~--Dados

caminho. Esse esque1na de temporização é conhecido como


Confirmação ----L-._,, } 1 RTT, 1 pacote
cwnd = 2
clock ACK. Essa é uma parte essencial do TCP. Usando um
clock ACK, o TCP nivela o tráfego e evita filas desnecessá- } 1 RTT, 2 pacotes
rias nos roteadores. cwnd 3 =
cwnd = 4
A segunda consideração é que a regra AIMD levará
um tempo muito grande para alcançar urn botn ponto de cwnd = 5 ..."° ____ __ ____ __ } 1 RTT, 4 pacotes
=
cwnd 6 '" :::: _ - __ ::"' ',
operação ern redes rápidas se a janela de congestionamen- cwnd = 7 i... --
~.:::. ~~: - ..
- - ...
:,. 1 RTT 4 pacotes
J

to for iniciada a partir de un1 tamanho pequeno. Considere cwnd = 8 - - - - - .:-... : (canal está cheio)
uma rede nlodesta que pode dar suporte a 1O Mbps con1 um

RTT de 100 ms. A janela de congestionamento apropriada
é o produto largura de banda-atraso, que é 1 Mbit ou 100 Figura 6.44 Partida lenta de uma janela de congestiona-
pacotes de 1.250 bytes cada um. Se a janela de congestiona- mento inicial de um segmento.
mento corneçar ern 1 pacote e aumentar em 1 pacote a cada
RTT, ela será de 100 RTTs ou 10 segundos antes que a cone- Quando o transmissor recebe uma confirmação, ele aumenta
xão esteja rodando na velocidade correta. Esse é um longo a janela de congestionamento em um e imediatarnente en-
tempo a esperar só para chegar à velocidade certa para uma via dois pacotes para a rede. (Um pacote é o aurnento de
transferência. Podería1nos reduzir esse tempo inicial come- um; o outro pacote é urn substituto para o pacote que foi
çando com uma janela inicial 1naior, digamos, de 50 paco-
confirmado e saiu da rede. Em todo o tempo, o número de
tes. Mas essa janela seria muito grande para enlaces lentos
pacotes confirmados é dado pela janela de congestionamen-
ou curtos. Isso causaria congestionamento se fosse usado
to.) Porém, esses dois pacotes não necessaria1nente che-
tudo ao mesmo te1npo, conforme acaban1os de descrever.
garão ao receptor tão próximos um do outro quanto foram
Em vez disso, a solução que Jacobson achou para lidar
enviados. Por exemplo, suponha que o trans1nissor esteja
con1 essas duas considerações é un1a mistura de au1nento
em uma Ethernet de 100 Mbps. Cada pacote de 1.250 bytes
linear e n1ultiplicativo. Quando a conexão é estabelecida,
leva 100 µ.s para ser enviado. Assirn, o atraso entre eles pode
o transmissor inicia a janela de congestionamento em um
ser tão pequeno quanto 100 µs. A situação muda se esses
valor inicial pequeno de, no máximo, quatro segmentos;
pacotes atravessarem um enlace ADSL de 1 Mbps durante
os detalhes são descritos na RFC 3390, e o uso de quatro
o ca111inho. Agora, são gastos 1O n1S para enviar o n1es1no
segmentos é um au1nento de um segn1ento a partir do valor
pacote. Isso significa que o espaçamento mínimo entre os
inicial, com base na experiência. O transn1issor então envia
dois pacotes aurnentou por um fator de 100. A menos que os
a janela inicial. Os pacotes levarão un1 tempo de ida e volta
pacotes tenha1n que esperar juntos em uma fi la de um enlace
para ser confinnados. Para cada seg1nento que é confinna-
do antes de o tüner de retrans1nissão expirar, o transmissor n1ais adiante, o espaçamento continuará sendo grande.
soma os bytes correspondentes a u1n segmento na janela de Na Figura 6.44, esse esforço é rnostrado i1npondo-
congestionamento. Além disso, quando esse segmento tiver -se u1n espaçamento tnínimo entre os pacotes de dados
sido confirmado, existe un1 a rnenos na rede. O resultado é que chegarn ao receptor. O rnesmo espaçamento é rnantido
que cada segmento confinnado pennite que mais dois se- quando o receptor envia continuações e, consequentemen-
ja1n enviados. A janela de congestionamento está dobrando te, quando o trans1nissor as recebe. Se o caminho da rede
a cada tempo de ida e volta. for lento, as confirmações chegarão lentamente (após um
Esse algoritmo é cha1nado de partida lenta, mas não atraso de um RTT). Se o caminho da rede for rápido, as
é nada lento - ele tem crescünento exponencial -, exce- continuações chegarão rapidamente (novamente, após o
to em comparação corn o algoritmo anterior, que pennitia RTT). Tudo o que o transmissor precisa fazer é seguir o
que urna janela de controle de fluxo inteira fosse enviada ao tempo do clock ACK enquanto injeta novos pacotes, que é
mesmo tempo. A partida lenta pode ser vista na Figura 6.44. o que a partida lenta faz.
No prüneiro tempo de ida e volta, o transmissor injeta um Como a partida lenta causa crescimento exponencial,
pacote na rede (e o receptor recebe um pacote). Dois paco- en1 algum 1nomento (mas não rnuito depois) ela enviará
tes são enviados no próxirno tempo de ida e volta, depois muitos pacotes para a rede muito rapidamente. Quando isso
quatro pacotes no terceiro tempo de ida e volta. acontece, as filas se acumulam na rede. Quando as filas es-
A partida lenta funciona betn para uma faixa de velo- tiverem cheias, um ou mais pacotes serão perdidos. Depois
cidades de enlace e tempos de ida e volta e utiliza um clock que isso acontecer, o transmissor TCP expirará seu período
ACK para combinar a velocidade do transrnissor com o ca- de te1npo quando urna confirmação não chegar ern ternpo.
minho na rede. Dê u1na olhada no modo como as confir1na- Na Figura 6.44, há evidência de um crescimento muito rá-
ções retornam do transmissor ao receptor na Figura 6.44. pido da partida lenta. Depois de três RTTs, quatro pacotes
Capítulo 6 • A camada de transporte 373

estão na rede. Eles usa1n um RTT inteiro para chegar ao re- Transmissor TCP Receptor TCP
ceptor. Ou seja, u1na janela de congestionamento de quatro
pacotes tem o tamanho certo para essa conexão. Contudo, à cwnd = 1
Confirmação - - - k
, .....1---- Dados

medida que esses pacotes são confirmados, a partida lenta


continua a aumentar a janela de congestiona1nento, alcan- cwnd = 2 ' } 1 RTI, 1 pacote

çando oito pacotes e1n outro RTT. Apenas quatro deles po-
~
} 1 RTI, 2 pacotes
dem alcançar o receptor em um RTT, não Ílnporta quantos cwnd =3 =
sejam enviados; ou seja, o canal da rede está cheio. Pacotes
adicionais colocados na rede pelo transmissor se acu1nula- _ } 1 RTI, 3 pacotes
rão nas fi las do roteador, pois não podem ser entregues ao
cwnd = 4 }
receptor com rapidez suficiente. Logo, haverá congestiona- :::: _ _ 1 RTI, 4 pacotes
mento e perda de pacotes.
Para conservar a partida lenta sob controle, o trans- cwn d = 5 r=:-_ -_ - - - _ - - - ...... ' ~
~ .. ,,, ,,,:: - -- - - -- .... : 1RTI,4 pacotes
missor mantém u1n limite para a conexão chamado limite
de partida lenta. Iniciahnente, isso é definido co1n u1n va-
- ----
- :::: :::: ::::.:: :: :: :: ::!' ((canal está cheio)
.... .... . .,

lor arbitraria1nente alto, com o tamanho da janela de con-


trole de fluxo, de 1nodo que não limitará a conexão. O TCP Figura 6.45 Aumento aditivo a partir de uma janela de
continua aumentando a janela de congestionamento na par- congestionamento inicial de um segmento.
tida lenta até que u1n período de te1npo expire ou a janela
de congestionamento ultrapasse o li1nite (ou a janela do re- Em comparação com a partida lenta, a taxa de crescimento
ceptor esteja cheia). linear é muito mais lenta. Ela faz pouca diferença para ja-
Sen1pre que un1a perda de pacote é detectada, por nelas de congestiona1nento pequenas, como acontece aqui,
exemplo, por um tÍJneout, o limite de partida lenta é defini- mas uma diferença grande no tempo gasto para aumentar
do para a tnetade da janela de congestiona1nento e o proces- a janela de congestionamento para 100 segmentos, por
so inteiro é reiniciado. A ideia é que a janela atual é 1nuito exemplo.
grande, pois causou un1 congestionamento anterionnente Há 1nais un1a coisa que pode1nos fazer para 1nelho-
que só agora foi detectado por un1 ti1neout. Metade da ja- rar o dese1npenho. O defeito no esque1na até aqui é esperar
nela, que foi usada com sucesso em um momento anterior, por um timeout. Os períodos de tempo são relativamente
provavehnente é u1na melhor estimativa para uma janela longos, pois precisam ser conservadores. Após a perda de
de congestionamento que está próxiina da capacidade do um pacote, o receptor não pode conf1nnar além dele, de
ca1ninho, n1as não causará perda. Em nosso exe1nplo da n1odo que o número de confirmação permanecerá fixo, e
Figura 6.44, aumentar a janela de congestionamento para o transmissor não poderá enviar novos pacotes para a rede,
oito pacotes pode causar perda, enquanto a janela de con- pois sua janela de congestionamento permanece cheia. Essa
gestiona1nento de quatro pacotes no RTT anterior foi o va- cond ição pode continuar por um período relativamente
lor con·eto. A janela de congestionamento, então, reto1na ao longo, até que o timer seja disparado e o pacote perdido
seu valor mínilno inicial e a partida lenta é retomada. seja retrans1nitido. Nesse estágio, o TCP inicia novan1ente
Sen1pre que o lin1ite de partida lenta é ultrapassado, a partida lenta.
o TCP passa de partida lenta para aumento aditivo. Nes- Há um modo rápido para o transmissor reconhecer
se modo, a janela de congestionamento é aumentada em que um de seus pacotes se perdeu. Quando os pacotes
u1n seginento a cada te1npo de ida e volta. Assim como a alé1n do pacote perdido chegam ao receptor, eles disparam
partida lenta, isso normahnente é in1ple1nentado com um confinnações que retornam ao trans1nissor. Essas confir-
aumento para cada segn1ento que é confirmado, em vez de 1nações contêm o mesmo número de confirmação. Elas
um aumento único por RTT. Sejam a janela de congestiona- são chatnadas confirmações duplicadas. Toda vez que o
mento cwnd e o trunanho máximo de segmento MSS. U1na transmissor as recebe, é provável que outro pacote tenha
aproxin1ação comum é au1nentar cwnd e1n (MSS x MSS)I chegado ao receptor e o pacote perdido ainda não tenha
c1,vnd para cada um dos cwnd/MSS pacotes que podem ser aparecido.
confirmados, Esse aumento não precisa ser rápido, A ideia Como os pacotes pode1n tomar caminhos diferentes
con1pleta é que u1na conexão TCP gaste muito te1npo com pela rede, eles pode1n chegar fora de ordem. Isso dispara-
sua janela de congestionamento próxima do valor ideal - rá confinnações duplicadas, embora nenhtun pacote tenha
não tão pequeno para que a vazão seja baixa, nem tão gran- sido perdido. Contudo, isso é raro na Internet na 1naior parte
de para que ocorra congestiona1nento, do tempo. Quando existe reordenação por vários caminhos,
O aumento aditivo aparece na Figura 6.45 para ames- os pacotes recebidos normalmente não são reordenados em
ma situação da partida lenta. Ao final de cada RTT, a janela de1nasia. Assim, o TCP, de u1na fonna bastante arbitrária,
de congestionamento do transmissor terá crescido o sufi- considera que três confirmações duplicadas significa1n
ciente para que possa injetar um pacote adicional na rede. que u1n pacote foi perdido. A identidade do pacote perdido
374 Redes de computadores

também pode ser deduzida pelo número de confirmação. congestionamento cresce con1 a partida lenta, corno fazia
Ele é o próximo na sequência. Esse pacote pode então ser anteriormente, até alcançar o novo limite de 20 KB. Nesse
retransmitido imediatamente, antes que o período de tempo momento, o crescimento volta a se tomar linear. Ele conti-
para retransrnissão expire. nuará dessa fonna até que outra perda de pacote seja detec-
Essa heurística é chamada de retransmissão rápida. tada por conftrmações duplicadas ou até que um período
Depois que ela é disparada, o limite de partida lenta ainda de tempo seja expirado (ou a janela do receptor chegue ao
está definido como metade da janela de congestionarnento extremo).
atual, assim co1no ern um timeout. A partida lenta pode ser O TCP Tahoe (que incluía bons timers de retransmis-
reiniciada definindo-se a janela de congestionamento para são) ofereceu urn algorihno de controle de congestiona-
um pacote. Com essa janela de congestionamento, um novo mento funcional , que resolveu o problema do colapso do
pacote será enviado após um tempo de ida e volta que é gas- congestionamento. Jacobson observou que é possível fazer
to para confínnar o pacote retransmitido junto co1n todos os ainda rnelhor. No mornento da retransmissão rápida, a cone-
dados que foram enviados antes que a perda fosse detectada. xão está trabalhando corn uma janela de congestionamento
Uma ilustração do algoritmo de congestionamento muito grande, 1nas ainda está trabalhando com um clock
que criamos até aqui aparece na Figura 6.46. Essa versão ACK funcional. Toda vez que outra confirmação duplica-
do TCP é cha1nada de TCP Tahoe, devido à versão 4.2BSD
da chega, é provável que outro pacote tenha saído da rede.
Tahoe em que ela foi incluída, em 1988. O tamanho má-
Usando confirmações duplicadas para contar os pacotes na
ximo do segmento aqui é 1 KB. Inicialmente, a janela de
rede, é possível permitir que alguns pacotes saia1n da rede e
congestionarnento era de 64 KB, mas houve um tin1eout,
continuem a enviar urn novo pacote para cada confirmação
de 1nodo que o limite é definido como 32 KB e a janela de
duplicada adicional.
congestionamento para 1 KB para a transmissão O. Ajanela
de congestionamento cresce exponencialmente até atingir Recuperação rápida é a heurística que implernenta
o limite (32 KB). A janela aumenta toda vez que uma nova esse comportamento. Esse é um modo temporário que visa
confirmação chega, e não de forma contínua, o que leva a manter o clock ACK funcionando com uma janela de con-
ao padrão descontínuo em escada. Após o limite ser ultra- gestionamento que é o novo limite, ou 111etade do valor da
passado, a janela cresce linearmente. Ela aumenta em urn janela de congestionamento no 1nomento da retranstnissão
segmento a cada RTT. rápida. Para fazer isso, confirmações duplicadas são conta-
As transtnissões na rodada 13 não têm sorte (elas de- das (incluindo as três que dispararam a retransrnissão rápi-
veriam saber disso), e urna delas se perde na rede. Isso é de- da) até que o número de pacotes na rede tenha caído para o
tectado quando chegam h·ês confinnações duplicadas. Nes- novo lirnite. Isso leva cerca de rnetade de un1 tempo de ida
se mornento, o pacote perdido é retransn1itido, o lirnite é e volta. Daí em diante, um novo pacote pode ser enviado
definido para n1etade da janela atual (no momento, 40 KB, para cada confirmação duplicada recebida. Urn tempo de ida
de modo que a metade é 20 KB) e a partida lenta é iniciada e volta após a retransmissão rápida e o pacote perdido terá
novamente. Reiniciar corn uma janela de congestionamen- sido confmnado. Nesse momento, o fluxo de confir1nações
to de un1 pacote exige un1 ten1po de ida e volta para todos duplicadas terminará e o modo de recuperação rápida será
os dados previamente transmitidos saírem da rede e serem encerrado. A janela de congestionamento será definida para
confirmados, incluindo o pacote retransmitido. A janela de o novo limite de partida lenta e crescerá pelo aumento linear.

-
~
o
(.)
<O
40
Partida lenta
~
I
- - _ _ Aumento
aditivo
~ 35 Limite 32 KB
I
/
o Perda de
cc 30
~ pacote
~

E
e 25
Q) I
E 20 I Limite 20 KB
<O I
e I
~
(/)
15
Q)
/
~ 10 I
o
~ 5
'O
<O
Q)
e
...,
<O
o 2 4 6 8 10 12 14 16 18 20 22 24
Rodadas de transmissão (RTTs)

Figura 6.46 Partida lenta seguida pelo aumento aditivo no TCP Tahoe.
Capítulo 6 • A camada de transporte 375

O resultado dessa heurística é que o TCP evita a par- mas que usam leis de controle ligeira1nente diferentes. Por
tida lenta, exceto quando a conexão é iniciada e quando exemplo, o Linux usa u1na variante chamada CUBIC TCP
ocorre um timeout. O último tan1bém pode acontecer quan- (He et ai., 2008) e o Windows inclui uma variante chamada
do mais de u1n pacote é perdido e a retransmissão rápida TCP composto (Tan et ai., 2006).
não se recupera adequadamente. Em vez de partidas lentas Duas mudanças maiores também afetaram as im-
repetidas, a janela de congestionamento de uma conexão plementações do TCP. Pri1neiro, grande parte da sua
em execução segue um padrão dente de serra de aumento complexidade ve1n da dedução, por u1n fluxo de confir-
aditivo (por um segmento a cada RTT) e diminuição mul- n1ações duplicadas, de quais pacotes chegaram e quais
tiplicativa (pela n1etade em tm1 RTT). Essa é exatamente a pacotes se perderam. O número de confinnação acumu-
regra AlMD que procuramos implementar. lativo não oferece essa informação. Um reparo simples
Esse co1nporta1nento dente de serra aparece na Fi- é o uso de SACK, que lista até três intervalos de bytes
gura 6.47. Ele é produzido pelo TCP Reno, que tem o no1ne que foran1 recebidos. Con1 essa inforn1ação, o transmissor
da versão 4.3BSD Reno de 1990, na qual foi incluído. Trata- pode decidir mais direta1nente quais pacotes retransmitir
-se basicamente do TCP Tahoe com recuperação rápida. e acompanhá-los a caminho para implen1entar a janela de
Após uma partida lenta inicial, a janela de congestionamento congestionamento.
sobe linear1nente até que un1a perda de pacote seja detectada Quando transmissor e receptor estabelecem un1a cone-
pelas confirmações duplicadas. O pacote perdido é retrans- xão, cada um deles envia a opção do TCP SACK per1nitido
mitido e a recuperação rápida é usada para manter o clock para sinalizar que eles entendem as confim1ações seletivas.
ACK funcionando até que a retransmissão seja confmnada. Quando o SACK é ativado para u1na conexão, ela funciona
Nesse momento, a janela de congestionamento é retomada con10 mostra a Figura 6.48. Um receptor usa o campo de
a partir do novo lin1ite de partida lenta, en1 vez de 1. Esse Número de conjir1nação do TCP normalmente, como uma
comportamento continua indefmida1nente, e a conexão gasta conftrmação acun1ulativa do byte mais alto na orde1n que
a maior parte do tempo com sua janela de congestionamento foi recebido. Ao receber o pacote 3 fora de orde1n (porque o
próxitna do valor ideal do produto largura de banda-atraso. pacote 2 se perdeu), ele envia uma opção SACK para os da-
O TCP Reno, com seus mecanismos para ajustar aja- dos recebidos junto com a confirmação acumulativa (dupli-
nela de congestionamento, fonnou a base para o controle de cada) para o pacote 1. A opção SACK oferece os intervalos
congestionamento TCP por 1nais de duas décadas. A 1naior de bytes que foram recebidos acima do número dado pela
parte das 1nudanças nos anos intermediários ajustou esses confinnação acu1nulativa. O pritneiro intervalo é o pacote
mecanismos de algumas fonnas, por exemplo, alterando que disparou a confirmação duplicada. Os próximos inter-
as escolhas da janela inicial e removendo diversas ambi- valos, se houver, são blocos mais antigos. Até três interva-
guidades. Algu1nas melhorias foram feitas para a recupera- los normalmente são usados. Quando o pacote 6 é recebido,
ção de duas ou 1nais perdas em un1a janela de pacotes. Por dois intervalos de bytes SACK são usados para indicar que
exemplo, a versão TCP NewReno usa um avanço parcial do o pacote 6 e os pacotes 3 e 4 foram recebidos, alén1 de todos
número de confirmação após uma transmissão encontrar e os pacotes até o pacote l. Pela informação em cada opção
reparar outra perda (Hoe, 1996), confonne descrito na RFC SACK que recebe, o transmissor pode decidir quais pacotes
3782. Desde 1neados da década de 1990, surgira1n diver- retrans1nitir. Nesse caso, a retrans1nissão dos pacotes 2 e 5
sas variações que segue1n os princípios que descrevemos, seria uma boa ideia.

V>
...o
Q)
40
Partida lenta
l Aumento
o J / / "' aditivo
m Perda de
a. I
::> 35 I pacote
o Limite- --
(]) 30 ~ Diminuição
::.::: Recuperação multiplicativa
...oe
~

25 rápida
Q)
E 20 I Limite - - _ /._ _ -
m 1
e
...V> 15
·º
Q)
O>
e 10 I
oo
Q) 5
u

o 4 8 12 16 20 24 28 32 36 40 44 48
Rodada de transmissão (RTis)

Figura 6.47 Recuperação rápida e padrão dente de serra do TCP Reno.


376 Redes de computadores

Retransmitir 2 e 5!
r Pacotes
perdidos \

[ID ~~~> [D []) ~~~>[D D


Transmissor (] (] (] (] Receptor
ACK: 1 ACK: 1 ACK: 1 ACK: 1
SACK: 3 SACK: 3-4 SACK: 6, 3-4

Figura 6.48 Confirmações seletivas.

SACK é informação estrita1nente consultiva. A detec- 6.5.11 CUBIC TCP


ção real de perda usando confinnações duplicadas e ajus-
tes na janela de congestionamento prosseguem exatamente Para lidar com produtos largura de banda-atraso cada vez
como antes. Contudo, com SACK, o TCP pode se recuperar maiores, foi desenvolvido o CUBIC TCP (Ha et ai., 2008).
mais facilmente de situações em que vários pacotes se per- Como já dissemos, as redes com grandes produtos largura
dem aproximadamente ao mesmo tempo, pois o transmis- de banda-atraso usam um longo tempo de ida e volta para
sor TCP sabe quais pacotes não fora1n recebidos. O SACK atingir a capacidade disponível do ca1ninbo de ponta a pon-
agora é 1nuito utilizado. Ele é descrito na RFC 2883, e o ta. A técnica básica por trás do CUBIC TCP é aumentar a
controle de congestionamento TCP usando SACK é descri- janela de congestionamento de forma que ela seja uma fun-
to na RFC 35 17. ção do tempo desde a última confirmação duplicada, em
A segunda mudança é o uso de ECN junto com a per- vez de simplesrnente corn base na chegada dos ACKs.
da de dados como u1n sinal de congestionamento. ECN é A janela de congestiona1nento do CUBTC ta1nbém é
un1 1necanis1no da crunada IP para notificar os hosts quan- ajustada de forma diferente em função do tempo. Ao con-
to ao congestionamento que descrevemos na Seção 5.3.2. trário da técnica padrão de controle de congestionamento
Com ele, o receptor TCP pode receber sinais de congestio- AlMD, confonne descrito anteriormente, a janela de con-
namento do IP. gestionrunento aurnenta de acordo com urna função cúbica,
O uso de ECN é ativado para urna conexão TCP quan- que inicialn1ente tem u1n crescin1ento na janela de conges-
do transmissor e receptor indicam que são capazes de usar tionamento, seguido por um período de platô e, finalmente,
ECN defmindo os bits ECE e CWR durante o estabeleci- um período de crescitnento mais rápido. A Figura 6.49 mos-
mento da conexão. Se o bit ECN for usado, cada pacote tra a evolução da janela de congestionamento do CUBIC
que transporta u1n segn1ento TCP é marcado no cabeçal110 TCP ao longo do tempo. Nova1nente, tuna das principais
diferenças entre o CUBIC e outras versões do TCP é que
IP para mostrar que pode transportar urn sinal ECN. Os ro-
teadores que dão suporte ao n1ecanismo ECN definirão um a janela de congestionamento evolui e1n função do ternpo,
sinal de congestionamento nos pacotes que pode1n trans- desde o último evento de congestionarnento, aumentando
portar flags ECN quando o congestionamento estiver se rapidamente e, em seguida, estabilizando para a janela de
aproximando, em vez de descartar esses pacotes após a congestiona1nento que o transn1issor atingiu antes do últi-
ocorrência do congestionamento. mo evento de congestionamento e, em seguida, aumentan-
do novamente para testar a taxa ideal acima dessa taxa até
O receptor TCP é informado se qualquer pacote que
que ocorra outro evento de congestionamento.
chega transportar um sinal de congestionamento ECN.
O CUBTC TCP é imple1nentado por padrão nos ker-
O receptor, então, usa a flag para sinalizar ao transmissor
nels Linux 2.6.19 e superiores, bem como nas versões mo-
TCP que seus pacotes sofrerrun congestionamento. O trans-
dernas do Windows.
missor diz ao receptor que ele ouviu o sinal por n1eio da
flag CWR.
O transmissor TCP reage a essas notificações de con-
gestionamento exatamente da mesma maneira como faz 6.6 PROTOCOLOS DE
con1 a perda de pacotes que é detectada por confirmações
duplicadas. Todavia, a situação é estritamente melhor. TRANSPORTE E CONTROLE
O congestionamento foi detectado e nenhum pacote foi pre- DE CONGESTIONAMENTO
judicado de forma alguma. O mecanis1no ECN é descrito
na RFC 3168. Ele exige suporte do host e do roteador, e A' medida que a capacidade da rede au1nenta, alguns dos
ainda não é muito usado na [nternet. modos de operação convencionais do TCP não atingem
Para obter 1nais infonnações sobre o conjunto con1- n1ais o dese1npenho ideal. E1n particular, os protocolos
pleto de comportamentos de controle de congestionan1ento orientados a conexão, co1no o TCP, poden1 sofrer co1n a
i1nplementados no TCP, consulte a RFC 5681. alta sobrecarga do estabelecimento da conexão, bem como
Capítulo 6 • A camada de transporte 377

Janela de
congestionamento

...
-------.-.-~ -- -·

Tempo desde o último evento de congestionamento

Figura 6.49 Evolução da janela de congestionamento do CUBIC TCP.

problemas de desempenho em redes com grandes buffers. transporte e criptografar cada pacote individualmente para
No restante desta seção, discutiremos alguns desenvolvi- que a perda de um não impeça a decodificação dos pacotes
mentos recentes em protocolos de transporte para tratar subsequentes. O QUIC também oferece mecanis1nos para
dessas questões. 1nelhorar a velocidade de transferência da rede (p. ex., de
uma conexão de dados nlóveis do celular para uma cone-
xão Wifi), usando um identificador de conexão corno urna
6.6.1 QUIC: Quick UDP Internet Connections forma de 1nanter o estado quando os dispositivos mudam
O QUIC, inicialmente proposto co1no Quick UDP Inter- de rede.
net Connections, é um protocolo de transporte que visa
melhorar algumas das características de vazão (throughput) 6.6.2 BBR: controle de congestionamento
e latência do TCP. Antes de ser padronizado, ele foi usa-
do ein mais da metade das conexões entre o navegador baseado em banda larga com gargalo
Chron1e e os serviços do Google. No entanto, a 1naioria dos Quando os buffers de gargalo são grandes, algoritmos de
navegadores Web, com exceção do Google Chrome, não controle de congestionamento baseados em perdas, cotno
oferece suporte ao protocolo. os descritos anterionnente, acaba1n enchendo esses buffers,
Co1no o próprio nome sugere, o QUIC trabalha em causando um fenômeno conhecido como bufferbloat (in-
cima do UDP e seu principal objetivo é tomar mais rápi- chaço de buffer). A ideia por trás do bufferbloat é bem sim-
dos os protocolos de aplicação, como os protocolos da Web ples: quando os dispositivos de rede em um caminho da
(discutidos no Capítulo 7). Discutiremos como o QUIC in- rede tê1n buffers muito grandes, um transmissor TCP com
terage co1n os protocolos das aplicações Web com mais de- uma grande janela de congestionamento pode enviar a uma
talhes no Capítulo 7. Como veremos, tuna aplicação como taxa que excede e1n muito a capacidade da rede antes de
a Web depende do estabelecitnento de várias conexões em receber u1n sinal de perda. Os buffers no meio da rede po-
paralelo para carregar uma página Web individual. Como dem encher, atrasando eventos de congestionamento para
muitas dessas conexões são para um servidor co1num, esta- os transmissores que estão enviando pacotes muito rapida-
belecer uma nova conexão para can·egar cada objeto indivi- mente (ou seja, sem descartar pacotes) e, mais i111portan-
dual da Web pode resultar em u111a sobrecarga significativa. te, aumentando a latência da rede para transmissores cujos
Como resultado, o QUIC visa multiplexar essas conexões pacotes estão enfi leirados atrás dos pacotes em um buffer
em um único fluxo UDP, ao inesmo tempo garantindo que, grande (Gettys, 2011 ).
se houver atraso na transferência de um único objeto da A solução do proble1na de bufferbloat pode ser de vá-
Web, este não bloqueie a transferência de outros objetos. rias formas. U1na delas é simplesmente reduzir o tamanho
Como o QUIC é baseado em UDP, ele não alcança dos buffers nos dispositivos de rede; infelizmente, isso exi-
auto1natica1nente um transporte confiável. Se alguns dados giria convencer fornecedores e fabricantes de dispositivos
foren1 perdidos em u1n fluxo, o protocolo pode continuar de rede, de pontos de acesso se1n fio a roteadores de back-
transferindo dados para outros fluxos de forma indepen- bone, a reduzir o tan1anho dos buffers em seus dispositi-
dente, o que pode melhorar o desempenho de enlaces com vos. Mesmo que essa batalha pudesse ser ganha, há muitos
altas taxas de erro de transmissão. O QUIC também faz vá- dispositivos legados na rede para contar apenas com essa
rias outras otitnizações para 1nelhorar o dese1npenho, co1no solução. Outra forma é desenvolver u111a alternativa para o
pegar carona (piggyback) nas informações de criptografia controle de congestiona1nento baseado em perdas, que é a
no nível da aplicação no estabelecimento da conexão de abordagem adotada pelo BBR.
378 Redes de computadores

A ideia principal por trás do BBR é medir a largura de infonnações novas e atualizadas sobre tempos de ida e vol-
banda do gargalo e o atraso de propagação de ida e volta, e ta e taxas 1nédias de entrega, con1 verificações para garan-
usar estimativas desses parâmetros para enviar exatamen- tir que a taxa de entrega não seja limitada pela aplicação
te no ponto operacional apropriado. Assim, o BBR rastreia (co1no às vezes é o caso e1n protocolos de solicitação-res-
continua1nente a largura de banda com gargalo e o atraso posta). A segunda parte do BBR é o andamento dos pró-
de propagação de ida e volta. O TCP já rastreia o te1npo de prios dados para corresponder à taxa de largura de banda
ida e volta, mas o BBR estende a funcionalidade existente, com gargalo. A taxa de estímulo é o parâmetro crítico para
rastreando a taxa de entrega do protocolo de transporte ao o controle de congestionamento baseado en1 BBR. No es-
longo do tempo. O BBR calcula, com eficiência, a largura tado uniforme, a taxa na qual o BBR envia é sin1ples1nente
de banda com gargalo como o 1naior valor da taxa de entre- uma função da largura de banda com gargalo e do tempo
ga medida em uma detem1inada janela de tempo - normal- de ida e volta. O BBR minimiza o atraso, gastando a maior
mente, de seis a dez viagens de ida e volta. parte do seu tempo com a quantidade de dados a caminho
A filosofia geral do BBR é que, até o produto largura relativa ao produto largura de banda-atraso, exatamente na
de banda-atraso do ca1ninho, o tempo de ida e volta não taxa da larg1tra de banda com gargalo. A convergência para
aumentará porque nenhum buffer adicional está ocon·endo. a taxa com gargalo é muito rápida.
No entanto, a taxa de entrega permanecerá inversamen- O Google implantou o BBR de forma bastante di-
te proporcional ao tempo de ida e volta, e proporcional fundida, tanto e1n sua rede de backbone interna quanto
à quantidade de pacotes a caminho (a janela). Quando a etn 1nuitos de seus aplicativos. Uma questão em aberto,
quantidade de pacotes a caminho excede o produto largura entretanto, é a facilidade con1 que o controle de conges-
de banda-atraso, a latência começa a aumentar conforme tionamento baseado em BBR compete com o controle de
os pacotes são enfileirados e a taxa de entrega atinge um congestionamento convencional, baseado no TCP. Em um

patamar. E nesse ponto que o BBR pretende operar. A Fi- experimento recente, por exemplo, os pesquisadores desco-
gura 6.50 1nostra como o te1npo de ida e volta e a taxa de briram que uu1 trans1n issor BBR consumia 40% da capaci-
entrega variam com a quantidade de dados a caminho do dade do enlace ao compartilhar un1 can1inho de rede com
destino (ou seja, enviados, mas não confinnados). O ponto 16 outras conexões de transporte, cada uma recebendo me-
operacional ideal para o BBR ocorre quando o aumento da nos de 4% da largura de banda restante (Ware et ai., 2019).
quantidade de tráfego a caminho aumenta o tempo geral de Pode-se 1nostrar que e1n geral o BBR assume tuna parcela
ida e volta, mas não au1nenta a taxa de entrega. fixa da capacidade disponível, independentemente do nú-
A chave para o BBR é, portanto, atualizar conti- mero de fluxos TCP concorrentes. Infelizmente, o que há
nuamente as esti1nativas da largura de banda com garga- de melhor para analisar as propriedades de imparcialidade
lo e da latência de ida e volta. Cada conftrmação fornece dos novos algorihnos de controle de congestionatnento é

Tempo de Atraso de Inclinação = 1/largura de banda


ida e volta propagação com gargalo

Dados a caminho do destino

Largura de banda com gargalo


Taxa de
entrega

Inclinação = 1/atraso de propagação

Dados a caminho do destino

Figura 6.50 Ponto de operação do BBR .


Capítulo 6 • A camada de transporte 379

si1nples1nente experimentá-los e ver o que acontece. Nesse levando muitas pessoas a revisar o controle de congestiona-
caso, parece que ainda há um trabalho significativo a ser mento. U1na possibilidade é usar um controle de congestio-
feito para garantir que o BBR interaja bem com o tráfego nan1ento alternativo, em que o sinal não é nenhuma perda
TCP existente na Internet. de pacote. Mostramos vários exemplos na Seção 6.2. O si-
nal poderia ser o ten1po de ida e volta, que cresce quando
a rede se torna congestionada, conforme usado pelo FAST
6.6.3 O futuro do TCP TCP (Wei et ai., 2006). Outras técnicas também são possí-
veis, e o tempo mostrará qual é a melhor.
Como força 1notriz da Internet, o TCP tem sido usado em
muitas aplicações e estendido co1n o passar do tempo para
oferecer bom dese1npenho em cada vez mais topologias
de rede. Muitas versões são implantadas com implemen- 6.7 QUESTÕES DE DESEMPENHO
tações ligeiramente diferentes dos algorit1nos clássicos que
descrevemos, especialmente para controle de congestio- As questões referentes ao dese1npenho são muito i1nportan-
namento e robustez contra ataques. É provável que o TCP tes nas redes de computadores. Quando centenas ou milha-
continue a evoluir com a Internet. Nesta seção, vamos men- res de computadores estão interconectados, são co1nuns in-
cionar dois aspectos ern particular. terações complexas que traze1n consequências imprevistas.
O primeiro é que o TCP não oferece a semântica de Com frequência, essa complexidade resulta e1n um fraco
transporte que todas as aplicações desejam. Por exe1nplo, desen1penho, cujas razões todos desconhecen1. Nas próxi-
algu1nas aplicações desejam enviar mensagens ou regis- mas seções, examinaremos várias questões relacionadas ao
tros cujos li1nites precisam ser preservados. Outras traba- desempenho das redes, a fim de constatar que tipos de pro-
lhan1 co1n um grupo de conversações relacionadas, co1no blemas existern e o que pode ser feito para solucioná-los.
um navegador Web que transfere vários objetos a partir do Infelizmente, compreender o dese1npenho de tuna
mesmo servidor. Outras ainda desejam melhorar o controle rede é n1ais uma arte do que u1na ciência. Pouco do que
sobre os caminhos na rede que elas utilizan1. O TCP, com existe em te1mos de teoria é realmente útil na prática. O que
suas interfaces de soquetes padrão, não atende 1nuito bem podemos fazer é oferecer algumas regras práticas obtidas
a essas necessidades. Basicamente, a aplicação tem o peso com a dura experiência e apresentar exe1nplos reais. Dei-
de lidar com qualquer problema não resolvido pelo TCP. xamos essa discussão para depois do estudo da camada
Isso gerou propostas para novos protocolos que ofereces- de transporte nas redes TCP porque o desen1penho obtido
sem uma interface ligeiramente diferente. Dois exen1plos pelas aplicações depende do desempenho combinado das
são SCTP e SST. Contudo, toda vez que alguén1 propõe camadas de transporte, rede e enlace, e para podermos usar
mudar algo que tenha funcionado tão bem por tanto tempo, o TCP co1no exemplo em vários lugares.
há sempre uma imensa batalha entre esses dois lados: "os Nas próximas seções, estudaremos seis aspectos do
usuários estão exigindo mais recursos" e "se não quebrou, desempenho das redes:
não conse1te".
1. Problemas de desempenho.
O segundo aspecto é o controle de congestionamento.
2. Medição do desempenho da rede.
Você poderia esperar que esse fosse um proble1na resolvi-
3. Medição da vazão da rede de acesso.
do após nossas deliberações e os 1necanis1nos que fora1n
desenvolvidos co1n o tempo. Não é bem assim. A forma de 4. Medição da qualidade da experiência.
controle de congestionamento TCP que descrevemos, que é 5. Projeto de bost para redes rápidas.
1nais usada, é baseada em perdas de pacote como um sinal 6. Processamento rápido de seg1nentos.
de congestiona1nento. Quando Padhye et ai. ( 1998) mode- 7. Con1pactação de cabeçalho.
laran1 a vazão do TCP com base no padrão dente de serra, 8. Protocolos para redes longas de banda larga.
eles descobriram que a taxa de perda de pacotes precisa
cair rapidamente com o aumento de velocidade. Para alcan- .Esses aspectos consideram o dese1npenho da rede tan-
çar u1na vazão de l Gbps con1 un1 tempo de ida e volta de to no bost quanto pela rede, e à 1nedida que as redes aun1en-
100 ms e pacotes de 1.500 bytes, um pacote pode ser perdi- tam em velocidade e tamanho.
do aproximadamente a cada l Ominutos. Essa é uma taxa de
perda de pacote de 2 x 10-s, que é incrivehnente pequena. 6.7.1 Problemas de desempenho em
fsso é muito pouco frequente para servir como um bom si-
nal de congestionamento, e qualquer outra fonte de perda redes de computadores
(p. ex., taxas de erro de transmissão de pacote de l 0-1) pode Alguns problemas de desempenho, como o congestiona-
facilmente dominá-la, limitando a vazão. n1ento, são causados pela sobrecarga temporária de recur-
Esse relacionamento não foi problema no passado, sos. Se, de repente, um roteador receber um tráfego n1aior
mas as redes estão se tornando cada vez mais rápidas, do que é capaz de manipular, haverá um congestionamento
380 Redes de computadores

e un1a queda de desempenho. Estuda1nos o congestiona- separada, e ainda o número de retrans1nissões antes de uma
mento em detalhes neste capítulo e no anterior. desistência.
O desempenho também é prejudicado quando há um Outro problema de desetnpenho que ocorre co1n as
desequilíbrio nos recursos estruturais. Por exemplo, se uma aplicações de tempo real, co1no áudio e vídeo, é o jitter.
linha de cotnunicação de gigabits estiver conectada a um Haver largura de banda suficiente, na média, não é o bas-
PC co1n poucos recursos, o pobre host não será capaz de tante para um bom desempenho. Atrasos de trans111issão
processar os pacotes recebidos com a rapidez necessária, e curtos ta1nbén1 são necessários. Conseguir consistenten1en-
alguns deles serão perdidos. Esses pacotes serão retransmi- te atrasos curtos exige uma engenharia cuidadosa da carga
tidos, aumentando o atraso, desperdiçando largura de banda na rede, suporte para qualidade de serviço nas camadas de
e geralmente reduzindo o desempenho. enlace e de rede, ou ambos.
As sobrecargas tan1bém podem ser disparadas de for-
ma sincronizada. Por exemplo, se u1n segmento contiver
um parâ1netro inadequado (con10 a porta a que ele sedes- 6.7.2 Medição do desempenho da rede
tina), em muitos casos o receptor, muito solícito, retorna-
Os operadores e os usuários tentam 1nedir o dese1npenho
rá u1na notificação de erro. Agora, imagine o que poderia
de suas redes. Por exe1nplo, uma técnica popular é aces-
acontecer se u1n segmento inadequado fosse trans1nitido
sar a medição da vazão da rede (às vezes chamado sim-
por broadcast para mil máquinas - cada uma delas poderia
plesmente de "velocidade"). Muitos usuários da [nternet
enviar de volta uma mensagem de erro. Isso causaria um
utilizam ferramentas como Speedtest (ww111.speedtest.net)
congestionamento de broadcast que poderia paralisar a
para medir o desempenho das redes de acesso. A técnica
rede. O UDP sofreu co1n esse problema até que o protocolo
ICMP fosse alterado para in1pedir que os hosts respondes- convencional para realizar esses testes há muito tempo tem
sido enviar o máxin10 de tráfego pela rede o mais rapida-
sem a erros nos segmentos UDP enviados a endereços de
mente possível (como que "enchendo os canos"). Todavia,
broadcast. As redes sem fio, particularmente, precisam ter
à medida que a velocidade das redes de acesso aumenta,
cuidado para evitar respostas de broadcast não verificadas,
a medição da velocidade de u1n enlace de acesso se torna
pois o broadcast ocorre naturalmente e sua largura de banda
mais difícil, pois encher os canos exige mais dados, en-
é limitada.
quanto os gargalos na rede entre o cliente e o servidor em
Un1 segundo exe111plo de sobrecarga sincronizada é o
teste passa1n para outro ponto da rede. Talvez ainda mais
que acontece depois de un1a falha no fornecimento de ener-
importante seja o fato de que a velocidade está se tornando
gia elétrica. Quando a energia retorna, todas as máquinas
1.n enos relevante para o dese1npenho da rede do que a qua-
reinician1ao111esmo te111po. Uma sequência de reinício típi-
ca poderia exigir o acesso a u1n servidor qualquer (DHCP), lidade da experiência ou o desempenho de u111a aplicação.
para confirn1ar a identidade do usuário, e depois a algum Como resultado, a n1edição do desempenho da rede está
contmuando a evoluir, especialmente na era das redes de
servidor de arquivos para obter uma cópia do siste1na ope-
acesso de gigabits.
racional. Se centenas de máquinas em um centro de dados
fizerem isso ao 1nesmo te1npo, o servidor provavehnente
interromperá seu funcionan1ento devido à sobrecarga. 6.7.3 Medição da vazão da rede de acesso
Mesmo na ausência de sobrecargas sincronizadas e
quando há recursos suficientes disponíveis, pode ocorrer A técnica convencional para 1nedir a vazão da rede é sim-
um desempenho fraco devido à falta de ajuste do sistema. plesmente enviar tantos dados ao longo de um caminho de
Por exe1nplo, e1n u1na máquina co1n u111a CPU potente e rede quantos a rede poderá suportar durante um detennina-
muita men1ória, 1nas com pouca 1nemória alocada e1n do período de tempo e dividir a quantidade de dados trans-
buffers, o controle de fluxo atrasará o recebiinento do seg- feridos pelo tempo necessário para transferi-los, resultando
mento e limitará o dese1npenho. Esse foi um problema para e1n um cálculo da vazão média. Ernbora pareça simples e
muitas conexões TCP quando a Internet se tornou 1nais rá- gerabnente apropriada, essa abordagem encontra u1na série
pida, mas o tamanho padrão da janela de controle de fluxo de deficiências: a 1nais iinportante é que u1na única cone-
permaneceu fixo em 64 KB. xão TCP normaln1ente não pode esgotar a capacidade de
Outra questão relacionada ao ajuste é a definição um enlace da rede, especialmente porque a velocidade dos
dos timeouts. Quando um segmento é enviado, e1n geral enlaces de acesso continua a subir. Além disso, se o teste
um timer é ativado para evitar sua perda. Se o tüneout for capturar a parte inicial da transferência, então ele pode apa-
muito curto, haverá retrans1nissões desnecessárias, aumen- nhar as taxas de transferência antes do estado estacionário
tando o volume do tráfego. Se, ao contrário, o timeout for (p. ex., partida lenta do TCP), o que poderia resultar em um
muito longo, ocorrerão atrasos desnecessários após a perda teste que subestüna a vazão da rede de acesso. Finalmente,
de um seg1nento. Outros parâmetros ajustáveis incluem o os testes baseados no cliente (como speedtest.net ou quais
tempo de espera por dados para enviar uma confi1·mação quer tipo de teste de vazão que possa ser executado a partir
por piggyback antes de decidir enviar uma confirmação de um dispositivo cliente) cada vez mais acabam medindo
Capítulo 6 • A camada de transporte 381

lin1itações de dese1npenho além da rede de acesso (p. ex., o 20 19). Portanto, a experiência de un1 usuá1io ao transmitir
rádio do dispositivo, a rede de acesso sem fio). un1 vídeo é definida por fatores con10 a rapidez do início da
Para compensar essas deficiências, que se tornaram reprodução (atraso na partida), se sofre paradas e a resolu-
cada vez mais agudas à medida que as redes de acesso ção. Além de cerca de 50 Mbps, no entanto, nenhum des-
começam a exceder as velocidades de gigabits, algumas ses fatores depende particularmente da vazão do enlace de
práticas recomendadas surgiram para medir o rendünento acesso, mas de outras propriedades da rede (latência, jitter
da rede de acesso (Feamster et ai ., 2020). A pri1neira é usar e, assim por díante).
várias conexões TCP paralelas para preencher a capaci- Consequentemente, a 1noderna 1nedição do desempe-
dade do enlace de acesso. Os testes iniciais de velocidade nho da rede está indo além dos sí1nples testes de velocida-
mostraram que quatro conexões TCP nonnalmente eram de, e1n u1n esforço para estimar a qualidade da experiência
suficientes para preencher a capacidade da rede de acesso do usuário, normalmente con1 base na observação passiva
(Sundaresan, 2011 ); a maioria das ferramentas 1nodernas do tráfego da rede. Esses esti1nadores estão se tornando
baseadas no cliente, incluindo Speedtest e o teste de vazão bastante difundidos para strea1ning de vídeo (Ahmed et ai.,
usado pela Federal Trade Co1nmunications, usa pelo me- 20 17; Krishna1noorthy et ai., 2017; Mangla et ai., 2018; e
nos quatro conexões paralelas para medir a capacidade da Bronzino et ai., 2020). Os desafios estão em realizar esse
rede. Algumas dessas ferramentas até escalam o número tipo de otimização em uma classe geral de serviços de
de conexões de rede, de modo que aquelas que parecern vídeo e, finalmente, para u1na classe maíor de aplicações
ter maior capacidade sejam testadas com mais conexões (p. ex., jogos, realidade virtual).
paralelas. Naturalmente, a qualidade da experiência de um
U1na segunda prática recomendada, que se tornou usuário é uma medida para saber se essa pessoa está sa-
cada vez mais importante conforn1e a vazão do enlace de tisfeita con1 o serviço que está usando. Essa métrica é, e1n
acesso do ISP excede a da rede doméstica (e outras partes última análise, uma consideração humana e pode até exigir
do caminho de ponta a ponta), é realizar testes de vazão da feedback humano (p. ex., pesquisas em tempo real ou me-
rede de acesso diretamente a partir do roteador doméstico. canismos de feedback do usuário). Os provedores de ser-
Isso reduz a probabilidade de que fatores estranhos (p. ex., viços de Internet continuam interessados em mecanismos
urn dispositivo cliente, a rede sem fio do usuário) restrin- que possam deduzir ou prever a qualidade da experiência
jam o teste de vazão. e do envolvimento do usuário a partir de aspectos que eles
Conforme as velocidades continuam a aumentar, é podem medir direta1nente (p. ex., vazão da aplicação, perda
provável que outras práticas recomendadas possam surgir, de pacotes e te1npos entre chegadas, etc.).
con10 a medição para vários destinos da Internet e1n para- Ainda estamos longe de ver a estimativa automática
lelo a partir de un1a única conexão de acesso. Essa técnica da qualidade da experiência do usuário com base na medi-
pode ser necessária, especialmente se o lado do servidor ção passiva de recursos no tráfego de rede, mas essa área
dessas conexões se to1nar a fonte de mais gargalos para a continua sendo fértil para exploração na interseção entre
vazão da rede. Conforme as velocidades continuam a au- aprendizado de máquina e uso da rede. Em última análise,
mentar, há també1n um interesse maior no desenvolvimento as aplicações podem ir além da rede, já que os protocolos
dos chamados testes de vazão "passivos", que não injetarn de transporte (e operadores de rede) podem até otimizar re-
grandes quantidades de tráfego adicional na rede, mas o ob- cursos para usuários que exigem uma experiência de maior
serva1n à medida que ele atravessa a rede e tentam estiinar qualidade. Por exemplo, o usuário que está recebendo um
a vazão da rede con1 base e1n observações passivas (embora strea1ning de vídeo e1n uma parte remota da casa, 1nas fo i
medições passivas confiáveis da vazão do acesso passivo en1bora, pode se i1npo1tar muito menos con1 a qualidade
ainda não existan1, essa técnica pode, e1n últi1na análise, do fluxo da aplicação do que o usuário que está profun-
não ser tão diferente daquela usada pelo BBR para n1onito- damente envolvido e1n um fihne. Claro, pode ser muito
rar taxas de latência e entrega a fin1 de estimar a largura de con1plicado distinguir entre um usuário que está assistindo
banda com gargalo). intensamente a um vídeo e outro que foi até a cozinha para
pegar uma bebída e não se preocupou em apertar o botão de
pausa antes de sair.
6.7.4 Medição da qualidade da experiência
Em última análise, à medida que as velocidades da rede de 6.7.5 Projeto de host para redes rápidas
acesso aumentam, a métrica de desempenho que mais se
destaca pode não ser a velocidade da rede de acesso em Medições e ajustes podem melhorar o desempenho con-
termos de vazão, 1nas sitn se os aplicativos funciona1n sideravelmente, mas não pode1n substítuír um bom pro-
con10 os usuários esperam. Por exe1nplo, no caso do vídeo, jeto. U1na rede n1al projetada pode ser n1elhorada, n1as só
a experiência de um usuário geralmente não depende da va- até certo ponto. Daí em diante, ela precisa ser totalmente
zão, além de u1n determinado ponto (Ramachandran et ai., refeita.
382 Redes de computadores

Nesta seção, apresentaremos algumas regras práti- de 128 bytes significa 32 vezes o overhead por segn1ento ao
cas para imple1nentação de software de protocolos de rede usar segmentos de 4 KB. Os overheads de largura de banda
em hosts. Surpreendentemente, a experiência mostra que e processamento se acumulan1 rapidamente para reduzir a
isso normalmente é um gargalo de desempenho em redes vazão.
que poderia1n ser rápidas, por dois n1otivos. Primeiro, as O overhead por pacote nas camadas inferiores an1-
NICs (placas de interface de rede) e os roteadores já foram plifica esse efeito. Cada pacote recebido causa uma nova
projetados (com suporte de hardware) para que funcionem interrupção se o host estiver acompanhando. E1n um pro-
na "velocidade do enlace". Isso significa que eles podem cessador moderno com pipeline, cada interrupção desfaz o
processar pacotes tão rapidamente quanto os pacotes po- pipeline com a CPU, interfere no cache, exige uma n1udan-
den1 chegar ao enlace. Segundo, o dese1npenho relevante ça no contexto de gerenciamento de 1nemória, anula a tabe-
é aquele que as aplicações obtêm. Não é a capacidade do la de previsão de desvio e força a gravação de u1n número
enlace, mas a vazão e o atraso após o processamento da substancial de registradores de CPU. Uma redução de n ve-
rede e do transporte. zes no número de segmentos transmitidos causa uma redu-
A redução dos overheads de software melhora o de- ção de n vezes no overhead dos pacotes e nas interrupções.
sempenho aumentando a vazão e di1ninuindo o atraso. Ela Você poderá dizer que pessoas e computadores são
também pode reduzir a energia que é gasta na rede, que é fracos e1n multitarefas. Essa observação está por trás do
uma consideração importante para computadores móveis. desejo de enviar pacotes de MTU tão grandes que passa-
A maioria dessas ideias é do conhecimento dos projetistas rão pelo caminho da rede se1n frag1nentação. Mecanis1nos
de redes há anos. Elas foram especificadas pela primeira con10 o algoritmo de Nagle e a solução de Clark também
vez por Mogul (1993); nosso tratamento é paralelo ao dele. são tentativas de evitar o envio de pacotes pequenos.
Outra fonte relevante é Metcalfe ( 1993).
Minimize a movimentação de dados
A velocidade do host é mais importante
O modo 1nais simples de implementar uma pilha de proto-
que a velocidade da rede colos em camadas é com um módulo para cada camada. in-
Longos anos de experiência mostraram que em qua- felizmente, isso ocasiona a cópia (ou, pelo 1nenos, o acesso
se todas as redes o sistema operacional e o overbead do aos dados em múltiplas passadas), pois cada can1ada faz seu
protocolo dominatn o tetnpo real no enlace. Por exenJ- próprio trabalho. Por exemplo, após um pacote ser recebido
plo, teoricamente o tempo mínimo da RPC em tuna rede pela NTC, ele nonnalmente é copiado para u1n buffer do nú-
Ethernet a 1 Gbps é 102 µs, o que corresponde a u1na cleo. A partir daí, ele é copiado para um buffer da ca1nada
solicitação 1nínima (64 bytes) seguida por urna resposta de rede para processa1nento pela ca1nada de rede, depois
1nínima (64 bytes). Na prática, superar o te1npo de overhe- para um buffer da camada de transporte para processan1en-
ad do software e fazer o tempo da RPC ficar próxitno ao to pela camada de transporte, e fmalmente para o processo
esperado é um aperfeiçoamento substancial e rara1nente da aplicação receptora. Não é raro que um pacote seja co-
acontece. piado três ou quatro vezes antes de o segmento encapsulado
Da 1nesma fonna, o maior problema de trabalhar a nele ser entregue.
l Gbps é conseguir que os bits passem do buffer do usuário Toda essa operação de cópia pode diminuir bastante o
para o enlace de fibra óptica com rapidez suficiente, e fa- desempenho, pois as operações de memória são u1na ordem
zer o host receptor processá-los à 1nesma velocidade co1n de grandeza 1nais lenta do que as instruções registrador-
que eles chega1n. Se duplicar a velocidade do host (CPU e -registrador. Por exe1nplo, se 20% das instruções reahnente
memória), com frequência você chegará perto de duplicar vão para a 1nemória (ou seja, são perdas de cache), o que é
a vazão. Duplicar a capacidade da rede não te1n nenhum provável quando se movimentam os pacotes que chegam, o
efeito prático se o gargalo estiver nos hosts. tempo de execução 1nédio da instrução é diminuído por um
fator de 2,8 (0,8 x 1 + 0,2 x 1O). O auxílio do hardware não
Reduza o número de pacotes ajudará aqui. O problema é, e1n grande parte, de cópia pelo
sistema operacional.
para reduzir o overhead
Um sistema operacional inteligente reduzirá a cópia
Cada segmento tem u1na certa quantidade de overhead combinando o processamento de múltiplas camadas. Por
(p. ex., o cabeçalho), assi1n como os dados (p. ex., a car- exe1nplo, TCP e IP normalmente são impletnentados juntos
ga útil). A largura de banda é exigida para os dois com- (como ''TCP/IP"), de modo que não é necessário copiar a
ponentes. O processamento também é exigido para os dois carga útil do pacote quando o processamento passa da ca-
componentes (p. ex., o processamento do cabeçalho e a mada de rede para a de transporte. Outro truque comum é
realização do checksum). Quando 1 1nilhão de bytes estão realizar várias operações dentro de uma camada em uma
sendo enviados, o custo dos dados é o 1nesmo, não in1porta única passada pelos dados. Por exemplo, os checksums
qual seja o tamanho do segmento. Todavia, usar segmentos normalmente são calculados enquanto se copiam os dados
Capítulo 6 • A camada de transporte 383

(quando eles precisam ser copiados) e o checksum recém- largura de banda, atrasos inúteis acontecen1, e 1nuito 1nais.
-calculado é anexado ao final. Todos esses custos são desnecessários,
,
e ren1ediar essa si-
tuação toma tempo e paciência. E muito nlelhor evitar que
Minimize as mudanças de contexto tudo isso aconteça. T1npedir o congestiona1nento é coino ser
vacinado: dói um pouco na hora, 1nas evita algo que pode-
Uma regra relacionada é que as mudanças de contexto ria causar muito 1nais dor no futuro .
(p. ex., do 1nodo de núcleo para o 1nodo usuário) são fa-
tais. Elas têm as mes1nas propriedades ruins que as inter- Evite os timeouts
rupções e cópia combinadas. Esse custo é o motivo pelo
qual os protocolos de transporte normalmente são in1ple- Os timers são necessários nas redes, 1uas devem ser usa-
mentados no núcleo. Assim como a redução da quantidade dos co1n moderação, e os ti1neouts devem ser 1nini1nizados.
de pacotes, é possível reduzir as n1udanças de contexto Quando um timer expira, en1 geral alguma ação é repetida.
por n1eio de u1n procedimento de biblioteca que envia Se essa repetição for imprescindível, tudo bem, mas repeti-
os dados para um buffer interno até que haja um volume -la sem necessidade é u1n desperdício.
substancial de dados. Da mesma forma, na estação recep- O 1nelhor modo de evitar trabalho desnecessário é cui-
tora, os pequenos segmentos recebidos devem ser agru- dar para que os timers sejam programados de 1naneira um
pados e repassados de un1a só vez ao usuário, em vez de pouco conservadora. Un1 timer que demora tempo demais
individualmente, con1 a finalidade de n1inimizar as mu- para expirar aumenta o atraso de uma conexão, caso haja a
danças de contexto. (improvável) perda de um segmento. Um timer que expira
Na melhor das hipóteses, um pacote recebido provoca cedo de1nais utiliza 1nuitos recursos do host, desperdiça lar-
uma mudança de contexto do usuário atual para o núcleo, gura de banda e aumenta a carga em dezenas de roteadores
e depois un1a mudança para o processo receptor, a fim de sem uma boa razão para tal.
enviar os dados recém-chegados. Infelizmente, em alguns
sistemas operacionais ocorrem outras mudanças de con-
texto. Por exemplo, se o gerenciador da rede executar um
6.7.6 Processamento rápido de segmentos
processo especial no espaço do usuário, a chegada de um Agora que já vi1nos as regras gerais, van1os examinar al-
pacote provavelmente causará tnna mudança de contexto guns métodos específicos para tomar esse processa1nento
do usuário atual para o núcleo, depois outra mudança do de segmento mais rápido. Para obter mais informações,
núcleo para o gerenciador de rede, seguida por outra de consulte Clark et ai. ( 1989) e Chase et ai. (2001 ).
volta ao núcleo, e uma últi1na do núcleo para o processo O overhead do processamento de segmentos tem
receptor. Essa sequência é ilustrada na Figura 6.51. Todas dois componentes: o overhead por segmento e o overhead
essas mudanças de contexto em cada pacote desperdiçam por byte. An1bos devem ser con1batidos. O segredo para
tempo de CPU e podem ter um efeito devastador sobre o o processamento rápido de segn1entos é separar a situa-
desempenho da rede. ção nonnal bem-sucedida (a transferência de dados em
un1 sentido) e dar a ela um tratainento especial. Muitos
Prevenir o congestionamento é protocolos tende1n a enfatizar o que fazer quando algo
sai errado (p. ex., u1n pacote perdido), mas, para que eles
melhor do que remediá-lo
funcionem rapidamente, o projetista deve procurar reduzir
A velha n1áxi1na de que é melhor prevenir do que re1nediar o tempo de processamento quando tudo correr bem. Mini-
se aplica ao congestionamento da rede. Quando u1na rede 1nizar o tempo de processan1ento quando ocorre um en·o
está congestionada, pacotes são perdidos, há desperdício de é secundário.

Processo do usuário rodando Gerenciador Processo


no momento da chegada do pacote de rede receptor

Espaço
do usuário

0 © Espaço
do núcleo

Figura 6.51 Quatro mudanças de contexto para manipular um pacote por meio de um gerenciador de rede do espaço
do usuário.
384 Redes de computadores

Ainda que seja necessária un1a sequência especial de desse fato, um protótipo de cabeçalho é annazenado na
segmentos para chegar ao estado ESTABL/SHED, uma vez entidade de transporte. No início do ca1ninho rápido, ele
nele, o processamento de segmentos se dá de forn1a simples é copiado com a maior velocidade possível para um buffer
até um dos lados co1neçar a fechar a conexão. Va1nos co- auxiliar, palavra por palavra. Esses ca1npos que mudam de
meçar exa1ninando o lado transn1issor no estado ESTABLI- segmento para segmento são então sobrescritos no buffer.
SHED quando há dados a serem transmitidos. Para facilitar Com frequência, esses campos são facilmente derivados de
a compreensão, faremos a suposição de que a entidade de variáveis de estado, como o próxüno número de sequência.
transporte está no núcleo, embora as mesmas ideias tam- E1n seguida, um ponteiro para o cabeçalho do seg1nento
bén1 seja1n verdadeiras caso ela seja uma biblioteca ou u1n completo e un1 ponteiro para os dados do usuário são re-
processo do espaço do usuário dentro do processo trans1nis- passados à camada de rede. Aqui, pode-se utilizar a mes-
sor. Na Figura 6.52, o processo transmissor fica preso no ma estratégia (não n1ostrada na Figura 6.52). Por últin10,
núcleo para executar um SEND. A primeira providência da a camada de rede repassa o pacote resultante à camada de
entidade de transporte é realizar um teste para verificar se enlace de dados para transmissão.
esse é o caso normal: o estado é ESTABL/SHED, nenhum Con10 u1n exemplo do funciona1nento desse princípio
dos lados está tentando fechar a conexão, um seg1nento re- na prática, consideraremos o TCP/IP. A Figura 6.53(a) mos-
gular (ou seja, não está fora da banda) completo está sendo tra o cabeçalho do TCP. Os campos iguais entre seg1nentos
trans1nitido e há espaço de janela suficiente no receptor. consecutivos em u.rn fluxo de uma só via são 1nostrados
Se todas as condições forem atendidas, não serão neces- sombreados. Tudo o que a entidade de transporte transmis-
sários outros testes e será possível seguir o caminho mais sora te1n de fazer é copiar as cinco palavras do protótipo
rápido pela entidade de transporte transmissora. Em geral, do cabeçalho para o buffer de saída, preencher o próximo
esse caminho é seguido durante a maior parte do tempo. número de sequência (copiando-o de uma palavra na 1ne-
No caso normal, os cabeçalhos dos segmentos de da- mória), calcular o checksum e incrementar o nú1nero de se-
dos consecutivos são quase idênticos. Para tirar proveito quência na memória. Em seguida, a entidade pode passar o

S ,_ _ Processo Processo receptor ....__


transmissor Segmento passado ao processo receptor@

- Interceptação do núcleo
para enviar segmento
1 1 ·I 1 . ~1----~

>-- -~~I • L__r------J 1 1 •


r---1--01--~ 1 •I 1 •

Rede

Figura 6.52 Ocaminho rápido do transmissor para o receptor é ilustrado pela linha mais grossa. As etapas do processa-
mento nesse caminho estão sombreadas.

Porta de origem Porta de destino VER. IHL Serv. Dif. Tamanho total
Deslocamento
Número de sequência Identificação do fragmento

Número de confirmação TIL Protocolo Checksum do cabeçalho

Tam. Não Tamanho de janela Endereço de origem


usado

Checksum Ponteiro para urgente Endereço de destino

(a) (b)

Figura 6.53 (a) Ocabeçalho TCP. (b) Ocabeçalho IP. Em ambos os casos, eles foram tirados do protótipo sem nenhuma
alteração.
Capítulo 6 • A camada de transporte 385

cabeçalho e os dados para um procedimento especial do IP, Slot


a fin1 de transmitir um segmento máximo regular. Depois O Ponteiro para lista de timers para T + 12
disso, o rP copia seu protótipo de cabeçalho de cinco pala- 1 o
vras [ver Figura 6.53(b)] para o buffer, preenche o campo 2 o
Ide11tificaçào e calcula seu checksum. Com isso, o pacote 3 o
fica pronto para transmissão.
Agora, vamos ver o processamento do caminho rá-
4
5
o
o
- Tempo atual, T

pido no lado receptor da Figura 6.52. A primeira etapa é 6 o


localizar o registro de conexão para o segmento recebido. 7 Ponteiro para lista de timers para T + 3
No caso do TCP, ele pode ser armazenado em urna tabela 8 o
hash cuja chave é alguma função sirnples dos dois endere- 9 o
ços 1Pedas duas portas. Un1a vez que o registro de conexão 10 o
é localizado, arnbos os endereços e arnbas as portas devem 11 o
ser con1parados, a firn de verificar se o registro correto foi 12 o
encontrado. 13 o
Urna otin1ização que frequenternente acelera ainda
14 Ponteiro para lista de timers para T + 1O
mais a pesquisa de registros de conexões deve manter urn
ponteiro para a última conexão usada e experimentar esse
15 o
registro primeiro. Clark et ai. ( 1989) utilizaram essa op- Figura 6.54 Uma roda de sincronismo.
ção e observararn un1a taxa de aproveitarnento de rnais
de 90%.
Em seguida, o segmento é analisado para verificar se expiração. A entrada inicial contém um contador que infor-
é um segmento nonnal, ou seja, se o estado é ESTABLJ- ma quantos pulsos faltarn para a expiraç.ão. Cada entrada su-
SHED, se nenhum dos lados está tentando encerrar a cone- cessiva contém um contador que informa quantos pulsos a
xão, se está completo e não tern flags especiais definidos, e separam da anterior. Assirn, se os tirners expirarem em 3, 1O
se o número de sequência é o esperado. A realização desses e 12 pulsos, os contadores serão 3, 7 e 2, respectivamente.
testes exige apenas algumas instruções. Se todas as condi- A cada pulso de clock, o contador na entrada inicial é
ções forem atendidas, será chamado um procedimento de decrementado. Quando ele chega a zero, seu evento é pro-
carninho rápido especial do TCP. cessado e o próximo item da lista toma-se o inicial. Seu
O caminho rápido atualiza o registro da conexão eco- contador não precisa ser alterado. Nesse esquema, a inclu-
pia os dados para o usuário. Enquanto faz isso, ele calcula são e a exclusão de timers são operações de alto custo, com
o checksum, elirninando assim uma passagem extra pelos tempos de execução proporcionais ao tamanho da lista.
dados. Se o checksum estiver correto, o registro da conexão Uma estratégia muito nlais eficiente pode ser usada
será atualizado e uma confirrnação será enviada de volta. se o intervalo rnáxin10 do tirner for fixo e previamente co-
Prognóstico de cabeçalho é o norne dado ao esquerua ge- nhecido. Aqui pode ser usada urna array chamada roda de
ral de primeiro fazer urna verificação rápida para ver se o sincronismo, corno rnostra a Figura 6.54. Cada slot corres-
cabeçalho é o que se espera, e depois fazer urn procedimen- ponde a um pulso de clock. O ternpo atual é T = 4. Os ti-
to especial tratar desse caso. Muitas i1nplementações TCP o rners forarn prograrnados para expirar a 3, l Oe 12 pulsos a
utilizarn. Quando essa otimização e todas as outras descri- partir de agora. Se, de repente, un1 novo tirner for progra-
tas neste capitulo são aplicadas ao rnesn10 ternpo, é possível mado para expirar em 7 pulsos, outra entrada será criada
fazer o TCP funcionar a 90% da velocidade de uma cópia no slot 11. Da rnesrna forma, se o timer programado para
local niernória a men1ória, supondo-se que a rede seja sufi- T + 1Otiver de ser cancelado, a lista que começa no slot 14
cientemente rápida. deverá ser verificada e a entrada correspondente removida.
Duas outras áreas nas quais pode haver ganhos impor- Observe que a array da Figura 6.54 não contém nenhum
tantes de desempenho são o gerenciamento de buffers e o ge- timeracima der+ 15.
renciamento de timers. A grande questão no gerenciamento Quando há um pulso de clock, o ponteiro atual é avan-
de buffers é evitar cópias desnecessárias, como já dissemos. çado um slot (de fonna circular). Se a entrada indicada for
O gerenciamento de timers também é importante porque qua- diferente de zero, todos os seus timers serão processados.
se todos os timers programados não chegam a expirar. Eles Muitas variações sobre essa ideia básica são descritas em
são programados para prevenir a perda de segmentos, mas a Varghese e Lauck ( 1987).
maioria dos segmentos chega de forma correta, assim como
suas confirmações. Consequentemente, é importante otimizar
o gerenciarnento, no caso de timers que raras vezes expiram.
6.7.7 Compactação de cabeçalho
Um csqucrna cornurn é usar uma lista encadeada Estiven1os examinando redes rápidas por muito tempo.
contendo os eventos de timers ordenados por tempo de l-Iá rnuito rnais. Agora, van1os considerar o desempenho
386 Redes de computadores

nas redes sem fio e en1 outras redes en1 que a largura de De modo semelhante, outros campos muda1n de uma
banda é linlitada. Reduzir o overhead de software pode aju- maneira previsível. Por exemplo, com exceção da perda, o
dar computadores móveis a trabalhar com mais eficiência, nú111ero de sequência do TCP avança com os dados. Nesses
mas não 1nelhora o desempenho quando os enlaces da rede casos, o receptor pode prever o valor provável. O nú1nero
são o gargalo. real só precisa ser transportado quando for diferente do que
Para usar bem a largura de banda, os cabeçalhos de é esperado. Mesmo assim, ele pode ser transportado como
protocolos e as cargas úteis devem ser transportados con1 uma pequena mudança do valor anterior, co1no quando o
o minimo de bits. Para as cargas úteis, isso significa usar número de confirmação aumenta quando novos dados são
codificações compactas de informação, como i1nagens que recebidos no sentido oposto.
estão em fonnato JPEG em vez de um 1uapa de bits, ou for- Co1n a compactação de cabeçalho, é possível ter ca-
matos de documento como PDF, que inclue1n co1npactação. beçalhos simples em protocolos de camada superior e co-
Isso ta1nbém significa mecanismos de caching em nível de dificações cornpactas para enlaces com pouca largura de
aplicação, como caches Web que reduzem transferências. banda. ROHC (RObust Header Compression) é tnna
E os cabeçalhos de protocolo? Na camada de enlace, versão moderna da co1npactação de cabeçalho que é de-
os cabeçalhos para redes se1n fio normalmente cornpactarn finida co1no uma estrutura na RFC 5795. Ela é projetada
porque foran1 projetados visando a un1a largura de banda para tolerar a perda que pode ocorrer nos enlaces sem fio.
escassa. Por exemplo, pacotes em redes orientadas a cone- Existe u1n perfil para cada conjunto de protocolos a ser
xão têm identificadores de conexão curtos, ao invés de en- co1npactado, como IP/UDP/RTP. Os cabeçalhos compac-
dereços mais longos. Contudo, protocolos de camada 1nais tados são transportados referindo-se a u1n contexto, que é
alta, como fP, TCP e UDP, vêm em uma versão para todas basica1nente u1na conexão; os campos de cabeçalho podem
as camadas de enlace, e não são projetados com cabeçalhos ser facilmente previstos para pacotes da 1nesma conexão,
compactos. De fato, o processamento rápido para reduzir o n1as não para pacotes de conexões diferentes. Na operação
overhead de software normalmente leva a cabeçalhos que típica, ROHC reduz cabeçalhos IP/UDP/RTP de 40 bytes
não são tão compactos quanto poderiam ser de outra forma para 1 a 3 bytes.
(p. ex., o fPv6 tem cabeçalhos mais compactados do que o Embora a compactação de cabeçalho vise principal-
1Pv4). mente a reduzir as necessidades de largura de banda, ela
Os cabeçalhos de camada mais alta podem gerar u1n também pode ser útil para reduzir o atraso - que é compos-
ganho de desempenho significativo. Considere, por exem- to por atraso de propagação, que é fixo para um caminho na
plo, os dados YolP que são transportados com a combina- rede, e por atraso de transmissão, que depende da largura
ção de fP, UDP e RTP. Esses protocolos exige1n 40 bytes de de banda e da quantidade de dados a serem enviados. Por
cabeçalho (20 para 1Pv4, 8 para UDP e 12 para RTP). Com exen1plo, u1n enlace de 1 Mbps envia 1 bit em 1µs. No caso
IPv6, a situação é ainda pior: 60 bytes, incluindo 40 bytes de mídia por redes sem fio , a rede é relativamente lenta, de
de cabeçalho IPv6. Os cabeçalhos podem acabar sendo a modo que o atraso de trans1nissão pode ser um fator impor-
maior parte dos dados transmitidos, consumindo mais da tante no atraso geral e urn atraso consistente1nente baixo é
metade da largura de banda. importante para a qualidade do serviço.
A compactação de cabeçalho é usada para reduzir a A compactação de cabeçalho pode ajudar reduzin-
largura de banda ocupada pelos cabeçalhos dos protocolos do a quantidade de dados enviados e, portanto, reduzindo
das camadas superiores nos enlaces. Esquemas projetados o atraso na transmissão. O mesmo efeito pode ser obtido
especialmente são usados no lugar dos métodos de uso ge- enviando-se pacotes menores. Isso con1pensará u1n maior
ral. Isso porque os cabeçalhos são curtos, de 1nodo que não overhead de software por um 1nenor atraso de transmissão.
são nluito bem compactados individuahnente, e a descom- Observe que outra fonte de atraso em potencial é o no enfi-
pactação exige que todos os dados anteriores sejam recebi- leiramento para acessar o enlace sem fio. Isso também pode
dos. Isso não acontecerá se u1n pacote for perdido. ser significativo, pois os enlaces sem fio são rnuito utiliza-
A compactação de cabeçalho obtém grandes ganhos dos como recurso limitado en1 u1na rede. Nesse caso, ele
usando o conhecirnento do formato do protocolo. Um dos precisa ter mecanis1nos de qualidade de serviço que dão u1n
primeiros esquemas foi projetado por Van Jacobson ( 1990) atraso baixo aos pacotes em tempo real. Apenas a compac-
para compactação de cabeçalhos TCP/IP por enlaces seriais tação de cabeçalho não é suficiente.
lentos. Ele é capaz de compactar um cabeçalho TCP/IP
típico de 40 bytes para u1na média de 3 bytes. O truque
para esse 1nétodo é indicado na Figura 6.53. Muitos dos 6.7.8 Protocolos para redes
campos de cabeçalho não muda1n de um pacote para outro. longas de banda larga
Por exemplo, não é preciso enviar o mesmo TIL IP ou os
mesmos números de porta TCP em todo e qualquer pacote. Desde a década de 1990, tem havido redes de gigabits que
Eles podem ser omitidos no lado transmissor do enlace e trans1nitem dados a grandes distâncias. Devido à combina-
preenchidos no lado receptor. ção de uma rede rápida de banda larga (ou "fat pipe") e de
Capítulo 6 • Acamada de transporte 387

longo atraso, elas são chamadas de redes longas de banda o problen1a de duplicatas antigas ainda existindo quando os
larga. Quando surgiram, a primeira reação das pessoas foi números de sequência fosse1n reiniciados. Em velocidades
usar os protocolos existentes nelas, mas diversos problemas de gigabits, essa suposição não declarada falha. Felizmente,
apareceram rapidamente. Nesta seção, discutiremos alguns é possível estender o nú1nero de sequência efetivo tratando
dos problemas con1 o au1nento da velocidade e o atraso dos o período de tempo que pode ser transportado como tuna
protocolos de rede. opção no cabeçalho TCP de cada pacote como os bits de
O primeiro problema é que muitos protocolos utili- alta orde1n. Esse mecanis1no é chamado PAWS, conforme
zam números de sequência de 32 bits. Quando a Internet já descrevemos.
começou, as linhas entre os roteadores eram principalmente O segundo proble1na é que o ta1nanho da janela de
linhas concedidas de 56 kbps, de modo que um host trans- controle de fluxo precisa ser bastante aumentado. Por
mitindo en1 velocidade plena levava mais de uma semana exe1nplo, considere o envio de uma rajada de 64 KB de
para percorrer todos os números de sequência. Para os pro- dados de San Diego para Boston a fim de preencher o
jetistas do TCP, 232 era uma aproximação do infulito, pois buffer de 64 KB do receptor. Suponha que o enlace seja
havia pouco perigo de pacotes antigos ficare1n rodando de l Gbps e o atraso unidirecional da velocidade da luz
uma semana depois que fossem transmitidos. Com a Ether- na fibra seja de 20 1ns. Inicialmente, a t = O, o canal está
net de 1O Mbps, esse tempo passou para 57 minutos, mui- vazio, conforn1e ilustra a Figura 6.55(a). Somente 500 µs
to menor, mas ainda assi1n viável. Corn uma Ethernet de depois, na Figura 6.55(b), todos os seg1nentos estão na fi-
1 Gbps jogando dados na Internet, o te1npo é cerca de 34 bra. O segmento inicial agora estará em algum ponto nas
segundos, muito abaixo do tempo de vida máximo do paco- proximidades de Brawley, ainda ao sul da Califórnia. Con-
te na Internet, que é de 120 segundos. De repente, 232 não é tudo, o transmissor precisa parar até que ele receba uma
uma aproximação tão boa do infinito, pois um transmissor atualização de janela.
rápido pode percorrer o espaço de sequência enquanto pa- Após 20 rns, o segmento inicial alcança Boston, como
cotes antigos ainda existe1n na rede. n1ostra a Figura 6.55(c), e é confirmado. Finalmente, 40 ms
O problema é que muitos projetistas de protocolo depois de iniciar, a primeira confirmação retoma ao trans-
simplesmente consideraram, sem afirmar isso, que o tem- missor e a segunda rajada pode ser transmitida. Como
po exigido para ocupar o espaço de sequência inteiJo seria a linha de transmissão foi usada por 1,25 ms dos 100, a
muito 1naior que o tempo de vida 1náxi1no do pacote. Con- eficiência é de cerca de l ,25o/o. Essa situação é típica de um
sequenten1ente, não havia necessidade de se preocupar com protocolo mais antigo rodando por linhas de gigabits.

(a) (b)

(e) (d)

Figura 6.55 Oestado da transmissão de 1 Mbit de San Diego para Boston. (a) Em t = O. (b) Após 500 µs. (e) Após 20 ms.
(d) Após 40 ms.
388 Redes de computadores

Uma quantidade útil para ter em 1nente ao analisar o O quarto problema é que as linhas de gigabits são fun-
desempenho da rede é o produto largura de banda-atra- da1nentalmente diferentes das linhas de megabits, pois as
so. Ele é obtido multiplicando-se a largura de banda (em longas linhas de gigabits são limitadas por atraso em vez
bits/s) pelo tempo de atraso de ida e volta (em segundos). de limitadas por largura de banda. Na Figura 6.56, mos-
O produto é a capacidade do canal do transmissor ao recep- tra1nos o tempo gasto para transferir u1n arquivo de l Mbit
tor e de volta (e1n bits). por 4.000 km em diversas velocidades de transmissão.
Para o exemplo da Figura 6.55, o produto largura de E1n velocidades de até 1 Mbps, o tempo de transmissão é
banda-atraso é de 40 milhões de bits. Em outras palavras, o dominado pela taxa em que os bits podem ser enviados. Por
transmissor teria que transmitir uma rajada de 40 milhões volta de 1 Gbps, o atraso de ida e volta de 40 n1s é superior
de bits para poder continuar em velocidade plena até que ao tempo de 1 n1S gasto para colocar os bits na fibra. Ou-
a primeira confirmação retornasse. É necessário que haja tros aumentos na largura de banda dificilmente terão algum
. número de bits para
esse .
encher o canal (nos dois sentidos). efeito.
E por isso que uma rajada de meio milhão de bits só atinge A Figura 6.56 te1n implicações infelizes para os pro-
uma eficiência de 1,25%: isso significa apenas 1,25% da tocolos de rede. Ela diz que os protocolos stop-and-wait,
capacidade do canal. corno RPC, tê1n um limite superior inerente em seu de-
A conclusão que poden1os tirar aqui é que, para obter
sempenho. Esse limite é ditado pela velocidade da luz.
um bo1n desempenho, a janela do receptor precisa ser pelo
Nenhuma quantidade de progresso tecnológico na óptica
menos tão grande quanto o produto largura de banda-atra-
conseguirá 1nelhorar as coisas (porém, novas leis da tisica
so, e de preferência um pouco maior, pois o receptor pode
ajudariarn). A 1nenos que possa ser encontrado algum outro
não responder instantanea1nente. Para uma linha de gigabit
transcontinental, pelo menos 5 MB são necessários. uso para uma linha de gigabits enquanto um host está espe-
O terceiro proble1na, ta1nbém relacionado, é que rando uma resposta, ela não é rnelhor do que urna linha de
esque1nas de retrans1nissão sin1ples, con10 o protocolo megabits, apenas 1nais cara.
go-back-n, não funcionam bem e1n linhas com um produto U1n quinto problema é que as velocidades de co1nuni-
largura de banda-atraso grande. Considere o enlace trans- cação tê1n rnelhorado com 1nais rapidez que as velocidades
continental de 1 Gbps con1 un1 tempo de transmissão de de computação. (Nota para os engenheiros de computação:
ida e volta de 40 1ns. Un1 transn1issor pode enviar 5 MB em sairun e vença1n os engenheiros da comunicação! Estan1os
uma viage1n de ida e volta. Se um erro for detectado, so- contando com vocês.) Na década de 1970, a ARPANET
mente depois de 40 ms é que o transmissor será informado funcionava a 56 kbps e tinha computadores que funciona-
a respeito. Se o protocolo go-back-n for usado, o trans1nis- vam em aproximadamente 1 MfPS. Cornpare esses núme-
sor terá que retransmitir não apenas o pacote com proble- ros com cornputadores de 1.000 MrPS trocando pacotes por
ma, mas também os 5 MB de pacotes que vieram depois. uma linha de 1 Gbps. O nún1ero de instruções por byte di-

E claro que isso é um grande desperdício de recursos. São n1inuiu por utn fator de n1ais de 10. Os números exatos são
necessários protocolos mais complexos, como o de repeti- discutíveis, dependendo das datas e cenários, mas a conclu-
ção seletiva. são é esta: há menos tempo disponível para processa1nento

1000 s
o
>
:l
c:r 100 s
~
cu
Q)
"O 10 s
.cu
o
e
<Q)
1s
-
~
Q)
( /)
e
-
~
Q)
"O
100 ms

o 10 ms
a.
E
Q)
r- 1 ms

103 104 10 5 106 107 108 109 1010 1011 1012


Taxa de dados (bps)

Figura 6.56 Tempo para transferir e confirmar um arquivo de 1 Mbit por uma linha de 4.000 km.
Capítulo 6 • A camada de transporte 389

de protocolo do que havia antes, de modo que os protocolos possível: o receptor gasta muito tempo para sinalizar o
precisam se tomar mais simples. transmissor. U1n exemplo de feedback é controlar a taxa
Agora, vamos passar dos problemas para as formas de de transmissão usando um protocolo de janela deslizante.
lidar com eles. O princípio básico que todos os projetistas Os protocolos do futuro poderão passar para protocolos
de redes de alta velocidade precisam aprender de cor é: baseados em taxa, para evitar os (longos) atrasos ineren-
tes ao envio de atualizações de janela do receptor ao trans-
Projete visando à velocidade, e não á otin1ização da missor. Nesse protocolo, o transmissor pode enviar tudo o
largu.ra de banda. que desejar, desde que não envie roais rápido do que al-
Os protocolos antigos normalmente eram projetados gu1na taxa que o trans1nissor e o receptor co1nbinaran1
para minimizar o número de bits nos enlaces, geralinente antecipadamente.
usando campos pequenos e compactando-os em bytes e Um segundo exemplo de feedback é o algoritmo de
palavras. Essa preocupação ainda é válida para redes setn partida lenta de Jacobson. Ele promove várias sondagens
fio, 1nas não para redes de gigabits. O processamento de para verificar quanto a rede pode manipular. Em uma rede
protocolo é o problema, de 1nodo que os protocolos preci- de alta velocidade, fazer tneia dúzia de pequenas sondagens
san1 ser projetados para minimizá-lo. Os projetistas do 1Pv6 para ver como a rede se co1nporta desperdiça um grande
certamente entenderam esse princípio. volume de largura de banda. Um esquema mais eficiente
é fazer o transmissor, o receptor e a rede reservarem os re-
Um modo atraente de aumentar a velocidade é criar
cursos necessários no rnomento de estabelecer a conexão.
interfaces de rede rápidas em hardware. A dificuldade com
Reservar recursos antecipada1nente ta1nbé1n oferece a van-
essa estratégia é que, a menos que o protocolo seja incri-
tagem de tomar mais fácil a redução do jitter. Em resumo,
velmente simples, o hardware sitnplesmente significa uma
buscar altas velocidades leva o projeto inexoravelmente em
placa co1n uma segunda CPU e seu próprio programa. Para
direção a uma operação orientada a conexões, ou algo bem
garantir que o coprocessador de rede seja mais barato que
parecido.
a CPU principal, ele normalmente é u1n chip mais lento.
A consequência desse projeto é que grande parte do tem- Outro recurso valioso é a possibilidade de enviar un1
volun1e normal de dados junto com a solicitação de cone-
po na CPU principal (rápida) fica ocioso aguardando que a
segunda CPU (lenta) realize o trabalho crítico. É um mito xão. Desse modo, é possível economizar o tetnpo de u1na
pensar que a CPU principal tem outro trabalho a fazer en- viagem de ida e volta.
quanto espera. Além do mais, quando duas CPUs de uso
geral se comunicam, pode haver condições de disputa, de
modo que protocolos complicados são necessários entre
os dois processadores para sincronizá-los correta1nente e
6.8 RESUMO
evitar disputas. No1malmente, a melhor técnica é tornar A camada de transporte é a chave para a compreensão dos
os protocolos simples e deixar que a CPU principal faça o protocolos em camadas. Ela oferece vários serviços, dos
trabalho. quais o mais importante é um fluxo de bytes confiável,
O layout de pacotes é uma consideração importante orientado a conexões e de fim a fim, do transn1issor até o
nas redes de gigabits. O cabeçalho deve conter o mínimo receptor. Ela é acessada por 1neio de primitivas de serviço
possível de catnpos, a fun de reduzir o tempo de processa- que permitem o e-stabelecin1ento, o uso e o encerramento de
mento. Esses campos devem ser grandes o suficiente para conexões. Uma interface comu1n da ca1nada de transporte é
realizar o trabalho e ter alinhan1ento de palavras co1n a fina- oferecida pelos soquetes de Berkeley.
lidade de agilizar o processa1nento. Nesse contexto, "gran- Os protocolos de transporte devem ser capazes de
de o suficiente" significa que não ocorrerão problemas realizar o gerenciamento de conexões etn redes não con-
como repetição de números de sequência enquanto ainda fiáveis. O estabelecimento de conexões é complicado pela
existem pacotes antigos, receptores incapazes de anunciar existência de duplicatas de pacotes atrasados que podem
espaço de janela suficiente porque o campo da janela é mui- reaparecer em momentos inoportunos. Para lidar com eles,
to pequeno, e assim por diante. são necessários handshakes de três vias para estabelecer co-
O tamanho máximo dos dados deve ser grande, para nexões. O ence1Tamento de uma conexão é u1n pouco mais
reduzir o overhead de software e permitir u1na operação fácil, mas ainda assitn está longe de ser wna questão trivial,
eficiente. Para redes de alta velocidade, 1.500 bytes é muito devido ao problema dos dois exércitos.
pouco, motivo pelo qual a Ethernet de gigabit adtnite qua- Mesmo quando a ca1nada de rede é totalmente confiá-
dros jumbo de até 9 KB e o IPv6 admite pacotes jumbogra- vel, a camada de transporte tem muito trabalho a fazer. Ela
ma co1n mais de 64 KB. deve manipular todas as primitivas de serviço, gerenciar as
Agora, vamos exan1inar a questão do feedback nos conexões e os timers, alocar largura de banda com controle
protocolos de alta velocidade. Devido ao loop de atraso de congestionamento e executar uma janela deslizante de
(relativamente) longo, o feedback deverá ser evitado, se tamanho variável para o controle de fluxo.
390 Redes de computadores

O controle de congestionan1ento deve alocar toda a um contador de clock de 15 bits de largura. O clock pulsa
largura de banda disponível entre fluxos concorrentes de a cada l 00 ms, e o te1npo de vida 1náxi1no de cada pacote
forma imparcial, e deve aco1npanhar as mudanças no uso é de 60 segundos. Corn que frequência a ressincronização
da rede. A lei de controle ATMD converge para uma aloca- deve ser feita:
ção imparcial e eficiente. (a) Na pior das hipóteses.
A Internet ten1 dois protocolos de transporte i1npor- (b) Quando os dados consum iren1 240 nún1eros de
sequência/minuto.
tantes: UDP e TCP. O primeiro é não orientado a conexões,
usado principalmente como um invólucro para pacotes IP, 6. Por que o tempo máxi1uo de duração de un1 pacote T deve
com o recurso adicional de multiplexar e demultiplexar ser longo o suficiente para assegurar que não apenas o
pacote rnas tambérn todas as suas confirmações tenham
vários processos utilizando utn único endereço IP. O UDP
desaparecido?
pode ser usado, por exemplo, em interações cliente-servi-
dor, empregando RPC. Ele ta1nbém pode ser usado na cons- 7. Considere u1n protocolo da can1ada de transporte, orientado
a conexões, que usa um clock para determinar números de
trução de protocolos em tempo real, como o RTP.
sequência de pacote. O clock usa um contador de l O bits e
O principal protocolo de transporte da Internet é o bate uma vez a cada 125 ms. O te1npo de vida 1náxirno do
TCP, que fornece um fluxo de bytes bidirecional confiável, pacote é de 64 segundos. Se o transmissor envia 4 pacotes
con1 controle de congestiona1nento, co1n utn cabeçalbo de por segundo, quanto tempo a conexão poderia durar sem
20 bytes em todos os segmentos. Muito trabalho tem sido entrar na região proibida?
realizado na tentativa de otimizar o seu desempenho, com 8. Explique as diferenças no uso do protocolo de janela des-
os algorittnos de Nagle, Clark, Jacobson, Karn e outros. lizante na camada de enlace e na camada de transporte, e1n
UDP e TCP sobrevivera1n muito bem aos anos, 1nas tern1os dos tirneouts do protocolo.
ainda há espaço para 1nelhorias no desempenho e solu- 9. Considere o proble1na da recuperação do funcionamento
ção de proble1nas causados pelas 1nodernas redes de alta depois de panes nos hosts {Figura 6.18). Se o intervalo entre
velocidade. CUBIC TCP, QUIC e BBR são alguns dos a escrita e o envio de u1na confirmação, ou vice-versa, pode
aperfeiçoamentos mais mode1nos. se tornar relativarnente pequeno, quais são as duas rnelhores
O dese1npenho da rede normaln1ente é do1ninado pelo estratégias transmissor/receptor para nlinimizar a possibili-
overbead de processamento de protocolos e de seg1nentos, dade de uma falha do protocolo?
e essa situação piora em velocidades mais altas. Os pro- 10. Na Figura 6.20, suponha que um novo fluxo E seja acres-
tocolos deve1n ser projetados para 1ninimizar o número de centado, seguindo de R 1 para R2 para R6. Con10 a alocação
segmentos e funcionar em ca1ninhos com produto largura de largura de banda nlax-rnin muda para os cinco fluxos?
de banda-atraso alto. Para redes de gigabits, são necessários 11. Na Figura 6.20, suponha que os fluxos sejarn reorganizados
protocolos simples e processamento rápido. de n1odo que A passe por R 1, R2 e R3, B passe por R 1, R2,
R5 e R6, C passe por R4, R2 e R3, e D passe por R4, R2 e
R3. Qual é a alocação de largura de banda max-n1in?
12. Discuta as vantagens e desvantagens dos protocolos confiá-
PROBLEMAS veis e de janela deslizante.
13. Algumas outras políticas de imparcialidade no controle
1. Em nosso exemplo de primitivas de transporte da Figura 6.1 , de congestionamento são Additive lncrease Additive De-
a prin1itiva LlSTEN é uma chan1ada de bloqueio. Ela é es- crease (AIAD), Multiplicative lncrease Additive Decrease
trita1nente necessária? Caso não seja, explique corno uma (MIAD) e Multiplicative lncrease Multiplicative Decrease
primitiva sem bloqueio poderia ser usada. Que vantagem (MIMO). Discuta essas três políticas e1n termos de conver-
isso ofereceria em relação ao esquema descrito no texto? gência e estabilidade.
2. Uma aplicação de bate-papo usando TCP chama repetida- 14. Considere un1 protocolo da camada de transpo rte que usa
1nente receive() e impri1ne os dados recebidos como u1na Additive lncrease Square Root Decrease (AISRD). Essa
nova mensage1n. Diga qual seria um problema com essa versão converge para o cornparti lhamento imparcial da lar-
abordage1n. gura de banda?
3. No modelo básico da Figura 6.4, parte-se do pressuposto 15. Dois hosts enviarn dados simultanearnente por uma rede
de que os pacotes podem se perder na camada de rede e, com capacidade de 1 Mbps. O hostA usa UDP e transmite
por isso, deve1n ser confinnados individualrnente. Suponha un1 pacote de 100 bytes a cada 1 1ns. O host B gera da-
que a camada de rede seja 1OOo/o confiável e nunca perca dos a urna taxa de 600 kbps e usa TCP. Qual host obterá o
pacotes. Que n1udanças, se houver, são necessárias na Fi- throughput mais alto?
gura 6.4? 16. Por que o UDP existe? Não teria sido suficiente deixar que
4. Ern atnbas as partes da Figura 6.6, existe um comentário de os processos dos usuários enviassem pacotes IP bn1tos?
que o valor de SERVER_PORT deve ser igual no cliente e 17. Considere um protocolo sin1ples no nível da aplicação,
no servidor. Por que isso é tão Ílnportante? elaborado sobre o UDP e que permite a um cliente recu-
5. Suponha que o esquema baseado em clock empregado na perar urn arquivo de u1n servidor remoto que reside em
geração de nú1neros de sequência iniciais seja usado com u1n endereço conhecido. Prirneiro, o cliente envia tnna
Capítulo 6 • A camada de transporte 391

solicitação com o nome do arquivo, e o servidor responde 29. Descreva duas 1naneiras de entrar no estado SYN RCVD da
com u1na sequência de pacotes de dados contendo partes Figura 6.39.
diferentes do arquivo solicitado. Para assegurar confiabi- 30. Indique u1na desvantagen1 em potencial quando o algoritmo
lidade e entrega etn sequência, o cliente e o servidor uti- de Nagle for usado em uma rede 1nuito congestionada.
1izam un1 protocolo stop-and- wait. Ignorando a questão
óbvia do desen1penho, você percebe algum problema com 31. Você está jogando um jogo on-line por u1na rede de alta
esse protocolo? Pense cuidadosa111ente na possibilidade de latência. O jogo exige que você toque rapidamente e1n ob-
panes em processos. jetos na tela. Contudo, o jogo só 1nostra o resultado de suas
ações e111 rajadas. Esse co1nportan1ento poderia ser causado
18. Um cliente transmite uma sol icitação de 128 bytes a um por u1na opção do TCP? Poderia haver alguma outra causa
servidor localizado a 100 km de distância sobre uma linha (relacionada à rede)?
de fibra óptica de 1 gigabit. Qual é a eficiência da linha
durante a cha1nada de procedimento remoto? 32. Considere o efeito de usar a partida lenta e1n uma linha com
utn tempo de percurso de ida e volta de 10 ms e sem conges-
19. Considere a situação do problema anterior novamente. Cal- tionamento. A janela de recepção tem 24 KB e o tamanho
cule o 1nenor te1.npo de resposta possível para a linha de 1náxi1no do seg1nento é 2 KB. Quanto tempo é necessário
1 Gbps e para u1na linha de 1 Mbps. Que conclusão é possí- para que a primeira janela cotnpleta possa ser enviada?
vel tirar desses dados?
33. Suponha que a janela de congestionamento do TCP seja
20. Tanto o UDP quanto o TCP emprega1n nú1neros de portas definida como 18 KB e que ocorra um tin1eout. Qual será
para identificar a entidade de destino ao entregarem u1ua o tatnauho da jauela se as próximas quatro rajadas de trans-
mensagen1. Fon1eça duas razões pelas quais esses protoco- 1nissão forem bem-sucedidas? Suponha que o tamanho má-
los criara111 u1na nova ID abstrata (nún1eros de portas), e1n xi1no do seg1nento seja 1 KB.
vez de usar IDs de processos, que já existiam quando esses
protocolos fora1n projetados. 34. Considere uma conexão que utiliza o TCP Reno. A cone-
xão tem uma janela de congestiona1nento inicial con1 ta-
21. Por que o RTP normaln1ente é implen1entado sobre UDP e 1nanho de 1 KB, e uni patan1ar inicial de 64. Suponha que
não sobre TCP? Identifique algumas condições sob as quais o aumento aditivo utilize um tamanho de degrau de 1 KB.
u1ua aplicação pode usar o RTP implementado sobre TCP. Qual é o tamanho da janela de congestionamento na rodada
22. Considere duas redes, Nl e N2, que têm o mesn10 atraso de transn1issão 8, se a primeira rodada de transmissão te1n
médio entre uma origem A e um destino D. Em Nl, o atraso número O?
experimentado por diferentes pacotes é uniformemente dis- 35. Se o ten1po de viagem de ida e volta no TCP, denominado
tribuído com um atraso 1náximo de 1Osegundos, enquanto RTT, for igual a 30 1ns, e se as confirmações seguintes che-
e1n N2, 99% dos pacotes experÍlnentam menos de u1n se- garem depois de 26, 32 e 24 1ns, respectivamente, qual será
gundo de atraso se1n limite sobre o atraso máximo. Discuta a nova estimativa para RTT empregando-se o algorittno de
con10 o RTP pode ser usado nesses dois casos para transn1i- Jacobson? Considere a= 0,9.
tir o fluxo de áudio/vídeo ao vivo.
36. Unia 1náquina TCP está trans1nitindo janelas completas de
23. Qual é o tan1anho total da MTU míni1na do TCP, incluindo 65.535 bytes através de um canal de l Gbps que tem u1n
o overhead do TCP e do JP, n1as sem incluir o overhead da atraso de 1O1us e111 um dos sentidos. Qual é a vazão máxi-
camada de enlace de dados? tna que é possível alcançar? Qual é a eficiêucia da linha?
24. A fragmentação e a remontagem de dataf,rramas são tratadas 37. Qual é a maior velocidade da linha en1 que um host pode
pelo lP e são invisíveis para o TCP. Isso quer dizer que o trans1nitir cargas úteis do TCP de 1.500 bytes com uma du-
TCP não tem de se preocupar con1 a chegada de dados na ração máxima de pacote de 120 segundos, sem que os nú-
ordem errada? meros de sequência se repitam? Leve em conta o overhead
25. O RTP é usado para trans1nitir áudio co1n qualidade de CD, do TCP, do IP e da Ethernet. Suponha que os quadros Ether-
que gera um par de amostras de 16 bits 44.100 vezes/s, uma net possam ser enviados continuamente.
a1nostra para cada um dos canais estereofônicos. Quantos 38. Para enfrentar as lÍlnitações do lP versão 4, utn grande es-
pacotes por segundo o RTP deve transmitir? forço teve de ser feito pela IETF, resultando no projeto do
26. A un1 processo no host 1 foi atribuída a, porta p, e a um pro- IP versão 6, e ainda existe relutância significativa en1 sua
cesso no host 2 foi atribuída a porta q. E possível haver duas adoção. Todavia, nenhum esforço 1nuito grande é neces-
ou n1ais conexões TCP entre essas duas portas ao n1esn10 sário para resolver as lin1it.ações do TCP. Explique por que
ten1po? isso acoutece.
27. Na Figura 6.36 vi1nos que, além do ca1npo de Confinna- 39. Em u1ua rede co1n u1u ta1nanbo máximo de segmento igual a
ção de 32 bits, existe uni bit ACK na quarta palavra. Isso 128 bytes, ten1po máxin10 de duração de um segmento igual
realn1ente acrescenta algo? Por quê? a 30 segundos e um nú1nero de sequência de 8 bits, qual é a
28. Considere uma conexão TCP que esteja enviando dados a taxa 1náxi1na de transferência de dados por conexão?
u1na velocidade tão alta que con1ece a reutilizar números de 40. Considere tuna conexão TCP que usa u1n te1npo de vida
sequência dentro do tempo de vida máximo do segmento. máximo do segmento de 128 segundos. Suponha que a co-
Isso pode ser evitado aumentando-se o tamanho do seg1nen- nexão não use a opção de timestamp. O que pode ser dito a
to? Por quê? respeito da taxa 1náxima de dados?
392 Redes de computadores

41. Considere unia conexão TCP entre u1n transmissor e um de 20 km. Em qual taxa de dados o atraso do percurso de
receptor em que: o transrnissor precisa enviar exatamente ida e volta devido à velocidade da luz é igual ao atraso da
30 segn1entos para o receptor, ssthresh é 4, o cwnd inicial transmissão para um pacote de 1 KB?
(na rodada de transrnissão zero) é 1, o tempo de ida e volta 47. Calcule o produto largura de banda-atraso para as redes a
entre o transn1issor e o receptor é de 500 111ilissegundos, seguir: ( 1) T 1 ( 1,5 Mbps), (2) Ethernet ( 1O Mbps), (3) T3
o tamanho máxirno do segmento é de 1000 bytes e a lar- (45 Mbps) e (4) STS-3 (155 Mbps). Considere un1 RTT de
gura de banda no gargalo é de 64 kbps. Suponha que ( 1) l 00 rns. Letnbre-se de que un1 cabeçalho TCP tem 16 bits
o transrnissor receba uma confirmação de duplicata tripla reservados para o Tarnanho de janela. Quais são as ünplica-
para o 14º segrnento e retransrnita corn sucesso o segrnento ções, de acordo com seus cálculos?
na próxüna viagern de ida e volta; (2) na primeira tentativa,
48. Qual é o produto largura de banda-atraso para u1n canal de
os segmentos 25-30 são todos perdidos em uma ú1iica jane-
50 Mbps em um satélite geoestacionário? Se todos os paco-
la de transniissão; (3) nenhu.rna outra perda acontece. Qual
tes forern de 1.500 bytes (incluindo o overhead), qual deve-
é a vazão n1édia da conexão durante a fase de prevenção de
rá ser o tarnanho da janela, 1nedido em pacotes?
congestionamento, em kilobits por seg.r1ndo? Qual é a vazão
média, ern kilobits por segundo, em toda a conexão? Qual 49. Cite algun1as das possíveis causas pelas quais urn teste de
é a taxa de perda média ern toda a transmissão? Durante velocidade baseado no cliente de u.rna rede de acesso não
quais rodadas o buffer no enlace de gargalo é preenchido? pode rnedi.r a velocidade verdadeira do enlace de acesso.
Em qual rodada o buffer no enlace de gargalo tem rnais pa- 50. Considere o cabeçalho TCP da Figura 6.36. Toda vez que
cotes? Qual é a latência adicional 1náxima que esse uso do um segmento TCP é enviado, ele inclui 4 bits não usados.
buffer i.ntroduz na latência de fim a fim, em milissegundos? Con10 o dese1npenho será afetado pela remoção desses bits
42. Suponha que você esteja 1nedindo o tempo necessário para e o deslocan1ento de todos os quatro bits dos ca1npos se-
receber un1 segmento. Quando ocorrer uma interrupção, guintes para a esquerda?
você lerá o clock do sisterna en1 n1ilissegundos. Quando o 51. O servidor de arquivos da Figura 6.6 está longe de ser per-
seg1nento tiver sido con1pleta1nente processado, você lerá o feito e poderiam ser fe itos alguns aperfeiçoamentos. Faça as
clock n1ais uma vez. O valor O1ns é medido 270 n1il vezes, seguintes n1odificações:
e 1 ms é medido 730 mil vezes. Quanto tempo é necessário (a) Dê ao cliente um terceiro argurnento que especifique
para receber u1n segmento? urn intervalo de bytes.
43. U1na CPU executa instruções a uma velocidade de 1.000 (b) Adicione un1a flag do cliente -w que pennita a grava-
MIPS. Os dados podem ser copiados 64 bits de cada vez, ção do arquivo no servidor.
sendo necessárias dez instruções para copiar cada palavra. 52. U1na função comum que todos os protocolos de rede pre-
Se um pacote recebido tiver de ser copiado quatro vezes, cisa1n é manipular 1nensagens. Leiubre-se de que os pro-
esse sistema conseguirá tratar de uma linha de 1 Gbps? tocolos manipulam mensagens acrescentando/rernovendo
Para sirnplificar, suponha que todas as instruções, n1es1no cabeçalhos. Alguns protocolos podem quebrar uma única
aquelas que lee1n ou gravam na memória, func iona1n a uma rnensagem em múltiplos fragmentos, e 1nais tarde juntá-los
velocidade n1áxj 1na de 1. 000 MIPS. de volta em uma única mensagem. Para isso, projete e im-
44. Para contornar o problema da repetição dos núrneros de plemente uma biblioteca de gerenciamento de mensagem
sequência enquanto os pacotes antigos ainda existen1, é que ofereça suporte para criar u1na nova 1nensage1n, ane-
possível utilizar números de sequência de 64 bits. Contu- xar uin cabeçalho a uma mensagem, remover um cabeça-
do, u1n cabo de fibra óptica pode utilizar urna velocidade lho de un1a mensagen1, queb rar un1a mensagem em duas,
de 75 Tbps, pelo menos teoricamente. Qual é o tempo má- combinar duas mensagens em urna e salvar urna cópia de
ximo de duração dos pacotes necessário para garantir que un1a 1nensagem. Sua implen1entação precisa 1ninimizar a
as redes de 75 Tbps do futuro não tenham problemas de cópia de dados de um buffer para outro ao máximo possí-
repetição dos números de sequência, mesmo com nú.meros vel. É fundamental que as operações que manipulam men-
de sequência de 64 bits? Suponha que cada byte tenha seu sagens não toquern nos dados delas, rnas apenas manipulern
próprio número de sequência, corno acontece no TCP. ponteiros.
45. Considere u1n cornputador de 1.000 MlPS que pode exe- 53. Projete e implernente u1n sistema de bate-papo que per-
cutar un1a instrução por nanossegundo. Suponha que sejan1 rnita a conversa entre vários grupos de usuários. Urn co-
necessárias 50 instruções para processar un1 cabeçalho de ordenador de bate-papo reside ern un1 endereço de rede
pacote, independentemente do tamanho da carga útil, e 1O conhecido, utiliza o UDP para comunicação com clientes
instruções para cada 8 bytes de carga útil. Quantos pacotes de bate-papo, illstala serv.idores de bate-papo para cada
por segundo ele pode processar se os pacotes tiverem (a) sessão e 1nantém um diretório de sessão. Existe u1n ser-
128 bytes e (b) 1024 bytes? Qual é o goodput ern bytes.Is em vidor de bate-papo por sessão, o qual usa o TCP para se
ambos os casos? comunicar co1n clientes. Um cliente de bate-papo permite
46. Para uma rede de 1 Gbps operando por 4.000 km, o atraso que usuários inicie111, se reúna111 e saiam de u1ua sessão.
é o fator lunitante, e não a largura da banda. Considere uma Projete e implemente o código do coordenador, do servidor
MAN corn u1na distância rnédia entre a origem e o destino e do cliente.
IW

ao

Depois de passarmos por todas as camadas preliminares, site da Web de u1n endereço IP para outro possa parecer algo
chegamos àquela em que são encontradas todas as aplica- rebuscado, na prática, essa noção geral acontece com muita
ções. As can1adas inferiores à ca1nada de aplicação tê1n a frequência, na forma de balanceamento de carga. Especifi-
função de oferecer um serviço de transporte confiável, inas, catnente, muitos sites modernos hospedam seu conteúdo em
na verdade, elas não executam nenhuma tarefa real para os várias máquinas, em geral, clusters distribuídos geografica-
usuários. Neste capítulo, estudaremos algumas aplicações n1ente. A organização que hospeda o conteúdo pode querer
reais em redes. "1nudar" a co1nurucação de um cliente de um servidor Web
No entanto, mes1no na camada de aplicação, há neces- para outro. O DNS normalmente é a fonna rnais convenien-
sidade de protocolos de suporte, a fim de permitir que as te de fazer isso.
aplicações funcione1n. Assim, antes de iniciarmos o estudo Nomes de alto nível, legíveis, desassociam os no-
das aplicações em si, examinaremos urn protocolo impor- 1nes das máquinas dos endereços dessas 1náquinas. Desse
tante: o DNS (Domain Na1ne System), que relaciona os modo, o servidor Web da en1presa poderia ser conhecido
nomes da Internet aos respectivos endereços IP. Depois dis- como www.cs.uchicago.edu independentemente do seu
so, exa1ninare1nos três aplicações reais: correio eletrônico, endereço IP. Já que os dispositivos ao longo do caminho
World Wide Web (geralmente chamada apenas de "Web") da rede enviam o tráfego ao seu destino com base no en-
e, por fi1n, multimídia, incluindo o 1noderno streaming de dereço IP, esses nomes de domínio legíveis aos humanos
vídeo. Tern1jnaremos o capítulo explicando 1nelbor a dis- precisam ser convertidos e1n endereços IP; o siste1na de
tribuição do conteúdo, incluindo as redes peer-to-peer e as nomes de do1nínio, ou DNS (Domain Name System), é
redes de entrega de conteúdo. o n1ecanis1no que faz isso. Nas próximas seções, estu-
daremos como o DNS faz esse mapeamento, e também
como ele evoluiu durante as últimas décadas. E1n parti-
cular, um dos desenvolviinentos mais significativos em
7.1 DNS - DOMAIN NAME SYSTEM termos de DNS nos últimos anos são suas implicações
para a privacidade do usuário. Explorare1nos essas impli-
Embora os programas possam se referir em teoria a páginas cações e diversos desenvolvimentos recentes em cripto-
Web, caixas de correio e outros recursos que utilizam os en- grafia do DNS relacionados à privacidade.
dereços de rede (p. ex., endereços IP) dos co1nputadores em
que estão armazenados, esses endereços são dificeis para as
pessoas memorizarem. Além disso, navegar pelas páginas
7.1 .1 História e visão geral
Web de uma empresa a partir de 128.111.24.41 significa Na ARPANET havia simples1nente um arquivo, hosts.txt,
que, se a empresa mudar o servidor Web para uma máquina que listava todos os nomes de computador e seus endereços
diferente, com um endereço IP diferente, todos precisam ser IP. Toda noite, esse arquivo era acessado por todos os hosts
informados sobre o novo endereço IP. Embora passar um no local en1 que era mantido. Para u1na rede de algumas
394 Redes de computadores

centenas de grandes n1áquinas com tempo compartilhado, desatualizados. O servidor de nomes autorizado é, bem,
essa estratégia funcionava razoavelmente bem. u1na autoridade. Por definição, ele sen1pre está correto.
No entanto, bem antes que milhões de PCs estivessem Antes de descrever a operação mais detalhada do DNS,
conectados à Internet, todos os envolvidos perceberam que descrevemos a hierarquia do servidor de no1nes de DNS e
essa estratégia não poderia continuar a ser utilizada para co1no os no1nes são alocados.
sempre. E1n algum 1no1nento, o arquivo se ton1aria grande Quando o resolvedor stub de um host envia u1na con-
demais. Contudo, a razão 1nais importante é que poderia sulta ao resolvedor local, este trata da resolução até ter a
haver conflitos de nomes de hosts constantemente, a menos resposta desejada ou nenhuma resposta. Ele não retoma
que os nomes fossem gerenciados de forma centralizada - respostas parciais. Em contrapartida, o servidor de nomes
algo totalmente fora de cogitação em uma enorme rede in- raiz (e cada servidor de no1nes subsequente) não continua
ternacional, devido à carga e à latência. Para resolver esses recursiva1nente a consulta para o servidor de nomes lo-
problemas, foi criado o sistema de nomes de domínios, ou cal. Ele apenas reton1a u1na resposta parcial e segue para
DNS (Domain Na1ne Syste1n), e1n 1983. Ele tem sido u1na a próxima consulta. O resolvedor local é responsável por
parte fundamental da Internet desde então. continuar a resolução, emitindo mais consultas iterativas.
DNS é um esquema hierárquico de atribuição de no- O processo de resolução de no1nes gerahnente envol-
mes e um siste1na de banco de dados distribuído para im- ve ambos os 1necanismos. Uma consulta recursiva pode
plementar esse esquema de nomenclatura. Ele é mais usado sempre parecer preferível, mas muitos servidores de nomes
para mapear nomes de hosts em endereços lP, mas também (especialmente o raiz) não trabalha1n assiin. Eles são 1nuito
pode servir para outros objetivos, que serão explicados com ocupados. As consultas iterativas colocam a carga em cima
mais detalhes a seguir. O DNS é un1 dos protocolos em de quem as originou. A justificativa para o servidor de no-
evolução mais ativo na Internet, sendo definido nas RFCs mes local suportar urna consulta recursiva é que ele está
l 034, l 035, 2181 e elaborado com mais detalhes em muitas fon1ecendo un1 serviço para os hosts em seu domínio. Esses
outras RFCs. hosts não precisa1n ser configurados para executar u1n ser-
vidor de nomes completo, apenas para acessar o servidor
local. Um identificador de transação de 16 bits é incluído
7.1.2 O processo de pesquisa do DNS en1 cada consulta e copiado para a resposta de 1nodo que
O DNS é utilizado da seguinte forma: para mapear un1 um servidor de non1es possa corresponder as respostas à
nome em um endereço IP, um progra1na de aplicação respectiva consulta, mesmo se várias consultas estiverem
chama um procedimento de biblioteca (normalmen- pendentes ao mesmo tempo.
te, gethostbyna1ne ou algo equivalente) e repassa a ele Todas as respostas, incluindo as parciais retornadas,
o nome como um parâtnetro. Esse processo às vezes é são armazenadas em cache. Dessa forma, se um con1puta-
chan1ado de resolvedor stub, o qual envia uma consulta dor em cs. vu.n1 consultar cs.uchicago.edu, a resposta será
contendo o nome de um resolvedor de DNS local, normal- nJantida e1n cache. Se logo depois disso, outro host e1n
1nente cha1nado resolvedor recursivo local, ou simples- cs. vu.nl ta1nbén1 consultar cs.uchicago.edu, a resposta já
mente resolvedor local, que passa a realizar un1a chamada será conhecida. Melhor ainda, se um host consultar um host
pesquisa recursiva pelo nome contra um conjunto de re- diferente no nlesmo do1nínio, digamos noise.cs.uchicago.
solvedores de DNS. O resolvedor recursivo local, por fim, edu, a consulta pode ser enviada diretamente para o servi-
retorna uma resposta co1n o endereço IP correspondente dor de nomes autorizado para cs.uchicago.edu. Da 1nesma
para o resolvedor stub, que então passa o resultado para a fonna, as consultas para outros do1nínios e1n uchicago.edu
função que emitiu a consulta em prin1eiro lugar. As men- podem con1eçar diretamente do servidor de no1nes uchi-
sagens de consulta e resposta são enviadas como pacotes cago.edu. O uso de respostas em cache reduz bastante as
UDP. Munido do endereço IP, o programa pode então se etapas de un1a consulta, alé1n de 1nelhorar o desen1penho.
comunicar com o host correspondente ao noine DNS que O cenário original que esboça1nos é, na verdade, o pior
foi encontrado. Esse processo será explicado con1 mais caso, que ocorre quando nenhuma infonnação útil está dis-
detalhes neste capítulo. ponível no cache.
Em geral, o resolvedor stub emite uma consulta recur- As respostas en1 cache não sã.o oficiais, pois as al-
siva ao resolvedor local, o que significa que ele simples- terações feitas em cs.uchicago.edu não serão propagadas
mente pergunta e aguarda u1na resposta. O resolvedor local, para todos os caches no mundo que possa1n saber disso.
por sua vez, en1ite tuna sequência de consultas aos respec- Por esse n1otivo, as entradas de cache não deve1n durar
tivos servidores de nomes para cada parte da hierarquia n1uito. Esse é o 1notivo pelo qual o campo Ternpo de vida
de nomes; o servidor de nomes responsável por u1na parte é incluído e1n cada registro de recurso do DNS, uma par-
específica da hierarquia costuma ser chamado de servidor te do banco de dados DNS que discutiremos em breve.
de nomes autorizado para esse do1nínio. Con10 vere1nos Ele infonna aos servidores de no1nes remotos por quanto
mais adiante, o DNS usa cache, 1nas os caches podem estar ten1po os registros devem permanecer en1 cache. Se u1na
Capítulo 7 • A camada de aplicação 395

determinada n1áquina tiver o mes1no endereço IP por anos, tentando outro servidor para o do1nínio após um pequeno
pode ser seguro annazenar essas informações em cache número de tentativas. Esse processo foi projetado para lidar
por um dia. Para informações 1nais voláteis, pode ser mais com o caso em que o servidor fica inativo, bem como co1n
seguro limpar os registros após alguns segundos ou um a perda do pacote de consulta ou resposta.
minuto.
As consultas ao DNS têm un1 fon11ato sin1ples, que
inclui o nome que está sendo consultado (QNAME), bem 7.1.3 O ambiente de nomes e
co1no outras informações auxiliares, como um identifica- a hierarquia do DNS
dor de transação, que normaln1ente é usado para o mapea-
mento entre consultas e respostas. Inicialmente, o ID da Gerenciar um graude conjunto de nomes que está e1n mu-
transação ocupava apenas 16 bits e as consultas e respos- dança constante não é u1n proble1na de fácil resolução.
tas não eram protegidas - essa decisão de projeto deixou En1 um sistema postal, o gerenciamento de nomes é feito
o DNS vulnerável a uma série de ataques, incluindo algo por meio do uso de letras que especifica1n (implícita ou ex-
chamado de ataque de envenenamento de cache, cujos de- plicitamente) o país, o estado ou a provincia, a cidade, a
talhes discutire1nos mais adiante, no Capítulo 8. Ao execu- rua e o no1ne do destinatário. Graças ao uso desse tipo de
tar u1na série de pesquisas iterativas, um resolvedor DNS endereça1nento hierárquico, não há confusão entre o João
recursivo pode enviar o QNAME inteiro para a sequência da Silva que 1nora na Rua Barata Ribeiro, e1n São Paulo, e
de servidores de nomes autorizados, que retornan1 as res- o João da Silva que mora na Rua Barata Ribeiro, no Rio de
postas. En1 algum ponto, os projetistas de protocolo indica- Janeiro. O DNS funciona da n1esn1a forma.
ram que o envio do QNAME inteiro para cada servidor de Para a Internet, o topo da hierarquia de nomes é con-
nomes autorizado, em uma sequência de resolvedores ite- trolado por uma organização chamada ICANN (Inter-
rativos, constituía um risco á privacidade. Co1no resultado, net Corporation for Assigned Names and Numbers).
muitos resolvedores recursivos agora usa1n u1n processo A ICANN foi criada para essa finalidade em 1.998, como
chamado de minimização de QNAME, por meio do qual parte do a1nadureci1nento da Internet para uma abrangência
o resolvedor local envia apenas a parte da consulta sobre a nlundial, econôn1ica. Conceituahnente, a Internet é dividi-
qual o respectivo servidor de nomes autorizado possui in- da em 1nais de 250 domínios de nível superior, e1n que
fonnações . Por exemplo, con1 a minimização de QNAME, cada um deles cobre muitos hosts. Um domínio é dividido
dado um nome para resolver, como www.cs.uchicago.edu, em subdomínios, e estes são partidos ainda mais, e assim
um resolvedor local enviaria apenas a string cs.uchicago. por diante. Todos esses dorninios podem ser representados
edu para o servidor de nomes autorizado para uchicago. por uma árvore, con10 nlostra a Figw·a 7. 1. As fo lhas da
edu, ao contrário do nome de domínio totalmente quali- árvore representam do1nínios que não possue1n subdomí-
ficado (FQDN, Fully Qualified Don1ain Name), para evi- nios (mas contê1n máquinas, é claro). U1n domínio de folha
tar revelar todo o FQDN ao servidor de nomes autoriza- pode conter um único host, ou então pode representar uma
do. Para obter mais informações sobre a minimização de empresa e conter milhares de hosts.
QNAME, consulte a RFC 7816. Os domínios de nível superior são compostos por vários
Até 1nuito recente1nente, as consultas e as respostas tipos: gTLD (generic Top Levei Domain), ccTLD (coun-
do DNS dependiam do UDP como seu protocolo de trans- try code Top Levei Domain) e outros. Alguns dos TLDs
porte, com base na lógica de que precisavam ser rápidas e genéricos originais, listados na Figura 7.2, inclue1n domínios
leves e não podiam lidar com a sobrecarga corresponden- originais da década de 1980 e do1nínios de nível superior in-
te de u1n handshake TCP de três vias. No entanto, vários troduzidos por n1eio de solicitações á ICANN. Os do1ninios
desenvolvimentos, incluindo a insegurança resultante do de países incluem u1na entrada para cada país, conforme a
protocolo DNS e os inúmeros ataques subsequentes aos definição da ISO 3166. Os nomes de domínio de países in-
quais foi sujeito, variando de envenenamento de cache a ternacionalizados que usa1n alfabeto não latino foram intro-
ataques distribuídos de negação de serviço (DDoS), re- duzidos em 201 Oe per1nite1n que as pessoas no1neie1n hosts
sultara1n em uma tendência crescente para o uso do TCP em árabe, chinês, cirílico, hebreu ou outros idio1nas.
como protocolo de transporte para o DNS. Mais tarde, isso Em 2011, havia apenas 22 gTLDs, 1nas e1n junho de
pennitiu que o DNS aproveitasse protocolos modernos e 2011, a ICANN votou pelo fim das restrições á criação de
seguros das ca1nadas de transporte e aplicação, resultan- gTLDs adicionais, permitindo que empresas e outras or-
do em DNS-over-TLS (DoT) e DNS-over-HTTPS (DoH). ganizações selecionassem domínios de nível superior es-
Discutiremos esses desenvolvimentos com mais detalhes sencialmente arbitrários, incluindo TLDs que inclue1n ca-
mais adiante neste capítulo. racteres não latiuos (p. ex., cirílico). A l.CANN começou
Se o resolvedor stub do DNS não receber uma res- a aceitar inscrições para novos TLDs no início de 2012.
posta dentro de um período de te1npo relativamente curto O custo inicial da inscrição para un1 novo TLD foi de qua-
(um período de timeout), o cliente DNS repetirá a consulta, se 200 mil dólares. Alguns dos primeiros novos gTLDs
396 Redes de computadores

, _ _ - - - - - - - Genéricos - - - - - - - - -1 i -- - - - - Países - - - - -+i

aero com edu gov museum org net · · · au jp uk us nl ···

cisco uchicago
/\
acm ieee edu
/\
ac co
/\ vu oce

eng
/\
cs eng
/\
jack jill uwa keio nec
/\ cs law

noise cs csl
/\
filts fluit

Figura 7.1 Uma parte do espaço de nomes de domínios da Internet.

tornararn-se operacionais em 20 13 e, ern julho de 2013, os Alguns gigantes da tecnologi a se inscreveram para muitos
prin1eiros quatro novos gTLDs foran1 lançados co1n base gT LDs: Google e Amazon, por exen1plo, solici taram cada
'
no contrato assinado em Durban, na Africa do Sul. Todos um cerca de 100 novos gTLDs. Hoje, alguns dos gTLDs
os quatro foran1 baseados em caracteres não latinos: a pa- mais populares incluen1 top, loan, .:\.yz, e assim por diante.
'
lavra árabe para " Web", a pal avra russa para "on-line" , a E fácil obter urn domínio de segundo nível, corno
palavra russa para " site'" e a palavra chinesa para "jogo". 11on1e-da-en1presa.com. Os domínios de nível superior são

Domínio Uso pretendido Data de início Restrito?


com Comercial 1985 Não
edu Instituições educacionais 1985 Sim

gov Governo 1985 Sim


int Organizações internacionais 1988 Sim
mil M ilitares 1985 Sim
net Provedores de rede 1985 Não

org Organizações não lucrativas 1985 Não


aero Transporte aéreo 2001 Sim

biz Negócios 2001 Não


coop Cooperativas 2001 Sim
info Informativos 2002 Não
museum Museus 2002 Sim
name Pessoas 2002 Não
pro Profissionais 2002 Sim

cat Catalão 2005 Sim


jobs Empregos 2005 Sim
mobi Dispositivos móveis 2005 Sim
tel Detalhes de contato 2005 Sim
travei Indústria de viagens 2005 Sim

xxx Indústria do sexo 2010 Não

Figura 7.2 Os TLDs genéricos originais, em 2010. Em 2020, havia mais de 1.200 gTLDs.
Capítulo 7 • A camada de aplicação 397

controlados pelos registradores apontados pela ICANN. para proteção contra vários ataques de DNS, incluindo os
Por exemplo, o registro para co111 é da Verisign. Um nível ataques por envenenamento de cache DNS, usando uma téc-
abaixo, as registrantes vendem nomes de domínio dire- nica chamada codificação Ox20 (Oagon et ai., 2008), que
tamente aos usuários. Existen1 muitas delas, competin- discutire1nos em detalhes 1nais adiante neste capítulo.
do com preço e serviço. As registrantes comuns incluem Em princípio, os domínios podem ser inseridos na hie-
Domain.com, GoDaddy e NameCheap. A Figura 7.3 mostra rarquia em domínios genéricos ou de país. Por exemplo, o
a relação entre registradores e registrantes no que se refere domínio cs.gatech.edu poderia ser igualmente listado sob o
ao registro de um no1ne de domínio. don1inio de país us con10 cc.gt.atl.ga.us. Contudo, na prá-
O nome de domínio que un1a máquina envia para tica, quase todas as organizações dos Estados Unidos estão
consulta nonnalmente é cha1nado de nome de domí- sob un1 domínio genérico e, praticamente, todas fora dos
nio totalmente qualificado, ou FQDN (Fully Qualified Estados Unidos estão sob o do1ninio de seu país. Não existe
Domain Name), co1no 1vww.cs.uchicago.edu ou cisco.corn. regra contra o registro sob vários do1nínios de nível supe-
O FQDN co1neça co1n a parte 1nais específica do nome de rior - grandes e1npresas normahnente faze1n isso (p. ex.,
don1ín io, e cada parte da hierarquia é separada por un1 ".". so11y.con1, sony.net e sony.nl).
(Tecnica1nente, todos os FQDNs ta1n bém terminam com Cada do1nínio controla como serão alocados todos
un1 ".", indicando a raiz da hierarquia do DNS, embora a os dominios abaixo dele. Por exe1nplo, o Japão tem os do-
rnaioria dos sistemas operacionais complete essa parte do 1nínios ac.jp e co.jp, que espelham edu e con1. A Holanda
nome do domínio auton1aticamente.)
não faz essa distinção e coloca todas as organizações dire-
Cada dominio tem seu nome definido pelo caminho tamente sob 11/. As universidades australianas estão todas
ascendente entre ele e a raiz (sem nome). Esses compo- sob edu.au. Assim, os três domínios a seguir representam
nentes são separados por pontos. Dessa forma, o departa- departamentos de ciência da computação e engenharia elé-
mento de engenharia da Cisco poderia ser eng.cisco.com,
trica de universidades:
e1n vez de um nome no estilo UNIX, como /com/cisco/eng.
Observe que essa nomenclatura hierárquica significa que 1. cs.chicago.edu (University of Chicago, nos Estados
eng.cisco.co111. não entra em conflito com um possível uso Unidos);
de eng e1n e11g.11chicago.edu., que poderia ser usado pelo 2. cs. vu.11/ (Vrije Universireit, na Holanda);
departan1ento de língua inglesa da University ofChicago.
3. ee.u1va.edu.a11 (University ofWestern Australia).
Os no1nes de domínios podem ser absolutos ou rela-
tivos. U1n nome de domínio absoluto sempre tennina co1n Para que um novo domínio seja criado, é necessá-
um ponto (p. ex., e11g.cisco.co111.), ao contrário de um nome ria a permissão do domínio no qual ele será incluído. Por
de do1nínio relativo. Os no1nes relativos têm de ser inter- exen1plo, se um grupo de pesquisa e1n segurança da Uni-
pretados em algum contexto para detenninar exclusiva- versity of Chicago quiser ser conhecido como security.
mente seu verdadeiro significado. Em a1nbos os casos, um cs.uchicago.edu, ele precisará da pennissão de quem geren-
non1e de domínio se refere a un1 nó específico da árvore e a cia cs.chicago .edu. (Feliz1nente, essa pessoa normahnen-
todos os nós abaixo dele. te não está n1uito distante, graças à arquitetura de geren-
Os no1nes de do1nínios não fazem distinção entre letras ciarnento distribuída do DNS.) Da 1nes1na forma, se uma
maiúsculas e 1ninúsculas, de 1nodo que edu, Edu e EDU sig- nova tLniversidade for licenciada, diga1nos a University of
nificam a mesn1a coisa. Os nomes de componentes pode1n Northern South Dakota, ela terá de solicitar ao gerente do
ter até 63 caracteres, e os nomes de can1inhos completos domínio edu que lhe atribua o domínio unsd.edu (se estiver
não podem exceder 255 caracteres. O fato de que o DNS disponível). Dessa forma, os conflitos de nomes são evita-
não diferencia maiúsculas de minúsculas tem sido usado dos e cada domínio pode controlar seus subdomínios. Uma
vez que um novo domínio tenha sido criado e registrado,
ele poderá criar subdomínios, tais como cs.unsd.edu, sem
1 Registrar domínios 1
que seja necessária a permissão de alguém que esteja em

"
• Registrante
um nível mais alto na árvore.
A atribuição de non1es leva em consideração as fron-
teiras organizacionais, e não as redes tisicas. Por exemplo,

• VERISIGN Registrador
mesmo que os departamentos de ciência da co1nputação e
de engenharia elétrica estejam no mesmo prédio e compar-

•.. ~
tilhem a 1nesma LAN, eles poderão ter domínios distintos.
Da mesma forina , 1nesmo que o departamento de ciência da
• ICANN con1putação esteja dividido en1 dois prédios, normalmente
todos os hosts instalados e1n ambos pertencerão ao mesmo
Fígura 7.3 A relação entre registradores e registrantes. do1nínio.
398 Redes de computadores

7.1.4 Consultas e respostas do DNS cliente passa a sub-rede de endereço lP do resolvedor stub
para o servidor de nomes autorizado.
Agora, vamos examinar a estrutura, o formato e o propósito O mecanis1no EDNSO CS permite que o servidor de
das consultas do DNS, e como os servidores de DNS res- no1nes autorizado para u1n no1ne de domínio saiba o en-
pondem a essas consultas. dereço IP do cliente que executou a consulta inicialmente.
Conhecer essas infonnações nonnahnente permite que um
Consultas do DNS servidor DNS autorizado execute um 1napeamento mais
eficaz para u1na cópia 1nais próxima de tun serviço replica-
Conforme já vimos, um cliente DNS normalmente e1ni- do. Por exemplo, se un1 cliente emitisse uma consulta para
te uma consulta a u1n resolvedor recursivo local, que google.con1, o servidor de nomes autorizado da Google
realiza uma consulta iterativa para, por fim, resolvê-la. normabnente desejaria retornar um nome que corresponde
A consulta mais con1u1n é aquela com o tipo de registro A, a um servidor front-end próxi1no ao cliente. Logicamente,
que pede um 1napea1nento de um nome de domínio para a capacidade de fazer isso depende de saber onde na rede
u1n endereço IP para un1 ponto da extre1nidade da Inter- (e, de preferência, geograficamente, onde no inundo) o
net correspondente. O DNS tem uma variedade de outros cliente está localizado. Em geral, wn servidor de nomes
registros de recursos (con1 as consultas correspondentes), autorizado pode ver apenas o endereço IP do resolvedor
conforme discutiremos na próxi1na seção, sobre registros recursivo local.
de recursos (ou seja, respostas). Se o cliente que iniciou a consulta estiver localizado
Embora o mecanismo principal do DNS há muito perto de seu respectivo resolvedor local, o servidor autori-
te1npo tenha sido mapear nomes legíveis por hu1nanos para zado desse domínio poderá detenninar um mapeamento de
endereços IP, ao longo dos anos, as consultas de DNS fo- cliente apropriado simplesmente a partir da localização do
ram usadas para diversos outros propósitos. Outro uso co- DNS recursivo local. No entanto, cada vez mais, os clien-
mum para consultas de DNS é procurar domínios em uma tes começara1n a usar resolvedores recursivos locais que
lista paralela baseada em DNS, ou DNSBL (DNS-based podem ter endereços IP que dificultan1 a sua localização.
blacklist), que normalmente são mantidas com endereços Por exemplo, Google e Cloudflare operam resolvedores de
IP associados a transmissores de spam e malware. Para DNS públicos (8.8.8.8 e 1. 1.1 . 1, respectivamente). Se um
pesquisar u1n nome de do1nínio em um DNSBL, um clien- cliente estiver configurado para usar um desses resolvedo-
te pode enviar uma consulta de registro A a um servidor res recursivos locais, o servidor de non1es autorizado não
DNS especial, co1no pbl.spatnhaus.org (uma "lista paralela descobre nluitas informações úteis a partir do endereço IP
de política"), que corresponde a uma lista de endereços IP do resolvedor recursivo. O EDNSO CS resolve esse pro-
que não deveriam estar fazendo conexões com servidores blema incluindo a sub-rede IP na consulta do servidor re-
de e-mail. Para pesquisar um endereço IP específico, um cursivo local, para que o servidor autorizado possa ver a
cliente simplesmente inverte os octetos do endereço IP e sub-rede IP do cliente que iniciou a consulta.
acrescenta o resultado a pbl.sparnhaus.org. Co1no já vimos, os no1nes nas consultas DNS não di-
Por exemplo, para pesquisar 127.0.0.2, um cliente ferenciam maiúsculas de minúsculas. Essa característica
simples1nente e1nitiria un1a consulta para 2.0.0.127 .pbl. permitiu que os resolvedores DNS 1nodemos incluísse1n
sparnhaus.org. Se o endereço TP correspondente estivesse bits adicionais de um ID de transação na consulta, definin-
na lista, a consulta de DNS retornaria u1n endereço IP que do cada caractere em u1n QNAME para um caso arbitrá-
normalmente codifica algumas informações adicionais, rio. Um ID de transação de 16 bits é vulnerável a diversos
con10 a procedência dessa entrada na lista. Se o endereço ataques de envenenamento de cache, incluindo o ataque
IP não estiver na lista, o servidor DNS indicará isso, emitin- Kaminsky, descrito no Capítulo 8. Essa vulnerabilidade
do a resposta NXDOMAíN correspondente, equivalente a acontece em parte porque o ID da transação DNS tem ape-
"não existe tal domínio". nas 16 bits. Au1nentar o nún1ero de bits no ID da transação
exigiria a alteração da especificação do protocolo DNS, que
Extensões e melhorias nas consultas do DNS é uma tarefa dificílima.
Uma alternativa foi desenvolvida, gerahnente cha-
As consultas de DNS tomaram-se mais sofisticadas e com- mada de codificação Ox20, em que um servidor recursivo
plexas ao longo do ten1po, à medida que as necessidades de local alternaria 1naiúsculas e minúsculas en1 cada QNAME
atender clientes com informações cada vez mais específi- (p. ex., uchicago.edu poderia se tomar uCHicaGO.EDu ou
cas e as preocupações com a segurança aumentaram. Duas algo semelhante), permitindo que cada letra no nome de
extensões significativas para consultas DNS nos últimos do1nínio codifique u1n bit adicional para o ID da transação
anos têm sido o uso da sub-rede do cliente DNS estendido DNS. O problema, é claro, é que nenhum outro resolvedor
EDNSOCS ou simplesmente opção de sub-rede do cliente deverá alterar as letras do QNAME em consultas ou respos-
EDNS, por 1neio da qual um resolvedor recursivo local do tas iterativas subsequentes. Se as maiúsculas/n1inúsculas
Capítulo 7 • A camada de aplicação 399

fore1n preservadas, a resposta correspondente conterá o u1n dia). As informações muito voláteis (como os preços
QNAME da forma original indicada pelo resolvedor recur- de ações), ou que os operadores possam querer 1nudar
sivo local, agindo efetivamente com a inclusão dos bits ao com frequência (p. ex., para permitir o balanceamento de
identificador da transação. A coisa toda é u1n artificio feio, carga de u1n único no1ne por vários endereços IP) rece-
mas essa é a natureza de tentar mudar u1n software bastan- ben1 un1 número baixo, como 60 segundos (1 n1inuto).
te utilizado enquanto se 1nantém a compatibilidade com as Voltaremos a esse ponto mais adiante, quando discutir-
versões anteriores. mos o caching.
O terceiro campo de cada registro de recurso é Clas-
Respostas do DNS e registros de recursos se. No caso de informações relacionadas à Internet, ele é
sen1pre JN. Para informações não relacionadas à internet,
Todo domínio, seja u1n único host, seja um domínio de ní- pode1n ser empregados outros códigos, porém, estes rara-
vel superior, pode ter um conjunto de registros de recursos mente são encontrados na prática.
associado a ele. Esses registros são o banco de dados DNS. O campo Tipo infor1na qual é o tipo do registro - os
Para um único host, o registro de recurso 1nais comu1n é mais importantes estão listados na Figura 7.4.
apenas seu endereço IP, mas ta1nbém existen1 n1uitos outros Urn registro SOA fornece o nome da principal fonte de
tipos. Quando um resolvedor repassa um nome de do1nínio informações sobre a zona do servidor de nomes (descrita a
ao DNS, o que ele obtém são os registros de recursos asso- seguir), o endereço de correio eletrônico do administrador,
ciados àquele nome. Portanto, a principal função do DNS é un1 número de série exclusivo e diversos flags e tin1eouts.
mapear non1es de domínios em registros de recursos.
Um registro de recurso é uma tupla de cinco ca1npos.
Apesar de serem codificados em binário para proporcionar
Tipos comuns de registro
maior eficiência, na maioria das exposições os registros de O tipo de registro 1nais i1nportante é o A (de Address). Ele
recursos são 1nostrados como texto ASCII, tuna linha para contém um endereço IPv4 de 32 bits de algum host. O re-
cada registro de recurso, da seguinte forma: gistro AAAA correspondente, ou "A quádruplo", mantém
Nome_domínio Tempo_de_vida Classe Tipo Valor un1 endereço 1Pv6 de 128 bits. Cada host da Internet deve
ter pelo menos um endereço IP, de forma que outras máqui-
Nome_domínio informa o domínio ao qual esse regis- nas possa1n se comunicar com ele. Alguns hosts têm duas
tro se aplica. Nonnalmente, existem rnuitos registros para ou mais interfaces de rede; nesse caso, eles terão dois ou
cada do1nínio, e cada cópia do banco de dados armazena mais registros de recurso do tipo A ou AAAA . Além disso,
informações sobre vários domínios. Assim, esse campo um único serviço (p. ex., google.com) pode ser hospedado
é a chave de pesquisa primária utilizada para atender às e1n 1nuitas máquinas geograficamente distribuídas por todo
consultas. A ordem dos registros no banco de dados não é o mundo (Calder et ai., 2013). Nesses casos, um resolvedor
significativa. DNS pode retornar vários endereços para um único nome
Tempo_de_ vida fornece uma indicação da estabili- de domínio. No caso de um serviço geograficamente dis-
dade do registro. As informações muito estáveis recebem tribuído, um resolvedor poderá retomar ao seu cliente um
utn número alto, corno 86.400 (o número de segundos em ou mais endereços IP de u1n servidor que está próximo do

Tipo Significado Valor


SOA Início de autoridade Parâmetros para essa zona
A Endereço 1Pv4 de um host Inteiro de 32 bits
A.A AA Endereço 1Pv6 de um host Inteiro de 128 bits
MX Troca de mensagens de e-mail Prioridade, domínio disposto a aceitar correio eletrônico
NS Servidor de nomes Nome de um servidor para este domínio
CNAME Nome canônico Nome de domíni o
PTR Ponteiro Nome alternativo de um endereço IP
SPF Estrutura de política do transmissor Codificação de texto da política de envio de mensagens de e-mail
SRV Serviço Host que o oferece
TXT Texto Texto ASCII descritivo

Figura 7.4 Os principais tipos de registros de recursos.


400 Redes de computadores

cliente (geográfica ou topologicamente), a fi1n de 1nelhorar Por últi1no na lista, os registros TXT fora1n fornecidos
o dese1npenho e equilibrar a carga. originalmente para permitir que os do1nínios se identificas-
Un1 tipo de registro importante é o NS. Ele especifica sem de forma arbitrária. Hoje, eles normalmente codificatn
um servidor de nomes para o domínio ou subdo1nínio. Ele informações legíveis à máquina, em geral a informação
é um host que tem uma cópia do banco de dados para um SPF.
dominio e é usado como parte do processo de pesquisa de Por fim, chegamos ao campo Valor, que pode ser
nomes, o que veremos adiante. Outro tipo de registro co- un1 nú1nero, um nome de domínio ou uma string ASCII.
mum é o MX. Ele especifica o nome do host preparado para A semântica dependerá do tipo de registro. Na Figura 7.4,
aceitar mensagens de e-1nail para o domínio especificado. é 1nostrada un1a breve descrição dos ca1npos Valor de cada
O registro MX é utilizado porque nem toda máquina está um dos principais tipos de registros.
preparada para aceitar correio eletrônico. Se alguém qui-
ser enviar e-mail para, por exemplo, bi/l@núcrosofl.com, o
Registros DNSSEC
host transmissor precisará encontrar un1 servidor de correio
localizado e1n nzicrosojt.com que esteja disposto a aceitá-lo. A implementação original do DNS não considerava a segu-
O registro MX pode prestar essa informação. rança do protocolo. Particularn1ente, os servidores de no-
Os registros CNAME pennitem a criação de nomes mes ou resolvedores do DNS podian1 1nanipular o conteúdo
alternativos. Por exemplo, uma pessoa familiarizada com de qualquer registro de DNS, fazendo corn que o cliente
a Internet que deseja enviar uma mensagem para alguém pudesse receber infonnações i11corretas. A RFC 3833 des-
cujo nome de login seja pau[ no departamento de ciência taca algumas das ameaças à segurança do DNS e co1no o
da computação da University of Ch icago poderá imaginar DNSSEC trata delas. Os registros DNSSEC permitem que
que paul@cs.chicago.edu seja o endereço correto. Na rea- as respostas dos servidores de nomes de DNS transportem
lidade, esse endereço não servirá, pois o domínio do de- assinaturas digitais, que o resolvedor local ou stub pode
partamento de ciência da computação é cs.uchicago.edu. verificar para garantir que os registros de DNS não foran1
Como um serviço para as pessoas que não sabem disso, a n1odificados ou adulterados. Cada servidor DNS calcula
universidade poderia criar uma entrada CNAME para orien- urn hash (uma espécie de checksurn longo) do RRSET
tar pessoas e programas na direção correta. Uma entrada (Resource Record Set) para cada conjunto de registros de
corno esta poderia realizar essa função: recursos do rnes1no tipo, com suas chaves criptográficas
privadas. As chaves públicas correspondentes podem ser
www.cs.uchicago.edu 120 IN CNAME hnd.cs.uchicago.edu
usadas para verificar as assinaturas nos RRSETs. (Para os
CNAMEs normalmente são usados para nomes alter- que não estão acostun1ados com criptografia, o Capítulo 8
nativos de sites, pois os endereços comuns de servidor Web contém urna base técnica.)
(que gerahnente começam co1n www) costurnan1 ser hos- Naturalmente, para verificar a assinatura de u1n
pedados em nláquinas que atende1n a diversos propósitos e RRSET com a chave pública correspondente do servidor de
cujo nome principal não é www. no111es, é preciso verificar a autenticidade da chave pública
O registro PTR indica outro nome, e normalmente é desse servidor. Isso pode ser feito se a chave pública de
usado para associar um endereço IP a um nome correspon- um servidor de nomes autorizado for assinada pelo servi-
dente. Pesquisas PTR que associam um nome a um endere- dor de nomes pai, na hierarquia de nomes. Por exemplo, o
ço IP correspondente costumam ser charnados de lookups servidor de non1es autorizado .edu poderia assinar a chave
reversos. pública correspondente ao servidor de nomes autorizado
SRV é um tipo de registro rnais novo, que penni- chicago.edu, e assim por diante.
te que urn host seja identificado para detenninado ser- O DNSSEC possui dois registros de recursos relacio-
viço em un1 domínio. Por exen1plo, o servidor Web para nados a chaves públicas: (1) o registro RRSIG, que corres-
www.cs.uchicago.edu poderia ser identificado como hnd. ponde a uma assinatura pelo RRSET, assinada com a chave
cs.uchicago.edu. Esse registro generaliza o registro MX que privada do servidor de nomes autorizado correspondente; e
realiza a mesma tarefa, rnas é apenas para servidores de (2) o registro DNSKEY, que é a chave pública do RRSET
correio eletrônico. correspondente, assinada pela chave privada do pai. Essa
SPF pennite que um domínio codifique informações estrutura hierárquica para assinaturas pennite que as cha-
sobre quais rnáquinas no do1nínio enviarão e-mails ao res- ves públicas do DNSSEC para a hierarquia do servidor de
tante da Internet. Isso ajuda as máquinas receptoras a ve- nomes seja distribuída no ato. Somente as chaves públicas
rificar se o correio é válido. Se ele estiver sendo recebido no nível raiz precisarn ser distribuídas de outro modo, e es-
de uma máquina que se chama dodgy, mas os registros de sas chaves podem ser distribuídas da mesma forma como
domínio disserem que o correio só será enviado do domí- os resolvedores ficam sabendo a respeito dos endereços IP
nio por uma máquina chamada s1ntp, é provável que esse dos servidores de nomes raiz. O Capítulo 8 discute outros
e-mail seja indesejado e forjado. detalhes sobre o DNSSEC.
Capítulo 7 • A camada de aplicação 401

Zonas de DNS A seção para a máquinaflits lista dois endereços IP


e três escolhas são dadas para o tratamento de e-n1ails en-
A Figura 7.5 mostra um exemplo do tipo de informação que viados aflits.cs. vu.nl. A primeira escolha é naturalmente o
se pode encontrar em um registro de recursos de DNS típi- próprioflits, mas se ele estiver fora do ar, zephyr e top são a
co para u1n nome de domínio específico. Esta figura ilustra segunda e a terceira opções.
parte de u1n banco de dados (hipotético) para o do1nínio As três linhas seguintes contêm u1na entrada típica
cs.vu.nl mostrado na Figura 7.1, que nom1ahnente é cha- para um computador - nesse caso, rowboat.cs.vu.nl. As in-
mado arquivo de zona de DNS, ou si1nplesmente zona de formações fornecidas contêm o endereço IP e as caixas de
DNS, para abreviar. Esse arquivo de zona conté1n sete tipos correio principal e secundária. Em seguida, vem uma entra-
de registros de recursos. da para um computador que não é capaz de receber e-mail
A primeira linha sem comentários da Figura 7.5 apre- por si só, seguida de uma entrada para tuna i1npressora (la-
senta algumas informações básicas sobre o domínio, que serjet) conectada à Internet.
não nos interessarão em detalhes. As duas linhas seguintes Pelo menos em teoria, um único servidor de nomes
mostram a primeira e a segunda opções para a entrega de poderia conter o banco de dados DNS inteiro e responder a
e1nai 1-s enviados para pessoa@cs.vu.nl. A entrada zephyr todas as consultas referentes a ele. Na prática, esse servidor
(uma 1náquina específica) deve ser a pri1neira opção a ser ficaria tão sobrecarregado que seria inútil. Alén1 disso, caso
experimentada. Se ela não servir, top será a próxima opção. ele ficasse fora do ar, toda a Internet seria atingida.
A próxima linha identifica o servidor de nomes para o do- Para evitar os problemas associados à presença de uma
, .
mrn10 como star. única fonte de infonnações, o espaço de nomes do DNS é
Depois da linha em branco (que foi incluída para fa- dividido em zonas não superpostas. U1na forn1a possível
cilitar a leitura) há outras informando os endereços IP para de dividir o espaço de nomes da Figura 7.1 é niostrada na
sta1; zephyr e top. Em seguida, há um nome alternativo, Figura 7.6. Cada zona circulada contém u1na parte da árvore.
w~vw.cs. vu.nl, ou seja, um endereço que pode ser usado A localização das fronteiras de u1na zona fica a cargo
sen1 a necessidade de especificar u1na 1náquina. A criação de seu administrador. Essa decisão é tomada principalmen-
desse non1e alternativo pennite que cs.vu.nl nlodifique seu te com base no número de servidores de no.1nes desejados, e
servidor da World Wide Web sem invalidar o endereço que onde. Por exemplo, na Figura 7.6, a University of Chicago
as pessoas utilizam para acessá-lo. Há um argumento sen1e- tem unia zona para chicago.edu que trata do tráfego para
lhante parajip.cs.vu.nl. cs.uchicago.edu, mas não de eng.uchicago.edu, que é uma

; Dados oficiais para cs.vu.nl


cs.vu.nl. 86400 IN SOA star boss (9527,7200,7200,241920,86400)
cs.vu.nl. 86400 IN MX 1 zephyr
cs.vu.nl. 86400 IN MX 2 top
cs.vu.nl. 86400 IN NS star

star 86400 IN A 130.37.56.205


zephyr 86400 IN A 130.37.20.10
top 86400 IN A 130.37.20.11
WWW 86400 IN CNAME star.cs.vu.nl
ftp 86400 IN CNAME zephyr.cs.vu.nl

flits 86400 IN A 130.37.16.112


flits 86400 IN A 192.31.231.165
flits 86400 IN MX 1 flits
flits 86400 IN MX 2 zephyr
flits 86400 IN MX 3 top

rowboat IN A 130.37.56.201
IN MX 1 rowboat
IN MX 2 zephyr

little-sister IN A 130.37.62.23

laserjet IN A 192.31.231.216

Figura 7.5 Uma parte de um possível banco de dados DNS (arquivo de zona) para cs.vu.nl.
402 Redes de computadores

------------Genéricos - - - - - - - - - - - - . i ~------ Países - - - - - - - - - i

aero gov net · · · au jp uk us nl

acm
.1eee vu oce
CISCO uchicago

eng cs eng
/\
jack jill uwa keio nec
/\ cs law

noise cs csl
/\
flits fluit

Figura 7.6 Parte do espaço de nomes do DNS dividido em zonas (que estão circuladas).

zona separada com seus próprios servidores de no1nes. Tal ele passa a consulta para um servidor de nomes local. Se o
decisão pode ser tomada quando um departamento como don1ínio buscado cair sob a jurisdição do servidor de no-
língua inglesa não deseja ter seu próprio servidor de non1es, 111es, como top.cs.vu.nl caindo sob cs.vu.11/, ele retornará os
mas un1 departa1nento co1no ciência da co1nputação sim. registros de recursos oficiais. Um registro oficial é aquele
que vem da autoridade que controla o registro e, portanto,
se1npre está correto. Os registros oficiais contrastam com os
7.1.5 Resolução de nomes registros em cache, que podem estar desatualizados.
O que acontece quando o don1ínio é re1noto, co1no
Cada zona está associada a um ou 1nais servidores de no- quando flits.cs.vu.nl deseja encontrar o endereço IP de
mes. Estes são hosts que mantêm o banco de dados para a cs.uchicago.edu na University of Chicago? Nesse caso, e
zona. Normahnente, uma zona terá um servidor de no1nes se não houver informações sobre o dotnínio disponíveis
primário, que recebe inforn1ações de u1n arquivo e1n seu locahnente em cache, o servidor de non1es inicia uma con-
disco, e um ou mais servidores de nomes secundários, que sulta remota, que segue o processo 111ostrado na Figura 7.7.
recebem informações do servidor de nomes primário. Para A etapa l 1nostra a consulta que é enviada ao servidor de
melhorar a confiabilidade, alguns dos servidores de nomes nomes local. Ela conté1n o no1ne de do1nínio buscado, o
podem estar localizados fora da zona. tipo (A) e a classe (IN).
O processo de pesquisa de um nome e localização de A próxin1a etapa é começar no topo da hierarquia de
um endereço é chamado de resolução de nomes. Quando nomes pedindo a um dos servidores de nomes raiz, os
um resolvedor te111 u1na consulta sobre um no1ne de domínio, quais têm infonnações sobre cada domínio de alto nível.

/ OServidor de nomes raiz


i- = (a.root-servers.net)

rS, =0 Servidor de nomes edu

D 1: noise.cs.uchicago.edu
(a.edu-servers.net)

L-0
filts.cs.vu.nl
Originador
10: 128.135.24.19 Resolvedor
local
(cs.vu.nl)
G.., =º Sehrvidor de nomes
uc 1cago

/ OServidor de nomes
1- - uchicago cs

Figura 7.7 Exemplo de um resolvedor procurando um nome remoto em dez etapas.


Capítulo 7 • A camada de aplicação 403

Isso pode ser visto na etapa 2 da Figura 7.7. Para entrar em resultado para seus servidores de nomes. Isso lhe mostrará
contato com un1 servidor raiz, cada servidor de non1es pre- a informação obtida na etapa 4 no exe1nplo anterior, e você
cisa ter informações sobre um ou mais servidores de nomes descobrirá o non1e e o endereço IP dos servidores de nomes
raiz. Essa infonnação normalmente está presente e1n u1n ar- uchicago.edu. A maioria das organizações terá vários ser-
quivo de configuração do sisten1a que é carregado no cache vidores de nomes, caso um deles fique inoperante - meia
DNS quando o servidor DNS é iniciado. Essa é simples- dúzia deles é muito con1um. Se você tem acesso a u1n siste-
mente uma lista de registros NS para a raiz e os registros A 1na UNIX, Linux ou MacOS, experimente usar o programa
correspondentes. dig para ver o que ele pode fazer. Você pode aprender muito
Existem 13 servidores de nomes raiz, de um modo sobre o DNS com seu uso. (O programa dig também está
pouco criativo cbamados a.root-servers.net a nI.root-ser- disponível para Windows, mas você pode ter que o mstalar
vers.net. Cada servidor raiz poderia ser logicamente um sozinho.)
único co1nputador. Contudo, co1no a Internet inteira depen- Embora sua finalidade seja si1nples, deve ficar claro
de dos servidores raiz, eles são co1nputadores poderosos e que o DNS é um sistema distribuído, grande e co1nplexo,
altamente replicados. A maioria dos servidores está presen- que compreende milhões de servidores de nomes que tra-
te e1n vários locais geográficos e alcançados por 111eio de balham juntos. Ele forma um elo iinportante entre os no-
roteamento anycast, e1n que um pacote é entregue para a mes de do1nínio legíveis aos hu1nanos e os endereços IP
próxüna instância de um endereço de destmo; descrevemos das máqumas. Além disso, mclui replicação e caching para
o anycast no Capítulo 5. A replicação melhora a confiabili- ganhar desempenho e confiabilidade, sendo projetado para
dade e o desempenho. ser alta1nente robusto.
O servidor de nomes raiz provavehnente não saberá Algumas aplicações precisam usar no1nes de 1nanei-
o endereço de u1na 1náquina e1n uchicago.edu, e prova- ras 1nais flexíveis, por exemplo, dando nome ao conteúdo
velmente também não conhece o servidor de nomes para e resolvendo para o endereço IP do host próxiino que tem o
uchicago.edu. Mas ele precisa conhecer o servidor de no- conteúdo. Isso se encaixa no modelo de busca e download
tnes para o domínio edu , em que cs.uchicago.edu está lo- de um filme. E' o filme que iinporta, e não o computador
calizado. Ele retorna o nome e endereço TP para a parte da que tem uma cópia dele, de modo que tudo o que é neces-
resposta na etapa 3. sário é o endereço f P de qualquer computador próximo que
O servidor de nomes local, então, contmua sua busca. tenha uma cópia do filme. As redes de entrega de conteúdo
Ele envia a consulta inteira para o servidor de nomes edu são uma forma de realizar esse 1napea1nento. Va1nos des-
(a.edu-servers.net). Esse servidor de nomes retoma um ser- crever corno elas se baseiam no DNS 1nais adíante neste
vidor de nomes para uchicago.edu. Isso é visto nas etapas 4 capítulo, na Seção 7.5.
e 5. Mais próximo agora, o servidor de nomes local envia a
consulta para o servidor de no1nes uchicago.edu (etapa 6).
Se o nome de domínio que está sendo buscado estivesse no 7.1.7 Privacidade do DNS
departamento de língua inglesa, a resposta seria encontra-
da, pois a zona uchicago.edu inclui o departamento de lín- Historicamente, as consultas e respostas do DNS não eram
gua inglesa. Mas o departa1nento de ciência da computação criptografadas. Como resultado, qualquer outro dispositivo
decidiu manter seu próprio servidor de nomes. A consulta ou bisbilhoteiro na rede (p. ex., outros dispositivos, um ad-
retorna o nome e endereço IP do servidor de nomes da ciên- 1ninistrador de sistemas, uma rede de cafeteria) poderia, de
cia da computação de uchicago.edu (etapa 7). certa n1aneira, observar o tráfego DNS de um usuário e de-
FinalJnente, o servidor de nomes local consulta o tenninar as infonnações a respeito dele. Por exemplo, uma
servidor de no1nes da ciência da co1nputação de uchica- consulta a u1u site como uchicago. edu pode mdicar que um
go.edu (etapa 8). Esse servidor é oficial para o domínio usuário estava navegando no site da University ofChicago.
cs.uchicago.edu, de modo que deve ter a resposta. Ele re- Embora essa informação possa parecer inofensiva, as pes-
toma a resposta final (etapa 9), que o servidor de nomes lo- quisas de DNS em sites co1no o webmd.com podetn indicar
cal encaminha co1no resposta parajlits.cs.vu.nl (etapa 1O). que u1n usuário estava realizando uma pesquisa médica.
As combinações de pesquisas associadas com outros dados
muitas vezes podem até revelar informações mais especí-
7.1.6 Prática com o DNS ficas, possivelmente até mesmo o site exato que o usuário
Você pode explorar esse processo usando ferramentas pa- está visitando.
drão como o programa dig que está instalado na maioria As questões de privacidade associadas às consultas
dos siste1nas UNIX. Por exemplo, digitar DNS tornaratn-se mais contenciosas ao considerar aplica-
ções e1nergentes, como a Internet das Coisas (IoT) e casas
dig ns @a.edu-servers.net cs.chicago.edu
inteligentes. Por exe1nplo, as consultas de DNS que um dis-
motivará o envio de un1a consulta para cs.uchicago.edu positivo e1nite poden1 revelar info1n1ações sobre o tipo de
ao servidor de nomes a.edu-servers.net e a impressão do dispositivo que os usuários têm em suas casas inteligentes e
404 Redes de computadores

até que ponto eles estão interagindo co1n esses dispositivos. operar os resolvedores recursivos locais. Anteriom1ente, o
Por exemplo, as consultas DNS que uma cân1era conecta- resolvedor recursivo local geralmente era operado pelo ISP
da a Internet ou um monitor de sono emitem podem iden- de um usuário; no entanto, se a resolução do DNS passar
tificar exclusivamente esse dispositivo (Apthorpe et ai., para o navegador, via DoH, os navegadores (no mo1nen-
2019). Dadas as atividades cada vez 1nais confidenciais que to, os dois mais populares são controlados por u1n único
as pessoas realizan1 em dispositivos conectados à Internet, provedor do1ninante, o Google) podem controlar quem está
de navegadores a dispositivos "inteligentes" conectados à em posição de observar o tráfego DNS. Desse 1nodo, o ope-
Internet, há um desejo cada vez maior de criptografar as rador do resolvedor recursivo local pode ver as consultas
consultas e respostas DNS. DNS do usuário e associá-las a um endereço IP; se o usuá-
Vários desenvolvimentos recentes estão prestes are- rio deseja que seu ISP ou uma grande etnpresa de publici-
modelar totalmente o DNS. O primeiro é o movimento em dade veja seu tráfego de DNS deve ser escolha sua, mas
direção à criptografia de consultas e respostas do DNS. as configurações padrão no navegador podem determinar
Várias organizações, incluindo Cloudflare e Google, ago- quem acaba vendo a maior parte desse tráfego. Atualmente,
ra oferecem aos usuários a oportunidade de direcionar seu uma grande gan1a de organizações, de ISPs a provedores de
tráfego DNS para seus próprios resolvedores recursivos conteúdo e empresas de publicidade, está tentando estabe-
locais e, além disso, oferecem suporte para transporte lecer o que está sendo chamado de resolvedores recursi-
criptografado (p. ex., TLS, HTTPS) entre o resolvedor vos confiáveis, ou TRRs (Trusted Recursive Resolvers),
stub DNS e seu resolvedor local. Em alguns casos, essas que são resolvedores recursivos locais que usatn DoT ou
organizações fazem parceria co1n fabricantes de navega- DoH para resolver consultas para os clientes. O tempo dirá
dores Web (p. ex., Mozilla) para direcionar potencialmen- como esses desenvolvimentos acabarão remodelando a ar-
te todo o tráfego DNS para esses resolvedores locais por quitetura do DNS.
padrão. Mesmo DoT e DoH não resolvem co1npletamente to-
Se todas as consultas e respostas do DNS forem troca- das as questões de privacidade relacionadas ao DNS, pois
das com provedores de nuven1 por transporte criptografado o operador do resolvedor local ainda deve ser confiável
como padrão, as implicações para o futuro da arquitetura com informações confidenciais: a saber, as consultas DNS
da Internet podem ser extrematnente significativas. Especi- e os endereços IP dos clientes que e1nitira1n essas consul-
ficamente, os provedores de serviços de Internet não terão tas. Outros aprimora1nentos recentes para DNS e DoH têm
mais a capacidade de observar as consultas DNS das redes sido propostos, incluindo DNS alheio (ou oblivious DNS)
domésticas de seus assinantes, o que foi , no passado, uma (Schmitt et ai., 2019) e DoH alheio (ou oblivious DoH)
das principais maneiras de os TSPs monitorarern essas re- (Kinnear et ai., 2019), em que o resolvedor stub criptografa
des e1n busca de infecções e malware (Antonakakis et ai., a consulta original para o resolvedor recursivo local, que
201 O). Outras funções, co1no o controle dos pais e vários por sua vez envia a consulta criptografada para u1n servi-
outros serviços que os ISPs oferecem, também depende1n ço de non1e autorizado, que pode decodificar e resolver a
do exame do tráfego DNS. consulta, mas não conhece a identidade ou o endereço IP do
Em última análise, duas questões u1n tanto ortogonais resolvedor stub que iniciou a consulta. A Figura 7.8 mostra
estão e1n jogo. A priineira é a 1nudança do DNS em direção esse relacionamento.
ao transpo1te criptografado, que quase todos concordariam A 1naioria dessas itnplementações ainda está no es-
ser uma mudança positiva (havia preocupações iniciais so- tágio inicial, na forn1a de protótipos iniciais e padrões de
bre o desempenllo, que agora já foram resolvidas). A se- rascunho sendo discutidos na IETF, no grupo de trabalho
gunda questão é mais co1nplicada: envolve que1n consegue sobre privacidade do DNS.

Pode decodificar
Vê o endereço IP a consulta, mas não
do stub, mas não sabe resolver o
a consulta. endereço 1P.

D
Cliente Resolvedor stub Resolvedor ODNS
recursivo Servidor autorizado
(Chicago)
University of Chicago

Figura 7.8 DNS alheio.


Capítulo 7 • A camada de aplicação 405

7.1.8 Disputa por nomes convencional (i.e., cartas escritas en1 papel). Outras fonnas
de comunicação pela rede, como mensagens instantâneas e
A' 1nedida que a Internet se tornou mais comercial e mais chamadas de voz sobre IP, tivera1n seu uso bastante expan-
internacional, ela també1n se tomou n1ais controversa, es- dido durante a década passada, n1aS o e-rnail continua sen-
pecialmente em questões relacionadas a nomes. Essa con- do a 1naior força da co1nunicação na lnten1et. Ele é 1nuito
trovérsia inclui a própria ICANN. Por exe1nplo, a criação usado na indústria para a cornunicação dentro da empresa,
do domínio xxx levou vários anos e processos judiciais para por exemplo, para permitir que funcionários espalhados
ser resolvida. Colocar voluntariamente conteúdo adulto em pelo inundo inteiro cooperem em projetos complexos. In-
seu próprio don1ínio é algo bom ou ruitn? (Algumas pes- felizmente, assim con10 o correio tradicional, a maior parte
soas não queriam conteúdo adulto disponível na Internet, do e-mail (cerca de 9 entre 10 tnensagens) é lixo ou spam.
enquanto outras queriam colocar tudo em um domínio, para Embora os sistemas estejam preparados para remover gran-
que os filtros pudessem facilmente encontrá-lo e bloqueá- de parte desse lixo, muita coisa ainda passa, e existem estu-
-lo das crianças.) Alguns dos don1inios se auto-organiza1n, dos em andamento o tempo todo (p. ex., Dan et ai., 2019 e
enquanto outros tê1n restrições sobre quem pode obter um Zhang et ai., 2019).
non1e, conforme observado na Figura 7.8. Mas quais restri-
Co1no a 1naioria das outras fonnas de co1nunicação,
ções são apropriadas? Considere o domínio pro, por exem-
o correio eletrônico desenvolveu suas próprias convenções
plo. Ele é para profissionais qualificados. Mas quem, exata-
e estilos. E1n particular, é muito informal e tem baixa li-
mente, é u1n profissional? Médicos e advogados certamente
mitação de uso. Pessoas que nunca sonharia1n telefonar ou
são profissionais. Mas e quanto a fotógrafos autôno1nos,
mesmo escrever uma carta para alguén1 n1uito importante
professores de piano, 1nágicos, bo1nbeiros hidráulicos, bar-
não hesita1n ne1n u1n segundo en1 enviar uma mensagen1
beiros, exterminadores, tatuadores, mercenários e prostitu-
de e-mail escrita às pressas e se1n cuidado. Eliminando a
tas? Essas ocupações são aceitáveis? De acordo com quem?
n1aior parte das dicas associadas a cargo, idade e sexo, os
Ta1nbém há dinheiro envolvido nisso. Tuvalu (um debates por e-1uail nonnalmente focam o conteúdo, e não
pequeno país insular a meio caminho entre o Havaí e a o status. Co1n o e-mail, uma ideia brilhante de um aluno
Austrália) vendeu um arrendamento de seu domínio tv iniciante pode ter 1nais impacto do que uma ideia tola de
por 50 milhões de dólares, tudo porque o código do país é
um vice-presidente executivo.
adequado para sites de anúncios na televisão. Pratican1ente
O correio eletrônico está repleto de e]e1nentos de
todas as palavras comuns (em inglês) foratn incluídas no
jargão, como AP (a propósito), RCTR (rolando no chão
do1nínio co1n, junto com os erros de ortografia 1nais co-
de tanto rir) e EMHO (em minha humilde opinião). Mui-
muns. Experin1ente artigos do1nésticos, ani1nais, plantas,
partes do corpo, etc. A prática de registrar um domínio ape- tas pessoas também empregam pequenos símbolos ASCn
nas para devolvê-lo e vendê-lo a u1na parte interessada por chamados smileys, começando com o famoso ":-)". Esse
um preço muito mais alto ainda tem um nome, chama-se símbolo e outros c1uoticons ajudatn a transmitir o tom da
cybersquatting. Muitas empresas que se atrasaratn quando mensage1n. Eles se espalharam para outras fonnas de co-
a era da Internet começou, descobriram que seus nomes de municação resu1nidas, co1no mensagens instantâneas, nor-
domínio óbvios já haviam sido co1nprados quando tentaram malmente como emoji gráfico. Muitos smartphones têm
adquiri-los. Em geral, desde que nenhuma n1arca registrada centenas de emojis à disposição.
seja violada e nenhuma fraude esteja envolvida, os nomes Os protocolos de e-mail também evoluíram durante o
são atendidos para o primeiro que chegar. No entanto, as período de seu uso. Os primeiros sistemas de correio ele-
políticas para resolver disputas de nomes ainda estão sendo trônico consistia1n simplesn1ente em protocolos de trans-
aperfeiçoadas. ferência de arquivos, co1n a convenção de que a primeira
linha de cada n1ensagern (i.e., o arquivo) deveria conter o
endereço do destinatário. Com o passar do ten1po, o e-1nail
saiu da transferência de arquivos e muitos recursos foram
7.2 CORREIO ELETRÔNICO acrescentados, como a capacidade de enviar uma 1nensa-
gem para uma lista de destinatários. A capacidade de mul-
O correio eletrônico, ou e-mail, como é cha1nado por mui- timídia se tornou importante na década de 1990 para enviar
tos, já existe há 1nais de duas décadas. Mais rápido e 1nais mensagens com imagens e outro tipo de material não tex-
barato que o correio tradicional, o e-mail tem sido uma tual. Os programas para ler e-1nails se tornara1n muito 1nais
aplicação popular desde os primeiros dias da Internet. An- sofisticados, passando de texto para interfaces gráficas com
tes de 1990, ele era empregado principalmente nos meios o usuário e acrescentando a capacidade de os usuários aces-
acadêmicos. Durante os anos 1990, ficou conhecido para o saren1 seu correio a partir de notebooks, aonde quer que
público e1n geral e seu uso cresceu exponencialn1ente, até estivessem. Finalmente, com a prevalência do spam, os sis-
alcançar um nútnero de 1nensagens enviadas por dia imensa- temas de e-mail agora precisam prestar atenção na localiza-
mente maior que o número de cartas remetidas pelo correio ção e ren1oção de e-mail indesejado.
406 Redes de computadores

Em nossa descrição de e-n1ail, vamos focar o modo o e-mail pelo siste1na do remetente ao destinatário com o
con10 as mensagens são movidas entre os usuários, em vez SMTP (Sin1ple Mail Transfer Protocol), discutido na Seção
da aparência dos programas leitores de e-1nail. Apesar dis- 7.2.4. Essa é a etapa de transferência de n1ensagem.
so, depois de descrever a arquitetura geral, va1nos começar O SMTP foi especificado originalmente como a RFC
con1 a parte do sistema de e-mail voltada para o usuário, 82 1 e revisado para se tornar a atual R:FC 5321. Ele envia
pois ela é familiar à 1naioria dos leitores. e-1nail pelas conexões e informa de volta o status de entre-
ga e quaisquer en·os. Existem várias aplicações em que a
confirmação da entrega é importante e pode ainda ter sig-
7.2.1 Arquitetura e serviços nificado legal ("Bem, rneritíssimo, meu sistema de e-mail
Nesta seção, apresentaremos u1na visão geral de como os não é 1nuito confiável, e creio que a intimação eletrônica se
sistemas de e-mail estão organizados e o que eles podem perdeu em algum lugar").
fazer. A arquitetura do sistema de e-mail aparece na Figura Os agentes de transferência de n1ensagem também iin-
7.9. Ela consiste em dois tipos de subsistemas: os agentes plementa1n listas de correspondência, em que uma cópia
do usuário, que permitem que as pessoas leia1n e enviem idêntica de uma mensagem é entregue a todos em uma lis-
mensagens, e os agentes de transferência de mensagens, ta de endereços de e-mail. Outros recursos avançados são
que deslocam as mensagens da origem até o destino. Tam- as cópias carbono (cc), as cópias carbono ocultas (eco), as
bém vamos nos referir aos agentes de transferência de men- mensagens de alta prioridade, as mensagens secretas (i.e.,
sagens infonnalmente como servidores de correio. criptografadas), os destinatários alternativos caso o destina-
O agente do usuário é wn progra1na que oferece uma tário principal não esteja disponível no momento, e ainda a
interface gráfica, ou às vezes uma interface baseada em possibilidade de assistentes lerem e responderem a con·es-
texto e comando, que permite aos usuários interagir com o pondência de seus chefes.
sistema de e-mail. Ele inclui um n1eio de redigir 1nensagens Unindo os agentes do usuário e os agentes de transfe-
e respostas às 1nensagens, exibir n1ensagens que chegam e rência de 1nensagem estão os conceitos de caixas de correio
organizar mensagens por arquivan1ento, pesquisa e descar- e u1n formato padrão para mensagens de e-mail. As caixas
te. O ato de enviar novas mensagens ao sistema de e-mail de correio armazenam o e-1nail recebido para um usuário.
para entrega é cha1nado de submissão de e-mail Elas são mantidas pelos servidores de e-mail. Os agentes do
Parte do processamento do agente do usuário pode ser usuário simples1nente apresenta1n aos usuários uma visão
feita auto1naticamente, antecipando o que o usuário dese- do conteúdo de suas caixas de correio. Para isso, os agentes
ja. Por exemplo, o e-mail que chega pode ser filtrado para enviam aos servidores de correio comandos para manipu-
extrair ou din1inuir a prioridade de mensagens que prova- lar as caixas de con·eio, inspecionar seu conteúdo, excluir
velmente são span1. Alguns agentes do usuário incluem re- mensagens, e assim por diante. A recuperação do e-1nail é
cursos avançados, con10 a criação de respostas de e-n1ail a remessa final (etapa 3) na Figura 7.9. Com essa arqui-
automáticas ("Estou de férias e entrarei en1 contato assüu tetura, um usuário pode lançar mão de diferentes agentes
que retornar"). Um agente do usuário é executado nomes- do usuário em vários computadores para acessar uma única
mo computador em que um usuário lê seu e-mail. Esse é caixa de correio.
apenas outro programa e pode ser executado em apenas O e-1nail é enviado entre os agentes de transferência
parte do te1npo. de 1nensage1n em u1n formato padrão. O fonnato original,
Os agentes de transferência de mensage1u normal- a RFC 822, foi revisado para a atual RFC 5322 e estendido
mente são processos do sistema. Eles trabalham em se- com suporte para conteúdo de multimídia e texto internacio-
gundo plano nas tnáquinas servidoras de e-mail e sempre nal. Esse esquema é chamado MIME. No entanto, as pessoas
estão disponíveis. Seu trabalho é mover auto1naticamente ainda se referem ao e-mail na Internet co1no RFC 822.

E-mail)

1
n
~
---12J- r:.. =º Agentede
----M~--- ..,=-=>
SMTP
Agente do usuário transferência
de mensagem Agente do
transmissor de mensagem
usuário
1: Envio 2: Transferência 3: Entrega destinatário
de correio de mensagem final

Figura 7.9 Arquitetura do sistema de e-mail.


Capítulo 7 • A camada de aplicação 407

A ideia principal no formato da mensagem é a distin- variar bastante e1n sua aparência. A maio1ia dos agentes do
ção entre o envelope e seu conteúdo. O envelope encapsula usuário possui uma interface gráfica baseada em menu ou
a mensagem. Além disso, ele contém toda a informação ne- ícones, que exige um mouse ou uma interface de toque em
cessária para transportar a mensagem, como o endereço de dispositivos móveis menores. Agentes do usuário mais an-
destino, a prioridade e o nível de segurança, todos distintos tigos, co1no Elm, mb e Pine, oferecem interfaces baseadas
da mensagem proprian1ente dita. Os agentes de transporte en1 texto e espera1n co1nandos via caracteres do teclado.
de mensagem utilizam o envelope para roteamento, assim Funcionalmente, estes são os mesmos, pelo n1enos para
como é feito pelo correio tradicional. mensagens de texto.
A mensagem dentro do envelope consiste em duas Os elementos típicos de uma interface de agente do
partes separadas: o cabeçalho e o corpo. O cabeçalho con- usuário aparecem na Figura 7.11. Seu leitor de e-mail pro-
tém iofonnações de controle para os agentes do usuário. vavelmente será muito mais elegante, mas provavelmente
O corpo é inteiramente endereçado para o destinatário hu- tem funções equivalentes. Quando um agente do usuário
mano. Nenhum dos agentes se importa muito co1n isso. for iniciado, ele normahnente apresentará u1n resu1no das
Os envelopes e as n1ensagens são ilustradas na Figura 7.1 O. 1nensagens na caixa de correio do usuário. Em geral, o resu-
Vamos estudar as partes dessa arquitetura co1n mais 1no terá uma linha para cada 1nensage1n em alguma ordem.
detalhes, examinando as etapas envolvidas no envio de Ele destaca os principais campos da mensage1n, que são
e-1nail de um usuário para outro. Essa jornada co1neça com extraídos do envelope ou cabeçalho da nlensagem.
o agente do usuário. Sete linhas de resumo aparecem no exemplo da
Figura 7.11. As linhas usam os campos From (de), Subject
(assunto) e Received (recebida em), nesta ordem, para mos-
7.2.2 O agente do usuário trar quem enviou a mensage1n, qual é o assunto e quando
Um agente do usuário é um prograrna (às vezes chamado ela foi recebida. Toda a inforrnação é formatada de uma
leitor de e-mail) que aceita uma série de comandos para maneira visuahnente atraente, e1n vez de exibir o conteúdo
redigir, receber e responder as mensagens, bem co1no literal dos ca1npos da mensagem, porém ela é baseada nos
manipular caixas de correio. Existen1 muitos agentes do campos da mensagem. Assim, as pessoas que não incluírem
usuário populares, incluindo Gmail, do Google, Microsoft um ca1npo Subject gerahnente descobrirão que as respostas
Outlook, Mozilla Thunderbird e Apple Mail. Eles podem aos seus e-mails costuma1n não ter a prioridade 1nais alta.

ffiJ T
4
Q)
a.
Nome: Sr. Daniel Vieira
Rua: Rua Niterói, 849
o Cidade: Rio das Ostras
Sr. Daniel Vieira Q) Estado: RJ Envelope
Rua Niterói, 849 >
e CEP: 28895-547
Rio das Ostras, RJ 28895-547 w
Prioridade: Urgente
i Criptografia: Nenhuma

United Gizmo
t
o
De: United Gizmo
.s::. Endereço: 180 Main St.
180 Main St «J Local: Boston, MA 02120
Boston, MA 02120 o-
Q)
.o Data: 14 de fevereiro de 2021
14 de fevereiro de 2021 «J
Assunto: Fatura 1081
ü
Assunto: Fatura 1081 ~
Prezado Sr. Vieira, Prezado Sr. Vieira,
Nossos registros de Nossos registros de
computador mostram que computador mostram que Mensagem
você ainda não pagou a você ainda não pagou a
fatura de $ 0,00. Por favor, o fatura de$ 0,00. Por favor,
envie-nos um cheque de a.
..... envie-nos um cheque de
o
$ 0,00 assim que possível. ü $ 0,00 assim que possível.

Atenciosamente Atenciosamente,
United Gizmo United Gizmo

(a) (b)

Figura 7.10 Envelopes e mensagens. (a) Correio convencional. (b) Correio eletrônico.
408 Redes de computadores

Pastas de mensagem ' f Resumo da mensagem

Mail Folders From Subject Received


All items trudy 121 Not all T rudys are nasty Today
lnbox Andy # Material on RFID privacy Today
Networks djw 1 Have you seen this? Mar4
Travei AmyN. Wong Request for information Mar3
Junk Mail guido Re: Paper acceptance Mar3
lazowska More on that Mar2
Olivia # 1have an idea Mar2

Search 0... A. Student Graduate studies? Mar 1


Dear Professor,
1recently completed my undergraduate studies with
_) distinction at an excellent university. 1will be visiting your
Busca da caixa de correio
\___ Me.~s.agem
Figura 7.11 Elementos típicos da interface do agente do usuário.

Muitos outros campos ou indicações são possíveis. O arquivamento também pode ser feito automatica-
Os ícones ao lado dos assuntos da mensagem na Figura 7 .11 mente pelo agente do usuário, antes mesmo que ele leia
poderiam indicar, por exe1nplo, e-mail não lido (o envelo- as rnensagens. Urn exemplo comun1 é que os campos e o
pe), material anexado (o clipe de papel) e e-mail importan- conteúdo das rnensagens sejam inspecionados e usados,
te, pelo menos confonne julgado pelo emissor (o ponto de junto com o feedback do usuário sobre mensagens ante-
exclamação). riores, para determinar se uma mensagem provavelmente é
Muitas ordens de classificação também são possíveis. um spa1n. Muitos ISPs e e1npresas executa1n software que
A n1ais comum é ordenar as mensagens co1n base na hora rotula o e-mail como importante ou spam, para que o agen-
em que foram recebidas, pri1neiro as mais recentes, com te do usuário possa arquivá-lo na caixa de correio corres-
algo indicando se a 1nensagen1 é nova ou já foi lida pelo pondente. O ISP e a ernpresa têm a vantagem de verificar
usuário. Os can1pos no resu1no e a ordem de classificação o e-mail de muitos usuários e pode haver listas de divulga-
podem ser personalizados pelo usuário, de acordo com suas dores de spam conhecidos. Se centenas de usuários acabam
de receber uma mensagem semelhante, ela provavelmente
preferências.
é um spam. Classificando previamente o e-mail que chega
Os agentes do usuário também precisa1n ser capazes con10 "provaveltnente legítimo" e "provavebnente spam'',
de exibir as mensagens que chegam confonne a necessida- o agente do usuário pode evitar muito trabalho por parte
de, de 1nodo que as pessoas possa1n ler seu e-mail. Quase dos usuários, separando o 1naterial desejado do lixo.
sempre uma pequena prévia de urna mensagern é forneci-
E o spam 1nais popular? Ele é gerado por coleções
da, como na Figura 7. 11, para ajudar os usuários a decidir de co1nputadores infectados, chamados botnets, e seu
quando vão ler mais e se vão pressionar o botão de SPAM. conteúdo depende de onde você tnora. Diplo1nas falsos são
As prévias podem usar pequenos ícones ou imagens para comuns na Ásia, e drogas baratas e outras ofertas de produ-
descrever o conteúdo da mensagen1. Outro tipo de proces- tos duvidosos são comuns nos Estados Unidos. E-mails de
samento da apresentação inclui reformatar as mensagens contas bancárias não reivindicadas na Nigéria ainda estão
para que caibam na tela e traduzir ou converter o conteúdo circulando. Pílulas para aumentar várias partes do corpo
para formatos mais convenientes (p. ex., voz digitalizada são comuns em todos os lugares.
para texto reconhecido). Outras regras de arquiva1nento podem ser elaboradas
Depois que a mensage1n tiver sido lida, o usuário de- pelos usuários, e cada uma especifica uma condição e uma
cide o que fazer com ela, e isso se chama disposição da ação. Por exernplo, urna regra poderia dizer que qualquer
mensagem. As opções incluem excluir a mensagem, en- mensage1n recebida do chefe vai para tuna pasta para lei-
viar urna resposta, enca1ninbar a outro usuário e mantê-la tura imediata e qualquer mensagem de uma lista de corres-
para referência futura. A 1naioria dos agentes do usuário pondência em particular vai para outra pasta, para ser lida
pode gerenciar uma caixa de con·eio para o e-mail que che- rnais tarde. Várias pastas aparecen1 na Figura 7.11. As mais
ga corn várias pastas para salvá-lo. As pastas permitem que importantes são lnbox (ou caixa de entrada), para o e-mail
o usuário salve rnensagens de acordo com o rernetente, as- que chega e não é arquivado em outro lugar, e Junk Mail
sunto ou outra categoria. (lixo), para mensagens que são consideradas spam.
Capítulo 7 • A camada de aplicação 409

7.2.3 Formatos de mensagens mas é u1na expressão consagrada pelo uso. O ca1npo Cco:
(cópia carbono oculta) é semelhante ao campo Cc:, exceto
Agora passaren1os da interface do usuário para o formato pelo fato de essa linha ser eliminada de todas as cópias en-
das próprias mensagens de e-1nail. As n1ensagens envia- viadas aos destinatários principais e secundários. Esse re-
das pelo agente do usuário precisam ser colocadas em um curso permite que as pessoas enviem cópias a terceiros sem
formato padrão, para ser u·atadas pelos agentes de transfe- que os destinatários principais e secundários saibam disso.
rência de mensagem. Prin1eiro, estudare1nos as 1nensagens Os dois campos seguintes, Fro1n: e Sender: , infom1am
básicas em código ASCII utilizando a RFC 5322, que é a quen1 escreveu e enviou a mensage111, respectiva1nente. Es-
última revisão do formato de mensagem original da Inter- ses dois ca1npos não precisa1n ter valores iguais. Por exem-
net, descrito na RFC 822 e suas muitas atualizações. De- plo, um executivo pode escrever uma mensagem, mas na
pois disso, veremos as extensões de multimídia aplicadas verdade seu assistente é quem a acaba transmitindo. Nesse
ao forn1ato básico. caso, o executivo seria listado no ca1npo Frorn: e o assis-
tente no campo Sender:. O campo Fro1n: é obrigatório, ao
RFC 5322 - Oformato de mensagem da Internet passo que Sender: pode ser omitido se for igual a Frorn:.
Esses campos são necessários caso a mensagem não possa
As 1nensagens consiste1n em um envelope básico (descrito
con10 parte do SMTP na RFC 5321 ), e1n alguns campos de ser entregue e tenha de ser devolvida ao remetente.
cabeçalho, em uma linha e1n branco e no corpo da mensa- Uma linha contendo Received: é incluída por agente
gem. Cada campo do cabeçalho consiste (logicamente) em de transferência de mensagens ao longo do percurso. Ela
uma única linha de texto ASCIT contendo o no1ne do can1- contém a identidade do agente, a data e a hora e1n que a
po, un1 sinal de dois pontos e, para a maioria dos ca1npos, mensagem foi recebida e outras infom1ações que podem ser
um valor. A RFC 822 original foi elaborada há décadas e usadas para localização de bugs no sistema de roteamento.
não distinguia claramente os campos do envelope dos cam- O catnpo Return-Path: é incluído pelo último agen-
pos do cabeçalho. Embora ela tenha sido revista na RFC te de transferência de mensagens e seu objetivo é informar
5322, não foi possível refazê-la completamente, devido à como voltar ao remetente. E1n teoria, essas informações
sua utilização difundida. Em uso nonnal, o agente do usuá- podem ser obtidas a partir de todos os cabeçalhos Recei-
rio cria uma mensagem e a repassa ao agente de transfe- ved: (exceto pelo nome da caixa de correio do re1netente),
rência de mensagens, que, em seguida, emprega alguns dos porém ele rara1nente é preenchido dessa forma e, em geral,
campos de cabeçalho para criar o envelope real, em uma contém apenas o endereço do remetente.
mistura n1eio antiquada de mensagem e envelope. Além dos campos da Figura 7.12, as 1nensagens RFC
Os principais campos do cabeçalho relacionados 5322 també1n podem conter uma variedade de campos de
ao transporte de mensagens são listados na Figura 7.12. cabeçalho utilizados pelos agentes do usuário ou pelos des-
O campo To: indica o endereço de e-mail do destinatá- tinatários. Os mais comuns estão listados na Figura 7.13.
rio principal. Também é possível ter vários destinatários. A maior parte deles é autoexplicativa e não entraremos em
O can1po Cc: contém os endereços dos destinatários secun- detalhes sobre todos eles.
' vezes o campo Reply-To: é usado quando nem a
As
dários (se houver). E1n tennos de entrega, não há distinção
entre os destinatários principal e secundário. Trata-se de pessoa que redigiu netn a que enviou a mensagern quer ver
uma diferença inteiramente psicológica, importante apenas a resposta. Por exe1nplo, u1n gerente de marketing escreve
para as pessoas envolvidas, 1nas que não afeta o sistema de uma mensagem apresentando um novo produto aos clien-
co1Teio. O tenno Cc: (cópia carbono) já está meio ultra- tes. A mensagem é enviada pelo assistente, mas o campo
passado, pois os computadores não utilizan1 papel-carbono, Reply-To: lista o chefe do departamento de vendas, que

Cabeçalho Significado
To: O(s) endereço(s) de e-mail do(s) destinatário(s) principal(is)

Cc: O(s) endereço(s) de e-mail do(s) destinatário(s) secundário(s)


Cco: O(s) endereço(s) de e-mail para cópias carbono ocultas
From: A(s) pessoa(s) que criou(aram) a mensagem
Sender: O endereço de e-mail do remetente
Received: A linha incluída por cada agente de transferência ao longo da rota
Return-Path: Pode ser usado para identifi car um caminho de volta ao remetente

Figura 7.12 Campos do cabeçalho da RFC 5322 relacionados ao transporte de mensagem.


410 Redes de computadores

Cabeçalho Significado
Date: A data e a hora em que a mensagem foi enviada
Reply-To: O endereço de e-mail para onde as respostas devem ser enviadas
Message-ld: O número exclusivo que será usado para fazer referência a essa mensagem posteriormente
ln- Reply-To: Message- ld da mensagem original correspondente a essa resposta
References: Outras Message-lds relevantes
Keywords: Palavras-chave escolhidas pelo usuário
Subject: Pequeno resumo da mensagem apresentado em apenas uma linha

Figura 7.13 Alguns campos usados no cabeçalho de mensagem RFC 5322.

pode responder às perguntas e receber pedidos do produto. que não contê1n textos (p. ex., áudio, in1agens e docun1en-
Esse ca1npo també1n é útil quando o ren1etente tem duas tos e programas binários).
contas de correio eletrônico e deseja que a resposta vá para A solução foi o desenvolvimento do MIME (Multi-
a outra conta. purpose Internet Mail Extensions), que está sendo am-
O ca1npo Message-Id: é um nún1ero gerado automa- plamente utilizado para mensagens de e-1nail enviadas pela
ticamente, que é usado para vincular as mensagens (p. ex., Internet, bem con10 para descrever o conteúdo para outras
quando usado no campo ln-Reply-To:) e para impedir a en- aplicações, con10 a navegação Web. O MIME é descrito
trega duplicada. na RFC 2045 e nas seguintes, bem como nas RFCs 4288
O documento RFC 5322 1nenciona explicitamen- e4289.
te que os usuários têm permissão de criar novos cabeça- A ideia básica do MIME é continuar a usar o forrna-
lhos para seu próprio uso. Por convenção, desde a RFC to da RFC 822, mas incluir uma estrutura para o corpo da
. '
1nensagem e definir regras para aquelas que não utilizam
822 esses cabeçalhos con1eçam com a string X-. E certo
que nenhum cabeçalho utilizará nomes co1neçando com o código ASCII. Por manterem o fonnato da RFC 822, as
X- no futuro, a fim de evitar conflitos entre cabeçalhos mensagens no padrão MIME poden1 ser enviadas através
oficiais e particulares. Às vezes, alguns estudantes preten- da utilização dos agentes e protocolos de e-1nail existentes
siosos criam campos como X-Fruta-do-Dia: ou X-Doen- (com base na RFC 821 na época, e na RFC 5321 agora).
ca-da-Seniana:, que são válidos, mas nem sempre 1nuito Só é necessário alterar os programas de envio e recebiinen-
esclarecedores. to, o que os próprios usuários poden1 fazer.
Depois dos cabeçalhos ven1 o corpo da mensagem. O MIME define cinco novos cabeçalhos de mensa-
Os usuários coloca1n o que desejarem aqui. Algu1nas pes- gens, como mostra a Figura 7.14. O prrn1eiro deles rnrorma
soas encerra1n suas mensagens com assinaturas elaboradas, ao agente do usuário receptor da 1nensagem não apenas que
incluindo citações de autores ou personalidades, declara- ele está lidando com uma n1ensagem MlME, co1no também
ções políticas e ressalvas de todos os tipos (p. ex., a E1npre- a versão do padrão MIME que está sendo usada. Presun1e-
sa ABC não é responsável por minhas opiniões; na verdade, -se que qualquer mensagem que não contenha um cabeça-
ela nen1 sequer as compreende). lho MIME-Version: seja ui.na mensagetn de texto simples
escrita em linguagern comum (pelo menos u1na usando
apenas caracteres ASCII) e processada como tal.
MIME - Multi purpose Internet Mail Extensions
O cabeçalho Content-Description: é wna string ASCII
Nos primórdios da ARPANET, o correio eletrônico con- que infom1a o conteúdo da mensagem. Esse cabeçalho é
sistia exclusivamente em mensagens de texto escritas em necessário para que o destinatário saiba se vale a pena de-
linguagem comum e expressas e1n código ASCII. Para esse codificar e ler a mensagen1. Se a string mformar "Foto do
ambiente, a RFC 822 fez tudo o que era preciso: especifi- ratinho da Bárbara" e a pessoa que receber a correspondên-
cou os cabeçalhos, mas deixou o conteúdo inteira1nente a cia não for 1nuito chegada a esses bichinhos, provavelmente
cargo dos usuários. Nos anos 1990, o uso mundial da Inter- a mensagem será descartada em vez de ser decodificada em
net e a demanda por conteúdo mais rico através do sistema uma fotografia colorida de alta resolução.
de e-mail mostrou que isso não era mais adequado. Os pro- O cabeçalho Content-Jd: identifica o conteúdo. Ele
blemas incluíam o envio e o recebimento de mensagens em utiliza o mes1no formato do cabeçalho Message-ld.
idio1nas co1n acentos (p. ex., português e alemão), em alfa- Content-Transjer-Encoding: inforrna co1no o corpo
betos não latinos (p. ex., hebraico e russo), e1n idiomas sem da nlensagen1 está codificado para transmissão através da
alfabetos (p. ex., chinês e japonês), bem como mensagens rede. Um problen1a importante na época e1n que o MIME
Capítulo 7 • A camada de aplicação 411

Cabeçalho Significado
MIME-Version: Identifica a versão do MIME
Content-Description: String inteligível que identifica o conteúdo da mensagem
Content-ld: Identificador exclusivo
Content-Transfer- Encoding: Como o corpo da mensagem é codificado para transmissão
Content-Type: Tipo e formato do conteúdo

Figura 7.14 Cabeçalhos de mensagem acrescentados pelo MIME.

foi desenvolvido foi que os protocolos de transferência de cursor e avanço de linha são ignorados; portanto, podem ser
e-mail (SMTP) esperavam mensagens ASCII em que ne- inseridos à vontade para 1nanter as linhas curtas. Os textos
nhun1a linha era superior a mil caracteres. Os caracteres binários podem ser enviados co1n segurança usando esse
ASCII utilizam 7 bits de cada byte com 8 bits. Os dados esquema, embora de modo ineficiente. Essa codificação foi
binários, como programas executáveis e imagens, utilizam muito popular antes que os servidores de e-mail capazes de
todos os 8 bits de cada byte, assim como conjuntos de ca- trabalhar com binário fossem implementados. Isso ainda é
racteres estendidos. Não havia garantia de que esses dados visto de modo geral.
seriam transferidos com segurança. Logo, era preciso al- O último cabeçalho mostrado na Figura 7. 14 é na
gum método de transportar dados binários que os tornas- realidade o mais interessante. Ele especifica a natureza do
sem parecidos com mensagens de e-mail ASCII comuns. corpo da mensagem e tem tido um i1npacto até 1nesmo fora
As extensões ao SMTP desde o desenvolvimento do MIME do e-mail. Por exemplo, o conteúdo baixado da Web é ro-
permiten1 que dados binários de 8 bits seja1n transferidos, tulado com tipos MIME, de 1nodo que o navegador sabe
embora até hoje os dados binários nem sempre possam como apresentá-lo. O mes1no acontece co1n o streatning de
passar pelo sistema de e-mail corretamente se não forem mídia e transportes em tempo real, como VoJP.
decodificados. Inicialmente, foram defwidos sete tipos MIME na
O MIME oferece cinco esquemas de codificação de RFC 1521 , e cada um deles te1n um ou 1nais subtipos.
transferência, mais um escape para novos esque1nas - caso O tipo e o subtipo são separados por uma barra, como em:
seja necessário. O esquema mais simples é de mensa- "Content-Type: video/n1peg". Desde então, n1ais de 2.700
gens de texto ASCII. Os caracteres ASCII utilizam 7 bits subtipos foram acrescentados, junto co1n dois novos tipos
e podem ser transportados diretamente pelo protocolo de (fonte e modelo). Outras entradas estão sendo acrescenta-
e-mail, desde que nenhuma linha ultrapasse mil caracteres. das o te1npo todo à 1nedida que novos tipos de conteúdo são
O esque1na seguinte 1nais sin1ples é igual ao anterior, desenvolvidos. A lista de tipos e subtipos especificados é
mas utiliza caracteres de 8 bits, isto é, são pennitidos todos mantida on-line pela IANAem ww111.iana.org/assignments/
os valores de Oa 255, inclusive. As Lnensagens que utilizam media-types. Os tipos, juntamente com exemplos de subti-
a codificação de 8 bits també1n devem aderir ao tamanho pos mais utilizados, aparece1n na Figura 7.15.
máximo de linha padrão. Os tipos MIME da Figura 7.15 deve1n ser autoexplica-
Depois existem as mensagens que utilizam a codifica- tivos, com exceção talvez do último. Ele permite o uso de
ção binária. Essas mensagens são arquivos binários que não vários anexos em uma mensagem, cada um possuindo um
só utilizam todos os 8 bits, como tan1bén1 não respeitam o tipo MIME diferente.
lin1ite de linha de 1nil caracteres. Os programas executáveis
estão nessa categoria. Hoje, os servidores de e-1nail podem
negociar para enviar dados e1n codificação binária (ou em
7.2.4 Transferência de mensagens
8 bits), passando para ASCII se os dois lados não aceitarem Agora que descrevemos os agentes do usuário e as men-
a extensão. sagens de e-mail, esta1nos prontos para examinar como os
A codificação ASCII de dados binários é chamada de agentes de transferência de 1nensagens as repassam do re-
codificação base64. Nesse esquema, grupos de 24 bits são metente ao destinatário. A transferência de e-n1ail é feita
djvididos em até quatro unidades de 6 bits, com cada unida- com o protocolo SMTP.
de sendo enviada como um caractere ASCII válido. A codj- A 1naneira mais sin1ples de mover mensagens é es-
ficação é "A" para O, "B" para 1, e assim por diante, seguida tabelecer uma conexão de transporte entre a máquina de
pelas 26 letras minúsculas, pelos dez dígitos e concluindo origem, e a de destino e, em seguida, transferir a 1nensa-
+ e / para 62 e 63, respectivan1ente. As sequências = e = gem. E assi1n que o SMTP funcionava originaln1ente. Com
são usadas para indicar que o último grupo continha apenas o passar do tempo, porém, dois usos diversos foram esta-
8 ou 16 bits, respectivamente. Os caracteres de retomo de belecidos. O primeiro é o envio de correio, a etapa 1 na
412 Redes de computadores

Tipo Subtipos de exemplo Descrição


text plain, html, xml, css Texto em vários formatos
1mage gif, jpeg, ti ff Imagens
audio basic, mpeg, mp4 Sons
video mpeg, mp4, quicktime Filmes
font fontes otf, ttf para composição tipográfica Fontes
model vrml Modelo 30
application octect-stream, pdf, javascript, zip Dados produzidos por aplicações
message http, RFC 822 Mensagem encapsulada
multipart mixed, alternative, parallel, digest Combinação de vários tipos

Figura 7.15 Tipos de conteúdo MIME e exemplos de subtipos.

arquitetura de e-mail da Figura 7.9. Esse é o n1eio pelo qual linha de texto que fornece sua identidade e informa que
os agentes do usuário enviam mensagens para o sistema de está preparado para receber 1nensagens. Caso não esteja, o
e-mail para entrega. O segundo uso é para transferir men- cliente encerrará a conexão e tentará outra vez mais tarde.
sagens entre agentes de transferência de 1nensagem (etapa Se o servidor estiver disposto a aceitar e-mail, o clien-
2 na Figura 7.9). Essa sequência entrega o e-1nail do agente te anunciará de quen1 veio a mensagem e para quem ela está
de transferência de 1nensagem emissor ao receptor, e1n tun indo. Se esse receptor existir no local de destino, o servidor
hop. A entrega final é realizada con1 diferentes protocolos, dará ao cliente o sinal para enviar a mensagern. Em segui-
os quais descreverernos na próxima seção. da, o cliente a enviará e o servidor a confirmará. Não são
Nesta seção, vamos descrever os fundamentos do pro- necessários checksu1ns, porque o TCP fon1ece um fluxo de
tocolo SMTP e seu mecanismo de extensão. Depois, discu- bytes confiável. Se houver n1ais 1nensagens, elas serão en-
tiremos corno ele é usado de rnodo diferente para envio de viadas. Quando todo o e-mail tiver sido trocado em ambos
correio e transferência de mensage1n. os sentidos, a conexão será encerrada. Um exemplo do diá-
logo pode ser visto na Figura 7.16. As linhas enviadas pelo
SMTP (Simple Mail Transfer Protocol) e extensões cliente (o transmissor) são marcadas como C: . As linhas
enviadas pelo servidor (o receptor) são marcadas como S:.
Dentro da Internet, as mensagens de e-mail são entregues
O priineiro comando enviado pelo cliente é HELO.
quando a máquina de origem estabelece uma conexão TCP
con1 a porta 25 da 1náquina de destino. Um servidor de cor- Entre as várias abreviações de quatro caracteres para
HELLO, essa ten1 muito rnais vantagens do que sua maior
reio que se co1nunica em SMTP (Simple Mail Transfer
Protocol) permanece na escuta nessa porta. Esse servidor concorrente. A razão para que todos os comandos tivessem
quatro caracteres se perdeu no te1npo.
aceita as conexões recebidas, sujeitas a algumas verifi-
cações de segurança, e tan1bé1n nlensagens para entrega. Na Figura 7.16, a mensagem é enviada para um únjco
Se u1na mensagem não puder ser entregue, um relatório de destinatário; portanto, apenas um comando RCPT é usado.
erros contendo a primeira parte da mensagern não entregue Esses comandos são usados para enviar uma única mensa-
será retornado ao remetente. gem a vários destinatários. Cada um deles é confirmado ou
O SM.TP é uni protocolo ASCII muito simples. Isso rejeitado individuahnente. Ainda que alguns destinatários
não é urn ponto fraco, 1nas u1n recurso. O uso de texto sejam rejeitados (por não existire1n no destino), a mensa-
ASCII torna os protocolos fáceis de desenvolver, testar e gem poderá ser enviada aos outros.
depurar. Eles podem ser testados enviando comandos ma- Por fim, apesar de a sintaxe dos co1nandos de quatro
nualmente, e os registros das mensagens são fáceis de ler. caracteres enviados pelo cliente ser especificada de forma
A rnaioria dos protocolos da Internet ern nível de aplicação bastante rígida, a sintaxe das respostas é mais flexível. Ape-
agora trabalha dessa 1naneira (p. ex., HTTP). nas o código numérico é importante. Cada implementação
Vamos exarninar uma transferência de mensagem pode incluir uma string qualquer depois do código.
simples entre servidores de correio que entregam uma O SMTP básico funciona bern, mas é litnitado em vá-
mensagem. Após estabelecer a conexão TCP com a porta rios aspectos. Ele não inclui autenticação. Isso significa que o
25, a máquina de transmissão, operando como cliente, es- co1nando FROM no exe1nplo poderia dar qualquer endereço
pera que a 1náquina de recepção, operando como servidor, de trans1nissor que ele quisesse. Isso é muito útil para enviar
comunique-se primeiro. O servidor começa enviando uma spam. Outra limitação é que o SMTP transfere mensagens
Capítulo 7 • A camada de aplicação 413

S: 220 ee.uwa.edu.au SMTP service ready


C: HELO abcd.com
S: 250 cs.uchicago.edu says hello to ee.uwa.edu.au
C: MAIL FROM: <alice@cs.uchicago.edu>
S: 250 sender ok
C: RCPT TO: <bob@ee.uwa.edu.au>
S: 250 recipient ok
C: DATA
S: 354 Send mail; end with "." on a line by itself
C: From: alice@cs.uchicago.edu
C: To: bob@ee.uwa.edu.au
C: MIME-Version: 1.0
C: Message-ld: <0704760941.AA00747@ee.uwa.edu.au>
C: Content-Type: multipart/alternative; boundary = qwertyuiopasdfghjklzxcvbnm
C: Subject: Earth orbits sun integral number of times
C:
C: This is the preamble. The user agent ignores it. Have a nice day.
C:
C: --qwertyuiopasdfghjklzxcvbnm
C: Content-Type: text/html
C:
C: <p>Happy birthday to you
C: Happy birthday to you
C: Happy birthday dear <bold> Bob </bold>
C: Happy birthday to you
C:
C: --qwertyuiopasdfghjklzxcvbnm
C: Content-Type: message/external-body;
C: access-type = "anon-ftp";
C: site = "bicycle.cs.uchicago.edu";
C: directory = "pub";
C: name = "birthday.snd"
C:
C: content-type: audio/basic
C: content-transfer-encoding: base64
C: --qwertyuiopasdfghjklzxcvbnm
C: .
S: 250 message accepted
C: QUIT
S: 221 ee.uwa.edu.au closing connection

Figura 7.16 Transferência de uma mensagem de alice@cs.uchicago.edu para bob@ee.uwa.edu.au.


ASCII, e não dados binários. E por isso que a codificação de Os clientes que desejam usar tuna extensão envia1n
transferência de conteúdo MlME base64 foi necessá1ia. Con- u1na n1ensagen1 Ef!LO e1n vez de HELO iniciahnente.
tudo, com essa codificação, a trans1nissão de con·eio usa a Se esta for rejeitada, o servidor é um SMTP comun1, e o
largura de banda de modo ineficaz, o que é um problema para cliente deverá prosseguir pelo modo nonnal. Se o EHLO
mensagens grandes. U1na terceira limitação é que o SMTP for aceito, o servidor responde com as extensões que ele
envia 1nensagens às claras. Ele não tem criptografia para for- aceita, e o cliente pode usar qualquer u1ua delas. Várias
necer u1na fonna de privacidade contra olhares cu1iosos. extensões co1nuns aparecen1 na Figura 7 .17, que 1nostra a
Para pennitir que esses e muitos outros problemas palavra-chave usada no mecanismo de extensão, com u1na
relacionados ao processamento da mensagem sejam resol- descrição da nova funcionalidade. Não exan1inaremos es-
vidos, o SMTP foi revisado para ter um mecanisn10 de ex- sas ex tensões co1n 1nais detalhes.
tensão - ele é uma parte obrigatória do padrão RFC 5321. Para entender melhor con10 o SMTP e alguns dos
O uso do SMTP com extensões é chamado de ESMTP outros protocolos descritos neste capítulo funcionam,
(Extended SMTP). experimente-os. Em todos os casos, vá prin1eiro até um
414 Redes de computadores

Palavra-chave Descrição
AUTH Autenticação do cliente
BINARYMIME Servidor aceita mensagens binárias
CHUNKING Servidor aceita mensagens grandes em pedaços
SIZE Verificar tamanho da mensagem antes de tentar enviar
STARTTLS Passar para transporte seguro (TLS; ver Capítulo 8)
UTF8SMTP Endereços internacionalizados

Figura 7.17 Algumas extensões SMTP.

equipa1nento conectado à Internet. E1n um sistema UNIX sempre estão conectados à Internet. Os agentes de transfe-
(ou Linux), digite em um shell: rência de correio são executados no ISP e nos servidores
telnet mail.isp.com 25
da empresa. Eles sempre estão conectados à Internet. Essa
diferença significa que um agente do usuário e1n Recife
substituindo 111ail.isp.com pelo nome DNS do servidor de pode precisar entrar em contato com seu servidor de correio
correio do seu provedor. Em um sistema Windows, talvez normal em Curitiba para enviar uma mensagem de e-1nail,
seja preciso instalar primeiro o programa telnet (ou equiva- pois o usuário está viajando.
lente) e depois iniciá-lo. Esse comando estabelecerá uma Por si só, essa comunicação remota não causa pro-
conexão telnet (i.e., TCP) para a porta 25 nessa máquina. blema algun1. É exatan1ente para isso que os protocolos
A porta 25 é a porta SMTP (veja na Figura 6.34 as portas TCP/ IP são preparados para oferecer suporte. Todavia, um
para outros protocolos comuns). Provavelmente, você obte- ISP ou tuna empresa etn geral não desejam que qualquer
rá uma resposta semelhante a esta: usuário remoto possa subn1eter 1nensagens ao seu servidor
Trying 192.30.200.66 ... de correio para ser entregue ern outro lugar. O ISP ou a em-
Connected to mail.isp.com presa não estão executando o servidor como un1 serviço pú-
Escape character is '"]'. blico. Além disso, esse tipo de repasse de correio aberto
220 mail.isp.com Smail #74 ready at Fri, 25 Sept 2020 atrai os sparnmers, pois oferece um rnodo de se passar pelo
13:26 +0200
re1netente original e, portanto, tornar a mensagem mais di-
As três primeiras li11has são do telnet, inforn1ando-lbe ficil de ser identificada corno spam.
o que está fazendo . A última linha é do servidor SMTP na Com essas considerações, o SMTP normalmente é
máquina remota, anunciando sua disposição para se comu- usado para envio de correio com a extensão AUTH. Essa
nicar com você e aceitar mensagens de e-mail. Para desco- extensão pennite que o servidor verifique as credenciais
brir que comandos ele aceita, digite: (nome de usuário e senha) do cliente para confirmar que ele
deve estar oferecendo serviço de correio.
HELP
Existem várias outras diferenças no modo como o
Desse ponto e1n diante, é possível uma sequência de SMTP é usado para envio de correio. Por exemplo, a porta
comandos como a da Figura 7.16, se o servidor estiver dis- 587 é usada em preferência à porta 25 e o servidor SMTP
posto a aceitar seu e-mail. Mas você pode ter que digitar pode verificar e corrigir o formato das mensagens enviadas
rapida1nente, uma vez que a conexão pode expirar se ficar pelo agente do usuário. Para obter mais informações sobre
inativa por 1nuito tempo. Alétn disso, nem todo servidor de o uso restrito do SMTP para envio de correio, consulte a
correio eletrônico aceitará uma conexão telnet de uma nlá- RFC 4409.
quina desconhecida a ele.
Transferência física
Envio de correio
Quando o agente de transferência de correio de saída rece-
No início, os agentes do usuário funcionavam no 1nes1no be uma 1nensagen1 do agente do usuário, ele a entrega ao
computador do agente de transferência de rnensagem. Nes- agente de transferência de correio de entrada usando SMTP.
se esquema, tudo o que é necessário para enviar uma men- Para fazer isso, o transrnissor usa o endereço de destino.
sagen1 é que o agente do usuário fale com o servidor de Considere a mensagem na Figura 7.16, endereçada para
correio local, usando o diálogo que acaba1nos de descrever. bob@ee.uwa.edu.au. Para qual servidor de correio a men-
Contudo, esse esquema não é mais o caso comum. sagem deve ser entregue?
Os agentes do usuário nonnalmente são executados Para detenninar o servidor de correio correto a con-
em notebooks, PCs domésticos e smartphones. Eles ne1n tatar, o DNS é consultado. Na seção anterior, descrevemos
Capítulo 7 • A camada de aplicação 415

con10 o DNS contém vários tipos de registros, incluindo o diferente daquela do ISP ou do servidor de correio da em-
registro MX, ou trocador de mensagens eletrônicas. Nes- presa, e co1n certeza diferente da ináquina de um provedor
se caso, uma consulta do DNS é feita aos registros MX do de correio, como o Gmail. Os usuários querem acessar seu
domínio ee.uwa.edu.au. Essa consulta retoma uma lista or- e-mail remotamente, de onde quer que estejan1. Eles que-
denada dos nomes e endereços IP de um ou mais servidores rem acessar o e-n1ail do trabalho, dos seus PCs em casa,
de correio. dos seus notebooks quando estiverern viajando e de LAN
O agente de transferência de correio de saída, em se- houses quando estiverem em, digamos assim, férias. Eles
guida, faz uma conexão TCP cotn a porta 25 do endereço também querem trabalhar off-line, depois reconectar para
IP do servidor de correio para alcançar o agente de trans- receber o e-mail que chega e enviar e-mail. Além do n1ais,
ferência de co1Teio de entrada, e usa SMTP para repassar a cada usuário pode executar vários agentes do usuário, de-
mensagem. O agente de transferência de correio de entrada pendendo de qual computador é conveniente para usar no
colocará o e-mail para o usuário bob na caixa de correio momento. Vários agentes do usuário podem ainda estar ro-
correta para Bob lê-lo posteriormente. Essa etapa de en- dando ao mesmo tempo.
trega local pode envolver a movimentação da mensagem Nesse esquema, o trabalho do agente do usuário é
entre computadores, se houver uma grande infraestruttu·a apresentar un1a visão do conteúdo da caixa de correio e per-
de correio. mitir que esta seja manipulada remotan1ente. Vários proto-
Com esse processo de entrega, o e-mail trafega do colos podem ser usados para essa finalidade, mas o SMTP
agente de transferência de correio inicial para o fmal em um não é um deles. O SMTP é um protocolo do tipo push - ele
único hop. Não existem servidores intermediários no está- captura uma 1nensagem e se conecta a um servidor remoto
gio de transferência de 111ensagem. Contudo, é possível que para transferi-la. A re1nessa final não pode ser obtida des-
esse processo de entrega ocorra várias vezes. Um exemplo sa 1naneira, porque a caixa de correio precisa continuar a
que já descrevemos é quando um agente de transferência ser armazenada no agente de transferência de correio e o
de mensagem implementa uma lista de correspondência. agente do usuário pode não estar conectado à Internet no
Nesse caso, uma mensagem é recebida na lista. Depois, n1omento em que o SMTP tenta repassar as 1nensagens.
ela é expandida co1no un1a mensagein para cada rnembro
da lista, que é enviada para os endereços individuais dos IMAP - Internet Message Access Protocol
membros.
Um dos principais protocolos usados para a remessa final
Como outro exemplo de repasse, Bob pode ter se
é o IMAP (Internet Message Access Protocol). A versão
formado no MIT e tainbétn pode ser alcançado pelo en-
4 do protocolo é definida na RFC 3501 e em suas muitas
dereço bob@alum.tnit.edu. En1 vez de ler o e-mail e1n vá-
atualizações. Para usá-lo, o servidor de correio executa
rias contas, Bob pode fazer a mensagem enviada para esse
um servidor IMAP que escuta na porta 143. O agente do
endereço ser encaminhada para bob@ee.uwa.edu. Nesse
usuário executa um cliente IMAP. O cliente se conecta ao
caso, o e-rnail enviado para bob@alum.nút.edu terá duas
servidor e co1neça a e1nitir co1nandos a partir daqueles lis-
entregas. Primeiro, para o servidor de correio para atum.
tados na Figura 7.18.
mit.edu. Depois, para o servidor de correio para ee.uwa.
Primeiro, o cliente iniciará um transporte seguro, se
edu.au. Cada u1na dessas pernas é uma entrega completa
tiver que ser usado (a fim de manter as mensagens e os co-
e separada no que se refere aos agentes de transferência
mandos confidenciais), e depois fará um login ou se auten-
de correio.
ticará de alguma 1naneira no servidor. Uma vez autentica-
do, haverá muitos comandos para listar pastas e mensagens,
7.2.5 Entrega final buscar mensagens ou ainda partes delas, marcá-las com
flags para posterior exclusão e organizá-las em pastas. Para
Nossa 1nensage1n de e-n1ail está quase entregue. Ela chegou evitar confusão, observe que usamos o tenno "pasta" aqui
à caixa de correio de Bob. Tudo o que resta é transferir urna para manter a coerência com o restante do n1aterial nesta
cópia da 1nensagem para o agente do usuário de Bob para seção, em que um usuário tem uma única caixa de cor-
exibição. Essa é a etapa 3 na arquitetura da Figura 7.9. Essa reio cornposta de várias pastas. Contudo, na especificação
tarefa era simples no início da Internet, quando o agente lMAP, o termo caixa de correio (mailbox) é usado etn seu
do usuário e o agente de transferência de correio eratn exe- lugar. U1n usuário, portanto, tem muitas caixas de correio
cutados na mesn1a máquina como processos diferentes. IMAP, cada un1a normalmente apresentada como uma pasta
O agente de transferência de correio sitnplesinente escrevia a ele.
novas mensagens no final do arquivo da caixa de correio, e O IMAP tan1bém tem muitos outros recursos. Ele tem
o agente do usuário sirnplesmente verificava se havia novo a capacidade de endereçar e-mail não por número de men-
e-rnail na caixa de correio. sagen1, mas usando atributos (p. ex., n1ostre-me a pri1neira
Atualn1ente, o agente do usuário e1n um PC, notebook mensagem de Alice). As consultas podem ser realizadas
ou smartphone provavehnente estará en1 uma máquina no servidor para encontrar as nlensagens que satisfazem a
416 Redes de computadores

Comando Descrição
CAPABILITY Lista capacidades do servidor
STARTTLS Inicia o transporte seguro (TLS; ver Capítulo 8)
LOGIN Login no servidor
AUTHENTICATE Login com outro método
SELECT Seleciona uma pasta
EXAMINE Seleciona uma pasta apenas de leitura
CREATE Cria uma pasta
DELETE Exclui uma pasta
RENAME Renomeia uma pasta
SUBSCRIBE Acrescenta pasta no conjunto ativo
UNSUBSCRIBE Remove pasta do conjunto ativo
LIST Lista as pastas disponíveis
LSUB Lista as pastas ativas
STATUS Captura o status de uma pasta
APPEND Acrescenta uma mensagem a uma pasta
CHECK Captura um ponto de verificação de uma pasta
FETCH Captura mensagens de uma pasta
SEARCH Localiza mensagens em uma pasta
STORE Altera fl ags de mensagem
COPY Faz uma cópia de uma mensagem em uma pasta
EXPUNGE Remove mensagens marcadas para exclusão
UID Emite comandos usando identificadores exclusivos
NOOP Não faz nada
GLOSE Remove mensagens marcadas e fecha pasta
LOGOUT Efetua o logout e fecha a conexão

Figura 7.18 Comandos IMAP (versão 4).

certos critérios, de modo que apenas estas sejam capturadas que pode ser fornecido pela mesma empresa. O Micro-
pelo cliente. soft Excbange é um sistema de correio com um protocolo
O IMAP é uma melhoria em relação a tun protocolo fechado.
de entrega final 1nais antigo, o POP3 (Post Office Proto-
col, ver sion 3), que é especificado na RFC 1939. O POP3 Webmail
é mais si1nples, 1nas admite menos recursos e é menos se-
guro no uso diário. O e-1nail nonnahnente é baixado para Uma alternativa cada vez mais popular ao IMAP e ao
o computador do agente do usuário, em vez de pern1anecer SMTP para fornecer serviço de e-mail é usar a Web como
no servidor de correio. Isso facilita a vida no servidor, mas é interface para enviar e receb er e-mails. Os serviços de
mais dificil para o usuário. Não é fácil ler o e-mail em vários Webmail 1nais usados são Google Gmail, Microsoft Hot-
con1putadores, alé1n do que, se o computador do agente do mail e Yahoo!Mail. Web1nail é um exemplo de software
usuário quebrar, todo o e-1nail pode se perder pen11anente- (neste caso, um agente do usuário de correio) que é forneci-
mente. Apesar disso, o POP3 ainda é utilizado. do como um serviço que utiliza a Web.
Protocolos fechados tambén1 podem ser usados, pois Nessa arquitetura, o provedor executa ser viços de
atuam entre um servidor de correio e o agente do usuário, correio normalmente para aceitar 1nensagens para usuários
Capítulo 7 • A camada de aplicação 417

con1 SMTP na porta 25. Contudo, o agente do usuário é di- '91 chamou a atenção de outros pesquisadores, levando
ferente. Em vez de ser u1n programa isolado, ele é uma in- Marc Andreessen, da University oflllinois, a desenvolver o
terface do usuário fornecida por páginas Web. Isso significa primeiro navegador gráfico, que foi chamado de Mosaic e
que os usuários pode1n usar qualquer navegador que qui- lançado em fevereiro de 1993.
sere1n para acessar seu e-mail e enviar novas n1ensagens. O restante, como dizem, agora é história. O Mosaic foi
Quando o usuário vai até a página Web de e-mail do tão popular que um ano depois Andreessen saiu para for-
provedor, digamos, Gmail, é apresentado um fonuulário 1nar uma empresa, a Netscape Co1n1nunications Corp., cujo
no qual ele deve informar um nome de login e sua senha. objetivo era desenvolver software para a Web. Pelos três
Essas informações são enviadas ao servidor, que então as anos seguintes, o Netscape Navigator e o Inten1et Explorer,
valida. Se o login tiver sucesso, o servidor encontra a caixa da Microsoft, entraram en1 uma "batalha de navegadores'',
de correio do usuário e monta u1na página Web listando o cada um tentando capturar uma fatia maior do novo merca-
seu conteúdo na hora. A página Web é então enviada para do que o outro, acrescentando freneticamente mais recursos
ser exibida pelo navegador. (e, po11anto, mais bugs).
Muitos dos itens na página que mostra a caixa de cor- No decorrer das décadas de 1990 e 2000, sites e pági-
reio são clicáveis, de modo que as mensagens podem ser li- nas Web, como o conteúdo da Web é chamado, cresceran1
das, excluídas, etc. Para tornar a interface responsiva, as pá- exponencialmente até que houvesse milhões de sites e bi-
ginas Web nonnalmente incluirão programas em JavaScript. lhões de páginas. Um pequeno núrnero desses sites se tornou
Esses programas são executados localmente no cliente em tretnendamente popular. Esses sites e as empresas por trás
resposta a eventos locais (p. ex., cliques do mouse) e tam- deles definem em grande parte a Web conforme as pessoas
bém podem baixar e atualizar 1nensagens em segundo pla- a veem hoje. Alguns exemplos são: un1a livraria (Amazon,
no, para preparar a próxima mensagem para exibição ou iniciada en1 1994), um mercado de leilões (eBay, 1995),
uma nova 1nensagem para envio. Nesse modelo, o envio de um buscador (Google, 1998) e uma rede social (Facebook,
correio ocorre usando os protocolos norn1ais da Web, pos- 2004). O período da década de 2000, em que muitas empre-
tando dados para un1 URL. O servidor Web cuida da injeção sas da Web passara1n a valer centenas de milhões de dólares
de mensagens no sistema de entrega de correio tradicional, da noite para o dia, apenas para praticamente falir no dia
que descreve1nos anterionnente. Por segurança, os protoco- seguinte, quando saíarn de moda, tern até mesmo urn nome
los padrão da Web também podem ser usados. Eles cuidam específico. Ele se cha1na era ponto com. Novas ideias ainda
da criptografia de páginas Web, e não se o conteúdo da pági- estão chegando à Web. Muitas delas vêm de estudantes. Por
na Web é uma mensage1n de e-mail. exen1plo, Mark Zuckerberg era um aluno de Harvard quan-
do iniciou o Facebook, e Sergey Brio e Larry Page eram
alunos de Stanford quando iniciaram o Google. Talvez você
seja o próximo a surgir com uma ideia brilhante.
7.3 A WORLD WIDE WEB Em 1994, o CERN e o MlT assinaran1 u1n acordo crian-
do o W3C (Wor ld Wide Web Consortium), uma organiza-
A Web, con10 a World Wide Web é popularmente conheci-
ção voltada para o desenvolvimento da Web, para a padroni-
da, é uma estrutura arquitetônica que permite o acesso a do-
zação de protocolos e para o incentivo da interoperabilidade
cumentos vinculados espalhados por milhões de máquinas
entre os sites. Bemers-Lee tornou-se o diretor. Desde então,
na Internet. Em dez anos, ela deixou de ser um meio de dis-
tribuição de dados sobre fisica de alta energia na Suíça para centenas de universidades e empresas juntaram-se ao consór-
se tornar a aplicação que milhões de pessoas consideram cio. E1nbora existam agora 1nais livros sobre a Web do que
ser "A Internet". Sua enorme popularidade se deve à fácil se possa iinaginar, o melhor lugar para obter inforn1ações
atualizadas é (naturalmente) a própria Web. A home page do
utilização para principiantes e ao fornecimento de acesso
consórcio está no endereço www.w3.org. Os leitores interes-
com uma rica interface gráfica a uma grande quantidade
de informações sobre quase todos os assuntos imagináveis, sados são levados por links a páginas que englobam todos os
desde aborígenes até zoologia. numerosos documentos e atividades do consórcio.
A Web começou em 1989 no CERN, o European Cen-
ter for Nuclear Research. A ideia inicial foi ajudar grandes 7.3.1 Visão geral da arquitetura
equipes, gerahnente com me1nbros e1n uma dúzia de países
ou 1nais e fusos horários diferentes, a colaborar usando u1na Do ponto de vista dos usuários, a Web é uma vasta coleção
coleção de relatórios, plantas, desenhos, fotos e outros do- mundial de conteúdo na forma de páginas Web. Cada pá-
cumentos produzidos por experimentos em fisica de partí- gina pode conter links (vínculos) para centenas de outros
culas. A proposta para uma teia de documentos interligados objetos, que podern estar hospedados em qualquer servidor
veio do físico do CERN Tim Berners-Lee. O primeiro pro- na Internet, en1 qualquer lugar do mundo. Esses objetos po-
tótipo (baseado en1 texto) entrou em operação 18 meses de- dem ser outro texto e imagens, mas atuahnente tambén1 in-
pois. Uma demonstração pública na conferência Hypertext cluen1 uma grande variedade de objetos, incluindo anúncios
418 Redes de computadores

e scripts de rastrea1nento. Uma página tan1bém pode ter U1n pedaço de texto, ícone, i1nagem ou outro elen1en-
links para outras páginas Web - os usuários podem seguir to da página que possa ser associado a outra página, são
um link dando um clique sobre ele, que os levará até a pági- chamados hiperlink. Para seguir um link, um usuário de
na indicada. Esse processo pode ser repetido indefinidamen- desktop ou notebook coloca o cursor do 1nouse na parte
te. A ideia de fazer uma página apontar para outra, agora vinculada da área da página (fazendo o cursor mudar de
cha1nada hiper texto, foi criada por um visionário professor fonna) e clica. E1n um smartphone ou tablet, o usuário sin1-
de engenharia elétrica do MIT, Yannevar Bush, em 1945 plesmente encosta no link. Seguir um link é simplesmente
(Bush, I 945), bem antes da criação da Internet. De fato, um modo de dizer ao navegador para buscar outra página.
isso foi antes da existência dos computadores comerciais, Nos primeiros dias da Web, os links era1n grifados com su-
embora várias universidades tenham produzido protótipos blinhado e texto colorido, para que pudessem ser destaca-
prin1itivos que preenchiam grandes salas e tinham milhões dos. Hoje, os criadores de páginas Web podem usar folhas
de vezes menos potência do que um smart watch, mas con- de estilo para controlar a aparência de muitos aspectos da
sumindo 1nais energia elétrica do que u1na pequena fábrica. página, incluindo hiperlinks, de modo que um link pode
As páginas geralmente são visualizadas co1n o auxí- efetivamente se parecer com qualquer coisa que o projetista
lio de u1n programa denominado navegador (ou bro,vser). do site desejar. A aparência de um link pode até mesmo ser
Brave, Chron1e, Edge, Firefox, Opera e Safari são exem- dinâmica, por exemplo, ela pode mudar de aparência quan-
plos de navegadores conhecidos. O navegador busca a pá- do o mouse passar sobre ele. Os criadores da página são
gina solicitada, interpreta seu conteúdo e exibe a página na responsáveis por tornar os links visualmente distintos, para
tela, devidamente formatada. O conteúdo em si pode ser que o usuário tenha uma boa experiência.
uma mistura de texto, imagens e comandos de formatação, Os leitores de uma página podem encontrar uma his-
na forma de um documento tradicional, ou outras formas de tória interessante e clicar na área indicada, quando o na-
conteúdo, co1no vídeos ou programas que produzem uma vegador buscará a nova página para a exibir. Dezenas de
interface gráfica com a qual os usuários pode1n interagir. outras páginas estão ligadas à primeira além do exemplo
Um exemplo de con10 isso é feito encontra-se na Fi- na Figura 7 .19. Cada outra página pode ser co1nposta de
gura 7.19, que contém muitos objetos. Neste caso, a pági- conteúdo na mesma máquina (ou máquinas) que a primeira,
na é da Federal Communications Commission dos Estados ou em máquinas no outro lado do mundo. O usuário não
Unidos. Essa página mostra ele1nentos de texto e gráficos sabe disso. O navegador nonnahnente busca quaisquer ob-
(que nonnaln1ente são 1nuito pequenos para serem lidos). jetos que o usuário lhe indicar, por 1neio de un1a série de
Muitas partes da página inclue1n referências e links para cliques. Assim, a movimentação entre as máquinas enquan-
outras páginas. A página de índice, que o navegador car- to o conteúdo é exibido é transparente.
rega, normahnente contém instruções para o navegador O navegador está exibindo u1na página Web na má-
con1 relação aos locais de outros objetos a serem montados, quina do cliente. Cada página é buscada por 1neio de uma
além de con10 e onde apresentá-los na página. solicitação a um ou mais servidores, que responden1 co1n

- 1
1
Banco de dados 1
1
1,-_, I

Hr'llll......
-
ICCSU-~
L =º/
Objetos

--- lOO<\ Ul\


(p. ex., fonts.gstatic.com)

Solicitação HTIPS
/
i-= e?
Resposta HTIPS Servidor Web
Página Web
Navegador
Web

G... =º
Anúncios, Trackers, etc.
(p.ex., google-analytics.com)

Figura 7.19 A busca e a apresentação de uma página Web envolve solicitações HTTP/HTTPS a muitos servidores.
Capítulo 7 • A camada de aplicação 419

o conteúdo da página. O protocolo de solicitação-resposta capturar o pedido do usuário para "seguir" outro conteúdo
para buscar páginas é simples, baseado em texto, que roda na página. Quando um ite1n é selecionado, o navegador se-
sobre TCP, assim como no caso do SMTP. Ele é chamado gue o hiperlink e busca o objeto que o usuário indica (p. ex.,
de HTTP (HyperText Transfer Protocol). A versão segura com um clique do mouse ou tocando no link na tela de um
desse protocolo, que é o 1nodo predominante de buscar con- dispositivo 1nóvel).
teúdo na Web atualmente, é chan1ado de HTTPS (Secure Quando a Web foi criada inicialmente, logo ficou
HyperText Transfer Protocol). O conteúdo pode silnples- aparente que ter u1na página apontando para outra página
mente ser um documento que é lido de um disco, ou então Web exigia mecanismos para nomear e localizar páginas.
o resultado de u1na consulta ao banco de dados e execução Em particular, três perguntas tinham de ser respondidas an-
de um programa. Quanto à página, ela pode ser u1na página tes que uma página selecionada pudesse ser exibida:
estática se apresentar o mesmo documento toda vez que for
1. Como a página é chamada?
exibida, ou dinâmica, se foi gerada sob demanda por um
programa ou se contém um programa. 2. Onde a página está localizada?
Uma página dinâmica pode se apresentar de fonna 3. Con10 a página pode ser acessada?
diferente toda vez que for exibida. Por exemplo, a página Se cada página recebesse de algu1na fonna u1n nome
inicial de un1a loja virtual pode ser diferente para cada vi- exclusivo, não haveria ambiguidade na identificação. Ape-
sitante. Se um cliente de livraria tiver comprado livros de sar disso, o problema não seria solucionado. Considere um
mistério no passado, ao visitar a página inicial da loja, ele paralelo entre as pessoas e as páginas. No Brasil, quase to-
provavehnente verá novos livros de suspense apresentados dos têm un1 nú1nero de CPF, que é u1n identificador exclu-
de forn1a destacada, enquanto un1 cliente mais voltado para sivo, de 1nodo que duas pessoas não deveria1n ter o 1nesmo
culinária poderia ser recebido com novos livros de recei- número. Apesar disso, se você tiver apenas o número do
tas. Como o site aco1npanha quem gosta de que, é algo que CPF, não haverá como descobrir o endereço do seu proprie-
veremos mais adiante. Contudo, resumindo, a resposta en- tário, e certan1ente nenhuma fonna de saber se você deve
volve cookies (até mesmo para visitantes que não gosta1n escrever para a pessoa em português, inglês, espanhol ou
de culinária). chinês. A Web tem basicamente os 1nesmos problemas.
Na figura, o navegador entra em contato cotn diver- A solução escolhida identifica as páginas de um modo
sos servidores para carregar a página Web. O conteúdo que resolve os três proble1nas de uma só vez. Cada página
na página de índice pode ser carregado diretan1ente de recebe um URL (Uniform Resource Locator), que efetiva-
arquivos hospedados e1n j'cc.gov. O conteúdo auxiliar, mente serve co1no o nome mundial da página. Os URLs têm
como un1 vídeo incorporado, pode estar hospedado em um três partes: o protocolo (també1n conhecido co1no o esque-
servidor separado, ainda e1nfcc.gov, mas talvez em uma ma), o no1ne DNS da máquina em que a página está loca-
infraestrutura dedicada à hospedagem do conteúdo. A pá- lizada e o caminho que identifica exclusivan1ente a página
gina de índice ta1nbé1n pode conter referências a outros específica (um arquivo para ler ou um programa para rodar
objetos que o usuário ne1n sequer verá, como scripts de na máquina). No caso geral, o caminho tem um nome hie-
rastreamento ou anúncios que fica1n hospedados em servi- rárquico que 1nodela u1na estrutura de diretório de arquivo.
dores de terceiros. O navegador busca todos esses objetos, Contudo, a interpretação do caminho fica a critério do ser-
scripts e outros, montando-os em uma única página vista vidor; ele pode ou não refletir a estrutura de diretório real.
pelo usuário. Como um exemplo, o URL da página mostrada na
A exibição acarreta u1na série de processamentos, que Figura 7.19 é
dependem do tipo de conteúdo. Além de apresentar texto e
https://fcc.gov/
gráficos, um processamento pode envolver a exibição de
um vídeo ou a execução de urn script que apresenta sua pró- Esse URL consiste em três partes: o protocolo (https),
pria interface com o usuário como parte da página. Nesse o nome DNS do host (fcc.gov) e o nome do ca1ninho (/, que
caso, o servidor.fcc.gov fornece a página principal, o ser- o servidor Web normalmente trata como algunl objeto de
vidor fonts .gstatic.co111 fornece objetos adicionais (p. ex., índice padrão).
fontes) e o servidor google-analytics.co1n não fornece nada Quando um usuário clica em um hiperlink, o navega-
que o usuário possa ver, mas acompanha os visitantes do dor executa un1a série de etapas co1n o objetivo de buscar a
site. Falaremos mais sobre trackers e privacidade na Web página indicada. Vamos acompanhar as etapas que ocorrem
mais adiante. quando esse link é selecionado.
1. O navegador determina o URL (verificando o que foi
O lado cliente selecionado).
Agora vamos exa1ninar o lado do navegador Web da 2. O navegador pergunta ao DNS qual é o endereço IP do
Figura 7.19 com 1nais detalhes. Basica1nente, um nave- servidor fcc.gov.
gador é um programa que pode exibir uma página Web e 3. O DNS respondeco1n 23.1.55 .196.
420 Redes de computadores

4. O navegador estabelece uma conexão TCP con1 esse para diversos outros protocolos foran1 definidos. Formas li-
endereço IP; como o protocolo é HTTPS, a versão se- geira1nente simplificadas dos mais comuns são listadas na
gura do HTTP, a conexão TCP seria pela porta 443 Figura 7.21.
como padrão (a porta padrão para o HTIP, que é usa- Vamos examinar a lista rapidamente. O protocolo http
da co1n muito 1nenos frequência agora, é a porta 80). é a linguagem nativa da Web, aquela falada pelos servido-
5. Ele envia u1n co1nando HTTPS solicitando a página //, res Web. HTTP significa HyperText Transfer Protocol.
que o servidor Web normalmente considera que é al- Va1nos examiná-lo com mais detalhes nesta seção, com um
guma página de índice (p. ex., index.html, index.php foco em particular no HTTPS, a versão segura desse proto-
ou algo semelhante, conforme configurado pelo servi- colo, que é usado de modo predo1ninante para enviar obje-
dor Web emfcc.gov). tos na Web atualtnente.
6. O servidor envia a página como uma resposta HTTPS, O protocoloftp é usado para acessar arquivos por FTP,
por exemplo, fornecendo o arquivo /index.ht1nl, se o protocolo de transferência de arquivo da Internet. O FTP
este for detenninado como o objeto de índice padrão. é anterior à Web, e tem sido usado há mais de quatro déca-
7. Se a página incluir URLs que são necessários para a das. A Web facilita a obtenção de arquivos colocados em
exibição, o navegador busca os outros URLs usando o diversos servidores FTP no inundo inteiro, oferecendo u1na
mesmo processo. Neste caso, os URLs incluem várias interface siinples e clicável em vez de u1na interface por
imagens inseridas também capturadas do servidor, ob- linha de comando, 1nais antiga. Esse acesso 1nelhorado à
jetos embutidos de gstatic.co1n e um script de google. infom1ação é u1n 1notivo para o cresci1nento espetacular da
analytics.coni (alé1n de urna série de outros domínios Web.
que não são mostrados). É possível acessar um arquivo local como uma pági-
na Web usando o protocolo file ou, de forma mais simples,
8. O navegador exibe a página lindex.httnl confonne
apenas nomeando-o. Essa técnica não exige um servidor.
aparece na Figura 7.19.
Naturalmente, ela só funciona para arquivos locais, e não
9. As conexões TCP são fechadas se não houver outras remotos.
solicitações para os mesmos servidores por um curto
O protocolo m.ailto não tem real1nente o glan1our da
período.
busca de páginas Web, mas também é útil. Ele permite que
Muitos navegadores exibem uma linha de status no os usuários enviem e-mail a partir de um navegador Web.
rodapé da tela que indica qual etapa está sendo executada A 1naioria dos navegadores responderá quando u1n link
no mon1ento. Dessa forn1a, quando o desempenho é fraco, mailto for seguido, iniciando o agente de e-1nail do usuário
o usuário pode verificar se a causa é falta de resposta do para redigir u1na nlensagem co1n o ca1npo de endereço já
DNS, falta de resposta do servidor ou simplesmente con- preenchido.
gestionamento da rede durante a transmissão da página. Os protocolos rtsp e sip são para estabelecimento de
U1na forma mais detalhada de explorar e compreender sessões de streaming de mídia e chamadas de áudio e vídeo.
o desempenho da pági.na Web é por meio de u1n chamado Por fim , o protocolo about é u1na convenção que
diagrama em cascata, mostrado na Figura 7.20. oferece informações sobre o navegador. Por exe1nplo,
A figura mostra urna lista de todos os objetos que o seguir o link about:p/ugins fará a 1naioria dos navegado-
navegador carrega no processo de carrega1nento desta pá- res mostrar uma página listando os tipos MIME que eles
gina (neste caso, 64, mas muitas páginas tê1n centenas de tratatn corn extensões do navegador chamadas plug-ins.
objetos), bem como as dependências de tempo associadas Muitos navegadores possuem informações muito interes-
ao can·egamento de cada solicitação e as operações asso- santes na seção about; tun exe1nplo no navegador Firefox
ciadas a cada carregamento de página (p. ex., urna pesqui- é about:te/ernetry, que 1nostra todas as informações de
sa DNS, u1na conexão TCP, o download do conteúdo real, desempenho e atividade que o navegador reúne sobre o
e assim por diante). Esses diagramas em cascata podem usuário, about:preferences mostra as preferências do usuá-
nos dizer muito sobre o comportamento de um navega- rio, e about:conjig mostra muitos aspectos interessantes da
dor da Web - por exe1nplo, podemos descobrir o número configuração do navegador, incluindo se ele está realizando
de conexões paralelas que um navegador faz a qualquer pesquisas de DNS-sobre-HTTPS (e para quais resolvedores
servidor indicado, bem co1no se as conexões estão sendo recursivos confiáveis), conforn1e descrito na seção anterior
reutilizadas. Também podemos descobrir o tempo relativo sobre DNS.
para pesquisas do DNS em co1nparação co1n os downloads Os próprios URLs foram elaborados não apenas para
reais dos objetos, além de outros gargalos de desempenho permitir que os usuários naveguem pela Web, mas para
en1 potencial. executar protocolos mais antigos, como FTP e e-mail, bem
O projeto do URL te1n a ponta aberta, no sentido de co1no protocolos n1ais novos para áudio e vídeo, alé1n de
que é fácil fazer os navegadores usarem vários protocolos oferecer acesso conveniente a arquivos locais e informa-
para chegar a diferentes tipos de recursos. De fato, os URLs ções do navegador. Essa técnica toma desnecessários todos
Capítulo 7 • A camada de aplicação 421

r
L C·-·

Name
Tib>ns-ieOdc29e632.png
o bg-ptltom-gniy.png?1528211709
Sla11M
200
200
Type
png
png
-
~
ll!lW)
Slze
lnemo<Yc•..
(memory e .••
1'lm4o
Oms
Oma
W1terfaJ
1
I
l!i icon-xl9.git?1528211709 200 gil ('1111.U) (memoryc .•• Oms
l!i icon-pdf.git?1528211709 200 gil Cl!!W) (memoryc ••• Oms
- - b g.png?1528211709 200 png CimlluQ (momory e .. . Oms
O lcons·2x·s4&93a70c85.png 200 png ful!lll!l (memoryc .. . Oms 1
mlcons·2x~1~1515.png 200 png rmw (momoryc... Oms 1
G menu-8Cllve-poônt1<.png?1528211709 200 png ~~ (momoryc ... Oms
o shadow-maslc.png?1528211709 200 png l!l\!!!D',IJlll.Joa (memoryc••• Oms
o Wldgetjlrame.69o02060c7c44-b562... 200 document ~ (dlsk C8Chel 2ms
O oattlngs 200 lotch YM15il 2368 73ms
LI ao.is 200 scrl>t Closlu)~ 08 15ms
O rnonwrt-,.•-tw-a 1..or6410f7eaacL. ~li:! (dllk C8Chel
o tirneh.f7- 10bb00711bb451cld:l6SZ315...
200
200 """'
~ ~ (dbk CllChol
2ms
2ms
O f11Vleon.lco 200 vncl.mlctos.•. Other 15.1 K8 54ms
Li prof•?calback>o_twtt-_.tUO_pro... 200 oai:Jt ~ 11 .3 KB 133ms
f!l Y9ZQa!24?fotmat•~l44x144..,2 200 Jpeg ~ (mamoryc ••• Oms
i!! OJY·k5tn?lonnatajpg&name..144Jt144..,2 200 Jpeg ~ (memoryc ... Oms
8 LCORIDgM?format•IPg&nan-600x314 200 jpeg ~ld (momoryc. .. Oms
bkT890HO?lonnot.~14 200 png ~ (momoryc ... Oms
f!l VonVIERd?lonnab.jpg&name•144xt44..2 200 fpeg ~ (momoryc••• Oms
s\lal8fcO?l~600"314 200 jpeg ~ (memoryc ••• Oms 1
uNvZOl<jl('1f~144Jt144..,2 200 jpeg llilollLld (momoryc••• Oms l
OT7W1nAj'lfotmabojpg&~14 200 jpog llllifjgQli;Jl (memoryc.•• Oms 1
l!i deTa!lkd4?fomlaWPg&names144Jt144..,2 200 jpeg !dd9111.1d (memoryc ... Oms 1
o 11688.png 200 wGbp ~ 348 9ms 1
o 2b07.png 200 wtbp iidslolla.ld 348 9ms 1
D !lmelhe.b19b28e6dd6afdadd09507e64bad... 200 to>Cllcsa ~ts.11;1 62.6KB 5ms 1
l!i 9W!l<Wd8Lblgg«.jpg 200 jpeg (momoryc ••• Oms 1
~ 6oG07WOO_biggor.J>g 200 jpeg momeot-!lmtllr!9::lw... (memoryc••• Oma 1
D syndicallCn_t>l.ricle_v1_73385286cca9d22... 200 tfl>Cl/ça ~ 44.1 KB 43ms 1
o da1e.1maQe/gvg+xml:... 200
SVll+""'' Olloor (memoryc ••• Oms
o deta:imege/""l!+JUTll:... 200 SV1>+xml Other (memoryc ... OIT\$
(!j ~svg+>Cllll;... 200 svp+xml Other (mamoryc•.• Oms
o data.~+>Cllll;... 200 SVll+lCJnl Other (memoryc .•• Oms
O da!a:lmago/gvg+xml;... 200 "'1>'""'' Other (memoryc••• Oms 1
~ data>magolsvg+>Cllll:... 200 Other (memoryc ... Oms 1
SV1>+""''
o foi 200 documem ~d 08 3ms
&I 19qU9sta 139 KB tnlnSlemod 3.2 MB rnouroes Flni>h: 2.79 a OôMContonll.old 597 ms loed: 81 1 ms

Figura 7.20 Diagrama em cascata para tcc.gov.

Nome Usado para Exemplo


http Hipertexto (HTML) http://www.ee.uwa.edu/-rob/
https Hipertexto com segurança https://www.bank.com/accounts/
ftp FTP ftp://ftp.cs.vu.nl/pub/minix/READ ME
fi le Arquivo local file:///usr/nathan/prog.c
mailto Envio de e- mail mailto:JoaoSilva@acm.org
rtsp Streaming de mídia rtsp://youtube.com/montypython.mpg
sip Chamadas de multimídia sip:eve@adversary.com
about Informação do navegador about:plugins

Figura 7.21 Alguns esquemas de URL comuns.


422 Redes de computadores

os progran1as especializados de interface com o usuário No entanto, os servidores Web são irnplementados com
para esses outros serviços, integrando quase todo o acesso à un1 projeto diferente, para atender a centenas ou milhares de
Internet em um único programa: o navegador Web. Se não solicitações por segundo. Um problema corn o projeto sim-
fosse pelo fato de essa ideia ter sido imaginada por um fí- ples é que o acesso aos arquivos normalmente é o gargalo.
sico britânico trabalhando ern urn laboratório de pesquisa As leituras ern disco são rnuito lentas ern comparação corn
europeu na Suíça (CERN), ela poderia facilmente passar a execução do progra1na, e os n1esmos arquivos podem ser
como u1n plano elaborado pelo departamento de propagan- lidos repetidamente do disco usando chamadas ao sistema
da de alguma empresa de software. operacional. Outro problema é que apenas uma solicitação
é processada de cada vez. Se o arquivo for grande, outras
O lado servidor solicitações serão bloqueadas enquanto ele é transferido.
U1na melhoria óbvia (usada por todos os servidores
Já estudamos o lado cliente. Agora, vamos examinar o lado Web) é manter em cache na memória os n arquivos mais
servidor. Corno já virnos, quando o usuário digita urn URL recentetnente usados ou certo número de gigabytes de con-
ou clica em urna linha de hipertexto, o navegador analisa teúdo. Antes de ir ao disco para obter um arquivo, o ser-
o URL e interpreta a parte entre http:// e a barra seguinte vidor verifica o cache. Se o arquivo estiver lá, ele poderá
con10 um no1ne DNS a ser pesquisado. Munido do ende- ser atendido diretamente da memória, elirninando assim o
reço IP do servidor, o navegador estabelece uma conexão acesso ao disco. Embora o armazenamento efetivo em ca-
TCP para a porta 443 desse servidor. Em seguida, ele envia che exija um grande volume de memória principal e algum
um comando contendo o restante do URL, que é o ca1ninho tempo de processamento extra para verificá-lo e adminis-
até a página nesse servidor. O servidor então retorna o ar- trar seu conteúdo, a economia de tempo quase sernpre com-
quivo para ser exibido pelo navegador. pensa o overhead e as despesas.
Ern linhas gerais, u1n servidor Web simples é sen1e- Para enfrentar o problema de atender a uma única so-
lhante ao da Figura 6.6. Esse servidor recebe o nome de licitação por vez, uma estratégia é tomar o servidor multi-
u1n arquivo para pesquisar e retornar pela rede. E1n am- threaded. Ern um projeto, o servidor consiste em urn rnó-
bos os casos, as etapas que executa em seu loop principal dulo de front-end que aceita todas as solicitações recebidas
são: e k módulos de processa1nento, corno mostra a Figura 7.22.
1. Aceitar uma conexão TCP de um cliente (urn Os k + l threads pertencem todos ao mesmo processo, de
navegador). forma que todos os módulos de processamento têm aces-
2. Obter o carnü1ho até a página, que é o norne do arqui- so ao cache dentro do espaço de endereços do processo.
vo solicitado. Ao chegar uma solicitação, o front-end a recebe e cria u1n
3. Obter o arquivo (do disco). registro curto que a descreve. Em seguida, ele entrega o re-
gistro a um dos módulos de processa1nento.
4. Enviar o conteúdo do arquivo ao cliente.
O rnódulo de processamento pri1neiro verifica o ca-
5. Encerrar a conexão TCP.
che para ver se o arquivo necessário está lá. Se estiver, ele
Os servidores Web moden1os têm outras caracterís- atualiza o registro para incluir um ponteiro para o arquivo
ticas, mas, basican1ente, é isso que um servidor Web faz no registro. Se não estiver Já, o módulo de processamento
para o caso sirnples de conteúdo que está contido em um inicia uma operação de disco para armazená-lo no cache
arquivo. Para o conteúdo dinâmico, a terceira etapa pode (possivelmente descartando alg111n outro arquivo em cacbe
ser substituída pelo exernplo de urn programa (determinado para criar espaço). Quando o arquivo vem do disco, ele é
pelo caminho) que gera e retoma o conteúdo. colocado no cache e tan1bém é enviado de volta ao cliente.

1-------------------------------------,
Módulo de
1
processamento fl'-----1~--' -

--
1

D Solicitação
:
1

: ,-----
(thread)
- Disco

-

-----~-(-_
::::=_=a:;- Front-end 8;::::=-~ •
Cache -

Cliente Resposta 1 -
1
1 -
1
1
1
1 - ~-~

1
-------------------------------------~
Servidor

Figura 7.22 Um servidor Web multithreaded com um front-end e módulos de processamento.


Capítulo 7 • A camada de aplicação 423

A vantage1n desse esquema é que, enquanto un1 ou de marcação de hipertexto, ou HTML (HyperText
mais módulos de processa1nento estão bloqueados espe- Markup Language), foi introduzida com a Web. Ela per-
rando que uma operação de disco se complete (e, portanto, mite que os usuários produzam páginas que incluem texto,
não consumindo tempo de CPU), outros módulos podem gráficos, vídeo, ponteiros para outras páginas Web e mui-
estar trabalhando ativamente em outras solicitações. Com k to 1nais. Trata-se de un1a linguage1n de n1arcação, ou seja,
módulos de processamento, a vazão pode ser de até k vezes un1a linguagem para descrever como os docu1nentos devem
maior do que com u1n servidor de único thread. É claro que, ser formatados. O termo "marcação" ve1n da época em que
quando o disco ou a rede é o fator lin1itador, é necessário ter os editores realmente marcavam os documentos para in-
vários discos ou uma rede mais rápida para obter qualquer forn1ar ao impressor - naquele tempo, uma pessoa - que
melhoria real em relação ao modelo de único thread. fontes usar, e assiin por diante. Portanto, as linguagens de
Basicamente, todas as arquiteturas Web modernas marcação contêm comandos explícitos de formatação. Por
agora são projetadas conforme 1nostramos, co1n uma divi- exemplo, em HTML, <b> significa iniciar modo negrito,
são entre o front-end e um back-end. O servidor Web de e <lb> significa fim do 1nodo negrito. Além disso, <h1 >
front-end normahnente é chan1ado de proxy reverso, pois significa iniciar u1n cabeçalho de nível 1 aqui. LaTeX e TeX
ele busca o conteúdo de outros servidores (normahnente, são outros exemplos de linguagens de marcação, bem co-
back-end) e envia esses objetos ao cliente. O proxy é cha- nhecidos da maioria dos autores acadêmicos. Ao contrário,
mado de "reverso" porque está atuando em favor dos servi- o Microsoft Word não é uma linguagem de 1narcação, pois
dores, ao contrário de atuar em favor dos clientes. os comandos de formatação não são en1butidos no texto.
Ao carregar uma página Web, un1 cliente quase sen1pre A principal vantage1n de u1na linguagem de 1narcação
é primeiro direcionado (usando DNS) para nn1 proxy rever- en1 co1nparação co1n uma sen1 marcação explícita é que ela
so (ou seja, servidor de front-end), que começará a retornar separa o conteúdo do modo como ele deve ser apresentado.
objetos estáticos para o navegador Web do cliente, de modo A maioria das páginas Web modernas utiliza folhas de es-
que ele possa con1eçar a carregar parte do conteúdo da pági- tilo para defmir fontes , cores, tamanhos, preenchimento e
na o mais rápido possível. Enquanto esses objetos (normal- n1uitos outros atributos de texto, listas, tabelas, cabeçalhos,
mente estáticos) estão sendo carregados, o back-end pode anúncios e outros elementos da página. As folhas de estilo
realizar operações co1nplexas (p. ex., uma busca na Web, são escritas em uma linguagem chamada CSS (Cascading
uma pesquisa no banco de dados ou a geração um conteúdo Style Sheets).
dinâmico de alguma outra fonna), para enviar de volta ao Escrever um navegador, então, é muito sin1ples: o
cliente por meio do proxy reverso quando esses resultados e navegador simplesmente precisa entender os comandos
o conteúdo estiverem disponíveis. de marcação e a folha de estilo e aplicá-los ao conteúdo.
E1nbutir todos os comandos de 1narcação dentro de cada
arquivo HTML e padronizá-los permite que qualquer na-
7.3.2 Objetos Web estáticos vegador Web leia e refonnate qualquer página Web. fsso é
fundatnental , pois uma página pode ter sido produzida em
A base da Web é a transferência de páginas Web do servidor
uma janela de 3840 x 2 160 com 24 bits de cores e1n um
para o cliente. Em sua forma mais simples, os objetos da computador de alto nível, mas talvez tenha que ser exibida
Web são estáticos. Contudo, atualmente, quase toda pági- em u1na janela de 640 x 320 em u1n telefone móvel. A sim-
na que você encontra na Web terá algum conteúdo dinâmi- ples redução linear não é uma boa ideia, pois dessa forma
co, mas até 1nes1no nessas páginas dinâmicas un1a grande as letras ficaria1n muito pequenas e ninguém as poderia ler.
quantidade de conteúdo (p. ex., o logotipo, as folhas de es-
Embora certamente seja possível escrever documen-
tilo, o cabeçalho e o rodapé) permanece estática. Os objetos
tos dessa fonna com qualquer editor de textos comum, e
estáticos são apenas arquivos que ficam armazenados e1n
n1uitas pessoas assim o fazem, ta1nbém é possível usar pro-
algum servidor da mesma maneira toda vez que são bus-
cessadores de textos ou editores de HTML especiais, que
cados e exibidos. Em geral, eles poden1 ser annazenados
realizam a maior parte do trabalho (porém, dão ao usuário
em cache, às vezes por 1nuito te1npo, e, portanto, são fre-
menos controle direto sobre os detalhes do resultado fmal).
quentemente colocados e1n caches de objetos próxi1nos ao
Existem 1nuitos programas disponíveis para projetar pági-
usuário. Só porque são estáticos, não significa que as pági-
nas Web, co1no o Adobe Drean1weaver.
nas estão inertes no navegador. Uma página contendo um
vídeo pode ser um objeto estático, por exemplo.
Como já dissemos, a língua internacional da Web, em 7.3.3 Páginas Web dinâmicas
que a maioria das páginas é escrita, é HTML. As páginas
e aplicações Web
iniciais de professores universitários normahnente são ob-
jetos estáticos; em alguns casos, as en1presas tên1 páginas O 1nodelo de página estática que usan1os até aqui trata as
Web dinâ111icas, mas o resultado final do processo dinâ- páginas como docu1nentos (1nultimídia) que são convenien-
mico de geração é uma página em HTML. A linguagem temente interligados. Esse foi um modelo útil nos primeiros
424 Redes de computadores

dias da Web, quando grandes quantidades de informação ruas e outras infonnações geográficas. Essa ação aparece
eram colocadas on-line. Atualmente, grande parte do en- como as etapas de 1a3. A solicitação (etapa 1) faz u1n pro-
tusiasmo em tomo da Web é seu uso para aplicações e grama ser executado no servidor. O programa consulta um
serviços. Alguns exemplos incluem a compra de produtos banco de dados para gerar a página apropriada (etapa 2) e a
em sites de comércio eletrônico, pesquisa em catálogos de retoma ao navegador (etapa 3).
biblioteca, exibição de mapas, leitura e envio de e-mails e Entretanto, o conteúdo dinâmico não é só isso. A pági-
colaboração en1 docu1nentos. na retornada pode conter programas que são executados no
Esses novos usos são como o software de aplicação navegador. E1n nosso exemplo de mapa, o programa permi-
tradicional (p. ex., leitores de correio e processadores de tiria ao usuário encontrar rotas e explorar as áreas vizinhas
textos). A diferença é que essas aplicações são executadas em diferentes níveis de detalhe. Ele atualizaria a página,
dentro do navegador, com os dados do usuário armazena- aproximaria ou afastaria a itnagem conforme illstruído pelo
dos em servidores nos centros de dados da Internet. Elas usuário (etapa 4). Para lidar co1n algu1nas interações, o
usan1 protocolos Web para acessar inforn1ações por meio progra1na pode precisar de inais dados do servidor. Nesse
da Internet, e o navegador para exibir u1na interface com caso, ele enviará uma solicitação ao servidor (etapa 5), que
o usuário. A vantage1n dessa técnica é que os usuários não capturará 1nais infonnações do banco de dados (etapa 6) e
precisam instalar programas de aplicação separados e seus reto111ará u1na resposta (etapa 7). O programa, então, conti-
dados podem ser acessados a partir de diferentes compu- nuará atualizando a página (etapa 4). As solicitações e res-
tadores e apoiados pelo operador do serviço. Ela provou postas acontece1n em segundo plano - o usuário pode nem
ser tão bem-sucedida que está competindo com o software sequer saber delas, pois o URL da página e o título nonnal-
de aplicação tradicional. Natw·almente, o fato de que essas n1ente não mudam. Incluindo programas no lado do cliente,
aplicações são oferecidas gratuitan1ente por grandes prove- a página pode apresentar uma interface n1ais responsiva do
dores ajuda. Esse modelo é a forma prevalente de compu- que apenas co1n os progra1nas no lado do servidor.
tação em nuvem, en1 que a co1nputação passa dos compu-
tadores de desktop individuais para clusters de servidores
Geração dinâmica de páginas
compartilhados na Internet.
Web do lado servidor
Para atuar como aplicações, as páginas Web não po-
dem n1ais ser estáticas. U1n conteúdo dinâ1nico é neces- Vejamos rapidamente o caso da geração de conteúdo no
sário. Por exen1plo, uma página do catálogo da biblioteca lado do servidor. Quando o usuário clica em um link em
deve refletir quais livros estão disponíveis atuahnente e um formulário, por exe1nplo, para comprar alguma coisa,
quais estão fora e, portanto, indisponíveis. De 1nodo se- uma solicitação parte para o servidor no URL especifica-
melhante, uma página útil do mercado de ações permitiria do com o formulário, junto com o conteúdo do formulário
ao usuário interagir com a página para ver preços de ações conforme preenchido pelo usuário. Esses dados precisam
por diferentes períodos de tempo e calcular lucros e perdas. ser entregues a um programa ou script para que sejam pro-
Como esses exemplos sugerem, o conteúdo dinâmico pode cessados. Assim, o URL identifica o programa a ser execu-
ser gerado por programas que são executados no servidor tado e os dados são fornecidos a ele como entrada. A página
ou no navegador (ou nos dois lugares). retornada por essa solicitação dependerá do que acontece
A situação geral é aquela mostrada na Figura 7.23. durante o processamento. Ela não é fixa, como uma página
Por exemplo, considere um serviço de mapa que permite estática. Se o pedido tiver sucesso, a página retornada po-
ao usuário inserir um endereço e apresenta un1 mapa cor- deria infonuar a data prevista para a entrega. Se não tiver
respondente do local. Dada uma solicitação por um local, sucesso, a página retornada poderia informar que os produ-
o servidor Web precisa usar u1n programa para criar uma tos solicitados estão indisponíveis ou que o cartão de crédi-
página que 1nostre o 1napa a partir de um banco de dados de to não foi aceito por algum 1notivo.

/
/
1
Página
D Web 3
6-
BD
' 5
4-.
7

'----- Navegador Web --~ ~-Servidor


-
Web...r---,=-1 ~--~

Figura 7.23 Páginas dinâmicas.


Capítulo 7 • A camada de aplicação 425

O 1nodo exato como o servidor executa um progran1a Geração dinâmica de páginas Web do lado cliente
em vez de recuperar um arquivo depende do projeto do ser-
vidor Web. Isso não é especificado pelos próprios protoco- Os scripts PHP e CGI resolvem o problema de manipular
los da Web, porque a interface pode ser fechada e o navega- a entrada e as interações con1 bancos de dados no servi-
dor não precisa conhecer os detalhes. Do ponto de vista do dor. Todos eles podem aceitar informações de entrada de
navegador, ele está simplesmente fazendo uma solicitação fonnulários, pesquisar informações em u1n ou mais bancos
e buscando uma página. de dados e gerar páginas HTML com os resultados. O que
nenhum deles pode fazer é responder a movimentos do
Apesar disso, APis padrão foram desenvolvidas para
n1ouse ou interagir diretamente co1n os usuários. Para esse
os servidores Web chamarem os programas. A existência
propósito, é necessário ter scripts incorporados em páginas
dessas interfaces torna mais fácil para os desenvolvedores
HTML executadas na máquina cliente e não na máquina
estenderen1 diferentes servidores com aplicações Web. Ve-
servidora. A partir do HTML 4.0, esses scripts são per-
remos rapida1nente duas APls para lhe dar uma ideia do que
tnitidos com o uso da tag <script>. O padrão HTML atual
elas envolvem.
no1mahnente é chan1ado de HTMLS, que inclui 1nuitos
A primeira API é u1n método para lidar cotn solici- recursos sintáticos novos para a incorporação de multimí-
tações de página dinâ1nicas, que estão disponíveis desde dia e conteúdo gráfico em geral, incluindo as tags <video>,
o início da Web. Ele é chamado de CGI (Common Ga- <audio> e <canvas>. Particularmente, o elemento canvas
teway Interface) e está defmido na RFC 3875. CGI ofe- facilita a apresentação dinâmica de fonnas bidi1nensionais
,
rece uma interface para permitir que servidores Web falem e objetos bitrnap. E interessante que o elemento canvas
co1n programas de back-end e scripts que podem aceitar também possui várias considerações de privacidade, pois as
entrada (p. ex., formulários) e gerem páginas HTML em propriedades de canvas da HTML costumam ser exclusivas
resposta. Esses programas podem ser escritos em qualquer en1 diferentes dispositivos. As questões de privacidade são
linguage1n conveniente para o desenvolvedor, normalmen- significativas, pois a exclusividade desse elemento em dis-
te un1a linguagem de scripting para facilitar o desenvolvi- positivos de usuários individuais permite que os operadores
mento. Escolha entre Python, Ruby, Perl ou sua linguagem do site rastreiern os usuários, mesmo que estes excluam to-
favorita. dos os cookies de rastreatnento e bloqueiem seus scripts.
Por convenção, os progra1nas cha1nados via CGI re- A linguage1n de scripting mais popular para o lado do
sidem em um diretório chamado cgi-bin, visível no URL. cliente é o JavaScript, de modo que iremos examiná-la ra-
O servidor mapeia uma solicitação para esse diretório a pidamente agora. Muitos livros já foram escritos sobre ela
u1n nome de programa e executa esse progra1na como um (p. ex., Coding, 2019 e Atencio, 2020). Apesar das seme-
processo separado. Ele fornece quaisquer dados enviados lhanças nos nomes, JavaScript não te1n quase nada a ver
con1 a solicitação co1no entrada para o programa. A saída con1 a linguage1n de progra1nação Java. Con10 outras lin-
do progran1a fornece un1a página Web que é retornada ao guagens de scripting, essa é uma linguagem de nível mui-
navegador. to alto. Por exemplo, em uma única linha de JavaScript é
A segunda API que examinaremos é be1n diferente. possível mostrar uma caixa de diálogo, aguardar a entrada
A técnica aqui é embutir pequenos scripts dentro das pá- de texto e a1111azenar a string resultante em uma variável.
ginas HTML e fazer eles sere1n executados pelo próprio Recursos de alto nível como este tornam o JavaScript ideal
servidor para gerar a página. Uma linguagem popular para para projetar páginas Web interativas. Contudo, o fato de
escrever esses scripts é PHP (Hypertext Preprocessor). não ser padronizada e de mudar corn 1nuita rapidez torna
Para usá-la, o servidor precisa entender PHP, assim como extremamente difícil escrever programas em JavaScript
um navegador precisa entender CSS para interpretar as pá- que funcionem em todas as plataformas, mas talvez algum
ginas Web com folhas de estilo. Normalmente, os servido- dia essa linguagem se estabilize.
res identificam páginas Web contendo PHP pela extensão É 1nuito importante compreender que, embora PHP e
de arquivo php, e1n vez de htn1l ou ht1n. PHP é mais simples JavaScript pareça1n se1nelhantes por ambas as linguagens
de usar do que CGI, e é muito utilizada. incorporarem código em arquivos HTML, elas são proces-
Embora PHP seja fácil de usar, na realidade, trata-se sadas de fonna totalmente diferente. Com PHP, depois que
de tuna linguage1n de programação poderosa para a interfa- o usuário clica no botão de envio, o navegador reúne as
ce entre a Web e um banco de dados do servidor. Ela con- infonnações em uma longa string e as envia ao servidor
té1n variáveis, strings, arrays e a maior parte das estruturas como solicitação para uma página PHP. O servidor carrega
de controle encontradas e1n C, n1as tem u1n sistema de E/S o arquivo PHP e executa o script PHP que está inserido, a
muito 1nais poderoso do que apenas printj: PHP te1n código fi1n de produzir uma nova página HTML. Essa página é
fonte aberto, está disponível gratuitamente e é u1na lingua- enviada de volta ao navegador para exibição. O navegador
gem muito utilizada. Ela foi projetada especificamente para nern sequer sabe que ela foi produzida por um progran1a.
funcionar ben1 com o Apache, que também te1n código fon- Esse processamento aparece nas etapas de 1 a 4 da Figura
te aberto e é o servidor Web 1nais utilizado no mundo. 7.24(a).
426 Redes de computadores

Navegador Servidor Navegador Servidor


I
Usuário Usuário
I
~
1
,

~---+---1-: D
1 2
'
o
/

1
,
4 '- /
3 ' .,,
1
(a) Módulo PHP JavaScript (b)

Figura 7.24 (a) Scripting no lado do servidor com PHP. (b) Scripting no lado do cliente com JavaScript.

Com JavaScript, quando o botão de envio é acionado, TCP, embora a versão 1nais 1noden1a, HTTP/3, e1n geral
o navegador interpreta u1na função JavaScript contida na também roda sobre UDP. Ele especifica quais mensagens
página. Todo o trabalho é feito no local, dentro do navega- os clientes podem enviar para os servidores e quais respos-
dor - não há contato com o servidor. Esse processan1ento é tas recebem de volta. Os cabeçalhos de solicitação e respos-
mostrado como as etapas 1 e 2 da Figura 7.24(b). Em con- ta são dados em ASCII, assim como no SMTP. O conteúdo
sequência disso, o resultado é exibido quase instantane- é dado e1n fonnato tipo MIME, ta1nbé1n como no SMTP.
amente; no caso do script PHP, pode haver um atraso de Esse modelo simples foi en1 parte responsável pelo suces-
vários segundos antes de o código HTML resultante chegar so inicial da Web, pois si1nplificou o desenvolvin1ento e a
ao cliente. implantação.
Essa diferença não significa que o JavaScript seja me- Nesta seção, exarninarernos as propriedades mais
lhor que o PHP. Seus usos são completa1nente diferentes. i1nportantes do HTTP, confonne ele é usado atualmente.
O script PHP é usado quando é necessária a interação com Todavia, antes de entrar nos detalhes, temos de observar
um banco de dados no servidor. JavaScript (e outras lin- que o 1nodo como ele é usado na Internet está em evolução.
guagens no lado do cliente) é utilizado quando a interação O HTTP é um protocolo da camada de aplicação, pois roda
se dá co1n o usuário no computador cliente. Sem dúvida é ern cima do TCP e está bastante associado à Web. É por
possível combiná-los, como veremos em breve. isso que ele está sendo explicado neste capítulo. Contudo,
en1 outro sentido, o HTTP está se tornando mais un1 proto-
colo de transporte, que oferece um meio para os processos
7.3.4 HTTP e HTTPS comunicarem conteúdo entre os limites de diferentes redes.
Agora que já entendemos o conteúdo e as aplicações da Esses processos não precisarn ser um navegador Web nem
Web, é hora de examinarmos o protocolo usado para trans- un1 servidor Web. Um player de 1nídia poderia usar HTTP
portar toda essa itúormação entre os servidores e os clientes para falar co1n um servidor e solicitar informações do ál-
na Web. Ele é o HTTP (HyperText Transfer Protocol), bu1n. O software antivírus poderia usar HTTP para baixar
especificado na RFC 2616. Antes de entrarmos em muitos as atualizações mais recentes. Os desenvolvedores pode-
detalhes, é importante observarmos algumas distinções en- ria1n usar HTTP para buscar arquivos do projeto. Produtos
tre HTTP e sua versão segura, RTTPS (Secure RyperText eletrônicos de consu1no, como quadros de fotos digitais,
Transfer Protocol). Esses dois protocolos basicamente re- normalmente usam um servidor HTTP inserido co1no inter-
cuperam objetos da mesma n1aneira, e o padrão HTTP para face para o inundo exterior. A comunicação entre 1náquinas
recuperar objetos da Web está evoluindo de forma indepen- cada vez n1ais utiliza HTTP. Por exemplo, o servidor de
de de sua versão segura, que efetivamente usa o protocolo uma companhia aérea poderia entrar em contato com um
HTJ'P sobre um protocolo de transporte seguro, chamado servidor de uma locadora de veículos e fazer a reserva de
TLS (Transport Layer Security). Neste capítulo, vamos um ca1To, tudo co1no parte de u1n pacote de férias oferecido
nos ater aos detalhes do protocolo HTTP e como ele evoluiu pela co1npanhia aérea.
desde as primeiras versões até as versões mais modernas,
naquilo que é conhecido agora como HTTP/3. O Capítulo 8 Métodos
te1n 1nais detalhes sobre TLS, que efetivamente é o proto-
colo que transporta o HTTP, constituindo aquilo que pensa- Embora o HTTP tenha sido projetado para utilização na
mos ser o HTTPS. No restante desta seção, falaremos sobre Web, ele foi intencionalmente criado de modo rnais geral
HTTP; você pode pensar em HTTPS simplesmente como que o necessário, visando às futuras aplicações orientadas
um HTTP que é transportado sobre TLS. a objetos. Por essa razão, são aceitas operações chamadas
métodos, diferentes da simples solicitação de uma página
Web.
Visão geral
Cada solicitação consiste em uma ou 1nais linhas
HTTP é um protocolo simples, do tipo solicitação-respos- de texto ASCII, sendo a prüneira palavra da prüneira li-
ta. Suas versões convencionais normalmente rodam sobre nha o nome do método solicitado. Os métodos internos
Capítulo 7 • A camada de aplicação 427

Método Descrição Os métodos restantes não são niuito usados para na-
vegação na Web. O método PUT é o contrário de GET: em
GET Lê uma página Web vez de ler a página, ele escreve a página. Esse 1nétodo pos-
HEAD Lê um cabeçalho de página Web sibilita criar uma coleção de páginas Web en1 um servidor
re1noto. O corpo da solicitação contém a página. Ela pode
POST Acrescenta algo a uma página Web
ser codificada usando MIME, quando as linhas após o PUT
PUT Armazena uma página Web poderiam incluir cabeçalhos de autenticação, para provar
DELETE Remove a página Web que quem chamou reahnente tem permissão para realizar a
operação solicitada.
TRACE Ecoa a solicitação recebida
DELETE faz exatamente isso: exclui a página ou, pelo
CONNECT Conecta através de um proxy menos, indica que o servidor Web concordou em excluí-la.
OPTIONS Consulta opções para uma página A exemplo de PUT, a autenticação e a permissão têm papel
fundamental.
Figura 7.25 Os métodos internos de solicitações HTTP. O método TRACE serve para depuração. Ele instrui o
servidor a enviar de volta a solicitação. Esse método é útil
quando as solicitações não estão sendo processadas corre-
estão listados na Figura 7.25. Os non1es diferencia1n letras tamente e o cliente deseja saber qual solicitação o servidor
maiúsculas de minúsculas, portanto, GET é um método vá- recebeu de fato.
lido, 1nas get não é.
O 1nétodo CONNECT permite que um usuário faça
O método GET solicita ao servidor que envie a página
uma conexão com um servidor Web por meio de um dispo-
(ou "objeto", no caso mais genérico; mas pensar em uma
sitivo intermediário, corno urn cache Web.
página co1no o conteúdo de u1n arquivo é suficiente para
entender os conceitos). A página é codificada e1n MIME de O método OPT!ONS fornece um meio para que o
forma adequada. A maioria das solicitações a servidores da cliente consulte o servidor sobre urna página e obtenha os
Web tem a forma de métodos GET, com uma sintaxe sim- métodos e cabeçalhos que podem ser usados com ela.
ples. A forma co1num de GET é: Toda solicitação obtém u1na resposta que consiste
ern urna linha de status e, possivelmente, informações adi-
GET fi/ename HTTP/1.1
cionais (p. ex., un1a página Web ou parte dela). A linha de
onde filena1n.e identifica a página a ser buscada e 1. 1 é a status contém um código de status de três dígitos informan-
versão do protocolo que está sendo usado. do se a solicitação foi atendida e, se não foi , porque não.
O método HEAD solicita apenas o cabeçalho da men- O primeiro dígito é usado para dividir as respostas ern cinco
sagem, sem a página propria1nente dita. Ele pode ser usado grupos irnportantes, como 1nostra a Figura 7.26.
para reunir inforn1ações destinadas à indexação ou apenas Os códigos lxx raramente são usados na prática.
para testar a validade de um URL. Os códigos 2xx significa1n que a solicitação foi tratada com
O método POST é usado quando os formulários são sucesso, e que o conteúdo (se houver) está sendo retornado.
enviados. Assim como GET, ele conté1n um URL, 1nas, em Os códigos 3xx infonna1n ao cliente que ele deve procurar
vez de simplesmente capturar uma página, ele faz o upload en1 outro lugar, usando un1 URL diferente ou seu próprio
de dados para o servidor (ou seja, o conteúdo do fonnulário cache (conforme descreveremos 1nais adiante). Os códigos
ou parâmetros). O servidor, então, faz algo com os dados 4xx significa1n que a solicitação falhou devido a um e1To
que depende do URL, conceitualmente acrescentando os do cliente, co1no uma solicitação inválida ou u1na página
dados ao objeto. O efeito poderia ser comprar um item, por inexistente. Por fim, os erros Sxx significam que o próprio
exen1plo, ou chamar um procedimento. Finalmente, o mé- servidor tem um problema interno, causado por um erro em
todo reton1a uma página indicando o resultado. seu código ou por un1a sobrecarga temporária.

Código Significado Exemplos


1xx Informação 100 =servidor concorda em tratar da solicitação do cliente
2xx Sucesso 200 = solicitação com sucesso; 204 = nenhum conteúdo presente
3xx Redirecionamento 301 = página movida; 304 = página em cache ainda válida
4xx Erro do cliente 403 = página proibida; 404 = página não localizada
5xx Erro do servidor 500 =erro interno do servidor; 503 =tente novamente mais tarde

Figura 7.26 Os grupos de respostas de código de status.


428 Redes de computadores

Cabeçalhos de mensagens O cabeçalho User-Agent pennite ao cliente infonnar


ao servidor sobre sua implementação de navegador (p. ex.,
A linha de solicitação (p. ex., a linha com o método GET) Mozilla/5.0 e Chrome/ 74.0.3729.169). Essa informação é
pode ser seguida por linhas adicionais com 111ais infonna- útil para permitir que os servidores ajustem suas respostas
ções. Elas são chan1adas de cabeçalhos de solicitação. Es- ao navegador, pois diferentes navegadores pode111 ter capa-
sas infonnações podem ser comparadas co111 os parân1etros cidades e comportamentos variados.
de uma chamada de procediinento. As respostas também Os quatro cabeçalhos Accept infonnam ao servidor o
podem ter cabeçalhos de r esposta. Alguns cabeçalhos po- que o cliente está disposto a aceitar na eventualidade de ele
dem ser usados em um ou e111 outro sentido. Uma seleção ter um repertório limitado daquilo que é aceitável. O pri-
dos mais importantes é dada na Figura 7.27. Essa lista não meiro cabeçalho especifica os tipos MIME que são bem-
é curta, portanto, você pode imaginar que geralmente existe -vindos (p. ex., text/htrnl). O segundo fornece o conjunto de
uma série de cabeçalhos em cada solicitação e resposta. caracteres (p. ex., JS0-8859-5 ou Unicode-1-1). O terceiro

Cabeçalho Tipo Conteúdo


User-Agent Solicitação Informações sobre o navegador e sua plataforma

Accept Solicitação O tipo de páginas que o cliente pode manipular

Accept-Charset Solicitação Os conjuntos de caracteres aceitáveis para o cliente

Accept-Encoding Solicitação As codificações de páginas que o cliente pode manipular

Accept- Language Solicitação Os idiomas com os quais o cliente pode lidar

lf-Modified-Since Solicitação Data e hora para verificar atualização

lf-None-Match Solicitação Tags enviadas anteriormente para verificar atualização

Host Solicitação O nome DNS do servidor

Authorization Solicitação Uma lista das credenciais do cliente

Referrer Solicitação O URL anterior do qual a solicitação veio

Cookie Solicitação Cookie previamente definido, enviado de volta ao servidor

Set-Cookie Resposta Cookie para o cliente armazenar

Server Resposta Informações sobre o servidor

Content-Encoding Resposta Como o conteúdo está codificado (p. ex., gzip)

Content-Language Resposta O idioma usado na página

Content-Length Resposta O tamanho da página em bytes

Content-Type Resposta O tipo M IME da página

Content-Range Resposta Identifica uma parte do conteúdo da página

Last-Modified Resposta Data e hora da última modificação na página

Expires Resposta Data e hora de quando a página deixa de ser válida

Location Resposta Informa para onde o cliente deve enviar sua solicitação

Accept-Ranges Resposta Indica que o servidor aceitará solicitações de intervalos de bytes

Date Ambos Data e hora em que a mensagem foi enviada

Range Ambos Identifica uma parte de uma página

Cache-Control Ambos Diretivas para o modo de tratar caches

ETag Ambos Tag para o conteúdo da página

Upgrade Ambos O protocolo para o qual o t ransmissor deseja passar

Figura 7.27 Alguns cabeçalhos de mensagem HTTP.


Capítulo 7 • A camada de aplicação 429

lida co1n métodos de co1npressão (p. ex., gzip). O quarto que vários URLs se refiran1 à mes1na página (possiveln1en-
indica um idion1a natural (p. ex. , português). Se o servidor te e1n servidores distintos). Ele também é usado por em-
tiver uma opção de páginas, ele poderá usar essas informa- presas que tê1n uma página Web principal no domínio con1,
ções para fornecer o que o cliente está procurando. Se ele mas que redirecionam os clientes para u1na página nacio-
for incapaz de satisfazer a solicitação, será retornado u1n nal ou regional de acordo co1n seu endereço IP ou com seu
código de erro e a solicitação falhará. idio1na preferido.
Os cabeçalhos !f-Modified-Since e lj:None-Match Se uma página for muito grande, um cliente pequeno
são usados com o caching, que descreveremos e1n breve. talvez não queira recebê-la toda de uma vez. Alguns servi-
Eles permite1n que o cliente solicite uma página para que dores aceitarão solicitações de intervalos de bytes, de forma
seja enviada so1nente se a cópia e1n cacbe não for mais que a página possa ser obtida em várias unidades peque-
válida. nas. O cabeçalho Accept-Ranges anuncia a disposição do
Host é o cabeçalho que identifica o servidor. Ele é servidor para lidar com esse tipo de solicitação de páginas
retirado do URL. Esse cabeçalho é obrigatório, e é usado parc1a1s.
porque alguns endereços IP podem ter múltiplos nomes no Agora, chegamos aos cabeçalhos que pode1n ser usa-
DNS, e o servidor precisa ter algu1n meio de identificar o dos nos dois sentidos. Date pode ser usado nos dois senti-
hosta quem deve entregar a solicitação. dos e contém a data e a hora em que a mensage1n foi en-
O cabeçalho Authorization é necessário para páginas viada, enquanto o Range informa o intervalo de bytes da
protegidas. Nesse caso, o cliente talvez tenha de provar que página que é fornecida pela resposta.
tem direito de ver a página solicitada. Esse cabeçalho é usa- O cabeçalho ETag oferece u1na tag curta que serve
do para esse caso específico. con10 no1ne para o conteúdo da página. Ele é usado para
O cliente usa o cabeçalho Referer (que é um nome caching. O cabeçalho Cache-Control indica outras instru-
incorreto) para indicar o URL que se referiu (referred) ao ções explícitas sobre como manter as páginas em cache (ou,
URL que agora é solicitado. Nonnalmente, trata-se do URL como geralmente acontece, co1no não manter e1n cache).
da página anterior. Esse cabeçalho é particularmente útil Por fim , o cabeçalho Upgrade é usado para passar
para acompanhar a navegação na Web, pois informa aos para um novo protocolo de comunicação, como um futuro
servidores co1no un1 cliente chegou até a página. protocolo HTTP ou um transporte seguro. Ele permite que
Cookies são pequenos arquivos que os servidores o cliente anuncie o que ele pode aceitar e o servidor declare
gravam nos computadores clientes para 1nanter informa- o que está usando.
ções para uso posterior. Um exen1plo típico é um site de
con1ércio eletrônico que usa um cookie do lado do clien- Caching
te para rastrear o que ele pediu até agora. Cada vez que o
cliente adiciona um item ao carrinho de co1npras, o cookie As pessoas norn1almente reton1am às páginas Web que já
é atualizado para refletir o novo item pedido. Embora os viram antes, e páginas relacionadas quase sempre tên1 os
cookies sejam tratados na RFC 2109 e não na RFC 2616, mesmos recursos internos. Alguns exemplos são as ima-
eles também têm cabeçalhos. O cabeçalho Set-Cookie é gens usadas para navegação pelo site, bem como folhas de
o modo como os servidores enviam cookies aos clientes. estilo e scripts co1nuns. Seria um desperdício capturar todos
Espera-se que o cliente salve o cookie para que seja recu- esses recursos para as páginas toda vez que eles fore1n exi-
perado em solicitações subsequentes ao servidor usando o bidos, pois o navegador já mantém u1na cópia.
cabeçalho Cookie. (Observe que existe u1na especificação Guardar as páginas que são buscadas para uso sub-
mais recente para os cookies, com cabeçalhos mais novos, sequente é chamado caching. A vantagem é que, quando
a RFC 2965, mas ela foi em grande parte rejeitada pelo se- uma página em cache pode ser reutilizada, não é necessário
tor, e não é muito implementada.) repetir a transferência. O HTTP tem suporte interno para
Muitos outros cabeçalhos são usados nas respostas. ajudar os clientes a identificar quando eles podem reutilizar
O cabeçalho Server permite que o se1vidor identifique sua as páginas com segurança. Esse suporte melhora o desem-
versão de software, se desejar. Os cinco seguintes, todos penho, reduzindo tanto o tráfego quanto a latência na rede.
con1eçando co1n Content-, permitem ao servidor descrever A desvantagem é que o navegador agora precisa armaze-
, . . .
propriedades da página que está enviando. nar paginas, mas isso quase sempre compensa, pois o ar-
O cabeçalho Last-Modified informa quando a página mazenamento local é barato. As páginas normahnente são
foi 1nodificada pela última vez, e Expires informa por quan- mantidas em disco, para que possam ser usadas quando o
to te1npo ela pennanecerá válida. Esses dois cabeçalhos de- navegador for executado em outro 1nomento.
sempenham uma função importante no armazenan1ento de A questão dificil con1 o caching HTTP é como de-
páginas em cache. terminar que uma cópia previamente mantida em cache
Location é o cabeçalho usado pelo servidor para infor- representa a mesma página que seria exibida se fosse bus-
mar ao cliente que ele deve tentar outro URL. Pode ser usa- cada novamente no seividor. Essa detenninação não pode
do se a página tiver sido trocada de local ou para permitir ser feita unica1nente pelo URL. Por exe1nplo, o URL pode
430 Redes de computadores

indicar uma página que apresenta


. . o item de notícias mais para dizer isso (etapa 4a). Caso contrário, ele precisará en-
recente. O conteúdo dessa página será atualizado frequen- viar a resposta completa (etapa 4b).
temente, embora o URL continue sendo o mesmo. Co1no Outros campos do cabeçalho são usados para penni-
alternativa, o conteúdo da página pode ser u1na lista dos tir que o servidor verifique se u1na cópia en1 cache ainda é
deuses da 1nitologia grega e romana. Essa página deverá válida. O cliente tem a hora em que uma página e1n cache
mudar con1 muito 1nenos frequência. foi atualizada pela última vez, através do cabeçalho Last-
O HTTP usa duas estratégias para enfrentar esse pro- -Mod{fied. Ele pode enviar essa hora ao servidor usando o
blema. Elas são mostradas na Figura 7.28 como formas de cabeçalho lj:Modijied-Since para solicitar a página somen-
processa1nento entre a solicitação (etapa 1) e a resposta te se ela tiver sido alterada depois desse período. Há muito
(etapa 5). A primeira estratégia é a validação da página (eta- n1ais coisas a dizer sobre o caching, pois ele tem um efeito
pa 2). O cache é consultado e, se tiver uma cópia de uma n1uito grande sobre o desempenho, 1nas este não é o 1nelhor
página para o URL solicitado, sabe-se que ela é recente (ou lugar. Não é surpresa que haja tantos tutoriais na Web sobre
seja, ainda válida) e não é preciso buscá-la novamente do o assunto, que você poderá encontrar faci hnente procuran-
servidor. E1n vez disso, as páginas en1 cache pode1n ser re- do por "Web caching''.
tomadas diretamente. O cabeçalho Expires retorna quando
a página em cache foi buscada originalmente e a data e hora HTTP/1 e HTTP/1.1
atuais podem ser usadas para fazer essa determinação.
Nem todas as páginas vêm co1n um cabeçalho Expires O 1nodo habitual de um navegador entrar e1n contato com
conveniente, que informa quando a página deve ser buscada un1 servidor é estabelecer uma conexão TCP para a porta
novamente no servidor. Afinal, é dificil fazer previsões - es- 443 do HTTPS (ou para a porta 80 para o HTTP) na má-
pecialmente sobre o futuro. Nesse caso, o navegador pode quina servidora, e1nbora esse procedimento não seja exigi-
usar heurísticas. Por exemplo, se a página não tiver sido 1no- do formalmente. A vantagem de usar o TCP é que nem os
dificada no ano anterior (conforme informado pelo cabeça- navegadores nen1 os servidores têm de se preocupar com
U10 Last-Modijied), é bastante seguro apostar que não 1nuda- mensagens longas, confiabilidade ou controle de conges-
rá na próxima hora. Contudo, não há garantias, e essa pode tiona1nento. Todos esses assuntos são tratados pela imple-
ser uma escolha errada. Por exemplo, as ações do mercado mentação do TCP.
poderia1n ter fechado para o dia, de niodo que a página não Antigamente na Web, com o HTTP/ 1.0, depois que a
mudará por horas, nias ela 1nudará rapida1nente quando a conexão era estabelecida, uma única solicitação era enviada
próxin1a sessão de negociações co1neçar. Assim, a validade e unia única resposta era devolvida. Então, a conexão TCP
do cache de u1na página pode variar 1nuito com o tempo. Por era encerrada. En1 un1 inundo no qual as páginas Web típi-
esse motivo, as heurísticas devem ser usadas com cuidado, cas consistia1n inteira1nente e1n texto HTML, esse método
embora e1n geral funcione1n bem na prática. era adequado. Rapidamente, uma página comum continha
Encontrar páginas que não expiraran1 é o uso mais be- grandes números de links inseridos para conteúdo como
néfico do caching, pois significa que o servidor não preci- ícones e outros atrativos visuais. O estabeleci1nento de uma
sa ser contatado. Infelizmente, isso nem sempre funciona. conexão TCP separada para transportar um único ícone se
Os servidores precisam usar o cabeçalho Expires com cau- tomou um modo de operação muito dispendioso.
tela, pois eles pode1n não saber com certeza quando u1na Essa observação levou ao lançamento do HTTP/ 1.1 ,
página será atualizada. Assi1n, as cópias em cache ainda po- que admite conexões persistentes. Com elas, é possível es-
dem estar atualizadas, mas o cliente não sabe disso. tabelecer uma conexão TCP, enviar uma solicitação e obter
A segunda estratégia é usada nesse caso. Co1n ela, o uma resposta, e depois enviar solicitações adicionais e rece-
servidor responde se a cópia em cache ainda é válida. Essa ber respostas adicionais. Essa estratégia ta1nbén1 é chamada
solicitação é um GET condicional, e pode ser vista na eta- de reúso de conexão. Amortizando os custos da instalação,
pa 3 da Figura 7.28. Se o servidor souber que a cópia em início e liberação do TCP por várias solicitações, o overhe-
cache ainda é válida, ele poderá enviar uma resposta curta ad relativo devido ao TCP é muito menor por solicitação.

1: Solicitação 2: Verifica validade 3: GET condicional

D 4a: Não modificado

Cache

4b: Resposta
Navegador Web Servidor Web

Figura 7.28 Caching HTTP.


Capítulo 7 • A camada de aplicação 431

Ta1nbém é possível transportar as solicitações por pipeline, Por fim, na Figura 7.29(c), existe u1na conexão per-
ou seja, enviar a solicitação 2 antes de chegar a resposta à sistente e as solicitações são feitas por pipeline. Especifica-
solicitação 1. mente, a segunda e a terceira solicitações são enviadas em
A diferença de desempenho entre esses três casos apa- rápida sucessão assim que u1.na parte suficiente da página
rece na Figura 7.29. A parte (a) mostra três solicitações, principal tiver sido recuperada para identificar que as in1a-
uma após a outra, e cada uma em u1na conexão separada. gens deve1n ser buscadas. As respostas a essas solicitações
Vamos supor que isso represente uma página Web cotn chegam em seguida. Esse 1nétodo reduz o tempo de ocio-
duas imagens inseridas no mesmo servidor. Os URLs das sidade do servidor, de modo que melhora seu desempenho.
itnagens são detenninados à medida que a página principal Contudo, as conexões persistentes têm um preço a ser
é buscada, de modo que eles são buscados após a página pago. Um novo problema que elas geram é saber quando
principal. Atualmente, uma página típica tem cerca de 40 fechar a conexão. Uma conexão com u1n servidor deve per-
outros objetos que precisam ser buscados para apresentá- manecer aberta enquanto a página é carregada. E depois?
-la, 1nas isso tomaria nossa figura muito grande, e por isso Há uma boa chance de o usuário clicar en1 um link que so-
licite outra página do servidor. Se a conexão permanecer
usare1nos apenas dois objetos inseridos.
aberta, a próxima solicitação pode ser atendida imedia-
Na Figura 7.29(b), a página é buscada com u1na cone-
ta1.uente. Contudo, não há garantias de que o cliente fará
xão persistente. Ou seja, a conexão TCP é aberta no início, outra solicitação do servidor em pouco tempo. Na prática,
depois as mesmas três solicitações são enviadas, uma após clientes e servidores normalmente mantêm conexões per-
a outra, como antes, e somente então a conexão é fechada. sistentes abertas até que tenham ficado ociosos por um cur-
Observe que a busca é concluída mais rapidamente. Exis- to período (p. ex., 60 segundos) ou até que haja um gran-
tem dois motivos para o ganho de velocidade. Primeiro, de nú1nero de conexões abertas e algu1nas tenham de ser
não é gasto tempo no estabelecimento de conexões adicio- encerradas.
nais. Cada conexão TCP exige pelo menos un1 te1npo de ida O leitor atento pode ter notado que existe uma co1n-
e de volta para ser estabelecida. Segundo, a transferência binação que omiti1nos até aqui. També1n é possível enviar
das mesmas imagens prossegue mais rapidamente. Por que uma solicitação por conexão TCP, mas executar várias co-
isso acontece? Devido ao controle de congestionamento do nexões TCP em paralelo. Esse método de conexão paralela
TCP. No início de uma conexão, ele usa o procedimento foi bastante usado pelos navegadores antes das conexões
de partida lenta para aun1entar a taxa de transferência até persistentes. Ele tem a 1nes1na desvantagem das conexões
aprender o co1nportamento do ca1ninho da rede. A conse- sequenciais (overhead extra), porém, com desen1penho
quência desse período de aquecimento é que várias cone- muito melhor. Isso porque o estabelecimento e o au1nen-
xões TCP curtas levatn desproporcionalmente mais tempo to das conexões em paralelo esconde1n pa1te da latência.
para transferir informações do que uma conexão TCP inais Em nosso exe1nplo, as conexões para as duas iinagens
longa. inseridas poderia1n ser estabelecidas ao 1nesn10 tempo.

------------
Estabelecimento Solicitação
------------
Estabelecimento .-.-----------
Estabelecimento
da conexão da conexão da conexão
-----------r- HTIP ------------ ~-----------

Resposta
Sol icitaçõe~s::t
,1,
HTIP
por pipeline

------------
Estabelecimento
da conexão
Tempo -----------
l
------------
Estabelecimento
da conexão
------------

(a) (b) (c)

Figura 7.29 HTTP com (a) múltiplas conexões e solicitações sequenciais. (b) Uma conexão persistente e solicitações se-
quenciais. (c) Uma conexão persistente e solicitações por pipeline.
432 Redes de computadores

Contudo, executar muitas conexões TCP com o n1esmo ser- U1na ideia iinportante era n1anter a compatibilidade
vidor é algo desencorajado. O motivo é que o TCP realiza com versões anteriores. As aplicações existentes tinham
controle de congestionamento para cada conexão indepen- que funcionar com HTTP/2, mas as novas poderiam tirar
dente1uente. Como consequência, as conexões competem proveito dos novos recursos, para melhorar o dese1npenho.
entre si, causando 1nais perdas de pacotes e, em geral, são Por esse motivo, cabeçalhos, URLs e a semântica geral não
usuários mais agressivos da rede do que uma conexão indi- mudaram 1nuito. O que n1udou foi a fonna como tudo é
vidual. As conexões persistentes são superiores e são pre- codificado e o modo como clientes e servidores interagem.
feridas às conexões paralelas, pois evitam o overhead e não No HTTP/ 1.1, um cliente abre uma conexão TCP com um
sofrem com problemas de congestionamento. servidor, envia uma solicitação como texto, espera uma
resposta e, e1n muitos casos, fecha a conexão em seguida.
Isso é repetido tantas vezes quantas forem necessárias para
HTTP/2 buscar uma página Web inteira. No HTTP/2, uma conexão
HTTP/ LO já existe desde o início da Web, e HTTP/ 1.1 foi TCP é estabelecida e rnuitas solicitações podetn ser envia-
escrito em 2007. Por volta de 2012, já havia se passado das, en1 binário, possivelmente de fonna priorizada, e o ser-
um bom tempo, o IETF n1ontou u1n grupo de trabalho para vidor pode responder a elas em qualquer orde1n que desejar.
criar o que mais tarde se tomou o HTTP/2. O ponto de par- Somente depois que todas as solicitações tenham sido res-
tida foi un1 protocolo que o Google tinha idealizado ante- pondidas é que a conexão TCP é encerrada.
riormente, chamado SPDY. O produto final foi publicado Através de un1 mecanismo chamado server push, o
em maio de 2015, como RFC 7540. HTTP/2 permite que o servidor envie arquivos que ele já
sabe serem necessários, 1nas que o cliente pode não saber
O grupo de trabalho tinha vários objetivos que deve-
inicialmente. Por exe1nplo, se um cliente solicitar uma pá-
riam ser alcançados, incluindo:
gina Web e o servidor descobrir que ela usa un1a folha de
1. Permitir que clientes e servidores escolha1n qual ver- estilo e um arquivo JavaScript, ele pode enviá-los antes
são do HTTP usar. mes1no de eles serem solicitados. Isso elimina alguns atra-
2. Manter a compatibilidade com o HTTP/ 1.1 tanto sos. A Figura 7.30 mostra wn exemplo e1n que são obtidas
as n1es1nas inforn1ações (tuna página Web, sua folha de es-
quanto possível.
tilo e duas imagens) em HTTP/ l. l e HTTP/2.
3. Melhorar o desempenho com 1nultiplexação, pipel i- Observe que a Figura 7.30(a) é o 1nelhor caso para
ning, con1pactação, etc. HTTP/ 1.1 , em que várias solicitações podem ser envia-
4. Dar suporte às práticas existentes usadas nos navega- das consecutivamente pela mesma conexão TCP, 1nas
dores, servidores, proxies, redes de entrega e outros. as regras são que elas devem ser processadas e1n ordem

Servidor

c:-::s f . D Ili • =
:;:::
<J)
.Q Q)
:;::: Q)
~
<J)
Q) C\I "O
C\I ~

"'e
O>
"'
.5
O>

""a.
- "' "'s "'
o
<J)
Q)
Q)
"O
.s::.
~

E
Q)
E
Q)
O>
C\I
E
Q)
O>
E
Q)
O>

E
"'e
..,
O>
-
õ
"'
.s::.

+
~

E
Q)
E
Q)
C\I
E
Q)
O>
E
Q)

"'E "'E
O>

..,"'
Q)

""a.
- - .-.,"' -"' - -"' -"'
O>
a.
"O
"' .,
."' "'
.2
.s
O>

"' .s"' ."'s


O>

·"'"'o <J)
Q)
"'
.s::.
o
E
<J)
·nl
"""'oo
e
O>

-
""a. ·.2""'' :"'2 -
"' "'
•nl
<J)
•nl
]j
-"'
<J)
Q)
·-::J :2o
Q)
~
<J) Q)
::J Q)
:§ ·:;
-
(J)
(J) O'
<(
:2 ::J
O'
o
(J)
O'
<(
(J)
::J
O'
<(
"'
•nl o õ
(J) (J)
O'
<(
::J
O'
<(
o <( < J)
Q)
(J)

~
Usuário
... ~ ~ ,.;;::.

Tempo Tempo
(a) (b)

Figura 7.30 (a) Obtendo uma página Web em HTTP/1.1. (b) Obtendo a mesma página em HTTP/2.
Capítulo 7 • A camada de aplicação 433

e os resultados enviados de volta também em ordem . extremidade de servidor, o HTTP/3 pennite que o cliente
No HTTP/2 [Figura 7.30(b)], as respostas podem retor- reutilize essa mesma conexão com vários URLs diferentes.
nar e1n qualquer orden1. Por exemplo, se a imagen1 1 for HTTP/3, rodando HTTP sobre QUIC, promete muitas
muito grande, o servidor pode enviar a imagem 2 pri1neiro, melhorias de desempenho possíveis sobre HTTP/2, prin-
de 1nodo que o navegador possa começar a exibir a página cipalmente em vütude dos beneficios que o QUIC oferece
con1 a imagem 2 antes mesmo de a i1nagen1 1 estar disponí- para HTTP versus TCP. De certa fonna, QUTC pode ser vis-
vel. Isso não é pennitido no HTTP/ 1.1. Além disso, observe to como a próxima geração do TCP. Ele oferece configura-
que, na Figura 7.30(b), o servidor enviou a folha de estilo ção de conexão se1n viagens de ida e volta adicionais entre
sem que o navegador a pedisse. cliente e servidor; no caso em que uma conexão anterior
Além do pipelining e 1nultiplexação de solicitações foi estabelecida entre o cliente e o servidor, um restabeleci-
na 1nesma conexão TCP, o HTTP/2 compacta os cabeça- 111ento da conexão de ida e volta zero é possível, desde que
lhos e os envia em binário para reduzir o uso da largura um segredo da conexão anterior tenha sido estabelecido e
de banda e a latência. Uma sessão HTTP/2 consiste e1n armazenado em cache. O QUIC garante entrega de bytes
u1na série de quadros, cada um com um identificador se- confiável e em orde1n, dentro de um único fluxo, mas não
parado. As respostas pode1n voltar em uma ordem dife- oferece qualquer garantia co1n relação aos bytes e1n outros
rente das solicitações, como na Figura 7.30(b), 1nas cotno fluxos QUIC. Ele pem1ite a entrega fora de orde1n em u1n
cada resposta carrega o identificador da solicitação, o na- fluxo, mas o HTTP/3 não faz uso desse recurso. HTTP/3 so-
vegador pode detenninar a qual solicitação cada resposta bre QUIC será executado exclusivamente usando HTTPS;
corresponde. as solicitações para (cada vez 1nais obsoletos) URLs HTTP
não serão atualizadas para usar HTTP/3. Para obter mais de-
A criptografia foi u1n ponto sensível durante o de-
talhes sobre o HTTP/3, consulte https://http3.net.
senvolvimento do HTTP/2. Algumas pessoas queriam
muito e outras se opunham igualinente. A oposição estava
principahnente relacionada às aplicações da IoT, em que 7.3.5 Privacidade na Web
a "coisa" não tem 1nuito poder de con1putação. No final,
a criptografia não foi exigida pelo padrão, 1nas todos os Uma das maiores preocupações nos últi1nos anos te1n sido
navegadores a exigetn, então ela de fato existe de qualquer os proble1nas de privacidade associados à navegação na
maneira, pelo 1nenos para a navegação na Web. Web. Sites Web, aplicações Web e terceiros costumam
usar mecanis1nos e1n HTTP para rastrear o comporta-
1nento do usuário, tanto no contexto de um único site ou
HTTP/3 aplicação Web quanto na Internet como um todo. Além
HTTP/3, ou simples1nente H3, é a terceira revisão prin- disso, os invasores podem explorar vários canais laterais
cipal do HTTP, projetado co1no um sucessor do HTTP/2. de infortnações no navegador ou dispositivo para rastrear
Sua principal diferença é o protocolo de transporte usado os usuários. Esta seção descreve alguns dos 1necanismos
para dar suporte às 1nensagens HTTP: em vez de depen- usados para rastrear usuários e identificar e dispositivos
der do TCP, ele depende de un1a versão au1nentada do individuais.
UDP chamada QUIC, que conta com o controle de con-
gestionamento do espaço do usuário executado ern cima Cookies
do UDP. O HTTP/3 começou si1nplesn1ente como HTTP- Uma forma convencional de Ílnplementar o rastreamento
-over-QUIC e se tomou a última revisão principal proposta é colocar um cookie (na verdade, uma pequena quanti-
para o protocolo. Muitas bibliotecas de código aberto que dade de dados) nos dispositivos do cliente, que ele pode
suporta1n lógica de cliente e servidor para QUTC e HTTP/3 enviar de volta e1n visitas subsequentes a vários sites.
estão disponíveis, em linguagens que incluem C, C++, Quando urn usuário solicita um objeto da Web (p. ex.,
Python, Rust e Go. Servidores Web populares, incluindo u1na página Web), un1 servidor Web pode colocar um pe-
nginx, agora também oferecem suporte a HTTP/3 por meio daço de estado persistente, chamado de cookie, e1n seu
de patches. dispositivo, usando a diretiva "set-cookie" do HTTP.
O protocolo de transporte QUIC oferece suporte a Os dados passados para o dispositivo do cliente usando
multiplexação de strean1 e controle de fluxo por strea1n, esta diretiva são então arn1azenados localmente no dispo-
semelhante ao oferecido no HTTP/2. A confiabilidade no sitivo. Quando o dispositivo visitar esse do1nínio da Web
nível de fluxo e o controle de congestionamento em toda a no futuro, a solicitação HTTP passará o cookie, além da
conexão podem melhorar drastica1nente o dese1npenho do própria solicitação.
HTTP, já que as infonnações de congestionamento podem Cookies HTTP "prünários" (ou seja, aqueles definidos
ser compartilhadas entre as sessões e a confiabilidade pode pelo domínio do site que o usuário pretende visitar, como um
ser amortizada por várias conexões que buscam objetos site de con1pras ou de notícias) são úteis para 1nelhorar a ex-
em paralelo. Uma vez existindo uma conexão com uma periência. Por exemplo, os cookies são bastante usados para
434 Redes de computadores

preservar o estado en1 uma "sessão" da Web. Eles permitem en1 um conjunto de sites, semelhante aos cookies de ras-
que u1n site rastreie informações úteis sobre o comportamen- treamento da Web usados por redes de anúncios e provedo-
to contínuo de um usuário em un1 site, por exemplo, se ele res de aplicativos.
recentemente se conectou ao site ou quais itens colocou em
um carrinho de cotnpras. Trackers de terceiros
Os cookies definidos por um domínio normalmen-
te são visíveis apenas para ele mesmo. Por exemplo, uma Os cookies da Web que se originam de u1n domínio de ter-
rede de publicidade pode definir u1n cookie no dispositi- ceiros, usados em muitos sites, podem permitir que uma
vo de um usuário, 1nas terceiros não podem fazê-lo. Essa rede de publicidade ou outros terceiros rastreiem os hábi-
política de segurança da Web, chamada de política de tos de navegação de um usuário em qualquer site e1n que
mesma origem, evita que uma parte leia um cookie que esse software de rastreamento esteja itnplantado (ou seja,
foi defi11ido por outra parte e, em certo sentido, pode li- qualquer site que contenha seus anúncios, botões de com-
mitar como são compartilhadas as informações sobre urn partilharnento ou outro código incorporado). Redes de pu-
usuário individual. blicidade e outros terceiros normalmente rastreiam os pa-
drões de navegação de um usuário por todos os sites que
Embora os cookies primários sejam frequentemente
ele navega, geralmente usando software de rastrearnento
usados para melhorar a experiência do usuário, terceiros,
baseado em navegador. Ern alguns casos, um terceiro pode
como anunciantes e empresas de rastreamento, também po-
desenvolver seu próprio software de rastrean1ento (p. ex.,
deo1 definir cookies em dispositivos clientes, o que pode
software de análise da Web). E1n outros casos, eles podem
permitir que eles rastreiem os sites que os usuários visitam
usar um serviço de terceiros diferente para coletar e agregar
enquanto navegam por toda a Internet. Esse rastrearnento
esse cornportamento nos sites.
ocorre da seguinte fortna:
Os sites podern pennitir que redes de publicidade e
1. Quando um usuário visita um site, além do conteúdo outros rastreadores de terceiros operem em suas páginas,
que ele solicita diretamente, o dispositivo pode carre- permitindo-lhes coletar dados analíticos, anunciar em ou-
gar conteúdo de sites de terceiros, inclusive de domí- tros sites (chamado de redirecionamento) ou rnonetizar
nios de redes de publicidade. CarTegar un1 anúncio ou o espaço de publicidade disponível por meio da inserção
script de terceiros pennite que essa parte defina um de anúncios cuidadosamente direcionados. Os anuncian-
cookie exclusivo no dispositivo do usuário. tes coletam dados sobre os usuários usando vários me-
2. Mais tarde, esse usuário pode visitar diferentes sites canismos de rastreamento, co1no cookies HTTP, objetos
na Internet que carregam objetos da Web do mesmo HTMLS, JavaScript, identificação de dispositivo, identifi-
terceiro que definiu as infonnações de rastreamento cação de navegador e outras tecnologias co1nuns da Web.
em um site diferente. Quando um usuário visita vários sites da Web que utilizam
a mesma rede de publicidade, essa rede reconhece o dis-
Un1 exemplo comum dessa prática pode ser dois sites positivo do usuário, permitindo acompanhá-lo na Web ao
diferentes que usam a mesma rede de publicidade para vei- longo do tempo.
cular anúncios. Nesse caso, a rede de publicidade veria: (1) Usando u1n software de rastrearnento desse tipo, um
o dispositivo do usuário retomar o cookie que definiu em terceiro ou rede de publicidade pode descobrir as interações
urn site diferente; (2) o cabeçalho de solicitação referer do de um usuário, rede social e contatos, curtidas, interesses,
HTIP que aco1npanha a solicitação para carregar o objeto compras, e assim por diante. Essas infonnações podem
do anunciante, indicando o site original que o dispositivo permitir saber se u1n anúncio resultou em un1a con1pra, o
do usuário estava visitando. Essa prática é comumente co- mapea1nento de relacionamentos entre pessoas, a criação
nhecida como rastreamento entre sites. de perfis detalhados de rastreamento de usuário, conduta de
Super cookies e outros identificadores de rastrea- publicidade altamente direcionada e muito mais, devido à
mento armazenados localmente, que um usuário não pode an1plitude e ao escopo do rastrea1nento.
controlar corno faria com os cookies nonnais, podem per- Mesmo nos casos em que alguém não é um usuário
mitir que un1 intermediário rastreie urn usuário ern sites da registrado de um serviço específico (p. ex., site de mídia so-
Web ao longo do ten1po. Os identificadores exclusivos po- cial, mecanismo de busca), parou de usá-lo ou se desconec-
dem incluir itens como identificadores de rastreamento de tou desse serviço, n1uitas vezes ainda está sendo rastreado
terceiros codificados em cabeçalhos HTTP (especificamen- exclusivamente por rastreadores de terceiros (e p1imá1ios).
te, HSTS - HTTP Strict Transport Security) que não são Os rastreadores de terceiros estão cada vez mais concentra-
apagados quando um usuário apaga seus cookies e marca dos etn alguns grandes provedores.
que urn terceiro intermediário, como um ISP móvel, pode Além do rastreamento de terceiros com cookies, os
inserir tráfego da Web não criptografado que atravessa um mesmos anunciantes e rastreadores de terceiros podem
segmento da rede. Isso permite que terceiros, con10 anun- rastrear o comportamento de navegação do usuário com
ciantes, construam urn perfil da navegação de um usuário técnicas como identificação da tela (um tipo de impressão
Capítulo 7 • A camada de aplicação 435

digital do navegador), repetição da sessão (em que é pos- rede podem fazer vários dispositivos en1 u1na rede
sível ver uma reprodução de cada interação do usuário teren1 o mesmo endereço IP público. Suponha que
com uma página da Web em particular) e até mesmo a um usuário visite um site a partir de um dispositivo
exploração do recurso de "preenchimento auto1nático" móvel (p. ex., um smartphone) que ele utiliza em
de un1 navegador ou gerenciador de senhas para enviar casa e no trabalho. Utn terceiro pode definir informa-
de volta dados de fonnulários da Web, en1 geral antes ções de endereço IP nos cookies do dispositivo. Esse
mesmo de o usuário preencher o formulário. Essas tec- usuário pode então aparecer a partir de dois endereços
nologias mais sofisticadas podem fornecer informações IP públicos, um no trabalho e outro em casa, e esses
detalhadas sobre o comportamento do usuário e seus da- dois endereços IP podem estar vinculados ao mesmo
dos, incluindo detalhes minuciosos, co1no rolagens e cli- cookie de terceiros; se o usuário visitar esse terceiro
ques do mouse, e até mesmo, en1 alguns casos, o nome de a partir de dispositivos diferentes que cotnpartilham
usuário e senha para um determinado site (que pode ser um desses dois endereços IP, esses dispositivos adi-
intencional por parte do usuário ou não intencional por cionais podem ser vinculados ao 1nesmo usuário com
parte do site). alta confiança.
Um estudo recente sugere que casos específicos de
O rastreamento entre dispositivos geraln1ente usa uma
software de rastreamento de terceiros são sutis. O mes-
combinação de técnicas determinísticas e probabilísticas;
mo estudo també1n descobriu que os sites de notícias tê1n
o maior número de grupos de rastrea1nento de qualquer muitas delas não exigem que o usuário esteja togado em ne-
site primário - outras categorias populares para rastrea- nhum site para ativar esse tipo de rastreamento. Por exem-
mento incluem sites de artes, espot1es e compras na Web. plo, algu1nas partes oferece1n serviços de "análise" que,
O rastreamento entre dispositivos refere-se à prática de quando incorporados e1n muitos sites priinários, permitem
vincular atividades de u1n único usuário em vários dis- que terceiros rastreie1n u1n usuário e1n sites e dispositivos.
positivos (p. ex., smartphones, tablets, desktops e outros Terceiros gerahnente trabalham juntos para rastrear usuá-
"dispositivos inteligentes"), a fim de rastrear o comporta- rios em dispositivos e serviços usando uma prática chama-
mento de um usuário mesmo quando ele usa dispositivos da sincronização de cookies, descrita com mais detalhes
diferentes. posteriormente nesta seção.
Certos aspectos do rastreamento entre dispositivos O rastrearnento entre dispositivos permite uma de-
pode1n 1nelhorar a experiência do usuário. Como ocorre dução 1nais sofisticada das atividades de 1nais alto nível
con1 os cookies en1 um único dispositivo ou navegador, do usuário, un1a vez que os dados de diferentes disposi-
essa prática pode permitir que um usuário mantenha uma tivos pode1n ser combinados para construir un1a i1nage1n
experiência transparente ao passar de um dispositivo para mais abrangente da atividade de um usuário individual.
o outro (p. ex., continuar a ler um livro ou assistir a um Por exemplo, os dados sobre a localização de um usuário
filme do lugar onde parou). O rastreamento entre dispo- (confonne coletados de um dispositivo móvel) podem ser
sitivos também pode ser útil para prevenir fraudes - por co1nbinados com o histórico de pesquisa e co1n atividade
exemplo, um provedor de serviços pode perceber que um de rede social (como "curtir") para detenninar se ele visi-
usuário se conectou a partir de um dispositivo desconheci- tou fisicamente tuna loja após um pesquisa ou exposição de
do em um local completamente novo. Quando u1n usuário publicidade on-line.
tenta fazer u1n login de um dispositivo não reconhecido,
u1n provedor de serviços pode tomar medidas adicio- Identificação de dispositivo e navegador
nais para autenticá-lo (p. ex., con1 a autenticação de dois
fatores). Mesmo quando os usuários desabilita1n mecanismos co-
muns de rastreamento, como cookies de terceiros, eles
O rastreamento entre dispositivos é mais comum por
serviços primários, con10 provedores de serviços de e-1nail, ainda podern ser rastreáveis co1n base nas infonnações am-
provedores de conteúdo (p. ex., serviços de streaming de bientais, contextuais e do dispositivo, que este retorna ao
vídeo) e sites de comércio, mas terceiJos ta1nbém estão se servidor. Com base na coleta dessas infonnações, um ter-
tornando cada vez mais adeptos a essa prática. ceiro pode ser capaz de identificar de forn1a exclusiva, ou
"fazer a impressão digital", um usuário em diferentes sites
1. O rastreamento entre dispositivos pode ser determi- e ao longo do te1npo.
nístico, com base em um identificador persistente, Um método de identificação bem conhecido é uma téc-
como u1n login vinculado a um usuário específico. nica chamada identificação de tela, em que a tela HTML
2. O rastreamento entre dispositivos também pode ser é usada para identificar um dispositivo. A tela HTML per-
probabilístico; o endereço IP é um exemplo de um mite que uma aplicação Web desenhe gráficos em tempo
identificador probabilístico que pode ser usado para real. As diferenças na renderização, suavização, di1nen-
itnplementar o rastrea111ento entre dispositivos. Por sões e alguns outros recursos da fonte pode1n fazer cada
exemplo, tecnologias como tradução de endereço de dispositivo desenhar u1na imagem de maneira diferente, e
436 Redes de computadores

os pixeis resultantes pode1n servir co1no u1na identificação levar n1ais ou nlenos tempo, dentro de certos limites, sem
do dispositivo. A técnica foi descoberta pela pri1neira vez que isso cause um grande problema.
em 2012, mas não foi trazida à atenção do público antes de Duas coisas aconteceram para permitir esse cresci-
2014. En1bora tenha havido u1na reação na época, 1nuitos mento. Primeiro, os computadores se tomaram muito mais
rastreadores continuam a usar a identificação de tela e téc- poderosos e são equipados com microfones e câmeras, de
nicas relacionadas, como a identificação da fonte da tela, n1odo que podem inserir, processar e enviar dados de áudio
que identifica um dispositivo com base na lista de fontes do e vídeo com facilidade. Segundo, un1a enxurrada de largu-
navegador; un1 estudo recente descobriu que essas técnicas ra de banda da Internet passou a estar disponível. Enlaces
ainda estão presentes em 1nilhares de sites. Os sites também de longa distância no núcleo da Internet utilizam 1nuitos
podem usar APls do navegador para obter outras informa- gigabits/s, e as redes de banda larga e sem fio 802.11 cal-
ções para rastrear dispositivos, incluindo o status da bateria, cançam usuários na borda da Internet. Esses desenvolvi-
por exemplo, que pode ser usado para rastrear um usuário n1entos pennitem que os ISPs execute1n grandes níveis de
com base no nível de carga e no tempo de descarregamento. tráfego por seus backbones e significam que os usuários
Outros relatórios descrevem como a descoberta do status da comuns podem se conectar à Internet de 100 a 1.000 vezes
bateria de um dispositivo pode ser usada para rastrear um nlais rápido do que com um nlodem de telefone a 56 kbps.
dispositivo e, portanto, associá-lo a u1n usuário (Olejnik et O au1nento de largura de banda causou o crescimento
ai., 2015). do tráfego de áudio e vídeo, mas por motivos diferentes.
As ligações telefônicas ocupam relativamente pouca largu-
ra de banda (em princípio, 64 kbps, porém menos quando
Sincronização de cookies compactadas), embora o serviço telefônico tradicionalmen-
Quando diferentes rastreadores de terceiros compartilham te seja caro. As empresas vira1n uma oportunidade para
informações uns co1n os outros, essas partes podem rastre- transportar o tráfego de voz pela Internet usando a largura
de banda existente, para reduzir suas contas telefônicas.
ar um usuário individual, mesmo enquanto ele visita sites
Etnpresas como Skype viram um modo de permitir que os
que tên1 diferentes 1necanis1nos de rastreamento instalados.
clientes façarn ligações telefônicas gratuitas usando suas
A sincronização de cookies é dificil de detectar e tam-
conexões com a Internet. Companhias telefônicas que sur-
bém facilita a fusão de conjuntos de dados sobre usuários
gira1n do nada vira1n um nlodo barato de realizar cha1nadas
individuais entre terceiros distintos, criando significativas
de voz tradicionais usando equipamento de rede IP. O resul-
preocupações de privacidade. Um estudo recente sugere
tado foi uma explosão de dados de voz transportados pelas
que a prática de sincronização de cookies é 1nuito comum
redes da Inten1et, o que é chamado telefonia via Internet,
entre os rastreadores de terceiros.
discutida na Seção 7.4.4.
Diferentemente do áudio, o vídeo ocupa u1na gran-
de quantidade de largura de banda. O vídeo pela Internet
com qualidade razoável é codificado com compressão, re-
7.4 STREAMING DE ÁUDIO E VÍDEO sultando e.tu um fluxo de aproximadamente 8 Mbps para
4K (o que significa 7 GB para urn fihne de duas horas).
As aplicações da Web e de e-1nail não são os únicos desen-
Antes do acesso à Inten1et por banda larga, o envio de fil-
volvimentos interessantes no uso de redes. Para muitas pes-
mes pela rede era proibitivo. Isso não é mais assim. Com a
soas, áudio e vídeo são o Santo Graal das redes. Quando a
ampla utilização da banda larga, foi possível pela primeira
palavra "multünídia" é mencionada, tanto a vanguarda tec-
vez que os usuários assistissein em casa a um vídeo por
nológica quanto os empresários começam a ficar com água demanda co1n qualidade decente. As pessoas gostam rnuito
na boca. O primeiro grupo consegue ver imensos desafios disso. Estima-se que cerca de um quarto dos usuários da
técnicos ao oferecer voz sobre IP e vídeo por de1nanda com Internet visite diariamente o YouTube, um site popular de
8K a cada computador. O últi1nos enxergam enormes lucros compartilhamento de vídeo. O negócio de aluguel de fi lmes
.
com ISSO. se transfonnou en1 downloads on-line. E o grande tamanho
Embora a ideia de enviar áudio e vídeo pela Internet dos vídeos ten1 mudado a con1posição geral do tráfego da
já exista pelo menos desde a década de 1970, somente por Internet. A maior parte do tráfego da Internet já é de vídeo,
volta de 2000 é que o tráfego de áudio em tempo real e de e estima-se que 90% do tráfego da Internet, dentro de al-
vídeo em tempo real cresceu mais intensamente. O tráfego guns anos, será de vídeo.
em tempo real é diferente do tráfego da Web porque preci- Co1no existe largura de banda suficiente para trans-
sa ser reproduzido em alguma velocidade predeterminada portar áudio e vídeo, a questão principal para desenvolver
para que seja útil. Afinal, assistir a un1 vídeo em câmera aplicações de streaming de rnídia e teleconferência é o
lenta, com várias interrupções, não é uma ideia de diversão atraso de rede. Áudio e vídeo precisam de apresentação em
para a maioria das pessoas. Ao contrário, a Web pode ter tempo real, significando que eles têm de ser reproduzidos
intern1pções curtas, e os carrega1nentos de página podem ern tuna velocidade predeterminada para que sejam úteis.
Capítulo 7 • A camada de aplicação 437

Longos atrasos significam que as cha1nadas que deveriam em especial os cães, podem ouvir frequências 1nais altas.
ser interativas deixam de sê-lo. Esse problema é claro se Os ouvidos percebem os sons no 1nodo logarít1nico, portanto,
você já tiver falado e1n um telefone por satélite, quando a razão de dois sons com potência A e B é, por convenção,
o atraso de subida de meio segundo é bastante incômodo. expressa e1n dB (decibéis), como a quantidade 10 log10(A/B).
Para tocar música e filmes pela rede, o atraso absoluto não Se defininnos o limite míni1no de audibilidade (uma pressão
i1nporta, pois afeta apenas quando a 1nídia co1neça a ser re- sonora de cerca de 20 ppascals) para uma onda senoidal
produzida. Mas a variação no atraso, chamada jitter, ainda de 1 KHz cotno O dB, uma conversa normal terá cerca de
itnporta. Ela precisa ser 1nascarada pelo player ou então o 50 dB, e o lirnite máximo tolerável será de aproxi1nadamente
áudio não será inteligível e o vídeo terá interrupções. 120 dB, um intervalo dinâmico de mais de um milhão.
A propósito, o termo multimídia normalmente é usa- O ouvido humano é surpreendentemente sensível a
do no contexto da Internet para indicar vídeo e áudio. Lite- variações de son1 que duram apenas milésimos de segundo.
ralmente, 1nultimídia significa dois ou rnais tipos de mídia. O olho, ao contrário, não percebe 1nudanças no nível da luz
Essa definição torna este livro uma apresentação em mul- que durem por n1enos de alguns milissegundos. O resultado
timídia, pois contém texto e gráficos (as figuras). Contu- dessa observação é que a flutuação de apenas alguns milé-
do, provavelmente não era isso que você tinha em mente, simos de segundo durante uma transmissão de nlultimídia
e portanto usarnos o tenno " multin1ídia" para indicar dois afeta n1ais a qualidade do som percebido do que a qualidade
ou n1ais tipos de mídia contínua, ou seja, que precisa ser da i1nagem percebida.
reproduzida durante algum intervalo de tempo bem defi- O áudio digital é tuna representação digital de tuna
nido. Os dois tipos de mídia normalmente são vídeo ,
com onda de áudio que pode ser usada para recriá-lo. As ondas
áudio, isto é, imagens em movimento com som. Audio e de áudio podem ser convertidas para a forma digital por um
cheiro pode levar algum tempo. Muitas pessoas se referem conversor analógico-digital, ou ADC (Analog-to-Digital
ao áudio puro, como a telefonia via Internet ou o rádio via Converter). U1n ADC recebe u1na tensão elétrica co1no
Internet, ta1nbé1n con10 multirnídia, o que logica1nente não entrada e gera um número binário como saída. Na Figura
é exato. Na realidade, um termo 1nelhor para todos esses 7.3l(a) podemos ver um exemplo de uma onda senoidal.
casos é streaming de mídia. Apesar disso, vamos acom- Para representar esse sinal na forma digital, podemos obter
panhar a maioria e considerar o áudio em te1npo real como amostras a cada D.T segundos, como indicam as alturas das
sendo ta1nbém multimídia. barras na Figura 7.3I(b). Se um sinal sonoro não for uma
onda senoidal pura, mas sim uma superposição linear de
ondas senoidais, em que o componente de frequência 1nais
7.4.1 Áudio digital alto presente é,f, o teoren1a de Nyquist (ver Capítulo 2) diz
Um sinal de áudio (som) é uma onda acústica (de pressão) que é suficiente obter a1nostras a uma frequência 2f Usar
unidimensional. Quando uma onda acústica entra no ouvi- uma taxa de amostragem 1naior não é interessante, pois as
do, o tímpano vibra, fazendo os minúsculos ossos do ouvi- frequências n1ais altas que essa an1ostragem poderia detec-
do interno vibrarem também, enviando impulsos nervosos tar não estão presentes.
ao cérebro. Esses pulsos são percebidos como sons pelo ou- O processo inverso captura valores digitais e produz
vinte. Da mes1na forn1a, quando urna onda acústica chega a uma tensão elétrica analógica. Isso é feito por um conver-
um microfone, ele produz un1 sinal elétrico, representando sor digital-analógico, ou DAC (Digital-to-Analog Con-
a an1plitude do som co1no un1a função do tempo. verter). Utn alto-falante pode, então, converter a tensão
A faixa de frequências sonoras captadas pelo ouvido hu- analógica em ondas acústicas, para que as pessoas possam
.
mano começa em 20 e chega a 20.000 Hz. Alguns anirnais, ouvir os sons.

T T

(e)

Figura 7.31 (a) Uma onda senoidal. (b) Amostragem da onda senoidal. (e) Quantização das amostras para 4 bits.
438 Redes de computadores

Compressão de áudio un1 exe1nplo de função no tempo e suas amplitudes de Fou-


rier na Figura 2.12(a). A amplitude de cada con1ponente é
O áudio nonnalmente é con1prilnido para reduzir as neces- então codificada de modo minimo. O objetivo é reproduzir
sidades de largura de banda e tempos de transmissão, em- com precisão a forma de onda na outra extremidade, com a
bora as taxas de dados de áudio sejam muito menores do 111enor quantidade de bits possível.
que as de dados de vídeo. Todos os sistemas de compressão O outro 1nodo, cha1nado de codificação perceptiva,
exigem dois algorit1nos: un1 para compri1nir os dados na explora certas falhas no sistema auditivo para codificar um
orige1n e outro para descomprilni-los no destino. Na litera- sinal que soe da mesma forma para un1 ouvinte hu1nano,
tura, esses algoritmos são conhecidos como algoritmos de ainda que pareça bem diferente em um osciloscópio. A co-
codificação e decodificação, respectiva1nente. Usare1nos dificação perceptiva se baseia na ciência da psicoacústica
essa terminologia també1n. - a forma co1no as pessoas percebe1n o som. MP3 e AAC
Os algoritmos de compressão exiben1 certas assime- são baseados nela.
trias importantes para sere1n co1npreendidas. E1nbora es- A codificação perceptiva domina os siste1nas mo-
tejamos considerando prÍlneiro o áudio, elas se 1nantêm dernos de multimídia, e por isso va1nos examiná-la em
também para o vídeo. A primeira assimetria se aplica à seguida. Sua principal propriedade é que alguns sons po-
codificação do 1naterial de origem. Para n1uitas aplicações, dem 1nascarar outros. Por exemplo, i1nagine que você es-
um docu1nento de multimídia só será codificado uma vez teja transmitindo um concerto de flauta ao vivo em um dia
(quando for armazenado no servidor de 1nultimídia), mas quente de verão. De repente, u1na equipe de trabalhadores
será decodificado milhares de vezes (quando for reprodu- liga suas britadeiras e começa a esburacar a rua. Ninguém
zido pelos clientes). Essa assimetria significa que é acei- mais consegue ouvir a flauta, e agora é suficiente codificar
tável que o algoritmo de codificação seja lento e exija um apenas a banda de frequê ncia usada pelas britadeiras, por-
hardware caro, desde que o algoritmo de decodificação seja que os ouvintes não podem 1nais ouvir a flauta, e você pode
rápido e não exija hardware caro. economizar largura de banda. Isso se chan1a máscara de
Uma segunda assimetria é que o processo de codifi- frequência.
cação/decodificação não precisa ser reversível. Ou seja, Quando as britadeiras pararem, a flauta será inaudível
ao compri1nir um arquivo de dados, transmiti-lo e depois por um curto período de tempo, porque o ouvido din1inuiu
descompri1ni-Io, o usuário espera receber de volta o origi- seu ganho enquanto elas funcionavam e de1nora um tempo
nal, exatamente até o último bit. Com a multimídia, esse finito para aumentar novamente o ganho. A transmissão de
requisito não ex is te. Em geral, é aceitável ter um sinal de sons de baixa amplitude durante esse período de recupe-
áudio (ou vídeo) após a codificação e depois decodificá-lo ração não tetn sentido, e a largura de banda também pode
de forn1a ligeira1nente diferente do original, desde que o ser economizada. Esse efeito é chamado de máscara tem-
som ou a image1n seja1n os mesmos. Quando a saída deco- poral. A codificação perceptiva se baseia e1n grande parte
dificada não é exatamente igual à entrada original, o siste- en1 não codificar ou trans1nitir o áudio que os ouvintes não
ma é considerado com perdas. Se a entrada e saída forem perceberão de qualquer forma.
idênticas, o sisten1a é sem perdas. Os sistemas con1 perdas
são importantes porque aceitar uma pequena quantidade de
perda de infonnação nonnalmente significa um grande re- 7.4. 2 Vídeo digital
tomo e1u termos de taxa de compressão possível. Agora que sabemos tudo sobre o ouvido humano, é hora
Muitos algoritmos de compressão de áudio foram de- de prosseguinnos para o olho. (Só para infonnar: não
senvolvidos. Provavelmente, os formatos nlais populares existe uma próxima seção sobre o nariz.) O olho humano
são MP3 (MPEG audio layer 3) e AAC (Advanced Au- tem a propriedade de, quando uma image1n aparece na
dio Coding), transportado em arquivos MP4 (MPEG-4). retina, retê-la por algLLns 1nilissegundos antes que desapa-
Para evitar confusão, observe que MPEG oferece co1npres- reça. Se uma sequência de imagens for apresentada a 50
são de áudio e vídeo. MP3 refere-se à parte de compressão imagens/s, o olho não nota que está vendo imagens dife-
de áudio (parte 3) do padrão MPEG-1 , e não à terceira ver- rentes. Todos os sistemas de vídeo, desde quando os innãos
são do MPEG, que foi substituído pelo MPEG-4. AAC é o Lumiere inventaram o projetor de filmes e1n 1895, explo-
sucessor para MP3 e a codificação de áudio padrão usada ram esse princípio para produzir i1nagens en1 movi1nento.
etn MPEG-4. MPEG-2 permite áudio MP3 e AAC. Ficou A representação digital mais simples do vídeo é uma
claro agora? A melhor coisa a respeito de padrões é que sequência de quadros, cada um consistindo e1n un1a grade
existem 1nuitos para escolher. E, se você não gostar de ne- retangular de elementos de i1nage1n, ou pixeis. Os tama-
nhum deles, basta esperar um ou dois anos. nhos comuns para as telas variam de 1280 x 720 (chamado
A compressão de áudio pode ser feita de duas manei- 720p), 1920 x 1080 (cha1nado 1080p ou vídeo RD), 3840
ras. Na codificação da forma de onda o sinal é modificado x 2160 (chamado 4K) e 7680 x 4320 (cha1nado SK).
matematicamente por utna transformação de Fourier em A maior parte dos sistemas utiliza 24 bits por pixel,
seus componentes de frequência. No Capítulo 2, mostramos co1n 8 bits para cada um dos componentes vermelho, verde
Capítulo 7 • A camada de aplicação 439

e azul (RGB). Venuelho, verde e azul são as cores primá- de usar quadros inteiros, o transmissor envia as diferenças
rias aditivas, e todas as outras cores podem ser criadas pela entre o quadro atual e o quadro básico (completo) enviado
sobreposição destas com as intensidades apropriadas. mais recentemente.
As taxas de quadros mais antigas variam de 24 Primeiro, vamos examinar rapidamente o algoritmo
quadros/s, usada por fibues tradicionais de 35 m1u, passan- JPEG (Joint Photograpbic E xperts Group) para com-
do por 25,00 quadros/s (o sistema PAL usado na n1aior par- pressão de uma única image1u parada. E1u vez de trabalhar
te do 1uundo) até 30 quadros/s (herdada do sistema de tele- com os componentes RGB, ele converte a i1uagem e1u com-
visão NTSC dos Estados Unidos). Para os mais detalhistas, ponentes de luminescência (brilho) e crominâocia (cor),
o sistema de televisão NTSC usa 29,97 quadros/sem vez de pois o olho humano reage ruais à luruinescência que à cro-
30 quadros/s, pois os engenheiros precisaram de um pouco minância, permitindo que menos bits sejam usados para
mais de largura de banda para a sinalização, e por isso re- codificar a cro1uinância sem perda da qualidade percebida
duziram a taxa durante a transição da TV em preto e branco da imagem. A in1agem é então dividida en1 blocos nonual-
para a colorida. Foi preciso um pouco mais de largura de mente de 8 x 8 ou 1Ox l Opixeis, cada um processado se-
banda devido ao gerenciamento de cores, e por isso reduzi- paradaruente. Separadamente, luminescência e crominância
ram a taxa em 0,03 quadros/s. O sistema PAL usa acordes- passa1n por um tipo de transfon11ação de Fourier (tecnica-
de que foi inventado, de modo que a taxa é realmente 25,00 1uente, un1a transfonuação de cossenos discretos) para
quadros/s. Na França, um sistema ligeiran1ente diferente, obter o espectro. As amplitudes de alta frequência pode1n
SECAM, fo i desenvolvido em parte para proteger as etn- então ser descartadas. Quanto mais amplitudes descartadas,
presas francesas dos fabricantes de televisão alemães. Ele mais difusa é a imagem e menor é a imagem cornprimida.
também trabalha com exatamente 25,00 quadros/s. Durante Então, técnicas padrão de co1upressão se1u perdas, co1uo
a década de 1950, os países comunistas da Europa oriental a codificação run-length e a codificação de Huffn1an, são
adotararu o SECAM para que seus cidadãos não pudessem aplicadas às amplitudes restantes. Se isso parece ser com-
assistir à televisão da Alemanha Ocidental (PAL), por re- plicado, realmente é, 1uas os computadores são 1nuito bons
ceio de que tivessem 1nás ideias. na execução de algoritmos co1uplicados.
Para reduzir a quantidade de largura de banda exigida Agora, vamos à parte MPEG, descrita a seguir de for-
para enviar sinais da televisão por radiodifusão no ar, as ma situplificada. O quadro após um quadro JPEG comple-
estaçõe-s de TV adotaram um esquema e1n que os quadros to (base) provaveiinente será muito se1nelhante ao quadro
eram divididos em dois campos, utu com as linhas í1npares JPEG, de 1uodo que, em vez de codificar o quadro inteiro,
e outro co1n as linhas pares, que erarn transmitidos alterna- somente os blocos que são diferentes do quadro básico são
damente. Isso significou que 25 quadros/s correspondiam trans1uitidos. U1u bloco contendo, diga1uos, u1u pedaço de
a 50 campos/s_Esse sistema é conhecido como entrelaça- céu azul provavelmente será o mesmo de 20 rns atrás, de
mento, e gera rnenos cintilação do que o envio de quadros modo que não é preciso transmiti-lo novamente. Somente
inteiros um após o outro. Os n1odernos sisten1as de vídeo os blocos que mudara1u precisam ser retransmitidos.
não usan1 entrelaçamento, e situplesn1ente envia1u quadros Como exemplo, considere a situação de uma câme-
inteiros em sequência, normalmente a 50 quadros/s (PAL) ra be1u presa a um tripé com um ator ca1uinbando em di-
ou 59,94 quadros/s (NTSC). Isso é chamado de vídeo reção a un1a árvore parada e uma casa. Os três primeiros
progressivo. quadros aparecem na Figura 7.32. A codificação do segun-
do quadro só precisa enviar os blocos que mudaram. Por
conceito, o receptor começa a produzir o segundo quadro
Compressão de vídeo
copiando o pritueiro em un1 buffer e depois aplicando as
Já deve estar claro, pela nossa discussão sobre vídeo digi- mudanças. Depois, ele armazena o segundo quadro não
tal, que a con1pressão é fundamental para o envio de vídeo comprimido para exibição. Ele também usa o segundo qua-
pela Internet. Até mesmo o vídeo progressivo PAL de 720p dro corno base para aplicar as mudanças que chegarn, des-
exige 553 Mbps de largura de banda e HD, 4K e 8K exi- crevendo a diferença entre o terceiro e o segundo.
gem ruuito ruais. Para produzir um padrão para cornpressão Contudo, a coisa é ligeiramente mais co1uplicada do
de vídeo que pudesse ser usado por todas as platafonuas e que isso. Se u1u bloco (digan1os, o ator) estiver presente no
por todos os fabricantes, os comitês de padrões criaram um segundo quadro, mas tiver sido movido, o MPEG permite
grupo chamado MPEG (Motion Picture Experts Group) que o codificador diga algo como "o bloco 29 do quadro
com a missão de elaborar um padrão mundial. Resumin- anterior está presente no novo quadro, deslocado por tuua
do, os padrões que surgiram, conhecidos como MPEG-1, distância (õ.x, ôy) e, além disso, o sexto pixel mudou para
MPEG-2 e MPEG-4, funcionam da seguinte maneira: abc e o 24º pixel agora é xyz". Isso pennite uma compres-
a cada intervalo de alguns segundos, um quadro de vídeo são ainda maior.
co1upleto é transmitido. O quadro é comprimido usando Já falamos sobre as simetrias entre codificação e de-
algo como o conhecido algoritlno JPEG, usado para ima- codificação. Aqui vemos utna delas. O codificador pode
gens digitais. Depois, pelos próxi1uos segundos, e1n vez gastar o tempo que quiser procurando blocos que foram
440 Redes de computadores

-<
~ - ~
-<
- [Ili)
- .. ~
,~ -
[Ili)
i! [Ili)
~ ~

:IA\'. =:flt
Figura 7.32 Três quadros consecutivos.

movidos e blocos que 1nudaram algo, para detenninar se é real, ela tem pouco tempo para procurar blocos que tiveram
melhor enviar uma lista de atualizações do quadro anterior pouca mudança. Consequentemente, a co1npressão não é
ou um novo quadro JPEG co1npleto. Encontrar um bloco tão boa quanto ao que um estúdio de Hollywood pode fazer
que se 1noveu é muito mais trabalhoso do que siinplesmen- quando aloca dinamica1nente 10.000 con1putadores em um
te copiar um bloco da imagen1 anterior e colá-lo no novo, servidor em nuvem para codificar sua produção mais recen-
em um deslocamento (óx, t.y) conhecido. te. Isso é assimetria de codificação/decodificação em ação.
Para ser um pouco mais co1npleto, o MPEG na rea-
lidade consiste em três tipos de quadros diferentes, e não
apenas dois: 7.4.3 Streaming de mídia armazenada
1. Quadros I (intracodificado): imagens estáticas, auto- Agora, va1nos prosseguir para as aplicações e1n rede. Nosso
contidas e comprimidas. pritneiro caso é o strea1ning de vídeo que já está annazena-
do em algum servidor, por exe1nplo, assistindo a u1n vídeo
2. Quadros P (preditivo): diferença bloco a bloco em re-
do YouTube ou Nettlix. O exemplo mais comum disso é
lação ao quadro anterio1:
assistir a vídeos pela Internet. Essa é uma forma de vídeo
3. Quadros B (bidjrecional): djferenças bloco a bloco en-
por demanda, ou VoD (Video on Demand). Outras formas
tre o quadro anterior e o quadro [ seguinte.
de vídeo por de1nanda utilizam u1na rede de provedor (se-
Os quadros B exigem que o receptor pare de processar parada da Internet) para oferecer os filines - por exemplo,
até que chegue o próximo quadro 1, e depois trabalhe de a rede de TV a cabo.
volta a partir dele. Isso às vezes gera mais compressão, mas A Internet está repleta de sites de música e vídeo que
fazer o codificador verificar constantemente se as diferen- forn ecem arquivos de 1nultimídia armazenada. Na reali-
ças com o quadro anterior ou as diferenças com qualquer dade, o modo mais fácil de lidar com a n1ídia armazenada é
um dos próximos 30, 50 ou 80 quadros gera o 1nenor resul- não enviá-la por streaming. A melhor forma de disponibi-
tado é demorado no lado da codificação, mas não no lado lizar o vídeo (ou trilha musical) é simples1nente tratar o ar-
da decodificação. Essa assimetria é explorada ao máximo quivo de vídeo (ou áudio) pré-codificado como uma imensa
para oferecer o menor arquivo codificado possível. Os pa- página Web e deixar que o navegador o baixe. A sequência
drões MPEG não especifican1 como buscar, até que ponto de quatro etapas aparece na Figura 7.33.
buscar ou a qualidade da correspondência para decidir se O navegador entra em ação quando o usuário clica em
serão enviadas as djferenças ou um novo bloco completo. um filme. Na etapa 1, ele envia uma solicitação HTTP do
Isso fica a critério de cada itnplementação. filme para o servidor Web ao qual o filme está vinculado.
Como já disse1nos, áudio e vídeo são codificados se- Na etapa 2, o servidor busca o filme (que é apenas u1n arqui-
paradamente. O arquivo final codificado com MPEG con- vo em fonnato MP4 ou algun1 outro) e o envia de volta ao na-
siste e1n trechos contendo algu1na quantidade de in1agens vegador. Usando o tipo MIME, o navegador pesquisa como
compri1nidas e o áudio comprimido correspondente, que deve exibir o arquivo. O navegador salva o filme inteiro em
será reproduzido enquanto os quadros nesse trecho são exi- um arquivo auxiliar no disco, na etapa 3. Depois, ele inicia
bidos. Desse 1nodo, áudio e vídeo se 1nantêm sincronizados. o player de mídia, passando-lhe o nome do arquivo auxiliar.
Observe que esta é uma descrição bastante simpli- Por fim, na etapa 4, o player de mídia começa a ler o arquivo
ficada. Na realidade, outros truques também são usados e a reproduzir o filtne. Conceitualmente, isso não é diferen-
para obter uma melhor compressão, 1nas as ideias básicas te de buscar e exibir uma página Web estática, exceto que o
apresentadas aqui estão corretas em sua essência. O forn1a- filme baixado é "exibido" usando u1n player de 1nídia, em
to mais recente é o MPEG-4, tan1bé1n chamado de MP4. vez de simplesmente escrevendo pixeis na tela do navegador.
Ele é definido formalmente em um padrão conhecido como A princípio, essa técnica é completamente correta. Ela
H.264. Seu sucessor (definido para resoluções de até 8K) exibirá o filme. Não existe nenhum problema de rede em
é H.265. H.264 é o formato que a 1naioria das câmeras de tempo real a ser resolvido, pois o download é sin1ples1nente
vídeo comuns produz. Como a câmera atualmente precisa um download de arqwvo. O único problen1a é que o vídeo
registrar o vídeo no cartão SD ou em outro meio em tempo inteiro precisa ser trans1nitido pela rede antes que o filme
Capítulo 7 • A camada de aplicação 441

Cliente Servidor

1: Solicitação de mídia (HTTP)


Player Servidor
de mídia Navegador
Web

2: Resposta de mídia (HTTP)


4: Reproduzir Disco 3: Salvar Disco
~m-íd_iª~~~~~~~-m~íd_iª____.c=]
- --
Figura 7.33 Reproduzindo mídia pela Web através de downloads simples.

comece. A maioria dos clientes não deseja esperar uma hora forma é ignorar o problema e si1nplesmente deixar que os
até que seu "vídeo por demanda" seja iniciado, de modo bits de vídeo e áudio fiquem errados. Se os erros forem
que é necessário haver algo melhor. pouco frequentes, isso funcionará bem e quase ninguém no-
É necessário haver um player de mídia preparado tará. Outra possibilidade é usar a correção antecipada de
para streaming. Ele pode ser parte do navegador Web ou erros, como a codificação do arquivo de vídeo corn alguma
um progra1na externo, chamado pelo navegador quando um redundância, por exen1plo, com um código de Hamming
vídeo precisar ser reproduzido. Os navegadores modernos, ou um código de Reed-Solomon. Assim, o player de mídia
que aceitam HTML5, em geral têm um player de mídia terá informações suficientes para corrigir erros por conta
internamente. própria, se1n ter que pedir retransmissões ou pular trechos
Um player de tnídia te1n cinco tarefas principais a fazer: de filmes danificados.
A desvantagen1 aqui é que adicionar redundância ao
l. Ad1ninistrar a interface com o usuário. arquivo o torna maior. Outra técnica envolve o uso de re-
2. Tratar dos erros de transmissão. transmissão seletiva das partes do fluxo de vídeo que são
3. Descompri1nir o conteúdo. mais i1nportantes para reproduzir o conteúdo. Por exemplo,
4. Eli1ninar o jitter. em uma sequência de vídeo comprimida, uma perda de pa-
5. Descriptografar o arquivo. cote em um quadro l tem muito mais consequências, uma
vez que os erros de decodificação que resultam da perda
A maioria dos players de mídia hoje em dia tem uma podern se propagar por todo o grupo de imagens. Em con-
interface brilhante com o usuário, às vezes simulando uma trapa1tida, as perdas e1n quadros derivados, incluindo qua-
unidade estéreo, com botões reluzentes, teclas, contro- dros P e quadros B, são nlais fáceis de recuperar. Da 1nes1na
les deslizantes e atrativos visuais. Normalmente, existe1n forma, o valor de uma retransmissão também depende se
painéis frontais intercambiáveis, chamados skins, que o a retransmissão do conteúdo chegaria a tetnpo para a re-
usuário pode aplicar ao player. O player de mídia precisa produção. Como resultado, algumas retransmissões pode1n
adn1inistrar tudo isso e interagir cotn o usuário. ser muito 1nais valiosas do que outras, e a retransmissão
As outras três tarefas estão relacionadas e dependem seletiva de certos pacotes (p. ex., aqueles dentro de qua-
dos protocolos de rede. Analisare1nos cada uma por vez, co- dros 1 que chegariam antes da reprodução) é uma estratégia
meçando com o tratamento dos erros de transmissão. Lidar possível. Foram construídos protocolos em cima de RTP e
cotn erros depende da seguinte questão: se o transporte ba- QUlC para fornecer proteção contra perda desigual quando
seado e1n TCP, como HTTP, é usado para transportar a mídia, os vídeos são transmitidos por UDP (Fea1nster et ai., 2000;
ou se é usado um transporte baseado e1n UDP, como o RTP e Palmer et al., 2018).
(Real Time Protocol). Se um transporte baseado em TCP es- A terceira tarefa do player de 1nídia é descomprimir o
tiver sendo utilizado, então não existem erros para o player de conteúdo. Embora essa atividade seja computacionahnente
mídia corrigir, pois o TCP já oferece confiabilidade usando intensa, ela é bem simples. O proble1na 1nais complicado é
retransrnissões. Esse é u1n 1nodo fácil de lidar co1n etTOS, pelo decodificar a mídia se o protocolo de rede não corrigir erros
menos para o player, 1nas isso complica a re1noção do jitter de transmissão. Em muitos esquemas de compressão, os da-
em uma etapa posterior, pois pedir retransmissões após um dos seguintes não poderão ser descomprimidos até que os
tempo lirnite introduz atrasos incertos e variáveis no fibne. anteriores o sejam, pois os últitnos são codificados ern rela-
Como alternativa, um transporte baseado em UDP, ção aos dados anteriores. Lembre-se de que wn quadro P é
con10 o RTP, pode ser usado para 1nover os dados. Com es- baseado no quadro 11nais recente (e em outros quadros 1que
ses protocolos, não existem retransmissões. Assim, a perda o segue1n). Se o quadro 1 estiver danificado e não puder ser
de pacotes devido ao congestionamento ou erros de trans- decodificado, todos os quadros P subsequentes serão inúteis.
missão sign ificará que parte da 1nídia não chegará. O player O player de mídia será então forçado a esperar pelo próximo
de mídia fica encarregado de lidar com esse proble1na. Uma quadro 1 e si1nples1nente pulará alguns segundos do vídeo.
442 Redes de computadores

Essa realidade força o codificador a tomar uma deci- inferior, o player envia um comando Start para o servidor,
são. Se os quadros 1 forem bem espaçados, digamos, um para que este reinicie a transmissão.
por segundo, a lacuna quando ocorrer um erro será bastante Usando um protocolo no qual o player de mídia pode
pequena, mas o vídeo será maior porque os quadros 1 são comandar o servidor para parar e iniciar, o player de mídia
muito 1naiores do que os quadros P ou B. Se os quadros pode manter em seu buffer mídia suficiente, mas não em
I tiverem, digamos, 5 segundos de intervalo, o arquivo de excesso, para garantir uma reprodução uniforme. Como a
vídeo será muito 1nenor, mas haverá um intervalo de 5 se- RAM é bastante barata hoje e1n dia, um player de mídia,
gundos se um quadro 1 for danificado e um intervalo menor mesmo e1n u1n s1nartphone, pode alocar espaço de buffer
se un1 quadro P for danificado. Por esse motivo, quando o suficiente para armazenar um minuto ou mais de mídia, se
protocolo subjacente é TCP, os quadros I pode1n ser espa- necessário.
çados 1nuito 1nais do que se for usado RTP. Consequente- O 1necanismo iniciar-parar te1n outro recurso interes-
mente, 111uitos sites de strea1ning de vídeo usam TCP para sante. Ele desacopla a taxa de trans1nissão do servidor da
pennitir u1n arquivo codificado n1enor, com quadros l tnais taxa de reprodução. Suponha, por exemplo, que o player
espaçados e co1n 1nenos largura de banda necessária para tenha que reproduzir o vídeo a 8 Mbps. Quando o buffer
u1na reprodução uni forn1e. cai para o li1nite mínin10, o player dirá ao servidor para en-
A quarta tarefa é eli1ninar o jitter, a maldição de todos viar n1ais dados. Se o servidor for capaz de entregá-los a
os sistemas em tempo real. O TCP toma isso muito pior, I 00 Mbps, não há problema. Eles simplesmente chegam e
pois introduz atrasos aleatórios sempre que são necessá- são annazenados no buffer. Quando o limite superior é al-
rias retransmissões. A solução geral que todos os sistemas cançado, o player diz ao servidor para parar. Dessa forma, a
de stream ing usam é um buffer de reprodução. Antes de taxa de transmissão do servidor e a taxa de reprodução são
iniciar a reprodução do vídeo, o sistema coleta de 5 a 30 totahnente desacopladas. O que começou como um sistema
segundos de mídia, como mostra a Figura 7.34. A repro- em tempo real tomou-se um sistema simples de transferên-
dução captura a mídia regularmente do buffer, de modo cia de arquivos não e1n tempo real. Livrar-se de todos os
que o áudio seja claro e o vídeo seja suave. O atraso no requisitos de transmissão e1n tempo real é outra razão pela
início dá ao buffer uma chance de preencher até o limite qual YouTubc, Netflix, Hulu e outros servidores de strea-
inferior. A ideia é que os dados agora devem chegar com ming usam TCP. Isso toma o projeto de todo o sistema mui-
regularidade suficiente para que o buffer nunca seja com- to 1nais simples.
pletamente esvaziado. Se isso acontecesse, a reprodução Determinar o tamanho do buffer é um pouco compli-
de mídia pararia. cado. Se houver n1uita RAM disponível, à primeira vista
O annazena1nento e1n buffer ocasiona uma nova cotn- parece que faz sentido ter um buffer grande e permitir que
plicação. O player de mídia precisa 1nanter o buffer par- o servidor o n1antcnha quase cheio, apenas no caso de a
ciahnente cheio, de preferência entre os li1nites inferior e rede sofrer algu1n congestiona1nento 1nais à frente. No en-
superior. Isso significa que, quando o buffer ultrapassa o tanto, os usuários às vezes são 1neticulosos. Se un1 usuário
lin1ite superior, o player precisa dizer à fonte para parar de achar urna cena chata e usar os botões na interface do
enviar, para não perder dados por fa lta de u1n local para player para avançar, isso pode tornar a maior parte ou todo
armazená-los. O 1i1nite superior deve ser antes do final do o buffer inútil. De qualquer fonna, saltar para a frente (ou
buffer, porque os dados continuarão a ser transmitidos até para trás) para um ponto específico no tempo provavel-
que a solicitação Stop chegue ao servidor de mídia. Assim 1nente não funcionará, a 1nenos que esse seja um quadro L
que o servidor parar de enviar e o pipeline estiver vazio, o Caso contrário, o player deve procurar un1 quadro I próxi-
buffer começará a ser esvaziado. Quando atinge o limite mo. Se o novo ponto de reprodução estiver fora do buffer,
todo o buffer deve ser apagado e recarregado. Na verdade,
os usuários que pulam muito (e há muitos deles) perdem
Máquina cliente Máquina servidora
largura de banda da rede ao invalidar dados preciosos em
seus buffers. Para o sisten1a como um todo, a existência de
Buffer
usuários que pulam muito justifica a limitação do tamanho
~
Player de ---L...LI.LJ1
Servidor
.-1----+- --1 de mídia do buffer, 1nes1no se houver bastante RAM disponível.
midia
O ideal é que um player de mídia possa observar o com-
portamento do usuário e escolher um tamanho de buffer
Limite Limite para combinar com o seu estilo de visualização.
inferior superior
Todos os vídeos cornerciais são criptografados para
Figura 7.34 Oplayer de mídia mantém a entrada em evitar a pirataria, e portanto os players de mídia devem ser
buffer, vinda do servidor de mídia, e reproduz a partir do capazes de descriptografá-los à 1nedida que chegam. Essa é
buffer, e não diretamente da rede. a quinta tarefa na lista apresentada.
Capítulo 7 • A camada de aplicação 443

DASH e HLS O player então inten·oga o dispositivo onde está sendo


executado para descobrir sua resolução máxima e possivel-
A grande quantidade de dispositivos para visualizar 1nídia mente outras características, como quais formatos de áudio
gera algumas co1nplicações que precisamos exa1ninar ago- ele pode suportar e quantos alto-falantes possui. E1n segui-
ra. Uma pessoa que compra um monitor 8K lindo, reluzente da, ele começa a executar alguns testes, enviando mensa-
e muito caro vai querer ver filmes na resolução de 7680 x gens de teste ao servidor para tentar esti1nar quanta largura
4320 a 100 ou 120 quadros/s. Todavia, se no 1neio de um de banda está disponível. Depois de descobrir qual resolu-
filme emocionante, ela tiver que ir ao médico e quiser ter- ção a tela tem e quanta largura de banda está disponível,
minar de assisti-lo na sala de espera em um smartphone de o player consulta o 1nanifesto para encontrar os primeiros,
1280 x 720 que pode lidar com no máximo 25 quadros/s, diga1nos, l Osegundos do fihne que oferece1n a 1nelhor qua-
ela tem um problema. Do ponto de vista do site de strea- lidade para a tela e largura de banda disponível.
ming, isso levanta a questão de qual resolução e taxa de Contudo, esse não é o fin1 da história. Enquanto o fil-
quadros os filmes devem ser codificados. me é reproduzido, o player continua a executar testes de
A resposta fácil é usar todas as combinações possí- largura de banda. Cada vez que precisa de 1nais conteúdo,
veis. No 1náximo, isso desperdiça espaço em disco para ou seja, quando a quantidade de mídia no buffer atinge o
codificar cada filme em sete resoluções de tela (p. ex., liinite inferior, ele consulta novamente o manifesto e so-
smartphone, NTSC, PAL, 720p, HD, 4K e 8K) e seis taxas licita o arquivo apropriado, dependendo de onde está no
de quadro (p. ex., 25, 30, 50, 60, 100 e 120), para um total filme e de qual resolução e taxa de quadros deseja. Se a
de 42 variantes, 1nas o espaço em disco não é muito caro. largura de banda variar 1nuito durante a reprodução, o filme
U1n problema maior, 1nas relacionado, é o que acontece n1ostrado pode 1nudar de 8K a 100 quadros/s para HD a 25
quando o espectador está parado em casa com seu monitor quadros/s e depois retomar várias vezes por minuto. Desse
grande e brilhante, mas, devido ao congestionamento da modo, o sistema se adapta rapidamente às mudanças nas
rede, a largura de banda entre ela e o servidor está mu- condições da rede e permite a nlelhor experiência de visua-
dando n1uito e nen1 se1npre é con1patível com a resolução lização, de acordo con1 os recursos disponíveis. Empresas
total. como Netflix publicara1n infonnações sobre co1no adaptam
Felizmente, várias soluções já foram implementadas. a taxa de bits de um strea1n de vídeo com base na ocupação
Uma solução é o DASH (Dynamic Adaptive Streaming do buffer de reprodução (Huang et ai., 2014). U1n exemplo
over HTTP). A ideia básica é simples e compatível com pode ser visto na Figura 7.35.
Na Figura 7.35, confortne a largura de banda diminui,
HTTP (e HTTPS), portanto, o filme pode ser trans1nitido
o player decide solicitar versões com resolução cada vez
em uma página Web. O servidor de streaming primeiro co-
mais baixa. No entanto, ele ta1nbén1 poderia ter se ajustado
difica seus fi lmes en1 várias resoluções e taxas de quadros
de outras maneiras. Por exemplo, enviar 300 quadros para
e os armazena em seu conjunto de discos. Cada versão não
uma exibição de 1Osegundos requer 1nenos largura de ban-
é armazenada co1no um único arquivo, 1nas como rnuitos
da do que enviar 600 ou 1200 quadros para uma exibição
arquivos, cada u1n armazenando, digamos, 1Osegundos de
de 1Osegundos, mesmo com boa co1npressão. E1n um arti-
vídeo e áudio. Isso significaria que um filme de 90 minu-
ficio real, ele tambén1 poderia ter pedido uma versão de l O
tos con1 sete resoluções de tela e seis taxas de quadros (42
quadros/s a 480 x 320 em preto e branco com som mono, se
variantes) exigiria 42 x 540 = 22.680 arquivos separados,
isso estivesse no 1nanifesto. O DASH permite que o player
cada u1n con1 1O segundos de conteúdo. E1n outras pala- se adapte às novas circunstâncias para dar ao usuário a
vras, cada arquivo contém um segmento do filme em uma melhor experiência possível. O co1nportamento do player
resolução e taxa de quadros específicas. Associado ao fil- e como ele solicita os segmentos varia dependendo da na-
me está u1n manifesto, oficialmente conhecido co1no MPD tureza do serviço de reprodução e do dispositivo. Serviços
(Media Presentation Description), que lista os nomes de cujo objetivo é evitar novos eventos de buffering podem so-
todos esses arquivos e suas propriedades, incluindo resolu- licitar un1 grande número de segmentos antes de reproduzir
ção, taxa de quadros e número do quadro dentro do filme. o vídeo e solicitar segmentos en1 lotes; outros serviços, cujo
Para que essa técnica funcione, tanto o player quanto o objetivo é a interatividade, podem buscar segmentos DASH
servidor deven1 usar o protocolo DASH. O lado do usuário em um rittno 1nais consistente e unifonne.
pode ser o próprio navegador, um player enviado para o O OASH ainda está evoluindo. Por exemplo, há traba-
navegador como um programa JavaScript ou um aplica- lho e1n andamento para reduzir a latência (Le Feuvre et ai.,
tivo personalizado (p. ex., para um dispositivo móvel ou 2015), 1nelhorar a robustez (Wang e Ren, 2019), iinparcia-
um decodificador de streaming). A primeira coisa que ele lidade (Alta1nini, S., e Shirmoham1nadi, S., 2019), suporte
faz quando chega a hora de começar a ver o filme é bus- à realidade virtual (Ribezzo et ai., 2018) e aceitar melhor os
car o manifesto do filn1e, que é apenas um arquivo peque- vídeos 4K (Quinlan e Sreenan, 2018).
no, e portanto basta fazer uma solicitação GET normal do Atualmente, DASH é o 1nétodo mais comum para
HTTPS. streaming de vídeo, embora existam algumas alternativas
444 Redes de computadores

Servidor

rr-= llr.pJ
;,.:: o
;,.::
co .... J:

o -
-"' "'
o
"'e
"O a. co
"'
;,.:: E
Q)
o e
"O "'
"'a.
;,.::
.... E
Q) "'e
"O
o
J:
E
Q)

E
- "'
-
~
.o E
- "'o
Q)
Q)
E "'e
o Q) "=
e "'
.o ::? Q) o .o "' .o Q) o
eQ)
"'
.o
Q)
Q.
.o E
Q)
::? eQ)
"=
"' o o
- "'
eQ)
- ::?
Q) ~

""o "'
.o
e
"' ..,
E
E
o
Q)
"O o o
~
e E
"O o.... o
eQ) E
"O

"'
o
-
"'o E

"' -
~ ~
eQ)
Q)
e "' "' Q) O> ~
Q) O> ::J O>

ü"'
~ Q) ::J Q) Q) Q)
o o ::J "O
Q)
e> E e>
"' E "O

.-"'o.
"O E
..."'o
"' e>
..."'o "'"'<U ~
•Q) •Q) O>
:i:
-"'
Q) O> •Q) O>
.r::. <U

-
Q)

-
Q) Q)
;,.:: eQ) <U
Q)
(/) o ::J
O'
"' üJ "'o "' "'o
üJ
"' "'"' ~
w "'o
.o
o < <U
<> Q)
·;;
"' <>
Q)
Q)
Q)
">
Q)
·:;
<> Q) Q)
Q)

Q)
e
::J
::? e O' ::? > ::J
O'
::? O'
w < e
w < w <

g ~ .Q JS ~ jgi !i !I
Usuário
Tempo
1Filme exibido em 8K 11 Filme exibido em 4K 11 HD 1

Figura 7.35 DASH usado para mudar o formato enquanto um filme é exibido.

que valem a pena discutir. O HLS (HTTP Live Strea- o DASH e as implementações são extremamente estáveis.
ming) da Apple também funciona e1n um navegador que Contudo, o YouTube e a Netflix usam DASH. No entanto, o
usa HTTP. É o método preferido para exibir vídeos no DASH não tem suporte nativo em dispositivos iOS. Muito
Safari e1n iPhones, iPads, MacBooks e todos os disposi- provavehnente, os dois protocolos continuarão a coexistir
tivos Apple. Ta1nbém é muito utilizado por navegadores nos próxin1os anos.
como Microsoft Edge, Firefox e Chrome, em plataformas O streaming de vídeo te1n sido u1na grande força mo-
Windows, Linux e Android. Ele também é compatível com triz da Internet há décadas. Para ver uma retrospectiva, con-
muitos consoles de jogos, smart TVs e outros dispositivos sulte Li et ai. (2013).
que podem reproduzir conteúdo multimídia. Um desafio contínuo com streaming de vídeo é es-
Como o DASH, o HLS requer que o servidor codifi- ti1nar a QoE (Quality of Experience) do usuário, que é,
que o filme em várias resoluções e taxas de quadro, com informahnente, o quanto u1n usuário está satisfeito com o
cada segmento cobrindo apenas alguns segundos de vídeo, desen1penho da aplicação. Obviamente, n1edir a QoE dire-
para oferecer uma adaptação rápida às variações nas condi- tamente é um desafio (requer perguntar aos usuários sobre
ções. O HLS ta1nbém tem outros recursos, incluindo avan- sua experiência), mas as operadoras de rede estão cada vez
ço rápido, retrocesso rápido, legendas e1n vários idiomas e n1ais buscando detenninar quando os aplicativos de strea-
muito 1nais. Ele é descrito na RFC 8216. ming de vídeo passam por condições que podem afetar a
Embora os princípios básicos sejam os mesmos, experiência do usuário. De modo geral, os parân1etros que
DASH e HLS diferem em alguns aspectos. DASH é adep- as operadoras pretendem estimar são o atraso de inicializa-
to ao codec, o que significa que funciona com vídeos ção (quanto tempo um vídeo leva para começar a ser exibi-
usando qualquer algoritmo de codificação. O HLS fun- do), a resolução do vídeo e quaisquer ocorrências de parali-
ciona apenas con1 algoritmos compatíveis con1 a Apple, sação ("rebuffering"). Pode ser um desafio identificar esses
mas como estes incluem H.264 e H.265, essa diferença eventos em um fluxo de vídeo criptografado, especialmen-
é pequena porque quase todos os vídeos usa1n um deles. te para um ISP que não tem acesso ao software cliente; as
O DASH permite que terceiros insiram anúncios facil - técnicas de aprendizado de máquina estão cada vez mais
n1ente no fluxo de vídeo, o que o HLS não faz. O DASH sendo usadas para deduzir a qualidade da aplicação a partir
pode lidar com esquemas arbitrários de gerenciamento de de fluxos de tráfego de vídeo criptografados (Mangla et ai.,
direitos digitais, enquanto o HLS suporta apenas o próprio 2018; e Bronzino et ai., 2020).
sistema da Apple.
DASH é um padrão oficial aberto, enquanto o I-ILS
7.4.4 Streaming em tempo real
é un1 produto patenteado. Mas isso é un1a via de 1não du-
pla. Como o HLS tem u1n patrocinador poderoso por trás Não apenas os vídeos gravados são tre1nendamente popu-
dele, ele está disponível e1n muito 1nais plataformas do que lares na Web. O streaming e1n ten1po real também é muito
Capítulo 7 • A camada de aplicação 445

popular. Quando foi possível fornecer áudio e vídeo pela Por volta de 2002, o volun1e do tráfego de dados era uma
Internet, as estações comerciais de rádio e TV tiveram a ordem de grandeza a mais que o volume do tráfego de voz,
ideia de trans1nitir seu conteúdo pela Internet, assiin como e ainda crescendo exponencialmente, com o tráfego de voz
pelo ar. Não muito tempo depois disso, as estações de fa - permanecendo quase estático. Agora, o tráfego de dados
culdades começaram a colocar seus sinais pela Internet. tem várias ordens de grandeza a rnais que o tráfego de voz.
E1n seguida, os alunos das faculdades iniciaram suas pró- A consequência desse crescimento tem sido a absor-
prias transmissões pela Internet. ção da rede telefônica. O tráfego de voz agora é transpor-
Hoje, pessoas e e1npresas de todos os tarnanhos reali- tado usando tecnologias de Internet e representa apenas
zam stream de áudio e vídeo ao vivo. A área é un1 manancial uma pequena fração da largura de banda da rede. Essa tec-
de inovação à medida que as tecnologias e os padrões evo- nologia revolucionária é conhecida como voz sobre IP, e
luem. O streaming de rnídia ao vivo é usado em chamadas també1n como telefonia via Internet. Ela també1n têm esse
on-line pelas principais estações de televisão - chamado nome quando as chamadas incluen1 vídeo ou contam com
IPTV (IP TeleVision) - e ta1nbém ern transmissão radio- vários participantes, ou seja, nas videoconferências.
fônica de broadcast - chamado r ádio via Internet. Tanto A nlaior diferença entre o streaming de um filme pela
IPTV quanto rádio via Internet alcançam audiências no inun- Inten1et e a telefonia via Internet é a necessidade de baixa
do inteiro para eventos que variam de desfiles de rnoda até latência. A rede telefônica permite un1a latência unidirecio-
a Copa do Mundo de futebol e diversas disputas ao vivo. nal de até 150 ms para um uso aceitável, após a qual o atra-
O strea1ning ao vivo por IP é usado como urna tecnologia so começa a incomodar os pa11icipantes. (Chamadas inter-
dos provedores a cabo, para montar seus próprios sistemas nacionais podem ter uma latência de até 400 ms, um ponto
de broadcast. E é muito usado ern operações de 1nenor orça- en1 que a experiência do usuário está longe de ser positiva.)
mento, desde sites adultos até zoológicos. Com a tecnologia Essa baixa latência é difícil de conseguir. Certamente,
atual, praticamente qualquer u1n pode iniciar strean1ing ao o buffering de 5 a 10 segundos de mídia não vai funcionar
vivo rapidamente e co1n pouca despesa. (como seria para o broadcasting de um evento esportivo ao
Uma técnica para o streaming ao vivo é gravar pro- vivo). E1n vez disso, sistemas de vídeo e voz sobre IP pre-
gran1as em disco. Os espectadores pode1n se conectar aos cisa1n ser projetados co1n tnna série de técnicas para mini-
arquivamentos do servidor, puxar qualquer progran1a e bai- n1izar a latência. Esse objetivo significa co1neçar com UDP
xá-lo para escutar. Um podcast é um episódio recuperado con10 uma escolha clara, e1n vez de TCP, pois as retrans-
dessa 1naneira. n1issões do TCP introduzem pelo menos uma ida e volta
O streaming de eventos ao vivo acrescenta novas com- de atraso.
plicações à mistura, pelo menos às vezes. Para esportes, no- No entanto, algumas formas de latência não podem
ticiários e anúncios políticos com longas e tediosas falas, o ser reduzidas, 1nes1no com UDP. Por exemplo, a distância
método da Figura 7.34 ainda funciona. Quando u1n usuário entre Seattle e Amsterdã é próxima de 8.000 km. O atra-
efetua o login em um site que está cobrindo un1 evento ao so de propagação na velocidade da luz para essa distância
vivo, nenhum vídeo aparece durante alguns segundos, en- em fibra óptica é de 40 ms, com muita sorte. Na prática,
quanto o butTer está se enchendo. Depois disso, tudo fun- o atraso de propagação pela rede será maior, pois cobriJá
ciona como se ele estivesse assistindo a u1n filme. O player un1a distância 1naior (os bits não segue1n uma grande rota
retira os dados do buffer, que é continuamente aliJnentado circular) e haverá atrasos de transmissão à medida que cada
pelos dados do evento ao vivo. A única diferença real é que, roteador IP armazenar e encamillhar um pacote. Esse atraso
quando há streaming de um filme de un1 servidor, este po- fixo é engolido pelo atraso considerado aceitável.
tencialmente pode carregar 10 segundos de filme e1n um Outra fonte de latência está relacionada ao tamanho do
segundo se a conexão for rápida o bastante. Con1 um evento pacote. Em geral, pacotes grandes são a rnelhor nlaneira de
ao vivo, isso não é possível. usar a largura de banda da rede, pois são 1nais eficientes. Con-
tudo, em uma taxa de arnostragem de áudio de 64 kbps, um
pacote de l KB levaria 125 ms para ser preenchido (e ainda
Voz sobre IP
mais, se as amostras fore1n co1nprimidas). Esse atraso con-
Urn bom exemplo de streaming e.1n tempo real em que o su1niria a maior parte do atraso geral pe1mitido. Além disso,
buffering não é possível é no uso da Internet para transmi- se o pacote de 1 KB for enviado por um enlace com acesso
tir chamadas telefônicas (possivelmente com vídeo, como de banda larga que trabalha com apenas 1 Mbps, ele precisa-
Skype e FaceTüne). Antes, as charnadas de voz se faziam rá de 8 ms para ser transmitido. Depois, acrescente outros 8
pela rede telefônica pública cornutada, e o tráfego da rede .
ms para o pacote passar .pelo enlace de banda larga na outra
era principahnente voz, com u1n pouco de tráfego de da- extremidade. E claro que pacotes grandes não funcionarão.
dos aqui e ali. Depois vieram a Internet e a Web. O tráfego Em vez disso, os siste1nas de voz sobre IP utilizam
de dados cresceu 1nais e rnais, até que, por volta de 1999, pacotes curtos, para reduzir a latência ao custo da eficiência
havia tanto tráfego de dados quanto de voz (co1no a voz da largura de banda. Eles 1nantêtn amostras de áudio em
agora é digitalizada, ambos podem ser medidos em bits). lotes de unidades menores, normalmente 20 1ns. A 64 kbps,
446 Redes de computadores

isso significa 160 bytes de dados, menos co1n compactação. de acesso de banda larga, que tenden1 a ficar congestiona-
Todavia, por definição, o atraso dessa divisão em pacotes dos quando o tráfego da Web ou outro tráfego co1npete no
será de 20 Lns. O atraso de trans1nissão ta1nbé1n será n1e- uso do enlace. Dado um caminho de rede estável, atraso e
nor porque o pacote é mais curto. Em nosso exemplo, ele jitter são aumentados pelo congestiona1nento. Cada paco-
seria reduzido para algo en1 tomo de 1 ms. Usando pacotes te de 1 KB leva 8 ms para ser enviado por u1n enlace de
curtos, o atraso mínimo e1n u1na direção para um pacote de 1 Mbps, e u1n pacote de voz sobre IP trará consigo esses
Seattle a A1nsterdã seria reduzido de um tempo inaceitável atrasos se tiver que ficar em uma fila atrás do tráfego da
de 181 1ns (40 + 125 + 16) para um ten1po aceitável de Web. Contudo, com uma marca de baixo atraso (Low De-
62ms(40 + 20 + 2). lay ), os pacotes de voz sobre IP saltarão à frente da fila,
Ainda não falamos sobre o overhead do software, mas adiantando-se aos pacotes Web e reduzindo seu atraso.
ele ta1nbém consome pa11e do atraso considerado aceitável. O segundo mecanis1no que pode reduzir o atraso é
Isso é especiahnente verdadeiro para vídeo, pois a com- garantir que haja largura de banda suficiente. Se a largura
pressão costuma ser necessária para incluí-lo na largura de banda disponível variar ou a taxa de transmissão flutuar
de banda disponível. Diferentemente do streaming de um (como no vídeo co1npactado) e às vezes não houver largu-
arquivo armazenado, não há tempo para haver um codifica- ra de banda suficiente, filas serão criadas, o que aumen-
dor co1nputacionalmente intenso para altos níveis de con1- tará o atraso. Isso ocorrerá mesmo com DS. Para garantir
pressão. O codificador e o decodificador precisa111 trabalhar uma largura de banda suficiente, uma reserva pode ser fei-
con1 1nuita rapidez. ta com a rede. Essa capacidade é fornecida pelos serviços
O buffering ainda é necessário para reproduzir as integrados.
amostras de 1nídia em tempo (para evitar áudio ininteligí- Infelizmente, isso não é 1nuito iinplantado. Em vez
vel ou vídeo con1 paradas), mas a quantidade de buffering disso, as redes são projetadas para um nível de tráfego
precisa ser muito pequena, pois o tempo restante e1n nos- esperado ou os clientes da rede recebem acordos de nível
so atraso aceitável é medido em 1nilissegundos. Quando de serviço para detenninado nível de tráfego. As aplica-
um pacote leva muito tempo para chegar, o player pula as ções precisam operar abaixo desse nível, para evitar cau-
amostras que falta1n, talvez reproduzindo o ruído ambiente sar congestionamento e introduzir atrasos desnecessários.
ou repetindo um quadro para mascarar a perda ao usuário. Para a videoconferência casual em casa, o usuário pode
Há um compromisso entre o tamanho do buffer usado para escolher u1na qualidade de vídeo co1110 um proxy para ne-
lidar co1n o jitter e a quantidade de 1nídia que é perdida. cessidades de largura de banda, ou o software pode testar
U1n buffer 1nenor reduz a latência, mas resulta e1n mais per- o caminho da rede e selecionar uma qualidade apropriada
da, devido ao jitter. Con10 consequência, quando o tan1anho automaticamente.
do buffer diininui, a perda é observada pelo usuário. Qualquer um desses fatores pode fazer a latência ser
inaceitável, de 1nodo que a conferência e111 tempo real re-
Os leitores atentos podem ter notado que não falamos
quer que se preste atenção em todos eles. Para obter uma
nada sobre os protocolos da carnada de rede até aqui nes-
visão geral de voz sobre lP e uma análise desses fatores,
ta seção. A rede pode reduzir a latência ou, pelo menos, o
consulte Suo et al. (2015).
jitter, usando mecanismos de qualidade de serviço. O mo-
Agora que já discutimos o probleina da latência no
tivo para que esse proble1na não tenha aparecido antes é
caminho do streaming de mídia, vamos prosseguir para o
que o strea1ning é capaz de operar com latência substancial,
outro problema principal que os sistemas de conferência
mes1no no caso de strea1ning ao vivo. Se a latência não for
precisam resolver: como estabelecer e encen·ar chan1adas.
um problema importante, wn buffer no host final será sufi-
Veremos dois protocolos que são 1nuito utilizados para essa
ciente para tratar do problema do jitter. Contudo, para con-
finalidade, H.323 e SlP. Skype e FaceTiine são outros siste-
ferência em tempo real, nonnalmente é in1portante fazer a
n1as importantes, mas seu funcionamento interno é fechado.
rede reduzir o atraso e o jitter para ajudar a cumprir o atraso
pennitido. O único 1nomento em que isso não é importante
é quando existe tanta largura de banda da rede disponível H.323
que todos recebem um bom serviço. Ficou claro para todos desde o início que, antes que as cha-
No Capítulo 5, descreven1os dois mecanismos de qua- madas de voz e vídeo fossem feitas pela Internet, se cada
lidade de serviço que ajudam nesse objetivo. Um deles é fornecedor projetasse sua própria pilha de protocolos, o
DS (Differentiated Services), em que os pacotes são mar- siste1na nunca funcionaria. Para evitar esse proble1na, vá-
cados con10 pertencentes a diferentes classes, que recebem rias partes interessadas se reuniram sob o patrocínio da
tratamento diferente dentro da rede. A marcação apropriada ITU para desenvolver padrões. Em 1996, a lTU emitiu a
para pacotes de voz sobre IP é baixo atraso. Na prática, os recomendação H.323, intitulada "Visual Telephone Syste-
sisten1as definem o ponto de código DS para o valor bem n1s and Equipment for Local Area Networks Which Provi-
conhecido para a classe Expedited Fortvarding com o tipo de a Non-Guaranteed Quality of Service" (ou seja, siste-
de serviço Low Delay . Isso é útil em especial para enlaces mas e equipamentos de telefonia visual para redes locais
Capítulo 7 • A camada de aplicação 447

que oferecen1 un1a qualidade de serviço não garantida). da telefonia padrão. A ITU Q.931 é usada aqui. Os tenni-
Só n1esmo a indústria de telefonia pensaria em tal título. nais também precisam de um protocolo para se comunicar
A recomendação rapidamente mudou para "Packet-based con1 o gatekeeper (se existir). Para esse propósito, é usado
Multimedia Co1n1nunications Systems" (sístemas de co- o H.225. O canal do PC para o gatekeeper que ele gerencia
municações multin1ídia baseados em pacotes) na revisão é cha1nado canal RAS (Registration/Admission/Status),
de 1998. H.323 foi a base para os prilneiros sistemas am- e permite que os terminais entrem e saian1 da zona, solici-
plamente difundidos de conferência da Internet e continua tem e retomem largura de banda e forneçam atualizações de
sendo a solução mais utilizada. status, entre outras coisas. Por fim, é necessário um proto-
H.323 é mais uma avaliação da arquitetura de telefo- colo para a transmissão de dados reais - o RTP sobre UDP
nia da Internet do que u1n protocolo específico. Ela faz refe- é usado com esse propósito. Ele é gerenciado pelo RTCP,
rência a Lun grande nú1nero de protocolos específicos para como se1npre. O posicionamento de todos esses protocolos
codificação de voz, configuração de chamadas, sinalização, é mostrado na Figura 7.37.
transporte de dados e outras áreas, em vez de especificar Para ver con10 esses protocolos funcionam juntos,
propria1nente cada um desses elementos. O modelo geral é considere o caso de um terminal de PC em uma LAN (com
representado na Figura 7.36. No centro há um gateway que um gatekeeper) que chan1a um telefone remoto. Primeiro, o
conecta a Internet à rede de telefonia. Ele se comunica por PC te1n de descobrir o gatekeeper e, para isso, transmite por
meio dos protocolos H.323 no lado da Internet e dos proto- broadcast um pacote UDP de descoberta para a porta 1718.
colos PSTN no lado da rede telefônica. Os dispositivos de Quando o gatekeeper responde, o PC descobre seu endere-
comunicação são chamados terminais. Uma LAN pode ter ço IP. Agora, o PC se registra com o gatekeeper, enviando a
un1 gatekeeper (guardião) que controla os pontos extremos ele uma n1ensage1n RAS em um pacote UDP. Depois que
sob sua jurisdição, denominada zona. a mensagem é aceita, o PC envia ao gatekeeper un1a 1nensa-
Un1a rede de telefonia necessita de vários protocolos. gem RAS de admissão solicitando largura de banda. Só de-
Para começar, existe um protocolo para codificação e deco- pois que a largura de banda for concedida será possível ini-
dificação de áudio e vídeo. As representações da telefonia ciar a configuração de chatnada. A ideia de solicitar largura
padrão para um único canal de voz como 64 kbps de áudio de banda co1n antecedência ten1 a finalidade de permitir ao
digital (8 mil a1nostras de 8 bits por segundo) são definidas gatekeeper limitar o número de chamadas, a fim de evitar
na recomendação G.711 da ITU. Todos os sistemas H.323 saturar a linha de saída, e desse modo oferecer a qualidade
devem ter suporte para a G.711. Outras codificações que de serviço necessária.
comprimem a voz são permitidas, mas não exigidas. Os sis- A propósito, o sistema telefônjco faz a mesma coisa.
temas H.323 empregam diversos algorit1nos de compressão Quando você pega o receptor, um sinal é enviado à cen-
e ad1nite1n diferentes relações entre qualidade e largura de tral local. Se a central tiver capacidade de reserva suficien-
banda. Para o vídeo, as formas MPEG de compressão de te para outra chamada, ela gerará um sinal de discagem.
vídeo que descrevemos anteriormente são admitidas, in- Se não, você não ouvirá nada. Hoje, o sistema é tão super-
cluindo H.264. dimensionado que o tom de discagem é quase sempre ins-
Tendo em vista que são possíveis diversos algoritmos tantâneo, n1as, nos primeiros dias da telefonia, nonnalmen-
de con1pressão, é necessário um protocolo para pennitir te isso levava alguns segundos. Assim, se seus netos lhe
que os ten11inais negocie1n o algoritino que vão usar. Esse perguntarem "por que existem tons de discagem?", agora
protocolo é chamado H.245. Ele também negocia outi·os você já sabe. Até lá, porém, provavelmente os telefones não
aspectos da conexão, como a taxa de bits. O RTCP é neces- existirão mais.
sário para controlar os canais do RTP. Também é preciso Agora, o PC estabelece un1a conexão TCP para o
un1 protocolo para estabelecer e encerrar conexões, forne- gatekeeper, a fim de iniciar a configuração de chan1ada.
cer sinais de discage1n, gerar sons de chamada e o restante A configuração de chamada utiliza os protocolos existentes

Zona"' ---- - --- ~:rminal- D


,,,,"" ....... -~-
, '
,,' Gatekeeper, ~ ',,

D '\
/ ' c::::::I \
Rede
t' Internet
telefônica
''
1
1
1

\
' ,~~~~~~~~_,,, /
''
---------- --- ,,
/
'
'

Figura 7.36 O modelo arquitetônico do H.323 para telefonia da Internet.


448 Redes de computadores

Áudio Vídeo Controle

G.7xx H.26x H.245


0.931
H.225 (controle
RTCP (sinali-
(RAS) de
RTP zação)
chamada)

UDP TCP

IP

Protocolo da camada de enlace

Protocolo da camada física

Figura 7.37 A pilha de protocolos H.323.

da rede telefônica, que são orientados a conexões e, por- subsequentes ignoram o gatekeeper e vão diretamente para o
tanto, o TCP é necessário. E1n contrapartida, o siste1na te- endereço TP do gateway. Nesse mon1ento, só temos um canal
lefônico não tem nada semelhante ao RAS que permita aos livre entre as duas partes. Trata-se apenas de uma conexão
telefones anunciar sua presença, e assim os projetistas do da camada fisica para movimentação de bits, e nada mais.
H.323 ficaram livres para usar o UDP ou o TCP para RAS. Nenhum dos lados conhece detalhe algutn sobre o outro.
Eles optaram pelo UDP por ter um overhead mais baixo. O protocolo H.245 é usado agora para negociar os pa-
Depois que a largura de banda é alocada, o PC pode rân1etros da chamada. Ele usa o canal de controle H.245,
enviar uma mensagem Q.931 SETUP pela conexão TCP. que está sempre aberto. Cada lado começa anunciando seus
Essa 1nensagem especifica o número do telefone que está recursos - por exemplo, se pode lidar com vídeo (o H.323
sendo chamado (ou o endereço IP e a porta, se for uma pode manipular vídeo) ou cha1nadas de conferência, quais
cha1nada para um computador). O gatekeeper responde codecs são aceitos, etc. Depois que cada lado sabe o que
com uma 1nensagem Q.931 CALL PROCEEDING para o outro pode usar, são configurados dois canais de dados
confirmar o recebimento correto da solicitação. Então, unidirecionais, e também são atribuídos a cada parte u1n
o gatekeeper encaminha a mensagem SETUP para o codec e outros parâ1netros. Tendo em vista que cada lado
gateway. pode ter um equipamento diferente, é possível que os co-
O gateway, que é metade co1nputador e metade switch decs dos canais direto e reverso sejam diferentes. Depois
de telefonia, faz un1a chamada telefônica comu1n para o te- de concluídas todas as negociações, o fluxo de dados pode
lefone desejado (comum). A estação final à qual o telefone co1neçar a usar o RTP. Ele é gerenciado com o RTCP, que
está conectado faz soar o sinal do telefone cha1nado e tan1- desempenha u1na função importante no controle de con-
bém envia de volta uma mensagem Q.931 ALERTpara in- gestionan1ento. Se houver vídeo presente, o RTCP vai lidar
formar ao PC chamador que a cha1nada teve início. Quando com a sincronização de áudio/vídeo. Os diversos canais são
a pessoa na outra extremidade da linha atende ao telefone, mostrados na Figura 7.38. Quando uma das partes desliga o
a estação final envia de volta u1na mensagem Q.931 CON- telefone, o canal de sinalização de cha1nadas Q.931 é usado
NECT para indicar ao PC que ele ten1 u1na conexão. para liberar os recursos que não são 1nais necessários.
Após o estabelecimento da conexão, o gatekeeper não Quando a cha1nada termina, o PC que chama entra em
está 1nais no loop, mas é claro que o gateway está. Os pacotes contato com o gatekeeper novamente com uma mensagem

Canal de sinalização de chamada (Q.931)

Canal de controle de chamada (H.245)

Canal de dados de encaminhamento (RTP) -


Chamador/ 'chamado
Canal de dados reverso (RTP)

Canal de controle de dados (RTCP)

Figura 7.38 Canais lógicos entre o chamador e o chamado durante a realização de uma chamada.
Capítulo 7 • A camada de aplicação 449

RAS para liberar a largura de banda que lhe foi atribuída. RTP/RTCP, são usados para transporte de dados. O SIP é
Como alternativa, ele pode fazer outra cha1nada. un1 protocolo da camada de aplicação e pode funcionar so-
Ainda não dissemos nada sobre a qualidade de servi- bre o UDP ou o TCP, conforme a necessidade.
ço como parte do H.323, e1nbora tenha1nos dito que essa é O SIP admite uma grande variedade de serviços, in-
uma parte importante para tornar a conferência e1n tempo clusive localização de quem está sendo chamado (que pode
real u1n sucesso. O motivo é que QoS está fora do escopo não estar em sua máquina local) e determinação dos recur-
do H.323. Se a rede subjacente for capaz de produzir uma sos de cha1nada, be1n co1no tratamento do mecanismo de
conexão estável, semjitter, do PC que chama até o gateway, configuração e encerramento de chamadas. No caso mais
QoS na chamada será boa - caso contrário, não. Contudo, sünples, o SIP configura uma sessão entre o computador do
qualquer parte da chamada no lado do telefone estará livre chamador e o con1putador de quem é chamado, portanto,
de jitter, pois é assim que a rede telefônica foi projetada. . . .
vamos exa1nmar pnmetro esse caso.
Os nú1neros de telefones no SIP são representados
SIP - Session lnitiation Protocol co1no URLs que utiliza1n o esquema sip, por exemplo,
sip:elisa@cs.university.edu, para uma usuária chamada
O H.323 foi projetado pela ITU. Muitas pessoas na comu-
Elisa no host especificado pelo nome DNS cs.university.edu.
nidade da Internet viam esse protocolo como um produto
Os URLs do SIP também podem conter endereços IPv4, en-
típico das empresas de telecomunicações: grande, comple-
dereços IPv6 ou números de telefone reais.
xo e inJlexível. Consequentemente, a lETF estabeleceu um
con1itê para projetar u1na forma mais simples e 1nais modu- O protocolo SIP é baseado em texto modelado sobre
lar de utilizar voz sobre lP. O resultado mais importante até o HTTP. Uma parte envia u1na mensagem em texto ASCII
hoje é o SIP (Session loitiation Protocol). A versão mais que consiste em u1n nome do 1nétodo na primeira linha, se-
recente é descrita na RFC 326 1, co1n muitas atualizações guido por outras linhas contendo cabeçalhos para passagem
desde quando foi escrita. Esse protocolo descreve como de parâmetros. Muitos cabeçalhos são tirados do MIME
preparar chamadas telefônicas via Internet, videoconferên- para permitir ao SIP interoperar com aplicações da Internet
cias e outras conexões de multimidia. Diferentemente do existentes. Os seis métodos definidos pela especificação do
H.323, que é um conjunto de protocolos co1npleto, o SJP núcleo estão listados na Figura 7.39.
tem um único módulo, mas foi projetado para interoperar Para estabelecer un1a sessão, o chamador ctia uma co-
ben1 com aplicações da Internet existentes. Por exemplo, nexão TCP co1n o chamado e envia uma mensagem INVITE
ele define números de telefones como URLs, de forma que sobre ela, ou então envia a mensagem INVITE e1n um pa-
as páginas Web possatn conter esses números, pennitindo cote UDP. En1 ambos os casos, os cabeçalhos da segunda
que u1n clique em um link inicie uma ligação telefônica (da linha e das linhas seguintes descrevem a estrutura do cor-
mes1na forma que o esquema tnailto permite que wn clique po da mensagem, que contém os recursos do chamador,
sobre um link abra um programa para enviar un1a 1nensa- tipos de 1nídia e formatos. Se quetn foi chamado aceitar
gem de e-mail). a ligação, ele responderá com um código de resposta do
O SIP pode estabelecer sessões entre duas partes (liga- tipo HTTP (u1n número de três dígitos usando os grupos
ções telefônicas co1nuns), sessões de várias partes (e1n que da Figura 7.26; 200 significa aceitação). Após a linha do
todos podem ouvir e falar) e sessões de multicast (com um código de resposta, o chamado também pode fornecer in-
transmissor e mujtos receptores). As sessões podem conter fonnações sobre seus recursos, tipos de 1nídia e fonnatos.
áudio, vídeo ou dados, sendo que os dados são úteis, por A conexão é feita com o uso de urn handshake de três
exen1plo, para jogos em tempo real com vários participan- vias, de forma que o chamador responde com uma 1nensa-
tes. O SIP cuida apenas da configuração, do gerenciamen- gem ACK para finalizar o protocolo e confirmar o recebi-
to e do encerramento de sessões. Outros protocolos, como mento da mensagem 200.

Método Descrição
INVITE Solicita o início de uma sessão
ACK Confirma que uma sessão foi iniciada
BYE Solicita o término de uma sessão
OPTIONS Consulta um host sobre seus recursos
CANCEL Cancela uma solicitação pendente
REGISTER Informa um servidor de redirecionamento sobre a localização atual do usuário

Figura 7.39 Métodos SIP.


450 Redes de computadores

~
= O H.323 é um padrão pesado, típico da indústria de telefo-
D Servidor de localização nia, especificando a pilha de protocolos co1npleta e definin-
do com precisão o que é permitido e o que é proibido. Essa
(L
::> >-
..J
abordagem leva a protocolos muito bem definidos e1n cada
::.:: (L
Proxy
o w camada, facilitando a tarefa de interoperabilidade. O pre-
Chamador g a: Chamado
ço pago é um padrão grande, con1plexo e rígido, difícil de
I
C')
N
1 INVITE 4 INVITE adaptar a aplicações futuras.
60K 50K D o
Ao contrário, o SIP é um protocolo típico da internet e
7 ACK 8ACK funciona permutando pequenas 1inhas de texto ASCll. Esse
é um módulo leve que interopera be1n com outros protoco-
9 Dados los da Inten1et, 1nas não muito be1n com os protocolos de
Figura 7.40 O uso de um servidor proxy e redireciona- sinalização do sistema telefônico existente. Pelo fato de o
mento com SIP. rnodelo de voz sobre IP da lETF ser altamente tnodular, ele
é flexível e pode ser adaptado com faci lidade a novas apli-
cações. A desvantage1n reside nos proble1nas potenciais de
Qualquer uma das partes pode solicitar o término de interoperabilidade, enquanto as pessoas tentam interpretar
uma sessão enviando uma mensage1n que contém o mé- o que o padrão significa.
todo BYE. Quando o outro lado confinnar, a sessão será
encerrada.
O 1nétodo OPTIONS é usado para consultar uma má-
quina sobre seus próprios recursos. Em geral, ele é usado 7.5 ENTREGA DE CONTEÚDO
antes de uma sessão ser iniciada, a fim de descobrir se essa
máquina é capaz de se co1nunicar usando voz sobre IP ou se Houve uma época en1 que a Internet era toda comunicação
está sendo utilizado qualquer outro tipo de sessão. ponto a ponto, co1no a rede telefônica. No início, os aca-
O 1nétodo REG!STER se relaciona com a habilidade dêmicos se comunicavam com máquinas remotas, fazendo
do SIP e1n localizar u1n usuário que está longe de casa e login pela rede para realizar suas tarefas. As pessoas usa-
se conectar a ele. Essa 1nensagem é enviada a um servidor ram o e-mail para se cotuunicar umas com as outras por um
de localização do SIP que controla a localização de cada longo ternpo, e agora també1n usam vídeo e voz sobre IP.
usuário. Esse servidor pode ser consultado mais tarde para Contudo, como a Web cresceu, a Internet tomou-se mais
descobrir a localização atual do usuário. A operação de redi- relativa a conteúdo do que comunicação. Muitas pessoas
recionamento é ilustrada na Figura 7.40. Aqui, o cha1nador usarn a Web para buscar informações, e existe uma vasta
envia a mensagem JNVJTE a um servidor proxy para ocultar quantidade de download de música, vídeos e outros tipos de
o possível redirecionamento. Então, o proxy procura o usuá- 1naterial. A passagen1 para o conteúdo foi tão pronunciada
rio e envia a mensagen1 JNVJTE a ele. Em seguida ele atua que a 1naior parte da largura de banda da Internet agora é
como um repasse às 1nensagens subsequentes no handshake usada para entregar vídeos armazenados.
de três vias. As n1ensagens LOOKUP e REPLY não fazem Como a tarefa de distribuir conteúdo é diferente da-
parte do SlP; qualquer protocolo conveniente pode ser usa- quela da comunicação, ela impõe diferentes requisitos so-
do, dependendo do tipo de servidor de localização usado. bre a rede. Por exemplo, se Sandra quiser falar com Júnior,
O SIP tem uma grande variedade de outros recursos ela pode fazer tnna chamada de voz sobre IP para o dis-
que não descreveremos aqui, inclusive a espera de cha- positivo móvel dele. A comunicação precisa ser com um
madas, triage1n de cha1nadas, criptografia e autenticação. computador em particular - não será possível chamar o
Ele ta1nbé1n tem a capacidade de efetuar chamadas de um computador de Paulo. Todavia, se Júnior quiser assistir à
co1nputador para u1n telefone comu1n, se houver um ga- últi1na partida de futebol de seu ti1ne, ele ficará satisfeito
teway apropriado disponível entre a Internet e o siste1ua de com o streaming de vídeo de qualquer computador que pos-
telefonia. sa oferecer o serviço. Ele não se importa se o computador
é o de Sandra ou o de Paulo ou, mais provavelmente, um
servidor desconhecido na Internet. Ou seja, o local não im-
Comparação entre H.323 e SIP
porta para o conteúdo, exceto pelo aspecto do desempenho
O H.323 e o SIP permitem chamadas entre duas ou mais (e da legalidade).
partes usando computadores e telefones como terminais. A outra diferença é que alguns sites que oferecetn con-
Ambos ad1nite1n negociação de parâ1netros, criptografia e teúdo se tornaram incrivelmente populares. YouTube é u1n
protocolos RTP/RTCP. Um resumo das se1nelhanças e dife- exemplo clássico. Ele permite que os usuários comparti-
renças entre eles é apresentado na Figura 7.41. lhe1n vídeos de sua própria criação, sobre qualquer assunto
En1bora os conjuntos de características seja1n seme- que se possa imaginar. Muitas pessoas quere1n fazer isso -
lhantes, os dois protocolos diferem bastante na filosofia . o restante de nós quer apenas assistir. O tráfego da Internet
Capítulo 7 • A camada de aplicação 451

Item H.323 SIP


Projetado por ITU IETF
Compatibilidade com PSTN Sim Ampla
Compatibilidade com a Internet Sim, com o tempo Sim
Arquitetura Monolítica Modular
Completeza Pilha de protocolos completa SIP lida apenas com a configuração
Negociação de parâmetros Sim Sim
Sinalização de chamadas Q.931 sobre TCP SIP sobre TCP ou UDP
Formato de mensagens Binário ASCII
Transporte de mídia RTP/RTCP RTP/RTCP
Chamadas de vários participantes Sim Sim
Conferências de multimídia Sim Não
Endereçamento URL ou número de telefone URL
Término de chamadas Explícito ou encerramento por TCP Explícito ou por timeout
Mensagens instantâneas Não Sim
Criptografia Sim Sim
Tamanho do documento de padrões 1.400 páginas 250 páginas
Implementação Grande e complexa Moderada, mas há problemas
Status Distribuído, esp. vídeo Alternativo, esp. voz

Figura 7.41 Comparação entre H.323 e SIP.

hoje é mais de 70% streaming de vídeo, com a maioria des- clientes. Antigamente, as CDNs eram Limitadas a grandes
se tipo de tráfego sendo entregue por um pequeno número provedores de conteúdo - um provedor de conteúdo com
de provedores de conteúdo. 1naterial muito popular paga a uma CND, como Akamai,
Nenhum servidor isolado é poderoso ou confiável o para distribuir seu conteúdo, efetivan1ente preenchendo
bastante para lidar co1n um nível de de1nanda desse tipo. seus caches antecipadamente com o conteúdo que preci-
En1 vez disso, YouTube, Netflix e outros grandes provedo- sava ser distribuído. Hoje, muitos grandes provedores de
res de conteúdo montam suas próprias redes de distribuição conteúdo, incluindo Netflix, Google e até mesmo muitos
de conteúdo. Essas redes usam centros de dados espalhados ISPs que hospedam seu próprio conteúdo (p. ex., Comcast),
pelo mundo inteiro para atender com conteúdo a um núme- operam suas próprias CDNs.
ro extre1namente grande de clientes, com bon1 dese1npenho Outra forma de distribuir conteúdo é por meio de uma
e disponibilidade. rede P2P (P eer-to-Peer), e1n que os componentes envia1n
As técnicas usadas para distribuição de conteúdo fo- conteúdo uns para os outros, geraln1ente sem servidores
ratn desenvolvidas com o tempo. Desde cedo, co1n o cresci- providos separadamente ou se1n ponto de controle central
mento da Web, sua popularidade quase foi sua ruína. Mais algum. Essa ideia capturou a imaginação das pessoas por-
demandas por conteúdo levaram a servidores e redes que que, atuando juntos, muitos pequenos participantes podem
constantemente ficavam sobrecarregados. Muitas pessoas conseguir u1ua boa fatia.
con1eçaram a chamar a WWW de World Wide Wait (espera
de alcance mundial). Para reduzir os atrasos sem fim, os
pesquisadores também desenvolveram diferentes arquitetu-
7.5.1 Conteúdo e tráfego na Internet
ras para usar a largura de banda para distribuir conteúdo. Para projetar e preparar redes que funcionam be1n, preci-
Uma arquitetura comum para a distribuição de con- san1os entender o tráfego que elas precisam transportar.
teúdo é uma CDN (Content Delivery Network), às vezes Co1n a mudança para conteúdo, por exemplo, os servidores
chan1ada de Content Distribution Netivork. U1na CDN n1igrara1n de escritórios da empresa para centros de dados
é efetivamente u1n grande conjunto de caches distribuí- da Inte1net, que oferecem grandes quantidades de máqui-
dos, que em geral enviam o conteúdo diretamente para os nas com excelente conectividade de rede. Hoje, para usar
452 Redes de computadores

até n1esmo um servidor pequeno, é mais fácil e n1ais barato U1na distribuição de Zipf aparece na Figura 7.42(a).
alugar um servidor virtual hospedado em um centro de da- Ela captura a noção de que existe um pequeno nú1nero de
dos da Internet do que operar u1na máquina real em casa itens populares e muitos itens não populares. Para reconhe-
ou no escritório, com conectividade de banda larga com a cer as distribuições dessa forma, é conveniente desenhar
Internet. os dados en1 tuna escala logarítmica nos dois eixos, corno
O tráfego na Internet é altamente tendencioso. Mui- mostra a Figura 7.42(b). O resultado deverá ser u1na linha
tas propriedades com as quais estamos acostu1nados são reta.
agrupadas ao redor de utna média. Por exemplo, a 1naioria Quando as pessoas viram a popularidade das pági-
dos adultos está próxima da altura 1nédia. Existem algumas nas Web, isso também seguiu aproximadamente a lei de
pessoas altas e algumas pessoas baixas, mas poucos são Zipf (Breslay et ai., l 999). Uma distribuição de Zipf é
muito altos ou muito baixos. Da nlesma forma, a maioria um exemplo em uma familia de distribuições conhecidas
dos romances possui centenas de páginas, muito poucos como leis da potenciação, que são evidentes em muitos
tê1n 20 ou LO mil páginas. Para esses tipos de propriedades, fenômenos hun1anos, como a distribuição de populações
e riquezas na cidade. Elas têm a mesn1a propensão para
é possível projetar para um intervalo que não seja muito
descrever poucos grandes participantes e rnuitos partici-
grande, mas que capture a maioria da população.
pantes menores, e ta1nbén1 aparece1n como u1na linJ1a reta
O tráfego da Internet não é assirn. Por muito tempo, em um gráfico logarítmico nos dois eixos. Logo, desco-
soube-se que existe un1 pequeno nún1ero de sites com um briu-se que a topologia da Internet poderia ser descrita
tráfego maciço (p. ex., Google, YouTube e Facebook) e um de forma aproximada com leis da potenciação (Siganos
grande número de sites com muito pouco tráfego. et ai., 2003). Em seguida, os pesquisadores começaram a
A experiência com lojas de aluguel de vídeo, biblio- desenhar cada propriedade imaginável da Internet em u1na
tecas públicas e outras organizações desse tipo mostra que escala logarítmica, observando uma linha reta e gritando:
nen1 todos os itens são igualmente populares. Experimen- "Lei da potenciação!".
talmente, quando N filmes estão disponíveis, a fração de Entretanto, o que in1porta mais do que u1na linha reta
todas as solicitações para o k-ésimo mais popular é apro- en1 un1 gráfico logarítmico nos dois eixos é o que essas dis-
ximadamente C/k. Aqui, C é calculado para nonnalizar a tribuições significam para o projeto e para o uso de redes.
soma corno 1, ou seja, Dadas as muitas formas de conteúdo que possuem distribui-
ções da lei de Zipf ou da potenciação, parece fundatnental
e= 11(1 + 112 + 1/3 + 114 + 115 + . .. + l!N) que os sites na Internet sejam con10 Zipf en1 popularidade.
Isso, por sua vez, significa que um site norrnal não é uma
Assi1n, o filme mais popular é sete vezes mais popular representação útil. Os sites são mais be1n descritos como
que o fihne número sete. Esse resultado é conhecido co1no populares ou impopulares. Os dois tipos importam. A im-
lei de Zipf (Zipf, 1949). Ela tem o nome de George Zipf, portância dos sites populares é óbvia, pois poucos deles já
professor de linguística na Harvard University, que obser- pode1n ser responsáveis pela 1naior parte do tráfego na In-
vou que a frequência do uso de uma palavra en1 um grande ternet. Talvez seja surpresa saber que os sites impopulares
corpo de texto é inversamente proporcional à sua classifica- também importam. Isso porque a quantidade total de tráfe-
ção. Por exen1plo, a 40ª palavra 1nais co1nu1n é usada pelo go direcionado para eles pode se acumular e se tornar uma
dobro de vezes que a 80" palavra 1nais comum e três vezes grande fração do tráfego geral. O motivo é que existem
mais que a 120" palavra mais comum. muitos sites impopulares. A noção de que, coletivamente,

10°
<ti

-
<ti
> >
<ti ~
~ ~
<ti <ti
() 1
()
e e 10-
«l> <Ql
:::J :::J
O'
~
lL
~
lL

1 5 10 15 20 1 101 102
Classificação Classificação
(a) (b)

Figura 7.42 Distribuição de Zipf {a) em uma escala linear e (b) em uma escala logarítmica nos dois eixos.
Capítulo 7 • A camada de aplicação 453

muitas escolhas impopulares podem i1nportar te1n sido servidor Web. Isso nos leva ao 1nodelo de parque de servi-
propagada por livros como The Long Tail (A cauda longa; dores da Figura 7.43.
Anderson, 2008a). A dificuldade co1n esse modelo aparente1nente sim-
Para trabalhar de modo eficaz nesse inundo tendencio- ples é que o conjunto de computadores que compõem o
so, precisamos ser capazes de construir os dois tipos de si- parque de servidores precisa se parecer com um único site
tes. Os impopulares são fáceis de lidar. Usando DNS, mui- lógico para os clientes. Se não, tere111os si1nples1nente n1on-
tos sites diferentes pode1n realmente apontar para o mesmo tado diferentes sites que funcionam e1n paralelo.
con1putador na lnte1net que executa todos os sites. Por sua Existem várias soluções possíveis para fazer o con-
vez, sites populares são difíceis de lidar. Não existe um úni- junto de servidores parecer ser u1n único site. Todas as
co computador remotamente poderoso o suficiente, e o uso soluções assumem que qualquer um dos servidores pode
de um único computador tornaria o site inacessível para mi- lidar com uma solicitação de qualquer cliente. Para fazer
lhões de usuários quando (e não se) ele falhasse. Para lidar isso, cada servidor precisa ter uma cópia do site. Os servi-
com esses sites, te1nos que criar sistemas de distribuição de dores aparecem como conectados a tun banco de dados de
conteúdo. Vamos averiguar isso em seguida. back-end comum por meio de tuna linha tracejada para essa
finalidade.
A solução mais comum talvez seja usar o DNS para
7.5.2 Parques de servidores e proxies Web distribuir as solicitações entre os servidores do parque de
Os projetos da Web que vin1os até aqui têm u1na única n1á- servidores. Quando uma sol icitação DNS é feita para o
quina servidora falando com várias 1náquinas clientes. Para do111ínio DNS no URL da Web con·espondente, o servidor
montar grandes sites que funcionem bem, podemos agilizar DNS retoma uma resposta DNS que redireciona o cliente
o processamento no lado do servidor ou no lado do clien- para um serviço de CDN (nonnalmente por uma referência
te. No lado do servidor, pode1n ser 1nontados servidores de registro NS a um servidor de nomes que é autorizado
mais poderosos con10 um parque de servidores, e1n que um para esse domínio), que por sua vez visa retornar ao cliente
cluster ou conjunto de computadores atua como um único um endereço IP que corresponda a tnna réplica do servidor
servidor. No lado do cliente, o melhor desempenho pode próxima ao cliente. Se vários endereços IP forem retorna-
ser alcançado com n1elhores técnicas de caching. Em parti- dos na resposta, o cliente gerahnente tenta se conectar ao
cular, os caches proxy oferecen1 um grande cache compar- prirneiro deles no conjunto de respostas fornecido. O efeito
tilhado para u1n grupo de clientes. é que clientes diferentes entram em contato com servidores
Vamos descrever cada uma dessas técnicas, tuna por diferentes para acessar o 1nesmo site da Web, exata1nen-
vez. No entanto, observe que nenhuma delas é suficiente te como pretendido, provavelmente um que esteja próxi-
para montar os maiores sites. Esses sites populares exigem n10 ao cliente. Observe que esse processo, que às vezes é
os métodos de distribuição de conteúdo que descreveretnos chamado de mapeamento de cliente, depende do servidor
nas próximas seções, que combinam comunicações e1n de nomes autorizado para saber a localização topológica
muitos locais. ou geográfica do cliente. Discutiremos o 1napeamento de
cliente baseado em DNS com roais detalhes quando descre-
vermos as CDNs.
Parques de servidores
Atualmente, outra técnica popular para o balance-
Não importa quanta capacidade e largura de banda uma amento de carga é usar o anycast JP. Resumidamente,
máquina tenha, ela só pode atender a 1nuitas solicitações anycast IP é o processo pelo qual u1n único endereço IP
da Web enquanto a carga não for muito grande. A solução, pode ser anunciado a partir de vários pontos de conexão
nesse caso, é usar mais de utn computador para criar um de rede diferentes (p. ex., urna rede na Europa e uma rede

--------------------------------------~
1

Acesso à
1
1
1
1
Carga balanceada
'entre os servidores
- '' \
Internet 1
1 - ' ' ,, .....__ _-r
\
\

- - _' "\ ' ' Bancos


1

D ----~---+-----;--
1
1
- ,..-..,
-

dados
........ / back-end
,,-----.,, ,.. /
de
de
1
1
1
1
-
,,-----.,, //
/
/

1 -
: Parque de servidores Si..::e=
rv:....
id-o-re..Ys
L- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Clientes

Figura 7.43 Um parque de servidores.


454 Redes de computadores

nos Estados Unidos). Se tudo correr ben1, u1n cliente que determinar que uma página e111 cache é válida por si só, a
busca entrar e1n contato com um determinado endereço IP página poderá ser capturada do cache imediata1nente, se1n
acabará tendo seu tráfego roteado para a extre1nidade da nenhun1 tráfego na rede. Contudo, mesmo que o navega-
rede mais próxi1na. Claro, como sabemos, o roteamento dor tenha que pedir confirmação do servidor para saber se
entre do1nínios na Inten1et ne1n sen1pre escolhe o caminho a página é válida, o tempo de resposta é curto e a carga da
mais curto (ou mesmo o 1nelhor) e, portanto, este méto- rede é reduzida, especiahnente para páginas grandes, pois
do é muito mais granular e dificil de controlar do que o apenas uma mensagem pequena precisa ser enviada.
mapeamento de cliente baseado em DNS. No entanto, al- Mas o melhor que o navegador pode fazer é man-
gumas CDNs grandes, como Cloudflare, usam o anycast ter em cache todas as páginas que o usuário visitou an-
IP e1n conjunto co1n o 1napean1ento de cliente baseado en1 teriormente. Pela nossa discussão sobre popularidade,
DNS. você deve se lembrar que, assin1 co1no algumas páginas
As outras soluções comuns são baseadas em um front- populares que muitas pessoas visitam repetidamente,
-end que espalha as solicitações que chegam pelo pool de existem muitas e muitas páginas impopulares. Na prática,
servidores no parque de servidores. Isso acontece mesmo isso lin1ita a eficácia do caching do navegador, pois há um
quando o cliente contata o parque de servidores usando grande número de páginas que são visitadas apenas uma
um endereço IP de destino. O front-end normalmente é um vez por determinado usuário, e elas sempre precisam ser
switcb da camada de enlace ou um roteador IP, ou seja, um capturadas do servidor.
dispositivo que trata de quadros ou pacotes. Todas as solu- U1na estratégia para tornar os caches mais eficazes
ções são baseadas no front-end (ou nos servidores) lendo é compartilhá-los entre vários usuários. Desse modo, uma
os cabeçalhos da can1ada de rede, de transporte ou de apli- página já capturada para um usuário pode ser retornada
cação e usando-os de n1aneiras fora do padrão. U1na solici- para outro quando este fizer a mesma solicitação. Sem o
tação e uma resposta na Web são transportadas como uma caching do navegador, os dois usuários precisariam buscar
conexão TCP. Para funcionar correta1nente, o front-end a página do servidor. t claro que esse compartilhamento
precisa distribuir todos os pacotes para tnna solicitação ao não pode ser feito para o tráfego criptografado, páginas
mesmo servidor. que exigem autenticação e páginas que não podem ser
Un1 projeto simples é que o front-end envie por broad- rnantidas em cache (p. ex., preços atuais de ações), que
cast, para todos os servidores, todas as solicitações que che- são retornadas por programas. As páginas dinâmicas cria-
garem. Cada servidor responde somente a uma fração das das por progra111as, especialrnente, são u1n caso crescente
solicitações por acordo anterior. Por exe1nplo, 16 servido- para o qual o caching não é eficaz. Apesar disso, existem
res poderiatn examinar o endereço IP de origem e respon- muitas páginas que são visíveis a 1nuitos usuários e se pa-
der ao solicitante somente se os 4 últimos bits do endereço rece1n iguais, não importa quem faça a solicitação (p. ex.,
IP de origem combinarem com seus seletores configurados. imagens).
Outros pacotes são descartados. Embora isso seja urn des-
Um proxy Web é usado para compartilhar cache entre
perdício da largura de banda que chega, normahnente as
os usuários. U1n proxy é um agente que atua e1n favor de
respostas são muito maiores do que a solicitação, de 1nodo
alguém, con10 o usuário. Existem n1uitos tipos de proxies.
que não é tão ineficaz quanto parece.
Por exemplo, u1n proxy ARP responde a solicitações ARP
Em um projeto mais geral, o front-end pode inspecio-
em favor de um usuário que está em outro lugar (e não pode
nar os cabeçalhos IP, TCP e HTTP dos pacotes e mapeá-los
responder por si mesmo). Um proxy Web busca solicita-
arbitrariamente para um servidor. O mapeamento é chan1a-
ções Web em favor de seus usuários. Ele normalmente ofe-
do política de balanceamento de carga, pois o objetivo é
rece caching das respostas da Web e, por ser co1npartilbado
balancear a carga de trabalho entre os servidores. A política
pelos usuários, tem cache substancialmente 1naior do que
pode ser simples ou complexa. Uma política simples pode-
um navegador.
ria usar os servidores um após o outro, u1n por vez, ou em
forma de rodízio. Com essa técnica, o front-end precisa se Quando um proxy é usado, a configuração típica é que
lembrar do mapeamento para cada solicitação, de 1nodo que urna organização opere u1n proxy Web para todos os seus
os pacotes seguintes que fazem parte da nlesma solicitação usuários. A organização pode ser uma empresa ou u1n ISP.
seja1n enviados ao mes1no servidor. Alén1 disso, para tornar Ambos busca1n beneficios agilizando as solicitações Web
o site mais confiável do que u1n único servidor, o front-end para seus usuários e reduzindo suas necessidades de largura
deve observar quando os servidores falharam e parar de en- de banda. Embora um preço fixo, independente1nente do
viar solicitações a eles. uso, seja comu1n para os usuários finais, a 1naioria das em-
presas e ISPs é cobrada de acordo com a largura de banda
que utiliza1n.
Proxies Web
Essa configuração aparece na Figura 7.44. Para usar o
O caching melhora o desempenho encurtando o tempo de proxy, cada navegador é configurado para fàzer solicitações
resposta e reduzindo a carga na rede. Se o navegador puder de página ao proxy, e não ao servidor real da página. Se o
Capítulo 7 • A camada de aplicação 455

IF::====i' Cache do navegador


Organização Internet
o--
-
Dlf::::=;:,L__~-=
;i.:-= -==t___ _J -
Cache do proxy
-
Servidores
o--

Clientes

Figura 7.44 Cache de um proxy entre navegadores e servidores Web.

proxy tiver a página, ele a retornará imediatamente. Se não, 7.5.3 Redes de entrega de conteúdo
ele buscará a página do servidor e a acrescentará em cache
para uso futuro, depois disso, ele a retomará ao cliente que Parques de servidores e proxies Web ajudam a criar grandes
a solicitou. sites e a 1nelhorar o desempenho da Web, mas eles não são
suficientes para sites verdadeiramente populares, que pre-
Assim co1no o envio de solicitações da Web ao proxy
cisam enviar conteúdo em escala global. Para esses sites,
em vez de ao servidor real, os clientes realizam seu próprio
uma técnica diferente é necessária.
caching usando o cache do seu navegador. O proxy só é
As redes de entrega de conteúdo, ou CDNs (Content
consultado depois que o navegador tiver tentado satisfazer
Deliver y Networks), vira1n a ideia do caching da Web
a solicitação por seu próprio cache. Ou seja, o proxy ofere-
tradicional de ponta-cabeça. Em vez de fazer os clientes
ce um segundo nível de caching.
procurarem urna cópia da página solicitada em um cache
Outros proxies podem ser acrescentados para ofere- próximo, é o provedor que coloca uma cópia da página em
cer níveis adicionais de caching. Cada proxy (ou o nave- um conjunto de nós e1n diferentes locais e instrui o cliente a
gador) faz solicitações por n1eio de seu proxy upstream. usar u1n nó vizinho como servidor.
Cada proxy upstrea1n mantém caches para os proxies As técnicas para usar o DNS para distribuição de con-
do,vnstream (ou navegadores). Assi1n , é possível que os teúdo fora1n iniciadas pela Aka1nai a partir de 1998, quando a
navegadores em u1na en1presa use1n um proxy da en1presa, Web estava vergando sob a carga de seu crescimento inicial.
que usa um proxy do ISP, que entra e1n contato co1n os ser- A A.kamai foi a prüneira CDN i1nportante, e logo tornou-se
vidores Web diretamente. Contudo, na prática, o único ní- líder na indústria. Provavelmente ainda 1nais inteligente do
vel de cacbing de proxy que mostra1uos na Figura 7.44 nor- que a ideia de usar DNS para conectar clientes a nós vizi-
mahnente é suficiente para obter o máximo dos beneficies nhos tenha sido a estrutura de incentivo dos negócios deles.
em potencial. O problema novamente é a longa cauda da As e1npresas pagam à Akamai para oferecer seu conteúdo aos
popula1idade. Os estudos do tráfego da Web mostraram que clientes, de modo que elas tenham sites Web responsivos que
o caching compartilhado é especialmente benéfico até que os clientes gostem de usar. Os nós CDN precisam ser coloca-
o número de usuários alcance aproximada1nente o tamanho dos e1n locais da rede co1n boa conectividade, o que inicial-
de uma pequena empresa (digamos, 100 pessoas). Quando mente significava dentro das redes do ISP. Na prática, um nó
o nútnero de pessoas cresce 1nuito, os benefícios do com- CDN consiste em um rack padrão de 19 polegadas, contendo
partilhamento de um cache se tornam menores, devido às um computador e 1nuitos discos, con1 u1na fibra óptica saindo
solicitações impopulares que não podem ser mantidas em dele para se conectar com a LAN interna do ISP.
cache devido à falta de espaço de annazenamento. Para os ISPs, existe um beneficio e1n ter u1n nó CDN
Os proxies Web oferecem beneficios adicionais que em suas redes, j á que o nó da CDN reduz a quantidade de
nonnalmente são urn fator importante na decisão sobre largura de banda de upstream da rede de que elas precisan1
seu emprego. Um deles é filtrar o conteúdo. O administra- (e pela qual devem pagar). Além disso, o nó CDN melhora
dor pode configurar o proxy para impedir sites ou filtrar a responsividade para os clientes do ISP. Assi1n, o provedor
de alguma outra maneira as solicitações que ele faz. Por de conteúdo, o ISP e os clientes se beneficiam, e a CDN
exemplo, muitos administradores não gostam que os fun- ganha dinheiro. Desde 1998, 1nuitas empresas, incluindo
cionários assistam a vídeos do YouTube (ou, pior ainda, Cloudflare, Limelight, Dyn e outras, entraram no negócio,
pornografia) no horário de trabalho, e definem seus filtros de modo que esse agora é um ramo competitivo, com vários
de forma a impedi-los. Outro beneficio de ter proxies é a provedores. Como disse1nos, muitos grandes provedores de
privacidade e o anonimato, quando o proxy encobre do ser- conteúdo, como YouTube, Facebook e Netflix, operam suas
vidor a identidade do usuário. próprias CDNs.
456 Redes de computadores

As 1naiores CDNs possuen1 centenas de milhares de da página que está a1mazenada em Sidney, nenhum deles
servidores implantados en1 países do mundo inteiro. Essa busca a página do servidor de origem, que pode estar na
grande capacidade també1n pode ajudar os sites Web a se Europa.
defendere1n contra ataques de DDoS. Se u1n invasor con- O uso de uma estrutura em árvore tem três vantagens.
seguir enviar centenas ou nlilhares de solicitações por se- Prin1eiro, a distribuição de conteúdo pode ser expandida
gundo a u1n site que usa uma CDN, há u1na boa chance de para tantos clientes quantos fore1n necessários, usando mais
que a CDN consiga responder a todas elas. Desse modo, o nós na CDN e mais níveis na árvore, quando a distribuição
site invadido poderá sobreviver até que a tempestade passe. entre os nós das CDNs se tornar o gargalo. Não i1nporta
Ou seja, a CDN pode rapidamente aumentar a capacida- quantos clientes existam, a estrutura em árvore é eficiente.
de de atenditnento de um site. Algumas CDNs até mes1no O servidor de origem não fica sobrecarregado, pois ele fala
anunciam sua capacidade de enfrentar ataques de DDoS em com os muitos clientes por meio da árvore de nós da CDN,
grande escala como uma vantagem para atrair provedores não precisando responder a cada solicitação de página. Se-
de conteúdo. gundo, cada cliente recebe u1n bo1n desempenho, buscando
Os nós CDN representados em nosso exen1plo nor- páginas de u1n servidor próxitno e1n vez das de um servidor
maln1ente são clusters de 1náquinas. O redirecionamento de distante. Isso porque o tempo de ida e volta para estabele-
DNS é feito em dois níveis: u1n para mapear clientes para o cer uma conexão é mais curto, a partida lenta do TCP sobe
local aproxiinado da rede e outro para espalhar a carga so- mais rapida1nente devido ao tempo de ida e volta 1nais curto
bre os nós nesse local. Alguns aspectos envolvidos são con- e o can1inho de rede mais curto terá menos chance de passar
fiabilidade e desen1penho. Para deslocar um cliente de uma por regiões de congestionamento na Internet. Por fim, a car-
máquina em um cluster para outra, as respostas do DNS no ga total sobre a rede também é mantida no minimo. Se os
segundo nível são dadas com TTLs curtos, de modo que o nós das CDNs forem bem posicionados, o tráfego para de-
cliente repetirá a resolução após um curto período. Final- terminada página deverá passar por cada parte da rede ape-
mente, embora tenhan1os nos concentrado nos aspectos de nas uma vez. Isso é importante porque, no fim, alguém está
distribuição de objetos estáticos, como in1agens e vídeos, as pagando pela largura de banda da rede.
CDNs també1n podem aceitar a criação de página dinâmica, Com o crescimento da criptografia na Web, e particu-
streammg de mídia e outros, sendo mais utilizadas para a larmente con1 o au1nento do HTTPS para distribuição de
distribuição de vídeo. conteúdo da Web, o envio de conteúdo a partir de CDNs
se tomou mais complexo. Suponha, por exemplo, que você
Preenchendo nós de cache CDN deseja recuperar https://nytúnes.con1/. Uma pesquisa de
DNS para esse domínio pode indicar uma referência a um
Um exemplo do caminho que os dados seguem quando são servidor de nomes em Dyn, con10 nsl.p24.dynect.net, que
disttibuídos por u1na CDN pode ser visto na Figura 7.45, por sua vez o redirecionaria para um endereço IP hospeda-
em formato de árvore. O servidor de origem na CDN dis- do na CDN Dyn. Mas, agora, esse servidor deve entregar
tribui uma cópia do conteúdo para outros nós na CDN, em conteúdo autenticado pelo New York Tin1es. Para fazer isso,
Sidney, Boston e An1sterdã, neste exemplo. Isso é 1nostrado ele pode precisar das chaves secretas do New York Tünes ou
com linhas tracejadas. Os clientes então buscan1 páginas do da capacidade de enviar um certificado para nytitnes.co1n
nó "mais próximo", o que é mostrado com as linhas sólidas. (ou ambos). Como resultado, a CDN precisaria receber
Desse modo, os dois clientes em Sidney buscam a cópia informações confidenciais do provedor de conteúdo, e o

Servidor de origem ~
da CDN -
__ =--- o·1st n.bu1çao
. - para
----- : ------ (nós da CDN
,.,....... 1 ---
Nó da CDN --- 1 ---
.,..,.,...,.,.. 1 - - - - ....

Sidney
(
--
/._~F=~
,..,......

Boston _
1
t
Amsterdã
---
- --1-_~F~==i
Busca de ~~<:--_J "/:"1--_.l
página

D D DDD
Clientes no mundo

Figura 7.45 Arvore de distribuição da CDN.


Capítulo 7 • A camada de aplicação 457

servidor deve ser configurado para agir efetiva1nente con10 no1nes é executado pela CDN, em vez de reto1nar o mesmo
um agente do nytirnes.corn. Uma alternativa é direcionar endereço IP para cada solicitação, ele pesquisará o endere-
todas as solicitações do cliente de volta ao servidor de ori- ço IP do cliente que faz a solicitação e retomará respostas
gem, que poderia enviar os certificados e conteúdo HTTPS, diferentes, dependendo da localização do usuário. A respos-
mas fazer isso anularia basica1nente todos os beneficies de ta será o endereço IP do nó da CDN que está mais próxi-
desempenho de un1a CDN. A solução típica nonnalmente mo do cliente. Ou seja, se uma pessoa em Sidney pedir ao
envolve um meio termo, em que a CDN gera um certificado servidor de nomes da CDN para resolver www.cdn.co1n, o
em nome do provedor de conteúdo e fornece o conteúdo servidor de nomes retornará o endereço IP do nó da CDN
da CDN usando esse certificado, agindo con10 a organiza- de Sidney, 1nas se u1na pessoa en1 Amsterdã fizer a mesma
ção. Isso atinge o objetivo mais desejado de criptografar o solicitação, o servidor de no1nes retornará o endereço IP do
conteúdo entre a CDN e o usuário e autenticar o conteúdo nó da CDN em Amsterdã e1n seu lugar.
para o usuário. Outras opções mais complexas, que exigem Essa estratégia é perfeitamente válida, de acordo com
a implantação de certificados no servidor de origem, podem a semântica do DNS. Já vimos que os servidores de non1es
permitir que o conteúdo ta1nbém seja criptografado entre a pode1n retornar listas mutáveis de endereços IP. Depois da
origem e os nós de cache. Cloudflare tem um bom resu1no resolução de non1es, o cliente em Sidney buscará a página
dessas opções em seu site em https:/lcloudjlare.com/ssl/. diretamente do nó da CDN de Sidney. Outras páginas no
mesmo "servidor" ta1nbém serão capturadas diretan1ente do
Redirecionamento de DNS e nó da CDN de Sidney, graças ao caching DNS. A sequência
mapeamento de cliente geral das etapas aparece na Figura 7.46.
Uma questão complexa nesse processo é o que sig-
A ideia do uso de uma árvore de distribuição é si1nples. nifica encontrar o nó da CDN mais próximo e como tratar
O 1nais con1plicado é organizar os clientes para utilizá-la. disso (esse é o problema de mapeamento de cliente que
Por exemplo, os servidores proxy parecem oferecer uma discutimos anteriom1ente). Existen1 pelo 1nenos dois fato-
solução. Examinando a Figura 7.45, se cada cl iente foi con- res a considerar no mapeamento de um cliente para um nó
figurado para usar o nó CDN de Sidney, Boston ou Amster- da CDN. Um aspecto é a distância da rede. O cliente deverá
dã co1no un1 proxy Web de caching, a distribuição seguiria ter um caminho de rede curto e de alta capacidade para o
a árvore. nó da CDN - essa situação produzirá downloads rápidos.
A forn1a 1nais co1nu1n de mapear ou direcionar clien- As CDNs usam um 1napa que elas calcularam anteriormen-
tes para nós de cache CDN nas proximidades, conforme te para traduzir entre o endereço IP de um cliente e seu lo-
vimos rapidamente, é chamada de redirecionamento de cal na rede. O nó da CDN selecionado poderia ser aquele
DNS. Vamos descrever essa técnica com detalhes. Supo- na distância 1nais cu1ia em uma linha reta, ou não. O que
nha que um cliente queira buscar uma página com o URL importa é alguma combinação do tamanho do caminho da
http://ww111.cdn.com/page.htn1/. Para buscá-la, o navegador rede com quaisquer li1nites de capacidade ao longo dela.
usará o DNS para transformar w111w.cdn.co111 em u1n en- O segundo aspecto é a carga que já está sendo trans-
dereço IP. Essa pesquisa de DNS prossegue normalmente. portada pelo nó da CDN. Se os nós da CDN estiverem so-
Usando o protocolo DNS, o navegador descobre o endere- brecarregados, eles entregarão respostas lentamente, assim
ço TP do servidor de nomes para cdn.con1, depois entra em como o servidor Web sobrecarregado que buscamos evi-
contato con1 o servidor de nomes para lhe pedir que resol- tar em primeiro lugar. Assim, pode ser preciso balancear
va 1·v~vw.cdn. corn. Nesse ponto, porém, como o servidor de a carga entre os nós da CDN, mapeando alguns clientes

NódaCDN
em Sidney Servidor de origem Nó da CDN
daCDN em Am sterdã
1: Distribuir conteúdo
~ --- - -------- ( _, -_/1
V ----- - ------ ---- '- r . '.J
4: Buscar
' .
pagina

Servidor de DNS
2: Consultar DNS daCDN

3: "Entrar em contato
com Sidney"
rC.. =º "Entrar em contato
com Amsterdã"
Clientes em Sidney Clientes em Amsterdã

Figura 7.46 Direcionando clientes para nós CDN vizinhos usando DNS.
458 Redes de computadores

para nós que estão um pouco 1nais afastados, porém menos (licenciados e de do1nínio público) e outros conteúdos
sobrecarregados. grandes (p. ex., iinagens de disco do sisten1a operacional),
A capacidade de um servidor DNS autorizado de uma sendo responsável por uma grande fração de todo o tráfego
CDN mapear um cliente para um nó de cache CDN próxi- na Internet, apesar do crescimento do vídeo. Vamos exa1ni-
mo depende da capacidade de determinar a sua localiza- ná-lo n1ais adiante nesta seção.
ção. Como vimos anteriormente na seção sobre DNS, as
extensões modernas do DNS, como a sub-rede do cliente Visão geral
EDNSO, permiten1 que o servidor de nomes autorizado veja
o endereço IP do cliente. A possível mudança para DNS so- A ideia básica de uma rede de compartilhamento de ar-
bre HTTPS também pode apresentar novos desafios, visto quivos P2P (peer-to-peer) é que 1nuitos co1nputadores se
que o endereço IP do resolvedor recursivo local pode estar juntam e compartilham seus recursos para fonnar um sis-
longe do cliente; se o DNS local recursivo não passar o en- tema de distribuição de conteúdo. Os co1nputadores nor-
dereço IP do cliente (co1no normalmente acontece, já que o malmente são apenas computadores domésticos. Eles não
propósito geral é preservar a privacidade), então as CDNs precisa1n ser 1náquinas nos centros de dados da Internet.
que tan1bé1n não resolvem o DNS para seus clientes pro- Os computadores são chan1ados peers (pares) porque cada
vavehnente enfrentarão maiores dificuldades em realizar o um pode alternadamente atuar como um cliente para outro
mapeamento de usuários. Contudo, as CDNs que também peer, buscando seu conteúdo, e como servidor, fornecendo
operam um resolvedor DoH (como Cloudflare e Google conteúdo para outros peers. O que torna os sistemas peer-
agora faze1n) pode1n colher benefícios significativos, pois -to-peer interessantes é que não existe uma infraestrutura
terão conhecimento direto dos endereços IP do cliente que dedicada, diferente de uma CDN. Qualquer um participa
estão en1itindo consultas DNS, geraln1ente para conteúdo na tarefa de distribuir conteúdo e normahnente não existe
em suas próprias CDNs! A centralização do DNS está real- um ponto de controle central. Existem muitos casos em uso
mente preparada para remodelar a distribuição de conteúdo (Karagiannis et ai., 2019).
mais uma vez nos próximos anos. Muitas pessoas estão entusiasmadas com a tecnologia
Esta seção apresentou uma descrição simplificada de P2P porque ela é vista como algo que dá poder aos peque-
como funcionam as CDNs. Na prática, existem muitos ou- nos. O motivo não é apenas que é necessária uma grande
tros detalhes importantes. Por exe1nplo, os discos dos nós empresa para conduzir urna CDN, enquanto qualquer um
da CDN acabarão por encher, de 1nodo que precisam ser com u1n computador pode se juntar a uma rede P2P. É que
esvaziados regulannente. Existe n1uito trabalho sendo fei- as redes P2P possuem u1na fonnidável capacidade de distri-
to para detenninar quais arquivos descartar e quando, por buir conteúdo que pode se igualar ao n1aior dos sites Web.
exemplo, veja em Basu et ai. (2018).
Primeiras redes peer-to-peer: Napster
7.5.4 Redes peer-to-peer Como já vimos, as pri1neiras redes peer-to-peer, co1no o
Napster, eram baseadas em u1n serviço de diretório cen-
Nem todos podem montar urna CDN de mil nós em locais tralizado. Os usuários instalavam um software cliente que
no mundo inteiro para distribuir seu conteúdo. (Na verdade, varria seu armazena1nento local em busca de arquivos para
não é difícil alugar 1nil máquinas vi1tuais no inundo intei- compartilhar e, depois de analisar o conteúdo, carregava in-
ro, devido à indústria de hospedagem be1n desenvolvida e fonnações de metadados sobre os arquivos co1npartilhados
alta1nente competitiva. Contudo, conseguir os nós é só o (p. ex., nomes de arquivos, tamanhos, identidade do usuário
início da montagem de uma CDN.) Felizmente, existe uma que compartilha o conteúdo) para um serviço de diretório
alternativa para o restante de nós, que é simples de usar centralizado. Os usuários que quisessem recuperar arqui-
e pode distribuir uma quantidade tre1nenda de conteúdo. vos da rede Napster 1nais tarde pesquisaria1n no servidor de
Trata-se de uma rede P2P (peer-to-peer). diretório centralizado e poderiam descobrir outros usuários
As redes P2P entraram e1n cena a partir de 1999. que tivessem esse arquivo. O servidor infonnaria ao usuá-
A priineira aplicação divulgada foi para o crime en1 mas- rio em busca de conteúdo sobre o endereço IP de u1n peer
sa: 50 milhões de usuários do Napster estavan1 trocando que estava co1npartilhando o arquivo que o usuário estava
músicas sem pennissão dos proprietários do direito autoral, procurando, n1omento em que o software cliente do usuário
até que a Napster foi fechada pelos tribunais, em meio a poderia entrar en1 contato com esse host diretamente e fazer
un1a grande controvérsia. Apesar disso, a tecnologia peer- o download do arquivo e1n questão.
-to-peer tem 1nuitos usos interessantes e legais. Outros sis- Um efeito colateral do servidor de diretório centrali-
temas continuara1n em desenvolvimento, com tão grande zado do Napster foi que ele tornou relativamente fácil para
interesse dos usuários que o tráfego P2P rapidamente enco- outras pessoas pesquisaren1 na rede e detenninaren1 exaus-
briu o tráfego da Web. Hoje, BitTorrent é o protocolo P2P tivan1ente quem estava compartilhando quais arquivos,
mais popular. Ele é muito usado para compartilhar vídeos efetivamente rastreando toda a rede. Em algum momento,
Capítulo 7 • Acamada de aplicação 459

ficou claro que un1a fração significativa de todo o conteúdo Gnutella inspirou a invenção das DHTs (Tabelas Hash
do Napster era material protegido por direitos autorais, o Distribuídas) por 1neio das quais u1na pesquisa é roteada
que acabou resultando em lirninares que ence1Taram o ser- para uma rede peer-to-peer adequada, cotn base no valor
viço. Outro efeito colateral do serviço de diretório centra- hash correspondente à pesquisa; cada nó na rede peer-to-
lizado que ficou claro foi que, para desabilitar o serviço, -peer é responsável apenas por manter as infonnações sobre
bastava desabilitar o servidor de diretório. Sem ele, o Naps- algum subconjunto do espaço geral da pesquisa, e a DHT é
ter se tornaria efetivamente inutilizável. Em resposta, os responsável por rotear a consulta até o peer apropriado que
projetistas de novas redes peer-to-peer começara1n a proje- possa resolver a pesquisa. As DHTs são usadas em muitas
tar siste1nas que poderia1n ser 1nais robustos contra desliga- redes peer-to-peer 1nodemas, incluindo eDonkey (que usa
mentos ou falhas. A técnica geral para fazer isso consistia uma DHT para pesquisa) e BitTon·ent (que usa u1na DHT
em descentralizar o diretório ou o processo de pesquisa. para di1nensionar o rastreamento de peers na rede, confor-
Os sistemas peer-to-peer de próxima geração, como o Gnu- n1e descrito na próxi1na seção).
tella, adotaram essa abordagem. Por fim, o Gnutella não verificava automaticarnente o
conteúdo do arquivo que os usuários estavan1 baixando, re-
Descentralizando o diretório: Gnutella sultando em uma quantidade significativa de conteúdo fal-
so na rede. Você poderia questionar por que uma rede ponto
Gnutella foi lançado em 2000 e tentou resolver alguns dos
a ponto tem tanto conteúdo falso. Existem muitas razões
problemas enfrentados pelo serviço de diretório centraliza-
possíveis. Uma razão simples é que, assim como qualquer
do do Napster, implementando uma função de busca total-
mente distribuída. No Gnutella, um peer que se juntou à serviço de Internet pode estar sujeito a um ataque de nega-
rede tentaria descobrir outros peers conectados por meio ção de serviço, o próprio Gnutella ta1nbém se to111ou um
de um processo de descoberta ad boc - o peer começava alvo, e uma das maneiras 1nais fáceis de disparar u1n ata-
contatando alguns peers Gnutella conhecidos, os quais pre- que de negação de serviço na rede era 1nontar os chamados
cisava descobrir por meio de algum processo de inicializa- ataques de poluição, que inundavam a rede com conteúdo
ção. Uma maneira de fazer isso era enviar alguns conjuntos falso. Un1 grupo particulannente interessado em inutilizar
de endereços IP de peers Gnutella com o próprio software. essas redes foi a indústria fonográfica (especialmente a Re-
Ao descobrir um conjunto de peers, o peer Gnutella poderia cording lndustry Association of America), que poluía as re-
então e1nitir consultas de busca por esses peers vizinhos, des peer-to-peer, como Gnutella, com grandes quantidades
que então passariam a busca para seus vizinhos, e assim por de conteúdo falso para desencorajar as pessoas a usare1n as
diante. Essa técnica geral para pesquisar u1na rede peer-to- redes para trocar conteúdo protegido por direitos autorais.
-peer costuma ser cha1nada de fofoca (ou gossip). Assim, as redes peer-to-peer enfrentaram vários desa-
Embora a abordagen1 de fofoca resolvesse alguns dos fios: escalar, convencer os usuários a permanecer depois de
problemas enfrentados por serviços semicentralizados, baixar o conteúdo que procuravam e verificar o conteúdo
como o Napster, ela rapida1nente enfrentou outros proble- baixado. O projeto do BitT01Tent tratou de todos esses desa-
mas. Um deles é que, na rede Gnutella, os peers ficavam fios, conforme discutiremos a seguir.
continuamente entrando e saindo da rede; os peers eram
sin1plesmente computadores de outros usuários e, por- Lidando com escala, incentivos
tanto, estavam continuatnente entrando e saindo da rede. e verificação: BitTorrent
E1n particular, os usuários não tinham qualquer motivo
específico para pern1anecer na rede depois de recuperar O protocolo BitTon·ent foi desenvolvido por Bram Cohen
os arquivos nos quais estavan1 interessados e, portanto, o en1 2001 para permitir que um conjunto de peers co1npar-
chamado comportamento desonesto era comum, com 70% tilhasse arquivos rápido e facilmente. Existem dezenas de
dos usuários não contribuindo com algum conteúdo (Adar clientes disponíveis gratuitatnente que entendem esse pro-
e Hubennan, 2000). Alé1n disso, a abordagem baseada em tocolo, assitn co1no muitos navegadores que entendem o
inundações (especificamente, a abordagem da fofoca) foi protocolo HTTP para servidores Web. O protocolo está dis-
muito 1nal dimensionada, especialmente quando o Gnu- ponível co1no um padrão aberto em bittorrent.org.
tella se tomou popular - o número de mensagens de fofoca Em um siste1na peer-to-peer típico, como aquele for-
crescia exponencialmente co1n o nún1ero de participantes mado com o BitTorrent, cada un1 dos usuários te1n a mesma
na rede. O protocolo, portanto, se expandia de nlodo par- infonnação que pode ser de interesse para outros usuários.
ticularmente ruin1. Os usuários com capacidade de rede Essa informação pode ser software gratuito, 1núsica, vídeos,
limitada basicamente achavam a rede totalmente inutilizá- fotografias, etc. Existe1n três problemas que precisam ser
vel. A introdução dos chamados ultra-peers pelo Gnutella resolvidos para co1npartilhar o conteúdo nesse ambiente:
aliviou um pouco esses desafios de escalabilidade, n1as em
geral o Gnutella desperdiçava os recursos disponíveis na 1. Como u1n peer encontra outros peers que possuem o
rede. A falta de escalabilidade no processo de pesquisa do conteúdo que ele deseja baixar?
460 Redes de computadores

2. Como o conteúdo é replicado pelos peers para fon1e- os outros peers que estão ativamente fazendo download e
cer downloads de alta velocidade para qualquer um? upload do conteúdo. Esse conjunto de peers é charnado de
3. Como os peers encorajam uns aos outros para que swarm, cujos iuembros entram em contato co1n o tracker
façam upload do conteúdo para outros, além do regularmente para infonnar que ainda estão ativos, bem
download de conteúdo para eles próprios? como ao saírem dele. Quando um novo peer entra ern con-
tato com o tracker para se juntar ao swarm, o tracker lhe
O primeiro problema existe porque nem todos os peers infonna sobre outros peers no swann. Capturar uma torrent
terão todo o conteúdo. A técnjca usada no BitTorrent é que e entrar en1 contato com o tracker são os dois primeiros pas-
cada provedor de conteúdo possa criar urna descrição de sos para baixar conteúdo, como rnostra a Figura 7.47.
conteúdo, chamada torrent. A torTent é muito menor que o
O segundo problema é como corupartilhar conteúdo
conteúdo, e é usada por um peer para verificar a integridade
de n1odo que os downloads sejam rápidos. Quando um
dos dados que ele baixa de outros peers. Outros usuários
swann é fon11ado inicialmente, algw1s peers precisarn ter
que quere1n baixar o conteúdo precisaru primeiro obter a
todos os chunks que compõem o conteúdo. Esses peers
torrent, digamos, encontrando-a em urna página Web que
são chamados de seeders. Outros peers que se juntarn ao
anuncia o conteúdo.
swanu não terão chunks - eles apenas estão baixando o
A torrent é apenas um arquivo em um formato espe-
conteúdo.
cificado, que conté1u dois tipos de informação. U1n tipo é
o non1e de um tracker, que é um servidor que leva os peers Enquanto u111 peer participa de um swann, ele simul-
ao conteúdo da torrent. O outro tipo de informação é uma taneamente efetua o download de chuuks que não encontra
lista de partes de mesmo tamanho, ou chunks, que com- em outros peers e faz o upload de chuuks dos quais outros
põem o conteúdo. Nas primeiras versões do BitTorrent, peers precisam. Essa negociação é rnostrada como a últi-
o tracker era urn servidor centralizado, e assim co.rno o ma etapa da distribuição de conteúdo na Figura 7.47. Com
Napster, a centralização resultou em um único ponto de fa- o tempo, o peer reúne mais chunks até que tenha baixado
lha para uma rede BitTorrent. Como resultado, as versões todo o conteúdo. O peer pode sair do swann (e retomar)
modernas do BitTorrent geralmente descentralizam a fun- a qualquer mornento. Normalmente, um peer per111anecerá
cionalidade do tracker usando uma DHT. Diferentes tama- por um pequeno período depois que termj11ar seu próprio
nhos de chunk podern ser usados para diferentes torrents, download. Com peers indo e vindo, a taxa de agitação em
nonualmente de 64 KB a 512 KB. O arquivo torrent con- um swarm pode ser muito alta.
tém o nome de cada chunk, dado como urn hash SHA- 1 de Para que esse método funcione bem, cada chunk deve
160 bits do chunk. Yeretnos os hashes criptográficos, corno estar disponível ern rnuitos peers. Se cada um capturasse
SHA- 1, no Capítulo 8. Por enquanto, você pode pensar ern os chunks na mesma ordern, é provável que muitos peers
un1 hash corno un1 checksum maior e rnais seguro. Dado o dependessem dos seeders para o próximo chunk. Isso cria-
tamanho dos chunks e dos hashes, o arquivo torrent é pelo ria um gargalo. Ern vez disso, os peers trocam as listas dos
menos três ordens de grandeza menor que o conteúdo, de chunks que possuem uns com os outros. Depois, eles pre-
modo que pode ser transferido rapidamente. ferencialmente selecionam chunks raros, que são dificeis
Para baixar o conteúdo descrito em uma torrent, urn de encontrar para baixar. A ideia é que o download de wn
peer prirneiro entra em contato com o tracker para a torrent. chunk raro crie un1a cópia dele, o que tornará o chunk mais
O tracker é um servidor que mantém uma lista de todos fácil para outros peers encontrarem e baixarem. Se todos os

1: Captura D
metarquivo torrent

G...r ·i D 0-
D ~ //"Unchoked
Torrent '' 0- /
,i::._---==Rrr peers
''
''
D /.: Tro~ chunks D
2: Captura peers ,,"'
,,o-
Peer
com peers
/ o-
=~=:::, /Origem do
/
do tracker ,, "
/ li ; conteúdo
/ ~
~ =
Tracker D Seed
peer

Figura 7.47 BitTorrent.


Capítulo 7 • A camada de aplicação 461

peers fi zerem isso, depois de algum tempo, todos os chunks existe software no qual os clientes podem mentir ao tra-
estarão disponíveis de modo generalizado. cker sobre sua razão entre upload e download, efetivamente
O terceiro problema talvez seja o mais interessante. dizendo que realizou uploads, quando na verdade não fez
Os nós da CDN são preparados exclusivamente para forne- isso. Por esses motivos, é importante que um peer verifique
cer conteúdo aos usuários. Os nós P2P não são. Eles são os cada chunk que baixa de outros peers. Ele pode fazer isso
computadores dos usuários, os quais podem estar mais in- comparando o valor hash SHA-1 de cada chunk que está
teressados em conseguir um filme do que em ajudar outros presente no arquivo torrent com o valor basb SHA- l cor-
usuários com seus dov1nloads. Ou seja, às vezes pode haver respondente que pode ser calculado para cada chunk cor-
. . , .
respondente que for baixado.
1ncent1vos para os usuarros enganarem o sistema. Os nós
que capturam recursos de um sistema sem contribuir em tro- Outro desafio envolve a criação de incentivos para
ca são chamados free-riders ou leechers. Se houver muitos que os peers perrnaneçam perto do swarm do BitTorrent
deles, o sisten1a não funcionará bem. Os primeiros sistemas como seeders, mesmo depois de concluírem o download
P2P eran1 conhecidos por hospedá-los (Saroiu et ai., 2003), do arquivo inteiro. Se não o fizere1n, existe a possibilidade
de n1odo que o BitTorrent procw·ou nlinimizá-los. de que ninguén1 no swann tenha o arquivo inteiro e (pior)
A técnica usada pelo BitTorrent para resolver esse pro- que un1 swarm possa ter coletivamente partes do arquivo
blema é reeon1pensar os peers que mostram bom compor- faltando , tornando i1npossível que alguém faça o download
ta1nento de upload. Cada peer seleciona aleatoriamente os do arquivo cotnpleto. Esse proble1na é particularrnente agu-
outros, capturando cbunks deles enquanto faz o upload de do para arquivos 1nenos populares (Menascbe et ai., 2013).
chunks para eles. O peer continua trocando chunks apenas Várias técnicas fora1n desenvolvidas para lidar co1n essas
com um pequeno nú1nero de peers que oferecem o desem- questões de incentivo (Ramachandran et ai., 2007).
penho de do\vnload mais alto, embora també1n experimen- Con10 você pode ver pela nossa discussão, o BitTor-
ten1 aleatorian1ente outros peers para encontrar bons parcei- rent conté1n u1n rico vocabulário. Existem torrents, swarms,
ros. Experimentar os peers aleatoriamente também pem1ite leechers, seeders e trackers, bem como snubbing, choking,
que os novatos obtenham chunks iniciais que eles podem lurking e outros. Para obter mais informações, consulte o
trocar com outros peers. Os peers com os quais um nó está pequeno artigo sobre BitTorrent (Cohen, 2003).
trocando chunks atualmente são considerados unchoked.
Com o tempo, esse algoritmo deverá combinar peers 7.5.5 Evolução da Internet
com taxas de upload e taxas do\vnload comparáveis uns
com os outros. Quanto mais um peer estiver contribuindo Conforme descrevemos no Capítulo 1, a Internet teve uma
com outros, mais ele poderá esperar em retomo. Usar um história estranha, começando como um projeto de pesquisa
acadêmico para algumas dezenas de universidades norte-
conjunto de pecrs também ajuda a saturar a largura de ban- . .
-americanas com um contrato ARPA. E ainda mais dificil
da de download de um peer para aumentar o desempenho.
Ao contrário, se un1 peer não estiver fazendo upload de definir o n101nento que ela foi iniciada. Teria sido 21 de
ehunks para outros peers, ou se estiver fazendo isso 1nuito novembro de 1969, quando foran1 conectados dois nós
lenta1nente, ele será cortado, ou choked, 1nais cedo ou 1nais da ARPANET, UCLA e SR!? Ou então em 17 de dezem-
tarde. Essa estratégia desencoraja o comportainento antis- bro de 1972, quando a AlohaNet havaiana se conectou à
ARPANET para formar uma inter-rede? Ou teria sido em
social dos free-riders no swam1.
1 de janeiro de 1983, quando a ARPA adotou oficialmente
O algoritmo de choking às vezes é descrito con10
o TCP/lP con10 protocolo? Ou talvez e111 1989, quando Tim
i1nplementando a estratégia olho por olho, que encora-
Berners-Lee propôs aquilo que agora se chama World Wide
ja a cooperação em interações repetidas; a teoria por trás •
Web? E difícil dizer. Contudo, é fácil dizer que muita coisa
dos incentivos para cooperação tem raízes no famoso jogo mudou desde os primeiros dias da ARPANET e da incipien-
olho por olho na teoria dos jogos, em que os jogadores têm te Internet, grande parte devido à adoção generalizada das
incentivos para trapacear a menos que ( l) eles joguem o CDNs e da computação em nuvem. A seguir, faremos um
jogo repetidamente um com o outro (como acontece no rápido retrospecto.
BitTorrent, onde os peers devem trocar chunks repeti- O modelo fundamental por trás da ARPANET e da In-
damente) e (2) os peers sejam punidos por não cooperar ternet inicial aparece na Figura 7.48. Ele consiste em três
(como acontece corn o choking). Apesar desse projeto, a componentes:
prática real do BitTorrent não impede que os clientes jo-
guem co1n o sistema de várias maneiras (Piatek et al., 1. Hosts (os computadores que faziam o trabalho para
2007). Por exemplo, o algoritmo do BitTorrent no qual os usuários).
un1 cliente fàvorece a seleção de pedaços raros pode criar 2. Roteadores (chamados IMPs na ARPANET), que tro-
incentivos para que u1n peer minta sobre quais chunks do cavam os pacotes.
arquivo ele possui (p. ex., afirmando ter partes raras, quan- 3. Linhas de transn1issão (originaln1ente, linhas telefôni-
do na realidade não tem) (Liogkas et ai., 2006). Também cas de 56 kbps).
462 Redes de computadores

Host

Linha de transmissão

Figura 7.48 A Internet inicial envolvia principalmente comunicações ponto a ponto.

Cada roteador era conectado a um ou mais A computação em nuvem e as CDNs muito grandes
con1putadores. nova1nente 1nodificaram a estrutura da internet, como des-
O modelo conceituai da antiga arquitetura da Internet crevemos em pa1te no Capítulo 1. Modernos centros de da-
era dominado pela ideia básica das comunicações ponto dos em nuvem, como aqueles administrados pela Amazon
a ponto. Todos os co1nputadores host eram vistos co1no e Microsoft, têm centenas de nlilhares de con1putadores no
sendo iguais (embora alguns fosse1n muito mais podero- mesmo prédio, perrnitindo que os usuários (normalmente
sos do que outros) e qualquer computador poderia enviar grandes e1npresas) aloque1n 100, 1000 ou 10.000 máquinas
pacotes para qualquer outro computador, desde que cada en1 segundos. Quando o Walmart tem uma grande liquida-
um deles tivesse um endereço exclusivo. Com a introdução ção na Cyber Monday (segunda-feira após o Dia de Ação
do TCP/IP, estes era1n co1npostos de 32 bits, que na época de Graças), se ele precisa de 10.000 máquinas para lidar
parecia ser uma excelente aproximação do infinito. Agora, com a carga, ele apenas as solicita automaticamente de seu
ele parece estar 1nais próximo de zero do que ao infinito. provedor de nuve1n, confonne a necessidade, e elas estarão
O modelo de transmissão era o de um sisten1a de datagra- disponíveis e1n segundos. Na terça-feira, de volta ao nor-
mas simples, sem estado, con1 cada pacote contendo seu mal, ele pode devolver todas elas. Quase todas as grandes
endereço de destino. Quando um pacote passava por um empresas que lidam com milhões de consumidores usam
roteador, ele era completa1nente esquecido. O roteamento serviços em nuven1 para expandir ou contrair sua capaci-
era feito hop a hop. Cada pacote era roteado com base e1n dade de co1nputação quase que instantaneamente, como for
seu endereço de destino e nas info1mações, contidas nas preciso. Como um beneficio colateral, como já dissemos, a
tabelas do roteador, sobre qual linha de transn1issão utilizar nuvem também fornece uma óti1na proteção contra ataques
para o destino do pacote. DDoS, porque é tão grande que pode absorver milhares de
As coisas começara1n a nludar quando a Internet ul- solicitações/s, responder a todas elas e continuar funcionan-
trapassou seu início acadêmico e se ton1ou comercial. Isso do, anulando assim a intenção desse tipo de ataque.
ocasionou o desenvolvimento das redes de backbone, que As CDNs são hierárquicas, com um site mestre (pos-
usavam enlaces de altíssima velocidade e eram operadas sivelmente replicado duas ou três vezes para gerar maior
por grandes empresas de telecomunicações, como AT&T confiabilidade) e muitos caches ern todo o mundo, para
e Verizon. Cada empresa usava seu próprio backbone, 1nas os quais o conteúdo é enviado. Quando um usuário solici-
elas se conectavan1 umas às outras em trocas de peering. ta conteúdo, ele é atendido pelo cache mais próximo. Isso
Os provedores de serviços de Internet (ISPs) surgiram reduz a latência e distribui a carga de trabalho. Akamai, a
para conectar residências e empresas à Internet e as re- primeira grande CDN comercial, tem mais de 200.000 nós
des regionais conectavam os ISPs aos backbones. Essa de cache em mais de 1.500 redes em mais de 120 países.
situação é mostrada na Figura 1.17. O próximo passo foi a Da mesma fonna, Cloudflare agora tem nós de cache em
introdução de ISPs e CDNs nacionais, conforme mostrado mais de 90 países. Em muitos casos, os nós de cache da
na Figura 1.18. CDN são colocados junto às centrais do ISP, de 1nodo que
Capítulo 7 • A camada de aplicação 463

os dados possam viajar da CDN ao ISP por 1neio de un1 tre- simplesn1ente não há necessidade de os usuários acessarem
cho de fibra óptica 1nuito rápido, talvez com apenas 5 m de grandes quantidades de conteúdo en1 uma infraestrutura de
comprimento. Esse novo mundo levou à arquitetura da In- trânsito de longa distância: as CDNs têm deixado perto do
ternet mostrada na Figura 7.49, onde a maioria do tráfe- usuário uma grande parte desse conteúdo popular, muitas
go da Internet é transportada entre redes de acesso (p. ex., vezes geograficamente próximo e por meio de uma inter-
regionais) e infraestrutura de nuvem distribuída (ou seja, conexão de rede direta ao seu ISP de acesso. Assi1n, uma
CDNs ou serviços em nuve1n). quantidade cada vez maior de conteúdo é entregue por
Os usuários enviam solicitações a grandes servidores meio de CDNs que estão hospedadas ou diretamente por in-
para fazer algo e o servidor o faz, criando uma página da terconexões privadas às redes de acesso, ou até 1nesmo nas
Web para mostrar o que fez. Alguns exemplos de solicita- CDNs, onde os nós de cache estão localizados na própria
ções são: rede de acesso.
As redes de backbone permitem que as muitas nuvens
1. Comprar um produto em uma loja de comércio
e CDNs se interconecte1n por 1neio de centrais de peering
eletrônico. para os casos e1n que não há interconexão dedicada priva-
2. Obter uma mensage1n de e-mail de um provedor de da. A central DE-CIX em Frankfurt conecta cerca de 2.000
e-1nail. redes. A central AMS-IX en1 Amsterdã e a ceotral LINX em
3. Emitir uma ordem de pagamento a um banco. Londres conecta1n, cada u1na, cerca de 1.000 redes. Cada
4. Solicitar que uma música ou um filme seja transmitido un1a das n1aiores centrais dos Estados Unidos conecta cen-
para o dispositivo de um usuário. tenas de redes. Essas centrais são interconectadas com um
5. Atualizar u1na página do Facebook. ou mais enlaces de fibra OC-192 e/ou OC-768 funcionando
a 9,6 e 38,5 Gbps, respectivamente. As centrais de peering e
6. Pedir a um jornal on-line para mostrar um artigo.
as maiores redes de operadoras que se encontra1n nelas for-
Atualmente, quase todo o tráfego da Internet segue ma1n o backbone da Internet, ao qual a maioria das nuvens
esse modelo. A proliferação de serviços ern nuvern e CDNs e CDNs se conecta diretamente.
derrubou o modelo cliente-servidor convencional do trá- Provedores de conteúdo e nuvem estão cada vez 1nais
fego da Internet, pelo qual um cliente buscaria ou troca- se conectando diretamente para acessar ISPs através de
ria conteúdo com um único servidor. Hoje, a maioria do interconexões privadas para colocar o conteúdo mais per-
conteúdo e das comunicações opera com serviços distribu- to dos usuários; em alguns casos, eles até disponibilizam
ídos em nuvem; 1nuitos ISPs de acesso, por exemplo, en- o conteúdo em servidores diretamente na rede do lSP de
via1n a maior parte de seu tráfego para serviços distribuí- acesso. Um exe1nplo disso é a Aka1nai, que possui mais
dos em nuvem. Na maior parte das regiões desenvolvidas, de 200.000 servidores, a maioria dentro de redes do ISP,

Para outras centrais

Central de
Provedores de backbone Nuvens e CDNs
peering

Nuvem da
AT&T
Amazon

CDN
Comcast
Netflix

Deutsche
Telekom
-- Interconexão privada
CDN
Akamai

Figura 7.49 A maior parte do tráfego na Internet hoje vem de nuvens e CDNs, com uma quantidade significativa dele sendo
trocada entre redes de acesso e ISPs por interconexões privadas.
464 Redes de computadores

con10 dissemos. Essa tendência continuará a ren1odelar a TCP do agente de transferência de n1ensagem de saída para
Internet nos próximos anos. Outras CDNs, como Cloudfla- o receptor.
re, também estão se tomando cada vez mais difundidas. A Web é a aplicação que a n1aioria das pessoas i1na-
Por fi1n, os próp1ios provedores de conteúdo e serviços es- gina como sendo a Internet. Originalmente, ela era um
tão implantando CDNs - a Netflix itnplantou sua própria sistema para vincular páginas de hipertexto (escritas em
CDN, chamada Open Connect, por exemplo, em que o seu HTML) de forn1a transparente entre as 1náquinas. As pági-
conteúdo é implantado em nós de cache nos IXPs ou dire- nas são baixadas fazendo uma conexão TCP do navegador
tamente dentro da rede de um ISP de acesso. A extensão para um servidor e usando HTTP. Atualmente, grande par-
em que os caminhos da Internet atravessa1n uma rede de te do conteúdo na Web é produzido de 1naneira dinâmi-
backbone separada ou u1n IXP (Internet Exchange Point) ca, seja no servidor (p. ex., com PHP), seja no navegador
depende de diversos fatores, incluindo custo, conectivida- (p. ex., com JavaScript). Quando cornbinadas com bancos
de disponível na região e economias de escala. IXPs são de dados back-end, páginas dinâmicas do servidor permi-
extremamente populares na Europa e em outras partes do tem o uso de aplicações Web como e-com1nerce (comércio
mundo - nos Estados Unidos, porém, a conexão direta por eletrônico) e busca. Páginas dinâmicas do navegador estão
meio de interconexões privadas tende a ser mais popular e evoluindo para aplicações completas, como o correio ele-
prevalente. trônico, que são executadas dentro do navegador e usam
os protocolos da Web para a comunicação com servido-
res remotos. Com o crescimento do setor de propaganda,
o rastreamento na Web tornou-se muito difundido, por
7.6 RESUMO nJeio de inúmeras técnicas, desde cookies até identifica-
ção de tela. Embora existam meios de bloquear certos tipos
A atribuição de no1nes na ARPANET começou de maneira de n1ecanisn1os de rastreamento, como os cookies, isso às
muito simples: um arquivo de texto ASCII listava os no- vezes impede a funcionalidade de um site, e alguns deles
mes de todos os hosts e seus endereços IP corresponden- (p. ex., identificação de tela) são incrivehnente dificeis de
tes. A cada noite, todas as máquinas baixava1n esse arquivo. bloquear.
Contudo, quando a ARPANET se transformou na Internet Áudio e vídeo digital tê1u sido fatores-chave para a
e explodiu em tamanho, um esquema de nomes bem nlais lnternet desde o ano 2000. A maior parte do tráfego da In-
sofisticado e dinâmico foi necessário. Agora, usa-se um ternet hoje é vídeo. Grande parte dele flui dos sites por uma
esquema hierárquico chamado sistema de nomes de domí- mistw·a de protocolos, embora o TCP ta1ubém seja muito
nios, ou DNS. Ele organiza todas as máquinas da Internet utilizado. A mídia ao vivo é enviada para muitos consumi-
em um conjunto de árvores. No nível superior, encontram- dores. Ela inclui estações de rádio e TV pela Internet, que
-se os domínios genéricos conhecidos, inclusive corn e edu, envia1n todo tipo de evento por broadcast. Áudio e vídeo
bern como cerca de 200 domínios de países. O DNS é itn- ta1ubé1u são usados para conferências e1u te1npo real. Mui-
plernentado sob a forma de um sistema de bancos de dados tas chamadas usam voz sobre IP, e1u vez da rede telefônica
distribuídos, com servidores espalhados em todo o inundo. tradicional, e incluem videoconferência.
Ao consultar um servidor DNS, um processo pode mapear Existe un1 pequeno número de sites n1tlito populares,
um no1ne de domínio na Internet no endereço IP usado para bem como um grande número de sites pouco populares.
comunjcação com um co1nputador nesse domínio. O DNS é Para atender aos mais populares, foram implantadas redes
usado para diversas finalidades; os desenvolvimentos recen- de distribuição de conteúdo. As CDNs usam DNS para di-
tes criaran1 un1a preocupação com a privacidade em torno recionar os clientes para um servidor próxjmo, já que os
do DNS, resultando em u1na mudança para criptografar o servidores ficam espalhados por centros de dados no mun-
DNS com TLS ou HTTPS. A centralização do DNS resul- do inteiro. Como alternativa, as redes P2P permitem que
tante está preparada para 1nudar os aspectos fundamentais uma coleção de máquinas compartilhe conteúdo (como fil-
da arquitetura da Internet. mes) entre elas. Elas oferecem uma capacidade de distribui-
O e-n1ail (ou correio eletrônico) é a aplicação origi- ção de conteúdo que aumenta co1n o núrnero de máquinas
nal mais popular da Inten1et. Ele é muito usado por todos, na rede P2P e que pode competir com o maior dos sites.
desde as crianças até seus avós. A maioria dos siste1nas de
correio eletrônico no inundo emprega o sistema de correio
defmido nas RFCs 5321e5322. As mensagens têm cabeça-
lhos ASCII simples, e muitos tipos de conteúdo podem ser PROBLEMAS
enviados usando o MIME. O e-mail é submetido a agentes
de transferência de mensage1n para entrega e recuperação, 1. Na Figura 7.5, não existe nenhum ponto depois de laserjet.
para apresentação por wna série de agentes do usuário, in- Por quê?
cluindo aplicações Web. As 1nensagens são enviadas com 2. Dê um exemplo, semelhante ao que foi mostrado na Figu-
o uso do SMTP, que funciona estabelecendo uma conexão ra 7.6, de u1n resolvedor pesquisando o nome de dornínio
Capítulo 7 • A camada de aplicação 465

co11rse-it!fo.cs.uchicago.edu em oito etapas. E1n que cená- problemas que devem ser resolvidos para que u1n padrão
rio isso aconteceria na prática? 1nundial possa ser aceito.
3. Qual registro do DNS verifica a chave que é usada para 16. Um grande escritório de advocacia, com muitos funcioná-
assinar os registros do DNS para u1n servidor de nornes rios, oferece urn endereço de e-mail único para cada pessoa.
autorizado? O endereço de e-mail de cada funcionário é <login>@la-
~vfirrn.con1. Todavia, a empresa não definiu explicitamente o
4. Qual registro do DNS verifica a assiJ1atura dos registros do
DNS para urn servidor de nomes autorizado? fonnato do login. Assim, alguns funcionários usaD1 seus pri-
1neiros nomes como Domes de logü1, alguDS usam seus so-
5. Descreva o processo de mapean1ento de um cliente, pelo brenon1es e outros usam suas iniciais, etc. O escritório agora
qual alguma parte da infraestrutura do DNS identificaria deseja criar um fon11ato fixo, por exemplo:
u1n servidor de conteúdo próximo do cliente que emitiu a
consulta ao DNS. Explique quaisquer suposições envolvi- nome. sobreno111e@laivfi nn .co111,
das na determinação do local do cliente. que pode ser usado para os eDdereços de e-mail de todos
6. Considere uma situação em que u1n cyberterrorista faz os seus funcionários. Co1no isso pode ser feito sem causar
todos os servidores de DNS do mundo fa lhare1n simul- 1nuita confusão?
tanean1ente. Co1no isso muda nossa capacidade de usar a 17. Uma stringASCll de 100 bytes é codificada usando base64.
Internet? Qual é o co111primento da string resultante?
7. A Internet está repleta de jargão. 18. Seu colega de sala de aula codifica a string ASCII "ascii"
(a) Traduza a seguinte sentença de lnten1et para o portu- usando base64, resultando ein "YXNjaWJ". Mostre o que
guês: "FTTB PAYG. IAC é FCFS. IKYP''. saiu errado durante a codificação e apresente a codificação
(b) Use a sua experiência na resposta do ite1n (a) para su- correta da strmg.
gerir quais seriam as vantagens e desvantagens do jar- 19. Você está desenvolvendo uma aplicação de mensagens ins-
gão da Internet. tantâneas para um trabalho de laboratório sobre redes de
8. Explique as vantagens e as desvantagens do uso do TCP no computadores. A aplicação deverá ser capaz de traDsferir
lugar do UDP para consultas e respostas do DNS. texto ASCII e arquivos binários. lnfeliz1nente, outro aluno
na sua equipe já entregou o código do servidor sem i1nple-
9. Supondo que o comporta1nento do caching para pesquisas
1nentar u1n recurso para transferir arqui vos binários. Você
DNS seja o normal e que o DNS não seja criptografado,
aiDda coDsegue implementar esse recurso so1neDte mudaD-
qual das partes seguintes pode ver todas as suas pesquisas
do o código do cliente?
DNS a partir do seu dispositivo local? Se o DNS for crip-
tografado com DoH ou DoT, quem pode ver as pesquisas 20. Em qualquer padrão, como o RFC 5322, é necessário haver
DNS? u1na gra111ática exata do que é pennitido, para que diferen-
tes imple111entações possam interoperar. Até 111esn10 itens
1O. Nathan deseja ter um no1ne de domínio original e usa um simples têm de estar definidos com cuidado. Os cabeçalhos
programa de geração aleatória para criar urn noLne de do- SMTP permite111 espaço em branco entre os sín1bolos. For-
1nínio secundário. Ele deseja registrar esse nome de do1ní- neça duas definições alternativas plausíveis de espaço em
nio no domínio genérico co111. O no1ne de don1ínio que foi branco eDtre sín1bolos.
gerado ten1 253 caracteres de extensão. O registrador co111
21. Cite cinco tipos MIME não listados no livro. Você pode
pennitirá que esse no1ne de do1nínio seja registrado?
verificar seu navegador ou consultar a Internet para obter
11. U1na 1náquina co1n u1n único nome DNS pode ter vários informações.
endereços fP? Con10 isso poderia ocorrer?
22. Suponha que você queira enviar un1 arq ui vo MP3 a um
12. Um con1putador pode ter dois nomes DNS e1n diferentes a111igo, n1as o ISP do seu ainigo limita a quantidade de cor-
don1ínios de alto nível? Se puder, mostre um exen1plo plau- reio recebida a 1 MB e o arquivo MP3 ten1 4 MB. Existe
sível. Se não, explique o motivo. algum modo de lidar co111 essa situação usando a RFC 5322
13. Alguns sistemas de e-mail aceitam um campo de cabeça- e o MIME?
U10 Content Return, que especifica se o corpo da mensagem 23. O LMAP permite que os usuários busquem e baixem 1nen-
deve ser retornado caso não seja entregue. Esse carnpo per- sagens de e-mail de uma caixa de correio remota. Isso sig-
tence ao envelope ou ao cabeçalho? nifica que o fonnato interno das caixas de correio tem de
14. Você recebe u1n e-mail suspeito e acredita que ele foi en- ser padronizado, de forma que qualquer prograrna IMAP no
viado por u111 ren1etente malicioso. O campo FROM no lado cliente possa ler a caixa de correio em qualquer servi-
e-111ail diz que ele foi enviado por algué111 que você confia. dor de correio? Explique sua resposta.
O conteúdo do e-111ail é confiável? O que mais você pode 24. O URL padrão https considera que o servidor Web está es-
fazer para verificar sua autenticidade? cutando na porta 443. CoDtudo, é possível que um servi-
15. Os sistemas de correio eletrônico precisam de diretórios dor Web escute em alguma outra porta. Crie uma sintaxe
para que os endereços eletrônicos das pessoas possam ser razoável para um URL acessando u1n arquivo e1n u1na porta
pesquisados. Para criá-los, os nomes devem ser dividi- fora do padrão.
dos em componentes padrão (p. ex., primeiro nome, últi- 25. Imagine que alguém no departamento de matemática de
1no nome) para possibilitar a pesquisa. Descreva alguns Stanford acabou de escrever u1n docwnento incluindo uma
466 Redes de computadores

prova, que ele deseja distribuir por FTP para seus colegas 34. Suponha que a compressão não seja usada para CDs de áu-
analisare1n. Essa pessoa coloca o docuinento no diretório dio. Quantos MB de dados o CD deve conter a fitn de tocar
FTP jiplp11b/paraAnalisar/11ovaProva.pdf Qual deve ser o duas horas de música?
URL provável para esse documento? 35. Um servidor hospedando u1na sala de bate-papo popular en-
26. Iniagine uma página Web que leva 3 segundos para ser car- via dados aos seus clientes a u.ma taxa de 32 kbps. Se esses
regada usando HTTP com u1na conexão persistente e soli- dados chegam nos clientes a cada 100 ms, qual é o ta1nanho
citações sequenciais. Desses 3 segundos, 150 tns são gas- do pacote usado pelo servidor? Qual seria o tamanho se os
tos configurando a conexão e obtendo a primeira resposta. clientes recebessem dados a cada segundo?
Carregar a mes1na página usando solicitações e1n pipeline 36. Um servidor de streaming de áudio está a uma "distância"
leva 200 ms. Supo11ha que o envio de uma solicitação seja de cerca de 100 ms em relação a um player de 1nídia. Ele
instantâneo e que o tempo entre a solicitação e a resposta trans1nite a saída a 1 Mbps. Se o player de 1nídia tiver u1n
seja igual para todas as solicitações. Quantas solicitações buffer de 2 MB, o que você pode dizer sobre a posição da
são realizadas ao buscar essa página Web? 1narca de nível inferior e da 1narca de nível superior?
27. Você está desenvolvendo uma aplicação em rede para o seu 37. Você está fazendo o streaming de um vídeo quando, 10 s
trabalho de laboratório sobre redes de computadores. Outro antes do final , sua conexão com a Internet é interro1npida.
aluno na sua equipe diz que, como o seu siste1na se comu- O vídeo tem u1na resolução de 2048 x 1024 pixeis, utiliza
nica via HTTP, que roda sobre TCP, seu sistema não precisa 16 bits por pixel e é reproduzido a 60 quadros por segun-
levar e1n conta a possibilidade de a co1nunicação entre os do. Há 64 MB (67.108.864 bytes) de dados codificados no
hosts ser desfeita. O que você diz ao seu colega de equipe? buffer de sua máquina. Considerando unia razão de coni-
28. Para cada uma das seguintes aplicações, informe se ela se- pressão de 32: 1, você conseguiria assisti r o video até o
ria ( 1) possível e (2) melhor para usar um script PHP ou final?
JavaScripl, e o motivo: 38. Suponha que um meio de transmissão sem fio perca muitos
(a) Exibir um calendário para qualquer mês solicitado des- pacotes. Como u1n áudio com qualidade de CD não com-
pactado poderia ser trans1nitido de modo que uin pacote
de setembro de 1752.
perdido resultasse eu1 uni sou1 com 1nenor qual idade, tuas
(b) Exibir a tabela de voos de Amsterdã até Nova Iorque. seni intervalo na música?
(c) Representar grafica1nente u1n polinô1nio a partir de 39. No texto, discutimos sobre um esquema de buffering para
coeficientes fornecidos pelo usuário. vídeo que aparece na Figura 7.34. Esse esque1na também
29. O cabeçalho Jf-Modified-Since pode ser usado para verifi- funcionaria para áudio puro? Por quê?
car se uma página guardada em cache ainda é valida. Po- 40. O strea1ning de áudio e video em tempo real precisa ser
den1 ser feitas solicitações de páginas contendo i1nagens, constante. O atraso de ponta a ponta e o jitter de pacotes
so111, vídeo, e assim por diante, be1n como HTML. Você são dois fatores que afetam a experiência do usuário. Eles
i1nagina que a eficiência dessa técnica é melhor ou pior são basica1nente a mestna coisa? Sob quais circunstâncias
para imagens JPEG, em comparação co1n HTML? Pense cada um deles aparece? Algu1n deles pode ser co1nbatido e,
coni cuidado no que significa "eficiência" e expl ique sua se puder, como?
resposta.
41. Qual é a taxa de bits para transmissão de quadros em cores
30. Você solicita unia página Web de um servidor. A resposta do não compactados de 1920 x 1080 pixeis com 16 bits/pixel a
servidor inclui um cabeçalho Expires, cujo valor é definido 60 quadros por segundo?
como um dia no fururo. Depois de cinco minutos, você soli- 42. Qual é a razão de compressão necessária para enviar um
cita a mesma página do niesmo servidor. O servidor poderá vídeo 4K por uni canal de 80 Mbps? Suponha que o vídeo
lhe enviar u1na versão mais recente da página? Explique o seja reproduzido a uma taxa de 60 quadros por segundo e
motivo. que o valor de cada pixel seja armazenado em 3 bytes.
31. Faz sentido uni único lSP funcionar como u111a CDN? Nes- 43. Suponha que u1n sistenia DASH co1n 50 quadros/s divida
se caso, como ele funcionaria? Se não, o que está errado u1n vídeo em segnientos de 1Osegundos, cada uni co1n exa-
com essa ideia? taniente 500 quadros. Você consegue achar algum problema
32. Um CD de áudio codifica música a 44.000 Hz usando nisso? (Dica: pense no tipo dos quadros usados no MPEG.)
amostras de 16 bits. Qual é a taxa de bits para a música não Se houver algum problema, como ele pode ser resolvido?
compactada? Quantos bytes são necessários para codificar 44. In1agine que um serviço de strean1ing de vídeo decida usar
o equivalente a uma hora de música? Um CD pode annaze- UDP no lugar de TCP. Os pacotes UDP podem chegar em
nar 700 MB. Para que é usado o restante do CD? u1na ordem diferente daquela en1 que foram enviados. Que
33. Um CD de áudio codifica música a 44.000 Hz usando problema isso causa e como ele pode ser resolvido? Que
amostras de 16 bits. Faria algum sentido produzir áudio de complicação a sua solução gera, se houver alguma?
qualidade mais alta amostrando a 88.000 Hz com amostras 45. Enquanto trabalha e1n unia e1npresa de streaniing de jo-
de 16 bits? E se fosse 44.000 Hz co1n amostras de 24 bits? gos, u1n colega sugere a criação de um novo protocolo da
Capítulo 7 • A camada de aplicação 467

camada de transporte que resolve as deficiências do TCP 48. Uma página Web popular hospeda 2 bilhões de vídeos.
e UDP, garantindo baixa latência e baixo jitter para aplica- Se a popularidade do vídeo seguir u1na distribuição de Zipf,
ções de n1ultin1ídia. Explique por que isso não funcionaria. que fração das visualizações vai para os 1O vídeos 1nais
46. Considere urn servidor de vídeo com 50 mil clientes, em assistidos?
que cada um deles assiste a três filmes por mês. Dois terços 49. Uma das vantagens dos sistemas peer-to-peer é que normal-
dos filmes são atendidos às 2 l h. Quantos filmes o servidor 1nente não existe um ponto de controle central, tornando-os
precisa trans1ni tir ao rnesmo ten1po durante esse período resilientes a falhas. Ex plique por que o BitTorrent não é to-
de te1npo? Se cada fihne exige 6 Mbps, quantas conexões taln1ente descentralizado.
OC-12 o servidor precisa ter corn a rede? 50. Explique alguns rnotivos pelos quais u1n cliente BitTorrent
47. Sob quais condições o uso de u1na CDN não é urna boa ideia? poderia trapacear ou 1nentir e co1no ele poderia fazer isso.
Esta página foi deixada em branco intencionalmente.
Seguran a de redes

Durante as pritneiras décadas de sua existência, as redes de inspirar dois outros pioneiros na área da Baía de São
de con1putadores foram usadas principalmente por pesqui- Francisco, Steve Wozniak e Steve Jobs, a tarnbém prati-
sadores universitários, para enviar 1nensagens de con·eio car o phreaking do telefone e construir suas próprias caixas
eletrônico, e ta1nbé1n por funcionários de en1presas, para azuis, be1n como, em um estágio posterior, um co1nputador
compartilhar impressoras. Nessas condições, a segurança que decidiran1 chamar de Apple. De acordo com Wozniak,
nunca precisou de maiores cuidados. Mas agora, quando não haveria Apple sem o Capitão Crunch.
milhões de cidadãos co1nuns usam as redes para executar A segurança é um assunto abrangente e inclui inúme-
operações bancárias, fazer con1pras e arquivar sua devolu- ros tipos de problemas. En1 sua forn1a mais si1nples, preo-
ção de impostos, surge um ponto fraco atrás do outro, e a cupa-se em impedir que pessoas mal-intencionadas leiam
segurança tornou-se um problen1a de grandes proporções. ou, pior ainda, modifiquen1 secretamente mensagens envia-
Neste capítulo, estudaremos a segurança das redes sob vá- das a outros destinatários. Outra preocupação da segurança
rios ângulos, destacaren1os muitas falhas e discutire1nos di- são as pessoas que tenta1n subverter serviços essenciais da
versos algoritmos e protocolos que as toman1 1nais seguras. rede, como BGP ou DNS, indisponibilizar links de servi-
Em uma nota histórica, a invasão de rede já existia ços de rede ou ter acesso a serviços remotos que não estão
muito antes de haver uma Internet. A rede telefônica era autorizadas a usar. Ela também lida com n1eios para saber
o alvo e mexer no protocolo de sinalização era conhecido se uma mensagem supostamente verdadeira é um trote, por
como phreaking do telefone. O phreaking do telefone co- exemplo, se veio da Receita Federal ou de u1n prisioneiro.
meçou no final dos anos 1950 e realmente disparou nas dé- A segurança trata de situações em que mensagens legítin1as
cadas de 1960 e 1970. Naquela época, os sinais de contro- são capturadas e reproduzidas, além de lidar com pessoas
le usados para autorizar e rotear charnadas ainda estavam que tentam negar o fato de ter enviado certas mensagens.
"dentro da banda": a cornpanhia telefônica usava sons em A maior parte dos problemas de segurança é causada
frequências específicas no n1es1no canal da comunicação de propositaln1ente por pessoas mal-intencionadas, que ten-
voz para dizer às centrais o que fazer. tam obter algu1n benefício, chamar atenção ou prejudicar
Um dos mais conhecidos phreakers do telefone foi alguém. Alguns dos invasores mais comuns estão listados
John Draper, uma figura controversa que descobriu que na Figura 8.1. Fica claro por essa lista que tornar uma rede
o apito de brinquedo incluído nas caixas de cereais Cap'n segura envolve muito mais que apenas mantê-la livre de
Crunch no final dos anos 1960 emitia um tom de exatamen- erros de programação. Para tomar un1a rede segura, com
te 2600 Hz, que por acaso era a frequência que a AT&T usa- frequência é necessário lidar com adversários inteligentes,
va para autorizar chamadas de longa distância. Usando o dedicados e, às vezes, muito bem subsidiados. Você tam-
apito, Draper conseguiu fazer chamadas de longa distância bém deve ter em mente que as medidas utilizadas para in-
gratuita1nente. Ele ficou conhecido como Capitão Crunch ten·omper a atividade de adversários eventuais terão pouco
e usou os apitos para construir as cha1nadas caixas azuis impacto sobre os adversários "1nais espertos".
para hackear o sistema telefônico. Em 1974, Draper foi pre- Em um artigo na USENJX ;Login:, James Mickens,
so por fraude de tarifação e foi para a prisão, mas não antes da Microsoft (e agora professor na Harvard Un iversity),
470 Redes de computadores

Adversário Objetivo
Estudante Divertir-se bisbilhotando o e-mail de outras pessoas
Cracker Testar o sistema de segurança de alguém; roubar dados
Representante de vendas Tentar representar toda a Europa e não apenas Andorra
Executivo Descobrir a estratégia de marketing do concorrente
Ex-funcionário Vingar-se por ter sido demitido
Contador Desviar dinheiro de uma empresa
Corretor de valores Negar uma promessa feita por e-mail a um cliente
Vigarista Roubar números de cartão de crédito e vendê-los
Espião do governo Descobrir segredos militares ou industriais de um inimigo
Terrorista Roubar segredos de armas bacteriológicas

Figura 8.1 Algumas pessoas que podem causar problemas de segurança e os motivos para fazê-lo.

argu1nentou que é preciso distinguir entre invasores co- comum desse acrôniJno não tenha sido tão cuidadoso na
muns e, digamos, serviços de inteligência sofisticados. violação dessas propriedades no passado. Confidencialida-
Se você está preocupado con1 adversá1ios comuns, ficará de está relacionada ao fato de manter as infonnações longe
bem com bo1n senso e medidas básicas de segurança. Mi- de usuários não autorizados. É isso que costuma vir à mente
ckens explica eloquentemente a distinção: quando pensa1nos e1n segurança de redes. Integridade trata
de garantir que a infonnação que você recebeu foi reahnente
Se o seu adversário for o Mossad, você vai morrer e
a inforn1ação enviada e não algo que algué1n n1odificou. Dis-
não há nada que possajàzer a respeito. O Mossad não
ponibilidade refere-se a impedir que sistemas e serviços se
se intilnida pelo fato de você ernpregar https://. Se o
tomem inutilizáveis devido a quebras, situações de sobrecar-
Mossad quiser seus dados, eles vão usar urn drone
ga ou erros deliberados na configLu·ação. Bons exemplos de
para substituir seu celular por tun pedaço de urânio
tentativas de comprometer a disponibilidade são os ataques
ernforma de telefone celular, e quando você morrer de
de negação de serviço, que frequentemente invadetn alvos
turnores cheios de tuniores, eles vão dar unia entrevis-
de alto valor, como bancos, companhias aéreas e a escola
ta coletiva e dizer "Não fo1nos nós'', enquanto usan1
local durante o horário de um teste. A1én1 do triunvirato clás-
catnisetas que dizetr1 "DEFJNJTIVAMENTE FOMOS
• sico de confidencialidade, integridade e disponibilidade que
NOS" e então eles vão co1nprar todas as suas coisas
domina o reino da segurança, existem outras questões que
junto com sua casa para que possam olhar direta-
tambén1 desempenham papéis importantes. Em particular,
tnente para as fotos de suas férias, e1n vez de ler seus
a autenticação cuida do processo de determinar con1 quem
e-1nails insípidos a respeito deles.
você está se comunjcando antes de revelar informações sigi-
A conclusão de Mickens é que invasores sofisticados losas ou entrar em u1na transação co1nercial. Por fim, o não
têm tneios avançados para compro1neter seus sistemas, é repúdio trata de assinaturas: como provar que seu cliente
muito dificil pará-los. Além disso, os registros policiais reahnente fez um pedido eletrônico de dez milhões de unida-
mostram que os ataques mais prejudiciais são frequente- des de um produto com preço unitário de 89 centavos quan-
mente perpetrados por pessoas ressentidas com a organiza- do mais tarde ele afirrnar que o preço era 69 centavos? Ou
ção a que pertencem. Os siste1nas de segurança devem ser talvez ele aftrme que nunca efetuou nenhum pedido, depois
projetados tendo en1 vista esse fato. de ver que uma empresa chinesa está inundando o mercado
com esses rnesmos produtos por 49 centavos.
Todas essas questões ta1nbé1n ocorrem em sistemas
tradicionais, mas co1n algun1as diferenças significativas.
8.1 FUNDAMENTOS DA O sigilo e a integridade são obtidos graças à utilização de
SEGURANÇA DE REDES correspondência registrada e de documentos trancados.
Hoje é ruais dificil roubar o tre1n postal do que nos te1npos
A 1naneira clássica de lidar co1n problemas de segurança na de Jesse James. Alén1 disso, é comu1n as pessoas consegui-
rede é distinguir três propriedades essenciais da segurança: rem distinguir um documento original de u1na fotocópia,
confidencialidade, integridade e disponibilidade. A abrevia- e isso quase sempre faz diferença para elas. Como teste,
ção co1num, CIA (Confidentiality, Integrity, Avai lability), tire u1na fotocópia de u1n cheque válido. Tente descontar o
talvez não seja muito boa, uma vez que o outro significado cheque original na segunda-feira. Agora tente descontar a
Capítulo 8 • Segurança de redes 471

fotocópia do cheque na terça-feira. Observe a diferença no e se todas elas foram consideradas. Em outras palavras, é
con1portamento do caixa. muito dificil garantir a segurança. Em vez disso, tentamos
Quanto à autenticação, as pessoas autenticatn outras melhorar a segurança ao máximo que pudermos aplicando,
pessoas por vários meios, incluindo reconhecimento de consistente1nente, um conjunto de princípios de segurança.
rosto, voz e caligrafia. As con1provações de assinatura são Os princípios clássicos da segurança fora1n fonu ulados em
feitas por meio de papel ti1nbrado, de símbolos em alto- 1975 por Jero1ne Saltzer e Michael Schroeder:
-relevo, etc. E1n geral, as falsificações podem ser detecta-
1. Princípio da economia de mecanismo. Este prin-
das por especialistas em caligrafia, papel e tinta. Nenhuma
cípio costuma ser parafraseado como o princípio da
dessas opções está disponível eletronicamente. É claro que
simplicidade. Sistemas complexos tendem a ter mais
são necessárias outras soluções.
bugs do que sistemas simples. Além disso, os usuá-
Antes de entrarmos nas soluções propriamente ditas,
rios podem não entendê-los bem e usá-los de forma
vale a pena dedicar alguns momentos considerando a que
errada ou insegura. Sistemas simples são sistemas
parte
,
da pilha de protocolos pertence a segurança de redes.
bons. Por exemplo, PGP (Pretty Good Privacy, con-
E provável que não exista uma parte específica. Todas as
sulte a Seção 8.11) oferece uma proteção poderosa
camadas contribue1n de alguma forma. Na camada física,
para o e-mail. No entanto, muitos usuários o consi-
os "grampos" podem ser anulados mantendo-se as linhas
deram co1nplicado na prática e, até agora, ele ainda
de transmissão (ou seja, as fibras ópticas) en1 tubos lacra-
não foi amplamente adotado. A sin1plicidade também
dos contendo gás inerte em alta pressão. Qualquer tentativa
ajuda a minimizar a superfície de ataque (todos os
de perfurar u1n tubo liberará o gás, reduzindo a pressão e
pontos onde um atacante pode interagir com o sis-
disparando un1 alarme. Alguns sistemas militares utiliza1n
terua para tentar compro1uetê-lo). U1u sisterua que
essa técnica.
oferece um grande conjunto de funções para usuários
Na camada de enlace de dados, os pacotes de uma
não confiáveis, cada uma implementada por muitas
linha ponto a ponto podem ser codificados à 1nedida que
linhas de código, possui uma grande superficie de
sae1n de uma máquina, e decodificados quando entram
ataque. Se uma função não for realmente necessária,
em outro sistema. Todos os detalhes podem ser tratados
deixe-a de fora.
na camada de enlace de dados, com as camadas mais altas
alheias ao que está acontecendo. No entanto, essa solução 2. Princípio do defauJt seguro. Digamos que seja preci-
se 1nostra ineficiente quando os pacotes tê1n de atraves- so organizar o acesso a utn recurso. É melhor estabele-
sar vários roteadores, pois é necessário descriptografá-los cer regras explícitas sobre quando alguém pode aces-
em cada roteador, o que os toma vulneráveis a ataques de sar o recurso do que tentar identificar a condição sob
dentro do roteador. Além disso, essa estratégia permite a qual o acesso a ele deve ser negado. Em outras pala-
que algumas sessões sejam protegidas (p. ex., aquelas que vras: utn default de falta de permissão é mais seguro.
envolvem compras on-line por cartão de crédito) e outras 3. Princípio da mediação completa. A autorização de
não. Todavia, a criptografia no nível do enlace de dados, cada acesso a cada recurso deve ser verificada. Isso
como esse método é chamado, pode ser facilmente incluída in1plica que deven1os ter uma maneira de detenninar a
ern qualquer rede e costwna ser rnuito útil. origem de u1na solicitação (o solicitante).
Na camada de rede, podem ser instalados firewalls 4. Princípio da menor autoridade. .Este p1incípio, fre-
para impedir que o tráfego de ataque entre ou saia das re- quente1nente conhecido como POLA (Principie Of
des. IPsec, um protocolo para segurança IP, que criptografa Least Autbority), afirma que qualquer (sub)sistema
as cargas úteis do pacote, também funciona nessa ca1nada. deve ter autoridade (privilégio) suficiente para execu-
Na camada de transporte, é possível criptografar conexões tar sua tarefa e nada mais. Portanto, se os atacantes
compro1netem esse sistema, eles elevam seus privilé-
inteiras de ponta a ponta, ou seja, processo a processo.
Questões como autenticação do usuário e não repúdio só
. . .
g1os apenas ao m1nnno.
podem ser tratadas na camada de aplicação; ocasionalmen- 5. Princípio da separação de privilégios. Intiman1ente
te (p. ex., no caso de redes sem fio), a autenticação do usuá- relacionado ao ponto anterior: é melhor dividir o siste-
rio ta1nbé1n pode ocorrer em camadas mais baixas. Tendo ma em vários componentes compatíveis com o POLA
e1n vista que a segurança se aplica a todas as can1adas na do que um único componente corn todos os privilégios
pilha de protocolos da rede, dedicamos um capítulo inteiro combinados. Novamente, se um co1nponente for co1u-
do livro para esse assunto. prometido, os invasores terão sua atuação limitada.
6. Princípio do mecanismo menos comum. Este prin-
cípio é un1 pouco 1nais complicado e afirma que deve-
8.1.1 Princípios básicos da segurança mos minimizar a quantidade de mecanismo co1num a
Embora certamente seja necessário tratar das questões de mais de um usuário e dependente de todos os usuários.
segurança e1u todas as camadas da pilha da rede, é mui- Pense dessa forma: se tivennos u1ua escolha entre i1u-
to difíci l detenuinar quando você tratou delas o suficiente ple1nentar uma rotina de rede no siste1na operacional,
472 Redes de computadores

onde suas variáveis globais são compartilhadas por criptografia WEP original para redes WiFi, que poderia ser
todos os usuários, ou e1n uma biblioteca no espaço do facilmente descoberta pela força bruta por invasores co1n
usuário que, para todos os efeitos, é privada ao proces- poder computacional suficiente.
so do usuário, devemos optar pelo últi1no. Os dados
con1partilhados no siste1na operacional tambén1 po-
dem servir co1no u1n can1inho de informações entre 8.1.2 Princípios básicos do ataque
diferentes usuários. Vere1nos um exemplo disso na A maneira mais fácil de estruturar urna discussão sobre os
seção sobre sequestro de conexão TCP. aspectos sistê1nicos da segurança é nos colocar no lugar do
7. Princípio do projeto aberto. Este afirma, de modo adversário. Portanto, depois de termos apresentado os as-
claro e sirnples, que o projeto não deve ser secre- pectos fundarnentais da segurança, varnos agora considerar
to e generaliza o que é conhecido como princípio os fundamentos dos ataques.
de Kerckhoffs da criptografia. Em 1883, Auguste Do ponto de vista do invasor, a segurança de un1 sis-
Kerckboffs, holandês de nasci1nento, publicou dois tema se apresenta como un1 conjunto de desafios que ele
artigos de jornal sobre criptografia militar, que afir- deve resolver para alcançar seus objetivos. Existem várias
rnavam que um criptosistema deveria ser seguro rnes- maneiras de violar a confidencialidade, a integridade, a
mo se tudo sobre o sistema, exceto a chave, fosse de disponibil idade ou qualquer uma das outras propriedades
conhecirnento público. Em outras palavras, não confie da segurança. Por exemplo, para quebrar a confidenciali-
na "segurança pela obscuridade", 1nas assurna que o dade do tráfego da rede, u1n invasor pode invadir um sis-
adversário imediatan1ente ganha farn iliaridade com tema para ler os dados diretamente, enganar as partes que
seu sistema e conhece os algoritmos de criptografia e estão se comunicando para enviar dados sem criptografia
descriptografia. e capturá-los ou, ern urn cenário ruais ambicioso, quebrar
8. Princípio de aceitabilidade psicológica. O últirno a criptografia. Todos eles são usados na prática e todos
princípio nã.o é absolutan1ente técnico. As regras e consistem em várias etapas. Vamos nos aprofundar nos
os mecanismos de segurança deven1 ser fáceis de fundamentos dos ataques na Seção 8.2. Como uma prévia,
usar e entender. Nova1nente, muitas implementações vamos considerar as várias etapas e técnicas que os inva-
da proteção PGP para e-mail falham nesse princípio. sores podern utilizar.
No entanto, a aceitabilidade envolve n1ais. Alérn da
1. Exploração. Alexander Grahan1 Bell disse certa vez:
usabilidade do mecanismo, tainbém deve ficar claro
"A preparação é a chave para o sucesso" e, portanto,
por que as regras e 1necanismos são necessários em
isso também serve para os invasores. A primeira coisa
primeiro lugar.
que você faz como invasor é saber o rnáximo possível
Outro fator irnportante para garantir a segurança é sobre seu alvo. Caso planeje atacar por meio de spam
tan1bém o conceito de isolamento, o qual garante a separa- ou engenharia social, você pode querer passar algum
ção de componentes (programas, sistemas de computação tempo vasculhando os perfis on-line das pessoas que
ou mesmo redes inteiras) que pertencem a diferentes domí- deseja enganar para que forneçam informações ou
nios de segurança ou que têtn privilégios diferentes. Toda até 1nesn10 procurar infonnações em uma lixeira fisi-
a interação que ocorre entre os diferentes componentes é ca. Neste capítulo, no entanto, iremos nos limitar aos
mediada por verificações de privilégio adequadas. O isola- aspectos técnicos de ataques e defesas. A exploração
mento, POLA e um controle rígido do fluxo de informações da segurança da rede consiste e1n descobrir informa-
entre os componentes permitern o projeto de sistemas forte- ções que ajudatn o invasor. Quais máquinas podemos
mente compartimentados. alcançar de fora? Usando quais protocolos? Qual é a
A segurança da rede compreende questões no domí- topologia da rede? Quais serviços são executados em
nio de sistemas e engenharia, bem co1no questões enrai- quais máquinas? E assim por diante. Discutiremos a
zadas na teoria, na matemática e na criptografia. Um bom exploração na Seção 8.2. l.
exemplo do primeiro é o clássico ping da morte, que 2. Sniffing e Snooping. Uma etapa importante etn mui-
pertnjtia aos atacantes travar os hosts por toda a Internet tos ataques à rede diz respeito à interceptação de paco-
usando opções de fragmentação no IP para criar pacotes de tes da rede. Certamente, se as informações confiden-
solicitação de eco do ICMP maiores que o tamanho n1áxi- ciais forem enviadas "às claras" (sem criptografia), a
mo de pacote permitido pelo IP. Visto que o lado receptor capacidade de interceptar o tráfego da rede é muito
nunca esperava pacotes tão grandes, ele reservava memó- útil para o invasor, mas até rnesmo o tráfego criptogra-
ria de butfer insuficiente para todos os dados, e os bytes fado pode ser útil - para descobrir os endereços MAC
em excesso substituiriam outros dados que vinham após das partes que se comunicam, quem fala com quem e
o buffer na memória. Nitidamente, isso foi um bug, co- quando, etc. Além disso, u1n invasor precisa intercep-
rnumente conhecido como estouro de buffer. Urn exemplo tar o tráfego criptografado para quebrar a criptografia.
de problema de criptografia é a chave de 40 bits usada na Visto que urn invasor tem acesso ao tráfego da rede de
Capítulo 8 • Segurança de redes 473

outras pessoas, a capacidade de farejar indica que pelo 8.1.3 De ameaças a soluções
n1enos os princípios de menor autoridade e mediação
completa não fora1n suficientemente impostos. Farejar Depois de discutir os 1novimentos do invasor, vamos consi-
é fácil em um meio de transmissão como o WiFi, mas derar o que podemos fazer a respeito deles. Como a maioria
corno interceptar o tráfego se ele nem mesmo viaja dos ataques chega pela rede, a comunidade de segurança
pelo enlace ao qual seu computador está conectado? percebeu rapidamente que a rede também pode ser um
O sniffing é o tópico da Seção 8.2.2. bom lugar para monitorar ataques. Na Seção 8.3, veremos
os firewalls , sistemas de detecção de intrusão e defesas
3. Spoofing. Outra anna básica nas mãos dos atacantes
sen1elhantcs.
é se fazer passar por outra pessoa. O tráfego de rede
falsificado finge se originar de alguma outra máqui- Enquanto as Seções 8.2 e 8.3 trata1n dos problemas
na. Por exc1nplo, podemos trans1nitir facilinente u1n relacionados aos sistemas, de invasores colocando suas
quadro Ethernet ou um pacote IP co1n u1n endereço n1ãos sujas en1 informações ou sistemas confidenciais, de-
de origc1n diferente, co1no un1 meio de contornar uma dica1nos as Seções 8.4 a 8.9 aos aspectos mais formais da
defesa ou iniciar ataques de negação de serviço, por- segurança de rede, quando discuti1nos criptografia e au-
que esses protocolos são 1nuito simples. No entanto, tenticação. Corn base na 1natemática e in1plementações em
poden1os fazer isso tan1bém para protocolos con1plica- siste1nas de computador, diversas primitivas criptográficas
dos, co1no o TCP? Afinal, se você enviar um seg1nento ajudam a garantir que, n1esn10 que o tráfego da rede caia
TCP SYN para configurar un1a conexão a um servidor nas n1ãos erradas, nada de rui1n aconteça. Por exe1nplo, os
co1n um endereço IP forjado, o servidor responderá invasores ainda não serão capazes de quebrar a confiden-
com seu segmento SYN/ACK (a segunda fase does- cialidade, adulterar o conteúdo ou repetir com êxito uma
tabelecimento da conexão) para esse endereço IP, de conversa na rede. Há 1nuito a dizer sobre criptografia, já
n1odo que, a menos que os invasores estejam no mes- que existe1n diferentes tipos de pri1nitivas para diferentes
mo segmento da rede, eles não verão a resposta. Sem finalidades (comprovar autenticidade, criptografia usando
essa resposta, eles não saberão o número de sequência chaves públicas, criptografia usando chaves simétricas,
usado pelo servidor e, portanto, não poderão se comu- etc.) e cada tipo costuma ter implementações diferentes.
nicar. O spoofing contorna o princípio da mediação Na Seção 8.4, apresentamos os principais conceitos da
completa: se não podemos determinar quem enviou criptografia, e as Seções 8.5 e 8.6 discutem a criptografia
uma solicitação, não podemos mediá-la adequadamen- simétrica e a de chave pública, respectivamente. Explora-
te. Na seção 8.2.3, discutin1os o spoofing em detalhes. mos as assinaturas digitais na Seção 8.7 e o gerenciamento
de chaves na Seção 8.8.
4. Interrupção. O terceiro componente de nossa tríade
A Seção 8.9 discute o problema fundamental da auten-
da CIA, a disponibilidade, cresceu em importância
ticação segura. Autenticação é o que impede completamen-
também para os invasores, co1n ataques devastadores
te o spoofing: a técnica pela qual um processo verifica se
de negação de serviço, ou DoS (Denial ofService) em
seu parceiro de con1unicação é quem deveria ser e não urn
todos os tipos de organizações. Alé1n disso, em res-
impostor. Confor111e a segurança se tornou cada vez mais
posta a novas defesas, esses ataques se tomaram cada
i1nportante, a co1nunidade desenvolveu un1a série de pro-
vez 1nais sofisticados. Pode-se argu1nentar que os ata-
tocolos de autenticação. Co1no veremos, em geral eles se
ques de DoS abusam do fato de que o princípio do
baseian1 na criptografia.
1necan isn10 menos co1nu1n não é rigorosamente apli-
Nas seções segu intes à autenticação, exan1ina1nos
cado - não há isolamento suficiente. Na Seção 8.2.4,
exemplos concretos de soluções de segurança de rede
vere1nos a evolução desses tipos de ataque.
(gerahnente baseadas e1n criptografia). Na Seção 8. l O,
Usando esses blocos de construção fundamentais, os discuti1nos as tecnologias de rede que fornece1n segu-
invasores podem criar uma grande variedade de ataques. rança de comunicação, con10 IPsec, VPNs e segurança
Por exemplo, usando exploração e sniffing, os invasores sem fio. A Seção 8.11 examina o problema de segurança
podem encontrar o endereço de u1n computador vítima em do correio eletrônico, incluindo explicações sobre PGP
potencial e descobrir que ele confia em um servidor, de e S/MIME (Secure Multipurpose Internet Mail Exten-
modo que qualquer solicitação proveniente desse servidor sion). A Seção 8.12 discute a segurança em um domí-
é aceita auto1naticamente. Por meio de um ataque de nega- nio mais amplo da Web, com descrições de DNS seguro
ção de serviço (interrupção), eles pode1n derrubar o servi- (DNSSEC), código de scripting executado nos navegado-
dor real para garantir que ele não responda mais à vítima e, res e Secure Sockets Layer (SSL). Como veremos, essas
em seguida, enviar solicitações falsificadas que parecem ter tecnologias usa1n muitas das ideias discutidas nas seções
vindo do servidor. Na verdade, foi exatamente assim que anteriores.
aconteceu um dos ataques 1nais famosos da história da In- Por fi1n , discutimos as questões sociais na Seção 8. 13.
ternet (no San Diego Supercomputer Center). Discutiremos Quais são as i1nplicações para direitos importantes, como
o ataque n1ais adiante. privacidade e liberdade de expressão? E quanto aos direitos
474 Redes de computadores

autorais e a proteção da propriedade intelectual? Segurança houve um serviço à escuta. Por exemplo, se o servidor
é um tópico importante, portanto vale a pena examiná-la responder na porta 25 , isso sugere que um servidor SMTP
de perto. está presente; se a conexão for bem-sucedida na porta 80,
Antes de nos aprofundarmos, devemos reiterar que a provavehnente haverá um servidor Web, etc. Podemos
segurança é todo um campo de estudo por si só. Neste ca- usar un1a técnica sernelhante para UDP (p. ex., se o alvo
pítulo, estudamos apenas redes e comunicação, ern vez de responder na porta UDP 53 , sabernos que ele executa um
questões relacionadas a hardware, sisternas operacionais, serviço de norne de domínio, porque essa é a porta reser-
aplicações ou usuários. Isso significa que não gastarernos vada para DNS).
muito te1npo olhando para bugs e não há nada aqui sobre
autenticação de usuário usando biometria, segurança de Varredura de porta
senha, ataques de estouro de buffer, cavalos de Tróia, fal-
sificação de login, isolamento de processo ou vírus. Todos Sondar uma máquina para ver quais portas estão ativas é
esses tópicos são abordados detalhadamente no Capítulo 9 conhecido co1no varredura de porta, e pode se tomar bas-
de Modern Operating Syste111s (Tanenbaum e Bos, 20 15). tante sofisticada. A técnica que descrevemos anterionnente,
O leitor interessado deverá ler esse livro para compreender em que um invasor configura uma conexão TCP completa
os aspectos da segurança nos sistemas. Agora vamos co1ne- cotn o alvo (chamada varredura de conexão) não é nada
çar nossa jornada. sofisticada. Embora eficaz, sua principal desvantagem é
que ela é muito visível para a equipe de segurança do alvo.
Muitos servidores costumam registrar conexões TCP bem-
-sucedidas, e aparecer nos logs durante a fase de explo-
8.2 OS PRINCIPAIS INGREDIENTES ração não é o que um invasor deseja. Para evitar isso, ele
pode fazer conexões deliberadarnente fracassadas por rneio
DE UM ATAQUE de uma varredura semiaberta. Uma varredura semiaberta
apenas finge estabelecer conexões: ela envia pacotes TCP
Como prirneiro passo, vamos considerar os ingredientes com a tlag SYN rnarcada para todos os núrneros de porta de
fundamentais que compõem um ataque. Praticamente todos interesse e espera que o servidor envie os SYN/ACKs cor-
os ataques à rede seguem uma receita que mistura algurnas respondentes para as portas que estão abertas, rnas nunca
variantes desses ingredientes de uma rnaneira inteligente. conclui o handshake de três vias. A maioria dos servidores
não registrará essas tentativas de conexão fracassadas.
8.2.1 Exploração Se va1Teduras serniabertas são melhores do que var-
reduras de conexão, por que ainda discutimos esse último
Digarnos que você seja urn invasor e, en1 uma bela manhã, tipo? O motivo é que as varreduras semiabertas exigem
decide que invadirá a organização X. Por onde você con1e- invasores rnais avançados. Uma conexão completa a uma
ça? Você não tem muitas inforn1ações sobre a organização porta TCP non11almente é possível a partir da maioria das
e, fisicamente, você está em um ponto da Internet longe máquinas usando ferramentas sirnples corno telnet, que ge-
do escritório mais próximo, de modo que bisbilhotar a li- ralmente estão disponíveis para usuários sem privilégios.
xeira ou olhar sobre os ornbros de alguém não são opções Para urna varredura semiaberta, no entanto, os invasores
viáveis. Você sen1pre pode usar a engenharia social para precisam determinar exatamente quais pacotes devern e não
tentar extrair informações confidenciais dos funcionários, devem ser transmitidos. A maioria dos sistemas não possui
enviando-lhes e-inails (spam) ou ligando para eles, ou en- ferramentas padrão para usuários não privilegiados fazerem
tão tornando-se amigo deles nas redes sociais. Contudo, isso, e apenas usuários corn privilégios de administrador
neste livro, estarnos interessados em questões mais técni- podem executar uma varredura sen1iaberta.
cas, relacionadas às redes de computadores. Por exemplo, As varreduras de conexão (às vezes chamadas de var-
você consegue descobrir que computadores existem na or- reduras abertas) e as varreduras serniabertas pressupõem
ganização, como eles estão conectados e quais serviços eles que é possível iniciar uma conexão TCP a partir de uma
executarn? máquina qualquer fora da rede da vítima. No entanto, talvez
Como ponto de partida, presumimos que um invasor o frrewall não permita que conexões sejam estabelecidas a
tenha alguns endereços IP de máquinas na organização: partir da máquina do invasor. Por exernplo, ele pode blo-
servidores Web, servidores de non1es, servidores de login quear todos os segmentos SYN. Nesse caso, o invasor pode
ou quaisquer outras máquinas que se comuniquem corn o ter que recorrer a técnicas de varredura mais esotéricas. Por
mundo exterior. A primeira coisa que o invasor desejará exemplo, em vez de um segmento SYN, uma varredura
fazer é explorar esse servidor. Quais portas TCP e UDP de FIN enviará um segmento TCP FIN, que normalmen-
estão abertas? Urna nlaneira fácil de descobrir é simples- te é usado para encerrar uma conexão. À prirneira vista,
mente tentar configurar urna conexão TCP para cada nú- isso não faz sentido porque não há conexão para encerrar.
mero de porta. Se a conexão for bem-sucedida, é porque No entanto, a resposta ao pacote FIN geralmente é diferente
Capítulo 8 • Segurança de redes 475

para portas abertas (com serviços à escuta por trás delas) Traceroute
e portas fechadas. Particularmente, muitas implementações
TCP enviam um pacote TCP RST se a porta estiver fechada Saber quais serviços estão ativos em urna máquina é ótimo e
e nada se ela estiver aberta. A Figura 8.2 ilustra essas três bacana, n1as e o restante das 1náquinas na rede? Conhecendo
técnicas básicas de varredura. esse primeiro endereço IP, os invasores podem tentar "vas-
A essa altura, você provavelmente está pensando: "Se culhar" para ver o que mais está disponível. Por exemplo,
podemos fazer isso com as flags SYN e FJN, podemos ten- se a primeira máquina tiver o endereço IP 130.37 .193.191,
tar algumas das outras flags?". Você estaria certo. Qualquer eles também podem tentar 130.37 .193.192, 130.37 .193.193
configuração que leve a diferentes respostas para portas e todos os outros endereços possíveis na rede local. Além
abertas e fechadas funciona. Outra opção bem conhecida é disso, eles podem usar programas como traceroute para
definir várias flags de uma só vez (FJN, PSH, URG), algo encontrar o caminho em direção ao endereço IP original.
conhecido co1no varredura de Natal (porque seu pacote Traceroute envia inicialmente um pequeno lote de pacotes
fica aceso co1no u1na árvore de Natal). UDP para o destino co1n o valor de tempo de vida (TTL)
Considere a Figura 8.2(a). Se un1a conexão puder ser definido como um, depois outro lote co.111 TTL definido
estabelecida, isso significa que a porta está aberta. Agora como dois, a segu ir um lote co1n TTL de três, e assim por
veja a Figura 8.2(b). U111a resposta SYN/ACK indica que a diante. O pri1neiro roteador di1ninui o TTL e imediata1nente
porta está aberta. Finahnente, te1nos a Figura 8.2(c). Uma descarta os prin1eiros pacotes (porque o TIL agora atingiu
resposta RST significa que a porta está aberta. o valor zero) e envia de volta tuna 1nensagem de erro ICMP
Sondar as portas abertas é o pri1neiro passo. A pró- indicando que os pacotes ultrapassara1n o tempo de vida
xima coisa que o invasor deseja saber é exatamente qual alocado. O segundo roteador faz o 1nes1no para o segun-
servidor roda nessa porta, qual software, qual versão do do lote de pacotes, o terceiro para o terceiro lote, até que
software e e1n qual sistema operacional. Por exemplo, su- em certo ponto alguns pacotes UDP alcancem o destino.
ponha que descobrimos que a porta 8080 está aberta. Este Ao coletar os pacotes de erro ICMP e seus endereços IP de
provavelmente é un1 servidor Web, embora não tenhamos

ongem, o traceroute e• capaz de traçar a rota geral. Os in-
certeza. Mesmo que seja um servidor Web, qual é o servi- vasores podem usar os resultados para varrer ainda mais
dor: ginx, Lighttpd, Apache? Suponha que um invasor te- alvos, sondando intervalos de endereços de roteadores pró-
nha apenas uma exploração para o Apache versão 2.4.37 e ximos ao alvo, obtendo assim um conhecimento rudimentar
so1nente no Windows - é importante descobrir todos esses da topologia da rede.
detalhes, algo conhecido co1no impressão digital. Assim
como em nossas verificações de portas, fazemos isso uti- 8.2.2 Sniffing e snooping
lizando as diferenças (às vezes sutis) na forma como esses
servidores e sistemas operacionais respondem. Se tudo isso (com um toque de spoofing)
parece co1nplicado, não se preocupe. Co1no muitas coisas Muitos ataques à rede começam con1 a interceptação do trá-
con1plicadas nas redes de co1nputadores, alguma alina cari- fego na rede. Para esse ingrediente do ataque, presumimos
dosa se sentou e in1plementou todas essas técnicas de varre- que o invasor está presente na rede da víti1na. Por exemplo,
dura e iinprcssão digital para você em programas amigáveis o invasor traz um notebook ao alcance da rede WiFi da ví-
e versáteis, con10 netmap e zmap. ti1na ou obté1n acesso a u1n PC na rede com fio. Farejar em

SVN SVN FIN

Porta 80

SVN/ACK SVN/ACK RST


Servidor Servidor Servidor

ACK

(a) Varredura de conexão: conexão (b) Varredura semiaberta: resposta (e) Varredura de FIN: resposta
estabelecida indica que a porta SVN/ACK indica que a porta RST indica que a porta
está aberta está aberta está fechada

Figura 8.2 Técnicas básicas de varredura de porta. (a) Varredura de conexão. (b) Varredura semiaberta. (c) varredura de FIN.
476 Redes de computadores

um meio de transmissão por broadcast, con10 WiFi, ou pela esteja cheia, despejando as entradas niais antigas para incluir
implementação original da Ethernet é fácil: você apenas as novas, se necessário. Como o switch agora não te1n mais
sintoniza o canal em um local conveniente e escuta os bits uma entrada para o host de destino, ele reverte para transmi-
que passa1n. Para fazer isso, os invasores define1n suas in- tir todo o tráfego em direção a ele. A inundação de MAC
terfaces de rede para o modo promíscuo, para que aceitem faz sua Ethernet se cotnportar como um Lneio de broadcast
todos os pacotes do canal, mesn10 aqueles destinados a ou- novarnente e festejar corno se fosse 1979.
tro host, e usam ferramentas como tcpdump ou Wiresbark Em vez de confundir o S\vitch, os invasores ta1nbém
para capturar o tráfego. poden1 visar aos hosts direta1nente, em um cha1nado ataque
de spoofing ARP ou envenenamento ARP. No Capítulo
Sniffing em redes comutadas 5, vünos que o protocolo ARP ajuda um computador a en-
contrar o endereço MAC correspondente a um endereço IP.
No entanto, em muitas redes, as coisas não são tão fáceis. Para tanto, a implementação ARP em uma máquina man-
Tome a Ethernet moderna como exemplo. Ao contrário de tém urna tabela com mapearnentos de endereços IP para
suas encarnações originais, a Ethernet hoje não é mais urna MAC, para todos os hosts que se comunicaran1 com essa
tecnologia de rede de meio compartilhado propria1nente 1náquina (a tabela ARP). Cada entrada te1n um ten1po de
dita. Toda a comunicação é comutada e os atacantes, 1nesmo vida (TTL) de, normalmente, algmnas dezenas de minutos.
que estejam conectados ao mesmo segmento da rede, nunca Depois disso, o endereço MAC da parte ren1ota é silencio-
receberão nenhu1n dos quadros Ethernet destinados aos ou- samente esquecido, supondo que não haja nlais comunica-
tros hosts no segmento. Especificamente, le1nbre-se de que ção entre essas partes (quando o TTL é reiniciado) e todas
os switches Ethernet se autoaprendem e criam rapidamen- as co1nunicações seguintes exigem u1na pesquisa ARP pri-
te uma tabela de encaminhamento. A autoaprendizage1n é 1neiro. A pesquisa ARP é simplesn1ente u1na mensage1n de
simples e eficaz: assi1n que um quadro Ethernet do host A transmissão que diz algo como: "Pessoal, estou procurando
chega à porta L, o switch registra que o tráfego para o host o endereço MAC do host com o endereço IP 192.168.2.24.
A deve ser enviado na porta 1. Agora ele sabe que todo o Se este for você, por favor me avise". A solicitação de pes-
tráfego com o endereço MAC do host A está no campo de quisa contém o endereço MAC do solicitante, então o host
destino do cabeçalho Ethernet e deve ser encaminhado pela 192.168.2.24 sabe para onde enviar a resposta, e taLnbém o
porta 1. Da rnesrna forma, ele enviará o tráfego para o host endereço IP do solicitante, de 1nodo que 192.168.2.24 pode
B na porta 2, e assi1n por diante. Depois que a tabela de en- adicionar o 1napeamento de IP para MAC do solicitante em
ca1ninha1nento estiver concluída, o switch não enviará tráfe- sua própria tabela ARP.
go algum explicitamente endereçado ao host Bem qualquer
Sempre que o invasor vê essa solicitação ARP para o
porta diferente de 2. Para farejar o tráfego, os invasores de-
host 192.168.2.24, ele pode correr para fornecer ao solici-
vem encontrar u1n rnodo de fazer exatarnente isso acontecer.
tante seu próprio endereço MAC. Nesse caso, toda a comu-
Existem várias 1naneiras de um invasor superar o pro-
nicação para 192.168.2.24 será enviada para a máquina do
blema da con1utaçâo. Todas elas usam spoofing. Iren1os
invasor. Na verdade, como as implementações ARP tende1n
discuti-las nesta seção, já que o único objetivo aqui é fare-
a ser simples e sem estado, o invasor pode muitas vezes ape-
jar o tráfego.
nas enviar respostas ARP, mesmo que não haja solicitação:
A primeira é a clonagem MAC, duplicando o ende-
a implementação ARP aceitará as respostas com seu valor
reço MAC do host do qual você deseja farejar o tráfego.
nominal e arn1azenará os mapeamentos em sua tabela ARP.
Se você afinna ter esse endereço MAC (enviando quadros
Ethernet com esse endereço), o switch registrará isso devi- Ao usar esse mesmo truque nas duas partes que se co-
damente em sua tabela e, a partir de então, enviará todo o 1nunicam, o invasor recebe todo o tráfego entre elas. Depois
disso, encaminhando os quadros para os endereços MAC
tráfego destinado à vítima para a sua máquina. Obviamen-
corretos novamente, o invasor terá instalado um gateway
te, isso pressupõe que você conhece esse endereço, e deve
MITM (Man-in-the-Middle) furtivo, capaz de interceptar
ser capaz de obtê-lo a partir das solicitações ARP enviadas
pelo destino que, afinal, são transmitidas a todos os hosts todo o tráfego entre os dois hosts.
no segmento da rede. Outro fator complicador é que o seu
mapean1ento será retirado do switch assim que o proprie- 8.2.3 Spoofing (além do ARP)
tário original do endereço MAC começar a se comunicar
novamente, e portanto você terá que repetir constantemente En1 geral, spoofing significa enviar bytes pela rede com um
esse envenenamento da tabela do switcb. endereço de origem falsificado. Além dos pacotes ARP, os
Como alternativa, mas na mesma linha, os invasores invasores podem falsificar qualquer outro tipo de tráfego
podem usar o fato de que a tabela do switch tem um tama- de rede. Por exemplo, SMTP (Si1nple Mail Transfer Pro-
nho limitado e inundá-lo com quadros Ethernet co1n ende- tocol) é u1n protocolo amigável, baseado em texto, usado
reços de origem falsos. O switch não sabe que os endereços en1 todos os lugares para enviar e-1nail. Ele usa o cabeçalho
MAC são falsos e simplesmente os registra até que a tabela Mail From: como uma indicação da orige1n de um e-n1ail,
Capítulo 8 • Segurança de redes 477

mas por padrão não verifica se o endereço de e-mail está de nome de domínio legítimo para fornecer urna resposta
correto. Em outras palavras, você pode colocar o que quiser falsa que inforn1a ao cliente que servicos-co11jiaveis.co1n
nesse cabeçalho e todas as respostas serão enviadas para está localizado em um endereço IP de nossa propriedade.
esse endereço. A propósito, o conteúdo do cabeçalho Mail Isso é fácil se pudermos fareja r o tráfego proveniente do
From: nem n1es1no é 1nostrado ao destinatário da 1nensa- cliente (e, portanto, ver a solicitação de pesquisa de DNS
gen1 de e-mail. En1 vez disso, seu cliente de e-mail mostra para responder), rnas, e se não pudennos ver a solicitação?
o conteúdo de um cabeçalho From: separado. No entanto, Afmal, se já podemos farejar a comunicação, interceptá-la
esse campo tan1bém não é verificado, e o SMTP permite com spoofing de DNS não é tão útil. Além disso, e se qui-
que você o falsifique, de 1nodo que, por exen1plo, o e-1nail sennos interceptar o tráfego de muitas pessoas ern vez de
que você envia a outros alunos info1mando que eles fora1n apenas u1na?
reprovados no curso parece ter sido enviado pelo próprio A solução mais simples, se os invasores compartilha-
instrutor do curso. Se você definir adicionalmente o cabe- rem o servidor de nornes local da vítuna, é que eles enviem
çalho Mail from: para o seu próprio endereço de e-mail, to- sua própria solicitação para, digamos, servicos-conjiaveis.
das as respostas enviadas por alunos em pânico irão para a corn, que por sua vez acionará o servidor de nomes local
sua caixa de correio. Que diversão isso vai ser! De forma para fazer uma pesquisa para esse endereço IP em seu
menos inocente, os criminosos frequentemente falsificam no1ne, contatando o próximo servidor de non1es no proces-
e-mails para enviar rnensagens de phishing, vindos de fon- so de pesquisa. Os invasores iinediatan1ente "respondetn" a
tes aparentemente confiáveis. Aquele e-mail do "seu nié- essa solicitação do servidor de nomes local corn uma res-
dico" dizendo para você clicar no link abaixo para obter posta falsificada, que parece ter vindo do próximo servidor
informações urgentes sobre seu exame médico pode levar de nomes. O resultado é que o servidor de notnes local ar-
a um site que diz que está tudo normal, mas não menciona mazena o 1napeamento falsificado em seu cache e o entrega
que acabou de baixar u1n vírus em seu computador. Aquele à vítima quando ele finalmente faz a busca por servicos-
outro do "seu banco" pode ser muito rui1n para a sua saúde -conjiaveis.corn (e qualquer outro que possa estar procuran-
financeira. do o mesmo norne). Observe que, 1nesmo que os invasores
O spoofing do ARP ocorre na ca1nada de enlace não cornpartilhe1n o nome local, o ataque ainda pode fun-
e o spoofing do SMTP na camada de aplicação, mas o cionar, se o invasor conseguir induzir a vítima a fazer uma
spoof1ng pode ocorrer em qualquer camada da pilha de solicitação de pesquisa com o nome de domínio fornecido
protocolos. Às vezes, o spoofing é fácil. Por exemplo, pelo invasor. Por exemplo, o invasor pode enviar urn e-mail
qualquer pessoa com a capacidade de criar pacotes perso- que pede à vítima para clicar em um link, para que o na-
nalizados pode criar quadros Ethernet, datagramas IP ou vegador faça a pesquisa do nome para o invasor. Depois
pacotes UDP falsos . Você só precisa mudar o endereço de de envenenar o mapeamento para servicos-conjiaveis.com,
orige1n e pronto: esses protocolos não têm como detectar a todas as próximas pesquisas para esse dornínio retornarão o
modificação. Outros protocolos são muito 1nais desafiado- mapeamento falso.
res. Por exe1nplo, nas conexões TCP, os terminais mantêm O leitor atento notará que isso não é nada fácil. Afi-
o estado, co1no os niuneros de sequência e de confinnação, nal, cada solicitação DNS carrega u1n ID de consulta de
que torna1n o spoofing 1nuito mais co1nplicado. A menos 16 bits e uma resposta é aceita apenas se o ID na resposta
que o invasor consiga farejar ou adivinhar os números de corresponder. Mas se os invasores não puderem ver a soli-
sequência apropriados, os seg1nentos TCP falsificados se- citação, eles terão que adivinhar o identificador. Para uma
rão rejeitados pelo receptor como "fora da janela". Corno única resposta, a chance de acertar é de urna ern 65.536.
veremos mais adiante, tan1bém existem outras dificuldades Em tnédia, um invasor teria que enviar dezenas de milhares
substanciais. de respostas DNS ern urn ternpo rnuito curto para falsificar
Até rnesmo os protocolos simples pem1item que os in- un1 único rnapearnento no servidor de no1nes local e fazer
vasores causem muitos danos. Em breve, veremos como os isso sem ser notado. Isso não é fácil.
pacotes UDP falsificados podern levar a ataques devastadores
de DoS. Contudo, primeiro vejamos como o spoofing permi- Ataque de aniversário
te que os invasores interceptern o que os clientes enviam para
um servidor fa lsificando datagramas UDP no DNS . Há uma maneira mais fácil, que às vezes é chan1ada de ata-
que de aniversário (ou paradoxo do aniversário, embora,
estritamente falando, não seja paradoxo algun1). A ideia
Spoofing do DNS
desse ataque vem de uma técnica que os professores de ma-
Como o DNS usa UDP para suas solicitações e respostas, o temática costumam usar em seus cursos de probabilidade.
spoofmg deve ser fácil. Por exemplo, assim como no ataque A questão é: de quantos alunos você precisa em uma tur-
de falsificação de ARP, poderíarnos esperar que u1n clien- n1a antes que a probabilidade de haver duas pessoas con1 o
te enviasse un1a solicitação de pesquisa para domínio ser- mesmo aniversário seja superior a 50%? A maioria de nós
vicos-confiaveis.corn e, em seguida, correr com o sistema espera que a resposta esteja bem acima de 100. Na verdade,
478 Redes de computadores

a teoria da probabilidade diz que é apenas 23. Co1n 23 Ao envenenar o servidor de no1nes local para un1 de-
pessoas, a probabilidade de nenhutna delas aniversariar no terminado website, digamos, os invasores obtêm acesso ao
mes1no dia é: tráfego enviado a esse site para todos os clientes do servi-
dor de nomes. Configurando suas próprias conexões com
365 364 363 343 o site e repassando toda a comunicação dos clientes e do
365 X 365 X 365 X ••• X 365 = 0•497203 servidor, eles agora atuan1 como intermediários (man-in-
-the-middle) furtivos.
Em outras palavras, a probabi lidade de dois alunos co-
me1norarem seu aniversário no n1es1no dia é n1ais de 50%. Ataque de Kaminsky
De 1nodo geral, se houver algutn mapeamento entre
entradas e saídas co1n n entradas (pessoas, identificado- As coisas pode111 ficar ainda piores quando os invasores
res, etc.) e k saídas possíveis (aniversários, identificadores, envenenam o mapeamento não apenas para u1n único site,
etc.), haverá n(n- 1)/2 pares de entrada. Se n(n - 1)/2 > k, a mas para u1na zona inteira. O ataque é conhecido co1no
chance de haver pelo 1nenos uma correspondência é muito ataque DNS de Dan Kaminsky e causou um grande pânico
boa. Assin1, aproxi1nadamente, u1na correspondência é pro- entre os responsáveis pela segurança da informação e ad-
vável para n > fil. O in1po1tante é que, e1n vez de procurar n1in istradores de rede em todo o n1undo. Para ver por que
uma correspondência para o dia de aniversário de um aluno todo mundo enlouqueceu, devemos examinar as pesquisas
em particular, compara1nos todos com todos os outros, e de DNS com um pouco n1ais de detalhes.
qualquer correspondência conta. Considere uma solicitação de pesquisa de DNS para
Usando esse insight, os invasores primeiro enviam al- o endereço IP de ~v1-v~v.cs. vu.nl. Após receber essa solici-
gu1nas centenas de solicitações de DNS para o 1napea1nento tação, o servidor de nomes local, por sua vez, envia uma
de domínio que desejan1 fa lsificar. O servidor de nomes lo- solicitação ao servidor de nomes raiz ou, mais con1un1ente,
cal tentará resolver cada uma dessas solicitações individual- ao servidor de nomes do TLD (domínio de nível superior)
mente, perguntando ao servidor de nomes do nível seguinte. para o domínio .nl. O últi1no é 1uais comum porque o en-
Isso talvez não seja muito inteligente, pois por que você en- dereço IP do servidor de nomes do TLD geraln1ente já está
viaria várias consultas para o n1es1no do1nínio, mas poucas no cache do servidor de nomes local. A Figura 8.3 n1ostra
pessoas argumentara1n que os servidores de no1nes são inte- essa solicitação do servidor de nomes local (solicitando um
ligentes, e fo i assim que o popular servidor de nomes BfND "registro A" para o domínio) em uma pesquisa recursiva
operou por muito ten1po. De qualquer forma, logo depois con1 a consulta 1337.
de enviar as solicitações, os invasores també1n envia1n cen- O servidor do TLD não conhece o mapeamento exato,
tenas de "respostas" falsificadas para a pesquisa, cada uma mas conhece os nomes dos servidores DNS da Vrije Uni-
fingindo vir do servidor de nomes do nível seguinte e carre- versiteit que envia de volta em uma resposta, já que não faz
gando uma suposição diferente para o ID da consulta. O ser- pesquisas recursivas, muito obrigado. A resposta, mostrada
vidor de nomes local implicita1nente executa a comparação na Figura 8.4, te1n alguns campos interessantes para discu-
muitos-para-1nuitos para nós, porque se qualquer ID de res- tirmos. Primeiro, observa1nos, sen1 entrar en1 detalhes, que
posta corresponder a uma solicitação enviada pelo servidor os sinalizadores indican1 explicitamente que o servidor não
de nomes local, a resposta será aceita. Observe como esse deseja fazer pesquisas recursivas, portanto, o restante da
cenário é semelhante ao dos aniversários dos alunos: o ser- pesquisa será iterativa. Em segundo lugar, o ID da consul-
vidor de non1es co1npara todas as solicitações enviadas pelo ta da resposta també1n é 133 7, correspondendo ao da pes-
servidor de no1nes local com todas as respostas falsificadas. quisa. Terceiro, a resposta fornece os nomes simbólicos dos

Porta de origem UDP = x Porta de destino UDP = 53

As flags indicam coisas


ID da transação = 1337 Flags ·················-1 como: esta é uma consulta
padrão e a recursão é
. Número da pergunta = 1 desejada (RD = 1)
.
....• -.- . · -·· · -····
--·--·----·······--· ---------. --. . ..
..... ----·--- .
.. . .---- --..
J !{ Qual é o regi st ro A de www.cs.vu.nl?

--. .
- .. -.. -·--.... . ..... --·· ..-. --
- --
···· -··-··--············ ···· ··· ·

Figura 8.3 Uma solicitação de DNS para www.cs.vu.nl.


Capítulo 8 • Segurança de redes 479

Porta de origem do UDP = 53 Porta de destino do UDP = x

(o mesmo q!-'e na s licitação)



. . As flags de resposta podem
Flags - - - - - + indicar que esta é uma resposta e a
ID da transação = : 1337 :
recursão não é possível (RA = O)
Número da pergunta = 1 Número de respostas = O

Número de registros de recursos Número de registros de recursos


de servidores autorizados = 2 com informações adicionais = 2
/ Qual é o registro A de www.cs.vu.nl?
----·· . --
-. -. --- . . . ..
. --. - - - ···--
.• .-· servidor autorizado: ns1 .vu.nl ······ ....
.· ·..•
.
• .
"·· ·-.S.f?rvidor autorizado: ns2.vu.nl .... .... ·"
·--··-·-----
--------- ------------- ··---------.. -..
-------- ···> 130.37.129_4·--....
.. •• ·" RégfsÍro adicional/adesão: ns1 .vu.nl ......
••
..•
" .. -- ~gj~.tro adicional/adesão: ns2.vu.nl ··> 130.37.129.5 .........•
· ·-·------------- --- ---- ------------··

Figura 8.4 Uma resposta do DNS enviada pelo servidor de nomes do TLD.

servidores de nomes da universidade, nsl. vu.nl e ns2. vu.nl, subdotnínio de .vu.nl entrará em contato com o servidor de
como registros NS. Essas respostas são oficiais e, a princí- no1ues do invasor, que pode fornecer u1n mapea1nento para
pio, suficientes para que o servidor de nomes local conclua qualquer endereço IP que desejar. Em outras palavras, os
a consulta: realizando primeiro uma consulta pelo registro invasores podem operar como intermediários para qualquer
A de um dos servidores de nomes e, posteriormente, con- site no doruínio da universidade!
tatando-o, ele pode solicitar o endereço IP dewww.cs.vu.nl. Embora ne1n todas as implementações de servidores de
No entanto, fazer isso significa que ele entrará em contato nomes fosse1u vulneráveis a esse ataque, a maioria delas era.
primeiro com o mesmo servidor de nomes do TLD nova- Claramente, a Internet tinha um proble1ua. Uma reunião de
mente, dessa vez para solicitar o endereço IP do servidor de emergência foi organizada às pressas na sede da Microsoft,
nomes da universidade, e co1no isso acarreta u1n te1npo extra em Redmond. Kaminsky declarou 1nais tarde que tudo isso
de ida e volta, não é rnuito eficiente. Para evitar essa consulta estava envolto em tal segredo que "havia pessoas seguindo
extra, o servidor de nomes do TLD fornece os endereços IP e1njatos para a Microsoft que nem sabian1 qual era o bug".
dos dois servidores de nomes da universidade como registros 'Então, como essas pessoas inteligentes resolveram o
adicionais e1u sua resposta, cada um com um TTL curto. Es- proble1na? Na verdade, elas não resolveratu. O que elas fi-
ses registros adicionais são conhecidos como registros de zera1n foi tornar tudo 1nais difícil. Lembre-se de que o pro-
adesão DNS e são a chave para o ataque de Kaminsky. blema principal desses ataques de falsificação de DNS é
Aqui está o que os invasores farão: primeiro, eles que o ID da consulta te1u apenas 16 bits, tornando possível
enviam solicitações de pesquisa para um subdomínio ine- adivinhá-lo, seja diretamente ou por meio de um ataque de
xistente do domínio da universidade, como: ohdeardanka- aniversário. Um [D de consulta maior toma o sucesso do
minsky. vu.nl. Con10 o subdomínio não existe, nenhuru ser- ataque n1uito 1uenos provável. No entanto, a sÍlnples altera-
vidor de no1nes pode fornecer o mapea1nento por meio de ção do formato da 1nensagem do protocolo DNS não é tão
seu cacbe. O servidor de nomes local entrará em contato fácil e interromperia muitos sistemas existentes. A solução
com o servidor de no1nes do TLD. Imediata1nente após o foi estender o comprimento do TD aleatório sem realmente
envio das solicitações, os invasores também envia1n muitas estender o JD da consulta, e1n vez disso, introduzindo a
respostas falsas, fingindo ser do servidor de nomes do TLD, aleatoriedade ta1ubém na porta UDP de origem. Ao enviar
assim como em uma solicitação normal de falsificação de uma solicitação DNS para, digamos, o servidor de nomes
DNS, exceto que, dessa vez, a resposta indica que o servi- do TLD, um servidor de no1nes con·igido escolberia uma
dor de nomes do TLD não sabe a resposta (ou seja, ele não porta aleatória entre milhares de números de portas pos-
fon1ece o registro A), não faz pesquisas recursivas e avisa o síveis e a usaria como a porta UDP de origem. Agora, o
servidor de nomes local para concluir a pesquisa entrando invasor deve adivinhar não apenas o ID da consulta, mas
em contato com um dos servidores de nomes da universida- também o nú1nero da porta e fazer isso antes que a resposta
de. Ele pode até fon1ecer os no1nes reais desses servidores legítin1a chegue. A codificação Ox20 que descreve1nos no
de nomes. As únicas coisas que eles falsifica1u são os re- Capítulo 7 explora a natureza das consultas DNS que não
gistros de adesão, para os quais fornecem endereços IP que diferenciam maiúsculas de minúsculas, para adicionar ain-
eles controlam. Como resultado, cada pesquisa de qualquer da mais bits ao lD da transação.
480 Redes de computadores

Felizn1ente, o DNSSEC oferece uma defesa mais só- perto. Depois de algum reconheci1nento inicial , Mitnick
lida contra spoofing de DNS. Ele consiste en1 um conjunto descobriu que utn computador (terminal X) no SDSC tinha
de extensões para DNS que oferecem integridade e autenti- uma relação de confiança com outra 1náquina (servidor) no
cação da origern de dados DNS para clientes DNS. No en- mesmo centro. A Figura 8.5(a) mostra essa configuração.
tanto, a implantação do DNSSEC tem sido extrema1nente Especificamente, o servidor era itnplicitamente confiável e
lenta. O trabalho inicial sobre ele foi conduzido no início de qualquer pessoa no servidor poderia fazer login no termi-
1990, a primeira RFC foi publicada pelo IETF em 1997 e nal X como administrador usando o shell remoto (rsh) sem
agora ele está começando a ser implantando de forma mais que fosse preciso inserir uma senha. Seu plano era preparar
ampla, como discutiremos 1nais adiante neste capítulo. un1a conexão TCP com o tenninal X, fingindo ser o servi-
dor, e usá-la para desligar totalmente a proteção por senha
Spoofing no TCP - naquela época, isso podia ser feito escrevendo "+ +" no
arquivo .rhosts.
Etn comparação con1 os protocolos discutidos até agora, o No entanto, não foi fácil fazer isso. Se Mitnick tivesse
spoofing no TCP é infinitamente mais complicado. Quan- enviado uma solicitação de configuração de conexão TCP
do os invasores quere1n fingir que um segmento TCP veio falsificada (um segmento SYN) para o terminal X com o
de outro computador na Internet, eles não apenas precisam endereço IP do servidor (etapa 1 na Figura 8.5(b)), o ter-
adivinhar o nún1ero da porta, n1as ta1nbé1n os números de minal X teria enviado sua resposta SYN/ACK ao servidor
sequência corretos. Alé1n disso, é muito complicado 1nanter real, e essa resposta seria invisível para Mitnick (etapa 2
uma conexão TCP em bom estado enquanto são injetados na Figura 8.5(b)). Como resultado, ele não saberia o nú-
segmentos TCP falsificados. Pode1nos distinguir entre dois mero de sequência inicial do terminal X (ISN), un1 número
casos: mais ou 1nenos aleatório que ele precisaria para a terceira
1. Spoofing da conexão. O invasor estabelece un1a nova fase do handshake do TCP (que, como vimos anteriormen-
conexão, fingindo ser alguém em um computador te, é o pri1neiro segmento que pode conter dados). O pior
diferente. é que, ao receber o SYN/ ACK, o servidor teria respondi-
do imediatamente com um segmento RST para encerrar a
2. Sequestro de conexão. O invasor injeta dados e1n
configuração da conexão (etapa 3 na Figura 8.5(c)). Afi-
uma conexão que já existe entre duas partes, fingindo
nal, deve ter havido um proble1na, pois nunca enviou um
ser uma dessas partes.
seg1nento SYN.
O exe1nplo 1nais conhecido de spoofing de conexão Observe que o problema do SYN/ACK invisível
TCP foi o ataque de Kevin Mitnick contra o San Diego e, portanto, do número de sequência inicial (fSN) ausen-
Supercomputing Center (SDSC), no dia de Natal de 1994. te, não seria u111 problema se o ISN fosse previsível. Por

E um dos hacks mais fa1nosos da história e te1na de vários exemplo, se ele con1eçasse com O para cada nova conexão.
livros e filmes. A propósito, u1n deles é um filme com orça- No entanto, como o JSN foi escolhido mais ou menos alea-
mento razoavelmente grande, cha1nado Takedown, baseado toriatnente para cada conexão, Mitnick precisou descobrir
em um livro que foi escrito pelo administrador de sistemas como ele foi gerado para prever o número que o terminal X
do SDSC. (Talvez não seja surpresa que o administrador usaria em seu SYN/ACK invisível ao servidor.
no fihne seja retratado como um cara 1nuito legal.) Discuti- Para superar esses desafios, Mitnick lançou seu ataque
mos isso aqui porque ilustra n1uito bem as dificuldades no em várias etapas. Primeiro, ele interagiu extensivamente
spoofing do TCP. com o terminal X usando 1nensagens SYN não falsificadas
Kevin Mitnick tinha uma longa história co1no bad (etapa 1 na Figura 8.6(a)). Embora essas tentativas de cone-
boy da Internet antes de passar para o SDSC. A propósi- xão TCP não tenham dado a ele acesso à máquina, deram a
to, atacar no dia de Natal geralmente é uma boa ideia por- ele uma sequência de ISNs. Felizmente para Kevin, os ISNs
que nos feriados há menos usuários e administradores por não eram tão aleatórios. Ele olhou para os números por um

Termina handshake
Não visível a Mitnick
(s..Mda< pode fazer o
/ /
--~ logln sem sema) --~ 3. RST
Servidor 2· SYN/ACK Servidor _ _, Servidor
Terminal X ,__ ___. confiável Terminal X ) - --o{ confiável Terminal X > - - - < confiável

1. Spoofed SVN

Mitnick Mitnick Mitnick

(a) (b) (c)

Figura 8.5 Desafios enfrentados por Kevin Mitnick durante o ataque ao SDSC.
Capítulo 8 • Segurança de redes 481

(Sem RST)
4. SYN/ACK
Terminal X >----< Terminal XJ--~ Terminal X

; - 3 . SVN 2. KILl::I ILL! 5. Terceira faSG do handshake TCP


'------- falsiti 9o Kll:.L1.., '--.__J_ com número dê ACK de&eoberto e
_...-•- dados: echo + + >> .rhosts

Mitnick Mitnick

(a) (b) (e)

Figura 8.6 Ataque de Mitnick.

tempo até encontrar um padrão e ter certeza de que, dado Imagine que todos os dados recebidos até agora foram con-
um ISN, ele seria capaz de prever o próximo. Em seguida, firmados e ambos, cliente e servidor, não estão enviando
ele se certificou de que o servidor confiável não seria capaz nenhum dado no n10n1ento. Agora, o invasor injeta, diga-
de redefinir suas tentativas de conexão, lançando um ataque mos, 100 bytes no fluxo TCP para o servidor, enviando um
DoS que fez o servidor parar de responder (etapa 2 na Fi- pacote fa lsificado com o endereço IP do cliente e sua porta
gura 8.6(b)). Agora o caminho estava limpo para lançar seu de origem, bem como o endereço IP do servidor e sua porta
ataque real. Depois de enviar o pacote SYN falsificado (eta- de orige1n. Essa tupla de 4 é suficiente para fazer a pilha da
pa 3 na Figura 8.6 (b)), ele previu o número de sequência rede demultiplexar os dados para o soquete correto. Além
que o terminal X estaria usando em sua resposta SYN/ACK disso, o invasor fornece o número de sequência apropriado
para o servidor (etapa 4 na Figura 8.6(b)) e usou isso na ter- (1001) e o número de confmnação (12501), de modo que o
ceira e última etapa, na qual enviou o comando echo "+ +" TCP passará a carga útil de l 00 bytes para o servidor Web.
>> .rhosts corno dados para a porta usada pelo daemon do No entanto, existe um problema. Depois de passar os
shell remoto (etapa 5 na FigtU"a 8.6(c)). Depois disso, ele bytes injetados para a aplicação, o servidor irá reconhecê-
pôde fazer login de qualquer máquina sem uma senha. -los ao cliente: "Obrigado pelos bytes, agora estou pronto
Uma vez que uma das principais fraquezas exploradas para receber o byte número 11 Ol ". Esta mensagem chega
por Mitnick foi a previsibilidade dos números de sequên- como uma surpresa para o cliente, que acha que o servidor
cia iniciais do TCP, os desenvolvedores de pilhas de rede, se confundiu. Afinal, ele nunca enviou nenhum dado e ain-
desde então, se esforçaram ruuito para melhorar a alea- da pretende enviar o byte 1001. Ele prontan1ente informa
toriedade da escolha do TCP para esses números sensíveis ã isso ao servidor, enviando un1 segmento vazio com o nú-
segurança. Corno resultado, o ataque de Mitnick não é rnais mero de sequência 1001 e o número de confinnação 12501.
prático. Os invasores modernos precisam encontrar uma "Uau", diz o servidor, "obrigado, mas este parece ser utn
maneira diferente de adivinhar os nú1neros de sequência ACK antigo. Agora, já recebi os próximos 100 bytes. É me-
iniciais, por exeruplo, aquele e1npregado no ataque de se- lhor infonnar ã parte remota sobre isso". Ele reenvia o
questro de conexão que descreveremos a seguir. ACK (seq = 1101, ack = 12501), o que leva a outro ACK
pelo cliente, e assim por diante. Esse fenômeno é conhe-
Sequestro de conexão TCP cido co1no tempestade de ACK. Ele nunca irá parar até
E1n comparação com o spoofing de conexão, o sequestro que u1n dos ACKs se perca (porque o TCP não retransmite
de conexão gera ainda rnais obstáculos a serem superados. ACKs se1n dados).
Por enquanto, vamos supor que os invasores sejam capazes Corno o invasor reprime a te1npestade de ACK? Exis-
de espionar uma conexão existente entre duas partes que tem vários truques, e vamos discutir todos eles. O mais
se comunica1n (porque estão no mesmo segmento de rede) simples é interro1nper a conexão explicitamente, enviando
e, portanto, conhecen1 os números de sequência exatos e um segmento RST para as partes em comunicação. Como
todas as outras informações relevantes relacionadas a essa alternativa, o invasor pode usar o envenenamento do ARP
comunicação. Em un1 ataque de sequestro, o objetivo é as- para fazer un1 dos ACKs ser enviado para un1 endereço
su1nir o controle de uma conexão existente, injetando dados inexistente, forçando-o a se perder. Outra estratégia é des-
no fluxo. sincronizar os dois lados da conexão de fonna que todos
Para tornar isso concreto, va1nos supor que o inva- os dados enviados pelo cliente sejam ignorados pelo servi-
sor queira injetar alguns dados na conexão TCP que existe dor e vice-versa. Fazer isso enviando muitos dados é be1n
entre um cliente que está Jogado a uma aplicação Web em complicado, 1nas u1n invasor pode fazer isso facilmente na
um servidor com o objetivo de fazer o cliente ou o servidor fase de estabelecimento da conexão. A ideia é a seguinte:
receber bytes injetados pelo invasor. En1 nosso exe1nplo, o invasor espera até que o cliente estabeleça uma conexão
os números de sequência dos últimos bytes enviados pelo com o servidor. Assim que o servidor responde com um
cliente e pelo servidor são 1000 e 12500, respectivamente. SYN/ACK, o invasor envia um pacote RST para encerrar a
482 Redes de computadores

conexão, seguido imediatamente por u1n pacote SYN, com A RFC 5961 mudou a fom1a como o TCP tratava do re-
o mesmo endereço IP e porta de origem TCP que foram cebimento de segn1entos SYN, seginentos RST e segn1entos
usados originalmente pelo cliente, mas com um número de dados regulares. A razão pela qual a vulnerabiljdade exis-
de sequência diferente do lado do cliente. Após o próximo tia apenas no Linux é que so1nente esse siste1na i1nple1nentou
SYN/ ACK enviado pelo servidor, servidor e cliente estão a RFC corretamente. Para explicar o que ele fez, deve1nos
no estado estabelecido, mas eles não pode1n se comunicar, primeiro explicar como o TCP funcionava antes da extensão.
porque seus números de sequência estão tão distantes que Vamos considerar primeiro o recebitnento dos seginentos
estão sempre fora da janela. Em vez disso, o invasor desem- SYN. Antes da RFC 5961 , sempre que o TCP recebia um
penha o papel de intennediário e retransmite os dados entre seginento SYN por u1na conexão já existente, ele descartava
as duas partes, podendo injetar dados à vontade. o pacote se ele estivesse fora da janela, mas reiniciava a co-
nexão se estivesse dentro da janela. A razão é que, ao receber
Explorações do TCP fora do caminho um seginento SYN, o TCP presumiria que o outro lado havia
reiniciado e, portanto, que a conexão existente não era mais
Alguns dos ataques são muito complexos e dificeis de en- válida. Isso não é bo1n, pois um invasor só precisa obter u1n
tender, quanto mais de se defender. Nesta seção, verernos segmento SYN com um número de sequência em algu1n lu-
um dos mais complicados. Na 1naioria dos casos, os inva- gar da janela do receptor para reiillciar uma conexão. Em vez
sores não estão no mesmo seg1nento de rede e não podem disso, o que a RFC 5961 propôs foi não reiniciar a conexão
detectar o tráfego entre as partes. Os ataques nesse tipo de imediatamente, mas prirneiro enviar u1n ACK de desafio
cenário são conhecidos como explorações de TCP fora do ao aparente emissor do SYN. Se o pacote veio de um par
ca1n inho e são muito difíceis de realizar. Mesrno se igno- remoto legítimo, isso significa que ele realmente perdeu a
rarmos a tempestade de ACK, o invasor precisa de n1uita conexão anterior e agora está configurando uma nova. Ao re-
inforn1ação para injetar dados en1 un1a conexão existente: ceber o ACK de desafio, ele enviará um pacote RST com o
1. Antes mesmo do ataque real, os invasores devern des- número de sequência correto. Os invasores não podem fuzer
cobrir que há uma conexão entre duas partes na Inter- isso, pois nunca receberam o ACK de desafio.
net, para começar. A mesma história se aplica aos segmentos RST.
2. E1n seguida, eles deve1n determinar os nú1neros de No TCP tradicional, os hosts descartariam os pacotes RST
porta a serem usados. se estivessem fora da janela e redefiniriam a conexão se es-
tivessem dentro da janela. Para tornar mais difícil reiniciar
3. Por fim, eles precisan1 dos números de sequência.
a conexão de outra pessoa, a RFC 596 l propôs redefinir a
Uma tarefa bastante difícil, se você estiver do outro conexão imediata1nente apenas se o número de sequência
lado da Internet, mas não necessariamente in1possível. Dé- no seg1nento RST fosse exata1nente aquele no início da ja-
cadas após o ataque Mitnick ao SDSC, os pesquisadores de nela do receptor (ou seja, o próximo número de sequência
segurança descobrira1n uma nova vulnerabilidade que lhes esperado). Se o número de sequência não for uma corres-
permitiu realizar uma exploração do TCP fora do caminho pondência exata, mas ainda estiver na janela, o host não
em sisten1as Linux bastante utilizados. Eles descreveram descarta a conexão, 1nas envia un1 ACK de desafio. Se o
seu ataque e1n um artigo intitulado "Off-Path TCP Exploits: ren1etente for legítimo, ele enviará um pacote RST com
Global Rate Limited Considered Dangerous" (Explorações o número de sequência correto.
do TCP Fora do Caminho: Limjte da Taxa Global Conside- Por fin1, para segmentos de dados, o estilo antigo do
rada Perigosa), que é urn título muito adequado, corno vere- TCP realiza duas verificações. Primeiro, ele verifica o núme-
mos. Discutimos isso aqui porque ilustra quais informações ro da sequência. Se estiver na janela, ele também confere o
secretas às vezes podem vazar de forma indireta. número de confmnação. Ele considera os nútneros de confir-
Ironicamente, o ataque foi possibilitado por um novo mação válidos, desde que caiam e1n urn (enonne) intervalo.
recurso que deveria tornar o sistema mais seguro, e não o Vamos indicar os números de sequência do prin1eiro byte
contrário. Lembre-se de que dissemos que as injeções de não confinnado com FUB e o número de sequência do próxi-
dados fora do caminho erarn muito difíceis porque o inva- mo byte a ser enviado por NEXT. Todos os pacotes co1n nú-
sor tinha que descobrir os números de porta e os nú1neros meros de confirmação em [FUB - 2GB, NEXTJ são válidos,
de sequência, e acertar com u1n ataque por força bruta é ou 1netade do espaço de nún1eros do ACK. Isso é fáci l para
improvável. Ainda assim, você pode acertar. Especialmen- um invasor acertar! Além disso, se o número de conflfmação
te porque não é preciso netn mesmo obter o número de também estiver na janela, ele processará os dados e avançará
sequência exatamente correto, contanto que os dados que a janela da forma normal. Em vez disso, a RFC 5961 diz que,
você envia esteja1n "na janela". Isso significa que, com al- e1nbora deva1nos aceitar pacotes com números de confirma-
guma (pequena) probabilidade, os invasores podem rede- ção que estão (aproxünadamente) na janela, devemos enviar
finir ou injetar dados nas conexões existentes. Em agosto ACKs de desafio para aqueles pacotes que estão na janela
de 2010, uma nova extensão do TCP apareceu na forma da [FUB - 2GB, FUB - MAXWJN], onde MAXWIN é a maior
RFC 5961 para solucionar esse problerna. janela já anunciada pelo peer.
Capítulo 8 • Segurança de redes 483

Os projetistas da extensão do protocolo reconheceram ben1 parecida. Para o nú1nero de sequência, os invasores
rapidamente que isso poderia levar a um grande número de enviam novamente 100 pacotes RST legítimos (estimulan-
ACKs de desafio e propusera1n a limitação do ACK co1no do o servidor a enviar ACKs de desafio) e um pacote RST
uma solução. Na implementação do Linux, isso signifi- falsificado adicional com os endereços IP corretos e os nú-
cou que ele enviaria no 1náximo 100 ACKs de desafio por n1eros de porta agora conhecidos, be1n co1no um nú1nero
segundo, e1n todas as conexões. En1 outras palavras, uma de sequência adivinhado. Se o número escolhido estiver
variável global compartilhada por todas as conexões con- dentro da janela, estamos no cenário 2. Assim, contando os
trolava quantos ACKs de desafio eram enviados e, se o con- ACKs de desafio que os invasores recebem, eles podem de-
tador chegasse a l 00, não enviaria mais ACKs de desafio tenninar se a esti1nativa foi correta.
para aquele intervalo de um segundo, independentemente Por fim, para o nún1ero de confirmação eles enviam,
do que acontecesse. alé1n dos 100 pacotes RST, um pacote de dados com todos
Tudo isso parece bo1n, 1nas há un1 problen1a. U1na úni- os campos preenchidos co1Tetamente, mas com tnna supo-
ca variável global representa o estado co1npartilhado que sição para o número de confirmação, e aplicam o n1es1no
pode servir como um canal de ataques inteligentes. Veja- truque. Agora, os invasores têm todas as informações de
mos o primeiro obstáculo que os invasores devem superar: que precisam para reiniciar a conexão ou injetar dados.
as duas partes estão se comunicando? Lembre-se de que um O ataque TCP fora do caminho é un1a boa ilustração
ACK de desafio é enviado em três cenários: de três coisas. Em primeiro lugar, 1nostra como os ataques
de rede pode1n ser co1nplicados. Em segundo lugar, é um
1. Um segmento SYN possui os endereços IP de origem
excelente exemplo de ataque do canal lateral baseado e1n
e de destino e os nú1neros de porta corretos, indepen- rede, que vazam infonnações importantes de fonna indire-
dentemente do nún1ero de sequência.
ta. Nesse caso, os invasores descobrira1n todos os detalhes
2. Um segmento RST em que o número de sequência da conexão contando algo que não parece estar muito rela-
está na janela. cionado. E1n terceiro lugar, o ataque mostra que o estado
3. Um segmento de dados onde, alé1n disso, o número de con1partilhado global é o problema central de tais ataques
confirmação está na janela de desafio. de canal lateral. Vulnerabilidades do canal lateral aparecem
em todos os lugares, tanto no software quanto no hardware,
Digamos que os invasores desejam saber se um usuá- e em todos os casos, a causa raiz é o co1npartilhamento
rio em 130.37.20.7 está falando com um servidor Web (por- de algum recurso importante. Claro, nós já sabían1os dis-
ta de destino 80) em 37.60.194.64. Como os invasores não so, pois é uma violação do princípio geral do mecanismo
precisam obter o número de sequência correto, eles preci- menos comum de Saltzer e Schroeder, que discutimos no
sam apenas descobrir o nú1nero da porta de origem. Para início deste capítulo. Do ponto de vista da segurança, é bom
isso, eles estabelecen1 sua própria conexão co1n o servidor lembrar que muitas vezes compa1tilbar não é cuidar!
Web e envian1 100 pacotes RST em rápida sucessão, que
Antes de passarmos para o próximo tópico (interrup-
em resposta o servidor envia 100 ACKs de desafio, a me-
ção e negação de serviço), é bom saber que a injeção de
nos que já tenha enviado alguns ACKs de desafio, e nesse
dados não é boa apenas na teoria, ela é usada ativa1nente na
caso enviaria 1nenos. No entanto, isso é bastante imprová- prática. Após as revelações de Edward Snowden em 2013,
vel. Além dos 100 RSTs, os invasores enviam um segmento ficou claro que a National Security Agency (NSA) condu-
SYN falsificado, fingindo ser o cliente en1 130.3 7.20. 7, com zia uma operação de vigilância em massa. Uma de suas ati-
um nú1nero de porta adivinhado. Se a escolha do número
vidades era o Quantum, um ataque de rede sofisticado que
estiver errada, nada acontecerá e os invasores ainda recebe- usava injeção de pacotes para redirecionar usuários-alvo
rão os 100 ACKs de desafio. No entanto, se eles acertaram que se conectavam a serviços populares (como Twitter,
na escolha do número da porta, cbegatnos ao cenário (1), Grnail ou Facebook) para servidores especiais que então
onde o servidor envia um ACK de desafio para o cliente invadiam os cornputadores das vítimas para dar à NSA con-
legítimo. Mas, uma vez que o servidor só pode enviar 100 trole completo. A NSA nega tudo, é claro. Ela quase nega
ACKs de desafio por segundo, isso significa que os invaso- até mesmo sua própria existência. Uma piada do setor diz:
res recebem apenas 99. Em outras palavras, contando o nú-
mero de ACKs de desafio, os invasores podem determinar P: O que significa NSA?
não apenas que os dois hosts estão se comunicando, 1nas até R: No Such Agency (não existe tal agência).
mesmo o número (oculto) da porta de orige1n do cliente.
Claro, você precisa de algu1nas tentativas para acertar, mas
isso definitivamente pode ser feito. Além disso, existem vá-
rias técnicas para tomar isso 1nais eficiente.
8.2.4 Interrupção
Assim que os invasores tiverem o nú1nero da porta, Os ataques à disponibilidade são conhecidos como ataques
eles poderão passar para a próxitna fase do ataque: desco- de "negação de serviço". Eles ocorrem quando uma vítima
brir os números de sequência e de confirmação. A ideia é recebe dados que não pode tratar e, como resultado, deixa
484 Redes de computadores

de responder. Existem vários motivos pelos quais uma má- uma conexão até receber o terceiro pacote no handshake de
quina pode parar de responder: três vias. Lembre-se de que um nú1nero de sequência tem
32 bits de extensão. Com os cookies SYN, o servidor escolhe
1. Falhas. O invasor envia conteúdo que faz a vítima fa-
o núrnero de sequência inicial da seguinte forma:
lhar ou travar. Um exemplo de tal ataque foi o ping da
1norte, que discutitnos anterionuente. 1. Os 5 bits iniciais são o valor de t rnódulo 32, onde t é
2. Complexidade algorítmica. O invasor envia dados um temporizador de incremento lento (p. ex., un1 tem-
que são criados especificamente para criar muita so- porizador que aumenta a cada 64 segundos).
brecarga (algorítmica) . Suponha que um servidor 2. Os 3 bits seguintes são uma codificação do MSS
permita que os clientes enviem consultas que geram (tamanho máximo do segmento), fornecendo oito va-
1nuita pesquisa. Nesse caso, urn ataque de cornplexi- lores possíveis.
dade algorítinica pode consistir em várias expressões 3. Os 24 bits restantes são o valor de urn hash criptográ-
regulares complicadas, que exigem tempo, sendo o fico sobre o registro de tempo t, os endereços IP de
pior cenário para o servidor. orige1n e de destino, e os números de porta.
3. Inundação/alagamento. O invasor bombardeia a
vítima com uma enxun·ada de solicitações ou respos- A vantagem desse número de sequência é que o ser-
tas que o pobre sistema não consegue aco1npanhar. vidor pode sitnplesmente inseri-lo em um SYN/ACK e es-
Frequentemente, mas não sempre, a vítima acaba quecê-lo. Se o handshake nunca for concluído, não haverá
falhando. problen1a algum. Se o handsbake for concluído, contendo
seu próprio nú1nero de sequência mais um na confirmação,
Ataques de inundação tornaram-se u1na grande dor de o servidor poderá reconstruir todo o estado necessário para
cabeça para as organizações porque, atualmente, é muito estabelecer a conexão. Prlineiro, ele verifica se o hasb crip-
fácil e barato realizar ataques DoS e1n grande escala. Por tográfico corresponde a u1n valor recente de te, ern seguida,
alguns dólares ou euros, você pode alugar um botnet con1- reconstrói rapidamente a enn·ada da fila de SYN usando o
posto por 1nilhares de máquinas para atacar qualquer ende- MSS codificado nos 3 bits. Embora os cookies SYN penni-
reço que desejar. Se os dados do ataque forern enviados de ta1n apenas oito tamanhos de segmento diferentes e faça1n o
um grande número de 1náquinas distribuídas, nos referimos núrnero de sequência crescer mais rápido do que o oonnal,
a ele como u1n ataque disn·ibuído de negação de serviço, na prática, o impacto é n1íni1no. O que é particularmente in-
ou DDoS (Distributed Denial-of-Service). Serviços espe- teressante é que o esquerna é cornpatível corn o TCP nonnal
cializados na Internet, conhecidos como booters ou stres- e não exige que o cliente suporte a mesma extensão.
sers, oferecem interfaces a1nigáveis para ajudar até n1esn10 Claro, ainda é possível lançar um ataque de DDoS
usuários não técnicos a iniciá-los. mes1no na presença de cookies SYN, con1pletando o hand-
shake, mas isso é mais caro para os invasores Gá que suas
Inundação de SVN próprias máquinas também têm limites para as conexões
Antigamente, os ataques DDoS eram bastante sin1ples. Por TCP abertas) e, mais itnportante, evita ataques de TCP com
exen1plo, você usaria um grande número de 1náquinas in- endereços IP forjados.
vadidas para lançar um ataque de inundação de SYN. To-
das essas máquit1as enviariam segtnentos TCP SYN para o Reflexão e amplificação em ataques de DDoS
servidor, 1nuitas vezes falsificados para fazer parecer que
No entanto, os ataques de DDoS baseados em TCP não são
vieran1 de rnáquinas diferentes. Enquanto o servidor res-
o único jogo nas redondezas. Nos últitnos anos, mais e mais
pondia com um SYN/ACK, ninguém co1npletava o han-
ataques de DDoS em grande escala usaram o UDP co1no
dshake TCP, deixando o servidor suspenso. Isso é muito
protocolo de transporte. A falsificação de pacotes UDP
caro. Um host só consegue rnanter um núruero lirnitado de
normalmente é fácil. Alé1n disso, com o UDP, é possível
conexões no estado semiaberto. Depois disso, ele não acei-
enganar servidores legítimos na Internet que lancem os
ta mais novas conexões.
charnados ataques por reflexão sobre uma vítima. Em un1
Existem muitas soluções para ataques de inundação de
ataque por reflexão, o invasor envia uma solicitação co1n
SYN. Por exen1plo, podemos siinplesmente descartar cone-
um endereço de origem fals ificado para um serviço UDP
xões serniabertas quando atingirmos um limite para dar pre-
legítimo, por exetnp lo, um servidor de nomes, o qual res-
ferência a novas conexões ou reduzir o ten1po lin1ite para
ponderá ao endereço falsificado. Se fizennos isso a partir
recebimento do SYN. Uma solução elegante e muito sim-
de um grande número de servidores, o dilúvio de pacotes
ples, aceita por muitos sistemas atuais, atende pelo nome de
de resposta UDP provaveln1ente derrubará a vítirna. Os ata-
cookies SYN, também brevemente discutida no Capítulo 6.
ques por reflexão têrn duas vantagens principais.
Os sisternas protegidos com cookies SYN usam un1 algorit-
mo especial para determinar o número de sequência inicial 1. Ao acrescentar o nível extra de indireção, o invasor
de forma que o servidor não precise se lembrar de nada sobre toma dificil para a vítima bloquear os transmissores
Capítulo 8 • Segurança de redes 485

en1 algum lugar da rede (afinal, os trans1nissores são de entrada, por 1neio da qual um dispositivo de rede filtra
todos servidores legítimos). todo o tráfego que chega com endereços IP internos.
2. Muitos serviços podem a1nplijicar o ataque, enviando Outra 1nedida que podemos tomar é testar e absorver
grandes respostas a pequenas solicitações. o ataque de DDoS co1n capacidade de reserva. Fazer isso
é caro e pode ser inviável individualmente, exceto para os
Esses ataques de DDoS baseados em a1nplificação fo-
grandões. Felizmente, não há razão para fazer isso de nla-
ra1n responsáveis por alguns dos maiores volumes de tráfe-
neira individual. Ao reunir recursos que podem ser usados
go de ataques de DDoS da história, alcançando faciln1ente a
por muitas partes, até mesmo os pequenos podem conseguir
faixa de Terabits por segundo. O que o invasor precisa fazer
proteção contra o DDoS. Assim co1no nos seguros, pressu-
para gerar um ataque por amplificação bem-sucedido é pro-
põe-se que nem todos serão atacados ao 1nesmo tempo.
curar serviços acessíveis ao público co1n u1n grande fator
de an1plificação. Por exe1nplo, onde un1 pequeno pacote de Então, que seguro você deseja? Várias organizações se
solicitação se torna un1 grande pacote de resposta ou, n1e- oferecem para proteger seu site por meio de proteção con-
lhor ainda, vários grandes pacotes de resposta. O fator de tra DDoS baseada em nuvem, que usa a força da nuvem
amplificação de bytes representa o ganho relativo em bytes, para aumentar a capacidade conforme e quando necessário,
enquanto o fator de amplificação de pacotes representa o para blindar os ataques de DoS. Em sua essência, a defesa
ganho relativo en1 pacotes. A Figura 8.7 mostra os fatores consiste na blindagem da nuve1n e até mesmo na ocultação
de amplificação para vários protocolos populares. Embora do endereço IP do servidor real. Todas as solicitações são
esses números possam parecer itnpressionantes, é bo1n lem- enviadas para proxies na nuve1n, que filtra1n o tráfego mali-
brar que se trata de médias e os servidores individuais po- cioso da mell1or 1naneira possível (embora fazer isso possa
de1n ter valores ainda maiores. Curiosa1nente, o DNSSEC, o não ser tão fác il para ataques avançados) e enca1ninham as
protocolo que se destina a co1Tigir os problemas de seguran- solicitações inofensivas para o servidor real. Se o nú1nero
ça do DNS, tem um fator de amplificação 111uito maior do de solicitações ou a quantidade de tráfego para u1n servidor
que o DNS si1nples, ultrapassando 100 para alguns servido- específico aumentar, a nuve1n alocará 1nais recursos para
res. Para não ficar para trás, servidores nzerncached (bancos lidar com esses pacotes. Em outras palavras, a nuvem "ab-
de dados rápidos na memória) n1al configurados registraram sorve" a enxurrada de dados. Nonnahnente, ela ta1nbém
um fator de amplificação bem superior a 50.000 durante um pode operar como u1n scrubber (escovão) para higienizar
ataque por amplificação pesado de 1,7 Tbps em 2018. os dados. Por exemplo, ela pode remover segn1entos TCP
sobrepostos ou combinações estranhas de flags TCP e ser-
vir co1no u1n firewall de aplicação Web, ou WAF (Web Ap-
Defesa contra ataques de DDoS plication Fire,vall).
Defender-se contra esses enormes fluxos de tráfego não é Para repassar o tráfego por meio de proxies baseados
fácil , rnas existem várias estratégias. Uma técnica muito em nuvem, os proprietários de sites podem escolher entre
sunples é bloquear o tráfego próxi1no à origetn. A manei- várias opções, com diferentes preços. Se eles puderem pa-
ra mais comum de fazer isso é usando uma técnica cha- gar, pode1n optar pelo blackholing BGP. Nesse caso, presu-
mada filtragem de saída, em que um dispositivo de rede, me-se que o proprietário do site controle um bloco de ende-
como um firewall, bloqueia todos os pacotes de saída cujos reços /24 inteiro ( 16. 777 .216). A ideia é que o proprietário
endereços lP de origem não correspondem aos de dentro si1nplesmente retire os anúncios do BGP para esse bloco dos
da rede em que está conectado. Isso, é claro, requer que seus próprios roteadores. Etn vez disso, o provedor de segu-
o firewall saiba quais pacotes podem chegar con1 un1 en- rança baseado em nuvem co1neça a anunciar esse IP de sua
dereço IP de origem específico, o que nonnalmente só é própria rede, de modo que todo o tráfego para o servidor vá
possível na extretuidade da rede; por exemplo, uma rede de primeiro para a nuvem. No entanto, nem todo mundo tem
universidade pode conhecer todos os intervalos de endere- blocos de rede inteiros para brincar ou pode arcar com o
ços IP na rede do seu campus e, assim, bloquear o tráfego custo de rerroteamento do BGP. Assi1n, existe a opção mais
de saída de qualquer endereço IP que não seja de sua pro- econônlica de usar o rerroteamento DNS. Nesse caso, os
priedade. A contraparte da filtragem de saída é a filtragem administradores do site altera1n os 1napeamentos de DNS

Protocolo Amplificação de bytes Amplificação de pacotes


NTP 556,9 3,8
DNS 54,6 2,1
BitTorrent 3,8 1,6

Figura 8.7 Fatores de amplificação para alguns protocolos populares.


486 Redes de computadores

em seus servidores de nomes para apontar para servidores e consu1nir muito ten1po dos administradores que tentam
na nuvem, em vez do servidor real. De qualquer forma, os eliminar a confusão causada por eles. Com frequência, eles
visitantes enviarão seus pacotes primeiro para os proxies são trazidos por funcionários descuidados que querem brin-
pertencentes ao provedor de segurança baseado ern nuvem, car com algu1n jogo novo muito divertido.
e esses proxies baseados ern nuvem posteriormente encami- Etn consequência disso, são necessários mecanis-
nharão os pacotes para o servidor real. n1os para n1anter os "bons" bits e descartar os "rnaus" bits.
O redirecionarnento de DNS é tnais fácil de irnple- Um dos métodos é usar a criptografia, que protege os dados
mentar, mas as garantias de segurança do provedor de se- em trânsito entre sites seguros. No entanto, ela não faz nada
gurança baseado em nuvem só serão fortes se o endereço para impedir as pragas digitais nem os intrusos de invadir
IP real do servidor pennanecer oculto. Se os invasores con- a LAN da empresa. Para ver como alcançar esse objetivo,
seguirem obter esse endereço, eJe.s podem contornar a nu- precisarnos examinar os fuewalls.
vem e atacar o servidor diretamente. Infelizmente, existem
muitas rnaneiras pelas quais esse endereço IP pode vazar.
Como o FTP, algurnas aplicações Web envian1 o endereço 8.3.1 Firewalls
IP para o parceiro remoto junto com os dados, portanto, não Os firewall s são apenas uma adaptação moderna de uma
há rnuito o que se possa fazer nesses casos. Co1no alterna- antiga forma de segurança rnedieval: cavar um fosso pro-
tiva, os invasores poden1 examinar os dados históricos do fundo en1 torno do castelo. Esse recurso forçava todos
DNS para ver quais endereços IP foran1 registrados para aqueles que quisessem entrar ou sair do castelo a passar por
o servidor no passado. Várias en1presas coletam e vendem uma única ponte levadiça, onde poderiam ser revistados
esses dados históricos do DNS. por guardas. Nas redes, é possível usar o n1esmo artificio:
uma ernpresa pode ter 1nuitas LANs conectadas de forma
arbitrária, mas todo o tráfego de saída ou de entrada é feito
através de urna ponte levadiça eletrônica (o firewall), como
8.3 FIREWALLS E SISTEMAS DE nlostra a Figura 8.8. Não existe outra rota.
DETECÇÃO DE INTRUSÃO O f1rewall atua como um filtro de pacotes. Ele inspe-
ciona todo e qualquer pacote que entra e que sai. Os pacotes
A capacidade de conectar um computador em qualquer lu- que atenderem a algum critério descrito nas regras formula-
gar a outro computador em qualquer lugar é uma faca de das pelo administrador da rede são encaminhados normal-
dois gumes. Para as pessoas que estão ern casa, é rnuito di- mente, rnas os que falharem no teste serão descartados sem
vertido navegar pela Internet. Para os gerentes de seguran- -
. .
cerunonra.
ça das ernpresas, trata-se de utn pesadelo. Muitas etnpre- O critério de filtragern normaltnente é dado como re-
sas têm grandes quantidades de infor1nações confidenciais gras ou ern tabelas que listarn as origens e os destinos acei-
on-line - segredos comerciais, planos de desenvolvimento táveis, as origens ou destinos bloqueados e as regras padrão
de produtos, estratégias de marketing, análises financeiras, que orientam o que deve ser feito com os pacotes recebidos
registros de impostos, etc. A revelação dessas informações de outras 1náquinas ou destinados a elas. No caso comum
para urn concorrente poderia ter consequências terríveis. de uma configuração TCP/IP, urna origern ou destino con-
Além do perigo das infom1ações virern a público, siste ern urna porta e um endereço IP. As portas indicam
tambén1 há o perigo do vazamento dessas informações den- qual é o serviço desejado. Por exemplo, a porta 25 do TCP
tro da empresa. Em particular, vírus, worms e outras pestes é para correio eletrônico, a porta 80 é para HTTP. Algumas
digitais podem burlar a segurança, destruir dados valiosos portas podem sirnplesrnente ser bloqueadas. Por exemplo,

Rede interna Zona desmilitarizada Exterior

Internet

Firewall

Perímetro de - -- i Servidor Servidor


segurança Web de e-mail

Figura 8.8 Um firewall protegendo uma rede interna.


Capítulo 8 • Segurança de redes 487

u1na e1npresa poderia bloquear os pacotes recebidos e1n Como a discussão anterior deve deixar claro, os fi-
relação a todos os endereços IP combinados co1n a porta rewalls viola1n a disposição de can1adas do padrão de
79 do TCP. Antigamente, era comu111 usar o serviço Finger protocolos. Eles são dispositivos da ca1nada de rede, mas,
para procurar os endereços de e-mail das pessoas, 1nas qua- para realizar sua filtragem, examinam as ca1nadas de trans-
se não é 1nais usado atualmente, devido ao seu papel em tun porte e de aplicação. Isso os torna frágeis. Por exemplo,
ataque (acidental) agora infa1ne na Internet, em 1988. os firewalls costumam contar com as convenções padrão
Outras portas não são bloqueadas con1 tanta facilida- de numeração de porta para detenninar o tipo de tráfego
de. A dificuldade é que os administradores da rede desejam transportado em un1 pacote. As portas padrão nonnalmente
segurança, mas não podem cortar a comunicação com o são usadas, mas não por todos os computadores nem por
mundo exterior. Esse esquema seria muito mais simples e todas as aplicações. Algu1nas aplicações peer-to-peer sele-
melhor para a segurança, 1nas haveria infinitas reclamações cionam po1tas dina1nicamente, para evitar que sejam facil -
por parte dos usuários. É para isso que existem esquemas n1ente localizadas (e bloqueadas). Alé1n do mais, a cripto-
como a zona desmilitarizada, ou DMZ (DeMilitarized grafia esconde do firewall as informações da camada mais
Zone), mostrada na Figura 8.8. A DMZ é a parte da rede alta. Finalmente, um firewall não pode falar prontamente
da empresa que se encontra fora do perímetro de seguran- com os co1nputadores que se comunicam através dele para
ça. Tudo passa por ali. Colocando uma 1náquina como um informar quais diretrizes estão sendo aplicadas e por que
servidor Web na DMZ, os con1putadores na Internet podem sua conexão está sendo descartada. Ele deve simplesmente
fazer contato com ela para navegar pelo website da en1pre- fingir ser um fio partido. Por todas essas razões, os que se
sa. Agora, o firewall pode ser configurado para impedir o preocupam co1n a pureza das redes considera1n os firewalls
tráfego TCP que entra na porta 80, para que os computa- uma 1nancha na arquitetura da Internet. Contudo, a Inter-
dores na Internet não possam usá-la para atacar os co1npu- net pode ser um local perigoso se você é u1n co1nputador.
tadores na rede interna. Para pennitir que o servidor seja Os firewalls ajudam nesse aspecto, e por isso provavelmen-
admin istrado, o firewall pode ter uma regra para assegurar te permanecerão.
conexões entre as 1náquinas internas e o servidor Web. Mesmo que o firewall esteja perfeita1nente confi-
Os firewalls se ton1aram muito mais sofisticados com gurado, ainda existe1n vários problemas de segurança.
o tempo, em u1na corrida contra os invasores. Original- Por exemplo, se um firewall estiver configurado para
mente, os firewalls aplicava1n u1n conjunto de regras inde- pennitir apenas a entrada de pacotes de redes específicas
pendentes para cada pacote, 1nas se tomou difici 1escrever (p. ex., outras instalações da e1npresa), u1n intruso fora
regras que permitissem a funcionalidade e impedissem do firewall pode inserir fa lsos endereços de orige1n para
todo o tráfego indesejado. Firewalls em estado de cone- ultrapassar essa verificação. Se un1 usuário interno quiser
xão n1apeiam os pacotes às conexões e usam campos do transportar docu1nentos secretos para fora da en1presa, ele
cabeçalho TCP/IP para registrar as conexões. Isso permi- poderá codificar ou até rnesmo fotografar os documen-
te o uso de regras que, por exemplo, possibilitam que um tos e transportar as fotografias como arquivos JPEG, que
servidor Web externo envie pacotes para um host interno, conseguirão passar por quaisquer filtros de correio. Não
mas somente se o bost interno primeiro estabelecer uma discutimos nem mesmo o fato de que, embora três quar-
conexão co1n o servidor Web externo. Essa regra não é tos de todos os ataques venham de fora do firewall, os
possível em redes que não 1nantên1 o estado das conexões, ataques que vêm de dentro do firewall (p. ex., de funcio-
que precisam passar ou descartar todos os pacotes vindos nários insatisfeitos) nonnalmente são os n1ais perigosos
do servidor Web externo. (Verizon, 2009).
Outro nível de sofisticação possível com o processa- U1n problema diferente co1n os firewalls é que eles
mento e1n estado de conexão é que o firewall imple1nen- oferecem um único perí1netro de defesa. Se essa defesa for
te gate,vays em nível de aplicação. Esse processa1nento ro111pida, tudo estará perdido. Por esse rnotivo, eles costu-
envolve o firewa ll examinando dentro dos pacotes, mes1no mam ser usados em uma defesa em can1adas. Por exemplo,
além do cabeçalho TCP, para ver o que a aplicação está fa- um firewall pode proteger a entrada para a rede interna e
zendo. Com essa capacidade, é possível distinguir entre o cada computador também pode ter seu próprio firewall.
tráfego HTTP usado para navegação Web e o tráfego HTTP Os leitores que achare1n que u1n ponto de verificação de
usado para compartilhamento de arqu ivos peer-to-peer. segurança é suficiente certamente não fizeram nenhu1n
Os administradores podem escrever regras para livrar a em- voo internacional em uma co1npanhia aérea recentemente.
presa do co1npartitbamento de arquivos peer-to-peer, mas Co1no resultado, 1nuitas redes têm vários níveis de firewall,
pennitir a navegação Web, que é vital para os negócios. até chegando aos firewall s para cada host - um exemplo
Para todos esses métodos, o tráfego de saída pode ser ins- simples de defesa em profundidade. Basta dizer que, tanto
pecionado assim como o tráfego de entrada, por exemplo, nos aeroportos quanto nas redes de computadores, se os in-
para iinpedir que documentos confidenciais sejam remeti- vasores tiverem que comprometer várias defesas indepen-
dos para fora da empresa por correio eletrônico. dentes, é muito mais dificil quebrar o sistema inteiro.
488 Redes de computadores

8.3.2 Detecção e prevenção de intrusão Outro problen1a co1n o NIDS é a criptografia. Se os


bytes da rede não forem mais decifráveis, será 1nuito mais
Além de firewalls e scrubbers, os administradores de rede dificil para o IDS determinar se eles são maliciosos. Este
podem itnplantar uma série de outras medidas defensivas, é outro exemplo de urna 1nedida de segurança (criptogra-
como sistemas de detecção e de prevenção de intrusão, que fia) que reduz a proteção oferecida por outra (IDS). Como
descreveremos rapidamente. Como o nome indica, a função alternativa, os administradores podem fornecer ao IDS as
de u1n siste1na de detecção de intrusão, ou IDS (lntrusion chaves de criptografia para o NIDS. Isso funciona, 1nas não
Detection System) é detectar ataques - de preferência, an- é o ideal, pois cria outras dores de cabeça no gerenciamento
tes que eles possam causar algum dano. Por exemplo, eles de chaves. Alé1n disso, observe que o IDS vê todo o tráfe-
podem gerar avisos logo no início, no começo de um ata- go da rede e geralmente conté1n 1nuitas linhas de código.
que, quando observa a varredura de porta ou um ataque de E1n outras palavras, ele pode ser um alvo muito atraente
senha ssh por força bruta (em que u1n invasor simplesmen- para os invasores. Quebre o IDS e você terá acesso a todo
te tenta várias senhas populares para tentar fazer o login) o tráfego da rede!
ou quando o lDS encontra a assinatura da última e maior As desvantagens de um IDS baseado em host são que
exploração em uma conexão TCP. No entanto, ele tam- ele usa os recursos de cada 1náquina em que é executado e
bém pode detectar ataques apenas em um estágio posterior, vê apenas u1na pequena fração dos eventos na rede. Con-
quando un1 sistema já foi comprometido e agora exibe um tudo, ele não sofre tanto com problemas de evasão, já que
comportan1ento incomum. pode verificar o tráfego depois de ter sido remontado pela
Podemos categorizar os sistemas de detecção de intru- própria pilha de rede da máquina que está tentando prote-
são considerando onde eles funcionam e corno funcionam. ger. Alén1 disso, em casos como o IPsec, en1 que os pacotes
Um HIDS (Host-based IDS) atua no próprio ponto da ex- são criptografados e descriptogi·afados na ca1nada de rede,
tremidade, diga1nos un1 notebook ou servidor, e verifica, o IDS pode verificar os dados após a descriptografia.
por exemplo, o co1nporta1nento do software ou o tráfego Além das diferentes localizações de um JDS, ta1nbém
de rede de e para u1n servidor Web apenas nessa máquina. podemos escolher co1no ele determina se algo representa
Por sua vez, um NIDS (Network IDS) verifica o tráfego de unia ameaça. Existem duas categorias principais. Os sis-
um conjunto de máquinas na rede. A1nbos têm vantagens e temas de detecção de intrusão baseados em assinatura
desvantagens. usam padrões em termos de bytes ou sequências de pacotes
Um NIDS é atraente porque protege nluitas n1áqui- que são sintomas de ataques conhecidos. Se você souber
nas, con1 a capacidade de correlacionar eventos associados que um pacote UDP para a porta 53 com LO bytes especí-
a diferentes hosts, e não consome recursos das máquinas ficos no início da carga útil faz parte de uma exploração E,
que protege. Em outras palavras, o IDS não te1n impacto un1 IDS pode facihnente fazer a va1Tedura do tráfego de
sobre o desen1penho das máquinas em seu don1ínio de pro- rede para esse padrão e disparar um alerta quando detectá-
teção. Contudo, é dificil lidar con1 problemas específicos -lo. O alerta é específico: ("Detectei E") e tem uma alta
do sistema. Como exemplo, suponha que uma conexão confiança ("Eu sei que é E"). No entanto, com u1n lDS ba-
TCP contenha seginentos TCP sobrepostos: o pacote A con- seado em assinatura, você detecta apenas ameaças conhe-
té1n os bytes 1- 200 enquanto o pacote B contém os bytes cidas e para as quais u1na assinatura está disponível. Como
100- 300. Claramente, há sobreposição entre os bytes nas alternativa, um IDS pode disparar um alerta se detectar
cargas úteis. Suponhamos também que os bytes na região um comportamento il1co111u1n. Por exemplo, um computa-
de sobreposição sejam diferentes. O que o IDS deve fazer? dor que normalmente só troca tráfego SMTP e DNS com
A verdadeira questão é: quais bytes serão usados pelo alguns endereços IP, de repente começa a enviar tráfego
host receptor? Se o host usar os bytes do pacote A, o IDS HTTP para n1uitos endereços IP completamente desconhe-
deve verificar se há conteúdo malicioso nesses bytes e ig- cidos e fora da rede local. Um lDS pode classificar isso
norar os do pacote B. No entanto, e se o host usar os bytes corno suspeito. U1na vez que tais sistemas de detecção de
do pacote B? E se alguns hosts na rede pegassem os bytes intrusão baseados em anomalias, ou sistemas de detecção
do pacote A e outros to1nassem os bytes do pacote B? Mes- de anomalias, para abreviar, acionam e1n qualquer compor-
mo que os hosts seja1n todos iguais e o IDS saiba co1no tamento anormal, eles são capazes de detectar novos ata-
eles remontam os fluxos TCP, ainda pode haver dificulda- ques, bem como os antigos. A desvantagem é que os alertas
des. Suponha que todos os hosts normalmente apanhem os não traze1n 1nuitas explicações. Ouvir que "algo incomum
bytes do pacote A. Se o IDS exan1inar esse pacote, ainda aconteceu na rede" é muito menos específico e n1uito me-
estará errado se o seu destino estiver a dois ou três hops nos útil do que descobrir que "a câmera de segurança no
na rede, e o valor do TTL no pacote A for 1, de modo que portão agora está sendo atacada pelo malware Hajime".
ele nem chega ao seu destino. Os truques que os invasores Um IPS (Intrusion Prevention System) deverá não
usam com o TTL ou com intervalos de bytes sobrepostos apenas detectar o ataque, mas também interrompê-lo. Nes-
em fraginentos IP ou seginentos TCP são chamados de téc- se sentido, ele se cornporta como um firelvaU sofisticado.
nicas de evasão de IDS. Por exemplo, quando o IPS vê um pacote com a assinatura
Capítulo 8 • Segurança de redes 489

do Haji1ne, ele pode de1i-ubá-lo en1 vez de permitir que ele à introduzida por Stefan Axelsson em un1 influente artigo
alcance a câmera de segurança. Para fazer isso, o IPS deve que explica por que a detecção de intrusão é dificil (Axels-
ficar no caminho em direção ao alvo e tomar decisões sobre son, 1999). Suponha que haja un1a doença que afete l e1n
aceitar ou descartar o tráfego "e1n tempo real". Ao contrá- 100.000 pessoas na prática. Qualquer pessoa diagnosticada
rio, u1n IDS pode residir e1n outro lugar na rede, desde que co1n a doença morre em um n1ês. Felizmente, existe um óti-
espelhe1nos todo o tráfego para que ele o veja. Agora você mo teste para ver se alguém está infectado. O teste tem 99%
pode perguntar: por que se preocupar? Por que não simples- de precisão: se um paciente estiver doente (S) o teste será
mente implantar ucn IPS e acabar totalmente com as amea- positivo (na medicina um teste positivo é ruim!) em 99o/o
ças? Parte da resposta é o desempenho: o processan1ento dos casos, enquanto para pacientes saudáveis (H), o teste
no IDS detennina a velocidade da transferência de dados. será negativo (Neg) en1 99% dos casos. Um dia você faz o
Se você tiver muito pouco tempo, pode não conseguir ana- teste e, infe lizmente, o teste é positivo (ou seja, indica Pos).
lisar os dados muito profundamente. Mais importante do A pergunta de um milhão de dólares: o quanto isso é ruim?
que isso, e se você errar? Especificamente, e se o seu IPS Em outras palavras: você deveria se despedir de amigos e
decidir que un1a conexão conté1n um ataque e a descartar, fan1iliares, vender tudo o que possui e viver u1na (curta)
mesmo que ela seja benigna? Isso é niuito ruim se a cone- vida de devassidão pelos 30 dias restantes? Ou não?
xão for importante, por exemplo, quando seu negócio de- Para responder a essa pergunta, deven1os olhar para
pende dela. Pode ser melhor disparar um alerta e deixar al- a matemática. O que nos interessa é a probabilidade de
guém investigá-lo para decidir se reabnente era malicioso. você ter a doença, visto que seu teste foi positivo: P(SIPos).
Na verdade, é importante saber co1n que frequência O que sabemos é:
seu IDS ou JPS acerta. Se ele gerar muitos alertas falsos
(falsos positivos), você pode acabar gastando 111uito tem- P(PoslS) = 0,99
po e dinheiro procurando por eles. No entanto, se ele for P(NeglH) = 0,99
conservador e muitas vezes não emitir alertas quando ocor-
rem ataques (falsos negativos), os invasores ainda podem P(S) = 0,00001
compro1neter fac ilmente o seu sistema. O número de fal-
Para calcular P(SIPos), usamos o fa1noso teore1na de
sos positivos (f Ps) e falsos negativos (FNs) em relação
Bayes:
aos verdadeiros positivos (VPs) e verdadeiros negativos
(VNs) detennina a utilidade de sua proteção. Geralmente,
P(SIP ) = P(S)P(PoslS)
expressamos essas propriedades em termos de precisão e os P(Pos)
recuperação. A precisão representa uma métrica que in-
dica quantos alarmes que você gerou foram justificados.
Em nosso caso, existem apenas dois resultados possí-
En1 termos matetnáticos: P = VPI( VP + FP). A recuperação
veis para o teste e dois resultados possíveis para você ter a
indica quantos dos ataques reais você detectou: R = VP/
' doença. E1n outras palavras,
(VP + FN). As vezes, con1binan1os os dois valores no que
é conhecido como medida F: F = 2PRJ(P + R). Por fim, às P(Pos) = P(S)P(PoslS) + P(H)P(PoslH)
vezes estamos simplesmente interessados em quantas ve-
zes u1n LOS ou IPS acertou. Nesse caso, usamos a precisão onde P(H) = l - P(S) ,
como 1nétrica: A = ( VP + VN)ltotal. e P(PoslH) = l - .P(NegjH) , de modo que:
Embora seja sempre verdade que valores altos para re-
P(Pos) = P(S)P(PoslS) + (1 -P(S))(l - P(NeglH))
cuperação e alta precisão são melhores do que valores bai-
xos, o número de falsos negativos e falsos positivos costu- = 0,00001 * 0,99 + 0,99999 * 0,0 l
mam ser correlacionados de forma inversa: se um diminuir,
o outro autnentará. No entanto, a compensação para quais de modo que
são os intervalos aceitáveis varia de situação para situação.
Se você é o Pentágono, então deve se preocupar profunda- P( p )_ 0,00001 *O, 99
mente em não se comprometer. Nesse caso, você pode estar SI os - 0,00001 * O, 99 + 0,99999*O,O 1
disposto a perseguir 1nais alguns falsos positivos, desde que = 0,00098
não tenha muitos falsos negativos. Se, por outro lado, você
for tuna escola, as coisas podem ser 1nenos críticas e você Ou seja, a probabilidade de você ter a doença é infe-
pode optar por não gastar seu dinheiro co1n um administra- rior a O, 1%. Não é preciso entrar em pânico ainda. (A me-
dor que passa a maior parte de seus dias de trabalho anali- nos, é claro, que você tenha vendido prematuramente todos
sando alarmes falsos. os seus pertences a preço de banana.)
Há um último aspecto que precisamos explicar so- O que vemos aqui é que a probabilidade final é forte-
bre essas 1nétricas para que você aprecie a importância mente do1ninada pela taxa de falsos positivos P(PoslH) =
dos falsos positivos. Usare1nos u1na analogia se1nelhante 1 - P(NeglH) = 0,01. A razão é que o n(unero de incidentes
490 Redes de computadores

é tão pequeno (0,00001) que todos os outros tern1os na como ele foi eficaz. Os japoneses nunca conseguiram que-
equação dificilmente contam. Esse problema é conhecido brar o código e muitos índios navajos receberam altas hon-
como falácia da taxa básica. Se substituirmos "doente" ras 1nilitares por serviço e bravura extraordinários. O fato
por "sob ataque" e "teste positivo" por "alerta", vemos que de os Estados Unidos terem conseguido quebrar o código
a falácia da taxa básica é extrema1nente iinportante para japonês e os japoneses nunca teretn conseguido quebrar o
qualquer solução de IDS ou IPS. Isso motiva a necessidade código navajo desempenhou um papel crucial nas vitórias
de manter baixo o número de falsos positivos. norte-americanas no Pacífico.
Além dos princípios fundamentais da segurança de
Saltzer e Schroeder, muitas pessoas têm incluído outros
princípios, quase sempre muito práticos. Um particular- 8.4.1 Introdução à criptografia
mente útil para ser 1nencionado aqui é o princípio prag- Historicamente, quatro g1upos utilizaran1 e contribuíra1n
mático da defesa em profundidade. Frequenten1ente, é para a arte da criptografia: os militares, os diplomatas, as
uma boa ideia usar várias técnicas complernentares para pessoas que gostam de guardar n1emórias e os amantes.
proteger um sistema. Por exemplo, para impedir ataques, Entre eles, os 1nilitares tiveram o papel mais iinportante e
podernos usar um firewall e urn sisterna de detecção de in- deftniram as bases para a tecnologia durante séculos. Nas
trusão e urn antivírus. E1nbora nenhu1na 1nedida possa ser organizações militares, as mensagens a ser criptografadas
infalível por si só, a ideia é que é muito mais dificil contor-
eram entregues habituahnente a auxi liares mal remunera-
nar todas elas ao mesmo tempo.
dos, que se enca1Tegavam de criptografá-las e transmiti-las.
O grande volu1ne de 1nensagens iinpedia que esse trabalho
fosse feito por alguns poucos especialistas.
8.4 CRIPTOGRAFIA Até o surgimento dos computadores, uma das princi-
pais restrições impostas à criptografia era a habilidade do
A palavra criptografia vem de palavras gregas que signi- auxiliar de criptografia para fazer as transfonnações ne-
fican1 "escrita secreta". A criptografia ten1 uma longa e in- cessárias, em geral com poucos equipamentos e no campo
teressante história de milhares de anos. Nesta seção, vamos de batalha. Outra restrição era a dificuldade de alternar os
esquematizar alguns destaques, que serão usados como in- métodos criptográficos rapidamente, pois isso exigia a re-
formações básicas para o que ve1n a seguir. Se desejar tun petição do treinamento de um grande número de pessoas.
histórico co1npleto da criptografia, recon1endamos a leitura No entanto, o perigo de um auxiliar de criptografia ser cap-
do livro de Khan (1995). Para ver um tratamento completo turado pelo inimigo tornou indispensável a necessidade de
da segurança moderna e algoritrnos criptográficos, protoco- alterar o método criptográfico instantaneamente, se fosse
los, aplicações e material relacionado, consulte Kaufman et preciso. Essas necessidades conflitantes fizeran1 surgir o
ai. (2002). Para u1na abordage1n mais 1natemática, consulte modelo da Figura 8.9.
Kraft e Washington (2018). Se preferir un1a abordagen1 me- As mensagens a seren1 criptografadas, conhecidas
nos matemática, consulte Esposito (2018). como texto simples (ou plaintext), são transformadas por
Os profissionais fazem distinção entre cifras e códi- meio de uma função parametrizada por uma chave. Em se-
gos. Uma cifra é uma transformação de caractere porca- guida, a saída do processo de criptografia, conhecida como
ractere ou de bit por bit, sem levar em conta a estrutura texto cifrado (ou ciphe11ext), é transmitida, quase sempre
linguística da mensage1n. Em contrapartida, um código por tun n1ensageiro ou por rádio. Presumimos que o ini-
substitui uma palavra por outra palavra ou símbolo. Os có- migo, ou intruso, ouça e copie cuidadosa1nente o texto
digos não são mais utilizados, embora tenham uma história cifrado completo. No entanto, ao contrário do destinatário
gloriosa. pretendido, ele não conhece a chave para descriptografar
O código mais bem-sucedido já inventado foi usado o texto
,
e, portanto, não pode fazê-lo com 1nuita facilida-
pelo Corpo de Fuzileiros Navais dos Estados Unidos du- de. As vezes, o intruso pode não só escutar o que se passa
rante a Segunda Guerra Mundial, no Pacífico. Eles siin- no canal de comunicação (intruso passivo) como ta1nbém
plesmente tinham índios navajos que se con1unicavam uns gravar 1nensagens e reproduzi-las mais tarde, injetar suas
com os outros usando palavras em Navajo específicas para próprias ou modificar mensagens legítiinas antes que elas
tennos militares, co1no chay-dagahi-nail-tsaidi (literal- cheguem ao receptor (intruso ativo). A arte de solucionar
mente, 1natador de tartaruga) para indicar uma arma an- mensagens cifradas, conhecida como criptoanálise, e de
titanque. A linguage1n navajo é altamente tonal, extrema- criar 1nensagens cifradas (criptografia) é cha1nada coletiva-
mente complexa, e não te1n qualquer forma escrita. Além 1nente de criptologia.
disso, nem uma única pessoa no Japão conhecia alguma Con1 frequência, será úti l ter uma notação para estabe-
coisa sobre ela. Em setembro de 1945, o San Diego Union lecer uma relação entre o texto si1nples, o texto cifrado e as
publicou u1n artigo descrevendo o uso anteriormente se- chaves. Usaremos C = E1.,(P) para indicar que a criptografia
creto dos navajos para confundir os japoneses, informando do texto simples P usando a chave K gera o texto cifrado C.
Capítulo 8 • Segurança de redes 491

Intruso Intruso
passivo - t -+--+-- Intruso
"-'- ativo pode
só alterar
escuta mensagens

Método de Método de
Texto - - - 1
simples, P criptografia, E descriptografia, o 1 -- - Texto
simples, P
t
f Texto cifrado, C = EK(P)
f
Chave Chave
criptográfica, K descriptográfica, K
Figura 8.9 O modelo de criptografia (para uma cifra de chave simétrica).

Da rnesma forma , P =DK( C) representa a descriptografia de Deve1nos enfatizar o caráter não sigiloso do algorit-
C para obter o texto simples outra vez. Então, temos: mo. Tentar mantê-lo secreto, uma estratégia conhecida no
ramo como segurança pela obscuridade, nunca funciona.
DK (EK (P)) = p
Alérn disso, ao tornar o algoritmo público, o especialista
Essa notação sugere que E e D são si1nplesmente fun- em .criptografia libera a consulta para inúmeros criptólogos
ções maternáticas, o que é verdade. A única parte compli- ansiosos por decodificar o sistema e assirn publicar artigos
cada é que ambas são funções de dois parâmetros, e escre- demonstrando suas habilidades. Caso muitos especialistas
vemos um desses parâmetros (a chave) co1no um caractere tenha1n tentado decodificá-lo durante cinco anos após sua
subscrito, em vez de representá-lo como um argumento publica~ão e.nenhum tenha conseguido, isso significa que
para distingui-lo da mensage1n. ' o algontmo e provavelmente sólido. (Conn1do, os pesqui-
Uma regra fundamental da criptografia é que se deve sadores têm descoberto bugs em soluções de segurança de
supor que o criptoanalista conhece os métodos genéricos código aberto, como OpenSSL, depois de mais de uma dé-
de criptografia e descriptografia utilizados - ou seja, ele cada, de rnodo que a crença comum de que o ar1:,ru1nento
conhece os detalhes de co1no funcionam o método de crip- "con1 olhares suficientes, todos os bugs são superficiais"
tografia, E, e o método de descriptografia, D, da Figura 8.9. nem sempre funciona na prática.)
O esforço necessário para criar, testar e instalar urn novo Como o sigilo real está na chave, seu ta1nanho é un1a
algoritmo t~da vez que o antigo método é (suposta1nente) questão muito irnportante do projeto. Considere uma fecha-
comprometido sen1pre tornou in1praticável manter o algo- dura de combinação nu1nérica simples. Segundo o princípio
ritmo criptográfico em segredo. Imaginar que esse algorit- geral, você insere dígitos ern sequência. Todo mundo sabe
mo é secreto, quando não é, resulta mais em prejuízo do disso, mas a chave é secreta. Uma chave com um tamanho
que e1n benefícios. de dois dígitos significa que existe1n cem possibilidades.
É nesse ponto que entra a chave - ela consiste cm uma Uma de três dígitos significa mil possibilidades e uma de
string (relati vamente) curta que seleciona u1na das 1nuitas seis dígitos significa um milhão de possibilidades. Quan-
fonnas possíveis de criptografia. Ao contrário do método to 1naior for a chave, inais alto será o fator de trabalho
. . ~ .
genenco, que so pode ser modificado a cada período de com que o criptoanalista terá de lidar. O fator de trabalho
alguns anos, a chave pode ser alterada sempre que neces- pa:a decodificar o sistema por 1neio de urna exaustiva pes-
sário. Portanto, nosso modelo básico é um método genéri- quisa no espaço da chave é exponencial ern relação a seu
co publican1ente conhecido, pararnetrizado por urna chave tamanho. O sigilo é decorrente da presença de um algorit-
secreta que pode ser alterada con1 facilidade. A ideia de mo forte (n1as público) e de uma chave longa. Para i1npedir
que o criptoanalista conhece os algoritmos e que o segredo que seu !rmãozinho leia suas mensagens de e-mail, serão
reside exclusivarnente nas chaves é chamada de princípio necessánas chaves de 64 bits. Para uso comercial de rotina
de Kerckhoffs, ern homenage1n ao criptógrafo rnilitar Au- tal vez deva1n ser usados 128 bits. Para manter o governo'
guste Kerckhoffs, holandês de nascimento, que primeiro o de outros países a distância, são necessárias chaves de pelo
menos 256 bits, de preferência maiores. A propósito, esses
publicou em um periódico n1ilitar en1 1883 (Kerckhoffs,
1883). Desse modo, temos:
. -
numeros sao para a criptografia simétrica, en1 que as cha-
ves de criptografia e descriptogratia são as mesmas. Mais
Princípio de Kerckhojfs: todos os algoritrnos deve111 adiante, discutiremos as diferenças entre a criptografia si-
ser públicos; apenas as chaves são secretas. métrica e a assimétrica.
492 Redes de computadores

Do ponto de vista do criptoanalista, o problen1a da produto). Os 3 últi1nos bytes devem ser criptografados por
criptoanálise apresenta três variações principais. Quando meio de uma chave muito longa conhecida apenas pelo
tem determinado volume de texto cifrado mas nenhum cliente e pela EJ.
texto simples, o analista é confrontado com o problema A princípio, essa estratégia pode pai·ecer segura, e até
do texto cifrado disponível. Os criptogramas da seção de certo ponto é, porque os intrusos passivos não podem des-
palavras cruzadas do jornal são tnn exen1plo desse tipo de criptografar as mensagens. Infelizmente, há uma falha fatal
problema. Quando há uma correspondência entre o texto ci- que a toma inútil. Suponha que u1na funcionária recém-de-
frado e o texto simples, o problema passa a ser chamado de mitida queira punir a EJ por tê-la despedido. Antes de sair
texto simples conhecido. Por firn , quando o criptoanalista da e1npresa, ela leva consigo parte da lista de clientes e pas-
tem a possibilidade de codificar trechos do texto si1nples sa a noite acordada criando um programa para gerar enco-
escolhidos por ele mesmo, temos o proble1na do texto sim- mendas fictícias utilizando nomes de clientes verdadeiros.
ples escolhido. Os criptogramas dos jornais poderiam ser Como não tem a lista das chaves, ela simplesmente inclui
decodificados de forma trivial se o criptoanalista tivesse a números aleatórios nos três últimos bytes e envia centenas
permissão de fazer perguntas tais como: qual é a criptogra- de encomendas para a EJ.
fia de ABCDEFGHIJKL? Quando as mensagens chegam, o computador da EJ
Com frequência, os novatos na área de criptografia utiliza o nome do cliente pard localizar a chave e descrip-
pressupõem que, se un1a cifra puder resistir a un1 ataque tografar a 1nensagem. Infelizmente para a EJ, quase todas
do texto cifrado disponível, isso significa que ela é segura. as 1nensagens de 3 bytes são válidas; portanto, o co1npu-
Essa suposição é muito ingênua. Em muitos casos, o crip- tador co1neça a impriinir as instruções de entrega. Apesar
toanalista pode fazer uma estimativa co1n base e1n trechos de parecer estranho un1 cliente enco1nendar 837 conjuntos
do texto siinples. Por exen1plo, a prin1eira mensagem que de balanços para crianças, ou 540 pula-pulas, para o com-
muitos cotnputadores emitem quando você os reinicia é putador, o cliente pode estar planejando abrir tnna cadeia
"login:". Equipado com alguns pares de texto simples/texto de parques de diversões por franquia. Portanto, un1 intru-
cifrado, o trabalho do criptoanalista se torna muito mais fá- so ativo (a ex-funcionária) pode causar muitos proble1nas,
cil. Para ter segurança, o criptógrafo deve ser conservador 1nesmo que não seja capaz de entender as mensagens que
e se certificar de que o siste1na seja inviolável, mesmo que seu computador está gerando.
seu oponente seja capaz de criptografar qualquer quanti- Esse problema pode ser resolvido por meio da inclu-
dade de texto simples escolhido.
são de informações redundantes e1n todas as mensagens.
Historicamente, os métodos de criptografia têm sido Por exe1nplo, se as 1nensagens de pedidos fore1n an1plia-
divididos em duas categorias: as cifras de substituição e as das para 12 bytes, os 9 primeiros deverão ser iguais a zero;
cifras de transposição. Em seguida, trataremos de cada uma assim, essa estratégia de ataque deixa de ser interessante,
dessas técnicas como informações básicas para a criptogra- porque a ex-funcionária não é mais capaz de gerar um lon-
fia moderna. go fluxo de mensagens válidas. A moral da história é que
todas as mensagens devem conter informações redundan-
tes suficientes para que os intrusos ativos sejam impedidos
8.4.2 Dois princípios fundamentais de transmitir dados inválidos que possam ser interpretados
da criptografia como uma mensagem válida. Desse modo, temos:
Ainda estudaremos muitos siste1nas criptográficos nas pró- Princípio criptográ;fico 1: as mensagens deveni conter
xi1nas páginas, mas é importante entender dois princípios algun1a redundância.
básicos subjacentes a todos eles. Preste atenção. Você cor-
rerá risco ao violá-los. No entanto, a inclusão de informações redundan-
tes també1n facil ita a quebra de mensagens por parte dos
criptoanalistas. Suponha que o negócio de encomenda pos-
Redundância
tal seja muito co1npetitivo e que a principal concorrente
O primeiro princípio é que todas as mensagens criptogra- da Expresso Jabuti, a Tartaruga Entregas, adoraria saber
fadas devem conter algu1na redundância, ou seja, infor- quantos pula-pulas a EJ está vendendo. Para isso, resol-
mações que não são necessárias para a co1npreensão da ve grampeai· a linJ1a telefônica da EJ. No esque1na original
mensagem. Talvez u1n exen1plo esclareça por que isso é com mensagens de 3 bytes, a criptoanálise era praticamen-
necessário. Considere uma empresa de encomendas pos- te impossível porque, após descobrir uma chave, o cripto-
tais, a Expresso Jabuti (EJ), com 60 rnil produtos. Pensan- analista não era capaz de dizer se a mensagen1 estava cor-
do ser muito eficientes, os prograinadores da EJ decidiram reta. Afinal, quase todas as mensagens são tecnicamente
que as mensagens de encomendas deve1n consistir no nome válidas. Com o novo esquema de 12 bytes, fica mais fácil
do cliente com 16 bytes, seguido por um campo de dados para o criptoanalista distinguir un1a n1ensagen1 válida de
de 3 bytes (um para a quantidade e dois para o número do uma inválida.
Capítulo 8 • Segurança de redes 493

Em outras palavras, ao decifrar unia mensage1n, o D, b se ton1a E, e se toma F, ... e z se toma C. Por exemplo,
destinatário deve ser capaz de saber se ela é válida, sin1- ataque passaria a ser DWDTXH. E1n nossos exe1nplos, o
ples1nente inspecionando-a e talvez executando uma texto simples é apresentado em minúsculas e o texto cifra-
co1nputação si1nples. Essa redundância é necessária para do em rnaiúsculas.
i1npedir que intrusos ativos enviem lixo e engane1n o recep- Uma ligeira generalização da cifra de César permite
tor, fazendo-o descriptografar o lixo e agir sobre o "texto que o alfabeto do texto cifrado seja deslocado k letras, em
simples". vez de sempre três. Nesse caso, k passa a ser u1na chave
No entanto, essa mesma redundância permite que os para o método genérico dos alfabetos deslocados en1 forma
intrusos passivos entrem no sistema com maior facilida- circular. A cifra de César pode ter enganado Potnpeu, 1nas
de, portanto, há utna zona de tensão nessa situação. Além • • •
nunca mais enganou n1nguem.
disso, a redundância nunca deverá ser criada sob a forma O próximo aprimoramento é fazer cada um dos sím-
de n zeros no início ou no fim de uma niensage1n, pois o bolos do texto simples, digamos, as 26 letras, ser mapeado
envio dessas mensagens a determinados algoritmos crip- para alguma outra letra. Por exemplo:
tográficos proporciona resultados 1nais previsíveis, facili -
tando o trabalho do criptoanalista. Um polinômio de CRC texto simples: a b e d e f g h i j k 1 01 n o p q r s t u v \V x y z
(veja no Capítulo 3) é muito melhor que uma sequência de texto cifrado: Q W E R T Y U I O PAS D F G H J K L Z X CV B N M
valores zero, pois o receptor pode verificá-lo facihnente,
Esse sistema geral é chamado de cifra de substi-
mas gerará mais trabalho para o criptoanalista. Seria muito
tuição monoalfabética, sendo a chave a sequência de 26
melhor usar um hash criptográfico, conceito que explorare-
letras correspondente ao alfabeto completo. Para a chave
mos 1nais adiante. Por enquanto, pense nele con10 um CRC
anterior, o texto simples ataque seria transformado no texto
melhorado.
cifrado QZQJXT.
'
A primeira vista, talvez esse sistema pareça seguro,
Atualidade pois, embora o criptoanalista conheça o siste1na genérico
O segundo princípio criptográfico é tomar algu1nas medi- (substituição de letra por letra), o criptoanalista não sabe
das para assegurar que cada niensagem recebida possa ser qual das 26! :::: 4 x 1026 chaves possíveis está em uso.
confirmada como uma 1nensagem atual, isto é, enviada Ao contrário do que acontece com a cifra de César, expe-
muito recentemente. Essa medida é necessária para impedir rimentar todas elas não é uma estratégia muito promissora.
que intrusos ativos reutilizem mensagens antigas. Se tais Mesmo a 1 ns por solução, um 1nilhão de chips de compu-
medidas não fosse1n ton1adas, nossa ex-funcionária poderia tador e1n paralelo exigiriam 1Omil anos para que todas as
interceptar a linha telefônica da EJ e ficar simplesn1ente re- chaves fossen1 experimentadas.
petindo mensagens válidas já enviadas. Assiln: Todavia, com u1n volume de texto cifrado surpreen-
dentemente pequeno, a cifra pode ser descoberta com fa-
Princípio criptográfico 2: algum tnétodo é necessário
cilidade. A estratégia básica se beneficia das propriedades
para anular ataques de repetição.
estatísticas dos idiomas. Por exetnplo, em ioglês e é a letra
Urna medida desse tipo seria incluir em cada mensa- 1nais comu1n, seguida de t, o, a, n, i, etc. As combinações
gen1 um registro de tempo válido apenas por, digamos, 60 de duas letras, ou digramas, 1nais comuns são th, in, er, re
segundos. Em seguida, o receptor poderia manter as 1nen- e an. As combinações de três letras, ou trigramas, mais
sagens durante 60 segundos, a fim de con1parar as 1nensa- comuns são the, ing, ande ion.
gens recém-chegadas com as anteriores e filtrar duplicatas. Um criptoanalista que tente decodificar uma cifra mo-
As mensagens transrnitidas há 1nais de 60 segundos pode- noalfabética começaria contando as frequências relativas de
riam ser descartadas, pois as repetições enviadas mais de 60 todas as letras do texto cifrado. Depois disso, por tentativas,
segundos depois da 1uensagen1 original serão rejeitadas por ele atribuiria e à letra 1nais comum e t à próxima letra mais
ser muito antigas. O intervalo não deverá ser muito curto co1num. Em seguida, verifica1ia os trigramas para encontrar
(p. ex., 5 segundos), pois os relógios do transmissor e do um no formato tXe, o que poderia sugerir que X é h. Da mes-
receptor podem estar ligeiramente fora de sincronis1no. Ou- ma fonna, se o padrão thYt ocorrer co1n frequência, prova-
tras medidas alén1 dos registros de tempo serão discutidas vehnente isso significará que Y representa a. Com essas in-
mais adiante. formações, o criptoanalista poderá procurar por um trigrama
com o formato aZW que ocorra com frequência (muito pro-
vavehnente and). Fazendo estin1ativas em relação a digra-
8.4.3 Cifras de substituição mas, trigratnas e letras mais co1nuns, e conhecendo os prová-
Em uma cifra de substituição, cada letra ou grupo de letras veis padrões de vogais e consoantes, o criptoanalista criaria
é substituído por outra letra ou grupo de letras, de 1nodo a um texto simples por meio de tentativas, letra por letra.
criar um "disfarce". U1na das cifras mais antigas é a cifra Outra estratégia é adivinhar u1na palavra ou frase
de César, atribuída a Júlio César. Nesse método, a se toma provável. Por exe1nplo, considere o seguinte texto cifrado
494 Redes de computadores

de uma ernpresa de contabilidade (montado em grupos de


cinco caracteres):

CTBMN BYCTC BTJDS QXBNS GSTJC BTSWX CTQTZ CQVUJ


QJSGS TJQZZ MNQJS VLNSX VSZJU JDSTS JQUUS JUBXJ
DSKSU JSNTK BGAQJ ZBGYQ TLCTZ BNYBN QJSW

Nos Estados Unidos, un1a palavra muito provável em fica fáci l constatar se essas letras se encaixa1n no padrão
uma mensagem de uma empresa de contabilidade é finan- normal para texto simples. Se houver correspondência, isso
cial. Com base em nosso conhecimento de que finan cial significa que se trata sern dúvida de urna cifra de transpo-
tem urna leh·a repetida (i), com quah·o outras leh·as entre sição, pois nesse tipo de cifra cada letra é representada por
suas ocorrências, procuramos letras repetidas no texto ci- ela rnesma, 1nantendo intacta a distribuição de frequências.
frado corn esse espaço entre elas. Encontramos 12 casos A próxima etapa é fazer urna estimativa do número de
como esse nas posições 6, 15, 27, 31 , 42, 48, 56, 66, 70, colunas. Em muitos casos, uma palavra ou frase provável
71 , 76 e 82. No entanto, apenas dois deles, 31 e 42, têrn a pode ser deduzida a partir do contexto da mensage1n. Por
letra seguinte (que con·esponde a n no texto sin1ples) re- exemplo, suponha que nosso criptoanalista tenha suspeita-
petida na localização adequada. Dessas duas, apenas 31 do de que a frase em texto simples rnilliondollars ocorre
também tem a letra a corretamente posicionada; portanto, en1 algum lugar na mensagem. Observe que os digramas
sabemos que financial começa na posição 30. Desse ponto MO, JL, LL, LA, IR e OS ocorrem no texto cifrado como
em diante, fica fácil deduzir a chave utilizando a estatística um resultado do desdobramento dessa frase. No texto ci-
de frequência para o texto em inglês e procurando palavras frado, a letra O vem depois da letra M (ou seja, elas são
quase completas para terminar. verticalmente adjacentes na coluna 4), pois estão separadas
na provável frase por uma distância igual ao tamanho da
chave. Se tivesse sido usada uma chave de tamanho sete,
8.4.4 Cifras de transposição teria1n surgido os digramas MD, 10, LL, LL, IA, OR e NS.
As cifras de substituição preservam a ordem dos símbolos Na verdade, para cada ta1nanho de chave, é produzido um
no texto simples, mas os disfarçam. Por sua vez, as cifras conjunto de digramas diferente no texto cifrado. Ao tentar
de transposição reordenam as letras, mas não as disfar- encontrar diferentes possibilidades, muitas vezes o cripto-
çam. A Figura 8.1 Ornostra uma cifra de h·ansposição 1nuito analista é capaz de detenninar com facilidade o tamanho
comum, a de colunas. A cifra se baseia em uma chave que é da chave.
uma palavra ou frase que não contém letras repetidas. Nes- A última etapa é ordenar as colunas. Quando o núme-
se exemplo, a chave é MEGABUCK. O objetivo da chave é ro de colunas k é pequeno, cada um dos k(k - 1) pares de
nurnerar as colunas de modo que a coluna l fique abaixo da colunas pode ser examinado para que se constate se suas
letra da chave mais próxima do início do alfabeto, e assim frequências de digramas correspondern às do texto sirn-
por diante. O texto simples é escrito horizontalmente, em ples em inglês. O par que tiver a melhor correspondência
linhas. O texto cifrado é lido em colunas, a partir da coluna será considerado na posição correta. Em seguida, cada
cuja letra da chave seja a rnais baixa. uma das colunas restantes é experimentada como suces-
Para quebrar uma cifra de h·ansposição, o criptoanalis- sora desse par. A coluna cujas frequências de digramas e
ta deve prin1eiro estar ciente que está lidando com esse tipo trigra1nas proporcionen1 a melhor correspondência será a tí-
de cifra. Ao examinar a frequência de E, T, A, O, I, N, etc., tulo experimental considerada correta. A próxima coluna é

M E G A B u e K

7 -4 5 1 2 8 3 6
p 1 e a s e t r Texto simples

a n s f e r o n pleasetransferonemilliondollarsto
e m o n myswissbankaccountsixtwotwo
d o a r s t
Texto cifrado
o m y s w s s
b a n k a e e o AFLLSKSOSELAWAIATOOSSCTCLNMOMANT
ESILYNTWRNNTSOWDPAEDOBUOERIRICXB
u n t s X t w
o t w o a b e d

Figura 8.10 Uma cifra de transposição.


Capítulo 8 • Segurança de redes 495

encontrada da n1esma n1aneira. O processo inteiro continua (um assunto que está além do escopo deste livro). De fato,
até ser encontrada uma ordenação potencial. O 1nais pro- para cada texto simples ASCII de 11 caracteres existe uma
vável é que o texto simples seja reconhecido nesse ponto chave única que o gera. E' isso que queremos dizer quando
(p. ex., se ocorrer nzilloin, ficará claro qual é o en·o). mencionamos que não existe nenhtnna informação no texto
Algumas cifras de transposição aceita1n um bloco de cifrado: é possível obter qualquer mensagem com o tama-
ta1nanho fixo co1no entrada e produzem u1n bloco de tan1a- nho correto a partir dele.
nho fixo como saída. Essas cifras podem ser completamen- As chaves únicas são óti1nas na teoria, mas têm várias
te descritas fornecendo-se un1a lista que informe a ordem desvantagens na prática. Para começar, a chave não pode
na qual os caracteres devem sair. Por exemplo, a cifra da ser memorizada, então tanto o remetente quanto o destina-
Figura 8.10 pode ser vista como uma cifra de blocos de 64 tário devem levar urna cópia escrita com eles. Se qualquer
caracteres. Sua saída é 4, 12, 20, 28, 36, 44, 52, 60, 5, 13,.. ., un1 dos dois estiver sujeito à possibilidade de captura, as
62. Em outras palavras, o quarto caractere de entrada, a, é chaves escritas sem dúvida serão inconvenientes. Além dis-
o primeiro a sair, seguido pelo décimo segundo,/, e assiln so, a quantidade total de dados que podem ser transmitidos
por diante. é limitada pelo tamanho da chave disponível. Se o espião
tiver muita sorte e descobrir uma grande quantidade de da-
dos, talvez seja incapaz de trans1niti-los de volta para a ma-
8.4.5 Chave única triz, porque a chave terá sido esgotada. Outro problema é a
Na verdade, é fácil criar uma cifra inviolável; a técnica é sensibilidade do método a caracteres perdidos ou inseridos.
conhecida há décadas. Primeiro, escolha co1no chave uma Se o trans1nissor e o receptor ficarem fora de sincronismo,
sequência de bits aleatórios. Em seguida, converta o texto todos os dados a partir desse momento serão inutilizados.
si1nples en1 uma sequência de bits, utilizando por exemplo Corn o advento dos computadores, a chave única se
sua representação ASCII. Por fi1n., calcule o OU exclusivo tornou potenciahnente prática para algurnas aplicações.
(XOR) dessas duas sequências, bit a bit. O texto cifrado A origem da chave poderia ser um DVD especial contendo
resultante não pode ser violado porque, em u1na amostra vários gigabytes de informações que, se fossem transpor-
grande o suficiente de texto cifrado, cada letra ocorrerá tadas em un1a caixa de filmes em DVD e tivessem no iní-
com a 1nesma frequência, bem co1no o digra1na, o trigrama, cio alguns minutos de vídeo, nem sequer seriam suspeitas.
e assim por diante. Esse método, conhecido como chave E' claro que, nas redes de gigabits, ter de inserir um novo
única, é imune a todos os ataques presentes e futuros, não DVD a cada 30 segundos seria algo entediante. Além disso,
i1nporta quanta capacidade con1putacional o intruso tenha. os DVDs devem ser transportados em mãos, do transmissor
A razão deriva da teoria da infonnação: simplesn1ente não para o receptor, antes de ser possível enviar qualquer men-
existe nenhuma informação na mensagem, porque todos os sagem, o que reduz bastante sua utilidade prática. Ainda
textos simples possíveis co1n o tamanho dado são igual- assiin, visto que logo ninguérn mais usará DVD ou discos
mente prováveis. Blu-Ray, qualquer um transportando uma caixa desses dis-
Um exe1nplo de co1no as chaves únicas são usadas é positivos seria considerado suspeito.
dado na Figura 8. l l. Primeiro, a mensagem 1, " I love you",
é convertida em ASCII de 7 bits. E1n seguida, uma chave Criptografia quântica
única, chan1ada chave 1, é escolhida e sujeita à operação
XOR com a mensagetn para obter o texto cifrado. Utn crip- E' interessante, tnas talvez haja u1na solução para o pro-
toanalista poderia experi1nentar todas as chaves únicas pos- blerna de como transrnitir a chave única pela rede, e ela
síveis para ver que texto resultou para cada uma. Por exen1- vem de uma fonte muito irnprovável: a mecânica quântica.
plo, a chave única listada como chave 2 na figura poderia Essa área ainda é experirnental, n1as os testes iniciais são
ser experimentada, resultando no texto simples 2, "Elvis promissores. Se eles puderern ser aperfeiçoados e se torna-
lives" [Elvis não 1norreu], que pode ser ou não plausível rern eficientes, quase toda a criptografia será realizada por

Mensagem 1: 1001001 0100000 1101100 1101111 1110110 1100101 0100000 11 11001 11011 11 1110101 0101110
Chave1: 1010010 1001011 1110010 1010101 1010010 1100011 0001011 0101010 10101 11 1100110 0101011
Texto cifrado: 001 101 1 1101011 0011110 0111010 0100100 0000110 0101011 1010011 01 11000 0010011 0000101

Chave2: 1011110 0000111 1101000 1010011 1010111 0100110 1000111 0111010 10011 10 1110110 1110110
Textosimples2: 1000101 1101100 11 10110 1101001 1110011 0100000 1101 100 1101001 11 101 10 1100101 1110011

Figura 8.11 Ouso de uma chave única para criptografia e a possibilidade de conseguir qualquer texto simples que seja pos-
sível a partir do texto cifrado pela utilização de alguma outra chave.
496 Redes de computadores

fin1 com a utilização de chaves únicas, pois é provável que esquerdo até o canto inferior direito. Essa escolha é cha-
elas sejam seguras. A seguir, explicaremos em linhas ge- mada base diagonal. Desse modo, Alice ten1 duas bases,
rais como funciona esse método, deno1ninado criptografia que ela pode inserir rapidamente en1 seu feixe, à vontade.
quântica. E1n particular, descreveremos um protocolo cha- Na realidade, ela não tem quatro filtros separados, mas um
mado BB84 para indicar seus autores e o ano da publicação cristal, cuja polarização pode ser trocada eletricamente para
(Bennet e Brassard, 1984). qualquer das quatro direções permitidas, em alta velocida-
Suponha que uma usuária, chamada Alice, queira es- de. Bob te1n o mesmo equipamento de Alice. O fato de Ali-
tabelecer uma chave única com u1n segundo usuário, Bob. ce e Bob terem cada um duas bases disponíveis é essencial
Alice e Bob são chamados protagonistas, os personagens para a criptografia quântica.
principais de nossa história. Por exemplo, Bob é u1n ge- Para cada base, Alice atribui agora uma direção como
rente de banco com quem Alice gostaria de realizar negó- O e a outra co1no 1. No exen1plo apresentado a seguir, va-
cios. Os nomes "Alice" e "Bob" foram usados como pro- mos supor que ela escolha a direção vertical como Oe a ho-
tagonistas e1n praticamente todos os ensaios e livros sobre rizontal como 1. Independenten1ente, ela ta1nbé1n escolhe
criptografia desde que Roo Rivest os apresentou há nluitos do canto inferior esquerdo até o canto superior direito como
anos (Rivest et ai., 1978). Os criptógrafos a1nam a tradição. O, e do canto superior esquerdo até o canto inferior direito
Se fôssemos usar "Andy" e "Barbara" como protagonistas, con10 1. Alice envia essas escolhas a Bob como texto sim-
ninguém acreditaria em nada do que fosse explicado neste ples, ciente de que Trudy poderá ler sua mensagem.
capítulo. Então, que seja! Agora, Alice escolhe uma chave única, baseada, por
Se Alice e Bob pudessem estabelecer un1a chave úni- exemplo, em um gerador de números aleatórios (u1n assun-
ca, eles teriam a possibilidade de en1pregá-la para se comu- to por si só bastante complexo). Ela o transfere bit por bit
nicar com segurança. A pergunta óbvia é: como eles podem para Bob, escolhendo un1a de suas bases ao acaso para cada
estabelecê-la se1n antes trocar fisicamente os DVDs (ou bit. Para enviar u1n bit, sua pistola de fótons emite um fóton
livros, ou pen-drives)? Poden1os supor que Alice e Bob es- polarizado de n1aneira apropriada, confonue a base que ela
tejam em extre1nidades opostas de um cabo de fibra óptica está usando para esse bit. Por exen1plo, ela poderia escolher
pelo qual possam enviar e receber pulsos de luz. Contudo, as bases diagonal, retilínea, retilínea, diagonal, retilínea,
uma intrusa atrevida cha1nada Trudy pode cortar a fibra e etc. Para enviar sua chave única igual a 100111001010011 O
criar um gra1npo ativo. Trudy pode ler todos os bits em am- com essas bases, ela enviaria os fótons mostrados na Figura
bos os sentidos. Ela ta1nbém pode enviar falsas mensagens 8.12(a). Dadas a chave única e a sequência de bases, a po-
nos dois sentidos. A situação pode parecer desesperadora larização a ser usada para cada bit é determinada de forma
para Alice e Bob, mas a criptografia quântica pode trazer exclusiva. Bits enviados u1n fóton por vez são cha1nados
uma nova luz sobre o assunto. qubits (bits quânticos).
A criptografia quântica se baseia no fato de que a luz Bob não sabe que base usar, e assim escolhe uma ao
se propaga em pacotes 1nicroscópicos, chamados fótons, acaso para cada fóton que chega e simplesmente a utiliza,
que apresenta1n algumas propriedades peculiares. Além como n1ostJa a Figura 8. l 2(b). Se escolher a base correta,
disso, a luz pode ser polarizada ao passar por um filtro de ele receberá o bit correto. Se escolher a base incorreta, rece-
polarização, wn fato ben1 conhecido pelos usuários de ócu- berá um bit aleatório porque, se um fóton atingir um filtJo
los de sol e pelos fotógrafos. Se um feixe de luz (i.e., um polarizado a 45 graus e1n relação a sua própria polarização,
fluxo de fótons) passar por u1u filtro de polarização, todos ele saltará ao acaso para a polarização do filtro ou para uma
os fótons que emergirem dele serão polarizados na direção polarização perpendicular à do filtro, com a n1esma proba-
do eixo do filtro (p. ex., vertical). Se o feixe passar agora bilidade. Essa propriedade dos fótons é fundamental para a
por um segundo filtro de polarização, a intensidade da luz mecânica quântica. Desse modo, alguns bits estão corretos
que emergirá do segundo filtro será proporcional ao qua- e alguns são aleatórios, mas Bob não consegue distingui-
drado do cosseno do ângulo entre os eixos. Se os dois eixos -los. Os resultados de Bob estão representados na Figura
forem perpendiculares, nenhum fóton passará pelo filtro. 8.12(c).
A orientação absoluta dos dois filtros não importa, só inte- De que maneira Bob pode descobrir quais são as ba-
ressa o ângulo entre seus eixos. ses corretas e quais são as erradas entre as que recebeu?
Para gerar uma chave única, Alice precisa de dois Ele simples1nente diz a Alice que base usou para cada bit
conjuntos de filtros de polarização. O primeiro conjunto em texto simples, e ela lhe diz quais são as bases corre-
consiste em um filtro vertical e u1n filtro horizontal. Essa tas e quais são as erradas e1n texto silnples, como mostra a
escolha é chamada base retilínea. Uma base é apenas um Figura 8.12(d). A partir dessas informações, ambos podem
siste1na de coordenadas. O segundo conjunto de filtros é construir un1a sequência de bits con1 os palpites corretos,
idêntico, exceto por estar deslocado 45 graus, de forma que como mostra a Figura 8.12(e). Em média, essa sequência de
um filtro abrange desde o canto inferior esquerdo até o can- bits terá metade do con1primento da sequência de bits origi-
to superior direito, e o outro abrange desde o canto superior nal, n1as, como a1nbas as partes o conhecen1, elas poderão
Capítulo 8 • Segurança de redes 497

Número
do bit O 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Dados 1 O O 1 1 1 O O 1 O 1 O O 1 1 O

(a) 1, 1l 1l 1, 1- 1, 1/ 1/ 1- 1l 1- 1/ 1/ 1- 1- 1l 1Ali~~e 0

envia

(b) l+ l+ IX1X1Xl+ l+ IXl+ IXl+IX1X1Xl+ IX1~=~~b


(c) 1l 1l 1/ 1, 1, 1l 1- 1/ 1- 1/ 1- 1/ 1/ 1, 1- 1/ 1~~!:e
(d) Não Sim Não Sim Não Não Não Sim Sim Não Sim Sim Sim Não Sim Não Base
correta?

?h.ave
~-~-º~-~-1~-~-~~-º~-1~-~-1~-º~-º~-~-1~-~.1 unica
(e) 1

(t) 1Xl+l+ IXl+ l+ IXl+ l+ IX Xl+I Xl+IX1X1~=~~dy 1

(g) 1 1 1 1 1 1 1 1 1 1 1 1 1~=~~~dy
X Q X 1 1 X X 1 X ? 1 X 1 ? ? Q 1 X ? X

Figura 8.12 Um exemplo de criptografia quântica.

usá-lo como un1a chave única. Tudo o que Alice tem a fa- 1.024 bits e elevar ao quadrado cada uma para fonnar um
zer é trans1nitir uma sequência de bits um pouco maior que número de 2.048 bits, usando a concatenação desses nún1e-
o dobro do tamanho desejado, para que ela e Bob tenham ros de 2.048 bits como a chave única. Com seu conheci-
uma chave única cotn o comprimento apropriado. Problema tnento parcial da sequência de bits trans1nitida, Trudy não
resolvido. ten1 como gerar seu quadrado e, portanto, não ten1 nada.
Mas espere um minuto. Esquece1nos de Trudy. Vamos A transfom1ação da chave única original em uma chave di-
supor que ela esteja curiosa para saber o que Alice tem a ferente que reduza o conhecimento de Trudy é chamada de
dizer e corte o cabo de fibra, inserindo seus próprios de- a1nplificação de privacidade. Na prática, são usadas trans-
tector e transmissor. Infelizmente para Trudy, ela também formações complexas em que todo bit de entrada depende
não sabe que base usar para cada fóton . O melhor que ela de cada bit de saída em vez do quadrado do bit de entrada.
pode fazer é escolher uma base ao acaso para cada um dos Pobre Trudy. Ela não apenas não tem nenhuma ideia
fótons, como fez Bob. Um exemplo de suas escolhas é de qual é a chave única, como também sua presença não é
mostrado na Figura 8.12(t). Quando mais tarde Bob infor- mais secreta. Afinal, ela tem de retransmitir cada bit rece-
1nar (em texto simples) que bases usou e Alice disser a ele bido para Bob, a fi1n de levá-lo a pensar que está se comu-
(em texto simples) quais delas estão corretas, Trudy saberá nicando com Alice. Contudo, o melhor que pode fazer é
quando acertou e quando errou. Segundo a Figura 8.12, ela trans1nitir o qubit que recebeu usando a mesma polarização
acertou nos bits O, l, 2, 3, 4, 6, 8, 12 e 13. No entanto, que e1npregou para recebê-lo, e durante cerca de 1netade do
ela sabe pela resposta de Alice na Figura 8.12(d) que só os tempo ela estará errada, provocando muitos erros na chave
bits 1, 3, 7, 8, 10, 11 , 12 e 14 fazen1 parte da chave única. única de Bob.
Em quatro desses bits ( 1, 3, 8 e 12), ela acertou seu palpite Quando frnalmente começar a transmitir dados, Alice
e capturou o bit correto. Nos outros quatro (7, 1O, 11 e 14), os codificará usando um pesado código de correção anteci-
ela errou e não sabe qual bit foi trans1nitido. Desse modo, pada de erros. Do ponto de vista de Bob, um erro de l bit
Bob sabe que a chave única co1neça co1n O1O11001 , a partir na chave única é o mes1no que u1n erro de transmissão de
da Figura 8. 12(e), mas tudo que Trudy te1n é O1? 1??O?, a 1 bit. De qualquer n1odo, ele receberá o bit errado. Se hou-
partir da Figura 8. l 2(g). ver correção antecipada de erros suficiente, ele poderá re-
E' claro que Alice e Bob estão cientes de que Trudy cuperar a mensagem original apesar de todos os erros, mas
talvez tenha captado parte de sua chave única, e assin1 gos- poderá contar com faci lidade quantos erros foran1 corrigi-
tariam de reduzir as informações que ela ten1. Eles pode1n dos. Se esse nú1nero for n1uito maior que a taxa de erros
fazer isso executando uma transformação na chave. Por esperada do equipa1nento, ele saberá que Trudy grampeou a
exemplo, poderiam dividir a chave única em blocos de linha e poderá tomar providências (p. ex., infonnando Alice
498 Redes de computadores

de que ela deve mudar para u1n canal de rádio, cha1nar a podem ser interessantes. As transposições e substituições
polícia, etc.). Se Trudy tivesse um meio de clonar fótons, de podem ser implementadas com circuitos elétricos simples.
forma que tivesse u1n para inspecionar e um idêntico para A Figura 8.13(a) mostra um dispositivo, conhecido como
enviar a Bob, poderia evitar a detecção, mas no momento caixa P (onde P significa permutação), usado para efetuar
não se conhece nenhu1n 1nodo perfeito de clonar un1 fóton. uma transposição e1n un1a entrada de 8 bits. Se os 8 bits
No entanto, mesmo que Trudy pudesse fazê-lo , o valor da forem designados de cima para baixo co1no O1234567, a
criptografia quântica para estabelecer chaves únicas não se- saída dessa caixa P específica será 36071245. Com uma
ria reduzido. conexão interna adequada, pode-se criar uma caixa P para
Embora a criptografia quântica opere sobre distâncias executar qualquer transposição praticamente na velocida-
de até 60 km de fibra, o equipamento é cornplexo e dispen- de da luz, pois nenhu1na computação é envolvida, apenas
dioso. Ainda assim, a ideia é prornissora se puder ter u1na a propagação de sinais. Esse projeto segue o princípio de
distância expandida e se tomar mais barata. Para obter mais Kerckhoffs: o atacante sabe que o método geral é permutar
informações sobre a criptografia quântica, consulte Clancy os bits. O que ele não sabe é qual bit fica em cada posição.
et ai. (2019). As substituições são realizadas por caixas S, co1no
mostra a Figura 8.13(b). Nesse exemplo, é introduzido u1n
texto simples de 3 bits, e a saída é um texto cifrado de 3 bits.
A entrada de 3 bits seleciona uma das oito linhas de saída
8.5 ALGORITMOS DE do primeiro estágio e a define como l ; todas as outras são
CHAVE SIMÉTRICA iguais a O. O segundo estágio é uma caixa P. O terceiro es-
tágio codifica a linha selecionada novamente em binário.
Ernbora a criptografia moderna utilize as rnesmas ideias Cotn a conexão interna mostrada, se os oito números octais
básicas da criptografia tradicional (transposição e substitui- O1234567 fossem introduzidos um após o outro, a sequência
ção), sua ênfase é diferente. Tradicionalmente, os criptógra- de saída seria 24506713. Em outras palavras, Ofoi substi-
fos tê1n utilizado algoritmos simples. Hoje em dia, acontece tuído por 2, 1 foi substituído por 4, etc. Mais uma vez, com
o inverso: o objetivo é tornar o algorittno de criptografia tão a conexão apropriada da caixa P dentro da caixa S, qualquer
con1plexo e emaranhado que, mesmo que o criptoanalista substituição pode ser realizada. Além disso, tal dispositivo
adquira enormes volumes de texto cifrado a sua própria es- pode ser construído e1n hardware e consegue alcançar gran-
colha, sem a chave ele não seja capaz de entender nada do de velocidade, pois os codificadores e os decodificadores
que conseguir. têm apenas um ou dois atrasos nas interfaces de entrada e
A primeira classe de algoritmos de criptografia que saída (abaixo de um nanossegundo) e o tempo de propaga-
estudare1nos neste capítulo é a dos algoritmos de chave ção pela caixa P pode ser menor que 1 picossegundo.
simétrica, porque utilizan1 a mes1na chave para codificação A capacidade real desses elementos básicos se tor-
e decodificação. A Figura 8. 9 ilustra o uso de um algoritmo na aparente quando dispomos uma série inteira de caixas
de chave sin1étrica. Em particular, vamos nos concentrar em cascata para formar uma cifra-produto, con10 mostra
nos blocos de cifras, que obtêrn urn bloco de n bits de texto a Figura 8.13(c). Nesse exemplo, 12 linhas de entrada são
si1nples como entrada e, usando a chave, o transformam em transpostas (i.e., per1nutadas) pelo primeiro estágio (P 1).
um bloco de n bits de texto cifrado. No segundo estágio, a entrada é dividida em quatro grupos
Os algoritmos criptográficos podem ser implementa- de 3 bits, sendo que cada um deles é substituído de forma
dos em hardware (para obter velocidade) ou em soft\vare independente dos outros (S1 a S4). Esse arranjo mostra um
(para obter flexibilidade). E1nbora a maior parte de nosso rnétodo de aproximar uma caixa S maior a partir de várias
tratamento esteja relacionado a algoritn1os e protocolos, caixas S 1nenores. Ele é útil porque caixas S menores são
que são independentes da Ílnplen1entação real, algu1nas práticas para a in1plen1entação pelo hardware (p. ex., uma
palavras sobre a construção de hardware criptográfico caixa S de 8 bits pode ser observada como uma tabela de

Caixa P Caixa S Cifra-produto


co
e "'e S1 Ss Sg
"'o. "'o.
"'..
~

o
co
..o S2 Se 810
'O
~

'O
P1 P2 P3 P4
ri S3 S7 811
!f:
'O
o
"'
CJ
"''õ
~ o
(.) S4 Ss 812
o
(a) (b) (e)

Figura 8.13 Elementos básicos das cifras-produto. (a) Caixa P. (b) Caixa S. (c) Produto.
Capítulo 8 • Segurança de redes 499

pesquisa de 256 entradas), mas caixas S grandes se ton1am


difíceis de criar (p. ex., uma caixa S de 12 bits, no míni-
mo, precisaria de 2 12 = 4.096 fios cruzados em seu estágio p E D E e
intermediário). Apesar de ser 1nenos genérico, esse método
ainda é poderoso. Por meio da inclusão de um número de (a)
estágios suficiente1nente grande na cifra-produto, a saída
pode ser transformada em uma função excessivamente
complicada da entrada.
As cifras-produto que opera1n sobre entradas de k bits
para produzir saídas de k bits são muito comuns. Um va- e D E D p

lor comum para k é 256. Uma unplementação de hardware (b)


normalmente tem pelo menos 20 estágios fisicos, em vez
de apenas sete, como na Figura 8. l3(c). Uma itnple1nen- Figura 8.14 (a) Criptografia tripla usando o DES.
tação de software é programada co1no um loop com pelo (b) Descriptografia.
menos 8 iterações, cada uma executando substituições se-
melhantes às de caixas S em sub-blocos do bloco de dados triplo precisa falar co1n um que usa apenas o DES simples,
de 64 a 256 bits, seguidas por urna permutação que mistura ele pode definir as duas chaves co1n o 1nes1no valor e de-
as saídas das caixas S. Corn frequência, existe utna permu- pois aplicar o DES triplo para gerar o n1esmo resultado
tação especial no início e tan1bém u1na no fim. Na literatu- obtido com o DES simples. Esse projeto facilitou a im-
ra, as repetições são chamadas de rodadas. plantação do DES triplo. Agora, ele é basica1nente obso-
leto, 1nas ainda é usado em algumas aplicações resistentes
8.5.1 Data Encryption Standard (DES) a mudanças.

En1 janeiro de 1977, o governo dos Estados Unidos adotou


uma cifra-produto desenvolvida pela IBM como seu padrão 8.5.2 Advanced Encryption Standard (AES)
oficial para informações não confidenciais. A cifra, o pa-
A' medida que a vida útil do DES começou a se aproxi-
drão de criptografia de dados, ou DES (Data Encryption
1nar do fim, mesmo com o DES triplo, o N IST (National
Standard), foi amplamente adotada pelo setor para uso em
lnstitute of Standards and Technology), o órgão do De-
produtos de segurança. E1n sua forma original, ela já não
é mais segura, no entanto, em uma forma modificada ela partamento de Comércio dos Estados Unidos encarregado
ainda é usada aqui e ali. A versão original foi controversa de aprovar padrões, decidiu que o governo precisava de
um novo padrão criptográfico para uso não confidencial.
porque a IBM especificou u1na chave de 128 bits, mas, de-
O NTST estava ciente de toda a controvérsia que cercava o
pois de algutnas discussões com a NSA, " voluntariamente"
DES e sabia muito bem que, se anunciasse um novo padrão,
decidiu reduzir o ta1nanho da chave para 56 bits, que os
criptógrafos na época disseram que era muito pequeno. todas as pessoas com algum conhecimento sobre criptogra-
fia Jogo concluiriam que a NSA havia criado u1na porta dos
ODES opera basicamente conforme mostra a Figura
fundos no DES, e assün poderia ler tudo que fosse cripto-
8. 13(c), porém em tmidades maiores. O texto si1nples (em
grafado com ele. Em tais condições, talvez ninguém utili-
binário) é criptografado em blocos de 64 bits, e cada u1n
é criptografado separadamente, realizando permutações e zasse o padrão e seria mais provável que e le desaparecesse.
substituições para1netrizadas pela chave de 56 bits en1 cada Dessa forma, o NIST adotou uma estratégia diferen-
uma das 16 rodadas consecutivas. Com efeito, essa etapa é te e surpreendente para um órgão do governo: patrocinou
uma cifra de substituição 1nonoalfabética gigantesca sobre u1na competição de criptografia. Em janeiro de 1997, pes-
um alfabeto com caracteres de 64 bits (sobre a qual vere- quisadores do mundo inteiro fora1n convidados a subme-
mos em breve). ter propostas para u1n novo padrão, a ser chamado AES
Em 1979, a IBM observou que 56 bits era 1nuito pou- (Advanced Encryption Standard). As regras dessa com-
co e elaborou um esquema compatível para aumentar o petição eram:
tamanho da chave, com duas chaves de 56 bits usadas ao 1. O algoritmo teria de ser uma cifra de bloco simétrica.
mesmo te1npo, gerando u1na chave composta de 11 2 bits 2. Todo o projeto teria de ser público.
(Tuchman, 1979). O novo esquema, cba111ado DES triplo
(Tripie DES), ainda está em uso e é utilizado conforme
3. Deveriam ser admitidos tamanhos de chaves iguais a
mostra a Figura 8.14. 128, 192 e 256 bits.
Há duas perguntas óbvias: por que são utilizadas ape- 4. Teriatn de ser possíveis in1ple1nentações de software
nas duas chaves em vez de três? Por que foi usado o es- e de hardware.
quema de criptografar-descriptografar-criptografar? Ares- 5. O algoritn10 teria de ser público ou licenciado en1 ter-
posta para ambas é que, se um computador que usa o DES mos não discriminatórios.
500 Redes de computadores

Foram enviadas 15 propostas sérias, que foran1 apre- as operações envolvem bytes inteiros, a fim de pern1itir
sentadas em conferências públicas nas quais os participan- implementações eficientes, tanto em hardware quanto em
tes foram encorajados ativamente a encontrar falhas em software. O DES é orientado a bit, e as ünplementações de
todas elas. Em agosto de 1998, o NIST selecionou cinco fi - software são lentas em decorTência disso.
nalistas, con1 base principahnente em seus requisitos de se- O algoritmo foi projetado não apenas para ter muita
gurança, eficiência, sin1plicidade, flexibi lidade e men1ória segurança, rnas também velocidade. Urna boa implemen-
(ünportante para sistemas embarcados). Foram realizadas tação de software em un1a nláquina de 2 GHz deverá ser
outras conferências e mais tentativas de encontrar falhas capaz de chegar a uma taxa de criptografia de 700 Mbps,
nos algorittnos. que é rápida o bastante para criptografar mais de 12 vídeos
Em outubro de 2000, o NIST anunciou que tinha se- de 4K ern tempo real. As irnple1nentações de hardware são
lecionado o Rijndael, criado por Joan Daemen e Vincent ainda ruais rápidas.
Rijmen. O nome é derivado do sobrenome aproximado
dos autores: Rijmen + Daemen. Em novembro de 2001 , o
Rijndael se ton1ou o padrão AES do governo dos Estados 8.5.3 Modos de cifra
Unidos, publicado con10 FIPS (Federal Infonnation Pro- Apesar de toda essa complexidade, o AES (ou o DES, ou
cessing Standard) 197. Devido à extraordinária abertura da ainda qualquer cifra de bloco) é basicamente uma cifra de
competição, das propriedades técnicas do algoritmo e do substituição monoalfabética que utiliza caracteres grandes
fato de a equipe premiada consistir em dois jovens criptó- (de 128 bits para AES, e de 64 bits para DES). Sempre que
grafos belgas (com pouca probabilidade de ter criado uma o 1nesmo bloco de texto simples chega ao front-end, o mes-
porta dos fundos só para agradar a NSA), o Rijndael se tor- n10 bloco de texto cifrado sai pelo back-end. Se você co-
nou o padrão criptográfico dominante no mundo. A cripto- dificar o texto simples abcdefgh 100 vezes com a mesma
grafia e a descriptografia AES fazetn parte do conjunto de chave DES ou AES, obterá o mesn10 texto cifrado 100 ve-
instruções de algumas CPUs. zes. Um intruso pode explorar essa propriedade para ajudar
O Rijndael admite tamanhos de chaves e tamanhos de a subverter a cifra.
blocos desde 128 bits até 256 bits em intervalos de 32 bits.
O ta1nanho da chave e do bloco podetn ser escolhidos illde- O modo ECB
pendenternente. Todavia, o AES especifica que o tamanho
do bloco deve ser 128 bits, e o compritnento da chave deve Para ver como essa propriedade das cifras de substituição
ser 128, 192 ou 256 bits. E pouco provável que alguém uti- n1onoalfabética pode ser usada para anular parcialmente a
lize chaves de 192 bits; assim, de fato, o AES tern duas va- cifra, usaren1os o DES (tt·iplo), por ser mais fácil represen-
riantes: utn bloco de 128 bits co1n urna chave de 128 bits e tar blocos de 64 que de 128 bits, mas o AES tern exatamen-
um bloco de 128 bits com urna chave de 256 bits. te o mes1no problema. A maneira direta de usar o DES para
Em nosso estudo do algoritmo, examinaremos apenas codificar urn longo fragrnento de texto simples é dividi-lo
o caso de 128/ 128, porque esta é a norma comercial. Uma en1 blocos consecutivos de 8 bytes (64 bits) e codificá-los
chave de 128 bits oferece um espaço de chaves de 2 128 ::::: um após o outro com a rnesma chave. O últiJno fragmento
3 x 1038 chaves. Ainda que a NSA consiga construir urna de texto sitnples é completado até 64 bits, se necessário.
máquina com 1 bilhão de processadores paralelos, cada um Essa técnica é conhecida corno modo ECB (Electronic
capaz de avaliar uma chave por picossegundo, tal máquilla Code Book), em analogia aos antigos livros de código em
levaria cerca de 10 10 anos para pesquisar o espaço de cha- que cada palavra de texto simples era listada, seguida por
ves. Até lá o Sol já terá explodido e as pessoas que sobrevi- seu texto cifrado (em geral, um número decimal de cinco
verern terão de ler os resultados à luz de velas. dígitos).
Na Figura 8. 15, temos o início de um arquivo de
Rijndael cornputador com a lista das gratificações anuais que uma
en1presa decidiu oferecer a seus funcionários. Esse arqui-
Sob uma perspectiva 111atemática, o Rijndael se baseia na vo consiste em registros de 32 bytes consecutivos, um por
teoria de campo de Galois, o que proporciona ao algoritmo funcionário, no fonnato mostrado: 16 bytes para o nome, 8
algu1nas propriedades de segurança demonstráveis. Contu- bytes para o cargo e 8 bytes para a gratificação. Cada um
do, ele também pode ser visto como código em C, sern a dos 16 blocos de 8 bytes (numerados de Oaté 15) é codifi-
necessidade de entram1os nos detalhes maten1áticos. cado pelo DES (triplo).
Como o DES, o Rijndael utiliza substituição e per- Leslie acabou de brigar corn o chefe e sabe que não
mutações, e tambén1 emprega várias rodadas. O número deve esperar uma grande gratificação. Ao contrário, Kün
de rodadas depende do tamanho da chave e do tamanho é a favorita do chefe e todo mundo sabe disso. Leslie pode
do bloco, sendo 1O para chaves de 128 bits corn blocos de acessar o arquivo após a codificação, mas antes de ser en-
128 bits, passando para 14 no caso da maior chave ou do viado ao banco. Será que ela poderia corrigir essa situação
maior bloco. No entanto, diferentemente do DES, todas injusta, tendo apenas o arquivo criptografado?
Capítulo 8 • Segurança de redes 501

Nome Cargo Gratificação

A d a m s L e s 1 e c e r k $ o1

B a e k R o b 1 n B o s s $ 5 oo ooo
c o n s • K m M a n a g e r $ 1 oo ooo
D a V 1 s • B o b b 1 e J a n t o r $ 5
Bytes 16 8 8

Figura 8.15 Otexto simples de um arquivo codificado como 16 blocos DES.

Não há proble1na. Leslie só precisa fazer un1a cópia Começamos con1 o cálculo C0 = E(P0 XOR I V). E1n se-
do 1211 bloco do texto cifrado (que contém a gratificação de guida, calculamos C1 = E(P1 XOR C0), e assin1 por diante.
Kim) e usá-lo para substituir o quarto bloco do texto cifrado A decodificação também utiliza XOR para inverter o pro-
(que conté1n a própria gratificação). Mes1no sern saber o cesso, co1n P0 = !VXOR D(C0) , e assim por diante. Observe
que contém o 122 bloco, Leslie pode esperar ter u1n Natal que a criptografia do bloco i é uma função de todo o texto
muito 1nais fel iz naquele ano. (Copiar o 8° bloco do tex- simples contido nos blocos Oa i - 1, e assim o mesmo tex-
to cifrado também é uma possibilidade, mas o risco de ser to simples gera um texto cifrado diferente, dependendo de
descoberta é maior; além disso, Leslie não é tuna pessoa tão onde ele ocorre. U1na transformação do tipo que Leslie fez
gananciosa.) resultará em texto sen1 sentido para dois blocos a partir do
campo de gratificação de Leslie. Para um profissional de
Modo de encadeamento de blocos de cifras segurança astuto, essa peculiaridade pode sugerir onde ini-
ciar a investigação legal.
Para contrariar esse tipo de ataque, todos os blocos de cifras O encadeamento de blocos de cifras també1n tem uma
podem ser encadeados de várias maneiras, a fim de que a vantagem: o mesmo bloco de texto simples não resultará no
substituição de um bloco como a que Leslie fez transfor- 1nesmo bloco de texto cifrado. Assiin, a criptoanálise será
me o texto simples decodificado e1n lixo, a partir do bloco mais dificil. De fato, essa é a principal razão de seu uso.
substituído. Uma forma é o encadeamento de blocos de
cifras. Nesse método, mostrado na Figura 8.16, cada bloco
de texto simples é submetido a uma operação XOR com
Modo de feedback de cifra
o bloco de texto cifrado anterior antes de ser codificado. No entanto, o encadeamento de blocos de cifras tem a
Como consequência, o mesn10 bloco de texto simples não desvantagem de exigir a chegada de um bloco de 64 bits
é mais mapeado para o mesmo bloco de texto cifrado, e inteiro para poder iniciar a decodificação. No caso da co-
a criptografia não é mais uma grande cifra de substituição dificação byte a byte, é usado o modo de feedback de
monoalfabética. O primeiro bloco é sub1netido a u1na ope- cifra, empregando o DES (triplo), como nlostra a Figura
ração XOR com u1n vetor de inicialização, ou IV (Initiali- 8.17. Para o AES, a ideia é exatamente a mesma, sendo
zation Vector), escolhido ao acaso, que é transmitido (em usado um registrador de deslocamento de 128 bits. Na fi-
texto simples) junta1nente com o texto cifrado. gura, o estado da 1náquina de criptografia é mostrado após
Podemos ver con10 funciona o modo de encadean1ento os bytes O a 9 tere1n sido codificados e enviados. Ao che-
de blocos de cifras examinando o exemplo da Figura 8.16. gar o byte l Odo texto simples, conforme ilustra a Figura

Po P1 P2 P3 Co c, C2 C3

! ! ! ! Chave D D D
b....__
D
Caixa de Caixa de
I codificação decodificação
Chave E E E E ••• IV • ••

c, P, p exclusivo
Po 3

(a) (b)

Figura 8.16 Encadeamento de blocos de cifras. (a) Codificação. (b) Decodificação.


502 Redes de computadores

Registrador de deslocamento de 64 bits Registro de deslocamento de 64 bits

1C2 I C31 C41 Cs l Csl C1I Cal Cgl___, 1C2I C3 I C41 Csl Cs I C1I Cal Cgl ___,

Chave --~ 1 E
! Caixa de Chave - -
!
1E
Caixa de
codificação codificação
C10

Seleciona Seleciona
byte mais byte mais
à esquerda à esquerda

P10-- 8
""-..OU exclusivo
C10 © P10

(a) (b)

Figura 8.17 Modo de feedback de cifra. (a) Codificação. (b) Decodificação.

8. l 7(a), o algoritmo DES opera sobre o registrador de des- Modo de fluxo de cifras
locamento de 64 bits para gerar um texto cifrado de 64 bits.
O byte mais à esquerda desse texto cifrado é extraído e sub- Apesar disso, existem aplicações em que um erro de trans-
tnetido a utna operação XOR corn P 10• Esse byte é encami- missão de 1 bit alterando 64 bits de texto simples provoca um
nhado à linha de trans1nissão. Alé1n disso, o registrador de impacto grande demais. Para essas aplicações, há unia quarta
opção, o modo de fluxo de cifras. Ele funciona pela codifi-
deslocamento (shift register) é deslocado 8 bits à esquerda,
cação de um vetor de inicialização (IV), usando u1na chave
fazendo C2 ficar fora da extremidade esquerda, e Cio é in-
para obter um bloco de saída. O bloco de saída é então co-
serido na posição que acabou de ficar vaga na extremjdade
dificado, usando-se a chave para obter urn segundo bloco de
direita, logo depois de C9.
saída. Em seguida, esse bloco é codificado para obter um ter-
Observe que o conteúdo do registrador de desloca- ceiro bloco, e assim por diante. A sequência (arbitrariamente
mento depende de todo o histórico anterior do texto sim- grande) de blocos de saída, chamada de fluxo de chaves, é
ples; assim, um padrão que se repetir várias vezes no texto tratada como uma chave única e submetida a urna operação
sirnples será criptografado de rnaneira diferente do texto ci- XOR corn o texto sin1ples para obter o texto cifrado, con10
frado a cada vez. Como ocorre no encadeamento de blocos mostra a Figura 8. l 8(a). Observe que o vetor de inicialização
de cifras, é necessário um vetor de inicialização para iniciar só é usado na primeira etapa. Depois disso, a saída é codifi-
o processo. cada. Observe também que o fluxo de chaves é independente
A decodificação com o modo de feedback de cifra dos dados, portanto pode ser calculado com antecedência, se
funciona exatarnente corno a codificação. Em pariicular, necessário, e é completamente insensível a erros de transmis-
o conteúdo do registrador de deslocan1ento é codificado, e são. A decodificação aparece na Figura 8. l 8(b).
não decodificado, e assim o byte selecionado que é subn1e- A decodificação ocorre quando se gera o mesn10 fluxo
tido à operação XOR com Cio para obter P 10 é o mesn10 que de chaves no lado receptor. Como o fluxo de chaves só de-
sofreu a operação XOR com P 10 para gerar Cio na pri1neira pende do vetor de inicialização e da chave, ele não é afetado
vez. Desde que os dois registTadores de desloca1nento per- por en·os de transmissão no texto cifrado. Desse n1odo, um
maneçam idênticos, a decodificação funciona correta111en- erro de l bit no texto cifrado transrnitido gera apenas um
te. Ela é ilustrada na Figura 8. l 7(b). erro de 1 bit no texto si1nples decodificado.
Un1 problema apresentado pelo modo de feedback de E' essencial nunca utilizar o nlesmo par (chave, vetor
cifra é que, se um bit do texto cifrado for invertido aciden- de inicialização) duas vezes em fluxo de cifras, porque isso
tahnente durante a transmissão, os 8 bytes decodificados vai gerar o mesmo fluxo de chaves o tempo todo. O uso du-
enquanto o byte defeituoso estiver no registrador de deslo- plicado de urn rnesmo fluxo de chaves expõe o texto cifrado
ca1nento serão danificados. Depois que o byte defeituoso for a urn ataque de reutilização de fluxo de chaves. In1agine
empurrado para fora do registrador de deslocarnento, o texto que o bloco de texto simples P0 seja codificado com o fluxo
simples correto será gerado mais uma vez. Desse modo, os de chaves para obter P0 XOR K 0 . Mais tarde, um segundo
efeitos de um único bit invertido são e1n parte localizados bloco de texto simples Q0 é codificado com o mesmo fluxo
e não danificam o restante da mensagem, mas danificam de chaves para obter Q0 XOR K0 . Um intruso que capturar
uma quantidade de bits igual à largura do registrador de an1bos os blocos do texto cifrado poderá sin1plesmente efe-
desloca1nento. tuar uma operação XOR dos dois juntos para obter P0 XOR
Capitulo 8 • Segurança de redes 503

IV IV
Caixa de codificação Caix a de codificação
/
Chave E Chave E

Fluxo de chaves Fluxo de chaves

~
Texto +' Texto Texto + Texto
simples ' - cifrado cifrado - simples
(a) (b)

Figura 8.18 Um fluxo de cifras. (a) Codificação. (b) Decodificação.

Q0 , o que eli1ninará a chave. Agora, o intruso tem o XOR 3. E não pode ser decifrado por u1n ataque de texto sim-
dos dois blocos de texto si1nples. Se um deles for conhecido ples escolh ido.
ou puder ser encontrado, o outro ta1nbém poderá ser encon-
O prin1eiro requisito diz que, se aplicarmos D a urna
trado. E1n todo caso, o XOR de dois fluxos de texto sin1-
1nensagem criptografada, E(P), obteremos outra vez a men-
ples poderá ser atacado co1n a utilização de propriedades
sage1n_ de texto si1nples original P. Sem essa propriedade,
estatísticas da 1nensagen1. Por exen1plo, no caso de texto
o destinatário legítimo não poderia decodificar o texto ci-
em inglês, o caractere 1nais coD1um oo fluxo provavelmente
frado. O segundo é autoexplicativo. O terceiro é necessário
será o XOR de dois espaços, seguido pelo XOR de espaço e
porque, como veremos e111 un1 minuto, os intrusos podem
da letra "e", etc. Em resumo, equipado com o XOR de dois
experin1entar o algorillno até se cansarem. Sob essas condi-
textos siinples, o criptoanalista tem uma excelente chance
ções, não há razão para a chave criptográfica não se tomar
de deduzi-los.
pública.
O método funciona da seguinte forma: uma pessoa,
digamos Alice, desejando receber mensagens secretas, pri-
8.6 ALGORITMOS DE meiro cria dois algoritmos que atendem aos requisitos an-
teriores. O algoritmo de criptografia e a chave de Alice se
CHAVE PÚBLICA tornam públicos, daí o nome criptografi a de chave públi-
Historicamente, o problema da distribuição de chaves sem- ca. Por exemplo, Alice poderia colocar sua chave pública
pre foi o elo mais fraco da maioria dos sistemas de crip- e1n sua home page da Web. Usaremos a notação E para
tografia. Independente1ne11te de quanto um sistema de indicar o algorit1no de criptografia parametrizado pel~ cha-
criptografia fosse sólido, se um intruso conseguisse roubar ve pública de Alice. De modo semelhante, o algoritmo de
a chave, o sistcn1a acabava sendo inútil. Os criptólogos descriptografia (secreto) parametrizado pela chave privada
sempre prcsu1ne1n que a chave de criptografia e a chave de Alice é D,.. Bob faz o n1cs1no, publicando E8 , mas n1an-
de descríptografia são iguais (ou facilmente derivadas uma tendo secreta a chave D8 •
da outra). Mas a chave tinha que ser distribuída a todos os Agora, va111os ver se poden1os resolver o problema de
usuários do siste1na. Assin1, tinha-se a impressão de que estabelecer u1n canal seguro entre Alice e Bob, que nunca
havia u1n problema inerente ao siste1na. As chaves tinha1n haviam tido u1n contato anterior. Tanto a chave de cripto-
de ser protegidas contra roubo, 1nas também tinham de ser grafia de Alice, E,., quanto a chave de criptografia de Bob,
distribuidas, portanto, não podia1n ser siinplesmente tranca- E°' estão em arquivos de leitura pública. Agora, Alice pega
das na caixa-forte de un1 banco. sua primeira mensagem P, calcula E8 (P) e a envia para Bob.
. Em 1976, dois pesquisadores da Stanford University, En1 seguida, Bob a descriptografa aplicando sua chave se-
D1ffie e Hellman ( 1976), propuseram um sistema de cripto- creta D 8 [ou seja, ele calcula D 8 (E8 (P)) = P]. Ninguém mais
grafia radicalmente novo, no qual as chaves de criptografia pode ler a mensage1n criptografada E8 (P), porque o sistema
e de descriptografia eram diferentes, e a chave de descrip- de criptografia é considerado sólido e porque é muito difi-
tografia não podia ser derivada da chave de criptografia. cil derivar 0 8 da chave E8 publicamente conhecida. Para
En1 sua proposta, o algoritmo de criptografia (chaveado) enviar uma resposta R, Bob transmite EA(R). Agora, Alice e
E e o algoritrno de descriptografia (chaveado) D tinham de Bob podem se comunicar com segurança.
atender a três requisitos, que podem ser declarados da se- Talvez seja interessante fazer uma observação sobre
guinte forma: a terminologia. A criptografia de chave pública exige que
cada usuário tenha duas chaves: u1na chave pública, usa-
da pelo mundo inteiro para criptografar as 1nensagens a

E extrema1nente difícil deduzir D a partir de E. ser enviadas para esse usuário, e uma chave privada, que
504 Redes de computadores

o usuário utiliza para descriptografar n1ensagens. Fare- simples en1 blocos de k bits, onde k é o maior inteiro para o
mos referência a essas chaves co1no chave pública e cha- qual 2* < /1 é verdadeiro.
ve privada, respectivamente, e va1nos distingui-las das Para criptografar a mensagem P, calcule C = p"
chaves secretas usadas na criptografia de chave sirnétrica (rnod n.). Para descriptografar C, calcule P = C' (mod n).
convencional. E' possível provar que, para todo P na faixa especificada, as
funções de criptografia e descriptografia são inversas entre
si. Para realizar a criptografia, você precisa de e e n., en-
8.6.1 RSA quanto para a descriptografia são necessários d e n. Portan-
O único problema é que temos de encontrar algoritmos que to, a chave pública consiste no par (e, n) e a chave privada
realmente satisfaça1n todos os três requisitos. Devido às consiste em (d, n).
vantagens potenciais da criptografia de chave pública, mui- A segurança do método se baseia na dificuldade de
tos pesquisadores estão se dedicando integralmente a seu fatorar nún1eros muito grandes. Se pudesse fatorar o valor
estudo, e alguns algoritmos já foratn publicados. Um méto- 11 (publicamente conhecido), o criptoanalista poderia então
do 1nuito interessante foi descoberto por um grupo de pes- encontrar p e q e, a partir deles, encontrar z. Com o conheci-
quisadores do MIT (Rivest et ai., 1978) e é conhecido pelas mento dez e e, é possível encontrar d utilizando-se o algo-
iniciais dos três descobridores (Rivest, Shamir, Adleman): ritmo de Euclides. Felizmente, os 1natemáticos têm tentado
RSA. Ele sobreviveu a todas as tentativas de quebra por fatorar números 1nuito grandes por pelo 1nenos 300 anos, e
rnais de 40 anos e é considerado um algoritmo 1nuito forte. o conheciinento acumulado sugere que o problen1a é extre-
Grande parte da segurança prática se baseia nele. Por isso, ma1nente dificil.
Rivest, Shamir e Adleman receberam o ACM Turing Award Na época, Rivest e seus colegas concluíram que a
de 2002. Sua principal desvantagem é exigir chaves de pelo fatoração de um nú1nero de 500 dígitos requer 1025 anos,
menos 2.048 bits para manter u1n bom nível de segurança usando-se a força bruta. Nesse caso, eles pressupõe1n o me-
(e1n co1nparação com 256 bits para os algoritinos de chave lhor algoritmo conhecido e u1n computador com um tempo
simétrica), e isso o torna bastante lento. por instrução de 1 µs. Com un1 milhão de chips trabalhando
O método RSA se baseia en1 alguns princípios da teo- em paralelo, cada um com um tempo de 1 ns por instrução,
ria dos números. Agora vamos mostrar de forma resumida ele ainda levaria l 0 16 anos. Mesmo que os computadores
como usá-lo; para obter mais detalhes, consulte o documen- continuetn a se tornar cada vez 1nais rápidos na proporção
to original. de uma ordem de grandeza por década, ainda se passarão
1. Escolha dois nú1neros primos grandes, p e q (geral- n1uitos anos até que a fatoração de um nún1ero de 500 dí-
mente, de 1.024 bits). gitos se torne viável e, nesse tempo, nossos descendentes
2. Calcule n = p x q e z = (p - 1) x (q - 1). poderão simplesmente escolher p e q ainda maiores. No en-
tanto, provavelmente não é surpresa que os ataques têm
3. Escolha um número d tal que z e d sejam primos entre
. tido progresso e agora são significativamente ruais rápidos.
SI.
Um exemplo didático muito co1nun1 do algorittno
4. Encontre e de forn1a que e x d = 1 mod z.
RSA é mostrado na Figura 8.19. Para esse exen1plo, esco-
Com esses parâmetros calculados co1n antecedência, lhen1os p = 3 e q = 11 , o que gera /1 = 33 e z = 20 (onde
esta1nos prontos para iniciar a criptografia. Divida o texto (3 - 1) x (11 - 1) = 20). Um valor adequado para d é d
simples (considerado un1a sequência de bits) em blocos, de = 7, visto que 7 e 20 não têm fatores comuns. Com essas
tnodo que cada mensagem de texto simples P fique no in- opções, e pode ser encontrado resolvendo-se a equação
tervalo O< P < n.. Isso pode ser feito agrupando-se o texto 7e = 1 (n1od 20), que produz e = 3. o texto cifrado e para

Texto simples (P) Texto cifrado (C) Após a decodificação

Simbólico Numérico p3 p3 (mod 33) c1 C7(mod 33) Simbólico

s 19 6859 28 13492928512 19 s
u 21 9261 21 1801088541 21 u
z 26 17576 20 1280000000 26 z
A 01 1 1 1 01 A
N 14 2744 5 78125 14 N
N 14 2744 5 78125 14 N
E 05 125 26 8031810176 05 E

Cálculo do transmissor Cálculo do receptor

Figura 8.19 Um exemplo do algoritmo RSA.


Capítulo 8 • Segurança de redes 505

uma mensagen1 de texto sin1ples Pé dado por C = p3 (1nod Outros esquemas de chave pública se baseiam na difi-
33). O texto cifrado é decodificado pelo receptor usando culdade de calcular logaritmos discretos ou em curvas elíp-
a regra P = C7 (mod 33). A figura mostra a codificação do ticas (Menezes e Vanstone, 1993). Os algoritmos que utili-
texto simples "SUZANNE" como exe1nplo. zam logaritmos discretos foram inventados por EI Gamai
Como os números primos escolhidos para esse exe1n- (1985) e Schnorr (1991 ). As curvas elípticas, enquanto isso,
plo são muito pequenos, P tem de ser rnenor que 33 - são baseadas en1 um ramo da mate1nática que não é muito
portanto, cada bloco do texto sirnples só pode conter um conhecido, exceto entre os ilu1ninados em curva elíptica.
caractere isolado. O resultado é uma cifra de substituição Existem alguns outros esquemas, mas os principais são
monoalfabética, que não impressiona nluito. Se em vez dis- aqueles que se baseiam na dificuldade de fatorar números
so tivéssemos escolhido p e q :::: 2512, teríamos n :::: 2 1º24 e as- extensos, calcular logaritrnos discretos cuja base é un1 núme-
sim cada bloco poderia ter até 1.024 bits ou 128 caracteres ro prüno extenso e e1n curvas elípticas. Esses proble1nas são
de 8 bits, em con1paração com 8 caracteres para o DES e 16 considerados de fato diflceis de resolver - os matemáticos
caracteres para o AES. estão estudando os algoritmos há anos sem grandes resul-
Devemos destacar que o uso do RSA da forma como tados. Em particular, as curvas elípticas têm muito interesse
descreve1nos é semelhante ao uso de um algoritmo simé- porque os problemas de algoritn1os discretos das curvas elíp-
trico no modo ECB - o mesmo bloco de entrada gera o ticas são ainda nlais diflceis do que os de fatoração. O rnate-
mesrno bloco de saída. Portanto, é necessário algum tipo de mático holandês Arjen Lenstra propôs urna maneira de com-
encadeamento para a criptografia de dados. No entanto, oa parar algoritmos criptográficos calculando quanta energia
prática, a maior parte dos sistemas baseados no RSA utiliza você precisa para quebrá-los. De acordo com esse cálculo,
a criptografia de chave pública, en1 especial para distribuir quebrar u1na chave RSA de 228 bits conso1ne a energia equi-
chaves únicas de sessão, que, por sua vez, são ernprega- valente à necessária para ferver menos do que uma colher de
das co1n algum algoritmo de chave sünétrica, como AES. chá de água. Quebrar urna curva elíptica desse comprimento
O RSA é lento demais para codificar grandes volu1nes exigiria tanta energia quanto você precisaria para ferver toda
de dados, 1nas é bastante utilizado para a distribuição de a água do planeta. Parafraseando Lenstra: co111 toda a água
chaves. evaporada, inclusive nos corpos dos supostos decifradores
de código, o problema perderia a força.

8.6.2 Outros algoritmos de chave pública


Apesar de ser utilizado em larga escala, o RSA não é de for- 8.7 ASSINATURAS DIGITAIS
ma algurna o único algoritmo de chave pública conhecido.
O primeiro foi o algoritn10 da 1nochila (Merkle e Hellman, A autenticidade de muitos documentos legais, financeiros e
1978). A ideia aqui é que alguém possui um grande número outros tipos é determinada pela presença de uma assinatura
de objetos, cada um com um peso diferente. O dono dos tnanual autorizada. Isso não vale para as fotocópias. Para
objetos codifica a mensagem selecionando secreta1nente que os sistemas de mensagens cornputadorizadas possam
um subconjunto dos objetos e colocando-os na mochila. substituir o transporte físico de documentos em papel e
O peso total dos objetos na mochila torna-se públ ico, e o tinta, deve-se encontrar um método que permita assinar os
mes1no acontece com a lista de todos os objetos possíveis. docu1nentos de urn modo que não possa ser forjado.
A lista de objetos da mochila é nlantida e1n segredo. Co1n O problema de criar u1n substituto para as assioaturas
outras restrições, o proble1na de descobrir un1a lista de ob- escritas à n1ão é muito difícil. Basicarnente, necessita-se de
jetos possíveis co1n o peso fornecido foi considerado com- un1 sistema pelo qual uma parte possa enviar un1a nlensa-
putacionalmente inviável e formou a base do algoritmo de gem assinada para outra parte de forma que:
chave pública. 1. O receptor possa verificar a identidade alegada pelo
O inventor do algoritmo, Ralph Merkle, estava bastan- transmissor.
te seguro de que ele não poderia ser decifrado, assim, ofe- 2. Mais tarde, o transmissor não possa repudiar o con-
receu u1n prêmio de 100 dólares a quem conseguisse fazê- teúdo da mensagem.
-lo. Adi Sha1nir (o "S" do RSA) se prontificou a decifrar o
3. O receptor não tenha a possibilidade de inventar ele
algoritmo e ganhou o prên1io. Indignado, Merkle reforçou
rnesmo a mensagem.
o algoritmo e ofereceu um prêmio de 1.000 dólares a quem
pudesse decifrá-lo. Ronald Rivest (o "R" do RSA) também Por exemplo, o primeiro requisito diz respeito a sis-
conseguiu decifrá-lo e ganhou o prêmio. MerkJe não ou- temas financeiros. Quando o co1nputador de um cliente
sou oferecer 10.000 dólares pela nova versão revisada, e pede ao de um banco que compre uma tonelada de ouro,
"A" (Leonard Adle1nan) não teve a n1es1na so11e dos outros. o computador do banco precisa se certificar de que o com-
Apesar de ter sido refeito, o algoritmo da nlochila não é putador que e1nitiu o pedido pertence de fato à empresa de
mais considerado seguro e não é usado na prática. cuja conta um valor deve ser debitado. E1n outras palavras,
506 Redes de computadores

os bancos precisan1 autenticar o cliente (e o cliente precisa e assin1 por diante. Caso você esteja perdido com todas as
autenticar o banco). notações, símbolos e subscritos, dê uma olhada na Figura
O segundo requisito é necessário para proteger o 8.20, que resume as notações mais importantes para esta e
banco contra fraudes. Suponha que o banco compre uma as próximas seções.
tonelada de ouro e que logo depois disso o preço do ouro Quando deseja enviar tnna mensagem em texto sim-
caia bruscamente. Um cliente desonesto poderia processar ples assinada, P, ao gerente de sua conta, que é Bob, Alice
o banco, afim1ando nunca ter feito nenhun1 pedido para a gera KA (B, RA, t, P), onde B é a identidade de Bob, R,, é
con1pra de ouro. Quando o banco 1nostra a 1nensagem no um nútnero aleatório escolhido por Alice, t é um registro
tribunal, o cliente nega tê-la enviado. A propriedade segun- de te1npo para garantir a atualidade e K,, (B, RA, t, P) é a
do a qual nenhun1a parte de um contrato pode negar mais mensage1n criptografada con1 sua chave, K". E1n seguida,
tarde tê-lo assinado é chamada de não repúdio. Os esque- ela envia a 1nensagem da 1naneira descrita na Figura 8.21.
mas de assinatura digital que estudaren1os agora ajudan1 a BB vê que essa mensagem veio de Alice, descriptografa a
garanti-lo. mensagem e a envia a Bob, como mostramos. A mensagem
O terceiro requisito é necessário para proteger o clien- para Bob contém o texto simples da mensagem de Alice
te caso o preço do ouro dispare e o banco tente montar uma e tambén1 a 1nensagem assinada K 88 (A, t, P). Agora Bob
mensagem assinada na qual o cliente pedia uLna barra de executa a solicitação de Alice.
ouro e1n vez de uma tonelada. Nesse cenário de fraude, o O que acontecerá se mais tarde Alice negar ter envia-
banco sin1plesmente guarda para si próprio o restante do do a mensagem? Na etapa 1, todo mundo processa todo
ouro. n1undo (pelo 1nenos nos Estados Unidos). Por fim, quan-
do o caso parar nos tribunais e Alice continuar negando ter
enviado a mensagem a Bob, o juiz perguntará a Bob como
8.7.1 Assinaturas de chave simétrica ele pode ter certeza de que a mensagem veio de Alice e não
Uma estratégia para as assinaturas digitais é ter un1a autori- de Trudy. Pri1neiro, Bob destaca que BB só aceitará uma
dade central que saiba de tudo e na qual todos confien1, di- mensage1n de Alice se ela tiver sido criptografada co1n KA.
gamos, Big Brother (BB). E1n seguida, cada usuário escolhe Portanto, não há possibilidade de Trudy ter enviado a BB
uma chave secreta e a leva para o escritório do BB. Assim, uma mensagem falsa no lugar de Alice sem que BB detec-
somente AI ice e BB conhece1n a chave secreta de Alice, KA, tasse esse fato de imediato.

Termo Descrição
A Alice (remetente)
8 8ob, o gerente do banco (destinatário)
p Mensagem em texto simples que Alice deseja enviar
88 8ig 8rother (uma autoridade central e confiável}
t Registro de tempo (para garantir a atualidade)
Número aleatório escolhido por Alice
Chave simétrica
Chave secreta de Alice (semelhante para K8 , K88 , etc.)
Mensagem M codificada/decodificada com a chave secreta de Alice
Chaves assimétricas
Chave privada de Alice (semelhante para 0 8 , etc.)
Chave pública de Alice (semelhante para E8 , etc.)
Mensagem M codificada/decodificada com a chave privada de Alice
Mensagem M codificada/decodificada com a chave pública de Alice
'
Sumário
MD(P) Sumário da mensagem de texto simples (P)

Figura 8.20 Alice deseja enviar uma mensagem ao seu banco: uma legenda de chaves e símbolos.
Capítulo 8 • Segurança de redes 507

1
A, KA (B, RA, t, P)
<1> J:J
O)
.2 O) o
<( O)
2
Ka (A, RA• t, P, Kaa (A, t, P))

Figura 8.21 Assinaturas digitais com Big Brother.

Em seguida, drasticamente, Bob apresenta a Prova A: que os algoritmos de criptografia e descriptografia de chave
K88 (A , t, P). Bob afirma tratar-se de urna mensagern as- pública tenharn a propriedade de que E(D(P)) = P alérn, é
sinada por BB que prova o fato de Alice ter enviado P a claro, da propriedade habitual de que D(E(P)) = P. (O RSA
Bob. Em seguida, o juiz solicita que BB (em quem todos tem essa propriedade, portanto, a suposição não é irracio-
confiam) descriptografe a Prova A. Quando BB testemunha nal.) Supondo-se que seja esse o caso, Alice pode enviar
que Bob está dizendo a verdade, o juiz decide a favor de urna mensagem de texto s imples assinada, P, para Bob
Bob. Caso encerrado. transmitindo E8 (D,, (P)). Observe atentarnente que Alice
Un1 problema e1n potencial con1 o protocolo de assi- conhece sua própria chave de descriptografia (privada), DA,
natura da Figura 8.21 é Trudy repetir urna das nlensagens. assim como a chave pública de Bob, E8 , portanto, a criação
Para minimizar esse risco, são utilizados registros de tempo dessa 1nensagem é algo que Alice pode fazer.
em todas as mensagens. Além disso, Bob pode verificar to- Quando recebe a rnensagem, Boba transforma usando
das as rnensagens rnais recentes para ver se RAfoi usada em sua chave privada e produz D,1 (P), como mostra a Figura
algurna delas. Caso isso tenha acontecido, a mensagem será 8.22. Ele guarda esse texto em um lugar seguro e depois
descartada por ser uma repetição. Observe que Bob rejeita- apl ica E,, para obter o texto simples original.
rá as mensagens muito antigas ao verificar seus registros de Para ver como a propriedade de assinatura funciona,
tempo. Para se proteger contra ataques de repetição repen- suponha que depois Alice negue ter enviado a mensagem
tinos, Bob verifica R,, em cada uma das rnensagens recebi- P para Bob. Quando o caso chegar aos tribunais, Bob po-
das para ver se a mensagem foi enviada por Alice durante a derá produzir tanto P quanto DA(P). O juiz pode confirmar
última hora. Caso contrário, Bob pode pressupor com toda com faci lidade que Bob certamente tern uma rnensagem
segurança que essa solicitação é nova. válida criptografada por DA, sirnplesmente aplicando EA à
1nensage111. Con10 Bob não sabe qual é a chave privada de
Alice, a única fonna de Bob ter adquirido uma mensagem
8.7.2 Assinaturas de chave pública criptografada por essa chave seria se Alice de fato a tivesse
Un1 problen1a estrutural com o uso da criptografia de chave enviado. Enquanto estiver presa por perjúrio e fraude, Alice
simétrica para assinaturas digitais é que todos tê1n de confiar terá bastante tempo para inventar novos algoritinos de cha-
no 'Big Brother. Além disso, Big Brother tem de ler todas as ve pública muito interessantes.
mensagens assinadas. Os candidatos rnais lógicos à execu- Apesar de a utilização da criptografia de chave públi-
ção do servidor Big Brother são o governo, os bancos, os ca para assinaturas digitais ser um esquema elegante, bá
contadores e os advogados. Infeliz1nente, nenhurna dessas problernas relacionados ao arnbiente onde elas operam e
organizações inspira total confiança a todos os cidadãos. Por não ao algoritmo básico. De un1 lado, Bob só poderá pro-
isso, seria interessante se o ato de assinatura de documentos var que uma mensagem foi enviada por Alice enquanto D,,
não exigisse a presença de uma autoridade confiável. pennanecer secreta. Se Alice revelar sua chave secreta, o
Felizinente, a criptografia de chave pública pode tra- argumento deixará de existir, pois qualquer um poderia ter
zer uma importante contribuição nessa área. Varnos supor enviado a mensagem, inclusive o próprio Bob.

Linha de transmissão
Computador de Alice Computador de Bob

Chave Chave Chave Chave


p privada de pública de privada de pública de p
Alice, DA Bob, E8 Bob,08 Alice, EA

Figura 8.22 Assinaturas digitais com o uso da criptografia de chave pública.


508 Redes de computadores

Por exemplo, pode ocorrer u1n problema se Bob for Esse esquema se baseia na ideia de un1a função hash
o corretor de ações de Alice. Suponha que Alice solicite a unidirecional que extrai um trecho qualquer do texto sim-
Bob que ele compre ações ou títulos de determinada em- ples e, a partir dele, calcula uma sequência de bits de tan1a-
presa. Logo depois disso, o preço cai bruscamente. Para nho fixo. Essa função hash, representada por MD (Message
repudiar a mensage1n que enviou a Bob, Alice vai à polícia Digest), geralmente é cha1nada de sumário da mensagem
afirn1ando que sua casa foi assaltada, e o PC que continha e te1n quatro propriedades in1portantes:
sua chave foi roubado. Dependendo das leis do estado ou
1. Se P for fornecido, o cálculo de MD(P) será fácil.
do país onde mora, ela poderá ou não ser legalmente pro-
cessada, e1n especial se afirmar que só descobriu o roubo 2. Se MD(P) for fornecido, será efetivamente impossível
quando chegou em casa após o trabalho, 1nuitas horas de- encontrar P.
pois do ocorrido. 3. Dado P, ninguém pode encontrar P' tal que MD(P')
Outro proble1na com o esquema de assinatura é o que = MD(P).
acontecerá se Alice decidir alterar sua chave. Isso é legal, e 4. U1na mudança na enti·ada de até 1nes1no 1 bit produz
provavelmente é tuna boa ideia fazê-lo de vez em quando. uma saída 1nuito diferente.
Se mais tarde surgir u1n caso jurídico, como descreven1os Para atender ao critério 3, a função hash deve ter pelo
antes, o juiz aplicará a EAatual a DA(P) e descobrirá que 1nenos 128 bits, de preferência 1nais. Para atender ao crité-
ela não produz P. Nesse momento, a situação de Bob ficará
rio 4, o hash deve desfigurar completamente os bits, o que
complicada. não é diferente dos algorittnos de criptografia de chave si-
Em princípio, qualquer algoritmo de chave pública métrica que vimos.
pode ser usado para assinaturas digitais. O padrão de fato Calcular um sumário da mensage1n a partir de um tre-
do setor é o algoritino RSA. Muitos produtos de segurança cho de texto simples é muito mais rápido que criptografar
o utilizam. No entanto, e1n 1991, o NIST propôs a utili- esse texto simples com um algoritmo de chave pública -
zação de 111na variante do algoritmo de chave pública de portanto, os sumários de 1nensagens pode1n ser usados para
El Ga1nal e1n seu novo padrão, o DSS (Digital Signature agilizar algoritn1os de assinatura digital. Para ver co1no isso
Standard). O EI Ga1nal obtém sua segurança a partir da funciona, considere mais uma vez o protocolo de assina-
dificuldade de calcular logaritmos discretos, e não da difi- tura da Figura 8.21 . Em vez de assinar P com K 88(A, t, P),
culdade de fatorar números muito extensos. agora BB calcula o surnário da 1nensagem aplicando MD
Como sempre acontece quando o governo tenta ditar a P, produzindo J\1D(P). En1 seguida, BB inclui K88(A , t,
padrões criptográficos, houve um tu1nulto. O DSS foi cri- MD(P)) como o quinto item da lista criptografada com K 8
ticado por ser: que é enviada a Bob, em vez de K 88(A, t, P).
1. Secreto de1nais (a NSA projetou o protocolo para uti- Se houver uma contestação, Bob poderá produzir
lizar o El Gan1al). tanto P quanto K88(A, t, MD(P)). Depois que Big Brother
2. Lento demais (10 a 40 vezes mais lento do que o RSA tiver descriptografado o item para o juiz, Bob terá MD(P)
para verificar assinaturas). que, certamente, é genuíno, além do P alegado. No entan-
to, como é i1npossível para Bob enconti·ar outra mensage1n
3. Novo de1nais (o El Ga1nal ainda não foi analisado por
que produza esse hash, o juiz será facilmente convencido
completo).
de que Bob está falando a verdade. A utilização de sumários
4. Inseguro demais (chave fixa de 5 12 bits). de tnensagens dessa for1na poupa tempo de criptografia e
E1n uma versão posterior, o quarto ponto rendeu reduz os custos com o transporte de mensagens.
muita discussão quando foram permitidas chaves com até Sumários de mensagens ta1nbém funcionam em siste-
1.024 bits. Apesar disso, os dois primeiros pontos perma- mas de criptografia de chave pública, como mostra a Figura
necem válidos. 8.23. Aqui, primeiro Alice calcula o sumário da mensagem
de seu texto simples. E1n seguida, ela assina a 1nensagem e

8.7.3 Sumário de mensagens


Uma crítica aos métodos de assinatura é que eles freq uen-
temente reúnem duas funções distintas: autenticação e sigi- CI> .o
lo. En1 geral, a autenticação é necessária, mas o sigilo nem o P, DA (MD (P)) o
~ al
sempre é necessário. Alén1 disso, obter tuna licença para
exportação normalmente é mais fácil se o sistema e1n ques-
tão oferecer apenas autenticação, 1nas não sigilo. A seguir,
descreveremos um esque1na de autenticação que não exige Figura 8.23 Assinaturas digitais utilizando sumários de
a criptografia da 1nensage111 inteira. mensagens.
Capítulo 8 • Segurança de redes 509

envia tanto a con1pilação assinada quando o texto sin1ples a são hashes maiores do que hashes SHA-1, n1as a função
Bob. Se Trudy substituir P durante a operação, Bob perce- de sumário foi mudada para combater alguns pontos fracos
berá a troca quando calcular MD(P). em potencial do SHA-1, que são muito sérios. Em 2017,
o SHA- l foi quebrado por urna equipe de pesquisadores
SHA-1, SHA-2 e SHA-3 Google e o centro de pesquisa CWI e1n A1nsterdã. Espe-
cificamente, os pesquisadores conseguiram gerar colisões
Diversas funções para o sumário da mensagem foram pro- hash, basicamente n1atando a segurança do SHA-1. Não
postas. Por 1nuito te1npo, uma das funções 1nais utilizadas foi surpresa que o ataque tenha levado a u1n interesse maior
era SHA-1 (Secure Hash Algorithm 1) (NIST, 1993). An- no SHA-2.
tes de começarmos nossa explicação, é importante observar Em 2006, o NIST começou a organizar uma cornpe-
que SHA-1 foi quebrado ern 2017 e agora está sendo substi- tição para um novo padrão hash, que agora é conhecido
tuído por n1uitos siste1nas, mas veja mais sobre isso adiante. como SHA-3. A competição foi encerrada em 2012. Três
Como en1 todos os sun1ários de mensagens, SHA-1 opera anos depois, o novo
,
padrão SHA-3 ("Keccak") foi publica-
tratando os bits de uma maneira suficiente1nente complica- do oficialtnente. E interessante que o NIST não tenha suge-
da, de modo que cada bit da saída seja afetado por cada bit rido que jogássemos o SHA-2 no lixo e passássemos para
da entrada. SHA-1 foi desenvolvido pela NSA e ratificado o SHA-3, pois ainda não houve ataques bem-sucedidos ao
pelo NIST no FlPS 1801. Ele processa os dados de entrada SHA-2. Mesmo assim, é bom ter um substituto por perto,
em blocos de 512 bits e gera u1n sun1ário da n1ensagem de caso haja necessidade.
160 bits. Um 1nodo típico de Alice enviar uma 1nensagem
não secreta, mas assinada, para Bob é ilustrado na Figu-
ra 8.24. Nela, sua mensagem de texto simples é alimenta- 8.7.4 Oataque do aniversário
da no algoritmo SHA-1 para obter um hash de SHA-1 de No mundo da criptografia, nada é o que parece. Talvez você
160 bits. En1 seguida, Alice assina o hash corn sua chave esteja pensando que são necessárias aproxi1nada1nente 2111
privada RSA e envia a mensagem de texto sin1ples e o hash operações para subverter um sumário de n1ensagem de 1n
assinado para Bob. bits. Na verdade, normalmente 211112 operações serão sufi-
Depois de receber a mensagem, Bob calcula o hash cientes utilizando-se o ataque do aniversário, urn méto-
SHA-1 e também aplica a chave pública de Alice ao hash do publicado por Yuval ( 1979) no clássico artigo "How to
assinado para obter o original, H. Se os dois corresponde- Swindle Rabin" (Como enganar Rabin).
rem, a 1nensagem será considerada válida. Tendo en1 vista Lembre-se, pela nossa discussão anterior sobre o ata-
que não há nenhu1n meio para Trudy modificar a mensa- que do aniversário do DNS, que se houver algum mapea-
gem (de texto simples) enquanto ela estiver e1n trânsito e mento entre as entradas e as saídas, com n entradas (pes-
produzir uma nova mensagem com hash H, Bob pode de- soas, mensagens, etc.) e k saídas possíveis (aniversários,
tectar com facilidade quaisquer mudanças que Trudy tenha sumários de mensagens, etc.), haverá n(n - 1)/2 pares de
feito na mensagem. Para mensagens cuja integridade seja entrada. Se n(n - 1)/2 > k, a chance de haver pelo menos
irnportante, mas cujo conteúdo não seja secreto, o esquema uma correspondência será 1nuito boa. Portanto, fazendo
da Figura 8.24 é bastante utilizado. Por um custo relativa- uma aproximação, é provável que haja uma correspondên-
mente pequeno em cornputação, ele garante que as modi- cia para n > -..fk. Esse resultado significa que provavehnente
ficações feitas na rnensagem de texto siinples em trânsito um sumário da mensagem de 64 bits possa ser quebrado
sejam detectadas com probabilidade muito alta. gerando-se 23'- mensagens e procurando-se duas mensagens
' .
Novas versões de SHA-1 foram desenvolvidas para com o 1nesmo sumano.
produzir hashes de 224, 256, 384 e 512 bits. Coletivamen- Agora, vejamos urn exemplo prático. O departamento
te, essas versões são charnadas SHA-2. Não apenas esses de Ciência da Cornputação da State University nos Estados

Chave privada
de Alice, DA
Mensagem
M de texto Hash SHA-1 de
simples 160 bits de M Hash assinado
de Alice
(qualquer
H .. Enviado
tamanho}
a
Bob

Figura 8.24 Utilização do SHA-1 e do RSA para assinar mensagens não secretas.
510 Redes de computadores

Unidos teni urna única vaga estável para dois professores [itnediatarnente 1 este ano]. Eu [conheço 1 trabalho com.]
candidatos, Tom e Dick. Tom foi contratado dois anos antes Tom há seis anos. Ele é um [inco111petente 1 mau] pesquisa-
de Dick e, portanto, é convocado para os testes primeiro. dor, não é bem visto em sua [especialidade J área]. Sua pes-
Se ele for aprovado, Dick será descartado. Tom sabe que quisa [rara1nente J esporadicamente] mostra [bom -senso 1
a chefe de seu departa1nento, Marilyn, gosta 1nuito do tra- conhecilnento] dos [principais 111ais itnportantes] proble-
J

balho dele, por isso, ele pede a ela que escreva urna carta mas atuais.
de recomendação ao reitor, que tomará a decisão a respeito Ele não é u1n [professor 1 educador] [bastante 1 muito]
do cargo. Depois de enviadas, todas as cartas passam a ser [respeitado 1 admirado]. Seus alunos fazem [duras 1 pesa-
confidenciais. das] críticas de [suas aulas 1 seus cursos]. Ele é o [professor
Marilyn pede a sua secretária, Ellen, que escreva a 1 orientador] mais impopular [da universidade 1 do depar-
carta para o reitor, fazendo tun esboço do que deseja. Quan- tamento] devido à sua [tendência 1 propensão] a [ridicula-
do a carta está pronta, Marilyn a revisa, calcula e assina o rizar 1 ernbaraçar] os alunos que fazem perguntas em suas
su1nário de 64 bits e a envia ao reitor. Ellen pode enviar a aulas.
carta mais tarde pelo correio eletrônico. [Alé1n disso 1 Aléni do niais], To1n é u1n ad1ninistra-
Infelizmente para Tom, Ellen está envolvida emocio- dor [terrível lfi·aco]. [Seus contratos 1 Suas concessões]
nalmente com Dick e gostaria que Tom fosse desca1tado; trouxera1n apenas uma [insignificante 1 pequena] quantia
assim, escreve a carta a seguir co1n as 32 opções entre em dinheiro para [o 1 nosso] departamento. A menos que
colchetes. mais [verbas Jfundos] sejam [alocadas J alocados], tere-
mos de cancelar alguns programas essenciais, tais co1no
Caro Sr. Reitor,
seu programa Universidade 2025. Infelizmente, sob essas
Esta [carta J mensagem] tem corno objetivo expres-
[condições 1 circunsláncias], não posso recomendá-lo em
sar minha [honesta !franca] opinião a respeito do professor
sa...., consc1'"'enc1a -
. para essa pos1çao.
.
Toni Wilson, que [é J está] [candidato 1 prestes] [para 1 a]
obter uma vaga permanente nesta universidade [ilnediata- Ellen passa o programa etn seu computador para cal-
rnente 1 este ano]. Eu [conheço J trabalho corn] o professor cular os 232 sumários de mensagens de cada carta durante
Wilson há seis anos. Ele é um [destacado 1 excelente] pes- a noite. Há chances de que u1n sumário da pri1neira carta
quisador de grande [talento 1 capacidade] [rnundialrnente 1 corresponda a um sumário da segunda carta. Caso isso não
internacionalrnente] conhecido por suas [brilhantes 1 cria- aconteça, ela poderá incluir algumas outras opções e tentar
tivas] ideias a respeito de [111uitos 1 urna grande variedade de novo durante o fim de semana. Suponha que ela encon-
de] problemas [dificeis J co1nplicados]. tre unia correspondência. Vamos chamar a carta "boa" de A
Ele tarnbétn é um [professor J educador] [bastante 1 e a "ruim" de B.
muito] [respeitado J ad1nirado]. Seus alunos fazem críticas Em seguida, pelo correio eletrônico, Ellen envia a
[rnaravilhosas 1 espetaculares] de [suas aulas 1 seus cur- carta A a Marilyn para que seja aprovada. Ela nianténi a
sos]. Ele é o [professor J orientador] [rnais querido 1nais
J
carta B completa1nente secreta, sem mostrá-la a ninguém.
conhecido] [da universidade J do departa111ento]. É claro que Marilyn aprova a carta, calcula seu sumário da
[Alé111. disso J Alérn do 1nais], o professor Wilson é um mensagem de 64 bits, assina o sumário e envia-o assinado
[grande !fantástico] adniinistrador. [Seus contratos 1 Suas ao reitor S1nith utilizando o co1Teio eletrônico. De maneira
concessões] trouxeram uma [grande 1 substancial] quantia independente, Ellen envia a carta B ao reitor (não a carta A,
em dinheiro para [o 1 nosso] departamento. [Esse dinheiro como deveria fazer).
J Esses fundos] Í}Jernlitiu 1 per1nitira1n] que [criássemos 1
Depois de obter a carta e o su1nário da niensagem as-
realizásse111os] muitos programas [especiais 1 ünportantes],
sinado, o reitor executa o algoritmo de swnário da mensa-
[tais co1no 1 por exe1nplo] o progrania Universidade 2025.
gem na carta B, observa que ela corresponde ao sumário
Sem esses fundos, [seríarnos incapazes 1 não seríarnos ca-
que Marilyn enviou e despede Tom. O reitor não perce-
pazes] de dar continuidade a esse programa, que é tão [iln-
be que Ellen gerou duas cartas com o 1nes1no sumário da
portante 1essencial] para nós. Afirmo ao senhor que ele é o
mensagem e enviou a ele uma mensageni diferente da que
profissional mais adequado para essa posição.
Marylin viu e aprovou. (Final opcional: Ellen conta a Dick
Infelizmente para Tom, assim que acaba de redigir e digitar o que fez. Dick não gosta do que ouve e termina o natno-
essa carta, Ellen tan1bém digita a seguinte carta: ro com ela. Ellen fica furiosa e confessa tudo a Marilyn.
Marilyn telefona para o reitor. To1n acaba ficando com o
Caro Sr. Reitor, cargo.) Com o SHA-2, o ataque do aniversário se ton1a difí-
Esta [carta J mensage1n] tem como objetivo expres- cil, pois, 1nesmo com a velocidade ridícula de um trilhão de
sar minha [honesta Jfi·anca] opinião a respeito do profes- sumários por segundo, seriam necessários 32 1nil anos para
sor To1n Wilson, que [é 1 está] [candidato 1 prestes] [para calcular todos os 280 sumários de duas cartas coni 80 va-
J a] assumir u1na vaga permanente nesta universidade riantes cada u1na e, de qualquer forma, não poderíamos ter
Capítulo 8 • Segurança de redes 511

certeza de que haveria uma con·espondência. E' claro que, a 1nensagem a Bob, que não sabe que ela está lendo suas
con1 uma nuven1 de 1 1nilhão de chips trabalhando e1n para- mensagens recebidas. Pior ainda, Trudy poderia modificar
lelo, 32 mil anos se transformam em duas semanas. as mensagens antes de recodificá-las para Bob. E' claro que
há necessidade de algum mecanismo para garantir que as
chaves públicas possa1n ser trocadas en1 segurança.

8.8 GERENCIAMENTO DE
CHAVES PÚBLICAS 8.8.1 Certificados
Como uma primeira tentativa de distribuir chaves públicas
A criptografia de chave pública to111a possível a co1nuni- com segurança, podería1nos imaginar um centro de distri-
cação segura a pessoas que não compartilha1n uma chave buição de chaves, KDC (Key Distribution Center), dispo-
co1nu1n, e també1n possibilita a assinatura de mensagens nível on-line 24 horas por dia, a fi1n de prestar esse serviço
sem a presença de u1na terceira parte confiável. Finalmente, por de1nanda. Un1 dos 1nuitos proble1nas com essa solução
os sumários assinados das mensagens permitem verificar é o fato de ela não ser escalável, e o centro de distribuição
co1n facilidade e segurança a integridade de mensagens de chaves rapidarnente se tornaria wn gargalo. Alérn disso,
recebidas. se ele ficasse inativo, a segurança da Internet seria paralisa-
Contudo, existe um problema que ignoramos até aqui: da repentinamente.
se Alice e Bob não conhecen1 um ao outro, co1no eles vão Por esses motivos, as pessoas desenvolveram uma so-
obter as respectivas chaves públicas para iniciar o processo lução diferente, que não exige que o centro de distribuição
de comunicação? A solução óbvia - colocar a chave públi- de chaves esteja on-line o ten1po inteiro. De fato, ele não
ca no site - não funciona pela seguinte razão: suponha que precisa estar on-line de modo algwn. Em vez disso, ele cer-
Alice queira pesquisar a chave pública de Bob em seu site. tifica as chaves públicas pertencentes a pessoas, empresas
Como ela fará isso? Be1n, Alice co1neça digitando o URL e outras organizações. Uma organização que certifica cha-
de Bob. Seu navegador então pesquisa o endereço DNS da ves públicas é chamada autoridade de certificação, ou CA
ho1ne page de Bob e lhe envia uma solicitação GET, como (Certification Authority).
mostra a Figura 8.25. Infelizmente, Trudy intercepta a so- Como um exemplo, suponha que Bob queira permitir
licitação e responde con1 uma home page falsa, talvez uma que Alice e outras pessoas que ele conhece se co1nuniquem
cópia da de Bob, exceto pela substituição da chave pública co1n ele de forn1a segura. Ele pode ir à CA co1n sua cha-
de Bob pela chave pública de Trudy. Quando Alice codi- ve pública e seu passaporte ou algun1 outro docun1ento de
fica sua primeira 1nensage1n com ET> ela a decodificará, identidade e solicitar a certificação. A CA emite então um
lerá e recodificará com a chave pública de Bob, enviando certificado semelhante ao da Figura 8.26 e assina seu hash

1. Obter a home page de Bob

2. Home page falsa com Er


Alice - Trudy Bob
3. Er{Mensagem)
4. E8 (Mensagem)

Fígura 8.25 Um modo de Trudy subverter a criptografia de chave pública.

Certifico que a chave pública


19836A8B03030CF83737E3837837FC3s87092827262643FFA82710382828282A
pertence a
Robert John Smith
12345 University Avenue
Berkeley, CA 94 702
Nascimento: 4 de julho de 1958
E-mail: bob@superdupernet.com
Hash SHA-1 do certificado acima assinado com a chave privada da CA

Fígura 8.26 Um certificado possível e seu hash assinado.


512 Redes de computadores

SHA-2 com a chave privada da CA. Em seguida, Bob paga un1 certificado com u1n mapa de bits dos n1étodos que ele
a taxa da CA e obtém um documento contendo o certificado te1n permissão para invocar e vincular o mapa de bits a
e seu hash assinado (de preferência, não enviado por canais uma chave pública, usando un1 certificado assinado. Mais
não confiáveis). uma vez, se o proprietário do certificado puder provar a
A principal função de wn certificado é vincular uma posse da chave privada con·espondente, ele terá permissão
chave pública ao no1ne de um protagonista (indivíduo, en1- para executar os métodos no mapa de bits. Essa abordagem
presa, etc.). Os certificados em si não são secretos ou prote- tem a propriedade de que a identidade do proprietário não
gidos. Por exemplo, Bob poderia decidir colocar seu novo precisa ser conhecida, uma característica útil em situações
certificado em seu site, com um link na página principal nas quais a privacidade é importante.
informando: clique aqui para ver meu certificado de chave
pública. O clique resultante retomaria o certificado e o blo-
co de assinatura (o hash SHA-2 assinado do certificado). 8.8.2 X.509
Agora, vamos percorrer o cenário da Figura 8.25 no- Se todos os que quisessem algo assinado fossem à CA com
van1ente. Quando Trudy intercepta a solicitação de Alice u1n tipo de certificado diferente, logo se tomaria um pro-
para a home page de Bob, o que ela pode fazer? Trudy blema administrar todos os formatos . Para resolver esse
pode inserir seu próprio certificado e seu bloco de assina- problema, foi criado e aprovado pela International Tele-
tura na página falsa; porén1, quando Alice ler o certifica- comrnunication Union (ITU) um padrão para certificados.
do, verá imediatamente que não está se comunicando com O padrão é chamado X.509 e seu uso está difundido na
Bob, porque o no1ne de Bob não está no certificado. Trudy Internet. Ele passou por três versões desde a padronização
pode modificar a home page de Bob durante a execução, inicial, e1n 1988. Va1nos descrever a versão 3.
substituindo a chave pública de Bob por sua própria cha-
O X.509 foi 1nuito influenciado pelo mundo OSI, e
ve. Contudo, quando Alice executar o algoritmo SHA-2 no
toma emprestadas algumas de suas piores características
certificado, ela obterá un1 hash que não corresponde ao que
(p. ex., non1enclatura e codificação). De modo surpreen-
ela recebe ao aplicar a chave pública conhecida da CA ao
dente, a IETF aceitou o X.509, embora e1n quase todas as
bloco de assinatura. Como Trudy não ten1 a chave privada
outras áreas, desde endereços de máquina até protocolos de
da CA, ela não tem 1neios de gerar um bloco de assinatura
transporte e fonnatos de correio eletrônico, ela tenha igno-
que contenha o hash da página Web modificada com sua
chave pública. Desse n1odo, Alice pode estar certa de que rado o OSJ e tentado fazer tudo da 1naneira ceita. A versão
possui a chave pública de Bob e não a de Trudy ou de outra da TETF do X.509 é descrita na RFC 5280.
pessoa. Co1no afirma1nos, esse esquen1a não exige que a Em seu núcleo, o X.509 é um modo de descrever cer-
CA esteja on-line para verificação, elin1inando assin1 um tificados. Os principais campos em um certificado estão lis-
gargalo em potencial. tados na Figura 8.27. As descrições dadas na figura devem
Embora a função padrão de um certificado seja vincu- dar uma ideia geral do significado dos campos. Para ob-
lar uma chave pública a um protagonista, ele também pode ter mais informações, consulte o próprio padrão ou a RFC
ser usado para vincular uma chave pública a un1 atributo. 2459.
Por exe1nplo, um certificado poderia afirmar: "esta chave Por exemplo, se Bob trabalhasse no depattamento de
pública pertence a alguém co1n mais de 18 anos". Ela pode empréstimos do Money Bank, seu endereço X.500 poderia
ser usada para provar que o proprietário da chave privada ser:
não é menor de idade e, portanto, pode acessar material não /C=US/O=MoneyBank/OU=Loan/CN=Bob/
apropriado para crianças, e assim por diante, mas sem re-
velar a identidade do proprietário. Em geral, a pessoa que onde C é o país, O é a organização, OU é a unidade organi-
tivesse o certificado o enviaria ao site, ao protagonista ou zacional e CN é o nome co1nu1.n. As CAs e outras entidades
ao processo que solicitasse informações sobre a idade. Esse são identificadas de modo semelhante. Um problema signi-
site, protagonista ou processo geraria então um número ficativo com os non1es X.500 é que, se Alice estiver tentan-
aleatório e o codificaria com a chave pública no certificado. do entrar em contato co1n bob@moneybank.com e receber
Se o proprietário fosse capaz de decodificá-lo e enviá-lo um certificado com u1n nome X.500, talvez não fique claro
de volta, essa seria a prova de que ele de fato tinha o atri- para ela a que certificado Bob se refere. Felizn1ente, a partir
buto declarado no certificado. Como alternativa, o número da versão 3, os non1es DNS são permitidos, em lugar de no-
aleatório poderia ser usado para gerar uma chave de sessão mes X.500; assim, esse problema por fun deve desaparecer.
pela duração da conversação. Os certificados são codificados com o uso da ASN.1
Outro exen1plo de situação em que um certificado po- (Abstract Syntax Notation 1) da OSI, que pode ser con-
deria conter um atributo é um sistema distribuído orienta- siderada uma struct en1 C, exceto por sua notação muito
do a objetos. Em geral, cada objeto te1n diversos métodos. peculiar e extensa. Para obter inais informações sobre o
O proprietário do objeto poderia fornecer a cada cliente X.509, consulte Ford e Baum (2000).
Capítulo 8 • Segurança de redes 513

Campo Significado
Version A versão do X.509
Serial number Este número, somado ao nome da CA, identifica o certificado de forma exclusiva
Signature algorithm O algoritmo usado para assinar o certificado
lssuer Nome X.SOO da CA
Validity period Períodos inicial e final de validade
Subject name A entidade cuja chave está sendo certificada

Public key A chave pública da entidade certificada e a ID do algoritmo utilizado


lssuer ID Uma 10 opcional que identifica de forma exclusiva o emissor do certificado
Subject ID Uma 10 opcional que identifica de forma exclusiva a entidade certificada
Extensions Muitas extensões foram definidas
Signature A assinatura do certificado (assinado pela chave privada da CA)

Figura 8.27 Os campos básicos de um certificado X.509.

8.8.3 Infraestrutura de chave pública mundo co1no u1na entidade legítitna e confiável. Em alguns
países, as pessoas insistiriam para que essa entidade fos-
Fazer u1na única CA emitir todos os certificados do inun- se o governo, em outros, elas insistiriam para que não fosse
do é algo que com certeza não funcionaria. Ela entraria em o governo.
colapso sob a carga e ta1nbém seria um ponto central de
Por essas razões, foi desenvolvido um modo diferente
falha. Uma solução possível poderia ser a existência de vá-
de certificar chaves públicas, identificado pelo non1e geral
rias CAs, todas administradas pela mesma organização e
todas usando a n1es1na chave privada para assinar certifi- PKI (Public Key Infrastructure). Nesta seção, resumire-
cados. Embora isso pudesse resolver o problema da carga n1os como ele funciona e1n linhas gerais, e1nbora exista1n
e da falha, há um novo problema: o vazamento de chaves. muitas propostas relativas aos detalhes que provavelmente
Se houvesse dezenas de servidores espalhados pelo inundo, vão evoluir com o tempo.
todos con1 a chave privada da CA, o risco de que a chave Uma PKI te1n vários componentes, incluindo usuá-
privada fosse roubada ou sofresse algum outro tipo de va- rios, CAs, certificados e diretórios. Sua função é fon1ecer
zamento seria bastante au1nentado. Tendo em vista que o um modo de estruturar esses componentes e definir padrões
comprometimento dessa chave arruinaria a infraestrutura para os vários docu1nentos e protocolos. Un1a fonna parti-
de segurança eletrônica do inundo, a existência de uma úni- cularmente simples de PKl é uma hierarquia de CAs, como
ca CA central é 1nuito arriscada. mostra a Figura 8.28. Nesse exemplo, apresentamos três
Além disso, que organização operaria a CA? É di- níveis, mas, na prática, pode haver utn nú1nero menor ou
fícil imaginar uma autoridade que fosse aceita em todo o inaior. A CA de nível superior, cha1nada raiz, certifica CAs

-- ----- --- RA 2 é aprovada.


Raiz =
A A=' l • -...... - -
...,_._.
·~~ .. Sua chave pública
-..u... ,.,
----- é 47383AE349...
----_
- Assinatura da raiz
-~-----~

RA 1 RA2
Ct.~·-­
s..-~
-- -.CA- -5 é-aprovada.
- - - ---.
.~--..

-dlll\41
Sua chave pública
'' é 6384AF863B...
''
CA 1 CA2 CA3 CA4 CAS ' ' Assinatura da RA 2

(a) (b)

Figura 8.28 (a) Uma PKI hierárquica. (b) Uma cadeia de certificados.
514 Redes de computadores

do segundo nível, que aqui chamamos de RAs (Regional vezes referidas como âncoras de confiança. Desse 1nodo,
Authorities), porque podem cobrir alguma região geo- pode-se evitar ter uma única autoridade confiável no mun-
gráfica, como um país ou un1 continente. Entretanto, esse do inteiro.
tenno não é padrão - de fato, nenhum tenno é realmente Entretanto, agora existe a questão de co1no o forne-
padrão para os diferentes níveis da árvore. Por sua vez, as cedor do navegador decide quais das supostas âncoras de
RAs certificam as CAs reais, que emitem os certificados confiança são de fato confiáveis e quais são desprezíveis.
X.509 para organizações e indivíduos. Quando a raiz au- Tudo se reduz à confiança do usuário no fornecedor do na-
toriza uma nova RA, ela gera um certificado X.509 anun- vegador para fazer escolhas sensatas e não aprovar simples-
ciando que a aprovou, inclui a chave pública da nova RA no n1ente todas as âncoras de confiança dispostas a pagar por
certificado, assina o certificado e o entrega à RA. De modo sua inclusão na lista. A n1aioria dos navegadores permite
se1nelhante, quando u1na RA aprova uma nova CA, ela que os usuários inspecionem as chaves da raiz (em geral,
produz e assina um certificado declarando sua aprovação e sob a forma de certificados assinados pela raiz) e elimine1n
contendo a chave pública da CA. qualquer 111na que parecer obscura. Para obter mais infor-
Nossa PKI funciona de modo semelhante. Suponha mações sobre PKis, consulte Stapleton e Epstein (2016).
que Alice precise da chave pública de Bob, a fim de se
comunicar com ele, então, ela procura e encontra um cer- Diretórios
tificado contendo a chave, assinado pela CA 5. Contudo,
Alice nunca ouviu falar da CA 5. Pelo que ela sabe, a CA Outra questão importante para qualquer PKl é onde estão
5 poderia ser a filha de 1O anos de Bob. Ela poderia ir até arn1azenados os certificados (e suas cadeias retornando a
a CA 5 e dizer: prove sua legitimidade. A CA 5 responde alguma âncora de confiança conhecida). Uma possibilidade
com o certificado que recebeu da RA 2, que contém a chave é fazer cada usuário annazenar seus próprios ce1tificados.
pública da CA 5. Agora, munida da chave pública da CA 5, Embora isso seja seguro (i.e., não existe nenhum meio de
Alice pode confirmar que o certificado de Bob foi de fato os usuários adulterarem certificados assinados sem detec-
assinado pela CA 5 e, portanto, é válido. ção), tatnbém é inconveniente. Uma alten1ativa proposta é
usar o DNS como um diretório de ce1tificados. Antes de
A 1nenos que a RA 2 seja o filho de 12 anos de Bob.
entrar em contato com Bob, é provável que Alice tenha de
Nesse caso, a próxima etapa é pedir à RA 2 que prove sua
pesquisar seu endereço IP usando o DNS; então, por que
legitimidade. A resposta à consulta de Alice é utn certifi-
não fazer o DNS retornar toda a cadeia de certificados de
cado assinado pela raiz contendo a chave pública da RA 2.
Bob junta1nente com seu endereço TP?
Agora, Alice tem certeza de que possui a chave pública de
Algumas pessoas acham que essa é a melhor alterna-
Bob.
tiva, mas outras talvez prefiram servidores de diretórios
No entanto, como Alice encontra a chave pública da
dedicados, cuja única tarefa seja administrar certificados
raiz? Por mágica. Supõe-se que todo inundo conheça acha-
X.509. Tais diretórios poderiam fornecer serviços de pes-
ve pública da raiz. Por exemplo, seu navegador pode ter
quisa usando propriedades dos nomes X.500. Por exemplo,
sido distribuído já contendo a chave pública da raiz. na teoria, tal serviço de diretório poderia responder a uma
Bob é o tipo de sujeito an1igável e não quer dar mui- consulta como: "Forneça uma lista de todas as pessoas cha-
to trabalho a Alice. Ele sabe que ela vai ter de verificar a 1nadas Alice que trabalhan1 et.n departamentos de vendas de
CA 5 e a RA 2; assim, para evitar dificuldades, ele reúne os algum lugar nos Estados Unidos".
dois certificados necessários e os fornece a ela junto com
seu próprio certificado. Agora, ela pode usar seu conheci-
mento da chave pública da raiz para confim1ar o certifica- Revogação
do de nível superior e a chave pública que ele contém para O mundo real também está repleto de certificados, como
verificar o segundo certificado. Desse modo, Alice não '
passaportes e carteiras de habilitação. As vezes, esses cer-
precisa entrar em contato com ninguém para fazer a verifi- tificados pode1n ser revogados, por exetnplo, carteiras de
cação. Co1no os certificados são todos assinados, ela pode habilitação para os que são flagrados dirigindo alcoolizados
detectar com facilidade quaisquer tentativas de falsificar ou cometendo outras infrações de trânsito. O mesmo pro-
seu conteúdo. U1na cadeia de certificados como essa, que blema ocorre no mundo digital: a autoridade que concede
volta à raiz, às vezes é chamada de corrente de confiança um certificado pode decidir revogá-lo porque a pessoa ou
ou caminho de certificação. A técnica é an1plamente uti- organização cotneteu algu1n abuso. Ele também pode ser
lizada na prática. revogado se a chave privada fo i exposta ou, pior ainda, se a
É claro que ainda temos o problema de saber quem vai chave privada da CA foi comprometida. Desse n1odo, uma
adn1inistrar a raiz. A solução é não haver u1na única, mas PKl precisa lidar com a questão da revogação, e essa possi-
sim várias raízes, cada uma com suas próprias RAs e CAs. bilidade torna as coisas mais complicadas.
De fato, os navegadores modernos são previamente car- Um primeiro passo nessa direção é fazer cada CA emi-
regados com as chaves públicas de mais de 100 raízes, às tir periodica1nente uma lista de revogação de certificados,
Capítulo 8 • Segurança de redes 515

ou CRL (Certificate Revocation List), fornecendo os nú- surpreendentemente dificil e exige protocolos complexos
meros de série de todos os certificados que ela revogou. baseados em criptografia. Nesta seção, estudare1nos alguns
Como os certificados contêm prazos de validade, a CRL dos protocolos de autenticação usados em redes de compu-
só precisa conter os números de série de certificados ainda tadores con1 falhas na segurança.
não vencidos. Uma vez que seu prazo de validade tenha A propósito, algu1nas pessoas confunde1n autorização
passado, u1n certificado se torna auto1naticamente inválido, com autenticação. A autenticação visa a detenninar se você
e assim não há necessidade de distinção entre os que al- está ou não se comunicando co1n um processo específico.
cançara1n o prazo-limite e os que foram de fato revogados. A autorização se preocupa com o que esse processo tem
En1 a1nbos os casos, eles não podem mais ser utilizados. permissão para fazer. Por exe1nplo, u1n processo cliente en-
Infelizmente, a introdução de CRLs significa que um tra em contato com w11 servidor de arquivos e afi1-n1a: "Sou
usuário prestes a usar u1n certificado deve agora adquirir a o processo do Mirte e quero excluir o arquivo receilas.olcf'.
CRL para ver se o ce1tificado foi revogado. Se foi, ele não Do ponto de vista do servidor de arquivos, as seguintes per-
deve ser usado. Contudo, n1esmo que o certificado não es- guntas devem ser respondidas:
teja na lista, ele poderia ter sido revogado logo após a lista
1. Esse processo é reahnente de Mirte (autenticação)?
ter sido publicada. Desse modo, a única forma de realmente
ter certeza é consultar a CA. Além disso, no próximo uso do 2. Mirte tem permissão para excluir receitas.o/d
certificado, a CA tem de ser consultada de novo, pois o cer- (autorização)?
tificado poderia ter sido revogado alguns segundos antes. Sotnente depois que ambas as perguntas forem res-
Outra complicação é o fato de um certificado revo- pondidas afinnativa1nente, se111 nenhu1na an1biguidade, a
gado poder ser reabilitado, por exemplo, se tiver sido ação solicitada poderá ser executada. Na verdade, a prin1ei-
revogado pelo débito de alguma taxa que fo i paga poste- ra pergunta é a mais iinportante. Depois que o servidor de
riormente. Ter de lidar com a revogação (e talvez com a arquivos souber com quem está se comunicando, verificar
reabilitação) elimina un1a das 111elhores propriedades dos a autorização é un1a si1nples questão de pesquisar entradas
certificados, ou seja, a possibilidade de usá-los sem ter de de tabelas ou bancos de dados locais. Por isso, van1os nos
entrar em contato com tuna CA. concentrar na autenticação.
Onde as CRLs devem ser armazenadas? U1n boa al- O modelo genérico que praticamente todos os proto-
ternativa seria armazená-las no mes1no local em que estão colos de autenticação utilizam é descrito a seguir. Alice co-
os próprios certificados. U1na estratégia é a CA publicar meça enviando uma 1nensagem para Bob ou para um KDC
ativamente CRLs periódicas e fazer os diretórios as proces- no qual confia e que se1npre é honesto. Acontecen1 1nuitas
sarem apenas removendo os certificados revogados. Se os outras trocas de mensagens em diferentes sentidos. A' nie-
diretórios não forem usados para armazenar os certificados, dida que elas são enviadas, uma intrusa mal-intencionada,
as CRLs poderão ser guardadas em cache em diversos lo- Trudy, pode interceptar, modificar ou reproduzir essas
cais convenientes na rede. Como uma CRL também é um 1nensagens a fi1n de enganar Alice e Bob, ou apenas para
docu1nento assinado, se ela for adulterada, essa ação poderá atrapalhar.
ser facilmente detectada. Todavia, quando a execução do protocolo tiver sido
Se os certificados tiverem u1na longa duração, as concluída, Alice terá certeza de que está se co1nunicando
CRLs ta1nbén1 serão longas. Por exen1plo, se os cartões de com Bob e vice-versa. Alé1n disso, na 1naioria dos proto-
crédito forem válidos por cinco anos, o número de revo- colos, os dois també1n terão estabelecido u1na chave de
gações pendentes será muito maior do que seria se fossem sessão secreta que deverá ser usada durante a conversação.
emitidos novos cartões a cada três 1neses. Um 1nodo padrão Na prática, por motivos de desen1penho, todo o tráfego de
de lidar com CRLs longas é en1itir uma lista 1nestra co1n dados é criptografado utilizando-se o modo de chave si-
pouca frequência, mas en1itir atualizações freq uentes para 111étrica (em geral, AES), en1bora a criptografia de chave
a lista. Isso reduz a largura de banda necessária para distri- pública seja 1nuito utilizada nos próprios protocolos de au-
buir as CRLs. tenticação e para estabelecer a chave de sessão.
O objetivo de utilizar uma nova chave de sessão, es-
colhida ao acaso para cada nova conexão, é minimizar o
volume de tráfego provocado pelo envio das chaves secre-
8.9 PROTOCOLOS DE
AUTENTICAÇAO - tas ou públicas dos usuários, reduzir o volw11e de texto ci-
frado que um intruso pode obter e nunimizar os danos, caso
haja uma pane em um processo e seu dump de memória
A autenticação é a técnica pela qual wn processo confirma (conteúdo da memória após 111na falha) caia em 1nãos erra-
que seu parceiro na comunicação é quem deve ser, e não u.1n das. É muito provável que a única chave presente seja a de
iinpostor. Confirmar a identidade de um processo remoto, sessão. Todas as chaves pennanentes deverão ser cuidado-
diante da presença de um intruso ativo mal-intencionado, é samente zeradas depois que a sessão for estabelecida.
516 Redes de computadores

8.9.1 Autenticação baseada em chave passada. Para descobrir com quem está se co1nunicando,
Alice seleciona um número aleatório, RA, e o envia a Bob
secreta compartilhada como texto simples, na n1ensagem 4. Quando Bob responde
Para nosso prüneiro protocolo de autenticação, vamos su- com KA8 (RA), Alice se certifica de que está se comunican-
por que Alice e Bob já compartilham uma chave secreta, do co1n Bob. Se eles quisere1n estabelecer uma chave de
KA6 • Essa chave compartilhada pode ter sido definida pelos sessão agora, Alice poderá selecionar u1na, KS> e enviá-la a
dois em uma conversa telefônica ou pessoalmente, mas não Bob criptografada coin KAo·
na rede (que não é segura). O protocolo da Figura 8.29 contém cinco mensagens.
Esse protocolo se baseia em u1n princípio encontrado Vamos ver se podemos eliminar algumas delas. U1na abor-
em 1nuitos protocolos de autenticação: um dos lados envia dagem é ilustrada na Figura 8.30. Nela, Alice inicia o proto-
un1 número aleatório ao outro, que e1n seguida o transforma colo de desafio-resposta em vez de esperar que Bob o faça.
de algum modo especial e retoma o resultado. Tais protoco- Da 1nes1na fonna, enquanto responde ao desafio de Alice,
los são chamados de protocolos de desafio-resposta. Nesse Bob envia o dele: o protocolo inteiro pode ser reduzido a
e nos próxi1nos protocolos de autenticação, será usada a se- três mensagens, em vez de cinco.
guinte notação: Esse novo protocolo representa um aperfeiçoamento
A e B são as identidades de Alice e Bob. en1 relação ao original? Em certo se11tido, isso é verdade,
pois agora o protocolo está mais curto. Infelizmente, tam-
R/s são desafios, e i identifica o desafiante.
bém está errado. Sob determinadas circunstâncias, Trudy é
K;'s são chaves, onde i indica o proprietário.
capaz de enganá-lo utilizando o método conhecido corno
K5 é a chave da sessão. ataque por refl exão. Isso quer dizer que Trudy poderá
A sequência de mensagens de nosso primeiro proto- ron1pê-lo se for possível abrir várias sessões com Bob ao
colo de autenticação de chave compartilhada é mostrada 11a mesmo tempo. Por exemplo, essa situação seria verdadeira
Figura 8.29. Na n1ensage1n l , Alice envia sua identidade A se Bob fosse u1n banco e estivesse preparado para aceitar
para Bob, de uma forma que Bob entenda. É claro que Bob n1uitas conexões siJnultâneas enviadas por caixas eletrôni-
não te1n como saber se essa mensagem veio de Alice ou de cos ao 1nesmo tempo.
Trudy, portanto, ele escolhe um desafio, u1n número aleató- O ataque por reflexão de Trudy é nlostrado na Figura
rio 1nuito extenso, R8 , e o envia de volta a "Alice" con10 sua 8.31. Ele co1neça com Trudy afinnando ser Alice e envian-
mensagem nú1nero 2 en1 texto simples. E1n seguida, Alice do Rr. Bob responde, co1no sempre, com seu próprio desa-
criptografa a mensagem com a chave que compartilha com fio, R8 . Agora Trudy está em apuros. O que ela pode fazer?
Bob e envia o texto cifrado, K,,8(R 8 ) , de volta na tnensa- Ela não conhece KA8(R8).
gem 3. Quando vê a mensagem, Bob sabe de imediato que Ela pode abrir outra sessão com a tnensagern 3, for-
ela veio de Alice, pois Trudy não conhece KAB e, portanto, necendo o R8 extraído da mensagem 2 co1no seu desafio.
não poderia tê-la gerado. Além disso, como o número R8 foi Bob o criptografa calman1ente e envia K,i8 (R 8 ) na mensa-
escolhido ao acaso a partir de um espaço muito extenso (di- gem 4. Representamos com sombreados as mensagens da
gan1os, nún1eros aleatórios de 128 bits), é muito imprová- segunda sessão, para que se destaquem. Agora, Trudy tem
vel que Trudy tenha visto R8 e sua resposta em uma sessão as informações que faltava1n e, portanto, pode concluir a
anterior. É tainbém in1provável que ela consiga adivinhar a primeira sessão e abandonar a segunda. Nesse momento,
resposta correta a qualquer desafio. Bob está convencido de que Trudy é Alice e, quando ela
A essa altura, Bob tem certeza de que está se comuni- pede o saldo da conta, ele o informa sem mais perguntas.
cando corn Alice, tnas Alice não tem certeza de nada, pois Em seguida, quando Trudy pede a Bob que transfira todo
sabe que Trudy pode ter interceptado a mensagem l e en- o dinheiro para uma conta secreta na Suíça, ele não hesita
viado R8 como resposta. Talvez Bob tenha morrido na noite em fazê-lo.

1 .--~ 1.-----.
1-------i A 1------~1 A,RA
2.-----.
Ra
Q) 3.----~ .!) Q) 2~----. .!)
(.)
·-
-<( 1------1 KAa (Ra) t - - - - -- o (.)
·-
- 1- - - - - - - 1 R8 . KAa (RA) 1 - - - - - - 1 co
o
co
,___ _ _ _4_, RA

5.----~ 3.-----.
1- -- - - - 1 KAB (RA) >------< >------< KAB (Re) t-------t~1
'----' '----' '----' '----'

Figura 8.29 Uma autenticação bidirecional utilizando um Figura 8.30 Um protocolo de autenticação bidirecional
protocolo de desafio-resposta. reduzido.
Capítulo 8 • Segurança de redes 517

1
A.Ar
2 Primeira sessão
As. KAB (Ar)

>- 3 .o
-o A,A8 o
....
:::i
m
1-
4 Segunda sessão
As2, KAB (As)

5
KAB (As) } Primeira sessão

Figura 8.31 O ataque por reflexão.

A moral da história é a seguinte: Se apenas uma dessas regras for quebrada, isso sig-
nifica que o protocolo poderá ser violado co1n frequência.
Projetar i11n protocolo de autenticação correto é 111ais
Nesse caso, todas as quatro regras não foram seguidas, com
difici/ do que parece.
consequências desastrosas.
As quatro regras gerais a seguir frequentemente aju- Agora, vamos exan1inar a Figura 8.29 mais de perto.
dan1 o projetista a evitar as annadilhas n1ais con1uns: E' possível garantir que esse protocolo não esteja sujeito a
un1 ataque por reflexão? Be1n, talvez. Essa é u1na questão
1. Fazer o transmissor provar quetn é antes de o receptor
bastante sutil. Trudy foi capaz de violar nosso protocolo
responder. Isso evita que Bob revele informações va-
usando um ataque por reflexão, porque foi possível abrir
liosas antes de Trudy fornecer alguma prova de quem
uma segunda sessão com Bob e enganá-lo, respondendo a
é ela.
suas próprias perguntas. O que aconteceria se Alice fosse
2. Fazer o transmissor e o receptor utilizarem chaves di- um con1putador de uso geral que tan1bé1n aceitasse várias
ferentes para a prova, 1nes1no que isso signifique ter sessões, em vez de ser uma pessoa diante de um computa-
duas chaves compartilhadas, K A8 e K 'A 8 . dor? Veja1nos o que Tn1dy poderia fazer nesse caso.
3. Fazer o transn1issor e o receptor extraírem seus desa- Para ver como funciona o ataque de Trudy, observe
fios de conjuntos distintos. Por exemplo, o transrnis- a Figura 8.32. Alice começa anunciando sua identidade na
sor deve usar números pares e o receptor deve usar mensagem 1. Trudy intercepta essa mensagem e inicia sua
'
numeros ,
1mpares. própria sessão co1n a mensagem 2, afirmando ser Bob. 'No-
4. Tornar o protocolo resistente a ataques que envolvam vamente so1nbreamos as tnensagens da sessão 2. Alice res-
uma segunda sessão paralela, nos quais as informa- ponde a mensagem 2 com a 1nensage1n 3, dizendo: "Você
ções obtidas em uma sessão são usadas em uma sessão afirma ser Bob? Então, prove". Nesse momento Trudy não
diferente. tem saída, porque não pode provar ser Bob.

1
A } Primeira sessão

2
B
3 } Segunda sessão
AA

4
AA
5 } Primeira sessão
KAs (AA)
>-
Q)
(.)
-o
·-
<{ 6 ....
:::i

KAs (AA) 1- } Segunda sessão

7
AA2 } Primeira sessão

8
AA2
9 } Segunda sessão
KAB (AA2)

10
KAs (AA2) } Primeira sessão

Figura 8.32 Um ataque por reflexão no protocolo da Figura 8.29.


518 Redes de computadores

O que Trudy faz agora? Ela volta para a primeira ses- de 1nudar ou forjar a mensagem: alterar qualquer bit levaria
são, já que é sua vez de enviar um desafio, e transmite a a un1 hash incorreto, e a geração de um hash válido não é
RA que obteve na mensagem 3. Alice gentilmente responde possível sem a chave. HMACs são atraentes porque podem
na mensagem 5 e, desse modo, fornece a Trudy as infor- ser gerados de modo muito eficaz (1nais rápido do que ro-
mações de que ela precisa para enviar a mensage1n 6 na dando SHA-2 e depois rodando RSA sobre o resultado).
sessão 2. Nesse mo1nento, Trudy está à vontade, porque Alice co1neça enviando a Bob um número aleatório
conseguiu responder co1n sucesso ao desafio de Alice na RA como 1nensage1n l. Os números aleatórios usados ape-
sessão 2. Agora ela pode cancelar a sessão 1, transmitir nas uma vez em protocolos de segurança como este são
qualquer número antigo para o restante da sessão 2, e terá chamados nonces, que é mais ou menos urna contração de
uma sessão autenticada com Alice na sessão 2. "nun1ber used once" (número usado u1na vez). Bob respon-
Contudo, Tn1dy é perfeccionista e quer demonstrar de selecionando seu próprio nonce, R8 , e devolvendo-o jun-
suas habilidades consideráveis. En1 vez de enviar qualquer tamente con1 um HMAC. O HMAC é formado com o ob-
número antigo para concluir a sessão 2, ela espera até Alice jetivo de construir uma estrutura de dados que consiste no
enviar
,
a mensagem 7, o desafio de Alice para a sessão 1. nonce de Alice, no nonce de Bob, em suas identidades e ua
E claro que Trudy não sabe co1no responder, e portanto uti- chave secreta compartilhada, K,,8 . Essa estrutura de dados
liza outra vez o ataque por reflexão, devolvendo R,,2 co1no passa então por um hash no HMAC, por exemplo, usando
a mensagem 8. Alice codifica RA2 de maneira conveniente SHA-2. Quando receber a mensagem 2, Alice terá R11 (que
na mensagem 9. Agora, Trudy volta para a sessão l e envia ela própria escolheu), R8 , que chegará sob a fonna de texto
a Alice, na 1nensagem 1O, o número que ela deseja, cuida- simples, as duas identidades e a chave secreta KA8 , conhe-
dosamente copiado do número que a própria Alice enviou cida desde o início, e depois ela 1nesma poderá calcular o
na mensagem 9. Nesse mon1ento, Trudy tem duas sessões HMAC. Se este corresponder ao HMAC da mensagem, ela
completamente autenticadas co1n Alice. saberá que está se comunicando com Bob, porque Trudy
Esse ataque te1n um resultado um pouco diferente do não conhece KAn e, desse modo, não terá como saber qual
ataque no protocolo de três mensagens, ilustrado na Figu- HMAC enviar. Alice responde a Bob com u1n HMAC con-
ra 8.31. Dessa vez, Trudy tem duas conexões autenticadas tendo apenas os dois nonces.
con1 Alice. No exemplo anterior, ela tinha u111a conexão au- Trudy pode subverter de algum modo esse protocolo?
tenticada com Bob. Mais u1na vez, se aplicássemos todas Não, porque ela não é capaz de forçar nenhu1na das par-
as regras gerais de protocolos de autenticação discutidas tes a codificar ou fazer o hash de um valor de sua escolha,
anteriormente, esse ataque poderia ter sido interrompido. como aconteceu na Figura 8.31 e na Figura 8.32. Ambos os
Uma descrição detalhada desses tipos de ataques e de como HMACs incluem valores escolhidos pela parte transmisso-
frustrá-los é apresentada e1n Bird et ai. (1993), que também ra, algo que Trudy não pode controlar.
mostram co1no é possível construir, de forma sistemática, Utilizar HMACs não é o único meio de e1npregar essa
protocolos que comprovadamente são corretos. Contudo, o ideia. U1n esque1na alternativo usado co1n frequência en1
mais siJnples desses protocolos é um pouco complicado; vez de calcular o HMAC sobre uma série de itens é codi-
portanto, mostraremos agora uma classe de protocolo dife- ficar os itens em sequência utilizando o encadeamento de
rente, que ta1nbén1 funciona. blocos de cifras.
O novo protocolo de autenticação é mostrado na
Figura 8.33 (Bird et ai., 1993). Ele en1prega u1n HMAC
(Hashed Message Authentication Code) que garante a in- 8.9.2 Como estabelecer uma chave
tegridade e a autenticidade de uma mensagem. Um HMAC compartilhada: a troca de
simples, poré1n poderoso, consiste em um hash sobre a chaves de Diffie-Hellman
mensagem mais a chave co1npartilhada. Enviando o HMAC
junto com o restante da 1nensage1n, nenhu1n invasor é capaz Até agora, partimos do princípio de que Alice e Bob com-
partilhan1 uma chave secreta. Suponha que isso não seja
verdade (porque até agora não há nenhuma PKJ universal-
1 mente aceita para assinar e distribuir certificados). Co1no
AA
eles pode1n estabelecer uma chave secreta? U1na possi-
bilidade seria Alice telefonar para Bob e dar sua chave a
Q)
2 .o
ele, mas provavehnente ele co1neçaria a conversa dizendo:
u
<( . .
As HMAC(AA As A, B, KAs)
'
o
fll "Como posso saber que você é Alice e não Tn1dy?". Eles
poderian1 tentar se encontrar pessoalmente, e cada um le-
varia passaporte, carteira de identidade e três cartões de
3 .... crédito. No entanto, como são muito ocupados, talvez não
HMAC(AA . As ' KAs)
consigam encontrar un1a data conveniente para ambos du-
Figura 8.33 Autenticação usando HMACs. rante meses. Felizmente, apesar de parecer incrível, há uma
Capítulo 8 • Segurança de redes 519

forma de pessoas que não se conhecen1 estabelecerem un1a Não existem algoritmos práticos para o cálculo de logarit-
chave secreta em plena luz do dia, mesmo con1 Trudy regis- mos discretos cuja base é um nún1ero primo muito grande.
trando cujdadosamente cada mensagem. Para tornar o exemplo nlostrado anteriormente mais
O protocolo que pennite o estabelecimento de uma concreto, utilizare1nos os valores (co1np!etamente falsos):
chave secreta entre pessoas que não se conhece1n é cha- 11 = 47 e g = 3. Alice seleciona x = 8 e Bob seleciona y = l O,
mado de troca de chaves de Diffie-Hellman (Diffie e o que é mantido em segredo. A mensagem de Alice para
Hellman, 1976) e funciona da forma descrita a seguir. Alice Bob é (47, 3, 28), pois 38 mod 47 é igual a 28. A mensagem
e Bob têm de concordar em relação a dois números gran- de Bob para Alice é (17). Alice calcula 178 mod 47, que é
des, n e g, onde n é um número priino, (n - 1)/2 ta1nbém igual a 4. Bob calcula 28 10 mod 47, que é igual a 4. Ali-
é u1n nú1nero primo, e onde certas condições se aplicam a ce e Bob detenninaram de forn1a independente que agora
g. Esses números podem ser públicos, portanto, um deles a chave secreta é 4. Para descobrir a chave, Trudy tem de
só precisa selecionar /1 e g e informar ao outro abertamen- resolver a equação J ' mod 47 = 28, o que pode ser feito por
te. Agora, Alice escollie utn número grande x (digamos, de pesquisa exaustiva de números pequenos como esse, mas
1.024 bits) e o mantém em segredo. Da 1nesn1a forma, Bob não quando todos os nú1neros têm centenas ou milhares de
seleciona um nú1nero grande secreto, y. bits. Todos os algoritmos conhecidos até o momento de-
Alice inicia um protocolo de troca de chaves envian- moram muito tempo para realizar esse cálculo, mesmo em
do a Bob uma mensagem (texto simples) contendo (11, g, supercomputadores supervelozes com dezenas de milhões
gx mod 11), como mostra a Figura 8.34. Bob responde en- de núcleos.
viando a Alice uma mensagem contendo gr mod 11. Agora, Apesar da elegância do algoritmo de Diffíe-Helbnan,
Alice eleva à x-ésima potência em módulo /1 o número que há u1n problema: quando Bob obtém a tripla (47, 3, 28),
Bob lhe enviou, a fim de obter (gr mod n)x mod 11. Bob exe- como ele pode saber se ela veio de Alice e não de Trudy?
cuta uma operação semelhante para obter (gx 1nod n'/ mod Ele não tem mesmo co1no saber. Infelizmente, Trudy pode
n. Pelas leis da arittnética modular, os dois càlculos geram explorar esse fato para enganar Alice e Bob, co1no ilustra
g'Ymod n. Eis que, con10 por mágica, Alice e Bob de repen- a Figura 8.35. Aqui, enquanto Alice e Bob escolhem x e
te compartilham uma chave secreta, gxy mod 11. y, respectivamente, Trudy escolhe seu próprio número
É obvio que Trudy viu as duas mensagens. Co1n base aleatório, z. Alice envia a tnensagem l para Bob. Trudy a
na 1nensage1n 1, ela conhece g e 11.. Se pudesse calcular x e intercepta e envia a 1nensagen1 2 para Bob, usando g e n
y, Trudy poderia descobrir a chave secreta. O proble1na é corretos (que, de qualquer forma, são públicos), mas com
que, com apenas gx mod n, ela não consegue encontrar x. seu próprio z em vez de x. Ela ta1nbé1n envia a mensagem

Alice Bob
escolhe x escolhe y

1
n, g, gx mod n
Q)
2 .o
()
·- gY mod n o
<( (!)

Alice calcula Bob calcula


(gY mod n'f modn (gX mod n)Y mod n
= gJ<Y mod n = gJ<Y mod n

Figura 8.34 A troca de chaves de Diffie-Hellman.

Alice Trudy Bob


escolhe x escolhez escolhe y
1.------~
t------1 n, g, gx mod n t - - - -- 1

2.------~
>- t - - - - - i n, g, gz mod n t - - - --1 .o
"O
3 ~ o
- - - - - i gz mod n t-------1 .= (!)

4 ....-----.
1- -----1 gY mod n t - - - - - - - 1

Figura 8.35 Oataque do homem no meio.


520 Redes de computadores

3 de volta para Alice. Mais tarde, Bob envia a n1ensage1n e a chave de sessão, depois envia essa n1ensage1n a Bob.
4 para Alice, que Trudy mais uma vez intercepta e guarda. A criptografia é feita com K 8 , a chave secreta que Bob com-
Agora, todos utiliza1n a aritmética modular. Ali- partilha com o KDC. Quando descriptografa a mensagem,
ce calcula a chave secreta como gx= mod n, e Trudy faz Bob fica sabendo que Alice quer se comunicar com ele e
o tnesmo (para mensagens enviadas a Alice). Bob calcu- qual chave ela desejar usar.
la g"' 1nod n e Trudy tan1bén1 (nas mensagens enviadas a Aqui, a autenticação ocorre sem maiores problemas.
Bob). Alice pensa que se co1nunica com Bob e, portanto, O KDC sabe que a mensagem 1 deve vir de Alice, pois nin-
estabelece uma chave de sessão (com Trudy). Bob faz o gué1n n1ais teria sido capaz de criptografá-la com a chave
mes1no. Todas as mensagens que Alice envia na sessão secreta de Alice. Da mes1na forma, Bob sabe que a mensa-
criptografada são capturadas, armazenadas e modificadas gem 2 deve ter vindo do KDC, em quem ele confia, pois
por Trudy para então (opcionahnente) sere1n passadas a ninguém mais conhece sua chave secreta.
Bob. Da 1nes1na forma, no outro sentido, Trudy vê tudo e Lnfelizrnente, esse protocolo tem uma falha 1nuito sé-
pode modificar todas as mensagens como quiser, enquan- ria. Tn1dy precisa de dinheiro, portanto, ela descobre alguns
to Alice e Bob têm a ilusão de que há um canal seguro en- serviços legítimos que pode prestar a Alice, faz uma oferta
tre os dois. Por isso, esse ataque é chan1ado de ataque do interessante e consegue o trabalho. Depois de fazer o servi-
homem no meio. Ele tan1bém é chamado de ataque da ço, Trudy educadan1ente solicita que Alice pague por trans-
brigada de incêndio, pois lembra um antigo corpo de ferência bancária. Alice estabelece uma chave de sessão
bombeiros formado por voluntários que, enfileirados, pas- com o funcionário do banco, Bob. E1n seguida, envia a Bob
savam ba ldes d'água de mão em mão do caminhão até o uma mensage1n solicitando que o dinheiro sej a transferido
incêndio. para a conta de Tn1dy.
Nesse ínterin1, Trudy volta a bisbilhotar a rede. Ela co-
8.9.3 Autenticação com o uso de um pia tanto a 1nensagem 2 da Figura 8.36 quanto a solicitação
de transferência de dinheiro enviada depois da mensagem.
centro de distribuição de chaves Mais tarde, ela responde a ambas as mensagens de Bob. Ele
A ideia de compartilhar um segredo com u1na pessoa estra- as recebe e pensa: "Alice deve ter contratado Trudy outra
nha quase funcionou. Contudo, talvez não tenha valido a vez. Percebe-se que o trabalho dela é 1nuito bom". Em se-
pena a tentativa (ataque da raposa e das uvas). Para conver- guida, Bob transfere u1na quantia igual e1n dinheiro da con-
sar com n pessoas dessa forma, você precisará de n chaves. ta de Alice para a conta de Trudy. Algum tempo depois do
Para pessoas fa1nosas, o gerenciamento de chaves poderia 502 par de mensagens, Bob vai até Trudy e oferece u1n bom
se tomar uma grande dor de cabeça, especialmente se cada en1préstitno para que ela possa expandir seus negócios, que
chave tivesse de ser guardada em u1n cartão plástico corn obviamente vão muito bem. Esse problen1a é chamado ata-
chip einbutido. que por replay.
Outra estratégia é introduzir u1n KDC confiável. Nes- Existen1 várias soluções para esse tipo de ataque.
se 1nodelo, cada usuário ten1 urna única chave comparti- A primeira é incluir un1 registro de te1npo e1n cada 1nen-
lhada con1 o KDC. Agora o gerencian1ento de sessão e de sagem. Então, se alguén1 receber u1na mensagetn obsoleta,
autenticação passa pelo centro. O protocolo de autenticação ela poderá ser descartada. O proble1na é que os clocks nun-
para o KDC mais simples envolve duas partes e um KDC ca estão sincronizados com exatidão na rede, assitn, deve
confiável, e é descrito na Figura 8.36. haver um período durante o qual esse registro de tempo
A ideia por trás desse protocolo é si1nples: Alice es- será válido. Trudy pode repetir a mensage1n durante esse
colhe u1na chave de sessão K 5 e informa ao KDC que de- período e se livrar dela.
seja se comunicar com Bob usando Ks. Essa mensagem é A segunda solução é colocar um nonce em cada men-
criptografada com a chave secreta que Alice compartilha sagem. Nesse caso, cada parte terá de se lembrar de todos
(apenas) com o KDC, KA. O KDC a descriptografa e ex- os nonces anteriores e rejeitar as 1nensagens que contenham
trai a identidade de Bob e a chave de sessão. Em seguida, algum já utilizado. No entanto, os nonces têm de ser 1ne1no-
cria un1a nova 1nensage1n contendo a identidade de Alice rizados para sen1pre, por receio de que Trudy tente repetir

1
A, KA (B, Ks)
o
o
<I> ::.:: 2 ..o
o Ks (A, Ks) o
<( CD

Figura 8.36 Uma primeira tentativa de protocolo de autenticação usando um KDC.


Capítulo 8 • Segurança de redes 521

uma n1ensagen1 de cinco anos. Além disso, se algun1a má- Retomar Ks (R,12) não teria funcionado, pois Trudy poderia
quina apresentar falha e perder sua lista de nonces, ela esta- ter acabado de roubar essa chave na n1ensage1n 3.
rá vulnerável a um ataque por replay. Os registros de tem- Depois de receber a mensagem 4, Alice estará con-
po e os nonces podem ser combinados para limitar o te1npo vencida de que está se comunicando com Bob e de que ne-
durante o qual estes tê1n de ser men1orizados, mas é óbvio nhum replay poderia ter sido usado até então. Afinal, ela
que o protocolo ficará muito mais complicado. acabou de gerar R,, 2 alguns 1nilissegundos antes. O objetivo
Un1 enfoque mais sofisticado para a autenticação 1nú- da 1nensage1n 5 é convencer Bob de que ele está se con1u-
tua é usar um protocolo de desafio-resposta que funcione nicando realmente com Alice, e que nenhun1 replay está
em diversas direções. Um exemplo bastante conhecido é o sendo usado aqui. Ao fazer cada parte gerar um desafio e
protocolo de autenticação de Needham-Schroeder (Nee- responder a outro, a possibilidade de qualquer tipo de ata-
dhan1 e Schroeder, 1978), do qual u1na das variantes é 1nos- que por replay é elüninada.
trada na Figura 8.37. Apesar de parecer bastante sólido, esse protocolo tem
O protocolo começa co1n Alice inforn1ando ao KDC uma pequena falha. Se Trudy conseguir obter uma antiga
que deseja se comunicar com Bob. Essa n1ensagem contém chave de sessão em texto simples, poderá iniciar uma nova
um número grande aleatório, RA, que é usado como nonce. sessão com Bob repetindo a mensage1n 3 correspondente à
O KDC retorna a 1nensagem 2 contendo o número aleatório chave co1npro111etida e convencê-lo de que é Alice (Den-
de Alice, u1na chave de sessão e um bilhete que ela pode ning e Sacco, 1981 ). Dessa vez, ela poderá desfalcar a con-
enviar a Bob. O objetivo do número aleatório, RA, é ga- ta bancária de Alice sem precisar prestar o serviço legítimo
, .
rantir a Alice que a 1nensagem 2 é nova e não u1n replay. uma un1ca vez.
A identidade de Bob também é enviada, caso Trudy pense Mais tarde, Needham e Schroeder ( 1987) publicaram
na possibilidade de substituir B na mensagem 1 por sua pró- um protocolo que corrige esse problema. No mes1no exem-
pria identidade, para que o KDC codifique o bilhete no fim plar do 1nes1no periódico, Otway e Rees (1987) ta1nbén1
da n1ensagem 2 co1n Kr em vez de K8 . O bilhete codificado publicara1n um protocolo que resolve o problema de uma
com K8 é incluído na mensagem criptografada para impedir forma mais simples. A Figura 8.38 mostra o protocolo de
que Trudy o substitua por algo diferente quando ele retor- Otway-Rees ligeiramente modificado.
nar a Alice. No protocolo de Otway-Rees, Alice co1neça geran-
Agora Alice envia o bi lhete a Bob, junto co1n u1n novo do um par de números aleatórios, R, que será usado como
nún1ero aleatório, RA2, criptografado com a chave de sessão, um identificador comu1n, RA, que ela utilizará para desa-
K 5• Na 1nensagem 4, Bob envia K5 (RA2 - 1) para provar a fiar Bob. Quando receber essa mensagem, Bob criará uma
Alice que ela está se comunicando com o verdadeiro Bob. nova com a parte criptografada da de Alice e 1nais utna

1
RA, A, B (.)
o~
2
KA (RA, B, Ks. Ks(A, Ks))
C1> ..Q
o 3 o
<{ Ks(A, Ks), Ks (RA2l co
4
Ks (RA2-1), R9

5
Ks (R9 -1)

Figura 8.37 Oprotocolo de autenticação de Needham-Schroeder.

1
A, B, R, KA (A, B, R, Rp)

2 A, KA (A, B, R, Rp),
C1> ..Q
o B, Ks (A, B, R, Rs) o
<( co
o
o
~
3
4 Ks(R9, Ks)
KA(RA, Ks)

Figura 8.38 Oprotocolo de autenticação de Otway-Rees (ligeiramente simplificado).


522 Redes de computadores

semelhante de sua própria autoria. Ambas as partes cripto- trabalho envia seu nome e o do TGS ao AS ern texto sim-
grafadas com KAe K8 identifica1n Alice e Bob, e contêm o ples, con10 mostra a mensagem l da Figura 8.39. O retomo
identificador comu1n e um desafio. é uma chave de sessão e um bilhete, Krcs (A, KS> t), desti-
O KDC verifica se o R de ambas as partes é igual. nado ao TGS. A chave de sessão é codificada com a chave
Talvez não seja, porque Trudy adulterou R na mensagem secreta de Alice, de modo que apenas Alice possa decodi-
l ou substituiu parte da mensagem 2. Se os dois números ficá-la. Somente quando a mensagem 2 chega, a estação de
R coincidirem, o KDC considerará válida a rnensagem de trabalho pede a senha de Alice - não antes. Em seguida,
solicitação de Bob. Ern seguida, o centro gerará uma chave a senha é usada para gerar KA, a fim de descriptografar a
de sessão criptografada duas vezes, uma para Alice e outra mensagem 2 e obter a chave de sessão.
para Bob. Cada mensagem conterá o número aleatório do Nesse rnomento, a estação de trabalho substitui a se-
receptor, como prova de que o KDC, e não Trudy, gerou a nha de Alice, para garantir que a senha só estará na estação
mensagem. Nesse rnomento, tanto Alice quanto Bob têm durante alguns n1ilissegundos, no máxin10. Se Trudy tentar
a rnesma chave de sessão e podern corneçar a comunicação. estabelecer um login corno Alice, a senha que ela digitar
Na primeira vez que eles trocarem mensagens de dados, estará errada e a estação de trabalho detectará o problema,
cada urn poderá ver que o outro tem uma cópia idêntica de porque o trecho padrão da rnensagem 2 estará incorreto.
K 5, e assirn a autenticação é concluída. Depois de estabelecer o login, Alice pode informar à
estação de trabalho que deseja contatar Bob, o servidor de
arquivos. En1 seguida, a estação de trabalho envia a mensa-
8.9.4 Autenticação com a
gem 3 ao TGS solicitando um bilhete para usar com Bob.
utilização do Kerberos O principal elemento nessa solicitação é o bilhete Krcs (A,
Um protocolo de autenticação usado e1n muitos siste1nas Ks, t) , criptografado com a chave secreta de TGS e usado
reais (inclusive no Windows) é o Kerberos, que se baseia como prova de que o trans1nissor realmente é Alice. O TGS
em uma variante do protocolo de Needharn-Schroeder. Seu responde criando urna chave de sessão, KA8 , para que Alice
nome se deve ao cão de várias cabeças da mitologia gre- a utilize corn Bob. Duas versões dessa chave são retorna-
ga que guardava a entrada do Hades (provavelmente para das. A prirneira é criptografada apenas corn K5 , para que
manter as pessoas indesejáveis a distância). O Kerberos foi Alice possa ler a mensagem. A segunda é outro bilhete,
projetado no MIT para permitir que os usuários de estações criptografado corn a chave de Bob, K 8 , de fon11a que ele
de trabalho tivessem acesso a recursos da rede de forma também possa ler a n1ensagem.
segura. Sua grande diferença em relação ao protocolo de Trudy pode copiar a mensagem 3 e tentar usá-la 1nais
Needham-Schroeder é a suposição de que todos os clocks uma vez, mas será frustrada pelo registro de tempo cripto-
estão muito bern sincronizados. O protocolo passou por vá- grafado, t, enviado junto. Trudy não pode substituir o regis-
rias iterações. A V5 é a versão mais usada na indústria, e tro de ternpo por outro rnais recente, porque não conhece
está definida na RFC 4120. A anterior, V4, finalmente foi K5, a chave de sessão que Alice utiliza para se comunicar
retirada após sérias falhas (Yu et ai., 2004). A Y5 melhora a co1n o TGS. Mesmo que Trudy repita a mensagem 3 rapi-
V4 com muitas rnudanças pequenas no protocolo e alguns damente, tudo o que obterá será outra cópia da mensagem
recursos melhorados, con10 o fato de não contar n1ais com 4, que ela não pôde descriptografar na prirneira vez e que
o DES, agora desatualizado. Para obter mais infonnações, tambérn não poderá descriptografar na segunda vez.
consulte Sood (2012).
O Kerberos envolve três servidores alén1 de Alice
1
(uma estação de trabalho cliente): A,TGS
(/)
<(
1. O Authentication Server (AS): verifica a identidade 2
KA(TGS, Kg, t), KrGg(A, Kg, t) ,_
dos usuários durante o processo de login.
2. O Ticket-Granting Server (TGS): emite "bilhetes de
comprovação de identidade". 3
B, Kg(A, t), KrGg(A, Ks. t)
<ll
3. O servidor Bob: faz realmente o trabalho que Alice .!:2
(/)
(!}
deseja ver pronto. <( 4 1-
Kg(B, KAB• t) , K8 (A, B, KAB• t)
O AS é semelhante a um KDC, porque compartilha
un1a senha secreta com todos os usuários. O trabalho do 5
TGS é emitir bilhetes que possan1 convencer os servido- KAa(A, t), K9{A, B, KAB• t)
..o
res reais de que o portador de um biU1ete TGS realrnente é o
(l)
6
quetn af1nna ser. KAB (t)
Para iniciar uma sessão, Alice utiliza uma estação de
trabalho pública qualquer e digita seu nome. A estação de Figura 8.39 A operação do Kerberos V5.
Capítulo 8 • Segurança de redes 523

Então, Alice pode enviar K118 a Bob, para estabelecer


uma sessão com ele (mensagem 5). Essa troca também rece- Diretório
be um registro de tempo. A resposta opcional (mensagem 6)
é a prova de que Alice está realmente se comunicando com
Bob, e não com Trudy.
Depois de uma série de trocas, Alice pode se comu- Ee (A, RA)
nicar co1n Bob sob a proteção de KA 8 . Se mais tarde ela Q) 6 .o
o EA (RA, R9, Ks) o
chegará conclusão de que precisa se co1nunicar com outro ~ CD
servidor, Carol, Alice sin1ples1nente repetirá a mensage1n 3 7
K5 (R 8 )
para o TGS, apenas especificando Cem vez de B. O TGS
responderá pronta1nente com um bilhete criptografado com
Kc, que Alice poderá enviar a Carol e que Carol aceitará Figura 8.40 Autenticação mútua com a utilização da crip-
co1no prova de que Alice o enviou. tografia de chave pública.
O objetivo de todo esse trabalho é que agora Alice
pode acessar servidores instalados por toda a rede de for- envia a Alice uma mensage111 contendo o RAde Alice, seu
ma segura, e sua senha nunca terá de percorrer a rede. próprio nonce, R8 , e uma chave de sessão sugerida, K5.
Na verdade, a senha só precisaria pennanecer na estação Quando recebe a mensage1n 6, Alice a descriptografa
de trabalho da própria Alice durante alguns milissegundos. usando sua própria chave privada. Ela vê RA na mensagem
No entanto, observe que cada servidor faz sua própria au- e fica feliz. A mensagem deve ter vindo de Bob, pois Tru-
torização. Quando Alice apresenta seu bilhete a Bob, isso dy não tem como determinar R11 • Além disso, a mensagem
prova a ele quem o enviou. Na verdade, a decisão sobre o deve ser nova, e não um replay, pois ela acabou de enviar
que Alice está autorizada a fazer cabe a Bob. RAa Bob. Alice concorda com a sessão retomando a mensa-
Corno os projetistas do Kerberos não esperavam que o gem 7. Quando vê R8 criptografada com a chave de sessão
inundo inteiro confiasse em um único servidor de autenti- que acabou de gerar, Bob fica sabendo que Alice recebeu
cação, reservaram espaço para o uso de diversos domínios a 1nensagem 6 e confirmou RA. Agora Bob está satisfeito.
(realms), cada u1n co1n seu próprio AS e TGS. Para obter O que Trudy pode fazer para subverter esse protocolo?
um bilhete referente a um servidor de um domínio distante, Ela pode falsificar a mensagem 3 e enganar Bob fazendo-o
Alice solicitaria a seu próprio TGS um bilhete aceito pelo pensar que ela é Alice, mas Alice verá um RA que não en-
TGS do do1nínio distante. Se o TGS distante tiver sido re- viou e não prosseguirá corn a trans1nissão. Trudy não pode-
gistrado co1n o local (exatan1ente como fazem os servidores rá forjar a n1ensagem 7 de volta para Bob, pois não conhece
locais), este dará a Alice un1 bilhete válido no TGS distante. os valores de R8 e de Ks e não pode determiná-los sem a
Depois disso, ela poderá usá-lo para executar ações como chave privada de Alice. Ela está sem sorte.
obter bilhetes para os servidores desse do1ninio. No entan-
to, observe que, para partes pertencentes a dois do1nínios
interagire1n, cada uma deverá confiar no TGS da outra.
Caso contrário, não haverá interação. 8.1 O SEGURANÇA DA
COMUNICAÇÃO
8.9.5 Autenticação com a criptografia Agora, concluímos nosso estudo das principais ferramen-
de chave pública tas. A maior parte das técnicas e protocolos importantes foi
abordada. O restante do capítulo estuda a aplicação dessas
Tarnbém é possível fazer uma autenticação mútua com o técnicas na prática para proporcionar segurança às redes,
uso da criptografia de chave pública. Para começar, Alice além de alguns conceitos sobre os aspectos sociais da segu-
precisa da chave pública de Bob. Se existir uma PKI con1 rança, no final do capítulo.
o servidor de diretórios que entregue certificados para cha- Nas próximas seções, examinaremos a segurança da
ves públicas, Alice poderá solicitar o de Bob, como mostra co1nunicação, isto é, como levar os bits secretamente e sem
a Figura 8.40, na mensagem 1. A resposta, na mensagem alteração da origem até o destino, e co1no manter bits in-
2, é un1 certificado X.509 que contén1 a chave pública de desejáveis do lado de fora. Essas não são de modo algum
Bob. Quando verifica que a assinatura está correta, Alice as únicas questões de segurança em redes, mas certarnente
envia a Bob uma 1nensage1n contendo sua identidade e um estão entre as mais importantes.
nonce.
Quando recebe essa 111ensagem, Bob não sabe co1n
certeza se ela veio de Alice ou de Trudy, 1nas continua e 8.10.1 IPsec
pede ao servidor de diretórios a chave pública de Alice A lETF há 1nuitos anos já sabia que faltava segurança na In-
(1nensage111 4) e logo a recebe (n1ensagem 5). Em seguida, ternet. Não era fácil aumentá-la, porque havia uma disputa
524 Redes de compu tadores

para definir onde colocá-la. A maioria dos especialistas A razão para vários níveis de detalha1nento é possibili-
e1n segurança acredita que, para seren1 reahnente seguras, tar a proteção de u1na única conexão TCP, de todo o tráfego
a criptografia e as verificações de integridade deve1n ser entre um par de hosts ou de todo o tráfego entre un1 par de
realizadas de ponta a ponta (i.e., na camada de aplicação). roteadores seguros, além de outras possibilidades.
Ou seja, o processo de origem criptografa e/ou protege a U1n aspecto utn tanto surpreendente do !Psec é que,
integridade dos dados e os envia ao processo de destino, en1bora esteja na ca1nada IP, ele é orientado a conexões.
onde eles são descriptografados e/ou verificados. Qualquer Na realidade, isso não é 1nuito surpreendente porque, para
adulteração realizada entre esses dois processos, inclusive ter alguma segurança, uma chave tem de ser estabelecida
dentro de qualquer s istema operacional, poderá então ser e usada por um período de tempo - basica1nente, uma es-
detectada. A dificuldade com essa abordagetn é que ela exj- pécie de conexão com um nome diferente. Alé1n disso, as
ge a troca de todas as aplicações, a ftm de torná-las cientes conexões a1nortiza1n os custos de configuração por vários
da segurança. Nessa visão, a segunda melhor abordagem é pacotes. Uma "conexão" no contexto do IPsec é chatnada
inserir a criptografia na camada de transporte ou em uma associação de segurança, ou SA (Security Association).
nova ca1nada entre a camada de aplicação e a camada de Uma SA é uma conexão simplex entre duas extremidades e
transporte, tomando-a ainda de uma ponta à outra, mas sem tem um identificador de segurança associado a ela. Se hou-
exigir que as aplicações sejam alteradas. ver necessidade de tráfego seguro em a1nbos os sentidos,
A visão oposta é que os usuários não entendem de se- serão exigidas duas SAs. Os identificadores de segurança
gurança e não serão capazes de usá-la corretamente e, como são transportados eu1 pacotes que percorrem essas cone-
ninguém quer modificar programas existentes, a camada xões segw·as e são usados para pesquisar chaves e outras
de rede devia autenticar e/ou codificar pacotes sem que os info1mações relevantes na chegada de um pacote seguro.
usuários estejam envolvidos. Depois de anos de batalhas, Tecnica1nente, o IPsec tem duas partes principais.
essa visão ganhou apoio suficiente para que fosse defini- A primeira descreve dois novos cabeçalhos que podem ser
do u1n padrão de segurança da camada de rede. Em parte, acrescentados aos pacotes para transportar o identificador
o argumento era que realizar a codificação na camada de de segurança, dados de controle de integridade e outras
rede não in1pediria que usuários conscientes da segurança a informações. A segunda parte, ISAKMP (Internet Secu-
i1nplementassem na can1ada de aplicação e, até certo ponto, rity Association and Key Management Protocol), trata
isso ta1nbém poderia ajudar os usuários se1n consciência da do estabelecimento de chaves - trata-se de um framework.
segurança. O protocolo principal para executar o trabalho é fKE (In-
ternet Key Exchange). Ele passou por várias versões, em
O resultado dessa guerra foi um projeto chamado
que as falhas foran1 corrigidas.
IPsec (IP security), descrito em muitas RFCs. Nem todos
O IPsec pode ser usado de dois modos. No modo de
os usuários desejam a criptografia (porque ela é dispendiosa
t ransporte, o cabeçalho IPsec é inserido logo após o ca-
e1n tern1os computacionais). Em vez de ton1á-la opcional,
beçalho IP. O campo Protocolo no cabeçalho IP é alterado
decidiu-se exigir a criptografia o tempo todo, mas permitir
para indicar que o cabeçalho IPsec vem após o cabeçalho IP
o uso de u1n algoritmo nulo, o qual é descrito e elogiado norn1al (antes do cabeçalho TCP). O cabeçalho IPsec con-
por sua simplicidade, facilidade de imple1nentação e grande tém informações de segurança, principalmente o identifica-
velocidade na RFC 241 O. dor de SA, um novo número de sequência e possivelmente
O projeto completo do IPsec é uma estrutura para uma verificação de integridade da carga útil.
vários serviços, algoritmos e detalhamentos. A razão para No modo tunelamento, todo o pacote fP, incluindo o
vários serviços é que nem todo mundo quer pagar o preço cabeçalho, é encapsulado no corpo de u1n novo pacote IP
de ter todos eles o tempo todo e, assitn, estão disponíveis à com um cabeçalho IP co1npletamente novo. O modo túnel
escolha de cada usuário. Por exemplo, alguém assistindo a é útil quando o túnel tennina em un1 local diferente do des-
um fi lme por strean1ing de um servidor remoto pode não se tino. Em alguns casos, o fim do túnel é u1na máquina com
importar com criptografia (embora o proprietário do direito gateway de segurança, por exemplo, o firewall de uma em-
autoral si1n). Os principais serviços são sigilo, integridade presa. Isso nonnahnente acontece para u1na VPN (Virtual
de dados e proteção contra ataques de reprodução (em que Private Network). Nesse nlodo, o gateway de segurança en-
o intruso reproduz u1na conversação). Todos esses serviços capsula e desencapsula pacotes à 1nedida que eles passam
se baseiam na criptografia de chave sin1étrica, porque o alto por ele. Quando o túnel tennina nessa máquina segura, as
desempenho é fundan1ental. máquinas da LAN da e1npresa não têm de to1nar conheci-
A razão de vários algoritmos é que um algoritJno que mento do JPsec, so1nente o gateway de segurança precisa
agora é considerado seguro poderá ser violado no futuro. conhecê-lo.
Ton1ar o IPsec independente do algoritino 1nanté1n a estru- O modo túnel também é útil quando um conjunto de
tura 1nesmo se algu1n algoritn10 específico for violado pos- conexões TCP é agregado e tratado como um único fluxo
terionnente. Passar para o algoritmo 2 é n1uito n1ais fácil do codificado, porque isso evita que um intruso veja quem
'
que criar uma nova estrutura. está enviando quantos pacotes para que1n. As vezes, o
Capítulo 8 • Segurança de redes 525

simples conhecimento da quantidade de tráfego e de seu O campo Nú1nero de sequência é usado para nume-
destino é uma infom1ação valiosa. Por exemplo, se duran- rar todos os pacotes enviados em uma SA. Todo pacote re-
te u1na crise militar o volume de tráfego que flui entre o cebe um nú1nero exclusivo, até mesmo as retransmissões.
Pentágono e a Casa Branca cair de forma brusca, mas o Em ouh·as palavras, a retransmissão de um pacote recebe
volu1ne de tráfego entre o Pentágono e alguma instalação um número diferente do original (embora seu n(unero de
militar nas profundezas das Montanhas Rochosas do Co- sequência do TCP seja o 1nes1no). A finalidade desse cam-
lorado aumentar na mesma proporção, um intruso poderá po é detectar ataques de reprodução. Esses números de se-
deduzir algumas informações úteis desses dados. O estudo quência não podem se repetir. Se todos os 2 32 se esgotarem,
dos padrões de fluxo de pacotes, ainda que eles esteja1n co- terá de ser estabelecida u1na nova SA para dar continuidade
dificados, é chamado de análise de tráfego. O 1nodo túnel . -
a' comun1caçao.
fornece u1n meio para anular até certo ponto essa análise. Finahnente, chegamos ao ca1npo Dados de autenti-
Sua desvantagem é que acrescenta um cabeçalho IP ex- cação, um campo de tamanho variável, que contém a as-
tra, aumentando substancialmente o tamanho dos pacotes. sinatura digital da carga útil. Quando a SA é estabelecida,
E1n contraste, o niodo de transporte não afeta muito o ta- os dois lados negociam o algoritmo de assinatura que vão
manho dos pacotes. usar. E1n geral, não é utilizada aqui a criptografia de chave
O primeiro cabeçalho novo é o cabeçalho de auten- pública, porque os pacotes devem ser processados de for-
ticação, ou AH (Authentication Header). Ele fornece ma extren1arnente rápida e todos os algoritmos de chave
verificação de integridade e segurança contra reprodução, pública conhecidos são lentos. Como o lPsec se baseia na
mas não oferece sigilo (i.e., não há criptografia de dados). criptografia de chave simétrica, e como o transmissor e
O uso do AH no modo de transporte é ilustrado na Figura o receptor negociam uma chave compartilhada antes de
8.41. No 1Pv4, ele é inserido entre o cabeçalho IP (incluin- estabelecer uma SA, a chave compartilhada é usada no
do quaisquer opções) e o cabeçalho TCP. No TPv6, ele é cálculo da assinatura. Assi1n, o TPsec utiliza u1n HMAC,
sin1plesn1ente outro cabeçalho de extensão e é tratado co1no sen1elhante ao que discutin1os na seção sobre autenticação
tal. De fato, o formato é próximo ao de um cabeçalho de usando chaves compartilhadas. Como dissemos, é muito
extensão padrão do IPv6. E' possível que a carga útil tenha mais rápido calcular o valor desse esquema que execu-
de ser preenchida até completar algutn tamanho específico tar primeiro o SHA-2 e depois executar o RSA sobre o
para o algoritmo de autenticação, como 1nostra a figura. resultado.
Agora, vamos examinar o cabeçalho AH. O can1po O cabeçalho AH não permite criptografia dos dados,
Próxirno cabeçalho é usado para armazenar o valor anterior portanto, ele é útil principalmente quando a verificação da
que o ca1npo Protocolo do TP tinha antes de ser substituído integridade é necessária, mas não o sigilo. Uma caracterís-
por 51 para indicar que haverá u1n cabeçalho AH em segui- tica do AH que vale a pena notar é que a verificação de
da. Na maioria dos casos, o código para o TCP (6) entrará integridade abrange alguns dos can1pos do cabeçalho IP, ou
aqui. O campo Ta111anho da carga útil é o número de pala- seja, aqueles que não se alteram à medida que o pacote pas-
vras de 32 bits no cabeçalho AH, tnenos 2 unidades. sa de u1n roteador para outro. Por exetnplo, o campo Ten1po
'
O campo índice de parâm.etros de segurança é o iden- de vida muda a cada hop e assim não pode ser incluído na
tificador da conexão. Ele é inserido pelo trans1nissor para verificação de integridade. No entanto, o endereço de ori-
indicar um registro específico no banco de dados do recep- gen1 IP é incluído na verificação, o que torna impossível
tor. Esse registro contém a chave compartilhada usada nes- para um intruso falsificar a origern de um pacote.
sa conexão e outras informações sobre ela. Se esse protoco- O cabeçalho IPsec alternativo é a ESP (Encapsula-
lo tivesse sido criado pela ITU e não pela IETF, esse campo ting Security Payload). Seu uso no 1nodo de transporte e
seria chamado de Número do circuito virtual. no modo túnel é mostrado na Figura 8.42.

Autenticado

Cabeçalho IP AH Cabeçalho TCP Carga útil + preenchimento

-- --- --- --
----
Proximo Tamanho da
32 bits
(Reservado)
--- -
cabecalho caraa útil
Índice de parâmetros de segurança

Número de sequência

_.... -
Dados de autent1caçao (HMAC) ....

T T
Figura 8.41 O cabeçalho de autenticação do IPsec em modo de transporte para o 1Pv4.
526 Redes de computadores

Autenticado
Cabeçalho Cabeçalho Cabeçalho
(a) TCP Carga útil + preenchimento Autenticação (HMAC)
IP ESP

- - - - Codificado - - --

Autenticado
Novo Cabeçalho Antigo Cabeçalho
(b) cabeçalho TCP Carga útil + preenchimento Autenticação (HMAC)
cabeçalho IP ESP
IP
- - - - - - Codificado - - - - --

Figura 8.42 (a) ESP em modo de transporte. (b) ESP em modo túnel.

O cabeçalho ESP consiste, em duas palavras de 32 bits. arrendarem linhas dedicadas da companhia telefônica entre
Elas constituem os campos índice de parâmetros de se- alguns pares de locais ou entre todos eles. Algumas orga-
gurança e Nú1nero de sequência, que vilnos no AH. Uma nizações ainda fazem isso. Uma rede construída a partir de
terceira palavra que geralmente segue esses campos (mas con1putadores de empresas e de linhas telefônicas dedica-
tecnicaniente não faz parte do cabeçalho) é o Vetor de ini- das é chamada de r ede privada.
cialização, usado para a criptografia de dados, a menos As redes privadas funcionam muito bem e são bas-
que não seja utilizada criptografia, e nesse caso ele será tante seguras. Se as únicas linhas disponíveis forem as
01nitido. linhas dedicadas, nenhum tráfego poderá vazar para fora
A ESP també1n fornece verificações de integridade do das instalações da empresa, e os intrusos terão de grampear
HMAC, como o AH; porém, en1 vez de sere1n incluídas no fisicamente as linhas para entrar, o que não é fácil. O pro-
cabeçalho, elas vêm depois da carga útil, como mostra a ble1na das redes privadas é que arrendar uma única linha TI
Figura 8.42. A colocação do HMAC no ftnal tetn u1na van- é muito caro. Quando surgiram as redes públicas de dados e
tagem em unia imple1nentação de hardware: o HMAC pode mais tarde a Internet, muitas empresas optara1n por mover
ser calculado à medida que os bits sae1n pela interface de seu tráfego de dados (e possivelmente o de voz) para a rede
rede e são acrescentados ao ftnal. Por essa razão, as redes pública, mas sem desistir da segurança da rede privada.
Ethernet e outras LANs têm seus CRCs em um final (trai- Essa demanda logo levou à criação de redes privadas
ler), e não em um cabeçaUJo. Cotn o AH, o pacote tem de virtuais, ou VPNs (Virtual Private Nenvorks), que são re-
ser armazenado e1n buffer e a assinatw·a deve ser calculada des sobrepostas às redes públicas, mas com a maioria das
antes que seja possível enviar o pacote, reduzindo poten- propriedades das redes privadas. Elas são chamadas "vir-
cialmente o nún1ero de pacotes que podem ser enviados por tuais" porque são mera1nente uma ilusão, da mes1na forma
segundo. que os circuitos virtuais não são circuitos reais e que a me-
Considerando que a .ESP pode fazer tudo o que o AH mória virtual não é uma memória real.
pode fazer e 1nuito 1nais, alé1n de ser 1nais eficiente durante U1na técnica popular é construir as VPNs diretamente
a fase inicial, surge a questão: afinal, qual é a necessidade sobre a Internet. U1n projeto comum é equipar cada escritó-
do AH? A resposta é principalmente histórica. No início, o rio com um firewall e criar túneis pela Internet entre todos
AH cuidava apenas da integridade, enquanto a ESP tratava os pares de escritórios, como ilustra a Figura 8.43(a). Ou-
do sigilo. Mais tarde, a integridade foi acrescentada à ESP, tra vantagem do uso da Internet para a conectividade é que
mas as pessoas que projetaram o AH não queriam deixá-lo os túneis podem ser criados por de1nanda para incluir, por
mon·er depois de tanto trabalho. Seu único argun1ento real exen1plo, o con1putador de um funcionário que está en1 casa
é que o AH verifica parte do cabeçalho lP, o que a ESP não ou viajando, desde que a pessoa tenha unia conexão com
faz. Contudo, esse é um argu1uento fraco, como tarnbén1 o a Internet. Essa flexibilidade é 1nuito 1naior do que aquela
argu1nento de que u1n produto co1n suporte para o AH, 1nas oferecida com linhas dedicadas, embora, do ponto de vista
não para a ESP, poderia ter menos problen1as para obter dos co1nputadores na VPN, a topologia seja exatamente a
uma licença de exportação, porque não poderia efetuar a mesn1a que no caso da rede privada, como mostra a Figura
codificação. É provável que o AH deixe de ser usado no 8.43(b). Quando o sistema é iniciado, cada par de firewalls
futuro. tem de negociar os parân1etros de sua SA, incluindo os ser-
viços, os modos, os algoritmos e as chaves. Se o IPsec for
usado no tunelamento, será possível agregar todo o tráfe-
8.10.2 Redes privadas virtuais
go entre dois pares de escritórios quaisquer em un1a única
Muitas empresas tê1n escritórios e fábricas espalhados por SA autenticada e criptografada, fornecendo assim controle
muitas cidades, às vezes por vários países. Antigamente, de integridade, sigilo e até mesmo uma considerável imu-
antes das redes públicas de dados, era comum tais e1npresas nidade à analise de tráfego. Muitos firewalls têm recursos
Capítulo 8 • Segurança de redes 527

Londres Paris
em
Londre
Internet

Residência Viagem Residência Viagem


(a) (b)

Figura 8.43 (a) Uma rede privada virtual. (b) Topologia vista de dentro.

internos para VPN. Alguns roteadores comuns podem fazer uma empresa pode se dirigir até o estacionamento dos fun-
isso 1nuito bem, porém, como os firewalls se destinatn prin- cionários pela inanbã, deixar u1n notebook capaz de reco-
cipahnente a questões de segurança, é natural fazer os tú- nhecer sinais 802. 11 dentro do carro para registrar tudo o
neis começarem e terminarem nos firewalls , proporcionan- que ouvir e se retirar no final do dia. À tarde, o disco rígido
do uma separação clara entre a empresa e a Internet. Desse estará repleto de valiosas informações. Teoricamente, esse
modo, firewalls, YPNs e IPsec com ESP em modo túnel for- vazamento não deveria acontecer. Na teoria, as pessoas
marn urna cornbinação natural e rnuito utilizada na prática. também não deveriam roubar bancos.
Depois que as SAs são estabelecidas, o tráfego pode Grande parte do problen1a de segurança pode ter sua
con1eçar a fluir. Para u1n roteador na internet, um pacote origern nos fabricantes de estações-base sem fio (pontos de
que viaja por um túnel YPN é apenas u1n pacote comum. acesso) que tentam tornar seus produtos amigáveis para o
O único detalhe incomum corn ele é a presença do cabeça- usuário. Em geral, se o usuário retirar o dispositivo da caixa
lho IPsec depois do cabeçalho rP; porém, como esses cabe- e o conectar à tomada da rede elétrica, ele começará a ope-
çalhos extras não têm nenburn efeito sobre o processo de rar de imediato - quase sempre sem qualquer segurança,
encarninhamento, os roteadores não se preocuparn com eles. revelando segredos para todo mundo que estiver dentro do
Outra técnica que está ganhando popularidade é fazer alcance de rádio. Se ele for conectado a uma rede Ethernet,
o TSP estabelecer a VPN. Usando MPLS (conforme discu- todo tráfego da Ethernet também aparecerá de repente no
tirnos no Capítulo 5), os caminhos para o tráfego da VPN estacionamento. A rede sem fio é um sonho que se tornou
podern ser criados pela rede do ISP entre os escritórios da realidade para o espião: dados gratuitos sem esforço algum.
empresa. Esses caminhos mantêrn o tráfego da VPN sepa- Por isso, não é preciso dizer que a segurança é ainda mais
rado do restante do tráfego da Internet e podem receber al- importante para sistemas sem fio do que para sistemas fi-
gun1a quantidade de largura de banda garantida, ou então sicamente conectados. Nesta seção, examinarernos alguns
outro tipo de qualidade de serviço. aspectos de segurança das redes sem fio, corn um foco no
WiFi (802. l l). Algumas infonnações adicionais podern ser
Uma vantagern importante dessa fonna de organizar
encontradas em Osterhage (2018).
un1a VPN é sua completa transparência para todo o soft-
Parte do padrão 802.11, originalmente chamado de
ware do usuário. Os firewalls montam e gerenciam as SAs.
802.lli, prescreve um protocolo de segurança do nível de
A única pessoa consciente dessa configuração é o admi-
enlace de dados para irnpedir que um nó sem fio leia ou
nistrador do sisterna, que tem de configurar e administrar
interfira nas mensagens enviadas entre outro par de nós
os gateways de segurança, ou o administrador do ISP, que
sen1 fio. Ele ta1nbé1n é cha1nado de WPA2 (WiFi Protec-
deve configurar os carninhos MPLS. Para todas as outras
ted Access 2). O WPA puro é un1 esquema intermediário
pessoas, é como ter de novo uma rede privada de linha de-
que implementa um subconjunto do 802. l li. Ele deve ser
dicada. Para obter mais informações sobre VPNs, consulte
evitado em favor do WPA2. Seu sucessor, brilhantemente
Ashraf(2018).
chamado de WPA3, foi anunciado em janeiro de 2018 e usa
a criptografia de 128 bits no "1nodo pessoal" e criptogra-
8.10.3 Segurança em redes sem fio fia de 192 bits no "modo Enterprise". O WPA3 tem muitas
melhorias ern relação ao WPA2, entre as quais está aquela
E' muito fácil projetar u1n sistema co1n total segurança em conhecida con10 "Dragonfly'', u1n handshake melhorado
termos lógicos usando VPNs e firewalls, embora na prática para impedir certos tipos de ataques de adivinhação de se-
ele vaze con10 tuna peneira. Essa situação pode ocorrer se nha que infestam o WPA2. No nlomento em que esta edi-
algumas das máquinas forem sern fio e usarem comunica- ção foi escrita, o WPA3 ainda não era tão utilizado quanto
ção por rádio, que passa pelo firewall em ambos os sentidos o WPA2. Alé1n disso, en1 abril de 2019, os pesquisadores
(entrada e saída). O alcance das redes 802. l l pode chegar divulgaran1 um vetor de ataque conhecido como Dragon-
a 100 metros; assim, qualquer pessoa que queira espionar blood, que remove muitas das vantagens de segurança do
528 Redes de computadores

WPA3. Por esses motivos, nesta seção, va1nos nos concen- En1 vez disso, há uma senha única compartilhada, usada
trar no WPA2. pelos clientes para acessar a rede sem fio. Esse ambiente
Vamos descrever o 802.11 i em breve, mas priineiro é 1nenos complexo do que aquele co1n um servidor de au-
indicaren1os que ele é um substituto para o WEP (Wired tenticação, motivo pelo qual é usado em casa e e1n peque-
Equivalent Privacy), a primeira geração de protocolos de nas empresas, poré1n ta1nbé1n é 1nenos seguro. A principal
segurança 802.1 1. O WEP foi criado por um comitê de pa- diferença é que, cotn um servidor de autenticação, cada
drões de rede, que é um processo completamente diferente, cliente recebe uma chave para codificar o tráfego, que não
por exen1plo, do 1nodo co1no o NIST selecionou o projeto é conhecida pelos clientes externos. Com urna única senha
do AES, usando u1na co1npetição pública n1undial. Os re- compartilhada, diferentes chaves são derivadas para cada
sultados fora1n devastadores. O que saiu errado com ele? cliente, mas todos têm a mesma senha e podem derivar as
Do ponto de vista da segurança, quase tudo. Por exemplo, chaves uns dos outros, se quiserem.
WEP codificava dados por confidencialidade realizando As chaves usadas para codificar o tráfego são calcula-
um XOR com a saída de um fluxo de cifras. Infeliz1nente, o das como parte de um handshake de autenticação. O hand-
uso de chaves fracas fez com que a saída gerahnente fosse shake ocorre logo depois que o cliente se associa a uma
reutilizada. Isso ocasionou fonnas triviais de ataque. Co1no rede sem fio e se autentica com um servidor de autentica-
outro exemplo, a verificação de integridade era baseada em ção, se houver. No início do handshake, o cliente tem a se-
um CRC de 32 bits. Esse é um código eficiente para detec- nha de rede compartilhada ou sua senha para o servidor de
tar erros de transmissão, inas não é u1n 1necanisn10 cripto- autenticação. Essa senha é usada para derivar uma chave
graficamente forte para combater os invasores. mestra. Contudo, a chave n1estra não é usada diretamente
Essas e outras falhas de projeto tomaram o WEP mui- para codificar pacotes. É u1na prática criptográfica padrão
to fácil de ser cornpro1netido. A primeira den1onstração prá- derivar uma chave de sessão para cada período de uso, n1u-
tica de que o WEP tinha falhas veio quando Adam Stubble- dar a chave para diferentes sessões e expor a chave mestra à
field era um estagiário na AT &T (Stubblefield et ai., 2002). observação o 1níi1ilno possível. É essa chave de sessão que
Ele conseguiu codificar e testar um ataque esboçado por é calculada no handshake.
Fluhrer et ai. (2001) em uma semana, em que a maior parte A chave de sessão é calculada com o handshake de
do ten1po foi gasta convencendo a gerência para que lhe quatro pacotes mostrado na Figura 8.44. Pri1neiro, o ponto
comprasse uma placa WiFi para usar em seus experimen- de acesso, ou AP (Access Point), envia um nún1ero qual-
tos. O software para quebrar senhas WEP em u1n 1ninuto quer para identificação. O cliente també1n escolhe seu pró-
agora está livremente disponível e o uso de WEP é bastan- prio nonce. Ele usa os nonces, seu endereço MAC e o do
te desencorajado. En1bora ele iinpeça o acesso casual, não AP, e a chave mestra para calcular uma chave de sessão, Ks.
oferece nenhun1a fonna de seglU"ança real. O grupo 802.11 i A chave de sessão é dividida em partes, usadas para dife-
foi reunido às pressas quando ficou claro que o WEP foi rentes finalidades, mas omitiremos esse detalhe. Agora, o
seriamente con1prornetido. Esse grupo produziu um padrão cliente tem chaves de sessão, mas o AP não tem. Assim, o
fonnal em junho de 2004. cliente envia seu nonce ao AP, e este realiza o mesmo cál-
Agora, vamos descrever o 802.11 i, que oferece segu- culo para derivar as mesmas chaves de sessão. Os nonces
rança real se for 1nontado e usado devida1nente. Existe1n podem ser enviados às claras, pois as chaves não podem ser
dois cenários comuns em que o WPA2 é usado. O primei- derivadas a partir deles sem informações extras, secretas.
ro é un1 ambiente corporativo, em que urna e1npresa ten1 A mensagem do cliente é protegida com uma verificação
um servidor de autenticação separado, com um banco de de integridade cha1nada verificação de integridade da n1en-
dados de nomes de usuários e senhas, que pode ser usado sagen1, ou MIC (Message Integrity Check), com base na
para determinar se um cliente sem fio tem pennissão para chave da sessão. O AP pode verificar se a MIC está correta,
acessar a rede. Nesse ambiente, os clientes usam protocolos e portanto se a 1nensagem reahnente veio do cliente, de-
padrão para ser autenticados na rede. Os principais padrões pois de calcular as chaves de sessão. U1na MIC é apenas
são o 802.lX, com o qual o ponto de acesso pennite que o outro nome para um código de autenticação de mensagem,
cliente trave u1n diálogo com o servidor de autenticação e corno em um HMAC. E1n seu lugar, o tenno MIC é fre-
observe o resultado, e o EAP (Extensible Authentication quentemente utilizado para protocolos de rede, devido ao
Protocol) (RFC 3748), que informa como o cliente e o ser- potencial de confusão com endereços MAC (Medium Ac-
vidor de autenticação deven1 interagir. Na realidade, EAP é cess Control).
um framework e outros padrões definem as mensagens do Nas duas últünas mensagens, o AP distribui utna cha-
protocolo. Contudo, não vamos entrar e1n muitos detalhes ve de grupo, Kc, ao cliente, e este confirma a mensagem.
dessa troca, pois eles não são muito importantes para uma O recebi1nento dessas mensagens permite que o cliente
visão geral do assunto. verifique se o AP tem as chaves de sessão corretas e vice-
O segundo cenário está en1 um ambiente domésti- -versa. A chave de grupo é usada para tráfego de broadcast
co típico, em que não existe um servidor de autenticação. e multicast na LAN 802.11. Tendo em vista que o resultado
Capítulo 8 • Segurança de redes 529

1 .-------,
Calcula chaves de NonceAP
sessão Ks a partir
de endereços MAC,
nonces e chave 2.-------,
1---------1 Noncec, MICs 1------~ ~
mestra $
0 Calcula chaves
2e ::l de sessão K5 ,
a> da mesma forma
3 ------, ~
õ ,_______,
Q)
Ks (KG), MICs ,___ _ _ __, ~ q ue o cliente
Verifica Distribui chave do grupo, KG .8
se o e
o
a_
cliente 4
temKs 1 - - - - - - ---1 Ks (ACK), MICs 1 - - - - - - - - - i
Verifica
Confirmação seAP
temK5
'----'

Figura 8.44 Ohandshake de definição de chave no 802.11 i.

do handshake é que cada cliente tem suas próprias chaves con10 o MlC. Em seguida, tanto a mensage1n (codificada
de codificação, nenhun1a delas pode ser usada pelo AP para com o modo contador) como o MIC são enviados. O cliente
transmitir pacotes por broadcast a todos os clientes sem e o AP podern realizar essa codificação individualmente,
fio uma cópia separada teria de ser enviada a cada cliente ou então verificá-la quando un1 pacote for recebido pela
usando sua chave. E1n vez disso, u1na chave co1upartilba- rede sem fio. Para o broadcast ou 1nulticast de 1nensagens,
da é distribuída para que o tráfego de broadcast possa ser o mesmo procedimento é usado com a chave de grupo.
enviado apenas uma vez e recebido por todos os clientes.
Ela precisa ser atualizada à medida que os clientes entram
e saem da rede.
Por fim , chegamos à parte em que as chaves são 8.11 SEGURANÇA DE CORREIO
realmente usadas para fornecer segurança. Dois protoco- ELETRÔNICO
los poden1 ser usados no 802.11 i para fornecer confiden-
cialidade, integridade e autenticação da mensagem. Assim Quando uma 1nensage1n de correio eletrônico é enviada
como WPA, um dos protocolos, chamado TKJP (Tempo- entre dois sites distantes, geralmente ela transita por deze-
rary Key Integrity Protocol), foi uma solução te1nporária. nas de máquinas até chegar a seu destino. Qualquer uma
Ele foi criado para 1nelhorar a segurança em placas 802.11 dessas rnáquinas pode ler e armazenar a 1nensage1n para
antigas e lentas, de 1nodo que pelo menos alguma seguran- usá-la posteriormente. Na prática, não há privacidade, ape-
ça melhor que o WEP pudesse ser in1plementada co1no um sar de muitas pessoas acharem o contrário. Todavia, muita
upgrade no fir1nware. Contudo, ele também foi quebrado, e gente gostaria de enviar mensagens de correio eletrônico
por isso é melhor ficar com o outro protocolo recomendado, para que fossem lidas pelo destinatário pretendido e por
o CCMP. O que significa CCMP? Essa é urna abreviação ninguém mais (nem seu chefe, ne1n o governo). Esse desejo
para o nome espetacular "Counter mode with Cipher block estimulou muitas pessoas e grupos a aplicar os princípios
chaining Message authentication code Protocol" (protocolo da criptografia que estudamos anteriormente para produzir
de código de autenticação de mensagem de modo contador mensagens seguras. Nas seções a seguir, estudaremos um
com encadeamento de blocos de cifras). Vamos chamá-lo sistema de correio eletrônico seguro e bastante utilizado, o
simplesmente de CCMP. Você pode chamá-lo co1no quiser. PGP, e depois mencionaremos breve1nente outro siste1na,
O CCMP funciona de maneira relativamente simples: o S/MlME.
ele usa a codificação AES com uma chave e u1n tamanho
de bloco de 128 bits. A chave ven1 da chave de sessão. Para
fornecer confidencialidade, as mensagens são codificadas
8.11.1 Pretty Good Privacy
co1n AES no 1nodo contador. Lembre-se de que discuti- Nosso priineiro exe1nplo, o PGP (Pretty Good Privacy),
mos sobre os modos de cifras na Seção 8.2.3. Esses modos foi criado por u1na única pessoa, Phil Zi1nn1ennann ( 1995).
são o que impede que a mesma 1nensagem seja codifica- Zimmermann é um defensor da privacidade cujo lema é:
da para o rnesmo conjunto de bits todas as vezes. O 1nodo "Se a privacidade for ilegal, so1nente os ilegais terão pri-
contador insere um contador junto com a codificação. Para vacidade". Lançado em 1991, o PGP é um pacote comple-
oferecer integridade, a mensagem, incluindo os campos to para segurança de 1nensagens de co1Teio eletrônico que
de cabeçalho, é codificada com o 1nodo de encadeamento fon1ece privacidade, autenticação, assinaturas digitais e
de blocos de cifras e o último bloco de 128 bits é mantido compactação, tudo de uma forma fácil de usar. AJé1n disso,
530 Redes de computadores

o pacote con1pleto, incluindo todo o código-fonte, é distri- leis de munições; outras se concentraran1 em evitar o uso
buído de graça via Internet. Graças à qualidade, ao preço de algoritmos patenteados; e ainda outras queriam transfor-
(zero) e à disponibilidade em platafonnas UNIX, Linux, 1ná-lo e1n urn produto comercial co1n código-fonte fecha-
Windows e Mac OS, é um sisterna bastante utilizado hoje. do. Embora as leis de munições tenham sido ligeiramente
O PGP originalmente codificava dados usando uma atenuadas (do contrário, produtos que usassem o AES não
cifra de bloco charnada IDEA (lnternational Data En- poderiam ter sido exportados pelos Estados Unidos) e a pa-
cryption Algorithm), que utiliza chaves de 128 bits. Ele tente do RSA tenha expirado e1n setembro de 2000, o le-
foi criado na Suíça em uma época na qual o DES era consi- gado de todos esses problemas foi a existência de várias
derado decadente e o AES ainda não tinha surgido. Ern ter- versões incompatíveis do PGP, identificadas por diversos
mos conceituais, o IDEA é semelhante ao DES e ao AES: nomes. A descrição a seguir se concentra no PGP clássico, a
ele ernbaralha os bits em un1a série de rodadas, n1as os de- versão mais antiga e 1nais sünples, exceto que usarnos AES
talhes das funções executoras são diferentes dos de DES e e SHA-2 no lugar de lDEA e MD5 em nossa explicação.
AES. Mais tarde, o AES foi acrescentado como um algorit- Outra versão popular, o Open PGP, é descrita na RFC 2440.
mo de criptografia e é usado agora com frequência. Ainda outra é o Privacy Guard do GNU.
O PGP também esteve envolvido em controvérsias O PGP utilizou intencionahnente algoritmos crip-
desde o início (Levy, 1993). Corno Zimmern1ann não fez tográficos que já existiam, en1 vez de criar novos. Ele se
nada para impedir que outras pessoas colocassem o PGP na baseia em algoritmos que passaram por intensas revisões
Internet, onde gente de todo o mundo poderia obtê-lo, o go- e não foram projetados ou influenciados por nenhuma
ven10 dos Estados Unidos afirmou que Zimmermann violou agência governamental que tentasse enfraquecê-los. Para
leis norte-americanas que proibiam a exportação de rnuni- pessoas que tendem a não acreditar no governo, essa carac-
ções. A investigação durou cinco anos, mas foi abandonada, terística representa uma excelente opção.
provaveln1ente por dois motivos. Primeiro, Zimmermann O PGP aceita compactação de textos, sigilo e assinatu-
não colocou o PGP na Internet, e assim seu advogado afir- ras digitais, e também oferece amplos recursos de gerencia-
mou que ele nunca exportou nada (e, na época, havia dúvi- mento de chaves, mas, estranhamente, não oferec.e recursos
das sobre se criar urn site constituiria urna fonna de expor- de correio eletrônico. Ele é 1nais parecido com um pré-pro-
tação). Segundo, o governo percebeu mais tarde que vencer
cessador que recebe texto simples como entrada e produz
uma disputa judicial significava convencer um júri de que
texto cifrado assinado em base64 como saída, a qual pode
um site contendo un1 prograrna de privacidade passível de
então ser enviada por correio eletrônico. Algumas imple-
ser transferido por download era uma infração sujeita às pe-
mentações do PGP chamam um agente do usuário na etapa
nas da lei contra tráfico de am1as - que proibia a exportação
final para enviar de fato a mensagem.
de materiais de guerra como tanques, submarinos, aerona-
ves militares e armas nucleares. Vários anos de publicidade Para ver como o PGP funciona, considere o exemplo
negativa provavelmente também não ajudariarn muito. da Figura 8.45. Alice deseja enviar uma mensagem em tex-
A propósito, as regras de exportação são bizarras, para to sirnples assinada, P, para Bob de forma segura. O PGP
dizer o mínin10. O governo norte-americano considerava a ad1nite diferentes esquemas de criptografia, como RSA e
colocação de código em un1 site um ato de exportação ile- criptografia por curva elíptica, mas vamos considerar aqui
gal e processou Zimmennann durante cinco anos. De nlodo que tanto Alice quanto Bob têm chaves RSA privadas (Dx)
controverso, quando alguém publicava o código-fonte e públicas (Ex). Vamos supor que cada utn conheça a chave
completo do PGP em linguagern C sob a forma de um livro pública do outro; examinaremos en1 breve o gerenciamento
(em uma fonte de tamanho grande com un1 checksu1n em de chaves do PGP.
cada página, para facilitar a digitalização) e depois o expor- Alice começa invocando o prograrna PGP em seu
tava, isso era legal, porque os livros não são classificados cotnputador. Primeiro, o PGP submete sua mensagem P a
como munições. A espada é mais poderosa que a caneta, un1 processo hash, utilizando o SHA-2; em seguida, cripto-
pelo rnenos para o Tio Sam. grafa o resultado com sua chave privada RSA, DA. Quando
Outro problerna que o PGP enfrentou envolvia a vio- receber a mensagem, Bob poderá descriptografar o bash
lação de patentes. A empresa que detinha a patente do RSA, com a chave pública de Alice e confmnar que o bash está
denominada RSA Security, Inc., alegou que o uso que o con·eto. Mesmo que alguma outra pessoa (p. ex., Trudy)
PGP fazia do algoritmo RSA infiingia sua patente, rnas esse pudesse adquirir o hash nesse estágio e descriptografá-lo
problerna foi contornado nas versões seguintes, a partir da com a chave pública de Alice, a robustez do SHA-2 garante
versão 2.6. Além disso, o PGP usa outro algorit1no de crip- que seria inviável e1n te1mos cornputacionais produzir ou-
tografia patenteado, o IDEA, o que causou alguns proble- tra rnensagem con1 o rnesmo hash SHA-2.
mas no inicio. O hash criptografado e a mensagem original são con-
Tendo em vista que o PGP tem código-fonte aberto, catenados em uma única mensage1n PI e cotnpactados com
muitas pessoas e grupos o modificaram e produziratn várias o progra1na ZIP, que emprega o algoritino de Ziv-Lempel
versões. Algumas delas forarn projetadas para contornar as (Ziv e Lempel, 1977). Charne a saída dessa etapa de P l .Z.
Capítulo 8 • Segurança de redes 531

KM : Chave de mensagem única para AES Chave RSA pública


de Bob, E6
Q9 : Concatenação
\
Chave RSA privada KM __,~1 RSA
de Alice, DA
\ 1 --~
Texto ASCII
p Zip 1 P;.z• AES /C>\.___
1--~
Base para a rede
64

\
Mensagem Concatenação
P1 compactado

Concatenação de P1 .z
de texto simples de P e o hash codificado com AES e KM
original de Alice sinalizado de P codificado com E6

Figura 8.45 OPGP em operação para enviar uma mensagem.

Em seguida, o PGP solicita a Alice que informe da- grande volume de dados. Além disso, todos os 512 bits de
dos aleatoriamente. O conteúdo e a velocidade de digita- texto simples são excessiva1nente aleatórios, portanto, Tru-
ção são usados para gerar uma chave de 1nensagen1 AES dy terá muito trabalho para descobrir se uma suposta chave
de 256 bits, KM (denon1inada chave de sessão na literatura está correta. O trabalho de criptografia é feito pelo IDEA,
sobre o PGP; no entanto, essa denominação não é adequa- que é várias ordens de grandeza mais rápido que o RSA.
da, pois não há sessão). K.11 agora é usada para criptogra- Portanto, o PGP oferece segurança, con1pactação e assina-
far PJ.Z co1n AES. Além disso, K,11 é criptografada co1n a tura digital de uma fom1a 1nuito 1nais eficiente do que o
chave pública de Bob, E8 • Em seguida, esses dois compo- esquema ilustrado na Figura 8.22.
nentes são concatenados e convertidos para base64, como O PGP aceita vários tamanhos de chaves RSA. Cabe
discutimos na seção sobre o MIME no Capítulo 7. A men- ao usuário selecionar o 1nais apropriado. Por exemplo,
sagem resultante contém apenas letras, dígitos e os símbo- se você for um usuário regular, um tamanho de chave de
los +, / e=, o que significa que ela pode ser incluída em um 1024 bits pode ser suficiente. Se estiver preocupado com
corpo RFC 822 e chegar intacta a seu destino. alguma organização do governo com três letras, talvez
Ao receber a mensagem, Bob reverte a codificação 2048 bits deverá ser o minimo. Fica aflito ao pensar em
base64 e decodifica a chave AES utilizando sua chave pri- alienígenas, com tecnologia 1O mi l anos à frente da nossa
vada RSA. Ao usar essa chave, ele decodifica a nlensagem lendo suas mensagens de e-mail? Sempre haverá a opção
para obter P1.z. Após a descompactação, Bob separa o tex- de usar chaves de 4096 bits. Contudo, como o RSA só é
to simples do hash criptografado e descriptografa o hash usado para codificar alguns poucos bits, talvez seja melhor
utilizando a chave pública de Alice. Se o hash de texto si.ln- optar pela opção à prova de alienígenas.
pies coincidir co1n seu próprio cálculo SHA-2, ele saberá O fonnato de uma mensagem PGP clássica é mostra-
que P é a mensagem correta e que ela veio de Alice. do na Figura 8.46. Diversos outros fonnatos também es-
Vale a pena observar que o RSA só é usado em duas tão sendo usados. A mensagem tem três partes - a chave
situações: para criptografar o hash SHA-2 de 256 bits e fDEA, a assinatura e a mensagem. A parte referente à chave
para criptografar a chave de 256 bits. Apesar de o RSA contém não só ela, mas tambétn um identificador de chave,
ser lento, ele só precisa criptografar algtms bits, e não u1n pois os usuários pode1n ter várias chaves públicas.

..-- - - - - - - - - - - - - Base64 - - - - - - - - - - - - --
Parte da - - - - - - - - Compactado. criptografado por AES
chave da
mensagem Parte da assinatura Parte da mensagem
..
((
))
T.
ID Cab. H ID 1 H
as- o de p Hash Cab. Nome o
de KM RSA mens. arq. Mensagem
Ea sina- r EA o r
tura a s a {(

Criptografado ))

por 1 Ea

Figura 8.46 Uma mensagem PGP.


532 Redes de computadores

A parte referente à assinatura contém um cabeçalho, No entanto, na prática, frequentemente as pessoas re-
que não nos interessará aqui. O cabeçalho é seguido por um cebem chaves públicas consultando um servidor de chaves
registro de tempo, pelo identificador da chave pública do confiável. Por essa razão, depois da padronização do X.509,
transmissor, que pode ser usada para descriptografar o hash o PGP tambérn passou a adrnitir esses certificados, bem
de assinatura, algun1 tipo de info1mação que identifique os co1110 o n1ecanis1110 tradicional de anel de chaves públicas do
algoritmos utilizados (para permitir que o SHA-4 e o RSA2 PGP. Todas as versões atuais do PGP têm suporte ao X.509.
sejam usados quando forem criados) e pelo próprio hash
criptografado.
A parte referente à mensagem tambérn contém um 8.1 1.2 S/MIME
cabeçalho, o norne padrão do arquivo a ser usado se o re- O próximo empreendimento da IETF relacionado à se-
ceptor gravar o arquivo no disco, o registro de ten1po de gurança do correio eletrônico foi denominado S/MI ME
criação da nlensage1n e, por firn, a própria mensagern. (Secure/MIME), descrito nas RFCs 2632 a 2643. Ele
No PGP, o gerenciarnento de chaves recebeu 1nuita oferece ,autenticação, integridade de dados, sigilo e não re-
atenção por ser o calcanhar de aquiles de todos os sistemas púdio. E bastante flexível , pois adrnite uma variedade de
de segurança. O gerenciamento de chaves funciona confor- algoritmos criptográficos. Considerando-se o no1ne, não
me descrito a seguir. Cada usuário 1nanté1n duas estruturas surpreende que o S/MIME se integre ben1 ao MIME, per-
de dados localmente: um anel de chaves privadas e um anel mitindo que todos os tipos de rnensagens seja1n protegidas.
de chaves públicas. O a nel de chaves privadas contém Foi definida uma grande variedade de novos cabeçalhos
um ou mais pares de chave pública/privada. A razão para MIME, por exernplo, para conter assinaturas digitais.
aceitar vários pares por usuário é permitir que estes alterem O S/MIME não tem uma estrutura rígida de certifica-
suas chaves públicas periodican1ente ou quando uma delas dos co111eçando em uma única raiz, o que tem sido u1n dos
for considerada co1nprometida, sem invalidar as mensagens problemas políticos que arruinaram um sistema mais antigo,
que estiverem sendo preparadas ou em trânsito. Cada par chamado PEM (Privacy Enhanced Mail). Em vez disso, os
tem um identificador associado, para que o remetente da usuários podem ter várias âncoras de confiança. Desde que a
mensagern informe ao destinatário qual chave pública foi orige1n de urn certificado possa ser acompanhada até alguma
utilizada para criptografá-la. Os identificadores de mensa- âncora de confiança etn que o usuário acredite, ele é consi-
ge1n consistem nos 64 bits de baixa ordem da chave pú- derado válido. O S/MIME utiliza os algoritJnos e protocolos
blica. Os usuários são responsáveis por evitar conflitos ern padrão que examinamos até agora, portanto não o discutire-
seus identificadores de chave pública. As chaves privadas mos mais aqui. Para ver os detalhes, consulte as RFCs.
armazenadas ern disco são criptografadas corn o uso de
uma senha especial (arbitrariamente longa) para protegê-
-las contra ataques sorrateiros.
O anel de chaves públicas contém as chaves públi- 8.12 SEGURANÇA DA WEB
cas correspondentes do usuário. Elas são necessárias para
criptografar as chaves associadas a cada mensagen1. Cada Acabamos de estudar duas áreas importantes em que a se-
entrada do anel contém não só a chave pública, nlas tam- gurança é necessária: comunicações e correio eletrônico.
bém seu identificador de 64 bits e uma indicação de até que Considere-as entrada e aperitivo. Agora, vamos ao prato
ponto o usuário confia na chave. principal: a segurança da Web. O lugar onde encontramos
O problema que está sendo resolvido é explicado a se- a maioria dos intrusos, espionando e fazendo seu trabalho
guir. Vamos supor que as chaves públicas sejarn nlantidas sujo é a Web. Nas próximas seções examinaremos alguns
em sites da Web. Un1a forn1a de Trudy ler o e-mail secreto problemas e questões referentes à segurança da Web.
de Bob é atacar o website e substituir a chave pública de De modo geral, a segurança da Web pode ser dividida
Bob por outra de sua escolha. Quando Alice obtiver a chave em três partes. Primeira: como os objetos e os recursos são
que supostamente pertence a Bob, Trudy poderá 1nontar um nomeados co1n segurança? Segunda: co1no é possível es-
ataque da brigada de incêndio (MITM) contra Bob. tabelecer conexões seguras e autenticadas? Terceira: o que
Para irupedir tais ataques, ou pelo rnenos minimi- acontece quando urn site envia a urn cliente un1 fragmen-
zar suas consequências, Alice precisa saber até que ponto to de código executável? Depois de estudarmos algumas
pode confiar no item "chave de Bob" em seu anel de cha- an1eaças, vamos exa111inar todas essas questões.
ves públicas. Se souber que Bob entregou pessoallnente
um CD-ROM (ou um dispositivo de armazenamento 1nais
moderno) contendo a chave, ela poderá definir o valor de
8.12.1 Ameaças
confiança como o mais alto. Essa é uma abordagem descen- Quase toda semana, lemos notícias sobre problemas de segu-
tralizada e controlada pelo usuário para o gerenciamento rança de sites. A situação é realJuente bastante séria. Vamos
de chaves públicas, o que distingue o PGP dos esquemas examinar alguns exe1nplos do que já aconteceu. Primeiro, a
centralizados de PKI. home page de inúrneras organizações é atacada e substituída
Capítulo 8 • Segurança de redes 533

por uma nova ho1ne page escolhida pelos crackers. (A i1n- e, em alguns segundos, surge urna página Web. Contudo,
prensa popular chama as pessoas que invadem computadores será a página de Bob? Talvez sim, talvez não. Trudy poderia
de "hackers", mas muitos programadores reservam esse ter- colocar e1n prática rnais uma vez seus velhos truques. Por
mo para os ótimos progra1nadores. Preferi1nos chamar esses exemplo, ela poderia interceptar todos os pacotes enviados
invasores de "crackers".) Entre os sites invadidos incluem-se por Alice e examiná-los. Quando capturar urna solicitação
Yahoo, o Exército dos Estados Unidos, a CIA, a NASA e GET do HTTP endereçada ao site de Bob, ela mesma poderá
o New York Ti111es. Na maioria dos casos, os crackers sim- ir até o site de Bob para obter a página, modificá-la como
plesmente colocavam algum texto engraçado, e os sites eram desejar e retornar para Alice a página falsa. Ela ne1n ficaria
a1Tun1ados dentro de algumas horas. sabendo. Pior ainda, Trudy poderia dirninuir os preços da
Agora, vatn.os observar alguns casos 1nuito mais sé- loja eletrônica de Bob para tornar suas mercadorias muito
rios. Diversos sites forarn derrubados por ataques de ne- atraentes, fazendo Alice enviar seu número de cartão de cré-
gação de serviço, nos quais o cracker inunda o site com dito para "Bob", a fim de adquirir algumas mercadorias.
tráfego, tornando-o incapaz de responder a consultas le- Uma desvantagem desse clássico ataque do homem no
gítirnas. Com frequência, o ataque é montado a partir de rneio é que Trudy tem de estar em urna posição conveniente
un1 grande núrnero de rnáquinas que o cracker já invadiu para interceptar o tráfego enviado por Alice e forjar seu trá-
(ataques DDoS). Esses ataques são tão con1uns que j á não fego de entrada. Na prática, ela tem de gran1pear a linha te-
geram mais notícias, mas podern custar à vítima milhões de lefõruca de Alice ou de Bob, pois é muito dificil grampear o
dólares em negócios perdidos. backbone de fibra óptica. Embora a espionagem ativa certa-
Em 1999, um cracker sueco invadiu o site Hotmail da mente seja possível, ela exige determinado volurne de traba-
Microsoft e criou um site-espelho que permitia a qualquer lho e, embora seja inteligente, Trudy também é preguiçosa.
pessoa digitar o nome de un1 usuário do Hottnail e depois Além djsso, existem maneiras mais fáceis de enganar
ler todo o correio eletrônico atual e arquivado da pessoa. Alice, como o spoofing do DNS, que virnos anteriormente
Em outro caso, um cracker russo de 19 anos chamado na Seção 8.2.3. Resumindo, os invasores usarn o spoofing
Maxim invadiu um site de comércio eletrônico e roubou do DNS para armazenar urn mapeamento incorreto de um
300 mil números de cartão de crédito. Em seguida, abor- serviço em um servidor de nomes intermediário, fazendo-o
dou os proprietários do site e informou que, se não rece- apontar para o endereço IP do invasor. Quando um usuário
besse 100 mjl dólares, postaria todos os números de ca1tões deseja se comunicar corn o serviço, ele pesquisa o endereço
de crédito na Internet. Eles não cederarn à chantagem, e o mas, em vez de falar com o servidor legítimo, acaba falan-
cracker realmente publicou os números dos cartões de cré- do com o invasor.
dito causando tnuitos danos a muitas vítimas inocentes. O problema real é que o DNS foi projetado em uma
Em um cenário diferente, um aluno de 23 anos na época na qual a Internet era urn recurso de pesquisa para
Califórnia enviou por correio eletrônico u1n comunicado a algumas centenas de universidades e nem Alice, ne1n Bob,
uma agência de notícias, afinnando fa lsamente que a Emu- nem Trudy foram convidados para a festa. Naquela épo-
lex Corporation iria anunciar um grande prejuízo tritnes- ca, o importante não era a segurança, 1nas fazer a Internet
tral e que o CEO da empresa renunciaria imediatamente. funcionar. O ambiente rnudou de fortna radical ao longo
Dentro de poucas horas, as ações caíram 60%, fazendo os dos anos, assim, em 1994, a TETF reuniu um grupo de tra-
acionistas perderem mais de 2 bilhões de dólares. O atacan- balho para tomar o DNS funda1nentalmente seguro. Esse
te ganhou 250 rnil dólares vendendo suas ações pouco antes projeto (contínuo) é conhecido como DNSSEC (DNS se-
de enviar o anúncio. Embora esse evento não represente a curity), e seu resultado é apresentado na RFC 2535, e rnais
invasão de um site, é claro que a inserção de um anúncio tarde atualizado nas RFCs 4033, 4034 e 4035, entre outras.
desse tipo na home page de qualquer grande corporação te- Tnfelizrnente, o DNSSEC ainda não fo i totahnente imple-
ria um efeito semelhante. n1entado, e portanto diversos servidores DNS ainda estão
Poderíamos (infelizmente) continuar com esse assunto vulneráveis a ataques de spoofmg.
por muitas páginas, mas agora devemos examinar algumas Em termos conceituais, o DNSSEC é extremamen-
questões técnicas relacionadas à segurança da Web. Para ob- te si1nples, ele se baseia na criptografia de chave pública.
ter mais informações sobre problemas de segurança de todos Cada zona DNS (confom1e discuti1nos no Capítulo 7) ten1
os tipos, consulte Du (2019), Schneier (2004), e Stuttard e um par de chave pública/chave privada. Todas as informa-
Pinto (2007). A pesquisa na Internet tambérn resultará na ções enviadas por um servidor DNS são assinadas com a
apresentação de um grande número de casos específicos. chave privada da zona de origem, de forn1a que o receptor
possa verificar sua autenticidade.
8.12.2 Nomenclatura segura e DNSSEC O DNSSEC oferece três serviços fundamentais:

Vamos retornar ao problema de spoofing do DNS, corne- 1. Prova de onde os dados se originaratn.
çando com algo bastante básico: Alice quer visitar o web- 2. Distribuição de chave pública.
site de Bob. Ela digita o URL de Bob em seu navegador 3. Autenticação de transação e solicitação.
534 Redes de computadores

O principal serviço é o prÍlneiro, que verifica se os para uma máquina desconectada na qual a chave privada
dados que estão sendo retornados foram aprovados pelo está localizada. Todos os RRSETs podem ser assinados nes-
proprietário da zona. O segundo é útil para armazenar sa 1náquina e os registros RRS!G assim produzidos podem
e recuperar chaves públicas com segurança. O terceiro é ser transportados de volta ao servidor primário da zona em
necessário como proteção contra ataques por reprodução e um dispositivo seguro. Desse 1nodo, a chave privada pode
spoofing. Observe que o sigilo não é um serviço oferecido, ser annazenada e1n um dispositivo de am1azenamento tran-
pois todas as informações no DNS são consideradas públi- cado em um cofre, exceto quando é inserido na máquina
cas. Tendo em vista que a implantação do DNSSEC deverá desconectada para assinar os novos RRSETs do dia. Depois
demorar vários anos, a habilidade de servidores conscientes que o processo de assinatura é concluído, todas as cópias da
da segurança para interoperar com servidores que ignoram chave são apagadas da memória, sendo o disco e os disposi-
os aspectos da segurança é algo essencial; isso implica que tivos de armazenamento devolvidos ao cofre. Esse procedi-
o protocolo não pode ser alterado. Agora, vamos observar mento reduz a segurança eletrônica à segurança tisica, algo
alguns detalhes. que as pessoas sabem como tratar.
Os registros DNS são agrupados em conjuntos cha- Esse método de assinatura prévia de RRSETs agiliza
mados RRSETs (Resource Record Sets), com todos bastante o processo de responder a consultas, pois nenhuma
aqueles que tên1 o n1es1no nome, a 1nesma classe e o mes- criptografia ten1 de ser feita durante a execução. E1n co1n-
mo tipo reunidos em um único conjunto. Por exemplo, um pensação, é necessário um grande volume de espaço de dis-
RRSET pode conter vários registros A, se u1n nome DNS co para armazenar todas as chaves e assinaturas nos bancos
fo r resolvido en1 um endereço IP priinário e un1 endereço de dados DNS. Alguns registros au1nentarão dez vezes e1n
IP secundário. Os RRSETs são estendidos com vários ti- tamanho devido à assinatura.
pos novos de registros (descritos a seguir). Cada RRSET Quando um processo cliente obté1n um RRSET assi-
passa por um hash criptográfico (p. ex., usando SHA-2). nado, ele tem de aplicar a chave pública da zona de origem
O hash é assinado pela chave privada da zona (p. ex., usan- para decifrar o hash, calcular o próprio hash e comparar os
do-se o RSA). A unidade de trans1nissão para clientes é dois valores. Se eles concordarem, os dados serão consi-
o RRSET assinado. Ao recebê-lo, o cliente pode verificar derados válidos. Contudo, esse procedi1nento faz surgir a
se ele foi assinado pela chave privada da zona de origem. questão de como o cliente obtém a chave pública da zona.
Se a assinatura coincidir, os dados serão aceitos. Tendo em Uma alternativa é adquiri-la de um servidor confiável, utili-
vista que cada RRSET contém sua própria assinatura, os zando u1na conexão segura (p. ex., usando o TPsec).
RRSETs pode1n ser armazenados em cache em qualquer Todavia, na prática, espera-se que os clientes sejam
lugar, até mesmo em servidores não confiáveis, sem trazer pré-configurados co1u as chaves públicas de todos os do-
. a' segurança.
pengo mínios de nível superior. Se agora Alice quiser visitar o site
O DNSSEC introduz vários tipos novos de registros. de Bob, ela poderá solicitar ao DNS o RRSET de bob.com,
O pri1neiro deles é o registro DNSKEY, que conté1n a cha- que conterá seu endereço IP e um registro DNSKEY con-
ve pública de uma zona, u1n usuário, u1n host ou outro pro- tendo a chave pública de Bob. Esse RRSET será assinado
tagonista, o algoritJno de criptografia usado na assinatura, pelo domínio coni de nível superior, e assim Alice poderá
o protocolo e1npregado na transmissão e alguns outros bits. verificar facilmente sua validade. U1n exemplo do que esse
A chave pública é armazenada em estado bruto. Os certifi- RRSET pode conter é mostrado na Figura 8.47.
cados X.509 não são usados devido a seu tamanho. O cam- Agora, munida de uma cópia verificada da chave pú-
po do algoritJno conté1n u1u valor 1 para assinaturas MD5/ blica de Bob, Alice pode pedir ao servidor DNS de Bob
RSA e outros valores para outras combinações. O can1po (controlado por Bob) o endereço IP de www.bob.co111. Esse
de protocolo pode indicar o uso do IPsec ou de outros pro- RRSET será assinado pela chave privada de Bob, e assim
tocolos de segurança, se houver. Alice pode verificar a assinatura de Bob no RRSET que ele
O segundo entre os novos tipos de registros é o retorna. Se Trudy, de alguma 1naneira, conseguir injetar um
RRS!G. Ele conté1n o hash assinado de acordo com o al- fal so RRSET em qualquer dos caches, Alice poderá detec-
goritmo especificado no registro DNSKEY. A assinatura se tar essa falta de autenticidade facilmente, porque o registro
aplica a todos os registros no RRSET, incluindo quaisquer RRSIG contido nele será inco1Teto.
registros DNSKEY presentes, 1nas excluindo ela própria. Contudo, o DNSSEC ta1nbém fornece u1n mecanismo
Ele também contém os horários em que a assinatura ini- criptográfico para vincular uma resposta a uma consulta
cia seu período de validade e de vencimento, be1n como o específica, a fim de ünpedir o tipo de ataque de spoofing
non1e do signatário e alguns outros itens. que discutimos no início deste capítulo. Essa tnedida (op-
O projeto do DNSSEC é tal que a chave privada de cional) contra o spoofing adiciona à resposta um hash da
uma zona pode ser mantida off-line. Uma ou duas vezes por mensage1n de consulta assinado com a chave privada do
dia, o conteúdo do banco de dados de u1na zona pode ser autor da resposta. Con10 Trudy não conhece a chave pri-
transportado manuahnente (p. ex., etn um dispositivo de ar- vada do servidor com de nível superior, ela não pode forjar
1nazena1nento seguro, como o velho e confiável CD-ROM) uma resposta a un1a consulta ao ISP de Alice enviada pelo
Capítulo 8 • Segurança de redes 535

Nome de domínio Tempo de vida Classe Tipo Valor


bob.com. 86400 IN A 36.1.2.3

bob.com. 86400 IN DNSKEY 3682793A7B73F731029CE27370...

bob.com. 86400 IN RRSIG 86947503A8B848F5272E53930C...

Figura 8.47 Um exemplo de RRSET para bob.com. Oregistro ONSKEYé a chave pública de Bob. Oregistro RRSJG é o hash
assinado do servidor de nível superior dos registros A e DNSKEY, a fim de verificar sua autenticidade.

ISP. Se1n dúvida, ela pode receber sua resposta de volta pri- uma nova camada colocada entre a de aplicação e a de trans-
meiro, n1as essa resposta será rejeitada devido à assinatura porte, aceitando solicitações do navegador e enviando-as ao
inválida do hash. TCP para trans1nissão ao servidor. Depois que a conexão
O DNSSEC també1n admite alguns outros tipos de segura é estabelecida, a principal tarefa do SSL é rnanipular
registros. Por exemplo, o registro CERT pode ser usado a compactação e a criptografia. Quando o HTTP é usado so-
para annazenar certificados (p. ex., X.509). Esse registro bre SSL, ele se denornina HTTPS (Secure HTTP), e1nbora
é fornecido porque algumas pessoas querem transfonnar o '
seja o protocolo HTTP padrão. As vezes, ele está disponível
DNS e.tn uma PK.l. Resta saber se de fato isso é possível. en1 un1a nova porta (443), e1n lugar da porta padrão (80).
Interromperemos nossa discussão sobre o DNSSEC aqui. A propósito, SSL não se limita ao uso apenas com navega-
Para obter mais detalhes, consulte as RFCs. dores da Web, mas essa é sua aplicação mais comum. Ele
tambétn pode oferecer autenticação mútua.
8.12.3 Segurança da camada de transporte O protocolo SSL passou por várias versões. Descre-
veremos apenas a versão 3, que é a mais utilizada. O SSL
A nomenclatura segura é um bom começo, mas existe1n admite u1na variedade de opções, que incluem a presença
vários outros detalhes sobre segurança da Web. A próxima ou a ausência de compactação, os algoritrnos criptográficos
etapa é gerar conexões seguras. Agora, van1os exan1inar a serem usados e algumas questões relativas a restrições
como podem ser alcançadas. Nada que envolva segurança é de exportação impostas à criptografia. A última se destina
silnples, e isto não é uma exceção. principalmente a assegurar que a criptografia é utilizada
Quando estourou para o público, a Web foi usada no apenas quando ambas as extremidades da conexão estão
início apenas para distribuir páginas estáticas. Contudo, em nos Estados Unidos. Em outr·os casos, as chaves serão limi-
pouco ten1po, algu1nas empresas tiveram a ideia de usá-la tadas a 40 bits, que os criptógrafos consideram uma piada.
para transações financeiras , como a compra de mercado- A Netscape foi forçada a colocar essa restrição para obter
rias por cartões de crédito, transações bancárias on-line e uma licença de exportação do governo dos Estados Unidos.
1nercado de capitais eletrônico. Essas aplicações criaram
O SSL consiste em dois subprotocolos, um para es-
un1a de1nanda por conexões seguras. Em 1995, a Netscape
tabelecer uma conexão segura e outro para usá-la. Vamos
Communications Corp. , que então dominava o mercado
começar exan1inando corno as conexões seguras são esta-
de fabricantes de navegadores, respondeu introduzindo
belecidas. O subprotocolo de estabelecimento de conexões
urn pacote de segurança chamado SSL (Secure Sockets
é mostrado na Figura 8.49. Ele começa con1a1nensagem 1,
Layer ), agora chamado TLS (Tra nsport Layer Security)
quando Alice envia uma solicitação a Bob para estabelecer
para atender a essa de1nanda. Esse software e seu protoco-
lo agora também são an1plamente utilizados, por exemplo, uma conexão. A solicitação especifica a versão do SSL que
por Firefox, Brave, Safari e Chrome, e portanto vale a pena Alice ten1 e suas preferências co1n relação aos algoritmos
examiná-los co1n mais detalhes.
O SSL constrói uma conexão segura entre dois soque-
Aplicação (HTTP)
tes, incluindo:
Segurança (SSL)
1. Negociação de parâmetros entre cliente e servidor.
Transporte (TCP)
2. Autenticação mútua de cliente e servidor.
3. Comunicação secreta. Rede (IP)
4. Proteção da integridade dos dados. Enlace de dados (PPP)

Já vimos esses itens antes e, portanto, não há necessi- Física (modem, ADSL, TV a cabo)
dade de desenvolvê-los.
O posiciona1nento do SSL na pilha de protocolos ha- Figura 8.48 Camadas (e protocolos) para um usuário do-
bitual é ilustrado na Figura 8.48. Efetivamente, trata-se de méstico navegando com SSL.
536 Redes de computadores

1
Versão SSL, preferências, RA

2
Versão SSL, escolhas, R8

- 3
Cadeia de certificados X.509

4
Servidor pronto

Q) 5 ..Q
·-u E8 (chave pré-mestre) o
<( co
6
Muda cifra

7
Terminado

8
Muda cifra

9
Terminado

Figura 8.49 Uma versão simplificada do subprotocolo de estabelecimento de conexões SSL.

de compactação e de criptografia. Ela também contém um login e uma senha estabelecidos anterionnente. No entanto,
nonce RA, a ser usado mais tarde. o protocolo de login está fora do escopo do SSL. Depois
Agora é a vez de Bob. Na rnensagem 2, Bob escolhe que ele é realizado por quaisquer meios, o transporte de da-
entre os diversos algoritmos que Alice pode ad1nitir e en- dos pode se iniciar.
via seu próprio nonce, R8 • Em seguida, na n1ensage1n 3, ele Como já dissemos, o SSL admite vários algoritmos de
envia um certificado contendo sua chave pública. Se esse criptografia. Um deles usa o DES triplo com três chaves
certificado não for assinado por alguma autoridade conhe- separadas para criptografia e co1n o SHA, a fim de manter
cida, ele também envia urna cadeia de certificados que pode a integridade das mensagens. Essa combinação é relativa-
ser seguida de volta até chegar a u1na autoridade original. n1ente lenta, e assi1n é usada principahnente em aplicações
Todos os navegadores, inclusive o de Alice, são pré-car- bancárias e outras aplicações nas quais é exigida a n1ais alta
regados com cerca de 100 chaves públicas; assim, se Bob segurança. Para aplicações comuns de comércio eletrônico,
puder estabelecer uma cadeia ancorada em urna dessas cha- é usado o RC4 cotn uma chave de 128 bits para criptogra-
ves, Alice será capaz de verificar a chave pública de Bob. fia, e o MD5 é en1pregado para autenticação de mensagens.
Nesse momento, Bob pode enviar algumas outras 1nensa- O RC4 utiliza a chave de 128 bits como sen1ente e a expan-
gens (como uma solicitação do certificado de chave pública de até um número muito maior para uso interno. Em se-
de Alice). Ao terminar, Bob envia a rnensagern 4 para dizer guida, ele usa esse número interno para gerar urn fluxo de
a Alice que agora é a vez dela. chaves, o qual, por sua vez, é sub1netido a uma operação
Alice responde escolhendo ao acaso uma chave pré- XOR corn texto sin1ples para fornecer um fluxo de cifras
-mestre aleatória de 384 bits e a envia para Bob, codificada clássico, como vin1os na Figura 8.18. As versões de expor-
com a chave pública de Bob (mensagern 5). A chave de ses- tação também utilizam o RC4 co1n chaves de 128 bits, rnas
são real usada para codificar os dados é derivada da chave 88 dos bits são divu lgados ao público para facilitar a viola-
pré-1nestre combinada co1n ambos os nonces de modo com- ção da cifra.
plexo. Depois que a 1nensage1n 5 é recebida, Alice e Bob Para o transporte real, é usado um segundo subproto-
são capazes de calcular a chave de sessão. Por essa razão, colo, como mostra a Figura 8.50. Prin1eiro, as n1ensagens
Alice i11forma a Bob que ele deve passar para a nova cifra do navegador são divididas em unidades de até 16 KB.
(mensagen1 6) e também que ela concluiu o subprotocolo Se a compactação estiver ativa, cada unidade será então
de estabelecin1ento (1nensage1n 7). Bob então confim1a as compactada em separado. Depois disso, uma chave secreta
mensagens de Alice (mensagens 8 e 9). derivada dos dois nonces e da chave pré-mestre é conca-
Embora Alice saiba quem é Bob, ele não sabe quem é tenada com o texto compactado, e o resultado passa por
Alice (a menos que ela tenha u1na chave pública e uni cer- um hash com o algoritino hash co1nbinado (normalmente,
tificado correspondente, u1na situação in1provável para um o MD5). Esse hash é anexado a cada fragn1ento como o
indivíduo). Portanto, a primeira mensagem de Bob pode ser MAC. O fragmento compactado somado ao MAC é en-
uma solicitação para Alice se conectar usando um nome de tão codificado com o algoritmo de criptografia simétrica
Capítulo 8 • Segurança de redes 537

Mensagem do navegador

I \
Fragmentação Parte 1 Parte 2

'
Compressão Código de
autenticação
de mensagem

MAC anexado
/

Criptografia I•

'

Cabeçalho anexado . . _ I_ _ . . _ __ _ _ __ _ ,

Figura 8.50 Transmissão de dados com SSL.

estabelecido de comum acordo (e1n geral, por uma opera- bem co1no criptografia SNI (Server Name Tndication),
ção XOR entre ele e o fluxo de chaves do RC4). Por fim, é que pode ser usada para identificar o website que o usuário
anexado o cabeçalho do fragmento que é transmitido pela está visitando, se for transmitida em texto simples.
conexão TCP.
No entanto, é iLnportante um alerta. Por ter sido mos-
trado que o RC4 ten1 algu1nas chaves fracas, que podem ser 8.12.4 Executando código não confiável
facilmente criptoanalisadas, a segurança do SSL usando o A nomenclatura e as conexões são duas áreas de preocupa-
RC4 tem sido precária já há algum tempo (Fluhrer et ai., ção relacionadas à segurança da Web, mas existe1n outras.
2001). Os navegadores que permitem ao usuário escolher o Um proble1na pa1iicularmente dificil é que cada vez mais
conjunto de cifras devem ser configurados para usar o DES nós permitin1os que o código de fora, não confiável, seja
triplo com chaves de 168 bits e o SHA-2 o te1npo todo, en1- executado em nossas 1náquinas locais. Agora, veremos ra-
bora essa combinação seja mais lenta que o RC4 e o MD5. pidamente algumas questões geradas pelo código não con-
Ou, melhor ainda, os usuários devem fazer o upgrade para fiável e algun1as abordagens para lidar com ele.
navegadores que ofereçam suporte ao sucessor do SSL, que
descreveren1os e1n breve.
Código de scripting no navegador
Um problema com o SSL é que Alice e Bob não po-
dem ter certificados e, mesn10 que tenham, nem sempre ve- No início, quando as páginas Web eram apenas arquivos
rificam se as chaves que estão sendo usadas correspondem HTML estáticos, elas não continham código executável.
aos certificados. Agora, as páginas frequentemente contêm pequenos pro-
E1n 1996, a Netscape Com1nunications Corp. subn1e- gramas, norn1aln1ente escritos e1n JavaScript (e às vezes
teu o SSL à IETF para padronização. O resultado foi o TLS compilados para o mais eficiente Web Assembly). Baixar e
(Transport Layer Security), descrito na RFC 5246. executar esse código móvel é sem dúvida um grande risco
O TLS fo i embutido no SSL versão 3. As mudanças de segurança; por essa razão, fora1n criados vários métodos
realizadas foram relativan1ente pequenas, 1nas suficientes para minimizá-lo.
para o SSL versão 3 e o TLS não conseguirem interoperar. JavaScript não tem nenhum modelo de segurança for-
Por exemplo, o 1nodo como a chave de sessão é derivada da n1al, 1nas te1u um longo histórico de in1plementações com
chave pré-mestre e dos nonces mudou para tomar a chave vazan1ento. Cada fornecedor lida com a segurança de uma
mais forte (i.e., 1nais dificil de ser violada por criptoanáli- fonna diferente. A principal defesa é que, exceto pelos
se). Devido à incon1patibilidade, a maioria dos navegadores bugs, a linguagem não deve ser capaz de fazer coisas muito
implementa os dois protocolos, com o TLS passando para ruins - ler ou gravar arquivos quaisquer, acessar dados con-
SSL durante a negociação, se for necessário. Isso é conhe- fidenciais de outras páginas Web, etc. Costu1na1nos dizer
cido como SSL/TLS. A primeira implen1entação do TLS que esse código é executado em um ambiente de caixa de
apareceu em 1999 com a versão 1.2 definida em agosto de brita (sandbox). O problema é que existem bugs.
2008, e a versão 1.3 em março de 2018. Ela inclui suporte O problema fundan1ental é que pennitir a execução
para conjuntos de cifras mais fortes (principalmente AES), de código estrangeiro em sua máquina significa pedir
538 Redes de computadores

problema. Do ponto de vista da segurança, é como convidar novos recursos ao navegador, como n1elhor gerencia-
um ladrão para entrar em sua casa e depois tentar observá- mento de senhas ou formas de interagir com páginas, por
-lo com atenção para que ele não escape da cozinha para a exemplo, marcando-as ou facilitando a compra para itens
sala de estar. Se algo inesperado ocorrer e você se distrair relacionados.
por u1n momento, coisas ruins podem acontecer. A tensão Instalar uma extensão, suplemento ou plug-in é tão
aqui é que o código móvel permite gráficos que chama1n a simples quanto encontrar algo que você deseja ao navegar
atenção e interação rápida, e muitos Web designers acham e selecionar o link para instalar o progra1na. Essa ação fará
que isso é 1nuito mais importante do que a segurança, es- o código ser baixado pela Inten1et e instalado no navega-
peciahnente quando é a 1náquina de outra pessoa que está dor. Todos esses progra1nas são escritos para frarneworks
.
em nsco. que diferem dependendo do navegador que está sendo me-
Por exemplo, imagine que u1n site da Web que con- lhorado. De certa fonna, eles se torna1n parte da base de
tén1 seus dados pessoais permite que você forneça feedback computação confiável do navegador. Ou seja, se o código
na fonna de u1n texto qualquer visível para todos os outros que for instalado tiver bugs, o navegador inteiro pode ser
usuários. A ideia é que os usuários agora possam dizer à comprometido.
empresa o quanto gostam ou odeiam seus serviços. No en- Tan1bé1n existem dois outros 1nodos de falha óbvios.
tanto, a 1nenos que esse site limpe com 1nuito cuidado os O primeiro é que o programa pode se comportar de for-
dados no fonnulário de feedback, um invasor ta1nbém pode ma inaliciosa, por exemplo, reunindo informações pessoais
colocar urna pequena quantidade de JavaScript no campo e enviando-as para u1n servidor rernoto. Por tudo o que o
de texto. Agora i1nagine que você visita o site e analisa os navegador sabe, o usuário instalou a extensão exatan1ente
con1entários fornecidos por outros usuários. O JavaScript para essa finalidade. O segundo problema é que os plug-ins
será enviado para o seu navegador, que não tem ideia de dão ao navegador a capacidade de interpretar novos tipos
que isso é um feedback. Ele apenas vê o JavaScript, assim de conteúdo. Frequentemente, esse conteúdo é urna lingua-
como encontra em muitas outras páginas Web, e começa a gen1 de programação completa por si só. PDF e Flash são
executá-lo. O JavaScript malicioso é capaz de roubar todos bons exemplos. Quando os usuários exibem páginas com
os dados confidenciais (p. ex., cookies) que seu navega- conteúdo PDF ou Flash, os plug-ins em seu navegador es-
dor mantém para este site e enviá-los ao criminoso. Isso é tão executando o código PDF e Flash. É melhor que esse
conhecido como um ataque CSS (Cross-Site Scripting). código seja seguro; costuma haver vulnerabilidades que
Os ataques CSRF (Cross-Site Request Forgery), que se pode explorar. Por todas essas razões, os suplementos e
estão relacionados, podern até permitir que um invasor se plug-ins só devem ser instalados se realmente forem neces-
faça passar por um usuário. sários e apenas de fornecedores confiáveis.
Outro problema que pode surgir é que o rnecanisrno
JavaScript pode não ser tão seguro quanto deveria. Por Cavalos de Tróia e outros tipos de malware
exemplo, pode haver un1 bug no navegador que o código
JavaScript malicioso pode usar para assumir o controle do Cavalos de Tróia e software malicioso (malware) são ou-
navegador, ou talvez até mesmo de todo o sistema. Isso é tra forma de código não confiável. Frequentemente, os
conhecido como do,vnload drive-by: ao visitar um site usuários instala1n esse código sern notar, pois acha1n que o
você, sem perceber, está infectado. Isso nem n1esmo signi- código é benigno ou porque abriram um anexo que levou à
fica que o site era malicioso - talvez o JavaScript estives- execução de código furtivo, que então instalou algum outro
se em urn anúncio ou em algum campo de feedback, como software malicioso. Quando o código rnalicioso começa a
já vitnos. Um ataque particulartnente famoso, conhecido ser executado, ele nonnahnente con1eça infectando outros
co1no Operação Aurora, foi o ataque ao Google e a vá- progra111as executáveis (seja o código annazenado e1n disco
rias outras e1npresas de tecnologia, em que os invasores ou programas executando na mernória). Quando um desses
usaram um download drive-by para se espalhar pela em- prograrnas é executado, ele está rodando o código malicio-
presa com o objetivo de obter acesso a seus repositórios so. Ele pode se espalhar para outras máquinas, criptografar
de código. todos os seus documentos no disco (para pedir resgate),
espionar suas atividades e fazer muitas outras coisas de-
sagradáveis. Alguns tipos de malware infectan1 o setor de
Extensões do navegador
inicialização do disco rígido, assim, quando a máquina é
Alérn de estender as páginas Web con1 código, existe urn inicializada, o vírus entra e1n ação. O malware se tornou um
mercado em explosão em termos de extensões, suplemen- problema enorme na Internet e causa prejuízos de bilhões
tos e plug-ins do navegador. Eles são programas de con1- de dólares. Não existe nenhuma solução óbvia. Talvez uma
putador que estendem a funcionalidade dos navegadores nova geração inteira de sistemas operacionais, baseada e1n
Web. Os plug-ins nonnaln1ente oferece1n a capacidade de nlicrokemels seguros e rígida divisão dos usuários, proces-
interpretar ou exibir certo tipo de conteúdo, co1110 PDFs sos e recursos em compartimentos estanques possa ajudar a
ou animações Flash. Extensões e suplementos oferece1n resolver o problema.
Capítulo 8 • Segurança de redes 539

8.13 QUESTÕES SOCIAIS muito n1ais difícil seus agentes espionare1n criminosos de
todos os tipos, mas também é muito mais dificil espionar
A Internet e sua tecnologia de segurança compõem uma jornalistas e adversários políticos. Co1no resultado, alguns
área para a qual convergen1 as questões sociais, a política governos restringem ou proíbem o uso ou a exportação de
pública e a tecnologia, não raro com enormes consequên- criptografia. Por exe1nplo, na França, antes de 1999, toda
cias. Apresentaremos a seguir um breve exame de três criptografia era proibida, a 1nenos que o governo recebesse
áreas:, privacidade, liberdade de expressão e direito auto- as chaves.
ral. E desnecessário dizer que trataremos o assunto de 1na- A frança não estava só. Em abril de 1993, o governo
neira superficial. Para leitura adicional, consulte Andersen dos Estados Unidos anunciou sua intenção de criar wn crip-
(2008a), Baase e Henry (2017), Bernal (2018) e Schneier toprocessador e1n hardware, o clipper chip, o padrão para
(2004). A Internet també1n está repleta de 1naterial sobre o todas as con1unicações em rede. Desse modo, diziam, a pri-
tema. Basta digitar palavras co1no "privacidade'', "censura" vacidade dos cidadãos estaria garantida. Ele também men-
e "direito autoral" em qualquer 1necanis1no de pesquisa. cionava que o chip fornecia ao governo a possibilidade de
decodificar todo tráfego por 1neio de um esquen1a chamado
custódia de chaves, que permitia o acesso do governo a to-
8.13.1 Comunicação confidencial e anônima das as chaves. No entanto, ele prometia só espiar quando ti-
vesse um mandado de busca válido. Não é preciso dizer que
As pessoas têm direito à privacidade? Boa pergunta. o resultado foi urna enonne agitação, corn os defensores
A Quarta E1nenda da Constituição dos Estados Unidos da privacidade denunciando todo o plano e os promotores
proíbe o governo de realizar buscas na casa das pessoas, de justiça elogiando o esquema. Por fim, o governo voltou
vasculhar seus documentos e seus bens sem uma boa razão, atrás e descartou a ideia.
e continua a restringir as circunstâncias sob as quais devem Há um grande volume de informações sobre priva-
ser emitidos os 1nandados de busca. Desse modo, a privaci- cidade eletrônica disponível no site da Electronic Frontier
dade é um direito público há mais de 200 anos, pelo menos Foundation, em www.eff.01g.
nos Estados Unidos.
O que mudou na última década foi a facilidade com Repostadores anônimos
que os governos podem espionar seus cidadãos e a facili -
dade co1n que os cidadãos pode1n impedir tais atos de es- PGP, SSL e outras tecnologias tornam possível duas partes
pionagem. No século XVIII, para o governo realizar buscas estabelecerem comunicação segura e autenticada, livre de
nos docu1nentos de um cidadão, ele tinha de enviar um po- vigilância e interferência de terceiros. Contudo, ãs vezes
licial a cavalo até a sua fazenda, exigindo a apresentação de a privacidade é rnais bem servida quando não há autenti-
certos docu1nentos. Era um procedimento incômodo. Hoje cação de fato, tomando a co1nunicação anôni1na. O anoni-
em dia, as co1npanhias telefônicas e os provedores de Inter- mato pode ser interessante em n1ensagens ponto a ponto,
net fornecem prontamente grampos ao receber mandados newsgroups ou ambos.
de busca. Isso facilita a vida do policial e ele não con·e o Varnos considerar alguns exemplos. Prirneiro, dissi-
risco de cair do cavalo. dentes políticos que vivem em regimes autoritários rnuitas
O uso generalizado de smartphones dá uma nova vezes desejam se con1unicar de forma anônima para esca-
di1nensão à espionage1n do governo. Muitas pessoas car- par da prisão ou de serem assassinados. Segundo, delitos
rega1n consigo um smartphone que contém infonnações e1n muitas organizações corporativas, educacionais, go-
sobre toda a sua vida. Alguns smartphones podem ser des- vernarnentais e outras frequentemente são expostos por
bloqueados usando software de reconhecimento facial. Isso delatores, que 1nuitas vezes preferem pennanecer anôni-
tem a consequência de que, se u1n policial quiser que um mos para evitar represálias. Terceiro, pessoas com visões
suspeito desbloqueie seu telefone e o suspeito se recusar, sociais, políticas ou religiosas impopulares podem desejar
tudo o que o policial precisa fazer é segurar o telefone na se comunicar umas corn as outras por con·eio eletrônico ou
frente do rosto do suspeito e pronto, o telefone é desblo- newsgroups sem se exporen1. E1n quarto lugar, as pessoas
queado. Muito poucas pessoas pensam sobre esse cenário podem desejar discutir alcoolismo, doenças mentais, abu-
ao habilitar o reconhecimento facial (ou seu predecessor, o sos sexuais, pedofilia, ou ainda participar de um news-
reconheci111ento de impressão digital). group formado por uma minoria perseguida se1n terem de
A criptografia 1nuda tudo isso. Qualquer pessoa que revelar suas identidades. É claro que existern vá1ios outros
se dê ao trabalho de baixar e instalar o PGP e que utilize exemplos.
u1na chave com força de alienígena bem protegida pode Vejamos um exemplo específico. Na década de 1990,
ter certeza de que ninguém no universo conhecido poderá alguns críticos de um grupo religioso não tradicional posta-
ler sua correspondência de con·eio eletrônico, con1 ou sem ram suas opiniões em un1 newsgroup da USENET por rneio
mandado de busca. Os governos entendem bem esse pro- de um repostador anônimo. Esse servidor permitiu que os
blema e não o apreciam. A privacidade real significa que é usuários criassem pseudônimos e enviassern mensagens de
540 Redes de computadores

correio eletrônico ao servidor, que então as reencaminha- anônin10) e para isso utiliza três repostadores. Ela redige a
va ou as repostava usando o pseudônimo, assim, ninguém mensagem, M , e insere um cabeçalho contendo o endereço
poderia saber de onde a mensagem veio de fato. Algumas de correio eletrônico de Bob. Em seguida, codifica toda a
postagens revelavam que as afirmações do grupo religio- mensage1n com a chave pública do repostador 3, E3 (indica-
so eran1 segredos co1nerciais e documentos protegidos por da na figura pela hachura horizontal). Para tanto, ela anexa
direitos autorais. O grupo religioso respondeu informando un1 cabeçalho com o endereço de correio eletrônico do re-
às autoridades locais que seus segredos comerciais tinham postador 3 em texto simples. Essa é a mensagem 1nostrada
sido descobertos e seus direitos autorais infringidos, o que é entre os repostadores 2 e 3 na figura.
crime no local onde o servidor se encontrava. Seguiu-se um Depois, Alice codifica essa 1nensagem co1n a chave
processo criminal e o operador do servidor foi compelido pública do repostador 2, E2 (indicada pela hachura verti-
a entregar às autoridades as informações de mapeamento cal) e acrescenta um cabeçalho de texto simples conten-
que revelavam as verdadeiras identidades das pessoas que do o endereço de correio eletrônico do repostador 2. Essa
tinhatn feito as postagens. (A propósito, essa não foi a pri- mensagem é mostrada entre 1 e 2 na Figura 8.51. Por fim ,
meira vez que um grupo religioso ficou insatisfeito porque ela codifica a mensagem inteira com a chave pública do re-
algué1n divulgou seus segredos con1erciais: Willian1 Tynda- postador l , E 1, e acrescenta um cabeçalho de texto simples
le foi queimado na fogueira em 1536 por traduzir a Bíblia com o endereço de correio eletrônico do repostador 1. Essa
para o idioma inglês.) é a rnensagern mostrada à direita de Alice na figura e é a
Um segmento significativo da comun idade da internet niensagem que ela de fato transruite.
foi ultrajado por essa brecha de confidencialidade. Todos Quando a mensagem chega ao repostador l, o cabe-
chegaram à conclusão de que um repostador anônimo que çalho exterior é extraído. O corpo é decodificado e depois
armazena um 1napea1nento entre endereços reais de correio enviado por correio eletrônico para o repostador 2. Etapas
eletrônico e pseudônimos (chamado repostador do tipo 1) semelhantes ocorrem nos outros dois repostadores.
não vale a pena. Esse caso estimulou diversas pessoas a Embora seja extren1a1nente dificil para algué1n ras-
criarem repostadores anônimos capazes de resistir a ata- trear a mensagem final de volta até Alice, muitos repos-
ques por intimação. tadores tomam precauções adicionais de segurança. Por
Esses novos repostadores, com frequência chamados exemplo, eles pode1n reter as mensagens por um período
repostadores cypherpunk, funcionan1 da 1naneira ilustra- de ten1po aleatório, adicionar ou remover lixo no fin1 de
da a seguir. O usuário produz uma n1ensagem de correio un1a 1nensage1n e ainda reordenar as mensagens, tudo para
eletrônico completa, com cabeçalhos RFC 822 (exceto tomar mais dificil alguém descobrir que saída de mensa-
Fron1: , é claro), codifica a mensagem com a chave pública gem de um repostador corresponde a cada entrada, a fim
do repostador e a envia ao repostador. Lá, os cabeçalhos de frustrar a análise de tráfego. Para ver a descrição desse
RFC 822 externos são extraídos, o conteúdo é decodificado tipo de repostador, consulte o artigo clássico de Mazieres e
e a mensage1n é repostada. O repostador não te1n contas Kaashoek ( 1998).
e não mantém nenhum log, assim, mesmo que o servidor O anonimato não se restringe ao correio eletrônico.
seja confiscado 1nais tarde, não conservará qualquer traço Também existem serviços que pennitern a navegação anô-
de mensagens que tenha1n passado por ele. nima na Web usando a 1nesma fonna de caminho em cama-
Muitos usuários que desejan1 anoni1nato encadeia1n das, em que um nó só conhece o próxin10 nó na cadeia. Esse
suas solicitações por vários repostadores anônimos, como método é cha1nado de roteamento cebola, pois cada nó
mostra a figura 8.51. Aqui, Alice deseja enviar a Bob descasca outra ca1nada para determinar para onde encami-
u1n catião pelo dia dos namorados (u1n cartão realinente nhar o pacote seguinte. O usuário configura seu navegador

Criptografado
com E1 Criptografado
Para 1 com E2 Criptografado
Para 2 Para 2
com E3
Para 3 Para3 Para 3 Para
1 ara So ara Se P ra Sob 1- / Sob
>
M M M M

1 Alice 1
1 - - -~ 1 1 ~~1 2
1 - - -~1
1
3 t-----~~EJ
-....._ Respostador anônimo

Figura 8.51 Como Alice utiliza 3 repostadores para enviar uma mensagem a Bob.
Capítulo 8 • Segurança de redes 541

para usar o serviço anony1nizer como um proxy. Tor é um de tal 1naterial infringe a lei francesa. O Yahoo! apelou a um
exemplo bem conhecido de tal sistema (Bernaschi et ai., tribunal dos Estados Unidos que o apoiou, mas a questão das
2019). Daí em diante, todas as solicitações HTTP vão para leis que se aplicam a cada país está longe de ser definida.
a rede do anonymizer, que solicita a página e a devolve. A propósito, durante muitos anos, o Yahoo! foi um dos
O site vê um nó de saída do anonymizer co1no a origem da queridinhos das empresas da Internet, mas nada dura para
solicitação, não o usuário. Desde que a rede do anonymizer sempre e, em 2017, foi anunciado que a Yerizon o compra-
se recuse a 1nanter um log, ninguém pode determinar quem ria por algo em torno de 5 bilhões de dólares. O preço foi
solicitou qual página, mesmo diante de uma intimação, pois reduzido em 350 rnilhões de dólares como resultado direto
a infonnação simplesmente não está lá. de uma série de vazamentos de dados no Yahoo! , em que as
contas de bilhões de usuários foram afetadas. Questões de
segurança importam.
8.13.2 Liberdade de expressão
Voltando ao caso do tribunal, imagine isso: o que
A comunicação anônima toma mais dificil para as outras aconteceria se algum tribunal e1n Utah instruísse a França
pessoas verem os detalhes sobre suas comunicações parti- a bloquear sites que lidassetu com vinhos, porque eles não
culares. U1na segunda questão social importante é a liber- concordam co1n as leis rigorosíssimas do estado de Utah
dade de expressão e sua oponente, a censura, relacionada sobre bebidas alcoólicas? E se a China exigisse que todos
com o fato de órgãos governamentais desejarem restringir o os sites sobre democracia fosse1n proibidos por não ser de
que os indivíduos podem ler e publicar. Contendo milhões interesse do Estado? As leis iranianas sobre religião se apli-
e 1nilhões de páginas, a Web se tornou u1n paraíso para o cam à liberal Suécia? A Arábia Saudita pode bloquear sites
censor. Dependendo da natureza e da ideologia do regime, que tratam dos direitos das mulheres? A questão inteira é
o material proibido pode incluir sites que contêm quaisquer uma verdadeira caixa de Pandora.
dos seguintes itens: Utn comentário relevante de John Gilmore é: "A rede
1. Material iinpróprio para crianças ou adolescentes. interpreta a censura como algo danoso e procura contorná-

2. Odio que tem con10 alvos vários grupos étnicos, reli- -la". Para ver uma implementação concreta, considere o
giosos, sexuais ou outros. serviço eternity (Anderson, 1996). Seu objetivo é assegu-
rar que informações publicadas não poderão ser retiradas
3. Infonnações sobre de1nocracia e valores democráticos.
de circulação ou reescritas, como era comum na União So-
4. Relatos de eventos históricos que contradizem a ver- viética durante o regime de Josef Stalin. Para usar o serviço
são do governo. eternity, o usuário especifica quanto tempo o 1naterial deve
5. Manuais de arrombamento, 111ontagem de annas nu- ser preservado, paga u1na taxa proporcional à sua duração
cleares, codificação de mensagens, etc. e ao tamanho, e o transfere por upload. Daí em diante, nin-
A justificativa habitual é proibir os sites considerados guém poderá removê-lo ou editá-lo, nem mesmo o próprio
"1naus". usuário que fez o upload.
'
As vezes, os resultados são inesperados. Por exemplo, Co1no tal serviço poderia ser in1plementado? O mo-
algumas bibliotecas públicas instalara1n filtros da Web ern delo mais simples é usar um sistema não hierárquico, no
seus co1nputadores, a f1n1 de ton1á-los an1igáveis para as qual os documentos armazenados serian1 colocados en1 de-
crianças, bloqueando sites de pornografia. Os filtros vetam zenas de servidores participantes, cada um dos quais rece-
os sites contidos em suas listas, mas também examinam beria uma fração da tarifa, e portanto um incentivo para se
páginas em busca de palavras obscenas antes de exibi-las. unir ao sistema. Os servidores devem estar espalhados por
E1n um caso no condado de Loudoun, estado da Virgínia, muitas jurisdições legais, a fim de proporcionar a máxima
o filtro bloqueou a busca de informações sobre câncer de resiliência. Listas de dez servidores selecionados ao acaso
mama, porque o filtro encontrou a palavra "mama". O pa- seriam annazenadas com segurança em vários lugares, as-
trono da biblioteca processou o condado de Loudoun. Con- sim, se alguma delas fosse co1nprometida, ainda existiria1n
tudo, e1n Livermore, Califórnia, um pai processou a biblio- outras. Uma autoridade disposta a destruir o docu1nento
teca pública por não instalar um filtro depois que seu filho nunca poderia ter certeza de haver encontrado todas as có-
de 12 anos foi pego vendo um site de pornografia de lá. pias. O sistema também poderia ser elaborado para repara-
O que utna biblioteca pode fazer? ção automática: caso algumas cópias fossem destruídas, os
Muitas pessoas não perceben1 que a World Wide Web sites restantes tentariam encontrar novos repositórios para
é de fato uma teia 1nundia/ e, portanto, abrange o mundo substituí-las.
inteiro. Nem todos os países concordam sobre o que deve O serviço eternity foi a primeira proposta de u1n
ser permitido na Web. Por exemplo, em novembro de 2000, sistema resistente à censura. Desde então, outros esque-
un1 tribunal francês pediu ao Yahoo! - u111a corporação da mas foram propostos e, em alguns casos, implementa-
Califórnia - para impedir que usuários franceses visualizas- dos. Diversas características novas foram acrescentadas,
sem leilões de lembranças nazistas no site, visto que a posse como criptografia, anonimato e tolerância a falhas. Com
542 Redes de computadores

frequência, os arquivos a serem armazenados são dividi- con1unicação. A ciência de ocultar mensagens é chan1ada
dos em vários fragmentos, cada um alocado em muitos ser- de esteganografia, das palavras gregas que correspondem
vidores. Alguns desses sisten1as são o Freenet (Clarke et a "escrita cifrada". Na verdade, os próprios gregos antigos
ai., 2002), PASIS (Wylie et ai., 2000) e Publius (Wald1nan a utilizavam. Heródoto escreveu sobre um general queras-
et ai., 2000). pou a cabeça de um mensageiro, tatuou uma mensagem
Uma preocupação cada vez maior é não apenas a fil- en1 seu couro cabeludo e deixou o cabelo crescer de novo
tragem ou a censura de informações, mas também a disse- antes de enviá-lo ao destino. As técnicas 1nodemas são
minação da chamada desinformação, ou informações que conceitualmente as mesmas, apenas com un1a largura de
são deliberadamente elaboradas para seren1 falsas. A desin- banda inais alta e un1a latência mais baixa (e não exige1n os
formação é atualmente un1a tática que os invasores podem serviços de um barbeiro).
usar para influenciar resultados políticos, sociais e finan- U1n caso interessante é o da Figura 8.52(a). Essa fo-
ceiros. Em 2016, atacantes famosos criaram sites de desin- tografia, tirada pelo autor (AST) no Quênia, conte1n três
formação relativos a candidatos à presidência dos Estados zebras conte1nplando uma acácia. A Figura 8.52(b) parece
Unidos e os disseminaram nas redes sociais. Em outros ter exatamente as mesmas três zebras e a acácia, mas, além
contextos, a desinformação foi usada para tentar influenciar disso, ela tem uma atração a mais. A segunda fotografia
os preços dos iinóveis para os investidores. Infelizmente, contém o texto cornpleto de cinco peças de Shakespeare
detectar a desinformação é um desafio, e fazer isso antes incorporado: Ham.let, .Rei l ear, Macbeth, O niercador de
que ela se espalhe é ainda mais desafiador. Veneza e Julio César. Juntas, essas peças totaliza1n mais de
700 KB de texto.
Esteganografia Con10 funciona esse canal esteganográfico? A in1agen1
em cores original tem 1024 x 768 pixeis. Cada pixel con-
E1n países onde há 1nuita censura, os dissidentes co1n fre- siste em três números de 8 bits, cada u1n representando a
quência tentam usar a tecnologia para burlar sua rigidez. intensidade de uma das cores, vern1elha, verde e azul, desse
A criptografia permite que mensagens secretas sejam en- pixel. A cor do pixel é for1nada pela superposição linear das
viadas (embora talvez isso não seja legal). Contudo, se o três cores. O 1nétodo de codificação esteganográfico utili-
governo imaginar que Alice é u1na "má pessoa", o mero za o bit de baixa ordem de cada valor de cor RGB co1no
fato de ela se comunicar com Bob pode incluí-lo nessa cate- um canal oculto. Desse modo, cada pixel ten1 espaço para
goria, pois governos repressivos entendem o conceito de fe- 3 bits de informações secretas, um no valor vermelho, um
chamento transitivo, ainda que não tenham muitos n1atemá- no valor verde e um no valor azul. Com uma imagem desse
ticos entre eles. Os repostadores anônimos podetn ajudar, tamanho, podem ser armazenados até 1024 x 768 x 3 bits,
mas, se forem proibidos internamente e as mensagens para ou 294.9 12 bytes de informações secretas.
o exterior exigirem uma licença de exportação do governo, O texto completo das cinco peças e uma pequena nota
eles não serão muito úteis. No entanto, a Web pode ser de chega1n a 734.891 bytes. Primeiro, o texto foi co1npactado
grande auxílio. para cerca de 274 KB co1n um algoritmo de compactação
Com frequência, as pessoas que desejam se comuni- padrão. A saída compactada foi então criptografada com
car secretamente tendetn a ocultar o fato de haver qualquer o uso do IDEA e inserida nos bits de baixa orde1n de cada

(a) (b)

Figura 8.52 (a) Três zebras e uma árvore. (b) Três zebras, uma árvore e o texto completo de cinco peças de William
Shakespeare.
Capítulo 8 • Segurança de redes 543

valor de cor. Co1no poden1os ver (ou melhor, como não qualquer pessoa pode usá-la ou vendê-la como desejar. Por
poden1os ver), a existência das informações é completa- exemplo, o Projeto Gutenberg (www.gutenberg.org) colo-
mente invisível. Elas são igualmente invisíveis na versão cou 1nais de 50 mil obras de don1ínio público (p. ex., de
ampliada e e1n cores da fotografia. O olho não consegue Shakespeare, Twain, Dickens) na Web. Em 1998, a pedido
distinguir co1n faci lidade entre cores de 21 bits e cores de de Hollywood, o Congresso dos Estados Unidos estendeu
24 bits. os direitos autorais no país por mais 20 anos. O pessoal
Para usar a esteganografia na comunicação não de- do cinema alegava que, sem u1na extensão desse período,
tectada, os dissidentes poderia1n criar un1 site repleto de ningué1n criaria mais nada. A proteção do filme Mickey
i1nagens politicamente corretas, como fotografias do Gran- Mouse original (de 1928) foi então estendida até 2024,
de Líder, esportes locais, filmes e estrelas de televisão, quando depois disso qualquer un1 poderá alugar um teatro
etc. É claro que as figuras estariam recheadas de mensa- e legalmente exibi-lo sem pedir permissão à Walt Disney
gens esteganográfícas. Se as mensagens fossem primeiro Company. Em contraste, as patentes dura1n apenas 20 anos
con1pactadas e depois criptografadas, mesn10 que algué1n e, 1nes1no assim, as pessoas não param de apresentar novas
suspeitasse de sua presença, teria in1ensa dificuldade para invenções.
distinguir as mensagens de ruído branco. É lógico que as A discussão sobre os direitos autorais ganhou espa-
imagens devem ser novas - copiar tuna figura da lnten1et ço quando o Napster, u1n serviço de troca de obras musi-
e alterar alguns bits é um segredo inútil. Para ver como é cais, alcançou 50 1nilhões de membros. E1nbora o Napster
possível embutir uma gravação de áudio em u1na imagem reahnente não copiasse nenhuma nlúsica, os tribunais sus-
parada, consulte Chaudhary e Chaudbe (2018). tentara1n que 1nanter um banco de dados central de quem
As in1agens não são de forma algun1a o único tipo tinha u1na cópia de cada n1úsica era infração contribuinte,
de portador de mensagens esteganográficas. Informações isto é, ele ajudava outras pessoas a infringir a lei. Apesar
ocultas podem ser transportadas em un1a chamada de Voice de ninguém afinnar que os direitos autorais sejain nlá ideia
over fP manipulando os atrasos de pacote, distorcendo o áu- (en1bora 1nuitos recla1nen1 que o processo é muito longo,
dio ou ainda nos ca1npos de cabeçalho dos pacotes (Lubacz favorecendo assiin as grandes en1presas e1n detrimento do
et ai., 201 O). Até mes1no o layout e a ordenação de tags em público), a próxima geração de co1npartilhamento de 1núsi-
um arquivo HTML poden1 transportar informações. ca já está levantando questões éticas in1portantes.
En1bora tenha1nos exa1ninado a esteganografía no Por exemplo, considere uma rede não hierárquica
contexto da liberdade de expressão, ela tem vários outros em que pessoas compartilham arquivos legais (n1úsica de
usos. Um uso comum permite que os proprietários de ima- domínio público, vídeos don1ésticos, tratados religiosos
gens codifiquem n1ensagens secretas nessas imagens, de- que não representem segredos co1nerciais, etc.) e talvez
clarando seus direitos de propriedade. Se tal imagem for alguns deles sejan1 protegidos por direitos autorais. Supo-
roubada e colocada e1n un1 site, o dono legal poderá reve- nha que todas essas pessoas esteja1n on-line o tempo todo,
lar a mensagem esteganográfica no tribunal para provar por 1neio de ADSL ou cabo. Cada 1náquina te1n um índice
a quem pertence. Essa técnica é conhecida como marca do que está no disco rígido, alé1n de un1a lista de outros
d' água. Ela é discutida em Muyco e Hernandez (2019). n1embros. Alguém que procurar w11 item específico pode
A esteganografia é uma área de pesquisa ativa, co1n escolher un1 1nembro ao acaso e ver se ele te1n o ite1n.
conferências inteiras dedicadas ao assunto. Alguns artigos Caso contrário, a pessoa pode procurar o item em todos os
interessantes são Hegarty e Keane (2018), Kumar (2018) e membros da lista desse prilneiro membro, e depois em to-
Patil et ai. (2019). dos os membros das listas desses outros me1nbros, e assim
por diante. Os computadores são 1nuito bons nesse tipo de
trabalho. Tendo encontrado o iten1, o solicitante sin1ples-
8.13.3 Direitos autorais mente o copia.
A privacidade e a censura são apenas duas áreas nas quais Se o trabalho estiver protegido por direitos autorais,
a tecnologia encontra a política pública. A terceira é a lei as chances são de que o solicitante esteja infringindo a lei
do direito autoral. O direito autoral significa a concessão (embora, no caso de transferências internacionais, não es-
aos criadores de propriedade intelectual, ou IP (lnteUec- teja claro que lei deve ser aplicada, pois e1n alguns países
tual Property), incluindo escritores, poetas, composito- o upload é ilegal, mas não o down load). Entretanto, como
res, artistas, músicos, fotógrafos, cineastas, coreógrafos e classificar o fo1necedor? É crin1e 1nanter em seu disco rígi-
outros, do direito exclusivo de explorar sua IP por certo do uma música pela qual você pagou e baixou legalmente,
período de tempo, em geral durante a vida do autor somada apenas porque outras pessoas podem encontrá-la? Se você
a 50 anos ou 75 anos, no caso da propriedade corporati- tem uma cabana no ca1npo e u1n ladrão de IP invade sua
va. Depois de expirar o período de proteção pelos direitos cabana levando um notebook e um scanner, copia u1n livro
autorais de u1na obra, ela passa para o domínio público e protegido por direitos autorais e escapa sorrateira1nente,
544 Redes de computadores

você é culpado do crin1e de deixar de proteger os direitos arriscada, pois as redes peer-to-peer geralmente tê1n pa-
autorais de outra pessoa? res que 1nentem sobre o que eles estão co1npartilhando
No entanto, existem mais dificuldades nessa área. (Cuevas et ai., 2014; e Santos et ai., 201 1), e até n1esn10
Há tuna grande batalha entre Hollywood e a indústria de seu tipógrafo poderia ser confundido co1n urn criminoso
informática. Hollywood deseja a proteção rígida de toda (Piatek et ai., 2008), 1nas os detentores de direito autoral
a propriedade intelectual, e a indústria de informática não estão conseguindo algum sucesso com essas abordagem:
quer ser a polícia a serviço de Hollywood. Em outubro de e1n dezembro de 2019, um tribunal federal ordenou que a
1998, o Congresso norte-americano aprovou o DMCA (Di- Cox Communications pagasse US$ 1 bi lhão aos detentores
gital Millennium CopyrightAct), que torna crime frustrar de direito autoral por não responderem devidamente aos
qualquer mecanismo de proteção presente em u1na obra avisos de retirada.
protegida por direitos autorais ou informar outras pessoas Uma questão relacionada a essa é a extensão da dou-
sobre como lográ-lo. Legislação semelhante está surgindo trina de uso legal, estabelecida por decisões judiciais em
na União Europeia. E1nbora quase ningué1n pense que pira- vários países. Essa doutrina afirma que os compradores de
tas do Extren10 Oriente devam ter pennissão para duplicar uma obra protegida por direitos autorais têm certos direitos
obras protegidas, 1nuitas pessoas i1naginan1 que o DMCA limitados de copiar a obra, inclusive o direito de citar partes
desloca completamente o equilíbrio entre o interesse do de- dela para fms científicos, usá-la como material didático em
tentor dos direitos autorais e o interesse público. escolas ou faculdades e, e1n alguns casos, criar cópias de
Veja1nos um exemplo prático. Em setembro de 2000, reserva para uso pessoal no caso de falha do 1neio original.
um consórcio da indústria da 1núsica encarregado de ela- Os testes para definir o que constitui uso legal incluem (1)
borar um sistema inviolável para venda de obras musicais se o uso é co1nercial, (2) que porcentage1n do todo está sen-
on-line patrocinou uma co1npetição convidando pessoas a do copiada e (3) o efeito da cópia sobre as vendas da obra.
tentar violar o sistema (exata1nente o que deve ser feito no Tendo en1 vista que o DMCA e leis semelhantes dentro da
caso de qualquer sistema de segtu·ança novo). Pesquisado- União Europeia proíbem frustrar os esquemas de prote-
res da área de segurança provenientes de várias universida- ção contra cópia, essas leis também proíbe1n o uso legal.
des formaram uma equipe, liderada pelo professor Edward Na realidade, o DMCA prejudica os direitos históricos dos
Felten, de Princeton, que aceitou o desafio e conseguiu que- usuários para dar mais poder aos vendedores de conteúdo.
brar o sistema. En1 seguida, eles escreveram um artigo so- É inevitável um confronto.
bre suas descobertas e o submeteram a uma conferência de Outro desenvolvimento na área que reduz a i1nportân-
segurança do USENIX, em que o trabalho passou por uma cia até mesmo do DMCA em seu deslocamento do equilí-
revisão e foi aceito. Antes da apresentação, Felten recebeu brio entre os detentores de direitos autorais e os usuários é a
uma carta da Recording Industry Association of A1nerica computação confiável, defendida por setores da indústria
que ameaçava processar os autores com base no DMCA se co1no o TCG (Trusted Computing Group ), liderado por
eles publicassen1 o artigo. empresas como Intel e Microsoft. A ideia é oferecer supor-
A resposta dos pesquisadores foi abrir u1n processo te para monitoramento cuidadoso do comportamento do
pedindo que um tribunal federal decidisse se a publicação usuário em diversos aspectos (p. ex., reprodução de mú-
de documentos científicos sobre pesquisas na área de se- sica pirateada) em um nivel abaixo do siste1na operacio-
gurança ainda era legal. Temendo uma decisão definitiva nal, a fim de proibir o comportamento indesejável. Isso é
dos tribunais contra ela, a indústria retirou sua ameaça e realizado com u1n pequeno chip, cha1nado TPM (Trusted
o tribunal rejeitou a ação de Felten. Sem dúvida, os fa- Platform Module), que é dificil de ser adulterado. Alguns
bricantes de discos foram motivados pela fragi lidade de PCs vendidos atualmente vêm equipados cotn um TPM.
sua posição: eles haviam convidado pessoas a tentar violar O sistema pennite que o software escrito por detentores de
seu sistema, e depois ameaçaram processar algumas delas conteúdo 1nanipule PCs de n1aneiras que os usuários não
por aceitar o desafio. Co1n a an1eaça retirada, o ensaio foi possam mudar. Isso levanta a questão de quem é confiável
publicado (Craver et ai., 2001). Uma nova competição é na computação de confiança. Certamente, não é o usuário.
quase certa. E' desnecessário dizer que as consequências sociais desse
Enquanto isso, redes peer-to-peer têm sido usadas esquema são imensas. É óti1no que a indústria esteja final-
para a troca de conteúdo protegido por direito autoral. mente prestando atenção à segurança, mas é lamentável que
Em resposta, os detentores dos direitos usaram o DMCA ela esteja inteiramente voltada para impor a lei de direitos
para enviar avisos automatizados, conhecidos como avisos autorais, em vez de lidar com vírus, crackers, intrusos e
de remoção do DMCA, a usuários e ISPs. Tais detentores outras questões de segurança com as quais a maioria das
notificaram (e processaram) inicialmente os indivíduos de pessoas está preocupada.
forma direta, o que provou ser impopular e ineficaz. Ago- Em resumo, os legisladores e juristas estarão ocupa-
ra, eles estão processando os ISPs por não excluir clientes dos tentando equilibrar os interesses econômicos dos pro-
que estejam violando o DMCA. Essa é uma proposição prietários de direitos autorais com o interesse público nos
Capítulo 8 • Segurança de redes 545

próximos anos. O espaço virtual não é diferente do espa- modo blocos de cifras encadeados, n1odo fluxo de cifra,
ço físico: ele constantetnente joga um grupo contra outro, modo contador e outros.
resultando em lutas pelo poder, litígio e (esperamos), por Nos algoritmos de chave pública, são usadas chaves
fim, algum tipo de resolução, pelo rnenos até surgir alguma diferentes para codificação e decodificação, e a chave de
nova tecnologia capaz de resolver a situação. decodificação não pode ser derivada da chave de codifica-
ção. Essas propriedades tornam possível divulgar a chave
pública. Um dos principais algoritmos de chave pública é
o RSA, cuja força deriva da grande dificuldade de fatorar
8.14 RESUMO nú1neros muito grandes. Os algoritrnos baseados em ECC
também são usados.
A segurança se encontra na interseção de propriedades Docurnentos legais, comerciais e outros precisam ser
importantes, como confidencialidade, integridade e dis- assinados. Consequentemente, foram criados vários esque-
ponibilidade (CIA). Infelizmente, rnuitas vezes é dificil mas de assinaturas digitais, empregando algoritrnos de chave
compreendê-la, no sentido de que é dificil especificar exa- simétrica e algoritmos de chave pública. Em geral, as mensa-
tarnente qual é a segurança de urn sisterna. O que poden1os gens que devem ser assinadas são submetidas a um hash com
fazer é aplicar rigorosarnente os princípios de segurança, a utilização de algoritmos como SHA-2 e SHA-3, e então os
como os de Saltzer e Schroeder. hashes são assinados en1 lugar das 1nensagens 01iginais.
Enquanto isso, os adversários tentarão comprometer O gerenciamento de chaves públicas pode ser imple-
urn sistema combinando os blocos de construção funda- mentado con1 o emprego de certificados, documentos que
mentais de reconhecimento (o que está sendo executado vinculam um protagonista a uma chave pública. Os certi-
e sob quais condições), espionagen1 (bisbilhotando o trá- ficados são assinados por uma autoridade confiável ou por
fego), falsificação (fingindo ser outra pessoa) e interrup- alguém aprovado (recursivamente) por uma autoridade
ção (negação de serviço). Todos eles podem crescer e se confiável. A raiz da cadeia tem de ser obtida com antece-
tornar extrernamente avançados. Para se proteger contra dência, mas os navegadores en1 geral têm rnuitos certifica-
esses ataques e suas combinações, os administradores de dos raiz embutidos.
rede instalarn firewalls, sistemas de detecção de intrusão Essas fen·amentas criptográficas podem ser usadas
e sistemas de prevenção de intrusão. Essas soluções po- para proteger o tráfego de rede. O lPsec opera na camada
den1 ser in1plantadas na rede, bem con10 no host, e podem de rede, codificando fluxos de pacotes de host para host.
funcionar com base em assinaturas ou ano1nalias. De qual- Os firewalls pode1n efetuar a triagern do tráfego que en-
quer forma, a redução do número de falsos positivos (fal- tra ou sai de u1na organização, n1uitas vezes co1n base no
sos alertas) e fa lsos negativos (ataques perdidos) é uma protocolo e na porta utilizados. As redes privadas virtuais
medida irnportante para a utilidade de tais soluções. Es- podem sin1ular uma antiga rede dedicada para oferecer cer-
pecialmente se os ataques forem raros e se houver muitos tas propriedades de segurança desejáveis. Por fi1n, as redes
eventos, a falácia da taxa básica determina que a taxa de sem fio precisa1n de un1a boa segurança a fim de evitar que
falsos positivos reduz rapidamente o poder de um sistema mais algué1n leia todas as 1nensagens - protocolos como o
de detecção de intrusão. 802.11 i oferecem isso. A defesa em profundidade, usando
A criptografia é uma ferramenta que pode ser usada vários mecanismos, é sen1pre u1na boa ideia.
para rnanter infonnações confidenciais e garantir sua inte- Quando duas partes estabelecem uma sessão, elas têm
gridade e autenticidade. Todos os sistemas criptográficos de autenticar uma à outra e, se necessário, estabelecer uma
moden1os se baseiam no principio de Kerckhoffs de um chave de sessão compartilhada. Existem diversos protoco-
algoritmo publicamente conhecido e uma chave secreta. los de autenticação, incluindo alguns que usam tnna tercei-
Muitos algoritmos criptográficos usam transfonnações ra parte confiável, Diffie-Hellman, Kerberos e criptografia
complexas que envolvem substituições e pennutações para de chave pública.
transformar o texto simples em texto cifrado. Contudo, se a A segurança de correio eletrônico pode ser alcançada
criptografia quântica puder se tornar prática, o uso de blo- por uma cornbinação das técnicas que estudamos neste ca-
cos de uma única vez poderá fornecer sistemas criptográfi- pítulo. Por exe1nplo, o PGP compacta as mensagens, depois
cos verdadeiramente invioláveis. as codifica usando uma chave secreta e envia essa chave
Os algoritn1os criptográficos pode1n ser divididos codificada com a chave pública do receptor. Além disso, ele
co1no de chave simétrica e de chave pública. Os algorit- também efetua o hash da mensagem e envia o hash assina-
mos de chave sirnétrica desfi gurarn os bits em urna série do para conftrmar a integridade da mensagem.
de rodadas paran1etrizadas pela chave para transformar o A segurança da Web tarnbérn é urn tópico irnportan-
texto simples no texto cifrado - AE S (Rijndael) e o DES te, começando con1 a segurança dos nomes. O DNSSEC
triplo são os 1nais populares no momento. Esses algoritmos oferece um modo de evitar o spoofing do DNS. A maioria
podem ser usados no modo livro de códigos eletrônicos, dos sites de comércio eletrônico na Web utiliza TLS para
546 Redes de computadores

estabelecer sessões autenticadas e seguras entre o cliente e requer a contribuição de várias disciplinas. Dada a veloci-
o servidor. São usadas várias técnicas para lidar com código dade de evolução da tecnologia e a velocidade de evolução
móvel, em especial caixas de brita e assinatura de código. da legislação e a política pública, vamos esticar o pescoço
Por fim , a internet levanta muitas questões em que a e prever que essas questões não estarão resolvidas quando
tecnologia interage fortemente com a política pública. AJ- a próxima edição deste livro for impressa. Se estivennos
gun1as áreas relevantes inclue1n privacidade, liberdade de errados, pagaremos u1na rodada de pizza a todos os nossos
expressão e direitos autorais. O tratamento dessas questões leitores.

PROBLEMAS
1. Considere o princípio da mediação completa. Qual requisito não funciona l do sistema provavelmente será afetado pela aderência
estrita a esse princípio?
2. O Capítulo 3 discute os códigos de redundância cíclica (CRCs) como um modo de detectar as 1nensagens errôneas. Explique por
que os CRCs não podem ser usados para assegurar a integridade da mensagem.
3. Que tipo de varredura o log de rede a seguir representa? Complete sua resposta da forma n1ais precisa possível, indicando quais
hosts você acredita que estejam ativos e quais portas estão abertas ou fechadas.

Hora De Para Flags Outras informações


21:03:59.711106 brutus.net.53 > host201.caesar.org.21: F 0:0(0) win 2048 (ttl 48, id 55097)
21:04:05.738307 brutus.net.53 > host201.caesar.org.21: F 0:0(0) win 2048 (ttl 48, id 50715)
21 :05:10.399065 brutus.net.53 > host202.caesar.org.21 : F 0:0(0) win 3072 (ttl 49, id 32642)
21:05:16.429001 brutus.net.53 > host202.caesar.org.21: F 0:0(0) win 3072 (ttl 49, id 31501)
21:09:12.202997 brutus.net.53 > host024.caesar.org.21: F 0:0(0) win 2048 (ttl 52, id 47689)
21:09:18.215642 brutus.net.53 > host024.caesar.org.21: F 0:0(0) win 2048 (ttl 52, id 26723)
21:10:22.664153 brutus.net.53 > host003.caesar.org.21: F 0:0(0) win 3072 (ttl 53, id 24838)
21:10:28.691982 brutus.net.53 > host003.caesar.org.21: F 0:0(0) win 3072 (ttl 53, id 25257)
21:11 :10.213615 brutus.net.53 > host102.caesar.org.21: F 0:0(0) win 4096 (ttl 58, id 61907)
21:11:10.227485 host102.caesar.org.21>brutus.net.53:A0:0(0) ack 4294947297 win O(ttl 25, id 38400)

4. Que tipo de varredura o log de rede a seguir representa? Complete sua resposta da forma mais precisa possível, indicando quais
hosts você acredita que esteja1u ativos e quais portas estão abertas ou fechadas.

Hora De Para Flags Outras informações


20:31:49.635055 IP 127.0.0.1.56331 > 127.0.0.1.22: Flags [FPU], seq 149982695, win 4096, urg O, length O
20:31:49.635123 IP 127.0.0.1.56331 > 127.0.0.1.80: Flags [FPU], seq 149982695, win 3072, urg O, length O
20:31:49.635162 IP127.0.0.1.56331> 127.0.0.1.25: Flags [FPU], seq 149982695, win 4096, urg O, length O
20:31:49.635200IP127.0.0.1.25 > 127.0.0.1.56331: Flags [A.]. seq O, ack 149982696, win O, length O
20:31:49.635241 IP 127.0.0.1.56331 > 127.0.0.1.10000: Flags [FPU], seq 149982695, win 3072, urg O, length O
20:31:49.635265 IP 127.0.0.1.10000 > 127.0.0.1 .56331: Flags [A.], seq O, ack 149982696, win O, length O
20:31:50.736353IP127.0.0.1.56332 > 127.0.0.1.80: Flags [FPU], seq 150048230, win 1024, urg O, length O
20:31:50.736403IP127.0.0.1.56332 > 127.0.0.1.22: Flags [FPU], seq 150048230, win 3072, urg O, length O

5. Alice deseja se comunicar com o site 1vw1v.vu.11!, mas a 6. E1n u1n dia, u1n IDS inspeciona 1.000.000 eventos. Ele le-
entrada para esse domínio em seu servidor de nomes foi vanta 50 alertas, 1Odos quais são alan11es fa lsos. O nútnero
adulterada, de modo que os pacotes acabam na máquina total (real) de ataques naquele dia foi 70. Calcule a precisão,
controlada pelo invasor. Até que ponto o invasor é capaz recuperação, 1nedida F e acurácia do IDS.
de comprometer a confidencialidade, integridade e auten- 7. Explique a falácia da taxa básica usando o dese mpenho do
ticidade nos seguintes casos: (a) co1nunicação não cripto- LOS da pergunta anterior.
grafada (http) entre Alice e w1vw. vu.nl, (b) co1nunicação 8. Você está realizando um ataque de sequestro do TCP fora
criptografada (https) entre Alice e 1v1v1v. v11.nl quando o site do can1inho na máquina de Herbert. Con10 priineiro pas-
da Web usa um certificado assinado por ele, (c) comunica- so, você deseja saber se ele está conectado por sua máqui-
ção criptografada (https) entre Alice e www. vu.11! quando na ao servidor FTP em vusec.net (lembre-se: o FTP usa a
o site usa um certificado assinado por un1a autoridade de porta de destino 21 para os comandos). As duas máquinas
certificação legítima? usam Linux e implementam a RFC 5961 original, conforme
Capítulo 8 • Segurança de redes 547

discutido no texto. Descreva como você descobre que Her- ta1nbé1n sabemos que a redundância ajuda urn intruso a sa-
bert está conectado ao servidor FTP, usando a técnica de ber se u1na chave hipotética está correta. Considere duas
exploração do TCP fora do carninho. fonnas de redundância. Primeiro, os /1 bits iniciais do tex to
9. Resolva a cifra rnonoalfabética a seguir. O texto simples (en1 simples contên1 um padrão conhecido. Segundo, os n bits
inglês), formado apenas por letras, é un1 trecho de um co- finais da mensagern contêm u1n bash sobre ela. Do ponto de
nhecido poema de Lewis Carrol!. vista da segurança, essas duas alternativas são equivalen-
tes? Cornente sua resposta.
kfd ktbd fZn1 eubd Ido pzyiom rnztx ku kzyg ur bzha kfthcrn
ur ruftnm zhx infudn1 zhx mdzythc pzq ur ezsszcdm zhx gtbc111 18. Considere um siste111a bancário que utiliza o seguinte for-
zhx pfa kfd n1dz tm sutythc fuk zhx pfdkfdi ntcm fzld pthcm 1nato para 1nensagens de transação: dois bytes para o 1D
sok pztk z stk kfd uamkdirn eitdx sdruid pd fzld uoi efzk do transmissor, dois bytes para o ID do receptor e quatro
nli mubd ur om zid uok ur sidzkf zhx zyy ur orn zid rzk bytes para o valor a ser transferido. As transações são crip-
hu foiia mztx kfd ezindhkdi kfda kfzhgdx ftb boef rui kfzk tografadas antes do envio. O que você poderia acrescentar
a essas rnensagens para que elas adiram aos dois princípios
1O. Resolva a seguinte cifra de transposição de colunas. O texto
criptográficos discutidos neste capítulo?
sitnples foi extraído de un1 livro sobre computadores, portan-
to, "information" é un1a palavra muito provável. O texto sim- 19. Um grupo de más pessoas realizando negócios infames não
ples é fonuado apenas por letras (se1n espaços), em itlglês. deseja que a polícia escute suas cornu1licações digitais. Para
O texto cifrado está dividido ern blocos de cinco caracteres garantir que isso não aconteça, elas usarn u111 sistema de
para proporcionar melhor legibilidade. 1nensagen1 criptografada de ponta a ponta, que usa uma ci-
fra inquebrável. Pense em duas técnicas que ainda poderão
prort elhfo osdte taxit matec hbcni wtseo datn.r tuebc eyeao
permitir que a polícia investigue as conversas.
ncrin nfeee aoeai nirog rn
20. Suponha que tenhan1os urna máquina para quebrar cifras
11. Alice usou unia cifra de transposição para codificar suas
com u111 111ilhão de processadores capazes de analisar un1a
meusagens para Bob. Para aumentar a segurança, ela crip-
chave en1 1 nanossegundo. Seriam necessários 10 16 anos
tografou a chave da cifra de transposição usando urna ci-
para quebrar a versão de 128 bits do AES. Vamos calcular
fra de substituição e rnanteve a cifra criptografada em seu quanto ternpo levará para reduzir para 1 ano, o que, logica-
cornputador. Trudy conseguiu se apossar da chave da cifi·a rnente, ainda é muito tempo. Para conseguir isso, precisa-
de transposição criptografada. Poderá ela decifrar as men- rnos que os computadores sejam 10 16 vezes rnais rápidos.
sagens de Alice para Bob? Por quê?
Se a lei de Moore (a potência de co1nputação duplica a cada
12. Bob usou uma cifra de transposição para codificar sua rnen- 18 meses) continuar a ser válida, quantos anos serão ne-
sagem para Alice. Para aumentar a segurança, ele cripto- cessários até que um computador paralelo possa reduzir o
grafou a mensagem novamente usando u1na cifra de trans- ternpo de quebra da cifra para um ano?
posição. O texto cifrado teria sido diferente se Bob tivesse 21. O AES admite un1a chave de 256 bits. Quantas chaves tem
prirneiro criptografado a mensagem usando a cifra de trans- o AES-256? Veja se é possível encontrar algu rn número
posição e sornente então é criptografado usando uma cifra ern física, quí1nica ou astronon1ia com aproximadamente o
de substituição? Explique sua resposta. rnesmo tamanho. Use a Internet para ajudá-lo a procurar nú-
13. Encontre um bloco de 77 bits que gere o texto "Hello rneros grandes. Tire urna conclusão de sua pesquisa.
World" a partir do texto cifrado da figura 8. l l. 22. Considere o encadeamento de blocos de texto cifrado.
14. Você é um espião e, de modo conveniente, tern uma biblio- Ern vez de um único bit Oser transformado ern um bit 1,
teca com um nú1nero infinito de livros ã sua disposição. Seu um bit Oextra é inserido no fluxo de texto cifrado depois do
operador tan1bén1 tem essa biblioteca ã disposição. Você bloco e/' Que proporção do texto simples será adulterado
concordou em usar o Senhor dos Anéis como uma chave em decorrência disso?
única. Explique como você poderia usar esses recursos para 23. Compare o encadeamento de blocos de cifras com o modo
gerar urna chave única infinitarnente longa. de feedback de cifra no que se refere ao número de ope-
15. A criptografia quântica exige uma pistola de fótons que rações necessárias para a transn1issão de um arquivo
possa, por demanda, disparar um único fóton transportando 1nuito grande. Qual dos dois é o mais eficiente e em que
1 bit. Neste problema, calcule quantos fótons um bit trans- proporção?
porta em um enlace de fibra de 250 Gbps. Suponha que o 24. Alice e Bob estão se comunicando por rneio da criptografia
con1pri1nento de um fóton seja igual a seu co111pri1nento de de cbave pública. Quern pode recuperar o texto simples, P,
onda que, para fins deste proble111a, é 1 micron. Suponha a partir de E8 (D,,(P)), e quais etapas são necessárias para
que a velocidade da luz na fibra seja 20 c111/ns. isso?
16. Se Trudy capturar e regenerar fótons quando a criptografia 25. Daqui a alguns anos, você é professor de Redes de Co111pu-
quântica estiver e1n uso, ela obterá alguns fótons errados tadores. Você explica aos seus alunos que, na criptografia
e provocará o surgirnento de erros na chave única de Bob. RSA, as cbaves públicas e privadas consisten1 en1 (e, 11) e
Ern rnédia, que fração dos bits do bloco de u1na só vez de (d, n), respectivarnente. Os valores possíveis de e e d depen-
Bob estará errada? dem de um valor z, cujos valores possíveis dependen1, por
17. Um princípio criptográfico fundamental estabelece que sua vez, de n. Um dos alunos comenta que esse esquema
todas as mensagens devem ter redundância. Contudo, é desnecessariamente cornplicado, e propõe simplificá-lo.
548 Redes de computadores

Em vez de selecionar d como un1 número pri1no relativo ele envia em texto silnples, juntamente cotn um certificado
a z, e é selecionado corno pri1no relativo de n. Então, d é X.509 assinado pela CA raiz. Alice já te1n a chave públi-
encontrado de modo que ex d = 1 1nódulo n. Desse niodo, ca da CA raiz. Que etapas ela deve executar para verifi-
z não é 1nais necessário. Qual é o efeito disso para o esforço car se está se co1nunicando com Bob? Suponha que Bob
exigido para quebrar a cifra? não se importe eni saber corn que1n está se comunicando
26. Suponha que uni usuário descubra que sua chave RSA (p. ex., Bob é alguma espécie de serviço público).
privada (dl , n 1) seja a 1nesnia que a chave RSA pública 34. Suponha que uni sistenia utilize a PKI baseada em u1na hie-
(e2, n2) de outro usuário, Frances. E1n outras palavras, rarquia de CAs estruturada em fonna de árvore. Alice quer
d 1 = e2 e /1 l = n2. O usuário deverá considerar a troca de se co1nunicar com Bob e recebe um certificado dele assina-
suas chaves pública e privada? Explique sua resposta. do por u1na CAX, depois de estabelecer um canal de comu-
27. O protocolo de assinatura da Figura 8.21 tem um ponto fra- nicação com Bob. Suponl1a que Alice nunca tenha ouvido
co: se Bob sofrer uma pane, ele poderá perder o conteúdo falar em X. Que etapas ela deve executar para confirmar que
de sua RAM. Que problema isso pode causar e como ele está se coniunicando co1n Bob?
pode resolvê-lo? 35. O IPsec usando AH pode ser empregado em modo de trans-
porte quando urna das 1náquinas está atrás de um NAT? Ex-
28. Na Figura 8.23, vemos co1no Alice pode enviar a Bob uma
plique sua resposta.
mensagem assinada. Se Tn1dy substituir P, Bob poderá des-
cobrir. No entanto, o que acontecerá se Tn1dy substituir ao 36. Alice deseja enviar u1na mensage1n a Bob usando hashes
1nes1no tempo P e a assinatura? SHA-2. Ela consulta você em relação ao algoritn10 de as-
sinatura apropriado que será usado. O que você sugerixia?
29. As assinaniras digitais têm uma deficiência potencial devi-
do a usuários preguiçosos. E1n transações de comércio ele- 37. Cite uma vantageni dos HMACs eni relação ao uso de RSA
trônico, uu1 contrato poderia ser interrompido e o usuário para assinar hashes SHA-2.
poderia ser solicitado a assinar seu hash SHA. Se o usuário 38. Apresente urna razão que justifique o fato de um firewall
não verificar realmente que o contrato e o hash correspon- poder ser configurado de modo a inspecionar o tráfego de
deni, ele poderá assinar inadvertida1nente uni contrato di- entrada. Apresente unia razão que justifique o fato de uni
ferente. Suponha que a 1náfia tente explorar essa fraqueza firewall poder ser configurado de 1nodo a inspecionar o trá-
para ganhar algum dinheiro. Os mafiosos configuram um fego de saída. Você acredita que as inspeções têm probabi-
site pago (p. ex., pornografia, jogo, etc.) e pede1n aos no- 1idade de sucesso?
vos clientes u1n número de cartão de crédito. E1n seguida, 39. Suponha que unia organização utilize unia VPN para se
enviam um contrato ao cliente confirmando que este deseja conectar e1n segurança a seus sites pela Internet. Jim, um
usar seus serviços e que pagará com o cartão de crédito. usuário na organização, usa a VPN para se comunicar com
Depois, solicita1n que o cliente assine o contrato, sabendo sua chefe Mary. Descreva u1n tipo de comunicação entre
que a 1naioria dos clientes sin1ples1nente assinará sem veri- Jiln e Mary que não exigiria o uso de criptografia ou outro
ficar se o contrato e o hash coincidem. Mostre co1no a 1náfia 1necanis1no de segurança, e outro tipo de cornunicação que
pode coniprar diamantes pela Internet de u1n joalheiro legí- exigiria criptografia ou outros mecanismos de segurança.
timo e debitá-los de clientes desatentos. Explique sua resposta.
30. Uma turma de mate111ática te1n 25 alunos. Supondo que to- 40. Faça unia pequena alteração em uma niensagem no proto-
dos eles nascerani no pri1neiro semestre do ano - entre 1 colo da Figura 8.31 , de modo a torná-lo resistente ao ataque
de janeiro e 30 de junho - , qual é a probabilidade de que por reflexão. Explique por que sua niudança func iona.
pelo menos dois alunos façam aniversário no mesmo dia? 41. A troca de chaves de Diffie-Helhnan está sendo usada para
Suponha que ningué1n tenha nascido em u1n ano bissexto. estabelecer uma chave secreta entre Alice e Bob. Alice
31. Depois de Ellen ter confessado a Marilyn que a enganou envia a Boba mensagem (227, 5, 82). Bob responde com
na questão da indicação de Tom, Mari lyn resolveu evitar ( 125). O número secreto de Alice, x, é 12, e o nú1nero se-
esse proble1na ditando o conteúdo de futuras mensagens a creto de Bob, y, é 3. Mostre co1no Alice e Bob calculam a
um gravador e fazendo sua nova secretária simplesmente chave secreta.
digitá-las. Marilyn planejava examinar as 1nensagens em 42. Dois usuários podem estabelecer uma chave secreta com-
seu terminal depois de elas serein digitadas, para ter certeza partilhada usando o algoritmo de Diffie-Hellman, nlesmo
de que continham suas palavras exatas. A nova secretária que nunca tenha1n se encontrado, não compartiJhe1n segre-
ainda pode usar o ataque do aniversário para falsificar uma dos e não tenha1n certificados.
mensageni? De que 1naneira? Dica: ela pode fazê-lo. (a) Explique co1uo esse algori tnio é suscetível a um ataque
32. Considere a tentativa nialsucedida de Alice de conseguir a do bomeu1 no meio.
chave pública de Bob na Figura 8.25. Suponha que Bob e (b) Co1no essa suscetibi lidade mudaria se n ou g fossem
Alice já compartilhem uma chave secreta, 1nas Alice ain- secretos?
da quer a chave pública de Bob. Agora existe um rnodo de 43. No protocolo da Figura 8.36, por que A é enviado en1 texto
obtê-la em segurança? Em caso afirmativo, como? simples junto com a chave de sessão criptografada?
33. Alice quer se co1nunicar com Bob usando a criptografia de 44. Os registros de tempo e os nonces são usados por confiden-
chave pública. Ela estabelece uma conexão com alguém cialidade, integridade, disponibilidade, autenticação ou não
que espera que seja Bob e pede sua chave pública, a qual repúdio? Explique sua resposta.
Capítulo 8 • Segurança de redes 549

45. No protocolo da Figura 8.36, indicamos que iniciar cada 57. O protocolo de transporte de dados SSL envolve dois non-
rnensagem de texto siinples com 32 bits zero é um risco à ces, bern corno uma chave pré-rnestre. Que valor, se for o
segurança. Suponha que cada 1nensagen1 comece com un1 caso, tem o uso dos nonces?
nún1ero aleatório por usuário, efetiva1nente unia segunda 58. Considere uma i1nagem de 2048 x 1536 pixeis. Você dese-
chave secreta conhecida apenas de seu usuário e do KDC. ja criptografar um arquivo corn tarnanho de 2,5 MB. Que
Isso elimina o ataque do texto siinples conhecido? Por quê? fração do arquivo você pode ocultar esteganograficamen-
46. Confidencialidade, integridade, disponibilidade, autenti- te nessa imagern? Que fração você poderia criptografar se
cação e não repúdio são propriedades fundamentais da se- compactasse o arquivo para um quarto de seu tamanho ori-
gurança. Para cada urna dessas propriedades, explique se ginal? Mostre seus cálculos.
ela pode ser fon1ecida pela criptografia de chave pública.
59. A in1age1n da Figura 8.52(b) contém o texto ASCII de cinco
Se puder, explique co1no isso é feito.
peças de Shakespeare. Seria possível ocultar música em vez
47. Considere os problemas fundamentais da segurança listados de texto entre as zebras? Em caso afirmativo, como isso se-
no problema anterior. Para cada urna das propriedades, ex- ria feito e que quantidade de música você ocultaria na in1a-
pi ique se ela pode ser fornecida por sumários de mensagern. gem? En1 caso negativo, por que não?
Se puder, explique co1no isso é feito.
60. Você recebe um arquivo de texto de 60 MB, que deve ser
48. No protocolo de Needham-Schroeder, Alice gera dois de- criptografado usando a esteganografia nos bits de baixa or-
safios, R,. e R,,i· Isso parece exagero. Apenas um não seria dem de cada cor em um arquivo de imagem. Que tamanho
suficiente? de imagen1 seria necessário para poder criptografar o arqui-
49. Suponha que u1na organização utilize o Kerberos para au- vo inteiro? Que ta1nanbo seria necessário se o arquivo fosse
tenticação. En1 termos de segurança e disponibilidade de primeiro compactado para un1 terço de seu tamanho origi-
serviço, qual será o efeito se AS ou TGS for desativado? nal? Mostre suas respostas ern pixeis e apresente os cálcu-
50. Alice está usando o protocolo de autenticação por chave los. Suponha que as in1agens tenham uma relação entre os
pública da Figura 8.40 para autenticar a con1uuicação com eixos de 3:2, por exe1nplo, 3000 x 2000 pixeis.
Bob. Contudo, ao enviar a 1nensagem 7, Alice se esqueceu 61. Alice era uma usuária pesada de u1n repostador anônimo do
de criptografar R8 . Trudy agora conhece o valor de R8 . Alice tipo 1. Ela postava rnuitas mensagens ern seu uewsgroup fa-
e Bob precisan1 repetir o procedin1ento de autenticação con1 vorito, altjànclub.alice, e todo niundo sabia que as mensa-
novos parâ1netros a fim de garantir a comunicação segura? gens eram todas dela, porque tinham o mesmo pseudônimo.
Explique sua resposta. Supondo que o repostador funcionasse corretan1ente, Trudy
51. No protocolo de autenticação por chave pública da Figura não conseguiria se fazer passar por Alice. Depois que os
8.40, na niensage1n 7, R8 é criptografado corn Ks. Essa crip- repostadores do tipo 1 forarn desativados, Alice trocou para
tografia é necessária, ou teria sido 111elhor enviar a niensa- un1 repostador cypherpunk e iniciou urn novo thread de
gen1 de volta em texto si1nples? Explique sua resposta. rnensagens ern seu newsgroup. Elabore um meio de impedir
52. Termmais de pontos de venda que utilizam cartões com tar- que Trudy poste novas 1nensagens no newsgrup passando-
ja magnética e códigos PIN tê1n urna falha fatal: u1n comer- -se por Alice.
ciante inescrupuloso pode niodificar seu leitor de cartões 62. E1n 2018, os pesquisadores descobriram urn par de vu lnera-
para armazenar todas as informações do cartão, assin1 con10 bilidades nos processadores modernos, que eles cha1nara1n
o código PJN, a fin1 de mformar outras transações (falsas) de Spectre e Meltdown. Descubra corno funciona o ataque
no futuro. A próxi1na geração de tern1inais de pontos de Meltdown e explique quais dos princípios de segurança não
venda utilizará cartões con1 uma CPU completa, teclado e foram sufíciente1nente seguidos pelos projetistas do proces-
urn pequeno visor. Idealize um protocolo para esse sistema sador, causando a introdução dessas vulnerabilidades. Ex-
que não possa ser burlado por comerciantes inescrupulosos. plique sua resposta. Indique u1na rnoti vação possível para a
53. Você recebe um e-mail do seu banco dizendo que foi detec- não aderência estrita a esses princípios.
tado um comporta1nento incomu.m na sua conta. Todavia, 63. Enquanto viaja para fora do país, você se conecta à rede
quando você segue o link infom1ado no e-mail e se conecta WiFi do seu hotel usando u111a senha exclusiva. Explique
ao site, ele não mostra transação alguma. Você sai do siste- como un1 invasor pode espionar sua cornunicação.
ma. Talvez tenha sido urn engano. Um dia, você reton1a ao 64. Procure na Internet algum caso interessante envolvendo
site do banco e faz o login. Dessa vez, ele rnostra que todo
privacidade e escreva um relatório de uma página sobre o
o seu dinheiro foi transferido para uma conta desconhecida.
ten1a.
O que aconteceu?
65. Escreva urn prograrna que codifique sua entrada por nieio
54. Dê dois motivos para o PGP compactar mensagens.
de uma operação XOR entre ela e um fluxo de chaves. Des-
55. Seria possível enviar urna mensagem PGP por multicast? cubra ou desenvolva o nielhor gerador de números aleató-
Que restrições se aplicaria1n? rios que puder para gerar o fluxo de chaves. O programa
56. Supondo que todos na lnten1et usassen1 o PGP, u1na n1en- deve atuar como u1n filtro, recebendo texto simples na en-
sagen1 PGP poderia ser enviada a tun endereço qualquer da trada padrão e gerando texto cifrado na saída padrão (e vi-
Internet e ser decodificada corretamente por todos os envol- ce-versa). O programa deve receber um parâmetro, a chave
vidos? Cornente sua resposta. que produz a semente do gerador de números aleatórios.
550 Redes de computadores

66. Escreva um procedimento que calcule o hash SHA-2 de um Por exemplo, se x = 3, então "A" é codificado por "D", "B"
bloco de dados. O procedimento deve ter dois parâ1netros: é codificado por "E'', etc. Faça suposições razoáveis co1n
u1n ponteiro para o buffer de entrada e um ponteiro para um relação a alcançar o último caractere no conjunto ASCII.
buffer de saída de 20 bytes. Para ver a especificação exata Documente claran1ente e1n seu código quaisquer suposições
do SHA-2, procure na lnten1et por FlPS 180- l para ver a que você faça sobre a entrada e o algoriflno de criptografia.
especificação completa. 68. A finalidade deste proble1na é dar-lhe um rnelhor conheci-
67. Escreva u1na função que aceite u1n fluxo de caracteres rnento sobre os mecanismos do RSA. Escreva uma função
ASCII e criptografe essa entrada usando unia cifra por que receba, como parâmetros, números primos p e q, calcu-
substituição con1 o 1nodo de encadea1nento de blocos de le chaves RSA públicas e privadas usando esses parâ1netros
cifras. O tamanho do bloco deverá ser de 8 bytes. O pro- e envie n, z, d e e para a saída padrão. A função ta1nbém
gran1a deverá apanhar o texto si1nples da entrada padrão e deverá aceitar um fluxo de caracteres ASCII e criptografar
imprimir o texto cifrado na saída padrão. Para este proble- essa entrada usando as chaves RSA calculadas. O programa
ma, você poderá selecionar qualquer siste1na razoável para deverá apanhar o texto simples da entrada padrão e impri-
determinar o final da entrada, e/ou quando o preenchi1nento 1nir o texto cifrado na saída padrão. A criptografia deverá
deverá ser aplicado para completar o bloco. Você pode sele- ser executada um caractere por vez, ou seja, apanhando
cionar qualquer fonnato de saída, desde que não seja ambí- cada caractere na entrada e criptografando-o independen-
guo. O programa deverá receber dois parâmetros: temente dos outros. Para este proble1na, você poderá sele-
l. U1n ponteiro para o vetor de inicialização. cionar qualquer siste1na razoável para detenninar o fina l da
2. Um número k, representando o deslocamento da cifra entrada, bem como qualquer formato de saída, desde que
de substituição, de modo que cada caractere ASCII não seja ambíguo. Docu1nente claramente em seu código
seja codificado pelo k-ésiJno caractere adiante dele no quaisquer suposições que você faça sobre a entrada e o al-
alfabeto. goritmo de criptografia.
Leituras recomendadas
e referências

Tennina1nos nosso estudo das redes de computadores, mas Services), SOSP (Syn1posium on Operating Syste1ns Prin-
isso é apenas o corneço. Muitos tópicos interessantes não cipies) e OSDI (Symposium on Operating Systems Design
forarn tratados com tantos detalhes quanto merecem, e ou- and hnp]ementation).
tros forarn omitidos co1npleta111ente por falta de espaço. A seguir, listamos algumas sugestões para leitura
Neste capítulo, oferecen1os algumas leituras recomendadas comple1nentar ligadas aos capítulos deste livro. Algumas
adicionais e uma extensa lista de referências na área, para das sugestões são livros ou capítulos de livros, com al-
beneficio dos leitores que desejam continuar seus estudos guns tutoriais e estudos. As referências completas estão na
em redes de cornputadores. Seção 9.2.

9.1.1 Introdução e trabalhos na área


9.1 LEITURAS RECOMENDADAS Comer, The Internet Book, 4. ed.
Quen1 quer que procure tuna introdução descon1plica-
Há muita literatura sobre todos os aspectos das redes de
da à Internet deverá olhar aqui. Co1ner descreve a história,
computadores. Dois periódicos que publica111 artigos nessa
o crescimento, a tecnologia, os protocolos e os serviços da
área são IEEEIACM Transactions on Networking e IEEE
Internet em tennos que os iniciantes conseguem entender,
Journal on Selected Areas in Conununications.
mas há tanto material no livro que ele ta1nbém é de interes-
Os periódicos da ACM Special lnterest Groups
se para os leitores mais técnicos.
on Data Communications (SIGCOMM) e Mobility of
Systems, Users, Data, and Computing (SlGMO-BILE) Computer Conununication Review, 50th Anniversary Issue,
publicam 1nuitos artigos de interesse, em especial sobre out. 2019
assuntos emergentes. São eles: Conzputer Com1nunication A ACM SIGCOMM completou 50 anos em 2019, e
Review e Mobile Cornputing and Conununications Review. essa edição especial examina os prin1eiros dias e como as
O lEEE também publica três revistas - IEEE Internet redes e o SIGCOMM rnudaram co1n o passar dos anos. Di-
Coniputing, IEEE Network Magazine e IEEE Comrnunica- versos presidentes anteriores do SIGCOMM escreveram
tions Magazine - que contên1 estudos, tutoriais e estudos de artigos sobre corno erain as coisas e onde elas deveriam
caso sobre redes. As duas primeiras enfatizam arquitetura, estar no futuro. Outro assunto é a relação entre a pesqui-
padrões e software, e a última visa ã tecnologia de cornuni- sa acadên1ica sobre redes e o setor. A evolução do boletim
cações (fibra óptica, satélites, e assirn por diante). também é discutida nessa edição.
Existem inúmeras conferências anuais ou bianuais
que atraem diversos artigos sobre redes. E1n particular, Crocker, S. D., "The Arpanet and Its lmpact on the State of
procure a conferência SIGCOMM, NSDI (Symposium Networking"
on Networked Systems Design and Implementation), Para comemorar o 50º aniversário da ARPANET, a
MobiSys (Conference on Mobile Systems, Applications and precursora da Internet, a IEEE Cornputer colocou seis dos
552 Redes de computadores

projetistas da ARPANET em uma mesa redonda (virtual) Severance, Jntroduction to Networking: How the Internet
para discutir a ARPANET e seu (enorme) impacto no mun- Works
do. Os designers presentes foran1 Ben Barker, Vint Cerf, Se você quiser descobrir sobre as redes en1 apenas
Steve Crocker, Bob Kahn, Len Kleinrock e Jeff Rulifson. 100 páginas, en1 vez de 1000, então deve procurar aqui.
A discussão está repleta de informações interessantes, in- Essa é uma leitura rápida e fácil, abordando a 1naioria dos
cluindo o fato de que, e1nbora a ARPANET fosse inicial- principais tópicos, como as arquiteturas de rede, a camada
mente direcionada às melhores universidades de pesquisa de enlace, IP, DNS, a camada de transporte, a camada de
dos Estados Unidos, poucas delas vira1n algum valor no aplicação, SSL e o modelo OSI. As lustrações desenhadas a
projeto a princípio e relutaram e1n aderi-lo. n1ão são muito divertidas.
Crovella e Krishnamurthy, internet Measure111en1
Co1no podemos avaliar o funcionamento da internet, 9.1.2 A camada física
de qualquer maneira? Essa pergunta não é fácil de ser res-
pondida, pois não há um responsável pela Tntemet. O livro Boccardi et ai., "Five Disruptive Technology Directions
descreve as técnicas desenvolvidas para medir a operação for SG"
da Internet, da infraestrutura de rede às aplicações. Os proponentes das redes de celular SG dizem que
elas mudarão o inundo. Mas como? Esse artigo explica cin-
IEEE Internet Co111puting, jan./fev. 2000 co tnaneiras coroo o SG poderia ser disruptivo. Entre elas
A primeira edição da iEEE internet Cornputing do estão as arquiteturas centradas no dispositivo, o uso de on-
milênio fez con10 você esperaria: pediu às pessoas que das milimétricas, MIMO, dispositivos 1nais inteligentes e
ajudara1n a criar a Internet no 1nilênio anterior que espe- suporte nativo para a comunicação máquina-a-tuáquina.
culassem para onde ela caminharia no milênio seguin-
te. Os especialistas são Paul Baran, Lawrence Roberts, Hu e Li, "Satellite-Based Internet: A Tutorial"
Leonard Kleinrock, Stephen Crocker, Danny Cohen, Bob O acesso à Internet via satélite é diferente do uso de
Metcalfe, Bill Gates, Bill Joy e outros. Veja se suas previ- linhas terrestres. Não há apenas a questão do atraso, mas
sões se confirmara1n duas décadas depois. o rotea1nento e a co1nutação tan1bém são diferentes. Nesse
artigo, os autores examina1n as questões ligadas ao uso de
Kurose e Ross, Co1nputer Networking: A Top -Down
satélites para acesso à Internet.
Approach
En1 conteúdo, esse livro é parecido com este, exceto Hui, lntroduction to Fiber-Optic Comm.unications
que, após u1n capítulo introdutório, ele con1eça no topo da
O título resun1e tudo. Há capítulos sobre fibras ópti-
pilha de protocolos (a ca1nada de aplicação), descendo até
cas, fontes de luz, detectores, amplificadores ópticos,
,
sis-
a camada de enlace. Não há um capítulo sobre a camada
ten1as ópticos de transn1issão e muito mais. E um pouco
física, n1as existen1 capítulos separados sobre segurança e
técnico, e portanto é preciso que haja algu1na base de enge-
multitnídia.
nharia para que ele seja totalmente compreendido.
McCullough, How the Internet Happened: From Netscape
La1nparter et ai. , "Multi-Gigabit over Copper Access
to the iPhone
Networks"
Para qualquer um interessado em uma história des-
complicada da Internet, do inicio dos anos 1990 até agora, Todos concorda1n que a melhor maneira de oferecer
esse livro é o melhor lugar. Ele aborda muitas empresas e dados em alta velocidade até a casa é a fibra óptica. No en-
dispositivos que desempenharam um papel i1npo1tante para tanto, religar o mundo é un1a proposta cara. Nesse artigo,
o desenvolvimento e o crescimento da Internet, incluin- os autores discutem formas híbridas de fiação que podem
do Netscape, Internet Explorer, AOL, Yahoo, Amazon, fazer mais sentido e1n curto e n1édio prazos, incluindo a
Google, Napster, Netflix, PayPal, Facebook e o iPhone. fibra até o prédio, que leva fibra a grandes prédios (de apar-
tamentos e de escritórios), mas reutiliza a fiação e a infraes-
Naughton, A BriefHistory o.fthe Future trutura existentes dentro das edificações.
Afinal, quem inventou a Internet? Muitas pessoas
reivindicara1n o crédito. E co1n razão, pois muita gente Pearson, Fiber Opüc Conununication for Beginners: The
participou, de diversas maneiras. Paul Baran escreveu u1n Basics
relatório que descreve a comutação de pacotes; pessoas em Se você estiver interessado em aprender mais sobre
diversas universidades projetaram a arquitetura da ARPA- fibra óptica rapida1nente, esse pequeno livro de 42 páginas
NET; o pessoal das BBN programou os primeiros IMPS; pode ser o melhor para você. Ele explica por que a fibra é
Bob Kahn e Vint Cerf inventaram o TCP/TP; e assim por o melhor ca1ninho a seguir, tipos de sinais, optoeletrônica,
diante. Esse livro conta a história da Internet, pelo menos dispositivos passivos, n1odos de fibra, cabos, conectores,
até 2000, repleto de muitas anedotas. divisores e teste.
Capítulo 9 • Leituras recomendadas e referências 553

Stock1nan e Coon1ans, "Fiber to the Tap: Pushing Coaxial Colbach, Bluetooth Tutorial: Design, Protocol and Speci-
Cable Networks to Their Limits" fications for BLE
Os autores acreditam que o lin1ite das redes de tele- O Bluetooth é muito utilizado para conectar disposi-
visão a cabo não foi atingido, e que poderia atingir muitos tivos móveis usando sinais de rádio de curto alcance. Esse
gigabits/s. Nesse a1tigo, eles discuten1 as diversas partes do livro discute o Bluetooth coro alguns detalhes, incluindo
sistema a cabo e co1no eles acreditam ser possível alcançar sua arquitetura, protocolos e aplicativos. Ele abrange do
essas velocidades. Para entender totalmente o artigo, é pre- Bluetooth 1.0 ao Bluetooth 5.
ciso que você tenha base em engenharia.
Kasim, Delivering Carrier Ethernet
Hoje, a Ethernet não é apenas uma tecnologia de área
9.1 .3 A camada de enlace de dados local. A nova 1noda é usá-la como um link de longa distân-
cia para Ethernet em nível de operadora. Esse livro reúne
Lin e Costello, Error Control Coding, 2. ed. ensaios para abordar o tópico en1 profundidade.
Códigos para detectar e corrigir erros são fundamen-
tais para redes de computadores confiáveis. Esse conhecido Perhnan, lnterconnections, 2. ed.
livro didático explica alguns dos códigos mais importantes, Para ver um trata1nento confiável, porén1 divertido,
dos simples códigos lineares de Hamming aos complexos sobre bridges, roteadores e roteamento em geral, o livro de
códigos de verificação de paridade de baixa densidade. Ele Perlman é a melhor opção. A autora projetou os algoritn1os
tenta fazer isso com o mínimo de álgebra necessário, mas usados na bridge spanning tree IEEE 802; ela é uma das
que ainda assim é bastante. principais autoridades do mundo sobre vários aspectos do
uso de redes.
Kurose e Ross, Co1nputer Nef:l.vorking
O Capítulo 6 desse livro trata da camada de enlace de Spurgeon e Zimmennan, Ethernet: The Definitive Guide,
dados. Ele també1n inclui tuna seção sobre a con1utação nos 2. ed.
centros de dados. Depois de algum material introdutório sobre cabea-
n1ento, uso de quadros, negociação, energia sobre Ether-
Stallings, Data and Computer Communications , 1O. ed. net e sistemas de sinalização, há capítulos sobre sistemas
A Parte 2 aborda a transmissão de dados digitais e Ethernet de l O Mbps, 100 Mbps, l 000 Mbps, 1O Gbps,
u1na série de enlaces, inclusive detecção e controle de erros 40 Gbps e 100 Gbps. E1n seguida estão os capítulos sobre
com retransmissões, e controle de fluxo. cabeamento, comutação, desempenho e solução de proble-
n1as. Esse é utn tipo de livro mais prático do que teórico.

9.1.4 A subcamada de controle


de acesso ao meio 9.1 .5 A camada de rede
Co1ner, lnternef:l.Vorking with TCP/IP, Vol. 1, 5. ed.
Alloulah e Huang, "Future Millimeter-Wave Indoor
Comer escreveu o trabalho definitivo sobre o conjun-
Systems"
to de protocolos TCP/IP, agora em sua 5ª edição. A maior
À medida que as frequências de rádio abaixo de 5 GHz parte da primeira metade trata do IP e de protocolos rela-
se congestionam, os engenheiros de co1nunicação procu- cionados na ca1nada de rede. Os outros capítulos tratam
ra1n frequências 1nais altas para obter 1nais largura de banda principalmente das camadas n1ais altas e tan1bém merecem
não utilizada. A parte de 30-300 GHz do espectro está po- ser lidos.
tencialmente disponível, mas nessas frequências as ondas
de rádio são absorvidas pela água (p. ex., chuva), tornando- Hallberg, Quality of Service in Modern Packet Nef:l.Vorks
-as mais adequadas para uso em a1nbientes internos. Esse A maioria do tráfego na Internet é 1nultimídia, o que
docun1ento discute alguns dos proble1nas e aplicações para torna a qualidade de serviço uma área tão importante. Esse
802.11 ade outros siste1nas que operam usando essas ondas livro aborda muitos tópicos relacionados, incluindo servi-
mili1nétricas. ços integrados, serviços diferenciados, enfileiramento e es-
calona1nento de pacotes, i1npedimento de congestionan1en-
Bing, Wi-Fi Technologies and Applications to, 1nedição da qualidade de serviço, entre e outros.
O IEEE 802.11 se tornou o padrão para co1nunicação
sem fio e esse livro é un1a boa referência para leitores inte- Grayson et ai., IP Design.for Mobile Networks
ressados en1 aprender mais sobre ele. A obra cobre bandas As redes de telefone tradicionais e a lnte1net estão em
de frequência, sistemas com várias antenas e os vários pa- rota de colisão, co1n redes telefônicas móveis sendo im-
drões 802.11. Tan1bé1n exa1nina alternativas con10 LTE-U plementadas com TP em seu interior. Os autores explican1
e LAA. Ele conclui com u1n capítulo sobre técnicas de con10 projetar uma rede usando os protocolos IP que dão
modulação. suporte ao serviço de telefonia móvel.
554 Redes de computadores

Nucci e Papagiannaki, Design, Measurernen.t an.d Manage- Pyles et ai., Guide to TCPllP: !Pv6 and !Pv4
ment ofLarge-Scale IP Networks Mais um livro sobre TCP, IP e os protocolos rela-
Falarnos bastante sobre como as redes func ionam, mas cionados. Ao contrário dos outros, esse tem muito mate-
não como você projetaria, irnplementaria e controlaria uma rial sobre IPv6, incluindo capítulos sobre sua transição e
se fosse um ISP. O livro preenche essa lacuna ao exarninar implantação.
os métodos modernos para engenharia de tráfego e con10 os
ISPs oferecem serviços co1n o uso de redes. Stevens, TCP//P lllustrated, Vol. 1
Os Capítulos de 17 a 24 oferecem um tratamento
Perhnan, In.tercon.n.ections, 2. ed. abrangente do TCP, ilustrado com exemplos.
Nos Capítulos de 12 a 15, Perlman descreve muitas
das questões envolvidas no projeto do algoritmo de rotea- Feamster e Livingood, "Internet Speed Measuren1ent: Cur-
mento de unicast e rnulticast, tanto para redes remotas rent Cballenges and Future Reco1nmendations"
quanto para LANs. Poré1n, sem dúvida, a melhor parte é o Os autores discutem os desafios associados à medi-
Capítulo 18, e1n que a autora de1nonstra seus muitos anos ção da velocidade na Internet enquanto as redes de acesso
de experiência com os protocolos de rede em um texto in- continuam a se tornar mais rápidas. Seguindo nesse tópico,
formativo e divertido. Trata-se de leitura obrigatória para o artigo descreve os princípios de projeto para a medição
projetistas de protocolos. de velocidade na Internet e os desafios seguintes nessa área
enquanto as redes de acesso se tomam mais velozes.
Stevens, TCPIIP Jllustrated, Vol. 1
Os Capítulos de 3 a l O oferecem u1n tratamento
abrangente do fP e protocolos relacionados (ARP, RARP e 9.1. 7 A camada de aplicação
ICMP), ilustrado com exemplos. Absan et ai., "DASHing Towards Hollywood"
O DASH e o HLS usam HTTP para que se tornem
Feamster et ai., "Tbe Road to SDN"
compatíveis com a Web, mas arnbos são baseados no TCP,
Esse artigo de pesquisa de-screve a história intelectual
que prioriza a entrega confiável e em ordem e1n vez da en-
e as raízes das redes definidas por software, que data1n do trega em tempo. Esse artigo mostra como, ao usar uma va-
controle centralizado das redes telefônicas. Ele também ex- riante do TCP, o desempenho do streaming de vídeo pode
plora as várias condições, técnicas e políticas, que levaram
ser melhorado nas paradas devido à eliminação do bloqueio
ao surgimento da SDN no final dos anos 2000.
no início da fila.
Swami et ai., "Software-defined Networking-based DDoS
Berners-Lee et ai., "The World Wide Web"
Defense Mechanisms"
Faça u1na viagem de volta no tempo para uma pers-
A rede defmida por software interage de duas ma-
pectiva da Web e para onde ela está indo, com a pessoa
neiras com a segurança, ou seja, com ataques de DDoS.
que a inventou e alguns de seus colegas no CERN. O arti-
Primeiro, o próprio código da SDN pode ser u1n alvo de go foca a arquitetura da Web, URLs, HTTP e HTML, bem
ataque. Segundo, o código da SDN pode ajudar a proteger como direções futuras, e a compara com outros sistemas de
a rede contra ataques de DDoD. Esse artigo de pesquisa
informação distribuídos.
examina muitos artigos que abordam essas duas questões.
Chakraborty et ai., VolP Technology: Applications and
Varghese, Nen.vork Algorithm.ics
Challenges
Gastamos muito ten1po falando sobre con10 os rotea- O antigo sistema telefônico analógico está quase
dores e outros elementos da rede interagem entre si. Esse
morrendo ou, e1n alguns países, já morreu. Ele está sendo
livro é diferente: trata de como os roteadores são reahnente
substituído pelo VolP. Se você estiver interessado em saber
projetados para encaminhar pacotes em velocidades prodi- con10 o VoIP funciona en1 detalhes, esse é um bom lugar
giosas. Para que1n quer entender a fundo essa e outras ques- para procurar. Entre outros tópicos abordados estão a tec-
tões relacionadas, esse é o livro ideal. O autor é especialista
nologia VolP, protocolos, questões de qualidade de serviço,
em algoritmos inteligentes, que são usados na prática para
VoIP em redes sem fio, desempenho, otimização, tratamen-
i1nplementar ele1nentos de rede de alta velocidade em soft-
to de congestionamento e 1nuito mais.
ware e hardware.
Dizdarevic et ai., "A Survey of Co1rununication Protocols
9.1.6 A camada de transporte for lnten1et ofThings ..."
A Internet das Coisas é u1n tópico promissor, n1as os
Comer, In.ternet~vorking 1vith TCP/JP, Vol. 1, 5. ed. protocolos de como essas "coisas" se comunicam com ser-
Como dissemos anteriormente, Comer escreveu o vidores e nuvens estão fragmentados. Normalmente, eles
trabalho defmitivo sobre o conjunto de protocolos TCP/IP. são executados na camada de aplicação em ciina do TCP,
A segunda n1etade do livro trata do UDP e do TCP. mas existe1n 1nuitos deles, incluindo REST HTTP, MQTT,
Capítulo 9 • Leituras recomendadas e refe rências 555

CoAP, AMQP, DDS, XMPP e até mes1no HTTP/2.0. Esse muitos problemas de segurança relacionados que estão no
documento discute todos eles e examina questões co1no de- horizonte.
sempenho, latência, energia, segurança e muito mais. O ar-
tigo também possui mais de 130 referências. Anderson, Security Engineering, 2. ed.
Esse livro apresenta uma mistura maravilhosa de téc-
Goralski, The lllustrated Nenvork: How TCPIJP Works in a nicas de segurança, expressa en1 um entendi1nento de con10
Modern Network as pessoas as utilizan1 (e utilizam 1nal). E' u1n livro mais
O título desse livro é um tanto enganoso. Embora o técnico do que Secrets and Lies, porém menos do que
TCP certa1nente seja abordado em detalhes, muitos outros Network Security (ver mais adiante). Após uma introdu-
protocolos e tecnologias de rede ta1nbém o são. Entre ou- ção às técnicas básicas de segurança, capítulos inteiros são
tros tópicos, ele abrange protocolos e camadas, TCP/IP, dedicados a diversas aplicações: bancárias, de cornando e
tecnologias de enlace, redes ópticas, IPv4 e IPv6, ARP, ro- controle nuclear, de impressão de segurança, de biometria,
teamento, 1nultiplexação, peering, BGP, multicast, MPLS, de segurança física, de batalha eletrônica, de segurança da
DHCP, DNS, FTP, SMTP, HTTP, SSL, e 1nuito n1ais. telecomunicação, de comércio eletrônico e de proteção do
direito autoral.
Held, A Practical Guide to Content Delivery Networks,
2. ed. Fawaz e Shin, "Security and Privacy in the Internet of
Oferece uma exposição prática de como funcionam as Things"
CDNs, enfatizando as considerações práticas no projeto e A Internet das Coisas é uma área em expansão.
operação de uma CDN que funcione bem. Em breve, dezenas de bilhões de dispositivos estarão co-
nectados à Internet, incluindo carros, marca-passos, fe-
Li et ai., "Two Decades of Internet Vídeo Strea1ning: A Re- chaduras de portas, etc. Segurança e privacidade são fun-
trospective View" dan1entais em muitas aplicações da IoT, mas tendem a ser
O strea1ning de vídeo conquistou a Internet. A maior ignoradas na maioria das discussões sobre o assunto. Os au-
parte de sua largura de banda agora é dedicada a Netflix, tores discutem a situação e propõem u.ma solução.
YouTube e outros serviços de streaming. Esse artigo ana-
Ferguson et ai., Cty]Jtography Engineering
lisa um pouco da história e da tecnologia usada para o
Muitos livros lhe dize1n como funciona1n os algorit-
strean1ing de vídeo.
mos criptográficos populares. Esse texto conta como usar
Simpson, Video Over IP, 2. ed. a criptografia - por que os protocolos criptográficos são
O autor oferece uma visão ampla de como a tecnolo- criados dessa forma e corno reuni-los em um sistema que
gia IP pode ser usada para mover vídeo pelas redes, tanto na atenderá a seus objetivos de segurança. Bastante compacto,
Inten1et quanto em redes privativas projetadas para trans- sua leitura é essencial para quem projeta sistemas que de-
,
portar vídeo. E interessante que esse livro é orientado para pendem de criptografia.
o aprendizado do profissional de vídeo a respeito das redes, Fridrich, Steganography in Digital Media
e não o contrário. A esteganografia existe desde a Grécia antiga, onde
Wittenburg, Understanding Voice Over IP Technology a cera era fundida em tabletes vazios de modo que 1nensa-
O livro explica o funcionamento do Voice over IP, gens secretas pudessem ser aplicadas à 1nadeira subjacente
desde o transporte de dados de áudio com protocolos lP e antes que a cera fosse reaplicada. Atualmente, vídeos, áudio
questões de qualidade de serviço até o SIP e o conjunto de e outros tipos de conteúdo na Internet oferecem diferentes
protocolos H.323. Ele é detal hado por necessidade, dado meios de transporte para mensagens secretas. Diversas téc-
o material, mas acessível e dividido en1 unidades de fácil nicas modernas para esconder e encontrar informações em
-
cornpreensao. imagens são discutidas aqui.
Kaufman et ai., Network Security, 2. ed.
Esse livro clássico e divertido é o prirneiro lugar para
9.1.8 Segurança na rede procurar informações n1ais técnicas sobre algoritinos e pro-
Anderson, "Making Security Sustainable" tocolos de segurança de redes. Algoritmos e protocolos de
A Internet das Coisas mudará a forma como deve- chave secreta e pública, hashes de mensagem, autenticação,
mos olhar para a segurança. Antigamente, um fabricante Kerberos, PKI, IPsec, SSL/TLS e segurança de e-mail são
de automóveis enviava alguns protótipos de um novo car- explicados cuidadosamente e com profundidade, e incluem
ro para testes ern agências do governo. Se fosse aprovado, n1uitos exe1nplos. O Capítulo 26, sobre o folclore da segu-
eles fabricavam milhões de cópias idênticas. Quando os rança, é un1a verdadeira joia. Em segurança, o diabo está
carros foram conectados à Internet e receberam atualiza- nos detalhes. Quem planeja criar um sistema de segurança
ções de software todas as semanas, o modelo antigo não que de fato será usado aprenderá tnuito com os conselhos
fu ncionou ruais. Nesse artigo, Anderson discute este e práticos oferecidos nesse capítulo.
556 Redes de computadores

Schneier, Secrets and Lies and Sensing", IEEE Co1nputer, vol. 52, p. 16-24,jul.
Se você leu C1yptography Engineering do começo ao 2019.
fun, saberá tudo o que deve sobre algoritmos criptográfi-
cos. Se em seguida você fizer o 1nesmo co1n Secrets and ALTAM INI, S. e SHIRMOHAMMADI, S. "Client-server
Lies (o que leva muito menos tempo), aprenderá que a his- Cooperative and Fair DASH Yideo Streaming", Proc.
tória não acaba nos algoritinos criptográficos. A 1naioria 29th Workshop on Network and Operating Syste1n
dos pontos fracos na segurança não se deve a algorit1nos Support for Digital Audio and Vídeo, ACM, p. 1- 6,
con1 falhas ne1n mes1no a chaves muito curtas, mas a fa lhas jun. 2019.
no ambiente de segurança. Para uma discussão não técnica
e fascinante sobre segurança de con1putadores em sentido ANDERSON, C. The Long .Tail: Why the Future of Busi-
mais a1nplo, essa é uma leitura n1uito boa. ness is Selling Less of More, 2. ed., revista e atuali-
zada, Nova York: Hyperion, 2008a.
Skoudis e Liston, Counter Hack Reloaded, 2.ed.
A melhor maneira de parar um hacker é pensar como ANDERSON, R.J. "Making Security Sustainable", Coni-
um. O livro 1nostra como os hackers veem urna rede e argu- 1111111. ofthe ACM, vol. 6 l , p. 24-25, mar. 2018.
menta que a segurança deve ser un1a função do projeto da
rede inteira, e não uma reflexão posterior, baseada em uma ANDERSON, R.J . Security Engineering: A Guide to Buil-
tecnologia específica. Ele aborda quase todos os ataques ding Dependable Distributed Systems, 2. ed., Nova
comuns, incluindo os tipos como a "engenharia social" que York: John Wiley & Sons, 2008b.
tiram proveito de usuários incautos, que nem sempre estão
ANDERSON, R.J. "Free Speech Online and Oftline'',
familiarizados com 1nedidas de segurança do con1putador.
lEEE Co1nputer, vol. 25, p. 28-30, jun. 2002.
Ye et ai., "A Survey on Malware Detection Usiug Data
Mining Techniques" ANDERSON, R.J. "The Eternity Service'', Proc. Prago-
O 1nalware está em toda a parte, e quase todos os c1ypt Cof!f, CTU Publishing House, p. 242- 252, 1996.
con1putadores executam software antivírus e antimalware.
ANDREWS, J.G., BUZZO, S., C HOI, W., HANLY, S.V.,
Como os fornecedores desses programas detectam e classi-
LOZANO, A., SOONG, A.C.K. e ZHANG, J.C.
fican1 o malware? Esse artigo de pesquisa examina os seto-
"What Will 5G Be?'', IEEE J. on Selected Areas in
res de malware e antimalware e como o malware pode ser
Co1nn1un., vol. 32, p. l 065- 1082, jun. 2014.
detectada pela mineração de dados (data mining).
ANTONAKAKIS, M ., PERDISC I, R., DAGON, D.,
LEE, W. e F EAMSTER, N. "Building a Dynamic
Reputation System for DNS", USENJX Security Syni-
9.2 REFERÊNCIAS posüun, p. 273-290, 2010.
ABRAMSON, N. "Internet Access Using YSATs", IEEE
APTHORPE, N., HUANG, D., R E I SMAN D.,
Commun. Magazine, vol. 38, p. 60-68, jul. 2000.
NARAYANAN, A. e FEAMSTER, N. "Keeping the
ADAR, E. e H UBERMAN, B.A. "Free Riding on Gnu- Srnart Home Private with Smart(er) Traffic Shaping",
tella", First Monday, out. 2000. Proceedings on Privacy Enhancing Technologies,
p. 128-48, 2019.
ABMED, A., SHAFIQ, Z., HARKEERAT, B. e
KHAKPOUR, A. "Suffering fron1 Buffering? Detece ASHRAF, Z. Virtual Private Networks in Theo1y and Prac-
ting QoE I1npairments in Live Vídeo Strea1ns'', lnt'l tice, Munique: Grin Yerlag, 2018.
Conf. 011 NetworkProtocols, lEEE, 2017.
ATENCIO, L. The Joy of JavaScript, Shelter Tsland, NY:
AHSAN, A., MCQUISTIN, S.M., PERKINS, e. e OTT, Manning Publ ications, 2020.
J. "DASHing Towards Hollywood", Proc. Ninth ACM
Multilnedia Systems Conf, ACM, p. 1- 12, 2018. AXELSSON, S. "The Base-rate Fallacy and It's Implica-
tions of the Difficulty of Jntrusion Detection'', Proc.
ALLMAN, M. e PAXSO N, V. "On Estimating End-to- Conf. 011 Co111puter and Con1n1un. Security, ACM,
-End Network Path Properties", Proc. SIGCOMM '99 p. 1-7, 1999.
Conf., ACM, p. 263- 274, 1999.
BAASE, S. e HE.N RY, T. A Gift of Fire: Social, Legal,
ALLOULAH, M. e HUANG, H. "Future Millimeter-Wave and Ethical lssues for Co1nputing Technology, 5. ed.,
Indoor Systems: A Blueprint for Joint Conununication Upper Saddle Ri ver, NJ: Pearson Education, 2017.
Capítulo 9 • Leituras recomendadas e referências 557

BALLARDIE, T., FRANCIS, P. e CROWCROFT, J. Int '/ Cryptology Conf:, Springer-Verlag LNCS 1294,
"Core Based Trees (CBT)", Proc. SIGCOMM '93 p.513- 525, 1997.
COI!{, ACM, p. 85- 95, 1993.
BJNG, B. Wi-Fi Technologies and Applications, Seattle:
BARAN, P. "On Distributed Com1nunications: I. Introduc- Amazon, 2017.
tion to Distributed Communication Networks", Memo-
randum RM-420-PR, Rand Corporation, ago. 1964. BJRD, R., GOPAL, I., HERZBERG, A., JANSON, P.A.,
KUTTEN, S., MOLVA, R. e YUNG, M. "Syste1natic
BASU, S., SUNDARRAJAN, A., GHADERTI, J., Design of a Family of Attack-Resistant Authentication
SHAKKOTTAI, S. e SITARAMAN, R. "Adaptive Protocols", JEEE J. on Selected Areas in Co111mu11.,
TTL-Based Caching for Content Delivery", IEEE/ vol. 11 , p. 679-693,jun. 1993.
ACM Trans. on Net1vorki11g, vol. 26, p. 1063- 1077,
jun. 2018. BJRRELL, A.D. e NELSON, B.J. "Iinplementing Re1note
Procedure Calls", A CM Trans. 011 Computer Systems,
BELLMAN, R.E. Dynamic Progra1nming, Princeton, NJ: vol. 2, p. 39-59, fev. 1984.
Princeton University Press, 1957.
BIRYUKOV, A., SHAMIR, A. e WAGNER, D. "Real
BELLOVlN, S. "Tbe Security Flag in tbe 1Pv4 Header'', Time Cryptanalysis of AS/ ! on a PC", Proc. Seventh
RFC 3514, abr. 2003. Int'l Workshop on Fast Software Enc1yption, Springer-
-Verlag LNCS 1978, p. 1-8, 2000.
BELSNES, D. "Flow Control in the Packet Switching Net-
works", Conunun. Networks, Uxbridge, England: On- BISCHOF, Z., BUSTAMANTE, F. e FEAMSTER,
line, p. 349-361, 1975. N. "Characterizing and In1proving the Reliability
of Broadband Internet Access", The 46th Research
BENNET, C.H. e BRASSARD, G. "Quantum Cryptogra- Conf on Commun., In,forn1ation, and Internet Policy
phy: Public Key Distribution and Coin Tossing", Proc. (TPRC), SSRN, 2018.
Int 'l Conf on Coniputer Systems and Signal Proces-
sing, p. 175- 179, 1984. BOCCARDI, F., HEATH, R.W., LOZANO, A.,
MARZETTA, T.L. e POPOVSKJ, P. "Five DisrupD
BERESFORD, A. e STAJ ANO, F. "Location Privacy in tive Tecbnology Directions for 50", JEEE Co1n1nun.
Pervasive Con1puting", IEEE Pervasive Cotnputing, Magazine, vol. 52, p. 74-80, fev. 2014.
vol. 2, p. 46-55, jan. 2003 .
BOGGS, D., MOGUL, J. e KENT, C. "Measured Capacity
BERNAL, P. Thefnternet, Warts andALI, Cambridge, U.K. : of an Ethernet: Myths and Reality", Proc. SIGCOMM
Carnbridge University Press, 2018. '88 Conf, ACM, p. 222- 234, 1988.

BERNASCHI, M., CELESTINI, A., GUARINO, S., BORISOV, N., GOLDBERG, 1. e WAGNER, D. "lnter-
LOMBARDI, F. e MASTROSTEFANO, E. "Spiders cepting Mobile Communications: The lnsecurity of
Like Onions: on the Network ofTor Hidden Services", 802.11 ", Seventh Jnt '! Conf on Mobile Co1npuling and
Proc. World Wide Web Conf, ACM, p. 105- 115, 1naio Networking, ACM, p. 180- 188, 2001.
2019.
BOSSHART, P., DALY, D., GIBB, G., IZZARD, M.,
BERNERS-LEE, T., CAILLIAU, A., LOUTONEN, A., MCKEOWN, N., REXFORD, J. e WALKER, D.
NIELSEN, H.F. e SECRET, A. "The World Wide "P4: Progran1ming Protocol-Independent Packet Pro-
Web", Conimun. oftheACM, vol. 37, p. 76- 82, ago. cessors", Cotnputer Commun. Review, vol. 44, p. 87-
1994. 95, abr., 2014.

BERTSEKAS, D. e GALLAGER, R. Data Networks, BOSSHART, P., GlBB, G., KIM, H.-S., VARGBESE,
2. ed., Upper Saddle River, NJ: Prentice Hall, 1992. G., MCKEOWN, N., l ZZARD, M., MUJICA, F. e
HOROWITZ, M. "Forwarding Metamorphosis: Fast
BHAT'rI, S.N. e CROWCROFT, J. "QoS Sensitive Programmable Match-Action Processing in Hardware
Flows: Issues in 1P Packet Handling", JEEE internet for SDN", Computer Commun. Review, vol. 43, p. 99-
Computing, vol. 4, p. 48-57, jul./ago. 2000. 110, abr., 2013.

BIHAM, E. e SHAMIR, A. "Differential Fault Analy- BRADEN, R. "Requirements for Inten1et Hosts- Communi-
sis of Secret Key Cryptosystems", Proc. 17th Ann. cation Layers", RFC 1122, out. 1989.
558 Redes de computadores

BRADEN, R., BORMAN, D. e PARTRIDGE, C. "Con1- Second Int 'I Co1if. on Vision, Irnage, and Signal Pro-
puting the Internet Checksum", RFC 107 l, set. 1988. cessing, ACM, Art. 54, 2018.

BRES.LAU, L., CAO, P., FAN, L., PHJLLJPS, G. e CHEN, S. e NAHRSTEDT, K. "An Overview of QoS
SHENKER, S. " Web Caching and Zipflike Distribu- Routing for Next-Generation Networks'', IEEE Ne-
tions: Evidence and Implications'', Proc. JNFOCOM twork Magazine, vol. 12, p. 64-69, nov./dez. 1998.
Co1if.,IEEE, p.126-134, 1999.
CHEN, X., FEIBISH, S., KORAL, Y., REXFORD, J .,
BRONZINO, F., SCHMITT, P., AYOUBI, S., MARTINS, ROTTENSTREICH, O., MONETTI, S., WANG,
G., TEIXEIRA, R. e FEAMSTER, N. "Inferring T. "Fine-Grained Queue Measure1nent in the Data Pla-
Stream ing Video Qual ity from Encrypted Traffic: ne", CoNext, ACM, dez. 2019.
Practical Models and Deployment Experience", ACM
SJGMETRICS, 2020. CHIU, D. e JAIN, R. "Analysis ofthe Increase and Decrea-
se Algorith1us for Congestion Avoidance in Computer
BUSH, V. "As We May Think", Atlantic Monthly, vol. 176, Networks", Cornput. Netw. ISDN Syst., vol. 17, p. 1-4,
p. 10 1- 108,jul. 1945. jun. 1989.
CALDER, M., FAN, X., H U, Z., KATZ-BASSETT, E.,
CLANCY, T.C., MCGWIER, R.W. e CHEN, L. "Post-
HEIDEMANN, J. e GOVINDAN, R. "Mapping
-Quantum Cryptography and 5G Security: A Tutorial",
tbe Expansion of Google's Serving Infrastructure'',
Proc. WiSec, ACM, p. 285- 287, 2019.
ACM SIGCOMM Internet Measure111ent Conf, ACM,
p. 313- 326, 2013. CLARK, D.D. "The Design Philosophy ofthe DARPA In-
ternet Protocols", Proc. SIGCOMM '88 Conf, ACM,
CAPETANAKIS, J.I. "Tree Algorith1ns for Packet Broad-
p. 106- 114, 1988.
cast Channels", IEEE Trans. on Infor1nalion Theory,
vol. IT-5, p. 505- 515, set. 1979. CLARK, D.D. "Window and Acknowledgement Strategy
in TCP", RFC 813, jul. 1982.
CASADO, M., FREEDMAN, M.J., PETIT, J., LUO, J.,
M CKEOWN, N. e SCHENKER, S. "Ethane: Taking
CLARK, D.D., JACOBSON, V., ROMKEY, J. e
Control of the Enterprise'', Proc. SIGCOMM 2007
SALWEN, H. "An Analysis of TCP Processing
Coef., ACM, p. 1- 12, 2007.
Overhead'', IEEE Comn1un. Magazine, vol. 27, p. 23-
CASTAGNOLI, G., BRAUER, S. e HERRMANN, M. 29, jun. 1989.
"Opti1nization of Cyclic Redundancy-Check Codes
CLARK, D.D., SHENKER, S. e ZHANG, L. "Suppor-
with 24 and 32 Parity Bits", IEEE Trans. on Co1111nu11.,
ting Real-Time Applications in an Integrated Services
vol. 41, p. 883-892,jun. 1993.
Packet Network", Proc. SIGCOMM '92 Conf , ACM,
CERF, V. e KAHN, R. "A Protocol for Packet Network p. 14-26, 1992.
lnterconnection'', JEEE Trans. on Co1n1nun., vol.
CLARKE, A.C. "Extra-Terrestrial Relays", Wireless World,
COM-2, p. 637- 648, 1naio 1974.
1945.
C HAKRABORTY, T., MI SRA, S. e PRASAD, R. Vof P
Technology: Applicalions and Challenges, Berlin: CLARKE, 1., MILLE R, S.G., HONG, T.W. ,
Springer, 2019. SANDB.E RG, O. e WILEY, B. "Protecting Free Ex-
pression Online with Freenet", JEEE Internet Cornpu-
CHANG, F., DEAN, J., GHE MAWA T, S., HSIEH, W., ting, vol. 6, p. 40-49,jan./fev. 2002.
WALLACH, D., BURROWS, M., CHANDRA, T.,
FIKES, A. e GRUBER, R. "Bigtable: A Distributed CODlNG, M JavaScriptfor Beginners, Seattle: A1nazon,
Storage System for Structured Data", Proc. OSDI 2019.
2006 Sy1np. , USENIX , p. 15-29, 2006.
COHEN, B. "Incentives Build Robustness in BitTorrent",
CRASE, J.S., GALLATIN, A.J. e YOCUM, K.G. "End Proc. First Workshop on Economics ofºPeer-to-Peer
System Optim izations for HighSpeed TCP", IEEE Systen1s, jun. 2003.
Co1n1nu11. Magazine, vol. 39, p. 68-75, abr. 2001.
COLBACH, B. Bluetooth Tutorial: Design, Protocol and
CHAUDHARY, A e CHAUBE, M .K. "Hiding MP3 in Specifications for BLE - Bluetooth low Energy 4.0
Colour Image Using Whale Optimization", Proc. and Bluetooth 5, Seattle: A1uazon Kindle, 2019.
Capítulo 9 • Leituras recomendadas e referências 559

COMER, D.E. The Internet Book, 4a.ed., Upper Saddle Ri- DAY, J.D. e Z IMMERMANN, H. "The OSJ Reference
ver, NJ: Prentice Hall, 2007. Model", Proc. ofºthe TEEE, vol. 71, p. 1334-1340, dez.
1983.
COMER, D.E. lnternetworking with TCPllP, vol. 1, 6. ed.,
Upper Saddle River, NJ: Prentice Hall, 2013. DE MARCO, G. e KOWALSKI, D. "Contention Resolu-
tion in a Nonsynchronized Multiple Access Channel",
CRAVE R, S.A., W U, M., Ll U, B., ST UBBLEFIELD, J. of Theoretical Co1nputer Science, vol. 689, p. 1- 13,
A., SWARTZLANDE R, B., WALLACH, D.W., ago. 2017.
DEAN, D. e FELTEN, E.W. "Reading Between the
Lines: Lessons fro1n the SDMT Challenge", Proc. l Oth DEAN, J . e GHEMAWA T, S. "MapReduce: a Flexible
USENIX Security Sy111p., USENIX, 200 1. Data Processing Too!", Conimun. o,(the ACM, vol. 53,
p. 72- 77, jan. 2008.
CROCKER, S.D. "The Arpanet and lts lmpact on the State
of Networking", IEEE Conzputer, vol. 52, p. 14- 23, DEERI NG, S.E. "SIP: Simple Internet Protocol", IEEE
out. 2019. NetworkMagazine, vol. 7, p.16-28, maio/jun. 1993.
C ROVELLA, M . e KRISH NAMURTHY, B. Internet DEERING, S.E. e CHERITON, D. "Multicast Routing
Measure1nent, Nova York: John Wiley & Sons, 2006. in Datagram Networks and Extended LANs'', ACM
Trans. on Con1puter Systems, vol. 8, p. 85-11 O, Lnaio
CUEVAS, R., KRYCZKA, M., G INZAL EZ, R.,
1990.
CUEVAS, A. e AZCORRZ, A. "Ton·entGuard: Stop-
ping Scam and Malware Distribution in the BitTorrent DEMERS, A., KESHAV, S. e SHENKER, S. "Analysis
Ecosystem", Com.puter Networks, vol. 59, p. 77-90, and Simulation of a Fair Queueing Algorithm", lnter-
2014. network: Research and Experience, vol. 1, p. 3- 26,
set. 1990.
DAEMEN, J. e RIJMEN, V. The Design of Rijndael,
Berlin: Springer-Yerlag, 2002. DENNING, D.E. e SACCO, G.M. "Timesta1nps in Key
DAGON, D., ANTONAKA KJS, M., VIXIE, P., JINMEI, Distribution Protocols", Co1nnlt112. o.fthe A CM, vol. 24,
T. e LEE, W. "Increased DNS Forgery Resistan- p. 533- 536, ago. 1981.
ce Througb Ox20-bit Encoding", Proceedings oj· the DIFFIE, W. e HEL LMAN, M.E. "Exhaustive Cryptanaly-
15th A Ci'vf Co1?f on Con1puter and Conunun. Security,
sis of the NBS Data Encryption Standard'', IEEE Com-
ACM, p. 211 - 222, 2008. puter, vol. 10, p. 74-84, jun. 1977.
DALAL, Y. e MET CALFE, R. "Reverse Path Forwarding
DIFFIE, W. e HELLMAN, M .E. "New Directions in
ofBroadcast Packets'', Co1n1nun. ofºthe ACM, vol. 21,
Cryptograpby'', IEEE Trans. on lnfor1nation Theory,
p. l 040- 1048, dez. 1978.
vol. lT-2, p. 644-654, nov. 1976.
DAN, K., KITAGAW A, N., SAKURABA, S. e YAMAI,
DIJKSTRA, E.W. "A Note on Two Problems in Connexioa
N. "Spam Don1ain Detection Method Using Active
with Graphs", Num.er. Math., vol. 1, p. 269- 271 , out.
DNS Data and E-Mail Reception Log", Proc. 43rd
1959.
Computer Softw. and Appl. Coef., IEEE, p. 896- 899,
20 19. DIZ DAREVI C, J ., CARPIO, D., J UK AN, A. e
MASIP-BRUIN, X. "A Survey of Com1nunication
DAVIE, B. e FARREL, A. MPLS: Next Steps, San Francis-
Protocols for Internet ofThings and Related Challen-
co: Morgan Kauftnann, 2008.
ges ofFog and Cloud Computing Integration", ACM
DAVIE, B. e R EKHTER, Y. MPLS Technology and Co1nputingSurveys, vol. 51 , Art. 116,jan. 2019.
Applications, San Francisco: Morgan Kaufmann, 2000.
DONAHOO, M. e CALVERT, K. TCPllP Sockets in C,
DAVIES, J . Understanding 1Pv6, 2. ed., Redmond, WA: 2. ed., San Francisco: Morgan Kauftnann, 2009.
Microsoft Press, 2008.
DONAHOO, M. e CALVERT, K. TCPllP Sockets in Java,
DAVIS, J. W!fi Technology: Advances and Applications, 2. ed., San Francisco: Morgan Kauftnann, 2008.
Nova York: NY Research Press, 2018.
DORFMAN, R. "Detection of Defective Members of a
DAY, J .D. "Tbe (Un)Revised OSI Reference Model", Com- Large Population'', Annals Math. Statistics, voL 14,
puter Convnun. Rev., vol. 25, p. 39- 55, out. 1995. p. 436-440, 1943.
560 Redes de computadores

DU, W. Co1nputer & Internet Security: A Hands-onApproach, FLUHRER, S., MANTIN, J. e SHAMIR, A. "Weakness in
2. ed., Seattle: Arnazon, 2019. the Key Scheduling Algorithn1 of RC4", Proc. Eighth
Ann. Workshop 011 Selected Areas in C1yptography,
DUTCHER, B. The NAT Handbook, Nova York: John Wi- SpringerYerlag LNCS 2259, p. 1- 24, 2001.
ley & Sons, 2001.
FONTUG NE, R., ABRY, P., FUKUDA, K., VEITCH,
EL GAMAL, T. "A Public-Key Cryptosystern and a Sig- D., BORGNAT, P. e WENDT, H. "Scaling in lnter-
nature Sche1ne Based on Discrete Logarith1ns", !EEE net Traffic: A 14 Year and 3 Day Longitudinal Study,
Trans. on Jn_formation Theo1y, vol. IT-1, p. 469-472, With Multiscale Analyses and Random Projections",
jul. 1985. IEEEIACM Trans. on Networking, vol. 25, p. 2152-
2165, ago. 2017.
ESPOSITO, V. C1yptography for Beginners: a Usefi1l Sup-
port_for Understanding, Seattle: AJnazon Digital Ser- FORD, B. "Structured Strea1ns: A New Transport Abstrac-
vices, 2018. tion", Proc. SJGCOMM 2007 Conf, ACM, p. 361-
FALL, K. "A Delay-Tolerant Network Architecture for 372, 2007.
Challenged Internets", Proc. SIGCOMM 2003 Conf.,
FORD, L.R., J r. e FULKERSON, D.R. Flows in Net-
ACM, p. 27- 34, ago. 2003.
tvorks, Princeton, NJ: Princeton University Press,
FAWAZ, K. e SHlN, K. G. "Security and Privacy in the In- 1962.
ternet of Things", IEEE Co1nputer, vol. 52, p. 40-49,
FORD, W. e BAUM, M.S. Secure Electronic Conunerce,
abr. 2019.
Upper Saddle River, NJ: Prentice Hall, 2000.
FEAMSTER, N., BALAKRJS HNAN , H.., RE XF ORD,
FORNEY, G.D. "The Yiterbi Algorithm", Proc. of the
J., SHAIKH,A. e VAN DER MERWE, J. "The Case
IEEE, vol. 61, p. 268-278, mar. 1973.
for Separating Routing frorn Routers", Proc. SIG-
COMM Workshop 011 Future Directions in Network FOST ER, N., HARRI SON, R., FREEDMAN, M.,
Architecture, ACM, p. 5- 12, 2004.
MONSANTO, C., REXFORD, J ., STORY, A. e
FEAMSTER, N. e LIVINGOOD, J . "Internet Speed Mea- WALK_ER, O.. "Frenetic: A Network Progra1nming
surement: Current Challenges and Future Recorrunen- Language", ACM Sigplan Notices, vol. 46, p. 279-291,
dations'', Co1nnn111. of"the ACM, ACM, 2020. set. 20 11.

FEAMSTER, N., REXFORD, J . e ZE GURA, E. "The FRANCIS, P. "A Near-Tern1 Architecture for Deploying
Road to SDN", ACM Queue, vol. 11, p. 20, dez. 2013. Pip", IEEE Network Magazine, vol. 7, p. 30- 37, mai ./
jun. 1993.
FENNER, B., HANDLEY, M., HOLBROOK, H . e
KOUVELAS, J. "Protocol Independent Multicast- FRASER, A.G . "Towards a Universal .Data Transport
-Sparse Mode (PlM-SM)", RFC 4601 , ago. 2006. System", !EEE J. on Selected Areas in Co1nmun.,
vol. 5, p. 803-816, nov. 1983.
FERGUSON, N., SCHNEIER, B. e KOHNO, T. Crypto-
graphy Engineering: Design Principies and Practica/ FRIDRICH, J. Steganography in Digital Media: Princi-
Applications, Nova York: John Wiley & Sons, 2010. pies, Algorith111s, and Applications, Cambridge: Cam-
bridge University Press, 2009.
FLETCHER, J. "An Arithmetic Checksum for Serial Trans-
1nissions", IEEE Trans. on Co1nmun. , vol. COM-O, FULLER, V. e LI, T. "Classless Inter-domain Routing
p. 247- 252, jan. 1982. (CIDR): The Internet Address Assignment and Aggre-
gation Plan", RFC 4632, ago. 2006.
FLOYD, S., HANDLEY, M., PADHYE, J . e WIDMER,
J. "Equation-Based Congestion Control for Unicast GALLAGHER, R.G. "A Minimum Delay Routing Algori-
Applications", Proc. SIGCOMM 2000 Conf, ACM, thm Using Distributed Computation", IEEE Trans. on
p.43- 56,ago.2000. Conunun., vol. COM-5, p. 73- 85, jan. 1977.

FLOYD, S. e JACOBSON, V. " Randon1 Early Detection GALLAGHER, R.G. "Low-Density Parity Check Codes",
for Congestion Avoidance", IEEEIACM Trans. on Net- IRE Trans. 011 Inforrnation Theory, vol. 8, p. 21- 28,
working, vol. 1, p. 397-413, ago. 1993. jan. 1962.
Capítulo 9 • Leituras recomendadas e referências 561

GARCIA-LUNA-ACEVES, J. "Carrier-Sense Multiple HAMMING, R.W. "En·or Detecting and Error Con·ecting
Access with Collision Avoidance and Detection", Codes", Bell System Tech. J., vol. 29, p. 147- 160, abr.
Proc. 20th Int '/ Conj: on Modelling, Analysis, and 1950.
Sin1ulatio11 of Wireless and Mobile Syste111s, ACM,
HARTE, L. lntroduction to Cable TV (Catv): Syste1ns, Ser-
p. 53- 61,nov.2017.
vices, Operation, and Technology, Morrisville, NC:
GETTYS, J. "Bufferbloat: Dark Buffers in the Internet", DiscoverNet Publishing, 2017.
IEEE Internet Cotnputing, IEEE, p. 96, 2011. HARTE, L., BROMLEY, B. e DAVIS, M. lntroduction
to CDMA , Fayetteville, NC: Phoenix Global Support,
GILDER, G. "Metcalfe's Law and Legacy", Forbes ASAP, 2012.
set. 13, 1993.
HARTE, L., KELLOGG, S., DREHER, R. e SCHAFF-
GORALSKI, W. The Illustrated Netrvork: How TCPIIP NIT, T. The Comprehensive Guide to Wireless Tech-
Works in a Modern Network, 2. ed., San Francisco: nology, Fuquay-Varina, NC: APDG Publishing, 2000.
Morgan Kaufmann, 2017.
HAWKINS, J. Carrier Ethernet, Hanover, MD: Ciena,
GRAYSON, M., SHATZKAMER, K. e WAINNER, S. 2016.
JP Design for Mobile Net.vorks, lndianapolis, IN: Cis-
HAWLEY, G.T. "Historical Perspectives on the U.S.
co Press, 2009.
Telephone Loop'', !EEE Con1nn111. Magazine, vol. 29,
GROBE, K. e EISELT, M. Wavelength Division Multip/e- p. 24-28, inar. 1991.
xing: A Practical Engineering Guide, Nova York: John HEGARTY, M.T. e KEANE, A,J. Steganography, The
Wiley & Sons, 2013. World o.f Secret Cornm.unications, A1nazon Create-
Space, 2018.
GROBE, K. e ELBERS, J. "PON in Adolescence: From
TDMA to WDM-PON'', JEEE Con1111un. Magazine, HELD, G. A Practical Cuide to Content Delivery Networks,
vol. 46, p. 26-34, jan. 2008. 2. ed., Boca Ratou, FL: CRC Press, 2010.

GROSS, G., KAYCEE, M., LIN, A., MALIS, A. e HEUSSE, M., ROUSSEAU, F., BERGER-SABBATEL,
STEPHENS, J. "The PPP Over AAL5'', RFC 2364, G., DUDA, .A. "Perfonnance Anotnaly of 802.l Lb",
jul. 1998. Proc. INFOCOM Conf., IEEE, p. 836-843, 2003.

GUPTA, A., HARRISON, R., CANINI, M., FEAMSTER, HIERTZ, G., DENTENEER, D., STIBOR, L., ZANG,
Y., COSTA, X. e WALKE, B. "The IEEE 802.11 Uni-
N., REXFORD, J. e WlLLINGER, W. "Sonata:
verse", IEEE Co1nn1un. Magazine, vol. 48, p. 62- 70,
Query-driven Strean1ing Network Tele1netry", Proc.
jan. 201 O.
SIGCOMM 2018 Conf, ACM, p. 357- 371, 2018.
HOE, J. "Improving the Start-up Behavior of a Conges-
HA, S., RHEE, 1. e LISONG, X. "CUBIC: A New TCP- tion Control Scheme for TCP", Proc. SIGCOMM '96
-Friendly High-Speed TCP Variant", S!GOPS Oper. Conj:, ACM, p. 270- 280, 1996.
Syst. Rev., vol. 42, p. 64-74, jun. 2008.
HU, Y. e LI, V.O.K. "Satellite-Based Internet: A Tutorial",
HALLBERG, G Quality oj'Service in Modern Packet Ne- IEEE Co1n1nu11. Magazine, vol. 30, p. 154- 162, mar.
t1'lorks, Seattle: Amazon, 2019. 2001.

HALPERIN, D., HEYDT-BENJAMIN, T., RANSFORD, HUANG, T.Y., JOHARI, R., MCKEOWN, N.,
B., CLARK, S., DEFEND, B., MORGAN, W., FU, TRUNNELL, M. e WATSON, M. "A Buffer-based
K., KOHNO, T. e MAISEL, W. "Pace111akers and Approach to Rate Adaptation: Evidence from a Lar-
l1nplantable Cardiac Defibrillators: Software Radio ge Video Strea1ning Service'', Proc. SJGCOMM 2014
Attacks and Zero-Power Defenses'', JEEE Syrnp. 011 Co1if., ACM, p. 187- 198, 2014.
Security and Privacy, p. 129- 142, 1naio 2008. HUI, R. !ntroduction to Fiber-Optic Co1n111unications,
Londres: Acade1nic Press, 2020.
HALPERIN, D., HU, W., SHETH, A. e WETHERALL,
D. "802.1 1 with Multiple Antennas for Dummies", HUITEMA, C. Routing in the Internet, 2. ed., Upper
Cornputer Co1nn1un. Rev., vol. 40, p. 19-25, jan. 2010. Saddle River, NJ: Prentice Hall, 1999.
562 Redes de computadores

HULL, B., BYCHKOVSKY, V., CHEN, K., KAUFMAN, c.,PERLMAN, R . e SPECINER, M.


GORACZKO, M., MlU, A., SHIH, E., ZHANG, Y., 1Vetwork Security, Upper Saddle River, NJ: Prentice
BALAKRISHNAN, H. e MADDEN, S. "CarTel: A Hall, 2002.
Distributed Mobile Sensor Computing System", Proc.
Sensys 2006 Conf, ACM, p. 125- 138, nov. 2006. KENT, C. e MOG UL , J. "Fragmentation Considered
Harmful", Proc. SIGCOMM '87 Conf, ACM, p. 390-
HUSTON, G. "Tbe Deatb ofTransit and Beyond", 2018. 401, 1987.

IRMER , T. "Sbaping Future Telecommunications: Tbe KHANNA, A. e ZINKY, J. "The Revised ARPANET
Cballenge of Global Standardization", JEEE Conunun. Routi ng Metric", Proc. SIGCOMM '89 Conf., ACM,
Magazine, vol. 32, p. 20-28, jan. 1994. p. 45-56, 1989.

KIM, H ., REICH, J ., GUPTA, A., SHAHBAZ, M.,


JACOBSO N, V. "Co1npressing TCP/ IP Headers for
FEAMSTER, N. e CLARK, R. "K.inetic: Verifia-
Low-Speed Serial Links'', RFC 1144, fev. 1990.
ble Dyna1nic Network Control'', 12th USENIX Sy1n.
JACOBSON, V. "Congestion Avoidance and Control", on Netivorked Systems Design and lmJJlementation,
Proc. SIGCOMM '88 Conf , ACM, p. 314-329, 1988. ACM, p. 59- 72, 2015.

KJN NEAR, E., MCMANUS, P. e WOOD, C "Oblivious


JUANG, P., OKI, H., WANG, Y., MARTONOSI, M.,
DNS over HTTPS", IETF Network Working Group In-
PER, L. e RU BENSTEIN, D. "Energy-Efficient
ternet Draft, 2019.
Computing for Wildlife Tracking: Design Tradeoffs
and Early Experiences with ZebraNet", SIGOPS Oper. KLEINROCK, L. " Power and Other Deterministic Rules
Syst. Rev., vol. 36, p. 96-107, out. 2002. of Thumb for Probabilistic Problems in Co1nputer
Communications", Proc. lnt '/ Conf. on Co111n1un.,
KAMOUN, F. e KLEINROC K, L. "Stochastic Perfor- p. 4 3. 1.1-- 43. l. lo' 1979.
mance Evaluation of Hierarchical Routing for Large
Networks", Co111puter Nefl.vorks, vol. 3, p. 337- 353, KLEI NROCK, L. e TOBAGI, F. "Rando1n Access Tecb-
nov. 1979. niques for Data Trans1nission over Packet-Switched
Radio Channels", Proc. Nat. Computer Cof!f, p. 187-
KARAGIANNIS, V., VENITO, A., COELHO, R., 201, 1975.
BORKOWSKI, M e FOHLER, G. "Edge Compu-
ting witb Peer to Peer lnteractions: Use Cases and Im- KOHLER, E., HANDLEY, H. e FLOYD, S. " Designing
pact'', Proc. Workshop on Fog Coniputing and the JoT, DCCP: Congestion Control without Reliability", Proc.
ACM, p. 46- 50, abr. 2019. SIGCOMM 2006 Conf, ACM, p. 27-38, 2006.

KARN, P. "MACA- A New Channel Access Protocol for KOOPMAN, P. "32-Bit Cyclic Redundancy Codes for In-
Packet Radio'', ARRLICRRL Arnateur Radio Ninth ternet Applications'', Proc. Jntl. Conf. on Dependable
Computer Networking Conf., p. 134-140, 1990. Syste1ns and Networks., IEEE, p. 459-472, 2002.

KRAFT, J e WASHING'fO N, L. An ln.troduction to


KARN, P. e PA.RTRIDGE, C. "hnproving Round-Trip
Nuniber Theo1y with Ctyptography, 2. ed., Londres:
Time Estimates in Reliable Transport Protocols'',
Chapman and Hall, 2018.
ACM SJGCOMM Co,,.1puter Co1nn1un. Revie111, ACM,
p. 2-7, 1987. KUMAR, R. All about Steganography and Detection o/
Stegano Jmages, Riga, Latvia: Lap Lan1bert Acade111ic
KASIM, A. De/ivering Carrier Ethernet: Extending Ether-
Publishing, 2018.
net Beyond the LAN, Nova York: McGraw-Hill, 2008.
KUROSE, J. e ROSS, K Con1puter Networking: A
KATABI, D., HAN DLEY, M. e ROHRS, C. "Conges- Top-Down Approach, 7. ed., Upper Saddle River, NJ:
tion Control for Higb Bandwidtb-Delay Product Net- Pearson, 201 6.
works'', Proc. SJGCOMM 2002 Co1!(, ACM, p. 89-
102, 2002. KUSZYK, A. e HAMMOUDEH, M . "Contemporary
Alternatives to Traditional Processor Design in the
KATZ, D. e FORD, P.S. "TUBA: Replaci ng IP with Post Moore's Law Era", Proc. Second Jnt 'l Conf. on
CLNP", JEEE Network Magazine, vol. 7, p. 38-47, Future Networks and Distributed Systems, ACM, Art.
1nai./jun. 1993. 46, 2018.
Capítulo 9 • Leituras recomendadas e referências 563

LABOVITZ, e., AHUJA, A., BOSE, A. e JAHANIAN, F. MACEDONIA, M.R. "Distributed File Sharing'', IEEE
"Delayed Internet Routing Convergence'', IEEEIACM Computer, vol. 33, p. 99-1O1, 2000.
Trans. on Networking, vol. 9, p. 293-306,jun. 2001.
MALIS, A. e SIMPSON, W. "PPP over SONET/SDH",
LAINO, J. The Telecon1 Handbook, Nova York: CMP RFC 2615, jun. 1999.
Books, 2017.
MANGLA, T., HALEPOVIC, E., AMMAR, M. e
LAM, C.K.M. e TAN, B.C.Y. "The Internet Is Changing ZEGURA, E. "eMIMIC: Estimating HTTP-Based
the Music Industry", Co1n1nun. oj'the ACM, vol. 44, Video QoE Metrics fro1n Encrypted Network Traffic",
p.62-66,ago.2001. Network Traffic Measurenzent and Analysis Conf. ,
IEEE, p. 1- 8, 2018.
LAMPARTER, O., FANG, L., BISC HOFF, J.-
C., RE ITMANN, M., SCHWENDENER , R., MASSEY, J.L. "Shift-Register Synthesis and BCH Deco-
ZASOWSKI, T. "Multi-Gigabit over Copper Access
ding", IEEE Trans. on lnfornzation Theo1·y, vol. lT-5,
p. 122- 127, jan. 1969.
Networks: Architectural Evolution and Techno-Econo-
mic Analysis", IEEE Co1nn1un. Magazine, vol. 57, pp MATSUI, M. "Linear Cryptanalysis Method for DES Ci-
22- 27, ago. 2019. pher", Advances in Cryptology- Euroc1ypt 1993 Pro-
ceedings, Springer-Verlag LNCS 765, p. 386- 397,
LE FEUVR E, J., CONCOLATO, C., BOUZAKARIA,
1994.
N. e NGUYEN, V. "MPEG-DASH for Low Latency
and Hybrid Strea1ning Services", Proc. 23rd Int '/ conf MAZIERES, D. e KAASHOEK, M.F. "Tbe Design, lm-
on Multimedia, ACM, p. 751- 752, jun. 2015. plementation, and Operation of an Email Pseudonyn1
Server'', Proc. Fifth Conf. on Com.puter and Con·1mun.
LEMON, J. "Resisting SYN Flood DOS Attacks with a Security, ACM, p. 27- 36, 1998.
SYN Cache", Proc. BSDCon Conf., USENIX, p. 88-
98, 2002. MCCULLOUGB, B. How the Internet Happened: Fro1n
Netscape to the iPhone, Nova York: Liveright, 2018.
LEVY, S. "Crypto Rebels", Wired, p. 54- 6 1, 111ai./jun. 1993.
MENASCBE, D.S., ROCHA, D.A., ANTONIO, A., LI,
LI, B., WANG, Z., LIU, J. e ZHU, W. "Two Decades ofin- B., TOWSLEY, D. e VENKATARAMANI,A. "Con-
ternet Video Strean1ing: A Retrospective View'', ACM tent Availability and Bundling in Swanning Systems",
Trans. 011 Multünedia Cornputing, vol. 9, Art. 33, out. IEEEIACM Tr ans. 011 Networking, IEEE, p.580-593,
2013. 2013.

LI, M., AGRAWAL, D. , GANESAN , D. e MENEZES, A.J. e VANSTONE, S.A. "Elliptic Curve
VENKATARAMANJ, A. "B lock-Switched Ne- Cryptosysten1s and Their Implementation", Journ.al of
tworks: A New Paradign1 for Wireless Transpor!", Cryptology, vol. 6, p. 209- 224, 1993.
Proc. NSDI 2009 Conf, USENIX, p. 423-436, 2009.
MERKLE, R.C. e HELLMAN, M. "Hiding and Signatu-
LI, Z., LEVIN, D., SPRING, N. e BHATTACHARJEE, res in Trapdoor Knapsacks'', IEEE Trans. 011 lnforn1a-
B. "Internet Anycast: Perfonnance, Problems, and Po- tion Theory, vol. IT-4, p. 525- 530, set. 1978.
tential", Proc. SIGCOMM 2018 Conf, p. 59-73, ago.
METCALFE, R.M. "Metcalfe's Law after 40 Years of
2018. Ethernet", IEEE Co1nputer, vol. 46, p. 26-31, 2013.
LIN, S. e COSTELLO, D. Error Control Coding, 2. ed., METCALFE, R.M. "Computer/Network Interface Design:
Upper Saddle River, NJ: Pearson Education, 2004. Lessons from Arpanet and Ethernet", IEEE J. on
Selected Areas in Conunun., vol. 11, p. 173- 179, fev.
LUBACZ, J., MAZURCZYK, W. e SZCZYPIORSKI, K.
1993.
"Voice over IP, "IEEE Spectru1n, p. 42-47, fev. 201 O.
METCALFE, R.M. e BOGGS, D.R . "Ethernet: Distribu-
MCKEOWN, N., ANDERSON, T., BALAKRJSH NAN, ted Packet Switching for Local Computer Networks",
H., PARULKAR, G., PETERSON, L., REXFORD, Commun. oftheACM, vol. 19, p. 395-404,jul. 1976.
J., SHENKER, S. e TURNER, J. "OpenFlow: Ena-
bling Innovation in Campus Networks'', Co1nputer METZ, C "lnterconnecting ISP Networks'', IEEE Internet
Co1nmun. Review, vol. 38, p. 69-74, abr. 2008. Co1nputing, vol. 5, p. 74-80, mar./abr. 2001.
564 Redes de computadores

MISHRA, P.P., KANAKIA, H. e TRIPATHI, S. "On Hop NUCCI,A. e PAPAGIANNAKJ, D. Design, Measurement
by Hop Rate-Based Congestion Control'', IEEEIACM and Management of Large-Scale IP Networks, Cam-
Trans. on Networking, vol. 4, p. 224-239, abr. 1996. bridge: Can1bridge University Press, 2008.

MITRA, J. e NAYAK, T. "Reconfigurable Very High NUGENT, R ., MUNAKANA, R ., CHIN, A., COELHO,
Throughput Low Latency VLST (FPGA Design Archi- R. e PUIG-SUARI, J. "The CubeSat: The PicoSatelli-
tecture ofCRC 32", lntegration, vol. 56, p. 1- 14,jan. te Standard for Research and Education", Proc. SPA CE
2017. 2008 Conf, AlAA, 2008.

MOGUL, J. "IPNetwork Performance", in Internet Syste1n OLEJN IK, L., CASTELLUCIA, C. e DIAZ, C. "The
Handbook, D.C. Lynch and M.Y. Rose (eds.), Boston: Leaking Battery", Data Privacy Managenient and Se-
Addison-Wesley, p. 575-575 , 1993. curity Assurance Springer, p. 254- 263.

MOGUL, J. e DEERING, S. "Path MTU Discovery", RFC ORAN, D. "OSI IS-IS lntra-domain Routing Protocol",
1191, llOV. 1990. RFC 1142, fev. 1990.

MOGUL, J. e MINSHALL, G. " Rethinking the Nagle OSTERHAGE, W. Wireless Net111ork Security, 2. ed., Boca
Algorithtu", Conzput. Conunun. Rev. , vol. 31, p. 6-20, Raton, FL: CRC Press, 2018.
jan. 2001.
OTWA Y, D. e REES, O. "Efficient and Ti1nely Mutual
MOY, J. "Multicast Routing Extensions for OSPF'', Corn- Authentication'', Operating Systerns Rev. , p. 8- 1O, jan.
mun. ofthe ACM, vol. 37, p. 61-66, ago. 1994. 1987.

MUYCO, S.D. e HERNANDEZ, A.A. "Least Significant PADHYE, J., FIROIU, V., TOWSLEY, D. e KUROSE,
Bit Hash Algorithrn for Digital IInage Watermarking J. "Modeling TCP Throughput: A Simple Model and
Authentication'', Proc. Fijih lnt 'l Conf on Co1nputing Its E1npirical Validation", Proc. SJGCOMM '98 Conf.,
and Art. lntell, ACM, p. 150-154, 2019. ACM, p. 303- 314, 1998.

NAGLE, J. "On Packet Switches with Infinite Storage'', PALMER, M., KRUGER, T., CHANDRASEKARAN,
JEEE Trans. on Conunun. , vol. COM-5, p. 435-438, N. e FELDMANN, A. "The QUIC Fix for Opti1nal Vi-
abr. 1987. deo Streatning", Proc. Workshop 011 Evolutio11, Pe1for-
n1a11ce, and lnteroperability of QUJC, ACM, p. 43-49,
NAGLE, J. "Congestion Control in TCP/IP lntemetworks", dez. 2018.
Con1puter Corn1nun. Rev. , vol. 14, p. 11- 17, out. 1984.
PARAMESWARAN, M., SUSARLA, A. e WHINSTON,
NAUGHTON, J. A Brief History ofthe Future, Woodstock, A.B. "P2P Networking: An lnformation-Sharing Alter-
NY: Overlook Press, 2000. native", IEEE Co1nputer, vol. 34, p. 31 - 38, jul. 2001.

NEEDHAM, R.M. e SCHROEDER, M.D. "Authentica- PAREKH, A. e GALLAGHER, R . "A Generalized Pro-
tion Revisited", Operating Syste1ns Rev. , vol. 21, p. 7, cessor SharingApproach to Flo\.v Control in lntegrated
jan. 1987. Services Networks: The Multiple-Node Case'', JEEE/
ACM Trans. on Networking, vol. 2, p. 137- 150, abr.
NEEDHAM, R .M. e SCHROEDER, M.D. "Using 1994.
Encryption for Authentication in Large Networks of
Computers", Com1nun. ofºthe ACM, vol. 21 , p. 993- PAREKH, A. e GALLAGHER, R. " A Generalized Pro-
999, dez. 1978. cessor SharingApproach to Flow Control in Integrated
Services Networks: The Single-Node Case'', JEEEI
NELAKUDITI, S. e ZHANG, Z.-L. " A Localized Adap- ACM Tra11s. 011 Networking, vol. l , p. 344-357, jun.
tive Proportioning Approach to QoS Routing", IEEE 1993.
Co11unun. Magazine, vol. 40, p. 66-71, jun. 2002.
PARTRIDGE, C., HUGHES, J. e STONE, J. "Perfor-
NIST "Secure Hash Algorith1n" , U .S. Govern1nent Federal 1nance of Checksums and CRCs over Real Data",
lnformation Processing Standard 180, 1993. Proc. S!GCOMM '95 Conf., ACM, p. 68- 76, 1995.

NO.R TON, W.B. The Internet Peering Playbook: Connec- PARTRIDGE, C., MENDEZ, T. e MlLLIKEN, W. "Host
ting to the Core ofºthe Internet, DrPeering Press, 2011. Anycasting Service", RFC 1546, nov. 1993.
Capítulo 9 • Leituras recomendadas e referências 565

PATIL, P., BUBANE, V. e PANDHARE, N. Audio Stega- V. "Do Incentives Build Robustness in BitTorrent?",
nography, Riga, Latvia: Lap Lambert Academic Pu- Proc. NSDI 2007 Conf, USENIX, p. 1- 14, 2007.
blishing, 2019.
PIATEK, M., KOHNO, T. e KRISHNAMURTHY, A.
PAXSON, V. e FLOYD, S. "Wide-Area Traffic: The Fai- "Challenges and Directions for Monitoring P2P Fi le
lure of Poisson Modeling", !EEEIACM Trans. on Net- Sbaring Networks-or Wby My Printer Received a
worf..ing, vol. 3, p. 226-244, jun. 1995. DMCA Takedown Notice", Third Workshop 011 Hot
Topics in Security, USENIX, jul. 2008.
PEARSON, E. Fiber Optic Co1nrnun.ications For Begin-
ners: The Basics, Fiber Optic Assoe., 20 15. POSTEL, J. "Internet Control Message Protocols'', RFC
792, set. 1981.
PERKINS, e.E. RTP: Audio and Video for the Internet,
Boston: Addison-Wesley, 2003. PYLES, J., eARRELL, J.L. e TITTEL, E. Guide to TCPI
IP: IPv6 and f Pv4, 5. ed., Boston: Cengage Leaming,
PERKINS, e.E. "IP Mobility Support for 1Pv4", RFC 2017.
3344, ago. 2002.
QUINLAN, J . e SREENAN, e. "Multi-profile Ultra High
PERKINS, e.E. (ed.) Ad Hoc Networking, Boston: Addi- Definition (U HD) AVC and HEVC 4K DASH Data-
son-Wesley, 2001. sets", Proc. Ninth J\1ultúnedia Systerns Conf, ACM,
p.375- 380,jun.2018.
PERKINS, e.E. Mobile IP Design Principies and Practi-
ces, Upper Saddle River, NJ: Prentice Hall, 1998. RABIN, J. e McCATHIENEVILE, e. "Mobile Web Best
Practices 1.0'', W3C Reco1nn1endation, jul. 2008.
PERKINS, e.E. e ROYER, E. "Tbe Ad Hoc Oo-Demaod
RAMAeH AN DRAN , A., DA S SARM.A , A.,
Distance-Vector Protocol", in Ad Hoc Networking,
FEAMSTER, N. "Bit Store: An Incentive-Compatible
edited by C. Perkins, Boston: Addison-Wesley, 200 l.
Solution for Blocked Downloads in BitTon·ent", Proc.
PERLMAN, R. Interconnections, 2. ed., Boston: Addison- Joint Workshop on Econ. Networked Syst. and Incenti-
-Wesley, 2000. ve-Baseei Co1nputing, 2007.

PERLMAN, R. Network Layer Protocols 'fvith Byzantine RAMAeHANDRAN, S., GRYYA, T., DAPENA, K. e
Robustness, tese de Ph.D., M.I.T., 1988. THOMAS, P. "The Truth about Faster Internet: It's
Not Worth lt'', The Wall Street Journal, p. AI, 2019.
PERLMAN, R. "An Algorith1n for the Distributed Con1pu-
RAMAKRISHNAN, K.K., FLOYD, S. e BLAeK, D.
tation of a Spanning Tree in an Extended LAN", Proc.
"The Addition of Explicit Congestion Notification
SIGCOMM '85 Conf. , ACM, p. 44-53, 1985.
(ECN) to IP", RFC 3168, set. 2001.
PERLMAN, R. e KAUFMA N, e. "Key Exchange in IP- RAMAKRISHNAN, K.K. e JAIN, R. "A Binary Feed-
sec", IEEE Internet Co1nputing, vol. 4, p. 50-56, nov./ back Scheme for Congestion Avoidance in Con1puter
dez. 2000.
Networks with a Connectionless Network Layer'',
PERROS, H.G. Connection-Oriented Networks: SONETI Proc. SIGCOMM '88 Co11;f, ACM, p. 303- 313, 1988.
SDH, ATM, MPLS anel Optical JVetworks, Nova York: RIBEZZO, G., SAMELA, G., PALMJSANO, V., DE
John Wiley & Sons, 2005. e 1eeo, L. e MASeOLO, S. "A DASH Vídeo Strea-
1ning for I1nmersive Contents'', Proc. Ninth Multinze-
PETERSON,L.,ANDERSON, T.,KATTI,S.,McKEOWN,
dia Systems Conf, ACM, p. 525- 528, jun. 2018.
N. PARULKAR, G. , R EXFORD, J. ,
SATYANARAYANAN, M., SUNAY, O. e VAHDAT, RIVEST, R.L. "Tbe MD5 Message-Digest Algoritb1n",
A. " Democratizing the Network Edge", Co1nputer RFC 1320, abr. 1992.
Conunun. Review, vol. 49, p. 3 1- 36, abr. 2019.
RIVEST, R.L., SHAMIR, A. e ADLEMAN, L. "On a
PETERSON, W.W. e BROWN, D.T. "Cyclic Codes for Method for Obtaining Digital Signatures and Public
Error Detection", Proc. IRE, vol. 49, p. 228-235, jan. Key Cryptosysten1s'', Conunun. oj· the A CM, vol. 21,
1961. p. 120-126, fev. 1978.

PTATEK, M., I SDAL, T., ANDERSON, T. , ROBERTS, L.G. "Extensions of Packet Con1munication
KRISHNAMURTHY, A. e VENKATARAMANI, Technology to a Hand Held Personal Terminal'', Proc.
566 Redes de computadores

Spring Joint Computer Co11:f, AFIPS, p. 295- 298, SHALUNOV, S. e CARLSON, R. "Detecting Duplex Mis-
1972. 1natch on Ethernet'', Passive and Active Network Mea-
surernent, Springer-Verlag LNCS 343 l , p. 3135- 3148,
ROBERTS, L.G. "Multiple Co1nputer Networks and Inter-
2005.
co1nputer Corn1nunication'', Proc. First Symp. on Ope-
rating Syste1ns Prin. , ACM, p. 3.1 - 3.6, 1967. SHANNON, C. "A Mathematical Theory of Communica-
tion'', Bell Syste1n Tech. J., vol. 27, p. 379-423, jul.
ROSE, M.T. The Silnple Book, Upper Saddle River, NJ:
Prentice Hall, 1994. 1948; e p. 623- 656, out. 1948.

ROSE, M.T. The Internet Message, Upper Saddle River, SHREEDHAR, M. e VARGHESE, G. "Efficient Fair
NJ: Prentice Hall, 1993. Queueing Using Deficit Round Robin", Proc. SIG-
COMM '95 Conf,ACM, p. 231 - 243, 1995.
RUIZ-SANCHEZ, M.A. , BIERSACK, E.W. e
DABBOUS, W. "Survey and Taxonomy oflP Address SIGANOS, G., FALOUTSOS, M., FALOUTSOS, P. e
Lookup Algoritl11ns", JEEE Network Magazine, vol. FALOUTSOS, C. "Power Laws and tbe AS-leve! In-
15, p. 8- 23, 1nar./abr. 2001. ternet Topology", IEEEIA CM Trans. on Nenvorking,
vol. 11, p. 514-524, ago. 2003.
SALTZER, J.H., REED, D.P. e CLARK, D.D. "End-to-
-End Argurnents in Systern Design'', ACM Trans. 011 SIMPSON, W. Video Over IP, 2.ed., Burlington, MA:
Computer Syste1ns, vol. 2, p. 277-288, nov. 1984. Focal Press, 2008.
SANTOS, F.R., DA COSTA CORDEIRO, W.L.,
SIMPSON, W. "The Point-to-Point Protocol (PPP)", RFC
GAS PARY, L.P. e BARCELLOS, M.P. "Funnel:
1661 , jul. l 994a.
Choking Polluters in BitTorrent File Sharing Commu-
nities", IEEE Trans. on Network and Service Manage- SIMPSON, W. "PPP in HDLC-like Framing'', RFC 1662,
tnent, vol. 8, p. 310- 321, abr. 2011. jul. l 994b.
SAROIU, S., GUMMADI, K. e GRIBBLE, S. "Measu-
SIU, K. e JATN, R. "A Brief Overview of ATM: Protocol
ring and Analyzing the Characteristics of Napster &
Layers, LAN Emulation, and Traffic", Co1nputer Co1n-
Gnutella Hosts'', Multirn. Syst., vol. 9, p. 170-184,
1nun. Review, vol. 25, p. 6-20, abr. 1995.
ago. 2003.

SCHMITT, P., E DMUNDSON, A., MANKIN, A. e SKOUDIS, E. e LISTON, T. Counter Hack Reloaded,
FEAMSTER, N. "Oblivious DNS: Practical Privacy 2. ed., Upper Saddle River, NJ: Prentice Hall, 2006.
for DNS Queries", Proc. on Privacy Enhancing Tech-
nologies, p. 228- 244, 2019. SM ITH, D.K. e ALEXANDER, R.C. Funibling the Futu-
re, Nova York: William Morrow, 1988.
SCHNEJER, B. Secrets and Lies, Nova York: John Wiley
& Sons, 2004. SOOD, K Kerberos Authentication Protocol: C1yptography
and Network Security, Riga, Latvia: Lap Lan1bertAca-
SCHNORR, C.P. "Efficient Signature Generation for de1nic Publishing, 2012.
Smart Cards", Journal ofC1·yptology, vol. 4, p. 161-
174, 1991. SOTIROV, A., STEVENS, M., APPELBAUM, J.,
LENSTRA, A., MOLNAR, D., OSVIK, D. e DE
SCHWARTZ, M. e ABRAMSON, N. "The AlohaNet: WEGER, B. "MD5 Considered Harmful Today",
Surfing for Wireless Data'', IEEE Con1rnun. Magazine,
Proc. 25th Chaos Conunun. Congress, Verlag Art
vol. 47, p. 21-25, dez. 2009.
d' Ameublement, 2008.
SENN, J.A. "The Emergence of M-Commerce'', IEEE
SOUTHEY, R. The Doctors, Londres: Longman, Brown,
Co1nputer, vol. 33, p. 148- 150, dez. 2000.
Green and Longmans, 1848.
SEVERANCE, C.R. lntroduction to Networking: How the
Internet Works, Amazon CreateSpace, 2015. SPURGEON, C. e ZTMMERMAN, A. Ethernet: The De-
.finitive Guide, 2. ed., Sebastapol, CA: O'Reilly, 2014.
SHAIKH, A., REXFORD, J. e SHIN, K. "Load-Sensitive
Routing of Long-Lived lP Flows", Proc. SIGCOMM STALLINGS, W. Data and Cornputer Co1n111un., lOa.ed.,
'99 Conj.", ACM, p. 215- 226, set. 1999. Upper Saddle Ri ver, NJ: Pearson Education, 2013.
Capítulo 9 • Leituras recomendadas e referências 567

STAPLETON, J. e EPSTEIN, W.C. Security without Obs- TUCHMAN, W. "Hellman Presents No Shortcut Solutions
curity: A Cuide to PKT Operations, Boca Raton, FL: to DES", TEEE Spectru1n, vol. 16, p. 40-41,jul. 1979.
CRC Press, 2016.
TURNER , J .S. " New Directions in Co1nmunications
STEVENS, W.R. TCP!IP lllustrated: The Protocols, (or Which Way to the Inforn1ation Age)'', IEEE
Boston: Addison Wesley, 1994. Co1nmu11. Magazine, vol. 24, p. 8-15, out. 1986.
STEVENS, W.R., FENNER, B. e RUDOFF, A.M. UNIX VANHOEF, M. e PIESSENS, F "Key Reinstallation
Network Progra1nming: The Sockets Network API, Attacks: Forcing Nonce Reuse in WPA2'', Proc. 2017
Boston: Addison-Wesley, 2004. SIGSAC Conf on Cornputer and Co1111nun. Security,
STOCKMAN, G.-J. e COOMANS, W. "Fiber to tbe Tap: ACM, p. 13 13- 1328, 2017.
Pushing Coaxial Cable Networks to Their Limits",
VARGHESE, G. Network Algorithnúcs, San Francisco:
IEEE Co1nrnun. Magazine, vol. 57, p. 34- 39, ago.
Morgan Kauftnann, 2004.
2019.
VARGHESE, G. e LAUCK, T. "Hasbed and Hierarchical
STUBBLEFIELD, A., IOANNIDIS, J . e RUBIN, A.D.
"Using the Fluhrer, Mantin, and Shamir Attack to Timing Wheels: Data Structures for the Efficient Im-
Break WEP", Proc. Network and Distributed Systems plementation of a Timer Facility", Proc. 11 th Sy1np. on
Security Symp., ISOC, p. 1- 11, 2002. Operating Systenzs Prin., ACM, p. 25- 38, 1987.

STUTTARD, D. e PINTO, M. The Web Application VERIZON BUSINESS 2009 Data Breach. Investigations
flacker 's Handbook, Nova York: John Wiley & Sons, Report, Yerizon, 2009.
2007.
VITERBI,A. CDMA: Principies ofSpread Spectru1n Co1n-
SU, S. The UMTS Air Interface in RF Engineering, Nova n1unication, Upper Saddle River, NJ: Prentice Hall,
York: McGraw-Hill, 2007. 1995.

SUN, S., MKWAW A, I.H., JAMMEH, E. e IFEACHOR, WAITZMAN, D., PARTRIDGE, C. e DEERING, S.
E. Guide to Voice and Video over IP: For Fixed and "Distance Yector Multicast Routing Protocol'', RFC
Mobile Networks, Berlin: Springer, 2015. 1075, nov. 1988.

SUNDARESAN, S., De DONATO, W., FEAMSTER, WALDMAN, M., RUBIN, A.D. e CRA NOR, L.F. "Pu-
N., TEIXEIRA, R., CRAWFORD, S. e PESCAPE, blius: A Robust, Tan1per-Evident, Censorship-Resis-
A. "Broadband lnternet Performance: A View from tant Web Publishing System'', Proc. Ninlh USENlX
tbe Gateway", Proc. SIGCOMA-1 2011 Conf., ACM, Security Syn1p., USENIX, p. 59- 72, 2000.
p. 134-145, 2011.
WALTERS, R Spread Spectrun1: Hedy Lanzarr and the
SUNSHINE, C.A. e DALAL, Y.K. "Connection Mana- Mobile Phone, Kindle, 2013.
gen1ent in Transport Protocols", Cornputer Nenvorks,
vol. 2, p. 454-473, 1978. WANG, B. e REN, F. "lmproving Robustness of DASH
Against Network Uncertainty", 2019 lnt'l Co11;f. on
SWAMI, R., DAVE, M. e RANGA, V. "Software-defined
Multünedia and Expo, IEEE, p. 448-753, jul. 2019.
Networking-based DDoS Defense Mechanisms",
ACM Computing Surveys, vol. 52, Art. 28, abr. 2019. WANG, Z. e CROWCROFT, J. "SEAL Detects Cell Mi-
TAN, K., SONG, J., ZHANG, Q. e SRIDHARN, M. "A sordering'', IEEE Network Magazine, vol. 6, p. 8- 9,
Compound TCP Approach for High-Speed and Long jul. 1992.
Distance Networks", Proc. INFOCOM Conf, IEEE,
WARNEKE, B., LAST, M., LIEBOWITZ, B. e PISTER,
p. 1-12, 2006.
K.S.J. "Smart Dust: Co1n1nunicating with a Cubic
TANENBAUM, A.S. e BOS, H. Modern Operating Sys- Millimeter Computer", IEEE Con1puter, vol. 34,
te1ns, 4. ed., Upper Saddle River, NJ: Prentice Hall, p. 44-51, jan. 2001.
2015.
WEI, D., CHENG, J., LOW, S. e HEGDE, S. "FAST
TOMLINSON, R.S. "Selecting Sequence Numbers", TCP: Motivation, Architecture, Algoritbms, Perfor-
Proc. SlGCOMM!SIGOPS ln1e1process Conunun. 1nance", !EEE/ACM Trans. 011 Networking, vol. 14,
Workshop,ACM, p. 11- 23, 1975. p. 1246- 1259, dez.2006.
568 Redes de computadores

WEISER, M. "The Computer for the Twenty-First Cen- YU, T., HARTMAN, S. e RAEBURN, K. "The Perils of
tury'', Scientiflc American, vol. 265, p. 94-104, set. Unauthenticated Encryption: Kerberos Version 4",
1991. Proc. NDSS Symposiun1., Internet Society, fev. 2004.

WITTENBURG, N. Understanding Voice Over IP Teclz- YUVAL, G. "How to Swindle Rabin", Cryptologia, vol. 3,
nology, Clifton Park, NY: Deln1ar Cengage Leaming, p. 187-190,jul. 1979.
2009.
ZHANG, Y., BRESLAU, L., PAXSON, V. e SHENKER,
WOOD, L., IVANCIC, W., EDDY, W., STEWART, S. "On the Characteristics and Origins oflntemet Flow
D., NORTHAM, J., JACKSON, e. e DA SILVA Rates", Proc. SJGCOJ\1M 2002 Conf, ACM, p. 309-
CURIEL, A. "Use of the Delay-Tolerant Networking 322, 2002.
Bundle Protocol from Space'', Proc. 59th lnt 'l Astro-
nautical Congress, Int'l Astronautical Federation, ZHANG, Y., YUAN, X. e TZENG, N.-F. "Pseudo-Ho-
p.3123- 3133,2008. neypot: Toward Efficient and Scalable Spam Sniffer",
Proc. 49th Int '! Conf on Dependable Systems and flTet-
WU, T. "Network Neutrality, Broadband Discriinination", works, IEEE, p. 435-446, 2019.
Journal on Telecom. and HighTech. Law, vol. 2,
p. 14 1- 179,2003. ZIMMERMANN, P.R. The Official PGP User s Guide,
Cambridge, MA: M.I.T. Press, l995a.
WYLIE , J., BIGRIGG, M.W., STRUNK, J.O. ,
GANGER, G.R., KILICCOTE, H. e KHOSLA, ZIPF, G.K. Hunian Behavior and the Principie of Least
P.K. "Survivable Information Storage Systems", IEEE Ejfort: An Introduction to Hurnan Ecology, Boston:
Cornputer, vol. 33, p. 61- 68, ago. 2000. Addison-Wesley, 1949.

YE, Y., LI, T., ADJEROH, D. e ITENGAR, S.S. "A Sur- ZIV, J. e LEMPEL, Z. "A Universal Algorith1n for Se-
vey on Malware Detection Using Data Mining Techni- quential Data Compression", !EEE Trans. on lnforrna-
ques", ACM Conzputing Surveys, vol. 50, Art. 4 1, jun. tion Theory, vol. IT~3 , p. 337-343, 1naio 1977.
2017.
grupo
> EDUCAÇÃO <

Você também pode gostar