Você está na página 1de 292

Apostila de Fundamentos de

Redes de Computadores
Verso 2.9

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

ndice Analtico
ndice Analtico ....................................................................................................... 2
ndice de Figuras dos Captulos .......................................................................... 10
ndice de Figuras dos Apndices ......................................................................... 14
ndice de Equaes................................................................................................ 15
ndice de Tabelas dos Captulos .......................................................................... 16
Captulo 1 Comunicao de Dados ................................................................... 17
1.1 Conceitos bsicos de Transmisso de dados ...............................................................................17
1.1.1 Sinais ......................................................................................................................................17
1.1.1.1 Sinais Analgicos e Digitais ..........................................................................................17
1.1.1.1.1 Sinais Analgicos ................................................................................................................. 17
1.1.1.1.2 Sinais Digitais ...................................................................................................................... 18
1.1.2 Formas de Onda .....................................................................................................................18
1.1.2.1 Amplitude .......................................................................................................................18
1.1.2.2 Freqncia ......................................................................................................................18
1.1.2.3 Fase ................................................................................................................................19
1.1.3 Taxa de Transmisso Mxima de um Canal ..........................................................................21
1.1.3.1 Teorema de Nyquist .......................................................................................................21
1.1.4 Fontes de Distoro de Sinais em Transmisso .....................................................................22
1.1.4.1 Rudos ............................................................................................................................22
1.1.4.1.1 Rudo Trmico...................................................................................................................... 22
1.1.4.1.2 Rudo de Intermodulao ..................................................................................................... 22
1.1.4.1.3 Rudo de Crosstalk (Linha Cruzada) .................................................................................... 22
1.1.4.1.4 Rudo Impulsivo ................................................................................................................... 23
1.1.4.1.5 Lei de Shannon ..................................................................................................................... 23
1.1.4.2 Atenuaes .....................................................................................................................23
1.1.4.3 Ecos ................................................................................................................................23
1.1.5 Tcnicas de Modulao ..........................................................................................................24
1.1.5.1 Modulao Analgica ....................................................................................................24
1.1.5.1.1 Modulao por Amplitude (AM).......................................................................................... 24
1.1.5.1.2 Modulao por Freqncia (FM).......................................................................................... 25
1.1.5.1.3 Modulao por Fase (PM) .................................................................................................... 25
1.1.5.2 Modulao Digital ..........................................................................................................25
1.1.5.2.1 Modulao por Deslocamento de Amplitude (ASK)............................................................ 26
1.1.5.2.2 Modulao por Deslocamento de Freqncia (FSK)............................................................ 26
1.1.5.2.3 Modulao por Deslocamento de Fase (PSK) ...................................................................... 26
1.1.6 Comutao .............................................................................................................................26
1.1.6.1 Circuitos .........................................................................................................................26
1.1.6.2 Mensagens ......................................................................................................................28
1.1.6.3 Pacotes............................................................................................................................29
1.1.6.3.1 Comutao de Pacotes Circuito Virtual............................................................................. 29
1.1.6.3.2 Comutao de Pacotes Datagrama.................................................................................... 29

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

1.1.6.4 Clulas ............................................................................................................................30


1.1.7 Forma de Comunicao..........................................................................................................30
1.1.8 Multiplexao.........................................................................................................................30
1.1.8.1 Multiplexao na Freqncia .........................................................................................31
1.1.8.2 Multiplexao no Tempo ...............................................................................................33
1.1.8.2.1 TDM Sncrono...................................................................................................................... 33
1.1.8.2.2 TDM Assncrono .................................................................................................................. 34
1.1.8.3 Caractersticas do FDM e do TDM ................................................................................35
1.1.8.4 Sistemas em Banda Larga e em Banda Bsica ...............................................................35
1.1.8.4.1 Sinalizao em Banda Bsica ............................................................................................... 36
1.1.8.4.2 Sinalizao em Banda Larga ................................................................................................ 36
1.1.9 Digitalizao de um Sinal pela Tcnica PCM ........................................................................36
1.1.10 Codificao e Transmisso de Sinais Digitais em Banda Bsica ...........................................38
1.1.10.1 Transmisso Assncrona ...............................................................................................38
1.1.10.2 Transmisso Sncrona ..................................................................................................40
1.1.10.2.1 Codificao Manchester ..................................................................................................... 41
1.1.10.2.2 Codificao Manchester Diferencial .................................................................................. 43
1.1.11 Tcnicas de Deteco de Erros ..............................................................................................44
1.1.11.1 Paridade ........................................................................................................................45
1.1.11.2 CRC ..............................................................................................................................45

Captulo 2 Meios de Transmisso e Topologia de Redes ................................ 48


2.1 Meios de Transmisso ................................................................................................................48
2.1.1 Fios de cobre ..........................................................................................................................48
2.1.1.1 Cabo de Par Tranado ....................................................................................................49
2.1.1.2 Cabo Coaxial ..................................................................................................................49
2.1.2 Fibras de Vidro.......................................................................................................................50
2.1.3 Rdio ......................................................................................................................................50
2.1.4 Satlites ..................................................................................................................................50
2.1.4.1 Satlites Geossncronos ou Geoestacionrios ................................................................51
2.1.4.2 Satlites de Baixa rbita da Terra ..................................................................................52
2.1.4.3 Arrays de Satlites de Baixa rbita da Terra .................................................................52
2.1.5 Microondas.............................................................................................................................53
2.1.6 Infravermelho .........................................................................................................................53
2.1.7 Luz de Laser...........................................................................................................................53
2.2

Classificao de Redes................................................................................................................54

2.3 Topologia de Redes Locais (LAN) .............................................................................................54


2.3.1 Estrela.....................................................................................................................................54
2.3.2 Anel ........................................................................................................................................55
2.3.3 Barramento .............................................................................................................................55

Captulo 3 Modelo OSI....................................................................................... 56


3.1 Tipos de Servios OSI ................................................................................................................58
3.1.1 Servio Orientado a Conexo.................................................................................................58
3.1.2 Servio no Orientado a Conexo ..........................................................................................59
3.2

OSI Hoje .....................................................................................................................................59

Captulo 4 Dispositivos de Conectividade ........................................................ 61


4.1

Placas de Rede (NIC Network Interface Card)........................................................................61

4.2

Modems .......................................................................................................................................61

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

4.3

Repetidores .................................................................................................................................61

4.4

Hubs (Concentradores) ...............................................................................................................61

4.5

Bridges (Pontes) ..........................................................................................................................62

4.6

Switches (Comutadores) .............................................................................................................63

4.7

Gateways.....................................................................................................................................64

4.8

Roteadores ..................................................................................................................................65

4.9

Access Point (Ponto de Acesso AP).........................................................................................65

Captulo 5 Mtodo de Acesso ao Meio .............................................................. 66


5.1 Mtodo de Acesso ao Meio ........................................................................................................66
5.1.1 CSMA ....................................................................................................................................66
5.1.1.1 CSMA/CD ......................................................................................................................66
5.1.1.2 CSMA/CA ......................................................................................................................68
5.1.2 Token Passing (Passagem de Token) .....................................................................................70
5.2 Arquitetura ..................................................................................................................................72
5.2.1 Ethernet ..................................................................................................................................72
5.2.1.1 O Algoritmo de Recuo Binrio Exponencial .................................................................74
5.2.2 Token Ring .............................................................................................................................74
5.2.3 Wireless (Redes sem Fio) .......................................................................................................75

Captulo 6 Tecnologias para conexo digital de longa distncia ................... 79


6.1

X.25 ............................................................................................................................................79

6.2

Frame Relay (FR) .......................................................................................................................79

6.3 ATM ...........................................................................................................................................79


6.3.1 Circuitos Virtuais do ATM ....................................................................................................80
6.4

ISDN ...........................................................................................................................................80

6.5 xDSL ...........................................................................................................................................81


6.5.1 Outras Tecnologias de DSL ...................................................................................................83
6.6

Cable Modem..............................................................................................................................84

Captulo 7 Arquitetura TCP/IP......................................................................... 86


7.1

A Motivao para Ligao Inter-redes .......................................................................................86

7.2

O Conceito de Servio Universal................................................................................................86

7.3

Servio Universal em um Mundo Heterogneo ..........................................................................86

7.4

Ligao Inter-redes .....................................................................................................................87

7.5

Conexo de Rede Fsica com Roteadores ...................................................................................87

7.6

Arquitetura de Inter-rede ............................................................................................................87

7.7

Obtendo Servio Universal .........................................................................................................88

7.8

Uma Rede Virtual .......................................................................................................................88

7.9

Protocolos para Ligao Inter-redes ...........................................................................................89

7.10 Arquitetura TCP/IP .....................................................................................................................89

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

7.11 Diviso em Camadas do Protocolo TCP/IP ................................................................................90


7.12 Endereos para a Inter-rede Virtual ............................................................................................91
7.12.1 O Esquema de Endereos IP ..................................................................................................92
7.12.2 A Hierarquia de Endereos IP ................................................................................................92
7.12.3 Classes de Endereos IP .........................................................................................................92
7.12.4 Computando a Classe de um Endereo ..................................................................................93
7.12.5 Notao Decimal Pontilhada ..................................................................................................94
7.12.6 Classes e Notao Decimal Pontilhada ..................................................................................94
7.12.7 Autoridade para Endereos ....................................................................................................95
7.12.8 Um Exemplo de Endereamento IP .......................................................................................95
7.12.9 Endereos IP Especiais ..........................................................................................................96
7.12.9.1 Endereo de Rede .........................................................................................................96
7.12.9.2 Endereo de Broadcast Direcionado ............................................................................96
7.12.9.3 Endereo de Broadcast Limitado .................................................................................97
7.12.9.4 Endereo deste Computador.........................................................................................97
7.12.9.5 Endereo de Loopback .................................................................................................97
7.12.9.6 Resumo de Endereos IP Especiais ..............................................................................98
7.12.10 Diviso do Espao de Endereamento ...............................................................................98
7.12.11 Roteadores e o Princpio de Endereamento IP .................................................................99
7.12.12 Host Multi-Homed .............................................................................................................99
7.12.13 Sub-redes .........................................................................................................................100
7.13 Tcnicas para Resoluo de Endereos ....................................................................................102
7.13.1 O Problema da Traduo de Endereo .................................................................................102
7.13.2 Dois Tipos de Endereos Fsicos .........................................................................................103
7.13.3 Traduo por Mapeamento Direto .......................................................................................103
7.13.4 Traduo por Vnculo Dinmico ..........................................................................................103
7.13.5 O Cache de Traduo de Endereo ......................................................................................104
7.13.6 Timeout de Cache ARP ........................................................................................................104
7.13.7 Funcionamento do ARP .......................................................................................................105
7.13.7.1 Envio de um Datagrama dentro da mesma rede ........................................................105
7.13.7.2 Envio de um Datagrama para um n que est fora da rede .......................................106
7.13.8 Refinamentos do ARP ..........................................................................................................108
7.13.9 Relacionamento do ARP com outros Protocolos .................................................................108
7.13.10 Implementao do ARP ...................................................................................................108
7.13.11 Encapsulamento e Identificao do ARP ........................................................................109
7.13.12 Formato do Protocolo ARP .............................................................................................110
7.13.13 Revalidao Automtica de Cache ARP .........................................................................111
7.13.14 Reverse Address Resolution (RARP)...............................................................................111
7.14 Entrega de Datagramas Sem Conexo .....................................................................................112
7.14.1 Sistema de Entrega sem Conexo ........................................................................................112
7.14.2 Finalidade do Internet Protocol (IP) ....................................................................................112
7.14.3 O Datagrama IPv4 ...............................................................................................................112
7.14.4 Formato do Datagrama ........................................................................................................113
7.14.5 Encapsulamento de Datagramas IP .....................................................................................114
7.14.6 Tamanho do Datagrama, MTU da rede e Fragmentao ....................................................114
7.14.7 Remontagem de Fragmentos ................................................................................................116
7.14.8 Controle de Fragmentao ...................................................................................................116
7.14.9 Time to Live (TTL) ...............................................................................................................118
7.15 Encaminhamento de Datagramas .............................................................................................118
7.15.1 Encaminhamento em uma Inter-rede ...................................................................................118
7.15.2 Entrega Direta e Indireta ......................................................................................................120
7.15.3 Entrega de Datagrama por uma nica Rede .......................................................................120
7.15.4 Entrega Indireta ....................................................................................................................120

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

7.15.5 Encaminhamento IP controlado por Tabela .........................................................................121


7.15.6 Encaminhamento do Prximo Salto .....................................................................................121
7.15.7 Rotas Default........................................................................................................................123
7.15.8 Rotas Especficas do Host ....................................................................................................123
7.15.9 O Algoritmo de Encaminhamento IP ...................................................................................123
7.15.10 Encaminhamento com Endereos IP ...............................................................................123
7.15.11 Tratando de Datagramas que Chegam ............................................................................125
7.16 IPv6 ...........................................................................................................................................126
7.16.1 Por que Mudar? ....................................................................................................................126
7.16.2 Alm do IPv4 .......................................................................................................................127
7.16.3 A Estrada para uma Nova Verso do IP...............................................................................127
7.16.4 O Nome do Prximo IP ........................................................................................................127
7.16.5 Caractersticas do IPv6.........................................................................................................127
7.16.6 Forma Geral de um Datagrama IPv6...................................................................................128
7.16.6.1 Formato de Cabealho Bsico do IPv6 ......................................................................128
7.16.6.2 Cabealhos de Extenso do IPv6 ...............................................................................130
7.16.7 Analisando um Datagrama IPv6 .........................................................................................130
7.16.8 Fragmentao e Remontagem do IPv6 ................................................................................131
7.16.9 A Conseqncia da Fragmentao de fim-a-fim ..................................................................131
7.16.10 Roteamento de Origem IPv6 ...........................................................................................132
7.16.11 Opes do IPv6 ................................................................................................................132
7.16.12 Tamanho do Espao de Endereos do IPv6 .....................................................................133
7.16.13 Notao Hexadecimal de dois pontos do IPv6 ................................................................134
7.16.14 Endereos IPv4 Embutidos e Transio ..........................................................................135
7.16.15 Endereos No-Especificados e de Loopback .................................................................135
7.16.16 Estrutura de Endereo Unicast ........................................................................................136
7.17 ICMP.........................................................................................................................................136
7.17.1 O Internet Control Message Protocol ..................................................................................136
7.17.2 Relato de erro versus correo de erro .................................................................................137
7.17.3 Entrega de mensagem ICMP ................................................................................................138
7.17.4 Formato de mensagem ICMP...............................................................................................138
7.17.5 Teste de alcance e status do destino (ping) ..........................................................................139
7.17.6 Requisio de eco e formato de mensagem de resposta.......................................................140
7.17.7 Relatos de destinos inalcanveis ........................................................................................140
7.17.8 Controle de congestionamento e fluxo de datagramas .........................................................141
7.17.9 Formato de extino de origem ............................................................................................142
7.17.10 Requisies de mudana de rota dos roteadores ..............................................................142
7.17.11 Detectando rotas circulares ou excessivamente longas ...................................................144
7.17.12 Relatando outros problemas ............................................................................................145
7.17.13 Sincronismo de clock e estimativa de tempo de trnsito .................................................145
7.17.14 Mensagens ICMP mais antigas e no mais necessrias ...................................................146
7.18 UDP ..........................................................................................................................................146
7.18.1 Identificando o destino final.................................................................................................147
7.18.2 O User Datagram Protocol..................................................................................................148
7.18.3 Formato de mensagens UDP ................................................................................................148
7.18.4 Pseudocabealho UDP .........................................................................................................149
7.18.5 Encapsulamento e camadas de protocolos UDP ..................................................................150
7.18.6 Camadas e o clculo de checksum do UDP .........................................................................151
7.18.7 Multiplexao, demultiplexao e portas UDP ....................................................................151
7.18.8 Nmeros de porta UDP reservados e disponveis ................................................................152
7.19 TCP ...........................................................................................................................................153
7.19.1 A necessidade de entrega de fluxo .......................................................................................153
7.19.2 Propriedades do servio de entrega confivel ......................................................................154

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

7.19.3 Fornecendo confiabilidade ...................................................................................................155


7.19.4 A idia por trs das janelas deslizantes ................................................................................157
7.19.5 O Transmission Control Protocol ........................................................................................158
7.19.6 Portas, conexes e extremidades ..........................................................................................159
7.19.7 Aberturas passivas e ativas...................................................................................................161
7.19.8 Segmentos, fluxos e nmeros de seqncia .........................................................................161
7.19.9 Tamanho de janela varivel e controle de fluxo ..................................................................162
7.19.10 Formato do segmento TCP ..............................................................................................163
7.19.11 Dados fora de faixa ..........................................................................................................164
7.19.12 Opes do TCP ................................................................................................................164
7.19.12.1 Opo de tamanho mximo do segmento.................................................................165
7.19.12.2 Opo de janela mvel .............................................................................................166
7.19.12.3 Opo de estampa de tempo .....................................................................................166
7.19.13 Clculo do checksum TCP ..............................................................................................166
7.19.14 Estabelecendo uma conexo TCP ....................................................................................167
7.19.15 Nmeros de seqncia iniciais.........................................................................................168
7.19.16 Fechando uma conexo TCP ...........................................................................................168
7.19.17 Reincio da conexo TCP ................................................................................................169
7.19.18 Nmeros de porta TCP reservados ..................................................................................170
7.19.19 Desempenho do TCP .......................................................................................................170

Captulo 8 Servios e Tecnologias Web .......................................................... 172


8.1 Atribuio Dinmica de Endereos ..........................................................................................172
8.1.1 BOOTP.................................................................................................................................172
8.1.2 DHCP ...................................................................................................................................172
8.1.2.1 Usando IP para determinar um endereo IP .................................................................173
8.1.2.2 A poltica de retransmisso do DHCP ..........................................................................174
8.1.2.3 O formato de mensagem DHCP ...................................................................................174
8.1.2.4 A necessidade da configurao dinmica .....................................................................176
8.1.2.5 Conceito de aluguel do DHCP .....................................................................................177
8.2 NAT ..........................................................................................................................................177
8.2.1 Criao da tabela de traduo NAT .....................................................................................177
8.2.2 NAT multiendereo..............................................................................................................179
8.2.3 NAT mapeado em porta .......................................................................................................179
8.2.4 Interao entre NAT e ICMP ...............................................................................................180
8.2.5 Interao entre NAT e aplicaes ........................................................................................180
8.2.6 NAT na presena de fragmentao ......................................................................................181
8.2.7 Domnios de endereo conceituais .......................................................................................181
8.2.8 Slirp e Iptables .....................................................................................................................182
8.3 DNS ..........................................................................................................................................182
8.3.1 Nomes para mquinas ..........................................................................................................182
8.3.2 Espao de nomes plano ........................................................................................................183
8.3.3 Nomes hierrquicos..............................................................................................................184
8.3.4 Delegao de autoridade para nomes ...................................................................................184
8.3.5 Autoridade de subconjunto ..................................................................................................185
8.3.6 Internet Domain Names .......................................................................................................185
8.3.7 Domnios de nvel superior ..................................................................................................186
8.3.8 Sintaxe e tipo de nome .........................................................................................................188
8.3.9 Mapeando nomes de domnio para endereos......................................................................188
8.3.10 Traduo de nome de domnio .............................................................................................190
8.3.11 Traduo eficiente ................................................................................................................191
8.3.12 Caching: a chave para a eficincia .......................................................................................191

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

8.4 Correio Eletrnico.....................................................................................................................192


8.4.1 Nomes e aliases da caixa de correio .....................................................................................193
8.4.2 Expanso de alias e encaminhamento de correio .................................................................193
8.4.3 Padres do TCP/IP para servio de correio eletrnico .........................................................194
8.4.4 Simple Mail Transfer Protocol (SMTP) ...............................................................................195
8.4.5 Recuperao de correio e protocolos de manipulao de caixa de correio ..........................197
8.4.5.1 Post Office Protocol .....................................................................................................197
8.4.5.2 Internet Message Access Protocol ................................................................................198
8.5 FTP ...........................................................................................................................................198
8.5.1 Recursos do FTP ..................................................................................................................198
8.5.2 Modelo de processo do FTP.................................................................................................199
8.5.3 Nmeros de porta TCP e conexes de dados .......................................................................199
8.5.4 A viso do usurio do FTP ...................................................................................................200
8.5.5 FTP annimo ........................................................................................................................200
8.6 World Wide Web HTTP ........................................................................................................201
8.6.1 Descrio Geral do HTTP. ...................................................................................................201
8.6.2 Conexes no persistentes e conexes persistentes .............................................................203
8.6.2.1 Conexes no persistentes ............................................................................................203
8.6.2.2 Conexes Persistentes ..................................................................................................205
8.6.3 Formato da mensagem HTTP ..............................................................................................206
8.6.3.1 Mensagem de requisio HTTP ...................................................................................206
8.6.3.2 Mensagem de resposta HTTP ......................................................................................207
8.6.4 Interao usurio/servidor: autenficao e cookies ..............................................................210
8.6.4.1 Autenticao .................................................................................................................210
8.6.4.2 Cookies .........................................................................................................................210
8.6.5 O GET condicional ..............................................................................................................211
8.6.6 Web Caches..........................................................................................................................212

Captulo 9 Segurana em Redes ...................................................................... 217


9.1 O que segurana na rede?.......................................................................................................217
9.1.1 Comunicao Segura............................................................................................................217
9.1.2 Consideraes sobre segurana de rede na Internet .............................................................218
9.2 Princpios da criptografia ..........................................................................................................220
9.2.1 Criptografia de chaves simtricas ........................................................................................221
9.2.2 Criptografia de chaves pblicas ...........................................................................................223
9.3 Autenticao: quem voc? .....................................................................................................225
9.3.1 Protocolo de autenticao PA 1.0 ........................................................................................225
9.3.2 Protocolo de autenticao PA 2.0 ........................................................................................226
9.3.3 Protocolo de autenticao PA 3.0 ........................................................................................226
9.3.4 Protocolo de autenticao PA 3.1 ........................................................................................227
9.3.5 Protocolo de autenticao PA 4.0 ........................................................................................227
9.3.6 Protocolo de autenticao PA 5.0 ........................................................................................228
9.4 Integridade ................................................................................................................................230
9.4.1 Gerao de assinaturas digitais ............................................................................................231
9.4.2 Resumo de mensagem ..........................................................................................................232
9.4.3 Algoritmos de funo de hash ..............................................................................................234
9.5 Distribuio de chaves e certificao ........................................................................................235
9.5.1 KDC (central de distribuio de chaves) .............................................................................236
9.5.2 Kerberos ...............................................................................................................................237
9.5.3 Certificao de chaves pblicas ...........................................................................................238

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

9.6 E-mail seguro ............................................................................................................................241


9.6.1 Princpios de segurana para e-mail .....................................................................................241
9.6.2 PGP (privacidade razovel)..................................................................................................244
9.7 Comrcio pela Internet..............................................................................................................245
9.7.1 Comrcio pela Internet usando SSL .....................................................................................246
9.7.1.1 Como a SSL funciona ..................................................................................................247
9.7.1.2 A SSL em ao .............................................................................................................249
9.7.1.3 As limitaes no comrcio pela internet ......................................................................249
9.7.2 Comrcio pela Internet usando SET ....................................................................................250
9.7.2.1 Estgios de uma compra ...............................................................................................251
9.8 Segurana na camada de rede: o IPsec .....................................................................................252
9.8.1 AH (protocolo de autenticao de cabealho)......................................................................253
9.8.2 ESP (protocolo de segurana de encapsulamento da carga til) ..........................................255
9.8.3 O AS e a administrao de chaves .......................................................................................255

Apndice A Srie de Fourier............................................................................ 256


A.1 Exemplo 1: Clculo dos Coeficientes de Fourier de um Sinal NRZ.........................................258
A.1.1 Clculo do a 0 ......................................................................................................................258
A.1.2 Clculo do a n ......................................................................................................................259
A.1.3 Clculo do bn ......................................................................................................................260
A.1.4 Grficos do Exemplo 1.........................................................................................................261
A.2 Exemplo 2: Clculo dos Coeficientes de Fourier de um Sinal Manchester ..............................269
A.2.1 Clculo do a 0 ......................................................................................................................270
A.2.2 Clculo do a n ......................................................................................................................270
A.2.3 Clculo do bn ......................................................................................................................272
A.2.4 Grficos do Exemplo 2.........................................................................................................273
A.3

Como Integrar Funes Seno e Cosseno ..................................................................................282

Apndice B Clculo relacionado rbita de Satlites ................................. 283


Apndice C Tcnicas de Criptografia ............................................................. 286
C.1

DES (padro para criptografia de dados) ..................................................................................286

C.2 RSA...........................................................................................................................................287
C.2.1 Porque o RSA funciona? ......................................................................................................289

Bibliografia .......................................................................................................... 292

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

ndice de Figuras dos Captulos


Figura 1.1 Sinal Analgico. ....................................................................................................... 17
Figura 1.2 Sinal Digital. ............................................................................................................ 18
Figura 1.3 Visualizao de Duas Ondas de Freqncias Diferentes. ........................................ 19
Figura 1.4 Representao do Seno e Cosseno no Crculo Trigonomtrico. .............................. 19
Figura 1.5 Senoide em Funo do Tempo. ................................................................................ 20
Figura 1.6 Cossenoide em Funo do Tempo. .......................................................................... 20
Figura 1.7 Senoide em Funo da Fase. .................................................................................... 21
Figura 1.8 Cossenoide em Funo da Fase. .............................................................................. 21
Figura 1.9 Exemplo de Modulao Analgica. ......................................................................... 24
Figura 1.10 Exemplo de Modulao Digital. ............................................................................ 25
Figura 1.11 Comutao de Circuito. ......................................................................................... 26
Figura 1.12 Comutao por Circuito ao Longo do Tempo. ...................................................... 27
Figura 1.13 Comutao por Mensagem ao Longo do Tempo. .................................................. 28
Figura 1.14 Comutao por Pacote. .......................................................................................... 29
Figura 1.15 Comutao por Pacote ao Longo do Tempo. ......................................................... 30
Figura 1.16 Desperdcio de Banda Passante do Meio Fsico. ................................................... 31
Figura 1.17 Multiplexao na Freqncia (FDM)..................................................................... 31
Figura 1.18 Exemplo de Multiplexao na Freqncia de trs Sinais de Voz. ......................... 32
Figura 1.19 Transmisso em uma Linha Multiplexada na Freqncia. .................................... 32
Figura 1.20 TDM Sncrono. ...................................................................................................... 33
Figura 1.21 Desperdcio de Capacidade com TDM Sncrono. .................................................. 34
Figura 1.22 TDM Assncrono. .................................................................................................. 35
Figura 1.23 Digitalizao de um Sinal (PCM). ......................................................................... 37
Figura 1.24 Codificao NRZ. .................................................................................................. 38
Figura 1.25 Recuperao de um Sinal NRZ. ............................................................................. 38
Figura 1.26 Exemplo de Transmisso Assncrona. ................................................................... 39
Figura 1.27 Exemplo de Transmisso e Recepo Assncrona. ................................................ 40
Figura 1.28 Codificao Manchester......................................................................................... 41
Figura 1.29 Exemplo de Codificao Manchester. ................................................................... 42
Figura 1.30 Recuperao do Perodo do Clock Atravs do Prembulo. ................................... 42
Figura 1.31 Exemplo de Transmisso Manchester.................................................................... 43
Figura 1.32 Exemplo de Codificao Manchester Diferencial. ................................................ 43
Figura 1.33 Criao do FCS usando a Tcnica CRC no Transmissor....................................... 46
Figura 1.34 Verificao dos Dados Usando a Tcnica CRC feita no Receptor. ....................... 47
Figura 2.1 Par Tranado. ........................................................................................................... 49
Figura 2.2 Cabo Coaxial. ........................................................................................................... 49
Figura 2.3 Comunicao Via Satlite. ....................................................................................... 51
Figura 2.4 Array de Satlites. .................................................................................................... 52
Figura 2.5 Topologia em Estrela. .............................................................................................. 54
Figura 2.6 Topologia em Anel. ................................................................................................. 55
Figura 2.7 Topologia de Barramento. ....................................................................................... 55
Figura 3.1 Modelo OSI em Camadas. ....................................................................................... 58
Figura 4.1 Conexo de dois segmentos por uma Bridge. .......................................................... 62
Figura 4.2 Montagem da Tabela de Mapeamento de uma Bridge. ........................................... 63
Figura 4.3 Esquema Lgico de um Switch. ............................................................................... 64

10

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 5.1 Funcionamento do CSMA/CD. ................................................................................ 67


Figura 5.2 Exemplo de Comunicao Sem Fio. ........................................................................ 68
Figura 5.3 Transmisso de A para B. ........................................................................................ 68
Figura 5.4 Coliso entre A e C. ................................................................................................. 69
Figura 5.5 Sinal de Controle para B. ......................................................................................... 69
Figura 5.6 Resposta de B ao Sinal de Controle de A. ............................................................... 70
Figura 5.7 Regio Reservada para a Comunicao de A com B. .............................................. 70
Figura 5.8 Funcionamento do Token Passing. .......................................................................... 71
Figura 5.9 Formato de Quadros DIX......................................................................................... 72
Figura 5.10 Rede Sem Fio com uma Estao-Base (AP). ......................................................... 76
Figura 5.11 Rede Sem Fio Ad Hoc. .......................................................................................... 76
Figura 5.12 Uma Rede 802.11 de Vrias Clulas. .................................................................... 77
Figura 7.1 Duas redes fsicas conectadas por um roteador. ...................................................... 87
Figura 7.2 Uma inter-rede formada usando trs roteadores. ..................................................... 87
Figura 7.3 O conceito de inter-rede. .......................................................................................... 89
Figura 7.4 As camadas do modelo de referncia TCP/IP.......................................................... 90
Figura 7.5 Diviso em Classes do endereamento IP. .............................................................. 93
Figura 7.6 Uma inter-rede de exemplo privado com endereos IP atribudos aos hosts........... 96
Figura 7.7 Um exemplo de endereos IP atribudos a dois roteadores. .................................... 99
Figura 7.8 Uma rede de campus consistindo em LANs para vrios departamentos. .............. 100
Figura 7.9 Uma rede da classe B dividida em 64 sub-redes. ................................................... 101
Figura 7.10 O protocolo ARP.................................................................................................. 104
Figura 7.11 Cada n em uma LAN tem um endereo IP e um endereo MAC. ..................... 106
Figura 7.12 Duas LANs interconectadas por um roteador. ..................................................... 107
Figura 7.13 Uma mensagem ARP encapsulada em um frame de rede fsica. ......................... 110
Figura 7.14 Formato de uma Mensagem ARP/RARP para o padro Ethernet. ...................... 110
Figura 7.15 Formato Geral de um Datagrama IP. .................................................................. 113
Figura 7.16 Formato de um Datagrama IP. ............................................................................ 113
Figura 7.17 O encapsulamento de um datagrama IP em um frame......................................... 114
Figura 7.18 Um exemplo de necessidade de fragmentao. ................................................... 115
Figura 7.19 Exemplo de Fragmentao de um Datagrama. ................................................... 116
Figura 7.20 Um exemplo de um host singly-homed que precisa encaminhar datagramas. .... 119
Figura 7.21 Uma internet de exemplo com 4 redes e 3 roteadores. ........................................ 122
Figura 7.22 O IP e a tabela de roteamento residem acima do limite de endereo................... 124
Figura 7.23 Formato Geral de um Datagrama IPv6. .............................................................. 128
Figura 7.24 O Formato do Cabealho Bsico do IPv6 de 40 octetos. ..................................... 129
Figura 7.25 Trs Datagramas IPv6. ........................................................................................ 131
Figura 7.26 O Formato de um Cabealho de Extenso de Fragmento. ................................... 131
Figura 7.27 O Formato de um Cabealho de Roteamento IPv6. ............................................. 132
Figura 7.28 O Formato de um Cabealho de Extenso de Opo IPv6. ................................. 133
Figura 7.29 A Codificao de uma Opo Individual em um Cabealho de Extenso IPv6. . 133
Figura 7.30 Codificao de um Endereo IPv4 em um Endereo IPv6. ................................. 135
Figura 7.31 A Diviso de um Endereo de Unicast IPv6 em Trs Partes. .............................. 136
Figura 7.32 Dois nveis de encapsulamento ICMP. ................................................................ 138
Figura 7.33 Formato de uma mensagem de requisio ou resposta de eco do ICMP. ............ 140
Figura 7.34 Formato da mensagem de destino inalcanvel do ICMP. .................................. 140
Figura 7.35 Formato da mensagem de extino de origem ICMP. ......................................... 142
Figura 7.36 Mensagens de redirecionamento ICMP. .............................................................. 143
Figura 7.37 Formato da mensagem de redirecionamento ICMP............................................. 143
Figura 7.38 Formato da mensagem de tempo excedido do ICMP. ......................................... 144

11

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 7.39 Formato da mensagem de problema de parmetro do ICMP. ............................. 145


Figura 7.40 Formato da mensagem de requisio ou resp. de estampa de tempo do ICMP. .. 145
Figura 7.41 O formato dos campos em um datagrama UDP................................................... 149
Figura 7.42 Os 12 octetos do pseudocabealho para o clculo do checksum. ........................ 149
Figura 7.43 As camadas conceituais do UDP entre programas aplicativos e o IP. ................. 150
Figura 7.44 Um datagrama UDP encapsulado em um datagrama IP. ..................................... 150
Figura 7.45 Exemplo de demultiplexao de uma camada acima do IP. ................................ 152
Figura 7.46 Um protocolo usando confirmao positiva com retransmisso. ........................ 156
Figura 7.47 Timeout e retransmisso que ocorre quando um pacote perdido. ..................... 156
Figura 7.48 Um protocolo de janela deslizante com oito pacotes na janela............................ 157
Figura 7.49 Um exemplo de trs pacotes transmitidos usando a janela deslizante. ................ 158
Figura 7.50 A disposio conceitual em camadas do UDP e TCP acima do IP. .................... 159
Figura 7.51 Um exemplo da janela deslizante do TCP. .......................................................... 161
Figura 7.52 O formato de um segmento TCP com um cabealho TCP seguido por dados. ... 163
Figura 7.53 O formato do pseudo cabealho usado pelo TCP. ............................................... 167
Figura 7.54 A seqncia de mensagens em um hadshake de trs vias. ................................... 167
Figura 7.55 O handshake de trs vias modificado usado para fechar conexes...................... 169
Figura 8.1 Formato de uma mensagem DHCP........................................................................ 175
Figura 8.2 Formato do campo FLAGs de 16 bits do DHCP. .................................................. 175
Figura 8.3 O uso de um NAT por um pequeno ISP. ............................................................... 178
Figura 8.4 Uma pequena parte da hierarquia de nome de domnio da Internet. ..................... 187
Figura 8.5 A organizao conceitual dos servidores de nome de domnio. ............................ 189
Figura 8.6 Uma organizao realista de servidores para a Hierarquia de nomes. ................... 190
Figura 8.7 Componentes conceituais de uma sistema de correio eletrnico. .......................... 193
Figura 8.8 Uma extenso do sistema de correio da Figura 8.7. .............................................. 194
Figura 8.9 Exemplo de transferncia SMTP de Alpha.edu para Beta.gov. ............................. 196
Figura 8.10 Um cliente e um servidor FTP com conexes TCP entre eles. ............................ 199
Figura 8.11 Comportamento de requisio-resposta do HTTP. .............................................. 202
Figura 8.12 Formato geral de uma mensagem de requisio. ................................................. 207
Figura 8.13 Formato geral de uma mensagem de resposta. .................................................... 208
Figura 8.14 Clientes requisitando objetos por meio de um Web Cache. ................................ 213
Figura 8.15 Gargalo entre uma rede institucional e a Internet. ............................................... 214
Figura 8.16 Adio de um cache rede institucional.............................................................. 215
Figura 9.1 Remetente, destinatrio e intruso (Alice, Bob e Trudy). ....................................... 218
Figura 9.2 Analisador de Pacotes. ........................................................................................... 219
Figura 9.3 Componentes Criptogrficos. ................................................................................ 220
Figura 9.4 Uma cifra monoalfabtica. ..................................................................................... 222
Figura 9.5 Uma cifra de Vigenere usando duas cifras de Csar.............................................. 223
Figura 9.6 Criptografia de chaves pblicas. ............................................................................ 224
Figura 9.7 Protocolo PA 1.0 e um cenrio de falha. ............................................................... 225
Figura 9.8 Protocolo PA 2.0 e um cenrio de falha. ............................................................... 226
Figura 9.9 Protocolo PA 3.0 e um cenrio de falha. ............................................................... 227
Figura 9.10 Protocolo PA 4.0 e um cenrio de falha. ............................................................. 228
Figura 9.11 Protocolo PA 5.0 trabalhando corretamente. ....................................................... 229
Figura 9.12 Falha de segurana no protocolo PA 5.0. ............................................................ 229
Figura 9.13 Um ataque do homem do meio. ........................................................................... 230
Figura 9.14 Criao de uma assinatura digital para um documento........................................ 231
Figura 9.15 Funes de hash so usadas para criar resumos de mensagem. ........................... 233
Figura 9.16 Envio de uma mensagem assinada digitalmente. ................................................. 233
Figura 9.17 Verificao da integridade de uma mensagem assinada. ..................................... 234

12

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 9.18 Mensagem inicial e mensagem fraudulenta tm a mesma soma de verificao. . 235
Figura 9.19 Estabelecimento de uma chave de sesso nica usando uma KDC. .................... 236
Figura 9.20 Trudy se passa por Bob usando a criptografia de chaves pblicas. ..................... 239
Figura 9.21 Bob obtm um certificado de uma CA. ............................................................... 240
Figura 9.22 Alice usa uma chave de sesso simtrica KS. ...................................................... 243
Figura 9.23 Uso de funes de hash e assinaturas digitais. .................................................... 243
Figura 9.24 Alice usa vrias tcnicas para enviar uma mensagem. ........................................ 244
Figura 9.25 Mensagem PGP assinada. .................................................................................... 245
Figura 9.26 Mensagem PGP secreta........................................................................................ 245
Figura 9.27 Viso de alto nvel da fase de mtua apresentao SSL. ..................................... 248
Figura 9.28 Posio do cabealho AH no datagrama IP. ........................................................ 254
Figura 9.29 Campos ESP no datagrama IP. ............................................................................ 255

13

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

ndice de Figuras dos Apndices


Figura A-1 Exemplo 1: Sinal NRZ.......................................................................................... 258
Figura A-2 Sinal Original. ....................................................................................................... 262
Figura A-3 10 Harmnicos de Fourier. ................................................................................... 263
Figura A-4 Primeiro Harmnico de Fourier. ........................................................................... 263
Figura A-5 Somatrio dos 2 primeiros Harmnico de Fourier. .............................................. 264
Figura A-6 Somatrio dos 3 primeiros Harmnico de Fourier. .............................................. 264
Figura A-7 Somatrio dos 4 primeiros Harmnico de Fourier. .............................................. 265
Figura A-8 Somatrio dos 5 primeiros Harmnico de Fourier. .............................................. 265
Figura A-9 Somatrio dos 6 primeiros Harmnico de Fourier. .............................................. 266
Figura A-10 Somatrio dos 7 primeiros Harmnico de Fourier. ............................................ 266
Figura A-11 Somatrio dos 8 primeiros Harmnico de Fourier. ............................................ 267
Figura A-12 Somatrio dos 9 primeiros Harmnico de Fourier. ............................................ 267
Figura A-13 Somatrio dos 10 primeiros Harmnico de Fourier. .......................................... 268
Figura A-14 Amplitude de Mdia Quadrtica de cada Harmnico de Fourier. ...................... 268
Figura A-15 Exemplo 2: Sinal Manchester. ............................................................................ 269
Figura A-16 Sinal Original. ..................................................................................................... 274
Figura A-17 13 Harmnicos de Fourier. ................................................................................. 274
Figura A-18 Primeiro Harmnico de Fourier. ......................................................................... 275
Figura A-19 Somatrio dos 2 primeiros Harmnico de Fourier. ............................................ 275
Figura A-20 Somatrio dos 3 primeiros Harmnico de Fourier. ............................................ 276
Figura A-21 Somatrio dos 4 primeiros Harmnico de Fourier. ............................................ 276
Figura A-22 Somatrio dos 5 primeiros Harmnico de Fourier. ............................................ 277
Figura A-23 Somatrio dos 6 primeiros Harmnico de Fourier. ............................................ 277
Figura A-24 Somatrio dos 7 primeiros Harmnico de Fourier. ............................................ 278
Figura A-25 Somatrio dos 8 primeiros Harmnico de Fourier. ............................................ 278
Figura A-26 Somatrio dos 9 primeiros Harmnico de Fourier. ............................................ 279
Figura A-27 Somatrio dos 10 primeiros Harmnico de Fourier. .......................................... 279
Figura A-28 Somatrio dos 11 primeiros Harmnico de Fourier. .......................................... 280
Figura A-29 Somatrio dos 12 primeiros Harmnico de Fourier. .......................................... 280
Figura A-30 Somatrio dos 13 primeiros Harmnico de Fourier. .......................................... 281
Figura A-31 Amplitude de Mdia Quadrtica de cada Harmnico de Fourier. ...................... 281
Figura B-1 rbita de um Satlite. ........................................................................................... 283
Figura C-1 Operao bsica do DES. ...................................................................................... 287
Figura C-2 Criptografia de chaves pblicas. ........................................................................... 288

14

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

ndice de Equaes
Equao A-1 Forma Geral da Srie de Fourier. ...................................................................... 257
Equao A-2 Coeficientes da Srie de Fourier........................................................................ 257
Equao A-3 Amplitude de Mdia Quadrtica de cada Harmnico de Fourier. ..................... 258
Equao A-4 Funo Representante do Sinal NRZ. ............................................................... 258
Equao A-5 Coeficiente a0 do Sinal NRZ. ............................................................................ 259
Equao A-6 Coeficiente an do Sinal NRZ. ............................................................................ 260
Equao A-7 Coeficiente bn do Sinal NRZ. ............................................................................ 261
Equao A-8 Srie de Fourier Completa para o Sinal NRZ. ................................................... 261
Equao A-9 Funo Representante do Sinal Manchester. ..................................................... 269
Equao A-10 Coeficiente a0 do Sinal Manchester. ................................................................ 270
Equao A-11 Coeficiente an do Sinal Manchester. ................................................................ 271
Equao A-12 Coeficiente bn do Sinal Manchester. ............................................................... 273
Equao A-13 Srie de Fourier Completa para o Sinal Manchester. ...................................... 273
Equao B-1 Velocidade Angular do Satlite. ........................................................................ 284
Equao B-2 Raio do Satlite. ................................................................................................. 284
Equao B-3 Velocidade Linear do Satlite............................................................................ 284
Equao B-4 Altura do Satlite em Relao Superfcie da Terra......................................... 284
Equao B-5 Condio Necessria para rbitas Geoestacionrias. ........................................ 284
Equao B-6 Velocidade Angular da Terra............................................................................. 285
Equao B-7 Velocidade Angular do Satlite para rbitas Geoestacionrias. ....................... 285
Equao B-8 Massa da Terra................................................................................................... 285
Equao B-9 Raio da Terra. .................................................................................................... 285
Equao B-10 Constante Gravitacional Universal (G). .......................................................... 285
Equao B-11 Altura do Satlite para uma rbita Geoestacionria. ...................................... 285

15

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

ndice de Tabelas dos Captulos


Tabela 3.1 Funcionalidades das Camadas do Modelo OSI. ...................................................... 57
Tabela 7.1 Relao dos primeiros 4 bits com a classe de um endereo IP................................ 94
Tabela 7.2 Exemplos de Endereos IP em Binrio e Notao Decimal Pontilhada.................. 94
Tabela 7.3 Faixa de Valores do Primeiro Octeto para as Classes IP......................................... 95
Tabela 7.4 Resumo das formas de endereos IP especiais. ....................................................... 98
Tabela 7.5 Total de Redes e Hosts em cada Classe Primria. ................................................... 98
Tabela 7.6 Significado do Campo TIPO. ................................................................................ 133
Tabela 7.7 Valores do campo TYPE de uma mensagem ICMP. ............................................ 139
Tabela 7.8 Valores possveis para o campo CDIGO. ........................................................... 141
Tabela 7.9 Valor do campo CDIGO para uma mensagem de redirecionamento. ................ 144
Tabela 7.10 Valor do campo CDIGO para um tempo excedido. ......................................... 144
Tabela 7.11 Exemplos de portas UDP atualmente atribudas. ................................................ 153
Tabela 7.12 Bits do campo BITS DE CDIGO no cabealho TCP. ...................................... 164
Tabela 7.13 Exemplos de nmeros de porta TCP. .................................................................. 171
Tabela 8.1 Um exemplo de uma tabela de traduo usada pelo NAPT. ................................. 179
Tabela 8.2 Os domnios de Internet de nvel superior e seus significados.............................. 186
Tabela 9.1 Campos selecionados de um certificado de chave pblica X.509 e RFC 1422. ... 240

16

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Captulo 1
Comunicao de Dados
1.1

Conceitos bsicos de Transmisso de dados

1.1.1

Sinais
Sinais so ondas que se propagam atravs de meios fsicos diversos ou at mesmo
pelo ar. O uso de ondas para transmitir sinais remonta a eras bastante antigas. Em 1863,
James Maxwell, um professor de fsica da Universidade de Cambridge, demonstrou
teoricamente a existncia de ondas eletromagnticas. Em 1887, Henrich Hertz descobriu as
ondas de rdio e sua origem eletromagntica. Da para a transmisso dos sinais foi rpido,
pois em 1895 Giuglielmo Marconi inventou o rdio, transmitindo sinais atravs de ondas.

1.1.1.1

Sinais Analgicos e Digitais


A natureza intrinsecamente analgica. Imagens e sons apenas podem ser
entendidos e produzidos pelo ser humano em forma analgica, uma vez que os
aparelhos auditivo e vocal produzem sinais contnuos no tempo. A vantagem dos
sinais digitais consiste na possibilidade da introduo de cdigos redundantes
(adicionais) para controle de erros e tambm a possibilidade de compactao sem
perda da qualidade do sinal, capacidades impossveis em sinais analgicos. Vamos
entender a diferena entre um sinal analgico e um sinal digital.

1.1.1.1.1 Sinais Analgicos


Possuem variao contnua no tempo, ou seja, seu universo de valores
infinito, por poder ser dimensionado atravs de um nmero de casas decimais
maior ou menor de acordo com o equipamento utilizado.
Observe na Figura 1.1. Qualquer instante de tempo que deseje amostrar
possuir um valor diferente do instante de tempo anterior e do posterior. Outro
detalhe que este valor poder ser medido como 1 Hz, 1,01 Hz, 1,0100001 Hz ou
qualquer nmero de casas decimais, conferindo a sua caracterstica contnua.

Figura 1.1 Sinal Analgico.

17

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

1.1.1.1.2 Sinais Digitais


A Figura 1.2 mostra um sinal digital. Possuem um conjunto finito de
valores, que pode variar de acordo com o nmero de bits que se use para codificar
cada amostra, mas ainda assim sempre ser finito. No princpio da transmisso de
dados, a cada instante de tempo se transmitia apenas um bit, e a taxa de
transmisso dos modens era medida em bauds. Os modens atuais possuem a
capacidade de codificar mais de um bit por intervalo de tempo (dibit, tribit, etc),
ento usamos atualmente para caracterizar a taxa de transmisso simplesmente
bps (bits por segundo) e seus mltiplos (Kbps, Mbps, Gbps, Tbps, Pbps, ...).

Figura 1.2 Sinal Digital.

1.1.2

Formas de Onda
Um sinal normalmente representado por uma forma de onda. Como as ondas so
oscilatrias, elas possuem trs caractersticas bsicas: amplitude, freqncia e fase.

1.1.2.1

Amplitude
A amplitude representa a altura da onda desde o eixo representativo do zero at o
seu ponto mais alto. Dependendo da origem do sinal, ela pode estar associada a
diversas caractersticas, por exemplo: no caso de sinais sonoros, a amplitude est
relacionada com o volume do som; no caso de sinais luminosos, ela est associada a
intensidade com que a luz transmitida; etc.

1.1.2.2

Freqncia
Devido a natureza oscilatria das ondas, ela acaba possuindo ciclos. Um ciclo
toda variao feita pela onda a partir de um determinado ponto at ela retornar ao
mesmo ponto de forma que a seqncia seguinte seja uma repetio da anterior. A
medida de freqncia justamente a quantidade de ciclos que a onda realiza em um
determinado perodo de tempo, exemplo: 10 ciclos a cada minuto, 50 ciclos por hora,
etc. Quando a unidade de tempo representada para medir a quantidade de ciclos for o
segundo (ciclos por segundo), utiliza-se uma unidade especial denominada Hertz (Hz),
logo, se a freqncia for por exemplo 500 Hz, significa que a onda realiza 500 ciclos a
cada segundo. Quando a freqncia se torna muito grande, comum utilizar seus
mltiplos, como por exemplo: KHz, MHz, GHz, THz, etc. A Figura 1.3 mostra um
exemplo de duas ondas com freqncias diferentes.

18

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 1.3 Visualizao de Duas Ondas de Freqncias Diferentes.

1.1.2.3

Fase
O crculo trigonomtrico possui alguns eixos especiais onde dois destes eixos so
muito utilizados para a gerao de ondas. So os eixos horizontal e vertical que
representam os valores do cosseno e do seno respectivamente.
Trabalhando com este crculo trigonomtrico, que por definio possui raio de
valor 1, ao se representar um vetor radial de tamanho unitrio cujo ngulo com o eixo
horizontal , poderemos fazer duas projees: uma no eixo horizontal (eixo x) e
neste caso o valor da projeo chamado de cosseno de , e a projeo no eixo vertical
(eixo y) onde neste caso o seu valor chamado de seno de .
Como o raio do crculo tem valor unitrio, os valores destas projees
(independente se for feita no eixo horizontal ou vertical) ter valores variando entre 1
(maior valor) e -1 (menor valor).
A Figura 1.4 ilustra um exemplo de seno e cosseno de um ngulo no valor de
30. Repare que a diferena entre o seno e o cosseno que o seno comea do valor 0 e
o cosseno comea do valor 1.

Figura 1.4 Representao do Seno e Cosseno no Crculo Trigonomtrico.

Se variarmos continuamente este ngulo no tempo e fizermos um grfico


representando os valores do seno ou do cosseno deste ngulo, teremos a representao
de uma onda denominada senoidal (no caso do seno) e cossenoidal (no caso do
cosseno). A Figura 1.5 representa uma onda senoidal variando em funo do tempo.
A freqncia utilizada no exemplo de 1 Hz ou seja, 1 ciclo a cada segundo. A
19

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 1.6 representa uma cossenoide em funo do tempo tambm com freqncia de
1 Hz.

Figura 1.5 Senoide em Funo do Tempo.

Figura 1.6 Cossenoide em Funo do Tempo.

Neste tipo de onda, temos um ciclo de repetio que ocorre a cada 360 ou 2
radianos. Sendo que neste caso a amplitude mxima de 1, j que o valor do raio
unitrio, e a freqncia a quantidade de voltas completas que este vetor realiza no
crculo por unidade de tempo. Se for necessrio representar uma amplitude maior do
que 1, s multiplicar a funo seno ou cosseno pela amplitude desejada, como por
exemplo: f ( ) = A.sen( ) ou f ( ) = A. cos( ) , onde A representa a amplitude
desejada. A Figura 1.7 representa o grfico da funo seno e a Figura 1.8 o grfico da
funo cosseno em relao ao ngulo .

O ngulo que o vetor faz em relao ao eixo horizontal chamado de fase.


Sendo assim, quando representarmos a onda em funo da fase, teremos os valores do
seno e do cosseno em relao a este ngulo.
Resumindo, a fase o valor do ngulo formado por este vetor. Se o vetor se
movimenta continuamente no tempo, teremos a fase variando continuamente tambm.

20

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 1.7 Senoide em Funo da Fase.

Figura 1.8 Cossenoide em Funo da Fase.

1.1.3

Taxa de Transmisso Mxima de um Canal

Em 1928, H. Nyquist formulou uma equao que define a taxa de transmisso


mxima para um canal de banda passante limitada e imune a rudos. Como veremos mais
adiante, distores podem ocorrer durante a transmisso de um sinal por um meio fsico
devido a fatores como atenuao, rudos, etc. Alguns anos mais tarde, em 1948, Claude
Shannon estendeu os resultados de Nyquist para o caso de um canal sujeito a rudo trmico.
1.1.3.1

Teorema de Nyquist

Nyquist provou que, se um sinal arbitrrio transmitido atravs de um canal de


largura de banda B Hz, o sinal resultante da filtragem pode ser completamente
reconstrudo pelo receptor atravs da amostragem do sinal transmitido, a uma
freqncia igual a no mnimo 2B vezes por segundo. Nyquist demonstrou que esta a
freqncia mnima de amostragem necessria e, ao mesmo tempo, amostrar esse sinal
a uma freqncia maior que 2B intil, j que as freqncias componentes que seriam
recuperadas por tal amostragem j no existem no sinal devido filtragem do canal.
Para sinais digitais, isso corresponde a dizer que o nmero de transies de um nvel
de amplitude para outro no sinal original no pode ser maior do que 2B vezes por
segundo. A quantidade de transies de amplitudes chamada de baud. Em outras
palavras, atravs de um canal de largura de banda igual a B Hz, pode-se transmitir um
sinal digital de no mximo 2B bauds. Como 1 baud = log 2 L bps (onde L o nmero

21

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

de nveis utilizados na codificao), ento a capacidade D do canal na ausncia de


rudo dada por:
D = 2B log 2 L bps
Essa a frmula obtida por Nyquist para a capacidade mxima de um canal dada
a sua banda passante, na ausncia de rudo.

1.1.4

Fontes de Distoro de Sinais em Transmisso

Alm dos efeitos de distoro dos sinais transmitidos oriundos da banda passante
limitada do meio fsico, outros fatores causaro distores nos sinais durante a transmisso.
Entre eles encontramos: os rudos presentes durante a transmisso, a atenuao e os ecos.
Passemos a analisar cada um desses fatores, seus principais efeitos e a forma de contornlos.
1.1.4.1

Rudos

Em qualquer transmisso, o sinal recebido consiste no sinal transmitido


modificado por vrias distores inseridas durante a transmisso devido interferncia
de sinais indesejveis denominados rudos. O rudo um dos maiores limitantes do
desempenho de sistemas de comunicao.
A quantidade de rudo presente numa transmisso medida em termos da razo
entre a potncia do sinal e a potncia do rudo, denominado relao sinal-rudo. Se
representarmos a potncia do sinal por S e a potncia do rudo por N, a relao sinalrudo dada por S/N. muito comum utilizar-se, ao invs desta razo diretamente, o
valor 10 log10 (S/N) . O resultado obtido uma medida da relao sinal-rudo em uma
unidade denominada decibel (dB). Uma relao de 10 corresponde a 10 dB; uma
relao de 100 corresponde a 20 dB; uma relao de 1.000 corresponde a 30 dB e
assim por diante.
Rudos podem ser classificados em quatro tipos: rudo trmico, rudo de
intermodulao, crosstalk (linha cruzada) e rudo impulsivo.
1.1.4.1.1 Rudo Trmico

O rudo trmico uniformemente distribudo em todas as freqncias do


espectro (sendo por isso frequentemente citado como rudo branco) e sua
quantidade funo da temperatura.
1.1.4.1.2 Rudo de Intermodulao

Quando sinais de diferentes freqncias compartilham um mesmo meio


fsico, pode-se obter um rudo denominado de rudo de intermodulao. A
intermodulao pode causar a produo de sinais em uma faixa de freqncias,
que podero perturbar a transmisso de outro sinal naquela mesma faixa. Este
mau funcionamento acontece devido a defeitos em componentes do sistema ou
devido a sinais com potncia muito alta.
1.1.4.1.3 Rudo de Crosstalk (Linha Cruzada)

Crosstalk um rudo bastante comum em sistemas telefnicos. Quem de


ns ainda no teve a experincia de ser perturbado, durante uma conversao
telefnica, por uma conversao travada por terceiros? o fenmeno que
comumente chamamos de linha cruzada. Este efeito provocado por uma
interferncia indesejvel entre condutores prximos que induzem sinais entre si.

22

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

1.1.4.1.4 Rudo Impulsivo

Os tipos de rudo descritos at aqui tem magnitudes e caractersticas


previsveis de forma que possvel projetar sistemas de comunicao que se
ajustem a essas caractersticas. O rudo impulsivo, porm, no contnuo e
consiste em pulsos irregulares e com grandes amplitudes, sendo de preveno
difcil. Tais rudos podem ser provocados por diversas fontes, incluindo
distrbios eltricos externos, falhas nos equipamentos etc.
O rudo impulsivo , em geral, pouco danoso em uma transmisso
analgica. Em transmisses de voz, por exemplo, pequenos intervalos onde o
sinal corrompido no chegam a prejudicar a inteligibilidade dos interlocutores.
Na transmisso digital, o rudo impulsivo a maior causa de erros de
comunicao.
1.1.4.1.5 Lei de Shannon

Vinte anos depois de Nyquist, Shannon provou, tambm matematicamente,


que um canal tem uma capacidade mxima limitada. A parte mais interessante de
seu trabalho discute canais na presena de rudo trmico.
O principal resultado de Shannon (conhecido como a Lei de Shannon)
afirma que a capacidade mxima Dmax de um canal em bits por segundo (bps) cuja
largura de banda B Hz, e cuja relao sinal-rudo S/N, dada por:
D max = B log 2 (1 + S/N )
Um canal de 3.000 Hz (3 KHz), por exemplo, com uma relao sinal-rudo
de 30 dB (parmetros tpicos de uma linha telefnica) no poder, em hiptese
alguma, transmitir a uma taxa maior do que 30.000 bps (30 Kbps), no
importando quantos nveis de sinal se utilizem ou qual a freqncia de
sinalizao. importante notar que este um limite mximo terico, e que, na
prtica, difcil at mesmo se aproximar deste valor. Muito embora vrios
esquemas tenham sido propostos, a lei de Shannon constitui-se um limite mximo
intransponvel.
1.1.4.2

Atenuaes

A potncia de um sinal cai com a distncia, em qualquer meio fsico. Essa


atenuao , em geral, logartmica e por isso geralmente expressa em um nmero
constante em decibis por unidade de comprimento. A atenuao se d devido a
perdas de energia por calor e por irradiao. Em ambos os casos, quanto maiores as
freqncias transmitidas, maiores as perdas. A distoro por atenuao um problema
facilmente contornado em transmisso digital atravs da colocao de repetidores que
podem regenerar totalmente o sinal original, desde que a atenuao no ultrapasse um
determinado valor mximo. Para tanto, o espaamento dos repetidores no deve
exceder um determinado limite, que varia de acordo com a caracterstica de atenuao
do meio fsico utilizado.
1.1.4.3

Ecos

Ecos em linhas de transmisso causam efeitos similares ao rudo. Toda vez que
h uma mudana de impedncia (resistncia oferecida aos sinais oscilatrios) numa
linha, sinais sero refletidos e voltaro por esta linha, podendo corromper os sinais que
esto sendo transmitidos.

23

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Precaues para que a impedncia de uma linha de transmisso no seja alterada


podem ser tomadas para evitar a reflexo dos sinais. A utilizao de terminadores e
transceptores de alta impedncia um exemplo para evitar o eco em redes em barra.
Em sistemas telefnicos, os ecos podem ser bastante desagradveis quando
percebidos em intervalos maiores que dezenas de milissegundos. Nesses sistemas
comum a utilizao de canceladores de eco nos pontos onde inevitvel a alterao da
impedncia.
1.1.5

Tcnicas de Modulao

Todas as tcnicas de modulao envolvem o deslocamento do sinal original,


doravante denominado sinal modulador ou modulante, de sua faixa de freqncias original
para uma outra faixa. O valor desse deslocamento corresponde freqncia de uma onda
denominada portadora.
Toda onda possui trs caractersticas bsicas explicadas
anteriormente: amplitude, freqncia e fase. Quando se modula uma portadora, uma destas
caractersticas ser modificada em funo do sinal para que o destinatrio possa, atravs da
verificao da caracterstica usada na modulao, recuperar o sinal original.
O sinal modulador pode ser do tipo Analgico ou Digital levando a duas categorias
de modulao: a modulao analgica e a modulao digital.
1.1.5.1

Modulao Analgica

A modulao chamada de analgica quando o sinal modulador for do tipo


analgico. Existem trs tcnicas bsicas de modulao analgica, como mostra a
Figura 1.9.

Modulao por Amplitude (Amplitude Modulation AM);

Modulao por Freqncia (Frequency Modulation FM);

Modulao por Fase (Phase Modulation PM).

Figura 1.9 Exemplo de Modulao Analgica.

1.1.5.1.1 Modulao por Amplitude (AM)

Na modulao por amplitude, a portadora ter a sua amplitude sendo


modificada em funo do sinal modulador. Neste caso, quando o sinal modulador
aumenta em amplitude, a portadora tambm aumentar e quando o sinal
modulador diminuir de amplitude, a amplitude da portadora tambm ser
24

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

diminuda. Um cuidado importante a ser tomado quanto a amplitude mnima da


portadora. Se ela ficar inferior a capacidade do receptor em identific-la, o sinal
ser perdido.
1.1.5.1.2 Modulao por Freqncia (FM)

Na modulao por freqncia, a portadora ter a sua freqncia variando em


funo do sinal modulador. Quando o sinal modulador aumenta em amplitude, a
freqncia da portadora ser aumentada e quando o sinal diminuir de amplitude a
freqncia da portadora ser diminuda. A aparncia da portadora modulada fica
semelhante a um efeito de sanfona. Tal como no caso anterior, o aparelho
receptor analisar a variao na freqncia da portadora e assim reproduzir o
sinal original.
1.1.5.1.3 Modulao por Fase (PM)

Na modulao por fase, a portadora ter a variao da sua fase modificada


em funo do sinal modulador. Conforme o sinal vai aumentando de amplitude, a
velocidade com que a fase varia tambm aumenta, enquanto que quando o sinal
diminui em amplitude, a velocidade com que a fase varia tambm reduzida.
Neste caso a portadora modulada tambm possui a aparncia do efeito sanfona,
mas a forma como este efeito aplicado torna a onda modulada por fase diferente
da onda modulada por freqncia. O aparelho receptor, verificando a variao na
velocidade com que a fase varia, ele capaz de recuperar o sinal original.
1.1.5.2

Modulao Digital

No caso especfico do sinal modulador ser um sinal digital, utilizam-se as


mesmas tcnicas apresentadas anteriormente, s que neste caso mudam-se as
denominaes.

Modulao por Deslocamento de Amplitude (Amplitude Shift Keying


ASK);

Modulao por Deslocamento de Freqncia (Frequency Shift Keying


FSK);

Modulao por Deslocamento de Fase (Phase Shift Keying PSK).

A Figura 1.10 mostra um exemplo de modulao digital.

Figura 1.10 Exemplo de Modulao Digital.

25

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

1.1.5.2.1 Modulao por Deslocamento de Amplitude (ASK)

Na tcnica ASK, a amplitude do sinal resultante da modulao varia de


acordo com a amplitude do sinal que se quer modular, mantendo-se a freqncia
da onda portadora constante. Diferente da modulao analgica, s existiro duas
amplitudes. Uma referente modulao do valor um e outra referente ao valor
zero. No caso do valor zero, a amplitude reduzida a ponto de no haver mais a
portadora, sendo visto como silncio na transmisso.
1.1.5.2.2 Modulao por Deslocamento de Freqncia (FSK)

Na tcnica FSK, mantm-se a amplitude da portadora constante. O que


varia a freqncia de acordo com o sinal transmitido. Semelhante a tcnica
anterior, s existiro duas freqncias diferentes. Um referente modulao do
valor um e outra referente modulao do valor zero.
1.1.5.2.3 Modulao por Deslocamento de Fase (PSK)

Na tcnica PSK, a transmisso do sinal identificada por modificaes na


fase da onda transmitida. A amplitude e a freqncia da onda portadora so
mantidas constantes. No exemplo da Figura 1.10, quando existe a alternncia
entre o bit 0 e o bit 1, a fase da portadora deslocada de 180.
1.1.6

Comutao

Comutao a traduo literal de switching, que em portugus significa chavear.


Esse chaveamento a deciso sobre que caminho despachar a unidade de informao. Essa
funo pode ser realizada por comutadores (switches), como os Ethernet e ATM, ou, num
nvel mais alto, por roteadores. Esses ltimos, na verdade, so chamados de roteadores
porque executam uma estratgia qualquer para a escolha da rota a ser usada para despachar
o pacote, para em seguida comut-lo atravs da rede. A funo de comutao em uma rede
tambm se refere alocao de recursos para a transmisso pelos diversos dispositivos
conectados. A seguir, sero apresentadas as tcnicas de comutao existentes.
1.1.6.1

Circuitos

A comunicao via comutao de circuitos pressupe a existncia de um


caminho dedicado entre as estaes comunicantes. usada nas comunicaes
telefnicas, por exemplo. A Figura 1.11 ilustra uma comunicao via circuitos
chaveados (comutados). No estabelecimento da conexo, um circuito destinado para
existir durante toda a comunicao, esteja ela usando o meio ou no. Esse circuito s
desfeito aps o procedimento de desconexo.

Figura 1.11 Comutao de Circuito.

26

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

A Figura 1.12 ilustra a progresso da comunicao entre duas estaes. No


estabelecimento da conexo, uma mensagem de controle enviada ao destino.
Conforme ela vai sendo roteada, um caminho vai sendo alocado. Quando ela atinge
seu destino, uma mensagem de controle de confirmao enviada pelo destino, j
usando o canal alocado, sem processamento nos ns intermedirios. A comunicao
entre as estaes ento possvel, at que uma delas encerre a conexo. A mensagem
de desconexo vai provocando a liberao do circuito nos ns intermedirios.

Figura 1.12 Comutao por Circuito ao Longo do Tempo.

Problemas: como o caminho fica dedicado s estaes, mesmo que o trfego no


seja constante e contnuo, h grande desperdcio da capacidade de transmisso do
meio. Isso visvel quando usamos a linha telefnica com modens dial-up para
acessar Internet. Pagamos um valor de acordo com o tempo de utilizao, e no pelos
bytes transmitidos e recebidos, porque o circuito estabelecido estar nossa disposio
durante toda a conexo, independentemente de o usarmos ou no.
Obs.: o caminho entre origem e destino pode ser:

Um caminho fsico, com enlaces fsicos;

Uma sucesso de canais de freqncia alocados em cada enlace (FDM);

Uma sucesso de canais de tempo alocados em cada enlace (TDM


Sncrono), ou seja, a tcnica de comutao no implica diretamente em
uma ou outra tcnica de multiplexao.

A comutao de circuitos bastante utilizada em sistemas telefnicos com certas


vantagens, porque o trfego de voz tipicamente constante e contnuo. Os PBXs usam
esse sistema.
Nos primeiros sistemas o chaveamento era manual; depois, com os rels, passou
a ser automtica; posteriormente, passaram a ser multiplexadas na freqncia, e mais
recentemente, com a introduo das centrais digitais, multiplexados no tempo. Mais
adiante veremos estas tcnicas de multiplexao.

27

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Como concluses, temos que o retardo determinstico, pois o meio no


compartilhado, facilitando a recuperao do sinal. Mas o uso inadequado do meio
pode provocar indisponibilidade de recursos para o estabelecimento dos circuitos.
mais adequado para trfego contnuo, como voz, mas pssimo para o trfego de dados
(rajadas), porque no h como exceder o limite do canal para a transmisso de um pico
de transmisso, havendo o desperdcio durante os perodos de silncio.
1.1.6.2

Mensagens

Em funo das caractersticas inadequadas da comutao de circuitos para o


trfego de dados, surgiu a comutao de mensagens, ilustrado na Figura 1.13. Na
comutao de mensagens, no necessrio o estabelecimento de um caminho
dedicado, mas passa a ser necessrio um esquema de endereamento, para que a
mensagem possa ser roteada. Este o sistema store-and-forward (primeiro armazenar
para depois encaminhar). Somente aps o completo armazenamento local da
mensagem que a mesma ser despachada para o prximo n de comutao.
Obs.: esse caminho pode se encontrar ocupado recebendo outras mensagens, e
ainda outras mensagens podem estar aguardando para serem transmitidas, sendo
necessrio o estabelecimento de uma fila, tipicamente FIFO (first IN, first OUT).
O aproveitamento das linhas maior, j que os canais podem ser plenamente
compartilhados por vrias mensagens ao longo do tempo. As mensagens so sempre
transmitidas sob demanda.
Quando o trfego se torna muito intenso, diferentemente de uma rede de
comutao por circuitos, onde a conexo recusada, na comutao por mensagens a
mesma sempre aceita e colocada em uma fila para retransmisso ao prximo n.
Observe que h um gap (intervalo) entre as mensagens. Isso simboliza o retardo
provocado pela insero da mensagem em uma fila, mais o tempo de processamento,
ou seja, de escolha de rota.
O ganho a considerar aqui a economia de meios com os possveis atrasos na
entrega das mensagens, em relao comutao por circuitos.

Figura 1.13 Comutao por Mensagem ao Longo do Tempo.

28

Apostila de Fundamentos de Redes de Computadores


1.1.6.3

Prof: Ricardo Quinto

Pacotes

Para otimizar o esquema da comutao de mensagens, criou-se a comutao de


pacotes, cuja diferena bsica que as mensagens so divididas em pedaos de
tamanho ainda varivel (como nas mensagens), porm com um limite mximo definido
(pacotes). A Figura 1.14 mostra um exemplo de comutao por pacote enquanto que a
Figura 1.15 mostra como acontece ao longo do tempo. Pacotes de uma mesma
mensagem podem estar simultaneamente trafegando numa rede, e ainda por cima
possivelmente por caminhos diferentes (na modalidade datagrama), sendo muito
comum a recepo dos mesmos desordenados. Isso reduz sobremaneira o atraso da
rede de comutao de mensagens, alm de exigir menor capacidade de armazenamento
(memria) dos ns intermedirios. Tambm facilita a recuperao de erros pela
retransmisso apenas do pacote danificado, ao invs de toda a mensagem. Pode ser do
tipo circuito virtual ou datagrama, em funo do estabelecimento ou no de uma
determinada rota para transmisso dos pacotes.

Figura 1.14 Comutao por Pacote.

1.1.6.3.1 Comutao de Pacotes Circuito Virtual

A modalidade de Comutao por Pacotes atravs de circuitos virtuais


parecida com a Comutao por Circuitos comum, com a diferena fundamental de
que o meio pode (e normalmente ) compartilhado. O que no muda a rota. Os
pacotes, neste caso, sempre chegam na seqncia em que foram enviados. Nesse
caso, h o overhead (sobrecarga) das mensagens de controle para estabelecimento
da rota e seu desestabelecimento posterior. A vantagem o compartilhamento do
meio, com alocao de recursos em cada n de comutao.
1.1.6.3.2 Comutao de Pacotes Datagrama

Na modalidade datagrama, h a grande vantagem de reduzir o overhead


para estabelecer rotas prvias, alm de possibilitar um maior volume de dados de
uma mesma transmisso simultaneamente, pois permite a presena de vrios
pacotes no meio de transmisso, j que os pacotes podem trafegar por caminhos
diferentes. Devido a isso, so necessrias informaes de controle no cabealho
para o roteamento particularizado de cada datagrama nos vrios ns de
comutao, alm de um mecanismo de reordenao de pacotes no destino, j que
devido a possibilidade dos datagramas percorrerem caminhos diferentes, eles
podero chegar fora de ordem.

29

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 1.15 Comutao por Pacote ao Longo do Tempo.

1.1.6.4

Clulas

A comutao de clulas um caso particular da comutao de pacotes,


modalidade circuitos, onde todos os pacotes possuem tamanhos fixos (53 bytes). Seu
tamanho diminuto permite grande velocidade na comutao, e o fato de ser fixo
permite que as verificaes de erro sejam feitas por hardware, com velocidades muito
superiores ao convencional. A tecnologia ATM, que ser vista adiante, implementa a
comutao de clulas. Backbones de alta velocidade vem implementando essa tcnica,
capaz de oferecer taxas de 155 Mbps a 10 Gbps, sem a necessidade de grandes
alteraes de arquitetura, como ocorre no padro Ethernet, por exemplo.
1.1.7

Forma de Comunicao

A comunicao por um determinado meio pode acontecer de trs formas diferente:


simplex, half-duplex e full-duplex.
Simplex: neste tipo de comunicao, o meio permite a veiculao da
informao em apenas um nico sentido como por exemplo, as
transmisses de TV, Rdio e alguns pagers.
Half-Duplex: neste tipo de comunicao, o meio permite a veiculao da
informao nos dois sentidos, porm, elas no podem ocorrer
simultaneamente. Exemplo: Walktalk.
Full-Duplex: neste tipo de comunicao, o meio permite a veiculao da
informao nos dois sentidos simultaneamente, como por
exemplo, ligaes telefnicas.
1.1.8

Multiplexao

Sempre que a banda passante de um meio fsico for maior ou igual banda passante
necessria para um sinal, podemos utilizar este meio para a transmisso do sinal. Na
prtica, a banda passante necessria para um sinal , em geral, bem menor do que a banda
passante dos meios fsicos disponveis, como mostra a Figura 1.16.

30

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 1.16 Desperdcio de Banda Passante do Meio Fsico.

A pergunta natural a se fazer neste momento : no seria possvel aproveitar a banda


extra disponvel para a transmisso de outros sinais? Vamos supor a existncia de trs
sinais (C0, C1 e C2) com a banda passante necessria indicada na Figura 1.17, no seria
possvel transmiti-los simultaneamente atravs de um mesmo meio fsico como mostrado
nesta mesma figura? A resposta a essa pergunta sim, e a tcnica que permite a
transmisso de mais de um sinal em um mesmo meio fsico denominada multiplexao.
Existem duas formas bsicas de multiplexao:

Multiplexao na Freqncia (Frequency Division Multiplexing FDM);

Multiplexao no Tempo (Time Division Multiplexing TDM).

Figura 1.17 Multiplexao na Freqncia (FDM).

1.1.8.1

Multiplexao na Freqncia

Em primeiro lugar, se passarmos um filtro em cada um dos sinais da Figura 1.17


de forma a preservar somente a faixa relativa banda passante necessria de cada um
deles, teremos dado o primeiro passo para alojar esses trs sinais na forma desejada,
sem que um sinal interfira no outro. O passo seguinte deslocar a faixa de freqncias
original do segundo e do terceiro sinal de forma que eles passem a ocupar as trs faixas
disjuntas, sem sobreposio. Como vimos anteriormente, a tcnica de modulao
permite esse deslocamento de freqncia. Dessa forma, os trs sinais podem ser
transmitidos no meio fsico, cada um deles ocupando uma banda ou canal distinto com
tamanho necessrio para a sua transmisso. Como os sinais foram previamente
filtrados de acordo com a sua banda passante necessria, a informao de cada um
deles est preservada e contida naquela faixa de freqncia na qual est sendo
transmitido e em nenhuma outra.
Considere o exemplo ilustrado na Figura 1.18. Nessa figura, esto representados
trs sinais de voz atravs de seus espectros. Um dos sinais foi modulado para a
freqncia de 4 KHz 8 KHz e um outro foi modulado para a freqncia de 8 KHz
12 KHz. Os sinais so passados por filtros de forma a impedir que existam
componentes em outras freqncias que no a faixa a eles reservadas, faixas estas de
31

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

tamanho igual a 4 KHz. Note que mencionamos anteriormente que a banda passante
necessria para um sinal de voz tem uma largura de 3 KHz, portanto, 4 KHz mais do
que suficiente para a transmisso desses sinais. Aps terem sido filtrados, esses sinais
podem trafegar simultaneamente pelo meio fsico.

Figura 1.18 Exemplo de Multiplexao na Freqncia de trs Sinais de Voz.

Um receptor que deseje recuperar um dos sinais transmitidos numa linha


multiplexada na freqncia, dever conhecer a faixa de freqncias que est sendo
utilizada para a sua transmisso. Dessa forma, ele poder deslocar o sinal recebido de
forma a fazer o sinal desejado ocupar novamente a sua faixa original (de 0 a n Hz). O
sinal demodulado pode a seguir ser filtrado para conter somente o sinal original. A
Figura 1.19 ilustra o processo de transmisso em uma linha multiplexada na
freqncia. Equipamentos capazes de realizar modulaes e demodulaes de sinais
so denominados MODEMs (MOduladores/DEModuladores).

Figura 1.19 Transmisso em uma Linha Multiplexada na Freqncia.

32

Apostila de Fundamentos de Redes de Computadores


1.1.8.2

Prof: Ricardo Quinto

Multiplexao no Tempo

A Multiplexao por diviso do tempo se beneficia do fato de que a capacidade


(em bits por segundo) do meio de transmisso, em muitos casos, excede a taxa mdia
de gerao de bits das estaes conectadas ao meio fsico. Quando isso ocorre, vrios
sinais podem ser transportados por um nico caminho fsico, intercalando-se pores
de cada sinal no tempo. A multiplexao no tempo pode ser classificada em sncrona
ou assncrona.
1.1.8.2.1 TDM Sncrono

No TDM sncrono (ou simplesmente TDM), o domnio do tempo dividido


em intervalos de tamanho fixo T chamados frames; cada frame subdividido em
N subintervalos {t1, t2, ..., tn} denominados slots ou segmentos que formam uma
partio dos frames que, por sua vez, formam uma partio do tempo infinito,
como mostra a Figura 1.20.

Figura 1.20 TDM Sncrono.

Denomina-se canal, ao conjunto de todos os slots, um em cada frame,


identificados por uma determinada posio fixa dentro desses frames. Por
exemplo, o canal 3 forma pelo terceiro slot de cada frame. Canais podem ser
alocados a estaes que desejem transmitir. Cada estao dever esperar o slot
correspondente dentro de cada frame, quando ento poder transmitir durante o
tempo daquele slot, utilizando a taxa de transmisso mxima suportada pelo meio
fsico.
Da mesma forma que alocamos canais de freqncias em redes utilizando
FDM, em redes que utilizam TDM, os canais devem ser alocados s diferentes
fontes de transmisso ou estaes. Se a alocao de um determinado canal fixa
durante todo o tempo e preestabelecida antes do funcionamento da rede, ento
tem-se um canal dedicado.
Canais tambm podem ser alocados e desalocados dinamicamente durante o
funcionamento da rede. Nesse caso, esses canais so denominados canais
chaveados, de forma anloga nossa definio para redes em banda larga. Uma
estao, ao alocar um canal chaveado, pode transmitir neste canal pelo tempo que
desejar. Quando no desejar mais o monoplio do canal, a estao o devolve
controladora do sistema, que agora pode aloc-lo a outras estaes. Este esquema
de alocao sempre utilizado quer o canal seja ponto a ponto ou multiponto.
No TDM sncrono com canais chaveados, quando um canal alocado,
estabelece-se uma conexo que permanece dedicada estao transmissora at o
momento em que ela resolva desfaz-la. Essa forma de chaveamento
denominada chaveamento de circuitos, como foi visto na Seo 1.1.6.1. Note que

33

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

quando uma estao que alocou um canal no estiver transmitindo (ou a taxa de
transmisso for menor do que a taxa assegurada pelo canal), tem-se um
desperdcio de capacidade do meio fsico, j que o canal alocado no pode ser
utilizado por qualquer outra estao at o momento da desconexo como mostra a
Figura 1.21.

Figura 1.21 Desperdcio de Capacidade com TDM Sncrono.

1.1.8.2.2 TDM Assncrono

Uma alternativa ao TDM sncrono que procura eliminar o desperdcio da


capacidade existente nesse esquema o TDM assncrono (tambm conhecido por
TDM estatstico ou STDM Statistical TDM). Nesse esquema, no h alocao
de canal nem estabelecimento de conexo. Parcelas de tempo so alocadas
dinamicamente de acordo com a demanda das estaes. Nenhuma capacidade
desperdiada, pois o tempo no utilizado est sempre disponvel caso alguma
estao gere trfego e deseje utilizar o canal de transmisso. Em compensao,
no TDM assncrono, cada unidade de informao transmitida deve sempre conter
um cabealho com os endereos de origem e de destino como mostra a
Figura 1.22. No TDM sncrono, cada canal j identifica o transmissor. Em canais
ponto a ponto com TDM sncrono, esse cabealho totalmente desnecessrio j
que o receptor tambm identificado pela conexo.

34

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 1.22 TDM Assncrono.

No havendo a noo de conexo dedicada, o canal sempre compartilhado


no tempo por todas as estaes a ele conectadas, sendo o acesso definido como
assncrono.
1.1.8.3

Caractersticas do FDM e do TDM

Como vimos na Multiplexao por Diviso de Freqncia (FDM), a utilizao da


modulao necessria para deslocar os sinais originais para outra faixa de freqncia.
A filtragem dos sinais permite o compartilhamento do mesmo meio fsico sem que um
sinal interfira nas faixas de freqncias adjacentes que carregam outros sinais. Os
resultados da modulao de sinais foram apresentados na Figura 1.9 e na Figura 1.10.
Nota-se que os sinais digitais so transformados em sinais analgicos e, por esse
motivo, comum associarmos os sistemas de banda larga transmisso analgica.
J em esquemas que utilizam Multiplexao por Diviso do Tempo (TDM), os
sinais so transmitidos em banda bsica, sendo portanto, sinais digitais. Assim,
associa-se TDM transmisso digital.
Como j havamos mencionado, a transmisso digital oferece vantagens sobre a
analgica principalmente no que diz respeito recuperao dos sinais na presena de
rudos. Sinais, em transmisso digital podem ser regenerados atravs de repetidores
que no propagam rudos. Alm disso, possvel implementar esquemas de deteco
e correo de erros que estudaremos mais adiante.
1.1.8.4

Sistemas em Banda Larga e em Banda Bsica

As tcnicas de transmisso esto diretamente relacionadas com as tcnicas de


multiplexao. Duas tcnicas de transmisso so as mais empregadas: a sinalizao
em banda bsica e a sinalizao em banda larga.

35

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

1.1.8.4.1 Sinalizao em Banda Bsica

Na sinalizao em banda bsica, o sinal simplesmente colocado na rede


sem se usar qualquer tipo de modulao, aparecendo diretamente na rede e no
como deslocamento de freqncia, fase ou amplitude de uma portadora de alta
freqncia.
A sinalizao em banda bsica vem sendo adotada nos projetos de redes por
no necessitar de modems e por possibilitar a transmisso em alta velocidade,
sendo utilizada a tcnica de multiplexao TDM. Para transmisses a longas
distncias, certas precaues devem ser tomadas. A tcnica tambm no
adequada a circuitos que esto sujeitos a rudos, interferncias e erros aleatrios.
No ambiente restrito das redes locais, contudo, a sinalizao em banda bsica, em
geral, adequada.
1.1.8.4.2 Sinalizao em Banda Larga

Ao contrrio da sinalizao em banda bsica, na qual toda a banda de


freqncia do meio utilizada para produzir o sinal, a sinalizao em banda larga
realiza a multiplexao em freqncia (FDM). Com essa multiplexao, o
espectro de freqncias do meio dividido em vrios canais, cada um podendo
suportar diferentes trfegos.
A sinalizao em banda larga geralmente utilizada em redes locais em
barra. Sua utilizao numa topologia em anel problemtica, pois exigiria que
cada repetidor fosse capaz de receber e retransmitir dados nos mltiplos canais. O
custo de dispositivos para a realizao desta tarefa tornaria a rede invivel.
1.1.9

Digitalizao de um Sinal pela Tcnica PCM

Nas sees anteriores, examinamos a codificao de informaes digitais por sinais


analgicos atravs de processos que denominamos de modulao. Essa tcnica necessria
quando desejamos empregar multiplexao na freqncia (FDM) em redes em banda larga,
ou quando necessitamos ajustar a faixa de freqncias do sinal para transmisso em um
canal especfico com caractersticas prprias (como o caso da transmisso de dados via
linhas telefnicas).
Fora os casos citados anteriormente, a transmisso digital , em geral, mais vantajosa
do que a analgica devido, principalmente, possibilidade de restaurarmos o sinal original
mesmo na presena de falhas ou rudos no sistema. A transmisso digital vem substituindo
a analgica sempre que possvel, inclusive na prpria rede telefnica, com a instalao de
novas centrais e cabos de fibra ptica.
A informao de voz originalmente analgica. Para utilizarmos as vantagens da
transmisso digital, devemos codific-la em um sinal digital antes da transmisso. Os
dispositivos capazes de codificar informaes analgicas em sinais digitais so
denominados CODECs (CODer/DECoder). Nesta seo examinaremos a principal tcnica
utilizada por CODECs, denominada PCM (Pulse Code Modulation Modulao por
Cdigo de Pulso).
A tcnica PCM baseada no teorema de Nyquist (ou teorema da amostragem)
apresentado na Seo 1.1.3.1. O teorema assegura que uma taxa de amostragem duas vezes
superior que a largura de banda do sinal (B) suficiente para recuperar este sinal.
Utilizando uma taxa de amostragem maior ou igual a 2B, o sinal original deve ser
amostrado e, a cada amostra, deve-se associar um valor proporcional amplitude do sinal

36

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

naquele ponto. Este processo conhecido como PAM (Pulse Amplitude Modulation
Modulao por Amplitude de Pulso).
A partir dos pulsos PAM, podemos produzir os pulsos PCM atravs de um processo
conhecido como quantizao, onde cada amostra PAM aproximada a um inteiro de n bits.
No exemplo da Figura 1.23, escolhemos n = 3 , dando origem a oito nveis (23). A sada
PCM corresponde ao resultado dessa quantizao.
Podemos calcular, a partir desse processo, a taxa gerada pela transmisso de
informaes analgicas atravs de sinais digitais. Considere o caso de sinais de voz, por
exemplo. Se assumirmos que a banda passante necessria desses sinais tem largura igual a
4.000 Hz (4 KHz), a taxa de amostragem de Nyquist , neste caso, igual a 8.000 amostras
por segundo. Se escolhermos essa taxa e codificarmos cada amostra com oito bits, a taxa
gerada ser 8.000 8 = 64 Kbps .

Figura 1.23 Digitalizao de um Sinal (PCM).

37

Apostila de Fundamentos de Redes de Computadores


1.1.10

Prof: Ricardo Quinto

Codificao e Transmisso de Sinais Digitais em Banda Bsica

A codificao de sinais em banda bsica mais conhecida denominada codificao


NRZ (Non Return to Zero), onde h a presena de dois nveis de tenso ou corrente, cada
qual representando um dos dois smbolos digitais (0 ou 1). Temos utilizado at agora, em
nossos exemplos, esse tipo de codificao, por se tratar do mais simples. J observamos
que, neste esquema, definimos um intervalo de sinalizao, durante o qual o sinal
permanece inalterado de forma a caracterizar o bit transmitido, como mostra a Figura 1.24.
O receptor deve procurar amostrar o sinal recebido no meio deste intervalo, onde o sinal j
se encontra estvel, de forma a reconhecer o nvel de tenso ou corrente correto, e recuperar
a informao, como mostra a Figura 1.25.

Figura 1.24 Codificao NRZ.

Para uma amostragem correta, receptor e transmissor precisam ter seus clocks
(relgios) sincronizados em freqncia e fase. As diferenas de fase e freqncia entre os
clocks do transmissor e do receptor so, em geral, difceis de resolver. O problema da
freqncia envolve a utilizao de osciladores com freqncias idnticas que, na prtica,
so difceis de conseguir.

Figura 1.25 Recuperao de um Sinal NRZ.

A diferena de fase envolve outros fatores ainda mais incontrolveis, como por
exemplo, o instante em que so disparados os circuitos osciladores de transmisso e
recepo. Podem-se adotar duas estratgias bsicas para lidar com esse problema de
sincronismo dos clocks, que determinam as duas formas bsicas de transmisso: a
transmisso assncrona e a transmisso sncrona.
1.1.10.1

Transmisso Assncrona

Na transmisso assncrona, admite-se que a referncia de tempo de transmissor e


receptor no nica, apenas prxima, e tenta-se lidar com essas diferenas. A tcnica
de codificao de dados utilizada nesta soluo usualmente a NRZ e para que haja o
sincronismo nas fases do clock do transmissor e do receptor, no incio de uma
transmisso de dados enviado um sinal de incio (start bit) e logo em seguida
enviado o sinal com os dados. Como existe a diferena na freqncia, o sincronismo
no poder ser mantido por muito tempo, levando a uma limitao no tamanho dos
dados enviados que variam de 5 a 8 bits. Ao final desta seqncia, enviado um sinal

38

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

de parada (stop bit) para indicar ao receptor que pare o seu clock e aguarde uma nova
transmisso atravs de um start bit como mostra a Figura 1.26.

Figura 1.26 Exemplo de Transmisso Assncrona.

Detalhando um pouco mais o funcionamento da transmisso assncrona, no


receptor utiliza-se um oscilador com uma freqncia mltipla, digamos n vezes maior
que a freqncia do oscilador do transmissor. Sendo fr e ft as freqncias dos clocks de
recepo e transmisso, e Tr e Tt os respectivos perodos de cada clock, podemos
escrever:
f r = nf t
Como temos a relao entre freqncia e perodo dada por: T =

1
, podemos
F

escrever que:
Tr =

1
fr

Tr =

1
nf t

Como f t =
Tr =

Tr =

1
temos que:
Tt

1
1
n
Tt

Tt
n

Detectado o incio de uma recepo, a amostragem se far depois de passados


n 2 pulsos de clock do receptor. Admitindo que a freqncia de oscilao do receptor
tenha um erro de preciso, esta no ser maior do que uma frao de um perodo, ou
seja, a defasagem que pode ser introduzida no ultrapassa o intervalo Tt n , podendo
essa defasagem ser, teoricamente, reduzida o quanto se queira, bastando para isso
aumentarmos o valor de n.
Note, porm, que mesmo pequenas defasagens, aps um intervalo grande de
transmisso, iro se acumular provocando o afastamento do instante de amostragem do
centro do intervalo de sinalizao, se fr no for exatamente igual a nft. Por esse
motivo, a transmisso assncrona orientada transmisso de caracteres que so

39

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

pequenas unidades de dados que variam, em geral, entre 5 e 8 bits, como foi
comentado anteriormente, de forma a no permitir longas seqncias de bits.
Para o funcionamento correto da recepo, precisamos de um mecanismo que
permita a deteco precisa do incio da recepo de um caracter, uma vez que no
queremos a introduzir um erro de fase. De posse desse mecanismo, a cada caracter
teremos anulado toda a defasagem que por ventura tenha se acumulado no caracter
anterior, pois comeamos a marcar novamente o meio dos bits, a partir do incio do
primeiro bit do caracter corrente. Por esse motivo, a transmisso assncrona ser
caracterizada pela transmisso de caracteres delimitados por bits especiais
denominados start bit e stop bit, conforme mostra a Figura 1.26.
O start bit marca o incio da transmisso de um caracter. O start bit deve sempre
apresentar uma transio inicial de 1 para 0 de forma a marcar bem a sua presena e
permitir o disparo da contagem no oscilador de recepo, que deve contar n 2 pulsos
para chegar ao instante de amostragem. Aps o start bit, segue-se o caracter, e mais
um bit opcional de paridade utilizado em determinados esquemas de deteco de erros
que ser apresentado na Seo 1.1.11.1. Por fim, um stop bit colocado para marcar o
fim do caracter, permitindo que o receptor tenha um intervalo de tempo para ter acesso
ao seu registro de recepo, e tambm para garantir a transio no incio do prximo
start bit do caracter seguinte, caso este seja transmitido logo a seguir. A Figura 1.27
ilustra todo este funcionamento considerando um n = 2 .

Figura 1.27 Exemplo de Transmisso e Recepo Assncrona.

Podemos notar que, como o incio de um caracter bem delimitado, caracteres


podem ser transmitidos espaados entre si de forma aleatria. No h a necessidade de
transmitir um aps o outro, j que a deteco correta do incio de um caracter o
suficiente para garantir o funcionamento correto dos osciladores durante a transmisso
e recepo desse caracter.
1.1.10.2

Transmisso Sncrona

Na transmisso sncrona, procura-se garantir a existncia de uma referncia


nica de tempo para o transmissor e receptor durante cada transmisso. Existem
dois modos de realizarmos essa tarefa.

40

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

O primeiro, o mais simples, consiste em enviar em um canal separado dos dados,


o clock do circuito transmissor. Se cuidados forem tomados de forma que os dados
transmitidos sofram exatamente os mesmos retardos que o clock do circuito
transmissor, esse clock poder ser usado pelo circuito receptor como a base para a
amostragem correta dos dados recebidos. A tcnica de codificao de dados utilizada
nesta soluo , em geral, a NRZ.
A soluo apresentada no pargrafo anterior, embora teoricamente simples,
apresenta alguns problemas prticos. O primeiro deles a necessidade de dois canais
de transmisso (um para os dados e outro para o clock), com toda a duplicao dos
circuitos de transmisso correspondentes, aumentando em muito o custo de
transmisso. Outro problema a exigncia dos circuitos apresentarem os mesmos
retardos de transmisso. De forma anloga, os meios de transmisso utilizados devem
ser perfeitamente idnticos de forma a apresentar o mesmo retardo de propagao.
Uma pequena variao no comprimento do meio poderia impossibilitar qualquer
comunicao. Enfim, qualquer variao de retardos poderia ocasionar a amostragem
incorreta de dados no receptor. Esse problema ser tanto mais crtico quanto maiores
forem as velocidades de transmisso empregadas e as distncias envolvidas.
O segundo modo de se realizar uma transmisso sncrona consiste em enviar
dados e informaes de sincronismo que permitam recuperar o clock, juntos em um
mesmo canal, utilizando alguma tcnica de codificao. Ao receptor cabe separar
esses dois sinais e, a partir do clock recuperado, realizar a amostragem dos dados.
Essa alternativa evita o problema contido na primeira soluo, ou seja, a necessidade
de dois canais, com os problemas que da advm.
So vrias as tcnicas de codificao usuais em redes de computadores para a
transmisso conjunta de dados e informaes de sincronismo em um mesmo canal.
Todas elas baseiam-se no fato de garantirmos a existncia de transies em qualquer
que seja o padro de bits transmitidos. Tambm em todas as tcnicas h a necessidade
do envio de informaes de sincronismo antes do incio da transmisso. A seguir
vamos exemplificar duas dessas tcnicas, utilizadas nos padres IEEE 802: a
codificao Manchester e a codificao Manchester Diferencial.
1.1.10.2.1 Codificao Manchester

A codificao Manchester, nada mais nada menos que a modulao em


fase dos dados e clock. Essa tcnica tem todas as vantagens da utilizao de
apenas um canal de transmisso. Conforme podemos ver na Figura 1.28, na
codificao Manchester uma transio positiva representa o bit 1 e uma transio
negativa representa o bit 0. Como cada bit possui uma transio, o sinal carrega
seu prprio pulso de clock. A Figura 1.29 mostra um exemplo de transmisso
utilizando a codificao Manchester.

Figura 1.28 Codificao Manchester.

41

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 1.29 Exemplo de Codificao Manchester.

Na codificao Manchester, toda transmisso de bits 0 e 1 implica em


transies no sinal, mas nem toda transio representa um bit. Note, por exemplo,
na Figura 1.29, a transio que aparece ao final do bit 0 quando o bit seguinte
tambm 0. O fato de que nem toda transio representa um bit dificulta a
separao dos dados e o sincronismo no sinal transmitido. Se, no entanto,
transmitirmos antes de cada pacote de dados um prembulo de 0s e 1s se
alternando, todas as transies desse prembulo sero significativas e a partir
delas ser possvel recuperar o clock, que da em diante ser simplesmente
ajustado em fase com as prximas transies existentes no meio de cada bit
transmitido. Recuperado o clock, a recuperao dos dados trivial, pois agora
sabemos quais transies carregam informaes e quais no carregam. A
Figura 1.30 mostra como possvel descobrir o perodo do clock original (T) a
partir do prembulo.

Figura 1.30 Recuperao do Perodo do Clock Atravs do Prembulo.

A Figura 1.31 mostra a separao dos dados e clock no sinal recebido. A


lgica simples. A partir de cada transio vlida, esperamos 3 4 do perodo de
sinalizao e amostramos o sinal recebido. A amostragem ocorrer na descida do
ciclo do clock recuperado. O prembulo garante que o algoritmo comea sempre
de uma transio vlida. O sinal amostrado exatamente o inverso do sinal
transmitido. Note na Figura 1.31 que os bits do sinal recuperado so o inverso do
valor do sinal amostrado na descida do clock recuperado. No sinal recuperado
est faltando um bit no comeo (bit 0), porque no consideramos a existncia do
prembulo neste exemplo. Em uma transmisso real, o prembulo no s levaria
a recuperao do perodo do clock original (T) como tambm evitaria a perda do
primeiro bit de dados da transmisso.

42

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 1.31 Exemplo de Transmisso Manchester.

1.1.10.2.2 Codificao Manchester Diferencial

A codificao Manchester Diferencial derivada da codificao


Manchester. Conforme podemos ver na Figura 1.32, como na codificao
Manchester, cada bit representado por duas metades, tendo a segunda metade a
polaridade inversa da primeira, isto , existe sempre uma transio no meio do bit.
Um bit 0 representado por uma transio no comeo (mudana de polaridade) da
sua transmisso, enquanto que o bit 1 representado por nenhuma transio
(mesma polaridade) no comeo da sua transmisso.

Figura 1.32 Exemplo de Codificao Manchester Diferencial.

A separao dos sinais (dados e sincronismos) realizada de modo similar


codificao Manchester apresentada na Seo 1.1.10.2.1.

43

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Alm das vantagens provenientes da utilizao de um s cabo, as


codificaes Manchester, diferencial ou no, trazem intrinsecamente o seu prprio
esquema de deteco de erro. Cada bit Manchester vlido tem uma transio no
meio. Se um rudo causar a inverso de alguma metade deste bit, a ausncia de
transio vai representar um dado Manchester invlido. Apenas o evento
improvvel da inverso das duas metades da clula criaria um erro no detectvel,
mas a probabilidade deste fenmeno ocorrer so nfimas.
interessante notarmos que, na codificao Manchester, diferencial ou no,
os bits so representados por mudana de polaridade do sinal. Sinais que no
mudam de polaridade tambm existem, embora no sejam utilizados para
representao de informao propriamente dita, mas sim para funes especiais.
Um smbolo carregado por um perodo de sinalizao que no muda de polaridade
mantendo o nvel baixo denominado bit J. O smbolo que no muda de
polaridade, porm mantm o nvel alto denominado bit K. Os bits J e K nunca
aparecem nos dados transmitidos, mas podem ser utilizados para funes de
delimitao de pacotes.
O prembulo, como vimos, serve para ajudar a separao dos dados e clock
na codificao Manchester. Ele tem, contudo, outras funes alm desta,
utilizadas em todas as tcnicas de codificao apresentadas. Nas redes locais que
no usam Multiplexao em Freqncia, a ausncia de transmisso indicada pela
ausncia de sinal no meio. Se um dispositivo fosse iniciar a transmisso com o
comeo de seus dados, provavelmente os dispositivos receptores perderiam os
primeiros bits, pois precisam de um tempo finito para ajustarem os seus clocks
internos freqncia e/ou fase do transmissor. Esta mais uma razo para a
existncia do prembulo. Se o receptor perder um pedao do prembulo, ele
ainda ser capaz de reconhecer o seu final pelo aparecimento de alguma seqncia
particular, e a partir da, receber os dados corretamente. Notemos que em
sistemas onde h transmisses ininterruptas de pacote de dados, a necessidade de
prembulo verifica-se apenas para a iniciao do sistema. Uma vez iniciado, no
h mais necessidade de envio de prembulo, a no ser para uma nova iniciao.
Uma outra caracterstica a ser explorada na codificao Manchester que a
ausncia de transmisso pode ser detectada pela simples ausncia de transies no
meio.
1.1.11

Tcnicas de Deteco de Erros

Apresentamos na Seo 1.1.4, vrios fenmenos que podem causar erros de


transmisso, como os rudos. Na impossibilidade de eliminar totalmente esses fenmenos,
sistemas de comunicao devem ser projetados de forma a possibilitar a recuperao da
informao perdida. O primeiro passo para qualquer esquema de tratamento de erros a
sua deteco. Reconhecer que um quadro foi recebido com erro ir permitir que se tomem
as providncias necessrias, que podero variar de acordo com as necessidades das
aplicaes e com as caractersticas dos dados transmitidos. Nesta seo abordaremos
apenas as tcnicas para a sua deteco.
Todos os mtodos de deteco de erros so baseados na insero de bits extras na
informao transmitida. Esses bits consistem em informaes redundantes, isto , que
podem ser obtidas a partir da informao original. Esses bits so computados pelo
transmissor atravs de algum algoritmo que tem como entrada os bits originais a serem
transmitidos. Aps computar esses bits, o transmissor os acrescenta aos bits de informao
propriamente dita, para ento prosseguir com a transmisso do quadro. Quando o quadro
44

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

recebido, o receptor, conhecendo o algoritmo utilizado pelo transmissor, pode recomputar


os bits de redundncia e compar-los com os respectivos bits recebidos no quadro. Se eles
forem diferentes, detectou-se a presena de um erro.
Vrios algoritmos para gerao de bits de redundncia j foram propostos e podem
ser encontrados nas literaturas. Iremos apresentar resumidamente duas das principais
tcnicas conhecidas pelos nomes de Paridade e CRC (Cyclic Redundancy Checks
Checagem de Redundncia Cclica).
1.1.11.1

Paridade

A forma mais simples de redundncia para deteco de erros j foi mencionada


anteriormente quando apresentamos a transmisso assncrona na Seo 1.1.10.1,
consistindo na insero de um bit de paridade ao final de cada caracter de um quadro.
O valor desse bit escolhido de forma a deixar todos os caracteres com um nmero par
de bits 1 (paridade par) ou com um nmero mpar de bits 1 (paridade mpar).
Tipicamente, em transmisses assncronas, costuma-se utilizar a paridade par. Se o
transmissor desejar, por exemplo, transmitir o caracter 1110001, utilizando paridade
mpar, ele acrescentar um bit 1 ao final do caracter, de forma que a seqncia
resultante ter um nmero mpar de bits 1 (no caso, 5 bits 1), ficando 11100011. O
receptor, examinando o caracter recebido, dever sempre encontrar um nmero de bits
1 mpar, caso em que assumir que a transmisso foi efetuada com sucesso. Caso
contrrio, houve algum erro durante a transmisso que ocasionou a inverso de um ou
mais bits. Se a paridade fosse par, teria sido acrescentado o bit 0, de forma que
continuaria existindo um total par de bits 1 (no caso, 4 bits 1).
Note que, caso um nmero par de bits tenha sido invertido, o receptor no ser
capaz de perceber a existncia de erro, pois a paridade ainda estar correta.
1.1.11.2

CRC

Como vimos anteriormente, o esquema de paridade muito restrito, sendo pouco


eficiente na deteco de erros. Esquemas de melhor eficincia j foram propostos,
dentre eles o CRC.
Nesse esquema, um quadro de k bits, representado por um polinmio D(X).
Como exemplo, o quadro 1101011011 onde k = 10 representado pelo polinmio
D ( X ) = X 9 + X 8 + X 6 + X 4 + X 3 + X + 1 . A ordem do polinmio D(X) ser k 1 .
No transmissor gerado um polinmio temporrio L(X), formado pela
concatenao dos dados com uma quantidade n de zeros, onde n representa a ordem do
polinmio gerador G(X). Em seguida, o polinmio temporrio L(X) dividido em
mdulo 2 pelo polinmio gerador G(X). Aps esta diviso, obteremos um resto r(X),
cuja ordem ser inferior ordem do polinmio gerador G(X) representado aqui por n.
Por ltimo, o polinmio temporrio L(X), ser subtrado do resto da diviso r(X)
criando o polinmio que ser transmitido T(X). Este polinmio a ser transmitido
formado pelo dado concatenado ao resto, onde os n bits extras acrescentados direita
dos dados so chamados de FCS (Frame Check Sequence Seqncia de checagem de
Quadro). Na Figura 1.33 temos um exemplo da gerao de uma transmisso usando
como tcnica de deteco de erro o CRC.

45

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Quadro 1101011011 D ( X ) = X 9 + X 8 + X 6 + X 4 + X 3 + X + 1
Polinmio Gerador 10011 G ( X ) = X 4 + X + 1 (ordem 4 n = 4 )

L(X) = 11010110110000
Realizando a diviso em mdulo 2 de L(X) por G(X).

Realizando a subtrao em mdulo 2 de L(X) por r(X) resultando no T(X).

Figura 1.33 Criao do FCS usando a Tcnica CRC no Transmissor.

Sempre que subtrado do dividendo o resto obtido pela diviso, o resultado ,


obrigatoriamente, um mltiplo do divisor. Sendo assim, aps a subtrao do
polinmio L(X) por r(X), gerando o polinmio T(X), este polinmio ser divisvel por
G(X).
Todos os equipamentos que receberem o polinmio T(X) podero realizar a sua
verificao realizando a sua diviso por G(X) e verificando se o resto igual a zero,
como mostra a Figura 1.34. Se for, considera-se que no houve alterao na
transmisso e ento pode-se dar continuidade ao seu processamento. No caso de ns
intermedirios, realizar a retransmisso. No caso do destinatrio, realizar a retirada do
FCS e ento encaminhar o dado para as camadas superiores da hierarquia de
transporte.

46

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 1.34 Verificao dos Dados Usando a Tcnica CRC feita no Receptor.

Alguns polinmios geradores so largamente utilizados e padronizados. Como


exemplo, temos os seguintes:

CRC 12 = X 12 + X 11 + X 3 + X 2 + X + 1
CRC 16 = X 16 + X 15 + X 2 + 1
CRC CCITT = X 16 + X 12 + X 5 + 1

CRC 32 = X 32 + X 26 + X 23 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1
O esquema baseado em CRC-12 utilizado em seqncias de caracteres de seis
bits gerando FCS de 12 bits. Tanto o CRC-16 quanto o CRC-CCITT so populares
para seqncias de caracteres de oito bits, na Europa e EUA, respectivamente, ambos
resultam em FCS de 16 bits. O CRC-32 foi o escolhido pelo comit IEEE-802 para ser
utilizado em redes locais, gerando FCS de 32 bits.

47

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Captulo 2
Meios de Transmisso e Topologia de Redes
No nvel mais baixo, toda a comunicao entre computadores envolve codificar dados em uma
forma de energia e enviar essa energia atravs de um meio de transmisso. Por exemplo, a corrente
eltrica pode ser usada para transferir dados atravs de um fio, ou as ondas de rdio podem ser usadas
para carregar dados atravs do ar. Uma vez que os dispositivos de hardware conectados a um
computador executam a codificao e a decodificao dos dados, os programadores e os usurios no
precisam conhecer os detalhes da transmisso de dados. Entretanto, j que um papel principal do
software de comunicao tratar os erros e as falhas que surgem no hardware subjacente,
compreender tal software requer o conhecimento de alguns conceitos bsicos sobre transmisso de
dados.
Nesta seo abordaremos os principais meios de transmisso de dados e as topologias de redes,
isto , a forma como os equipamentos sero conectados uns aos outros.
2.1

Meios de Transmisso

2.1.1

Fios de cobre

As redes de computadores convencionais usam fios como o meio primrio para


conectar computadores porque o fio barato e fcil de instalar. Embora os fios possam ser
feitos de vrios tipos de metais, muitas redes usam o cobre porque sua baixa resistncia
corrente eltrica significa que os sinais podem viajar mais longe. Assim, os profissionais
de rede usam s vezes o termo cobre como sinnimo de fio.
O tipo de fiao usado em redes de computadores escolhido para minimizar a
interferncia. A interferncia surge porque um sinal eltrico que viaja atravs de um fio
age como uma estao de rdio em miniatura. O fio emite um pouco de energia
eletromagntica, que pode viajar atravs do ar. Alm disso, sempre que encontra um outro
fio, uma onda eletromagntica gera uma corrente eltrica pequena no fio. A quantidade de
corrente gerada depende da fora da onda eletromagntica e da posio fsica do fio.
Geralmente, os fios no chegam perto o suficiente para fazer da interferncia um problema.
Por exemplo, se dois fios esto dispostos prximos um do outro em um ngulo reto e um
sinal passa atravs de um dos fios, a corrente gerada no outro quase indetectvel.
Entretanto, quando dois fios so colocados juntos em paralelo, um sinal forte enviado em
um fio gerar um sinal similar no outro. J que os computadores no podem distinguir
entre sinais gerados acidentalmente e as transmisses normais, a corrente gerada pode ser
forte o bastante para transtornar ou impedir um comunicao normal. Infelizmente, o
problema da interferncia srio porque os fios que compreendem uma rede de dados so
freqentemente colocados em paralelo com muitos outros fios. Por exemplo, os fios de um
computador podem encontrar-se ao lado dos fios de outros computadores ou dos fios para
outras redes.
Para minimizar a interferncia, as redes usam um de dois tipos bsicos de fiao: Par
Tranado ou Cabo Coaxial.

48

Apostila de Fundamentos de Redes de Computadores


2.1.1.1

Prof: Ricardo Quinto

Cabo de Par Tranado

A fiao tranada do par usada tambm por sistemas de telefonia. O termo se


deve ao fato de que cada fio revestido com um material isolador, e ento um par dos
fios torcido, tal como mostra a Figura 2.1.

Figura 2.1 Par Tranado.

As tores simples mudam as propriedades eltricas do fio e ajudam o mesmo a


se tornar apropriado para o uso em uma rede. Em primeiro lugar, uma vez que limitam
a energia eletromagntica que o fio emite, as tores ajudam a impedir que as correntes
eltricas no fio irradiem energia que interfere com os outros fios. Em segundo, j que
fazem o par dos fios menos suscetvel energia eletromagntica, as tores ajudam a
impedir que os sinais em outros fios interfiram com o par.
2.1.1.2

Cabo Coaxial

O segundo tipo de fiao de cobre usado nas redes o cabo coaxial, o mesmo
tipo de fiao usado para a TV a cabo. O coaxial fornece ainda maior proteo contra
interferncia do que o par tranado. Em vez de tranar fios um ao redor do outro para
limitar a interferncia, um cabo coaxial consiste em um nico fio cercado por um
protetor de metal mais pesado tal como ilustrado na Figura 2.2.

Figura 2.2 Cabo Coaxial.

O protetor de metal pesado em um cabo coaxial forma um cilindro flexvel em


torno do fio interno que fornece uma barreira irradiao eletromagntica. A barreira
isola o fio interno de duas maneiras: protege o fio da energia eletromagntica entrante
que poderia causar a interferncia e evita que sinais no fio interno irradiem energia
eletromagntica que poderia afetar outros fios. Uma vez que cerca o centro do fio
uniformemente em todos os lados, o protetor em um cabo coaxial especialmente

49

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

eficaz. O cabo pode ser colocado em paralelo com outros cabos ou dobrado e torcido
em torno dos cantos. O protetor permanece sempre no lugar.
A idia de usar um protetor para proteger os fios foi aplicada tambm ao par
tranado. Um cabo par tranado protegido consiste em um par de fios cercado por um
protetor de metal. Cada fio revestido com um material isolante, de forma que o
metal em um fio no toque o metal em outro. O protetor forma meramente uma
barreira que impede que a irradiao eletromagntica entre ou escape. A proteo
adicional fornecida pelo cabeamento com cabo coaxial ou par tranado protegido
freqentemente usada quando os fios de uma rede passam perto de equipamentos que
geram campos eltricos ou magnticos fortes (por exemplo: um ar condicionado de
grande porte).
2.1.2

Fibras de Vidro

As redes de computadores usam tambm fibras de vidro flexveis para transmitir


dados. Conhecido como fibra ptica, o meio usa a luz para transportar dados. A fibra de
vidro em miniatura revestida de plstico que permite que a fibra se dobre sem quebrar.
Um transmissor em uma extremidade de uma fibra usa um diodo emissor de luz (light
emitting diode, LED) ou um laser para enviar pulsos de luz pela fibra. Um receptor no
extremo oposto usa um transistor sensvel luz para detectar os pulsos.
As fibras pticas tm quatro vantagens principais sobre fios. Em primeiro lugar,
como usam luz, as fibras pticas no causam interferncia eltrica em outros cabos nem so
suscetveis interferncia eltrica. Em segundo lugar, como as fibras de vidro podem ser
fabricadas para refletir a maioria da luz interna, uma fibra pode carregar um pulso de luz
muito mais longe do que um fio de cobre pode carregar um sinal. Em terceiro lugar, j que
a luz pode codificar mais informao do que sinais eltricos, uma fibra ptica pode carregar
mais informao do que um fio. Em quarto lugar, ao contrrio da eletricidade, que requer
sempre um par de fios conectado em um circuito completo, a luz pode viajar de um
computador a outro sobre uma nica fibra.
Apesar de suas vantagens, as fibras pticas tm algumas desvantagens.
Primeiramente, a instalao de uma fibra requer um equipamento especial que faa o
polimento das extremidades para permitir que a luz passe completamente. Em segundo
lugar, se uma fibra quebrar dentro do revestimento plstico, encontrar onde ocorreu o
problema difcil. Em terceiro lugar, reparar uma fibra quebrada difcil porque um
equipamento especial necessrio para juntar duas fibras de modo que a luz possa passar
atravs da juno.
2.1.3

Rdio

Alm de seus usos para transmisso pblica dos programas de rdio e de televiso e
para uma comunicao privada com dispositivos como telefones portteis, podem ser
usadas radiaes eletromagnticas para transmitir dados de computador. Informalmente,
diz-se que uma rede que usa ondas de rdio eletromagnticas opera na freqncia de rdio,
e as transmisses so chamadas de transmisses RF. Ao contrrio das redes que usam fios
ou fibras pticas, as redes que usam transmisso de RF no requerem uma conexo fsica
direta entre computadores. Em vez disso, cada computador participante est conectado a
uma antena, que pode tanto transmitir como receber RF.
2.1.4

Satlites

Embora as transmisses de rdio no se curvem de acordo com a superfcie da terra, a


tecnologia RF pode ser combinada com satlites para fornecer comunicao atravs de

50

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

distncias mais longas. Por exemplo, a Figura 2.3 ilustra como um satlite de
comunicaes na rbita em torno da terra pode fornecer uma conexo de rede atravs de um
oceano. O satlite contem um transponder que consiste em um receptor de rdio e um
transmissor. O transponder aceita uma transmisso de rdio entrante, amplifica-a e
transmite o sinal amplificado para a terra em um ngulo ligeiramente diferente do que
chegou. Uma estao terrestre em um lado do oceano transmite um sinal ao satlite, que o
envia ento a uma estao no outro lado. Devido ao fato de ser caro colocar um satlite de
comunicaes em rbita, um nico satlite contm geralmente os mltiplos transponders
que operam independentemente (tipicamente seis a doze). Cada transponder usa uma
freqncia de rdio diferente (isto , canal), possibilitando que comunicaes mltiplas
prossigam simultaneamente. Alm disso, como um nico canal do satlite pode ser
compartilhado, ele pode servir a muitos clientes.

Figura 2.3 Comunicao Via Satlite.

2.1.4.1

Satlites Geossncronos ou Geoestacionrios

Os satlites de comunicao podem ser agrupados em categorias de acordo com


a altura em que orbitam. O tipo mais fcil de entender conhecido como satlites
geossncronos ou geoestacionrios. O nome se deve ao fato de que um satlite
geossncrono colocado em uma rbita que seja sincronizada exatamente com a
rotao da terra. Tal rbita classificada como uma rbita geoestacionria da terra
(Geostacionary Earth Orbit GEO) porque, quando visto da terra, o satlite parece
pemanecer exatamente no mesmo ponto no cu o tempo todo. Por exemplo, um
satlite geoestacionrio em rbita circular acima do equador, sobre o Oceano
Atlntico, pode ser usado para repassar transmisses entre Europa e Amrica do Norte
a qualquer hora, porque permanece acima do mesmo ponto sobre o oceano.
As leis da fsica determinam a distncia exata da terra na qual um satlite deve
orbitar para permanecer sincronizado com a rotao da terra. A distncia necessria
para a rbita geossncrona aproximadamente 35.800 quilmetros. Os engenheiros s
vezes se referem distncia como a rbita elevada da terra. No Apndice B
mostrado o clculo da rbita de um satlite.
interessante perceber que h uma quantidade limitada de espao disponvel
na rbita geossncrona acima do equador, porque os satlites de comunicao que
usam uma mesma freqncia devem ser separados um do outro para evitar a
interferncia. A separao mnima depende do poder dos transmissores, mas requer
geralmente uma separao angular entre 4 e 8. Assim, o crculo inteiro de 360
acima do equador pode acomodar somente 45 a 90 satlites.

51

Apostila de Fundamentos de Redes de Computadores


2.1.4.2

Prof: Ricardo Quinto

Satlites de Baixa rbita da Terra

Uma segunda categoria de satlites de comunicao opera no que chamada de


rbita Baixa da Terra (Low Earth Orbit, LEO), o que significa que orbitam algumas
centenas de quilmetros acima da terra (normalmente 320 a 645 quilmetros). A
principal desvantagem de uma rbita de baixa altitude se encontra na velocidade em
que um satlite deve viajar. Como seus perodos de rotao so mais rpidos do que a
rotao da terra, os satlites em rbitas mais baixas no permanecem estacionrios
acima de um nico ponto na superfcie da terra. Em vez disso, um observador que
esteja na terra e que olhe para cima atravs de um telescpio v tais satlites moveremse atravs do cu. De fato, um nico satlite pode completar uma rbita inteira em
aproximadamente 1,5 horas.
Do ponto de vista de um provedor de comunicaes, ter um satlite que no
aparenta permanecer estacionrio causa problemas. Em primeiro lugar, o satlite pode
ser usado somente durante o tempo em que sua rbita passa entre duas estaes
terrestres. Em segundo lugar, a utilizao mxima requer sistemas complexos de
controle que se movam continuamente de forma que as estaes terrestres apontem
diretamente para o satlite.
2.1.4.3

Arrays de Satlites de Baixa rbita da Terra

Foi inventado um esquema interessante que permite uma comunicao contnua


atravs de satlites em rbita baixa. Em vez de focalizar em um satlite, o esquema
requer que uma companhia de comunicao lance um conjunto de satlites em rbitas
baixas da terra como mostra a Figura 2.4. Embora um dado satlite orbite
rapidamente, o conjunto de rbitas escolhido de modo que em cada ponto na terra
exista ao menos um satlite acima a qualquer momento (so necessrios sessenta e seis
satlites para fornecer servio sobre a superfcie inteira da terra). Do ponto de vista de
um observador na terra, parece que um satlite emerge de um ponto no horizonte, voa
em cima, e ento desaparece em um pondo do horizonte oposto. A chave do esquema
se encontra no conjunto de rbitas que garante que ao menos um satlite esteja
disponvel em qualquer momento.

Figura 2.4 Array de Satlites.

Alm dos transponders usados para comunicao com as estaes da terra, um


array de satlites de rbita baixa contm equipamento de rdio usado para comunicarse com outros satlites no array. Enquanto se movem atravs de suas rbitas, os
satlites se comunicam um com o outro e concordam no encaminhamento de dados.
Por exemplo, suponha que, em um dado momento, um satlite viajando sobre a Europa
receba uma transmisso de uma estao terrestre na Alemanha, destinada para um local
dos Estados Unidos. O satlite receptor poderia repassar uma transmisso a um outro
52

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

satlite, que a repassaria a um terceiro que pode alcanar uma estao terrestre nos
Estados Unidos prxima ao destino. Com o passar do tempo, os satlites vo adiante e
os novos satlites tomam seu lugar, significam que uma transmisso mais tarde da
Alemanha para os Estados Unidos poderia ter que atravessar trs outros satlites no
array.
2.1.5

Microondas

A radiao eletromagntica alm da faixa de freqncia usada por rdio e televiso


pode ser usada tambm para transportar informaes. Em particular, muitas empresas de
telefonia interurbana usam transmisses de microonda para carregar conversas telefnicas.
Umas poucas empresas de grande porte instalaram tambm sistemas de comunicao de
microonda como parte do sistema de rede da empresa.
Embora as microondas sejam meramente uma verso das ondas de rdio com
freqncia mais elevada, elas se comportam de maneira diferente. Em vez de transmitir em
todas as direes, uma transmisso de microonda pode ser apontada em uma nica direo,
impedindo que outros interceptem o sinal. Alm disso, a transmisso de microondas pode
carregar mais informaes do que transmisses de RF de freqncia mais baixa.
Entretanto, j que as microondas no podem penetrar em estruturas de metal, a transmisso
de microondas trabalha melhor quando h um trajeto desobstrudo entre o transmissor e o
receptor. Como conseqncia, a maioria das instalaes baseadas em microondas consiste
em duas torres que so mais altas do que os edifcios e a vegetao circundantes, cada uma
com um transmissor de microondas apontado diretamente para um receptor de microondas
no outro.
2.1.6

Infravermelho

Os controles remotos sem-fio usados com dispositivos tais como televises e


aparelhos de som comunicam-se atravs de transmisses em infravermelho.
O
infravermelho limitado a uma rea pequena (por exemplo, uma nica sala) e exige
geralmente que o transmissor esteja apontando para o receptor. O hardware infravermelho
barato se comparado a outros mecanismos, no requer uma antena.
As redes de computadores podem usar a tecnologia infravermelha para a transmisso
de dados. Por exemplo, possvel equipar uma sala grande com uma nica conexo
infravermelha que fornea acesso rede a todos os computadores na sala. Os
computadores podem permanecer em contato com a rede enquanto so movidos dentro da
sala. As redes de infravermelho so especialmente convenientes para computadores
pequenos e portteis porque o infravermelho oferece as vantagens de comunicao sem-fio
sem necessitar do uso de antenas. Assim, um computador porttil que use infravermelho
pode ter todo o hardware de comunicao embutido.
2.1.7

Luz de Laser

J mencionamos que a luz pode ser usada para comunicao atravs de fibras pticas.
Um feixe de luz pode tambm ser usado para carregar dados atravs do ar. Como um
sistema de comunicao de microondas, uma comunicao que use luz consiste em dois
locais, um que possua um transmissor e um outro que possua um receptor. O equipamento
de comunicao montado em uma posio fixa, freqentemente em uma torre, e alinhado
de forma que o transmissor em uma posio envie seu feixe de luz diretamente ao receptor
na outra. O transmissor usa um laser para gerar o feixe de luz porque um feixe de laser
coerente permanecer focalizado sobre uma longa distncia.

53

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Como uma transmisso de microondas, a luz de um laser deve viajar em uma linha
reta e no deve ser obstruda. Infelizmente, um feixe de laser no pode penetrar na
vegetao ou em condies climticas como neve e nvoa. Assim, a transmisso via laser
tem uso limitado.
2.2

Classificao de Redes

Como foi visto, dependendo do volume de trfego e do alcance que se necessita realizar
uma comunicao, precisa-se escolher o meio adequado para realizar esta transferncia. No
pode-se esquecer tambm dos fatores que podem interferir no sinal durante a comunicao.
Devido a isso, as redes so classificadas de acordo com a sua abrangncia, como vemos abaixo:

2.3

LAN: abreviatura de Local Area Network, que significa Rede de rea Local
uma rede que tem como caracterstica principal o alcance do porte de uma
empresa. Limitando-se a uma distncia da ordem de poucos quilmetros
(2,5 Km para redes Ethernet)

MAN: abreviatura de Metropolitan Area Network, que significa Rede de rea


Metropolitana. Esta rede tem como caracterstica bsica o alcance em uma
rea do porte de uma cidade.

WAN: abreviatura de Wide Area Network, que significa Rede Geograficamente


distribuda. Possui como caracterstica a interligao de longas distncias,
como estados, pases e continentes.

Topologia de Redes Locais (LAN)

J que muitas tecnologias de LAN tm sido inventadas, importante conhecer como as


tecnologias especficas so semelhantes e como elas diferem. Para ajudar a entender as
semelhanas, cada rede classificada em uma categoria de acordo com a sua topologia ou forma
geral. Esta seo descreve as trs topologias usadas mais freqentemente com LANs.
2.3.1

Estrela

Uma rede usa uma topologia de estrela se todos os computadores se prendem a um


ponto central. A Figura 2.5 ilustra o conceito.

Figura 2.5 Topologia em Estrela.

Uma vez que uma rede em forma de estrela se assemelha a uma roda, o centro de uma
rede em estrela chamado de centralizador. Um centralizador tpico consiste em um
dispositivo eletrnico que aceita dados de um computador remetente e os encaminha para o
computador de destino. No Captulo 4 descreveremos alguns equipamentos que podem
realizar o trabalho de centralizador.
A Figura 2.5 mostra uma rede de estrela idealizada. Na prtica, as redes em estrela
tm raramente uma forma simtrica em que o centralizador esteja localizado a uma
distncia igual de todos os computadores. Em vez disso, freqentemente um centralizador
54

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

reside em uma localizao separada dos computadores acoplados a ele. Por exemplo, os
computadores podem residir em escritrios individuais, enquanto o centralizador reside em
uma localizao acessvel para o pessoal responsvel pela administrao da rede.
2.3.2

Anel

Na topologia em anel, os computadores so organizados de forma que sejam


conectados em um loop fechado. Um cabo conecta o primeiro computador a um segundo
computador, outro cabo conecta o segundo computador a um terceiro, e assim por diante,
at que um cabo conecte o computador final de volta ao primeiro. O nome anel surge
porque algum pode imaginar os computadores e os cabos que os conectam organizados em
um crculo tal como mostra a Figura 2.6.

Figura 2.6 Topologia em Anel.

importante entender que o anel, assim como a topologia em estrela, refere-se a


conexes lgicas entre computadores, no orientao fsica. Os computadores e as
conexes em uma rede em anel no precisam ser organizados em um crculo. Em vez
disso, o cabo entre um par de computadores em uma rede em anel pode seguir um corredor
ou subir verticalmente de um andar de um edifcio para outro. Alm disso, se um
computador est longe de outros do anel, os dois cabos que conectam o computador
distante podem seguir o mesmo caminho fsico.
2.3.3

Barramento

Uma rede que usa uma topologia de barramento normalmente consiste em um nico
cabo longo ao qual computadores se acoplam. Qualquer computador acoplado a um
barramento pode enviar um sinal atravs do cabo, e todos os computadores recebero o
sinal. A Figura 2.7 ilustra a topologia. Como todos os computadores ligados pelo cabo
podem detectar um sinal eltrico, qualquer computador pode enviar dados a qualquer outro
computador. Naturalmente, os computadores acoplados a uma rede de barramento devem
se coordenar para assegurar que somente um computador envia um sinal a cada momento
para evitar o caos.

Figura 2.7 Topologia de Barramento.

55

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Captulo 3
Modelo OSI
Quando as redes comearam a ser desenvolvidas, questes de interoperabilidade e projeto
comearam a surgir. Visando a essas questes e visando tambm acomodar a interconexo de redes
proprietrias e heterogneas, a ISO desenvolveu em 1974 uma arquitetura e modelo de referncia para
servir como base para atividades futuras de padronizao de redes. O modelo resultante foi chamado
formalmente de modelo de referencia OSI (Open Systems Interconnect Interconexes de Sistemas
Abertos). O modelo OSI apresenta um conjunto detalhado de padres para descrever uma rede. Ele
forma um arcabouo conceitual para o desenvolvimento de padres para protocolos de redes.
Uma das caractersticas mais interessantes do modelo OSI a definio e codificao formal do
conceito de arquitetura de rede em camadas. So utilizadas camadas descritivas operacionalmente
bem-definidas que descrevem o que acontece em cada estgio no processamento de dados a serem
transmitidos. Esse conceito de camadas extremamente importante, uma vez que as redes so
sistemas no-triviais. Em funo da natureza complexa de uma rede, extremamente difcil projetar
uma arquitetura que:

Tenha alto grau de conectividade;

Seja confivel;

Seja fcil de implementar, usar e modificar.

As camadas ajudam a reduzir esta complexidade. Organizando as funes de uma rede em uma
srie de camadas hierrquicas, o projeto de uma rede bastante simplificado. Por exemplo, uma
abordagem baseada em camadas possibilita que as funes e servios de uma camada sejam
completamente independentes e isolados das outras camadas.
Com isso, podemos alterar os recursos de uma camada sem mudar significativamente a
arquitetura como um todo. medida que novas tecnologias vo surgindo para uma nova camada, elas
podem ser implementadas sem afetar as demais camadas. Teoricamente, uma camada pode ser
completamente removida, alterada e reinserida sem afetar as outras camadas acima ou abaixo dela.
As camadas em redes so similares programao modular. Assim como os programas grandes de
computador so quebrados em mdulos de programa independentes e separados, as camadas
subdividem uma arquitetura de rede em componentes independentes e separados. Cada uma delas
responsvel por um conjunto especfico de funes e servios. Protocolos especficos definem os
servios e a maneira como esses servios so disponibilizados.
As camadas do modelo OSI so (de cima para baixo, iniciando pela camada 7 (a mais alta) e
indo at a camada 1 (a mais baixa): aplicao, apresentao, sesso, transporte, rede, enlace de dados
e fsica. Cada camada composta de duas partes: definio de servios, que define o tipo de servios
oferecidos pela camada, e especificao de protocolo, que detalha as regras que governam a
implementao de um servio especfico em particular. As camadas mais baixas oferecem servios
para as camadas mais altas. Geralmente, essas camadas definem os recursos de comunicao
necessrios para que ocorra a comunicao entre dois dispositivos quaisquer. A Figura 3.1 apresenta
o modelo OSI e a Tabela 3.1 mostra a finalidade de cada camada.

56

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Funcionalidades das Camadas do Modelo OSI


Camadas

Funcionalidades

Aplicao (7)

Apresentao (6)

Sesso (5)

Transporte (4)

Rede (3)

Enlace (2)

Fsica (1)

Consiste de protocolos que definem as aplicaes especficas orientadas para usurios, como correio
eletrnico, transferncia de arquivos e terminal virtual.
Alguns exemplos so: FTAM (File Transfer, Access and Management) para manipular arquivos
remotamente; X.400 (para correio eletrnico) e CMIP (Common Management Information Protocol)
para gerenciamento de rede.
Acrescenta um cabealho durante a transmisso dos dados para que a camada de aplicao da
mquina de destino saiba o que fazer.
Retira o cabealho durante uma recepo colocada pela mquina de origem para transmitir os dados
ao aplicativo.
Trata de formatos de dados, tradues e converses de cdigo.
Cuida da sintaxe e semntica dos dados transmitidos.
Codifica mensagens em formatos adequados para transmisso eletrnica.
Compresso e criptografia dos dados efetuados nessa camada.
Recebe mensagens da camada de aplicao, formata essas mensagens e as transmite para a camada de
sesso.
Na prtica essa camada freqentemente incorporada na camada de aplicao.
Acrescenta um cabealho durante a transmisso dos dados para que a camada de apresentao da
mquina de destino saiba o que fazer.
Retira o cabealho durante uma recepo colocada pela mquina de origem para transmitir.
Trata da coordenao entre processos de comunicao entre os ns.
Responsvel pelas regras de dilogo (por exemplo, verificar se uma conexo permite comunicao
em half duplex ou full duplex), pela sincronizao do fluxo de dados e pelo restabelecimento da
conexo em caso de falha.
Alguns exemplos so o AppleTalk Data Stream Protocol para transferncia confivel de dados entre
dois ns, o NetBEUI (uma extenso do NetBIOS) e o Printer Access Protocol para acessar uma
impressora PostScript em uma rede AppleTalk.
Usa a camada de apresentao acima dela e a camada de transporte abaixo dela.
Acrescenta um cabealho durante a transmisso dos dados para que a camada de sesso da mquina
de destino saiba o que fazer.
Retira o cabealho durante uma recepo colocada pela mquina de origem para transmitir.
Trata da entrega de dados sem erros.
Aceita dados da camada de sesso, quebra os dados em pacotes menores, se necessrio, passa os
pacotes para a camada de rede e garante que eles cheguem ao destino completos e corretos.
Acrescenta um cabealho durante a transmisso dos dados para que a camada de transporte da
mquina de destino saiba o que fazer.
Retira o cabealho durante uma recepo colocada pela mquina de origem para transmitir.
Responsvel pela rota entre redes para que os dados sejam entregues na rede de destino.
Resolve todos os problemas inerentes transmisso de dados entre redes heterogneas.
As mensagens formatadas so denominadas pacotes.
Acrescenta um cabealho e um fecho durante a transmisso dos dados para que a camada de rede da
mquina de destino saiba o que fazer.
Retira o cabealho e o fecho durante uma recepo colocada pela mquina de origem para transmitir.
Responsvel pela transferncia de dados entre pontos de uma mesma rede.
Trata de deteco de erros, enquadramento e controle de fluxo.
Resolve problemas relativos a quadros danificados, perdidos ou duplicados.
As mensagens formatadas so denominadas quadros em vez de pacotes.
Acrescenta um cabealho e um fecho durante a transmisso dos dados para que a camada de enlace
da mquina de destino saiba o que fazer.
Retira o cabealho e o fecho durante uma recepo colocada pela mquina de origem para transmitir.
Responsvel por transmitir bits atravs de uma ligao; transporta energia.
Aceita quadros da camada de enlace de dados e traduz os bits em sinais do meio fsico abaixo dela.
Cuida de questes como o tipo de cabo em uso, o tipo de conector (ou seja, a interface) que liga um
dispositivo a um meio e o esquema de sinalizao.
Acrescenta um cabealho e um fecho durante a transmisso dos dados para que a camada de fsica da
mquina de destino saiba o que fazer.
Retira o cabealho e o fecho durante uma recepo colocada pela mquina de origem para transmitir.

Tabela 3.1 Funcionalidades das Camadas do Modelo OSI.

57

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 3.1 Modelo OSI em Camadas.

3.1

Tipos de Servios OSI

H dois tipos diferentes de servios oferecidos pelas camadas OSI:

Orientados a conexo.

No orientados a conexo.

Algumas camadas tambm incluem multiplexao como um servio adicional, mas isso
no necessariamente cruza todas as camadas da arquitetura. Os servios ficam disponveis nos
SAPs (Service Access Points Pontos de Acesso a Servios), tendo cada SAP um endereo
correspondente.
3.1.1

Servio Orientado a Conexo

Esse tipo de servio sugere que antes da transferncia de dados uma ligao fsica (ou
virtual) se estabelea entre ns de emisso e recepo. Essa ligao permanece efetiva
durante toda a sesso. Quando a sesso se completa, a ligao removida. As
caractersticas de um servio orientado a conexo incluem:

Desperdcio de largura de banda, uma vez que a ligao permanece mesmo


durante intervalos da transmisso;

Alto risco potencial de prender a rede, pois h sempre a possibilidade de


uma ligao no ser concluda;

Garantia de chegada seqencial dos pacotes ao n de destino (aspecto


positivo).

O sistema telefnico um exemplo de servio orientado a conexo. Voc estabelece


uma conexo (disca uma nmero) e, uma vez feita a conexo, transfere dados pelo circuito
(comea a falar). A comunicao ocorre na seqncia apropriada (as palavras e sentenas
so recebidas na ordem correta). No final da transferncia a conexo liberada (o telefone
desligado liberando o circuito). Observe as questes de desperdcio de largura de banda e
de prender a rede. Se uma conexo telefnica efetuada, mas ningum fala, a largura de
banda desperdiada porque o circuito fica estabelecido sem que ningum o utilize.

58

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Algum tentando contatar esse aparelho durante esse perodo de silncio ouviria um sinal
de ocupado uma conexo presa.
3.1.2

Servio no Orientado a Conexo

Esse tipo de servio diferente do servio orientado por conexo, pois nenhuma
ligao fsica se estabelece entre os ns emissor e receptor antes da transmisso dos dados.
Em vez disso, uma mensagem quebrada em pacotes e encaminhada pela rede. Cada
pacote independente dos outros pacotes, que carregam partes da mensagem e, portanto,
precisam carregar um endereo de destino.
Os pacotes podem chegar fora de ordem. Imagine uma agencia de correios como um
provedor de servios no orientado a conexo. Se voc envia a algum cinco cartas
separadas e enumeradas de 1 a 5, precisa colocar o endereo de recebimento em cada uma
delas. Uma vez remetidas, as cartas no seguiro necessariamente a mesma rota de entrega,
e possvel que sejam recebidas fora de seqncia (por exemplo, a carta 3 recebida antes
da carta 2). Um servio no orientado a conexo pode ser confivel ou no-confivel. Um
servio no-confivel no requer aviso do recebimento dos dados provenientes do receptor
para o emissor. Isso se chama servio de datagramas como foi visto na Seo 1.1.6.3.2.
Um servio confivel requer uma confirmao de recebimento. Isso equivale a comparar
um servio de remessa regular com uma remessa registrada com aviso de recebimento.
Um dos melhores e mais prticos exemplos desses servios a Internet. Vamos
ilustrar os dois servios enviando uma mensagem pela Internet. Antes de fazer isso,
entretanto, precisamos de um pouco de metodologia de endereamento.
Para enviar uma mensagem de um n a outro pela Internet, trs endereos diferentes
so necessrios. O primeiro o endereo de hardware, que identifica de forma nica cada
n. Endereos de hardware so fornecidos pela camada de enlace de dados. O segundo o
endereo de rede, que identifica a rede qual o n est conectado. No TCP/IP, esse
chamado de endereo de internet ou endereo IP (Internet Protocol). Endereos de rede
operam na camada de rede. Cada n da rede que faz parte da Internet tem um endereo IP
nico. O terceiro endereo o endereo da porta, que identifica de forma nica uma
aplicao especfica de usurio, como correio eletrnico. Todas as aplicaes de rede tm
identificadores correspondentes denominados nmero de porta.
Para enviar uma mensagem de um n a outro, uma mensagem primeiramente criada
na camada de aplicao. Ela passa pelos formatos necessrios enquanto desce pelas
camadas. Quando a mensagem atinge a camada de rede, um endereo de rede alocado
para ela. Esse endereo de rede identifica a rede especfica onde est conectado o n de
destino. A camada de rede determina o caminho que a mensagem deve seguir para atingir
o n de destino. Ela tambm encapsula os pacotes como datagramas IP e os passa
camada de enlace de dados. Na camada de enlace de dados, o endereo de hardware do n
de destino adicionado a cada pacote. Esse endereo identifica de forma nica a
localizao do n de destino na rede atual. A camada de enlace de dados, dentre outras
tarefas, coloca o pacote na forma de quadros, que so semelhantes aos pacotes, mas
existem em nveis mais baixos, e verifica a integridade de cada quadro. Os quadros so
ento passados para a camada fsica, que os coloca no meio de transmisso.
3.2

OSI Hoje

Do incio at meados dos anos 90, a literatura sobre redes estava repleta de artigos
apresentando as vantagens e virtudes do modelo OSI. Muitos administradores de redes
desenvolveram estratgias para migrar suas redes para o modelo OSI, e alguns chegaram a
professar que todas as redes deveriam dar suporte a um nico protocolo: OSI. At mesmo o
59

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

governo dos Estados Unidos adotou o OSI ao estabelecer o perfil GOSIP (Government OSI
Profile), determinando que todas as organizaes governamentais deveriam adquirir produtos
compatveis com OSI a partir de 1992. apesar de tudo isso, o OSI nunca emergiu como o
protocolo de redes, em particular nos Estados Unidos. Aparentemente o modelo OSI foi
atropelado pelo TCP/IP, que serve como sute de protocolos da Internet. Em 1995, o GOSIP
foi modificado para incluir o TCP/IP como uma sute de protocolos aceitvel para GOSIP, e
hoje, embora os protocolos OSI estejam em uso, sua presena plida se comparada com a do
TCP/IP. Hoje, os usos mais notveis do OSI como implementao de sute de protocolos esto
na Rede de Transportes Areos mundial e em redes de interoperao entre companhias de
fornecimento de energia eltrica. Diversas razes (naturalmente que especulativas) pelas quais
o modelo OSI nunca se materializou como o protocolo de redes so apresentadas a seguir.

Desenvolvimento de Padres: TCP/IP e OSI so diferentes quanto forma como


seus padres so desenvolvidos e testados. Sendo uma organizao formal para
padres internacionais, a ISO possui uma inrcia1 considervel, e o processo de
desenvolver padres difcil. Desde seu desenvolvimento inicial, o OSI foi
projetado para fazer tudo e segundo uma estratgia de cima para baixo.
Contrastando com essa abordagem, o TCP/IP d suporte a um processo aberto de
participao dos usurios para preparar seus padres. O desenvolvimento ou
modificao de protocolos TCP/IP so feitos quando necessrio. Alm disso,
pesquisas, desenvolvimento e testes dos protocolos podem ser efetuados em uma
rede em produo; o procedimento ocorre atravs de documentos de requisio de
comentrios (RFC) e a distribuio dos padres TCP/IP gratuita. Em contraste,
os protocolos OSI tm direitos autorais e taxas de aquisio.

Esnobismo: A poltica do TCP/IP foi dirigida para equipamentos conectados nos


Estados Unidos especificamente organizaes acadmicas, de pesquisas,
governamentais e militares. O modelo OSI, por outro lado, foi produto de um
corpo internacional de padronizaes (ISO). Conseqentemente, muitos usurios
na Europa encaravam o TCP/IP como um padro especfico dos Estados Unidos e
queriam adotar o OSI. Nos Estados Unidos, entretanto, os usurios no queriam
algo diferente e ficaram com o TCP/IP.

Versatilidade e Robustez: Comparado ao modelo OSI, o TCP/IP simples, tem


uma longa histria (mais de 25 anos), no-proprietrio, foi desenvolvido com
base em uma abordagem pragmtica e vai ao encontro das necessidades de uma
populao diversificada que inclua pesquisadores, educadores e pessoas de
negcios. Algumas pessoas, como por exemplo, Vint Cerf, considerado um dos
pais da Internet e que professa que se tenha IP sobre tudo, considera o TCP/IP a
linguagem universal das redes.

A Internet: O TCP/IP est totalmente vinculado Internet.

No obstante, o modelo OSI teve um impacto amplo nas redes, inclusive no TCP/IP.
Embora sua aceitabilidade tenha diminudo consideravelmente durante a segunda metade dos
anos 90, o modelo OSI continua a fornecer um padro detalhado para descrever uma rede.
com essa perspectiva que a comunidade de projeto de redes continua a considerar o modelo OSI
como estrutura conceitual terica para o desenvolvimento de redes e suas arquiteturas.

Termo da fsica que indica a dificuldade de um objeto entrar em movimento. Neste caso se relaciona com a demora em
realizar um determinado servio.

60

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Captulo 4
Dispositivos de Conectividade
Ao montar uma rede, alguns dispositivos so necessrios para realizar a transferncia dos dados
da mquina de origem com a mquina de destino. Abaixo seguem os dispositivos de conectividade
mais comuns para permitir a comunicao entre mquinas.
4.1

Placas de Rede (NIC Network Interface Card)

As placas de redes so os dispositivos que conectam o computador ao meio fsico


responsvel pela transferncia dos dados. Ela possui uma identificao que ser utilizada para
reconhecer se os dados que esto trafegando pelo meio so para ela ou no. Este endereo
normalmente composto por 48 bits, sendo que os 24 bits mais significativos so escolhidos por
um rgo internacional de forma que no existam endereos repetidos. J os 24 bits menos
significativos sero atribudos pelo fabricante do equipamento. Cabe a este fabricante no
utilizar nmeros repetidos. Esta identificao conhecida como endereo MAC (Media Access
Control Acesso de Controle ao Meio). Este equipamento trabalha na camada de enlace do
modelo OSI.
4.2

Modems

Os Modems possuem uma finalidade semelhante a da placa de rede, sendo que neste caso,
ele ir conectar o computador ao sistema telefnico. Para isso, ele utiliza uma portadora de
freqncia audvel, pois o sistema de telefonia foi feito para a transmisso de voz. Em funo
dos dados a serem transmitidos, a portadora modulada, garantindo que os dados no sero
barrados pelo sistema de telefonia. Esta a funo moduladora.
Quando os dados chegam ao modem, ele efetua o processo inverso, retirando os bits da
portadora modulada que est chegando. Esta a funo demoduladora. Este mecanismo j foi
comentado na Seo 1.1.8.1. Este equipamento trabalha na camada fsica do modelo OSI.
4.3

Repetidores

Os repetidores, que nos sistemas digitais tambm possuem a capacidade de regenerar o


sinal, tem como finalidade inserir mais energia no sinal de um determinado meio para que ele
possa percorrer distncias maiores. Por exemplo: vamos supor que um determinado cabo de
rede possui um grau de atenuao do sinal permitindo que ele seja transmitido com a certeza de
ser interpretado corretamente apenas por uma distncia de 500 metros. Se precisarmos colocar
um equipamento em uma distncia superior a essa, ser necessria a insero de um repetidor
para que o sinal seja realimentado e ento consiga chegar at o seu destino. No existe um
limite na quantidade de repetidores que podem ser colocados, logo o alcance de uma rede pode
ser qualquer um, porm, dependendo do mtodo utilizado para o acesso ao meio, determinados
limites podem ser estabelecidos, como ser visto no CSMA/CD na Seo 5.1.1.1. Este
equipamento trabalha na camada fsica do modelo OSI.
4.4

Hubs (Concentradores)

Os hubs possuem a finalidade de interligar diversas mquinas. Ele tem a capacidade de


regenerar o sinal antes de enviar aos equipamentos. A caracterstica mais importante do hub diz
respeito a forma como o sinal distribudo. Ele funciona como um unificador de equipamentos,
tendo um comportamento semelhante ao de uma rede de barramento. Todo sinal enviado em
uma de suas portas replicado em todas as outras portas, inclusive na porta que foi feito o
61

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

envio, para que o protocolo CSMA/CD que ser visto na Seo 5.1.1.1 possa ser capaz de
escutar e verificar se houve ou no uma coliso. Este dispositivo trabalha na camada fsica do
modelo OSI.
4.5

Bridges (Pontes)

Como um repetidor, uma bridge um dispositivo eletrnico que conecta dois segmentos
de LAN. Diferentemente de um repetidor, porm, uma bridge manipula quadros completos e
usa a mesma interface de rede que um computador convencional. A bridge escuta o trfego em
cada segmento usando o modo promscuo. Quando a bridge recebe um quadro de um segmento,
ela verifica se o quadro chegou intacto, por exemplo, se no houve nenhuma interferncia
eltrica na LAN durante a transmisso, e ento encaminha uma cpia do quadro para o outro
segmento se necessrio. Deste modo, dois segmentos de LAN conectados por uma bridge se
comportam como uma LAN nica. Um computador conectado a qualquer um dos segmentos
pode enviar um quadro para qualquer outro computador conectado a um dos dois segmentos.
Como cada segmento suporta conexes de rede padro e usa o formato de quadro padro, os
computadores no sabem se eles esto conectados a uma LAN ou a uma LAN com bridge. A
Figura 4.1 ilustra o conceito.

Figura 4.1 Conexo de dois segmentos por uma Bridge.

As bridges se tornaram mais populares que os repetidores porque ajudam a isolar


problemas. Se dois segmentos so conectados por um repetidor e um raio causa uma
interferncia eltrica em um deles, o repetidor propagar a interferncia para o outro segmento.
Em contraste, se a interferncia acontecer em um de dois segmentos conectados por uma bridge,
a bridge recebe um quadro incorretamente formado, que simplesmente descartado pela bridge,
do mesmo modo que um computador convencional descartaria um quadro com erro.
Semelhantemente, uma bridge no encaminha uma coliso de um segmento para outro. Deste
modo, a bridge evita que eventuais problemas em um segmento afetem o outro.
A maioria das bridges faz mais do que encaminhar uma cpia de cada quadro de uma
LAN para outra. De fato, uma bridge tpica consiste em um computador convencional com uma
CPU, memria e duas interfaces de rede. Uma bridge dedicada a uma nica tarefa e no
executa software aplicativo. Em vez disso, a CPU executa um programa contido na sua ROM.
A funo mais valiosa que uma bridge executa a filtragem de quadros. Uma bridge no
encaminha um quadro a menos que seja necessrio. Em particular, se um computador acoplado
a um segmento envia um quadro para um computador no mesmo segmento, a bridge no precisa
encaminhar uma cpia do quadro para o outro segmento. Claro, se a LAN suportar broadcast
ou multicast, a bridge deve encaminhar uma cpia de cada quadro broadcast ou multicast para
fazer a LAN estendida operar como uma grande LAN nica.
Para determinar se um quadro deve ser encaminhado, uma bridge usa o endereo fsico
(MAC address) encontrado no cabealho do quadro. A bridge sabe a localizao de cada
computador acoplado s LANs que ela conecta. Quando um quadro chega em um segmento, ela
extrai e verifica o endereo de destino. Se o computador de destino est acoplado ao segmento
atravs do qual o quadro chegou, ento o destino e a bridge receberam a mesma transmisso e
esta descarta o quadro sem encaminhar uma cpia. Se o destino no se situa no mesmo

62

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

segmento atravs do qual o quadro chegou, a bridge envia uma cpia do quadro ao outro
segmento.
Como uma bridge pode saber quais computadores esto acoplados a quais segmentos? A
maioria das bridges chamada de adaptativa ou bridges que aprendem (learning bridges)
porque elas aprendem as localizaes de computadores automaticamente. Para fazer isso, a
bridge escuta em modo promscuo os segmentos ligados por ela e forma uma lista de
computadores acoplados a cada segmento. Quando um quadro chega, a bridge executa duas
computaes. Primeiro, a bridge extrai o endereo fsico de origem do cabealho do quadro e
acrescenta o endereo sua lista de computadores acoplados ao segmento. Segundo, ela extrai o
endereo fsico de destino do quadro e usa o endereo para determinar se o quadro deve ser
encaminhado. Deste modo, todas as bridges acopladas a um segmento aprendem que um
computador est presente assim que o computador transmite um quadro. A Figura 4.2 mostra
como a bridge da Figura 4.1 pode aprender as localizaes dos computadores.
Evento
Bridge inicializada
U envia para V
V envia para U
Z faz broadcast
Y envia para V
Y envia para X
X envia para W
W envia para Z

Lista do Segmento 1
-------------------------U
U, V
U, V
U, V
U, V
U, V
U, V, W

Lista do Segmento 2
---------------------------------------------------------------------------Z
Z, Y
Z, Y
Z, Y, X
Z, Y, X

Figura 4.2 Montagem da Tabela de Mapeamento de uma Bridge.

Aps cada computador acoplado a um segmento de uma LAN unida por bridges ter
enviado um quadro, as bridges que conectam os segmentos aprendem a localizao dos
computadores e usam as informaes para filtrarem quadros. Como resultado, o comportamento
de uma rede unida por bridges ligadas por um longo tempo restringe quadros para os mnimos
segmentos necessrios.
Obviamente, no momento que a bridge inicializada, ela no sabe quais computadores
esto acoplados a cada segmento de LAN. Deste modo, uma bridge encaminha quadros
destinados a um computador at que ela determine a localizao do computador. De fato, se um
computador no enviasse quaisquer quadros, uma bridge no poderia detectar sua localizao e
encaminharia quadros desnecessariamente. Felizmente, os computadores normalmente no
permanecem silenciosos. Um sistema de computador que inclui software de rede normalmente
emite pelo menos um quadro quando o sistema inicializado. Alm disso, a comunicao entre
computadores normalmente bidirecional, um computador que recebe um quadro normalmente
envia uma resposta. Portanto, as bridges normalmente aprendem as localizaes rapidamente.
Como as bridges necessitam analisar o endereo fsico de destino, ela trabalha na camada
de enlace do modelo OSI.
4.6

Switches (Comutadores)

O conceito de ligao por bridges ajuda a explicar um mecanismo que est ganhando
popularidade, comutao (switching). Em geral, uma tecnologia de rede chamada comutada
(switched) se o hardware inclui um dispositivo eletrnico que conecta um ou mais
computadores e permite que eles enviem e recebam dados. Mais especificamente, uma LAN
comutada consiste em um nico dispositivo eletrnico que transfere quadros entre muitos
computadores.

63

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Fisicamente, um switch se assemelha a um hub. O hub consiste em uma nica caixa com
mltiplas portas, cada uma ligada a um nico computador. A diferena entre um hub e um
switch surge do modo como os dispositivos operam: um hub simula um meio compartilhado
nico, enquanto que um switch simula uma LAN unida atravs de bridges com um computador
por segmento. A Figura 4.3 mostra as conexes conceituais dentro de um switch1.

Figura 4.3 Esquema Lgico de um Switch.

No de se surpreender que a vantagem principal de se usar uma LAN comutada em vez


de um hub a mesma de se usar uma LAN unida por bridges em vez de um segmento nico:
paralelismo. Como um hub simula um segmento nico compartilhado por todos os
computadores, no mximo dois computadores podem se comunicar atravs de um hub em um
determinado tempo. Deste modo, a mxima largura de banda possvel de um sistema de hub
T, a taxa em que um nico computador pode enviar dados atravs de um segmento de LAN. Em
uma LAN comutada, entretanto, cada computador tem um segmento de LAN simulado para si
prprio. O segmento est ocupado apenas quando um quadro estiver sendo transferido de/para o
computador. Como resultado, at metade dos computadores conectados a um switch pode estar
enviando dados ao mesmo tempo, desde que cada um deles esteja enviando para um dos
computadores que no est ocupado enviando dados. Deste modo, a largura de banda mxima
T n
possvel de um switch
, onde T a taxa em que um determinado computador pode
2
transmitir dados e n o nmero total de computadores conectados ao switch.

Tal como as bridges, os switches necessitam analisar o endereo fsico de destino, tendo
ento que trabalhar na camada de enlace do modelo OSI.
4.7

Gateways

Um Gateway, ou porta de ligao, uma mquina intermediria geralmente destinada a


interligar redes, separar domnios de coliso, ou mesmo traduzir protocolos. Cabe ao gateway

Na prtica, um switch no construdo por bridges independentes. Em vez disso, um switch contm processadores e
uma interconexo central (por exemplo, um cross-bar eletrnico). Um processador examina o endereo de um quadro
recebido e ento usa a interconexo central para transferir o quadro para a porta de sada correta.

64

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

traduzir e adaptar os pacotes originrios da rede local para que estes possam atingir o
destinatrio, mas tambm traduzir as respostas e devolv-las ao par local da comunicao.
Assim, freqente a utilizao de protocolos de traduo de endereos, como o NAT que
das implementaes de gateway mais simples.
Quando um pacote precisa ser enviado, ele analisado pela camada de redes da origem.
Esta camada se encarrega de verificar se o endereo de destino pertence a mesma rede da
mquina de origem ou a uma rede diferente. No caso de pertencer a mesma rede, o pacote
transferido para a camada de enlace que se encarrega de identificar a mquina de destino. Caso
o destino pertena a outra rede, este pacote ser entregue a camada de enlace com ordens para
encaminh-lo ao gateway, que se encarregar de transmiti-lo e adequ-lo a rede destino.
Devido a possibilidade de adequao de protocolos em geral, o gateway pode trabalhar em
qualquer camada a partir da camada de redes inclusive.
4.8

Roteadores

Roteador ou router ou encaminhador um equipamento usado para fazer a comunicao


entre diferentes redes de computadores, tal como um gateway. Este equipamento prov a
comunicao entre computadores distantes entre si e at mesmo com protocolos de comunicao
diferentes.
Roteadores so dispositivos que operam na camada de redes do modelo OSI. A principal
caracterstica dos roteadores selecionar a porta mais apropriada para repassar os pacotes
recebidos. Ou seja, encaminhar os pacotes para a melhor rota disponvel para um determinado
destino.
Os roteadores inicializam e fazem a manuteno de tabelas de rotas executando processos
e protocolos de atualizao de rotas, especificando os endereos e domnios de roteamento,
atribuindo e controlando mtricas de roteamento. O administrador pode fazer a configurao
esttica das rotas para a propagao dos pacotes ou atravs de processos dinmicos executando
nas redes. Os roteadores passam adiante os pacotes baseando-se nas informaes contidas na
tabela de roteamento. O problema da configurao das rotas estticas que, toda vez que
houver alterao na rede que possa vir a afetar essa rota, o administrador deve refazer a
configurao manualmente. J o conhecimento de rotas dinmicas diferente. Depois que o
administrador fizer a configurao atravs de comandos para iniciar o roteamento dinmico, o
conhecimento das rotas ser automaticamente atualizado sempre que novas informaes forem
recebidas atravs da rede. Essa atualizao feita atravs da troca de conhecimento entre os
roteadores da rede.
4.9

Access Point (Ponto de Acesso AP)

O Ponto de Acesso AP um equipamento que disponibiliza um sinal eletromagntico


para que diversos aparelhos possam acess-lo sem a necessidade de uma ligao fsica entre
eles. Ele cria uma bolha de alcance possibilitando a comunicao sem fio (wireless).
Este equipamento pode trabalhar at a camada de redes, oferecendo o recurso de
roteamento. Caso existam diversos APs trabalhando no mesmo local, ou, parte da bolha de um
AP est interferindo na bolha de outro AP, necessrio configurar os APs para trabalharem em
canais diferentes, isto , freqncias diferentes, para que no haja a destruio dos seus sinais.
Para que um equipamento acesse um AP, ele precisa, antes de mais nada, ter uma placa wireless
e em seguida configur-la para trabalhar no mesmo canal do AP que se queira contactar. Os
diversos dispositivos que esto utilizando o mesmo AP, e com isso o mesmo canal, tero as suas
transmisses multiplexadas no tempo para que todos tenham condies de utilizar o meio.

65

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Captulo 5
Mtodo de Acesso ao Meio
Quando possumos diversos equipamentos ligados atravs de um meio de comunicao e
desejamos que estes equipamentos se comuniquem entre si, deve-se utilizar algum mtodo para
acessar este meio de comunicao de forma que todos consigam, talvez no ao mesmo tempo,
transferir as suas informaes sem que uma mquina destrua a informao da outra.
Neste Captulo comentaremos alguns mtodos utilizados para o acesso ao meio e as arquiteturas
que implementam tais mtodos.
5.1

Mtodo de Acesso ao Meio

5.1.1

CSMA

Considerando uma rede local, onde as mquinas podem escutar se existe alguma
portadora no meio de transmisso, isto , se alguma outra mquina est fazendo uso do
meio para transmitir dados, possvel estruturar um mtodo onde, antes de uma mquina
realizar a sua transmisso, ela verifica se existe alguma outra transmitindo, analisando o
meio para saber se existe alguma portadora. Este protocolo conhecido por CSMA
(Carrier Sense Multiple Access Acesso Mltiplo por Deteco de Portadora). Existem
algumas variaes deste mtodo, porm nos restringiremos ao CSMA/CD e ao CSMA/CA.
5.1.1.1

CSMA/CD

O protocolo CSMA puro, embora ele verifique se o meio est livre antes de
realizar a transferncia dos dados, devido ao retardo oferecido pela propagao do
sinal no meio, existe a possibilidade de uma outra mquina, que tambm pretende
transmitir, ao verificar o mesmo meio descobrir que ele se encontra livre. Esta
segunda mquina pode ter detectado o meio livre porque o sinal transmitido pela
primeira ainda no havia chegado at ela. Neste caso, esta segunda mquina comear
a realizar a transferncia dos seus dados. Em determinado momento, o sinal da
primeira mquina se misturar ao sinal da segunda, levando perda das duas
informaes. A este fenmeno d-se o nome de coliso.
O protocolo CSMA/CD utiliza uma tcnica para detectar a ocorrncia de coliso.
A sigla CSMA/CD significa: Carrier Sense Multiple Access with Collision Detection
Acesso Mltiplo por Deteco de Portadora com Deteco de Coliso. O mtodo
utilizado implica em, durante a transmisso, a mquina transmissora capta o sinal do
meio e verifica se est igual ao que ela est transmitindo. Caso haja alguma mudana,
seja pela incidncia de algum rudo, ou a tentativa de uma outra mquina em transmitir
durante a transmisso atual, ocorrer uma coliso, danificando as informaes sendo
transmitidas, sendo necessria a paralisao de ambas as transmisses e ento tentar
retransmiti-las.
No caso da coliso, temos que considerar o tempo que o sinal leva para percorrer
o cabo inteiro (t). O pior caso ser quando a mquina de uma extremidade comea
uma transmisso e quando o sinal est quase chegando na mquina da extremidade
oposta, esta comea a transmitir, gerando uma coliso logo a seguir. Esta ltima
mquina detecta quase que instantaneamente a coliso, porm a primeira mquina a
iniciar a transmisso s perceber que houve coliso quando o sinal adulterado chegar

66

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

at ela, isto , percorrer todo o cabo consumindo o tempo t. Sendo assim, para que
tenhamos a garantia de que qualquer mquina seja capaz de detectar uma coliso, ela
precisa permanecer transmitindo, e com isso escutando o meio, por um perodo de
tempo de 2t, que o tempo do sinal chegar at a mquina da extremidade oposta mais
o tempo da coliso chegar at a mquina de origem. A Figura 5.1 ilustra este
procedimento.

Figura 5.1 Funcionamento do CSMA/CD.

Considerando que durante a transmisso o equipamento precisa ficar escutando o


meio para detectar a coliso, esta transmisso dever ser do tipo half-duplex, j que o
equipamento est ocupado transmitindo e escutando o prprio sinal. Com a evoluo

67

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

das redes, existe uma tendncia da implementao do modelo full-duplex, que neste
caso, encerraria a existncia de colises.
5.1.1.2

CSMA/CA

Existe um conjunto de tecnologias de rede sem-fio que usam uma forma


modificada de CSMA/CD. Em vez de transmitir sinais atravs de um cabo, o
hardware de rede sem-fio usa antenas para transmitir sinais de RF atravs do ar, que
outros computadores recebem. Os dispositivos usam freqncias de 900 MHz para
permitir que sejam enviados dados a 2 Mbps. Como outras tecnologias de rede, as
redes sem-fio usam compartilhamento. Isto , todos os computadores que participam
em uma determinada rede sem-fio so configurados para usar uma mesma freqncia
de rdio. Deste modo, eles devem se alternar no envio de pacotes.
Uma diferena entre o modo como redes cabeadas e sem-fio administram
compartilhamento surge por causa da forma com que as transmisses sem-fio se
propagam. Embora a energia eletromagntica se irradie em todas as direes, os
transmissores de rede sem-fio usam pouca energia, o que significa que uma
transmisso tem energia suficiente somente para viajar uma distncia pequena. Alm
disso, obstrues metlicas podem bloquear o sinal. Deste modo, as unidades sem-fio
localizadas em pontos bem distantes ou atrs de obstrues no recebero as
transmisses de outro.
A falta de comunicao completa significa que as redes sem-fio no podem usar
o mesmo mecanismo de CSMA/CD. Para entender por qu, considere trs
computadores com hardware de rede sem-fio posicionados longe um do outro como
mostra a Figura 5.2.

Figura 5.2 Exemplo de Comunicao Sem Fio.

Na figura, os dois computadores de fora (A e C) esto muito longe um do outro


para receberem suas transmisses. Em tais situaes, escuta de portadora e deteco
de colises no bastam. Por exemplo, suponha que o computador A esteja enviando
um pacote para o computador B como mostra a Figura 5.3. J que o computador C
no pode receber a transmisso, ele poderia realizar uma transmisso, resultando em
uma coliso como mostra a Figura 5.4.
Semelhantemente, se ambos os
computadores A e C transmitissem um quadro ao mesmo tempo, somente o
computador B poder detectar uma coliso.

Figura 5.3 Transmisso de A para B.

68

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 5.4 Coliso entre A e C.

Para assegurar que eles compartilham os meios de transmisso corretamente, as


redes sem-fio usam um esquema modificado conhecido como CSMA/CA (Carrier
Sense Multiple Access with Collision Avoidance Acesso Mltiplo por Deteco de
Portadora com Preveno de Coliso). Em vez de depender de todos os outros
computadores para receberem todas as transmisses, o CSMA/CA usado com redes
sem-fio ativa uma breve transmisso para o receptor pretendido antes de transmitir um
pacote. Por exemplo, suponha que o computador A da Figura 5.2 precisa enviar um
quadro para o computador B. Antes de enviar o quadro, o computador A primeiro
transmite uma breve mensagem de controle indicando a inteno de transmitir um
quadro como mostra a Figura 5.5.

Figura 5.5 Sinal de Controle para B.

Quando o computador B recebe a mensagem de controle, ele responde enviando


outra mensagem de controle para indicar que est pronto para receber uma
transmisso. Quando o computador A receber a resposta de seu receptor pretendido,
ele comea a transmisso do quadro.
A vantagem de esperar por uma resposta do recipiente se torna clara se for
lembrada daquela transmisso assimtrica. A Figura 5.6, mostra que embora o
computador C no receba a transmisso do computador A, ele recebe a transmisso do
computador B. Deste modo, uma vez que o computador B envia uma resposta, todos
os computadores dentro do alcance de sua antena esperaro pela transmisso de um
pacote (ainda que no possam receber a transmisso).

69

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 5.6 Resposta de B ao Sinal de Controle de A.

Com a transmisso destes dois sinais de controle, cria-se uma regio do espao
onde apenas as mquinas A e B podem transmitir, garantindo que no haver coliso
na transmisso dos quadros de dados. A Figura 5.7 mostra a regio reservada.

Figura 5.7 Regio Reservada para a Comunicao de A com B.

Colises de mensagens de controle podem acontecer quando se estiver usando


CSMA/CA, mas elas podem ser tratadas facilmente. Na Figura 5.2, por exemplo, se
ambos os computadores A e C geram um pacote para o computador B exatamente ao
mesmo tempo, cada um deles envia uma mensagem de controle. As mensagens de
controle chegaro ao computador B simultaneamente, causando uma coliso. Quando
tais colises acontecerem, as estaes remetentes aplicam o backoff exponencial
aleatrio antes de reenviar as mensagens de controle. Como as mensagens de controle
so muito menores que os quadros de dados, a probabilidade de uma segunda coliso
muito mais baixa do que com o CSMA/CD. Mais cedo ou mais tarde, uma das duas
mensagens de controle chegar intacta, e o computador B transmitir uma resposta.
5.1.2

Token Passing (Passagem de Token)

Foi dito que uma rede usando uma topologia em anel conecta computadores em um
loop. A maioria das redes que empregam a topologia em anel usa tambm um mecanismo
de acesso ao meio conhecido como Token Ring (Passagem de Token), e as redes resultantes
so conhecidas como Redes em Anel de Passagem de Token (Token Passing Ring
Networks), abreviadas como Token Ring. Uma rede Token Ring opera como um meio

70

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

nico, compartilhado. Quando um computador precisa enviar dados, o computador deve


esperar uma permisso antes de poder acessar a rede. Uma vez que ele obtm permisso, o
computador remetente tem completo controle do anel, logo, nenhuma outra transmisso
acontece simultaneamente. Quando o computador remetente transmite um quadro, os bits
passam do remetente para o prximo computador, ento para o prximo e assim por diante,
at que os bits passem completamente em torno do anel e voltem ao remetente. A
Figura 5.8 ilustra o conceito onde o computador A o remetente, logo ele retm o Token e
ento transmite um pacote de dados cujo destinatrio o computador E.

Figura 5.8 Funcionamento do Token Passing.

Como mostra a Figura 5.8, todas as estaes exceto o remetente encaminham adiante
bits em torno do anel. Deste modo, para verificar que nenhum erro de transmisso ocorreu,
um remetente pode comparar os dados sendo recebidos com os dados sendo enviados.
Outras estaes monitoram todas as transmisses. Se um quadro destinado a um dado
computador, aquele computador faz uma cpia do quadro medida que os bits passam pelo
anel.
71

Apostila de Fundamentos de Redes de Computadores


5.2

Prof: Ricardo Quinto

Arquitetura

5.2.1

Ethernet

A estrutura original de quadros DIX (DEC, Intel, Xerox) mostrada na Figura 5.9.
Cada quadro comea com um Prembulo de 8 bytes, cada um contendo o padro de bits
10101010. A codificao Manchester desse padro produz uma onda quadrada de 10 MHz
durante 6,4 s, a fim de permitir a sincronizao entre o clock do receptor e o clock do
transmissor, como foi explicado na Seo 1.1.10.2.1 na Figura 1.30. Eles devem
permanecer sincronizados durante todo o restante do quadro, usando a codificao
Manchester para controlar os limites de bits.

Figura 5.9 Formato de Quadros DIX.

O quadro contm dois endereos, um para o destino e um para a origem. O padro


permite endereos de 2 e de 6 bytes, mas os parmetros definidos para o padro de banda
bsica de 10 Mbps usam somente os endereos de 6 bytes. O bit de alta ordem do endereo
de destino 0 para endereos comuns e 1 para endereos de grupo. Os endereos de grupos
permitem que diversas estaes escutem um nico endereo. Quando um quadro enviado
para um endereo de grupo, todas as estaes do grupo recebem. A transmisso para um
grupo de estaes chamada de multidifuso (multicast). O endereo que consiste em
todos os bits 1 reservado para difuso (broadcast). Um quadro contendo todos os bits 1
no campo destino aceito por todas as estaes da rede. A diferena entre multicast e
broadcast importante o bastante para ser repetida. Um quadro de multicast transmitido
para um grupo selecionado de estaes na Ethernet. O multicast mais seletivo, mas
envolve o gerenciamento de grupos. O broadcast menos seletivo, fazendo com que todas
as mquinas da rede recebam o quadro e com isso, no requer qualquer gerenciamento de
grupos.
Outra caracterstica interessante do endereamento o uso do bit 46 (adjacente ao bit
de mais alta ordem) para distinguir endereos locais de endereos globais. Os endereos
locais so atribudos pelo administrador da rede e no tm significado fora da rede local.
Os endereos globais, ao contrrio, so atribudos pelo IEEE para assegurar que duas
estaes de qualquer lugar do mundo nunca tenham o mesmo endereo global. Com os
46 bits restantes disponveis, pode-se gerar 2 46 endereos globais, isto ,
70.368.744.177.664 (cerca de 70 trilhes) endereos globais. A idia que qualquer
estao possa enderear exclusivamente qualquer outra estao, fornecendo apenas o
nmero de 48 bits correto. Cabe camada da rede descobrir como localizar o destino.
Em seguida, vem o campo Tipo, que informa ao receptor o que fazer com o quadro.
Vrios protocolos da camada de rede podem estar em uso ao mesmo tempo na mesma
mquina, assim, ao chegar um quadro Ethernet, o kernel tem de saber a qual deles deve
entregar o quadro.
Depois, vm os dados, com at 1.500 bytes. Esse limite foi escolhido de forma um
tanto arbitrria na poca em que o padro DIX foi esculpido em pedra, principalmente com
base no fato de que um transceiver precisa ter memria RAM suficiente para guardar um
quadro inteiro e, em 1978, a RAM tinha um custo muito alto. Um limite superior
significaria mais RAM e, conseqentemente, um transceiver mais caro.
Alm de haver um comprimento mximo de quadro, tambm existe um comprimento
mnimo. Embora um campo de dados de 0 byte s vezes seja til, ele causa um problema.
72

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Como o padro Ethernet utiliza o CSMA/CD como mtodo de acesso ao meio, quando se
detecta uma coliso, um transceiver trunca o quadro atual, o que significa que bits perdidos
e fragmentados de quadros aparecem a todo instante no cabo. Para tornar mais fcil a
distino entre quadros vlidos e lixo, o padro Ethernet exige que os quadros vlidos
tenham pelo menos 64 bytes de extenso, do endereo de destino at o campo de CRC,
incluindo ambos. Se a parte de dados de um quadro for menor que 46 bytes, o campo
Preenchimento ser usado para preencher o quadro at o tamanho mnimo.
Outro (e mais importante) motivo para a existncia de um quadro de comprimento
mnimo impedir que uma estao conclua a transmisso de um quadro curto antes que
tenha passado o tempo mnimo necessrio para detectar a ocorrncia de uma coliso. Este
tempo definido como duas vezes o tempo de propagao do sinal da mquina de um
extremo do cabo at a mquina do extremo oposto, como foi visto na Seo 5.1.1.1, quando
falamos do CSMA/CD.
Para que o sistema de deteco de coliso funcione, deve-se estabelecer um limite de
comprimento da rede de forma que o tempo mximo de propagao do sinal de uma
extremidade a outra seja estabelecido. De acordo com o padro 802.3, o barramento
deveria ter um comprimento mximo de 2.500 metros, contendo 5 sees de cabo coaxial
grosso do tipo 10 base 5 conectados por 4 repetidores. Ao medir o tempo de propagao do
sinal de uma extremidade a outra obteve-se 25 s, logo o tempo de ida e volta ser de
50 s. Utilizando uma taxa de transmisso de 10 Mbps, o tamanho do quadro pode ser
calculado atravs da seguinte frmula:. Quadro = Taxa Tempo , sendo assim, obteremos
como
tamanho
mnimo
para
um
quadro
Ethernet
o
valor
de
6
6
Quadro = 10 10 50 10 = 500 bits , onde foi arredondado para 512 bits, ou seja
64 bytes. Foi da que surgiu a limitao comentada anteriormente de que o quadro Ethernet
no poderia ter menos do que 64 bytes entre o endereo de destino e o CRC.
Com o melhoramento das tecnologias e aumentando o trfego na rede, houve a
necessidade de investir no aumento na taxa de transmisso. Uma primeira evoluo foi
passar a taxa de 10 Mbps para 100 Mbps que foi denominada de Fast Ethernet. Ao
multiplicarmos a taxa por 10, o tamanho mnimo do quadro passara para 640 bytes. Isso
causaria problemas de compatibilidade com a Ethernet original de 10 Mbps. Como nesta
poca o uso de barramento era reduzido e comeou-se a utilizar a topologia de tipo estrela
onde os computadores eram ligados a um equipamento central atravs de cabos de par
tranado, uma alternativa para manter a compatibilidade era manter o tamanho do quadro
em 64 bytes, porm diminuindo o tamanho da rede em 10 vezes, levando a uma distncia
mxima entre os equipamentos de 250 metros. Em se tratando de uma rede local, este
tamanho resolvia a maioria dos casos.
Algum tempo depois veio a rede Ethernet com 1 Gbps conhecida como Gigabit
Ethernet. Neste caso, para manter a padronizao inicial de quadros com 64 bytes o
tamanho mximo entre as mquinas deve ser de 25 metros. Esta restrio se v necessria
para que o mecanismo de deteco de coliso funcione corretamente, porm, se usarmos
uma forma de conexo entre mquinas que no oferea o risco de coliso, pode-se aumentar
o tamanho do cabo, pois mesmo passando a no ser capaz de detectar colises, esta
deteco no seria necessria. Uma forma de tornar desnecessria a deteco da coliso
fazer a ligao direta de um equipamento a outro, no havendo o compartilhamento do
meio que os conecte. Desta forma, sem compartilhamento, no haver como uma terceira
mquina provocar uma coliso e ainda possibilita a comunicao full-duplex. Com o
barateamento e a popularizao dos switches, que so equipamentos de interconexo que
possibilitam a ligao direta de dois equipamentos, a rede Gigabit Ethernet pode ser
73

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

implementada utilizando-se cabos superiores a 25 metros entre as mquinas e mantendo o


padro de 64 bytes para o tamanho mnimo dos quadros.
5.2.1.1

O Algoritmo de Recuo Binrio Exponencial

Vejamos agora como feita a randomizao quando ocorre uma coliso. Depois
de uma coliso ser detectada, o tempo dividido em slots discretos, cuja durao
igual ao pior tempo de propagao do sinal de ida e volta no meio. No caso do padro
Ethernet, o tempo de durao do slot foi definido como sendo de 51,2 s, j que o
quadro foi arredondado para um tamanho mnimo de 512 bits (64 bytes), como foi
mencionado na seo anterior.
Depois da primeira coliso, cada estao espera 0 ou 1 tempo de slot antes de
tentar novamente. Se duas estaes colidirem e selecionarem o mesmo nmero
aleatrio, elas colidiro novamente. Depois da segunda coliso, cada uma seleciona ao
acaso 0, 1, 2 ou 3 e aguarda esse nmero de tempos de slot. Se ocorrer uma terceira
coliso, cuja probabilidade de 25%, na prxima vez o nmero de slots que a estao
dever esperar ser escolhido ao acaso no intervalo de 0 a 2 3 1 .
Em geral, depois de i colises, escolhido um nmero aleatrio entre 0 e 2 i 1 ,
e esse nmero de slots ser ignorado. Entretanto, aps terem sido alcanadas 10
colises, o intervalo de randomizao ser congelado em um mximo de 1.023 slots.
Depois de 16 colises, o controlador desiste e informa o erro ao computador.
Qualquer recuperao adicional caber s camadas superiores.
Esse algoritmo, chamado de recuo binrio exponencial, foi escolhido para se
adaptar dinamicamente ao nmero de estaes que esto tentando transmitir. Se o
intervalo de escolha do nmero aleatrio para todas as colises fosse 1.023, a chance
de duas estaes colidirem uma segunda vez seria desprezvel, mas o tempo de espera
mdio depois de uma coliso seria de centenas de perodos de slot, introduzindo um
retardo significativo. Por outro lado, se cada estao sempre esperasse durante 0 ou 1
slot, e se 100 estaes tentassem transmitir ao mesmo tempo, elas colidiriam repetidas
vezes at que 99 delas escolhessem 1 e a estao restante escolhesse 0. Isso poderia
levar anos. Aumentando-se exponencialmente o intervalo de randomizao medida
que ocorre um nmero cada vez maior de colises consecutivas, o algoritmo assegura
um baixo retardo quando apenas algumas estaes colidem, mas tambm garante que a
coliso ser resolvida em um intervalo de tempo razovel quando muitas estaes
colidirem. A restrio do recuo a 1.023 impede que o limite cresa demais.
Como descrevemos at agora, o CSMA/CD no fornece nenhuma confirmao.
Como a simples ausncia de colises no garante que os bits no foram adulterados
por picos de rudo no cabo, para obter uma comunicao confivel, o destino deve
conferir o CRC e, se ele estiver correto, deve transmitir um quadro de confirmao
para a origem. Normalmente, essa confirmao seria apenas outro quadro no que se
refere ao protocolo, e teria de disputar o tempo do canal, assim como qualquer outro
quadro de dados. Contudo, uma simples modificao no algoritmo de disputa
permitiria uma confirmao mais rpida da recepo do quadro. Seria necessrio
apenas reservar o primeiro slot de disputa aps cada transmisso bem sucedida para a
estao de destino. Infelizmente, o padro no oferece essa possibilidade.
5.2.2

Token Ring

Como um remetente obtm permisso para transmitir em um Token Ring?


Diferentemente da Ethernet, uma transmisso de Token Ring no conta com CSMA/CD.

74

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Em vez disso, o hardware de Token Ring coordena entre todos os computadores conectados
para assegurar que a permisso seja passada a cada computador um de cada vez. A
coordenao usa uma mensagem especial reservada chamada Token. O Token um padro
de bits que difere de quadros de dados normais. Para assegurar que dados normais no
possam ser interpretados como um Token, algumas tecnologias de Token Ring usam bit
stuffing1 para mudar temporariamente ocorrncias do Token em dados para transmisso no
anel. Mais importante, o hardware de Token assegura que existe exatamente um Token em
uma rede de Token Ring.
Essencialmente, um Token d uma permisso ao computador para enviar um quadro.
Desse modo, antes de poder enviar um quadro, um computador deve esperar pelo Token
chegar. Quando um Token chegar, o computador remove temporariamente o Token do anel
e usa o anel para transmitir dados. Embora possa ter mais de um quadro esperando para ser
enviado, o computador envia apenas um quadro e ento transmite o Token. Diferentemente
de quadros de dados, que giram completamente em torno do anel enquanto esto sendo
enviados, o Token viaja de um computador diretamente para outro adjacente, que pode
ento usar a rede para enviar um quadro.
Se todos os computadores em uma rede de Token Ring tm dados para enviar, o
esquema de Token Ring garante que eles iro se alternar, com cada computador enviando
um quadro antes de passar o Token. Note que o esquema garante acesso justo: com a
passagem do Token pelo anel, cada computador tem uma oportunidade para usar a rede. Se
um determinado computador no tem dados para enviar quando ele recebe o Token, o
hardware de interface meramente passa o Token adiante sem atraso. No caso extremo em
que nenhuma estao tem dados para transmitir, o Token circula continuamente, com cada
estao recebendo o Token e ento passando o mesmo imediatamente para o prximo
computador. O tempo exigido para um Token fazer uma viagem completa ao redor de um
anel de computadores ociosos extremamente breve (por exemplo, um milissegundo). Este
tempo breve possvel por duas razes. Primeiro, porque o Token pequeno e pode ser
transmitido rapidamente atravs de um nico fio. Segundo, o Token manipulado pelo
hardware em anel, o que significa que a velocidade no depende da CPU do computador.
5.2.3

Wireless (Redes sem Fio)

Quase na mesma poca em que surgiram os notebooks, muitas pessoas sonhavam


com o dia em que entrariam em um escritrio e magicamente seu notebook se conectaria
Internet. Em conseqncia disso, diversos grupos comearam a trabalhar para descobrir
maneiras de alcanar esse objetivo. A abordagem mais prtica equipar o escritrio e os
notebooks com transmissores e receptores de rdio de ondas curtas para permitir a
comunicao entre eles. Esse trabalho levou rapidamente comercializao de redes semfio por vrias empresas.
O problema era encontrar duas delas que fossem compatveis. Essa proliferao de
padres significa que um computador equipado com um rdio da marca X no funcionaria
em uma sala equipada com uma estao-base da marca Y. Finalmente, a indstria decidiu
que um padro de rede sem-fio poderia ser uma boa idia, e assim o comit do IEEE que
padronizou as redes com fio recebeu a tarefa de elaborar um padro de redes sem-fio. O
padro recebeu o nome 802.11. Um apelido comum para ele WiFi. Trata-se de um

Tcnica utilizada para camuflar seqncias de bits especiais de forma que no sejam interpretados erroneamente pelo
sistema de transmisso.

75

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

padro importante e que merece respeito, e assim vamos cham-lo por seu nome correto,
802.11.
O padro proposto tinha de funcionar em dois modos:

Na presena de uma estao base;

Na ausncia de uma estao base.

No primeiro caso, toda a comunicao deveria passar pela estao-base, chamada de


access point AP (ponto de acesso) na terminologia do 802.11. Este padro est ilustrado
na Figura 5.10. No outro caso, os computadores simplesmente transmitiriam diretamente
uns para os outros. Agora, esse modo costuma ser chamado interligao de redes ad hoc.
Um exemplo tpico de duas ou mais pessoas juntas em uma sala no equipada com uma
rede sem-fio, fazendo seus computadores se comunicarem diretamente. Este padro est
ilustrado na Figura 5.11.

Figura 5.10 Rede Sem Fio com uma Estao-Base (AP).

Figura 5.11 Rede Sem Fio Ad Hoc.

A primeira deciso foi a mais fcil: como denomin-lo. Todos os outros padres de
redes tinham nmeros como 802.1, 802.2, 802.3, at 802.10; assim, o padro de redes sem
fio recebeu a denominao 802.11. O resto era mais difcil.
Em particular, alguns dos muitos desafios que tinham de ser enfrentados eram:

Descobrir uma banda de freqncias adequada que estivesse disponvel, de


preferncia em todo o mundo;

Lidar com o fato de que os sinais de rdio tm um alcance finito;

Assegurar que a privacidade dos usurios seria mantida;

Levar em conta a durao limitada da bateria;

76

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Considerar a segurana humana (as ondas de rdio causam cncer);

Compreender as implicaes da mobilidade dos computadores;

Construir um sistema com largura de banda suficiente para ser


economicamente vivel

Na poca em que o processo de padronizao comeou (meados da dcada de 1990),


a Ethernet j havia dominado o mercado de redes locais, e assim o comit decidiu tornar o
802.11 compatvel com a Ethernet acima da camada de enlace. Em particular, deve ser
possvel enviar um pacote IP pela rede sem-fio, do mesmo modo que um computador
conectado envia um pacote IP pela Ethernet. Apesar disso, existem vrias diferenas
inerentes em relao Ethernet na camada fsica e na camada de enlace de dados, e essas
diferenas tinham de ser tratadas pelo padro.
Em primeiro lugar, um computador na Ethernet sempre escuta o meio antes de
transmitir. Somente se o meio estiver ocioso o computador inicia a transmisso. No caso
das redes sem-fio, essa idia no funciona muito bem, como foi visto na Seo 5.1.1.2.
O segundo problema que tinha de ser resolvido era a possibilidade de objetos slidos
refletirem o sinal de rdio, de forma que o sinal pudesse ser recebido vrias vezes (ao longo
de diversos caminhos). Essa interferncia resulta naquilo que se denomina atenuao
multiponto.
O terceiro problema que grande parte do software no est ciente da mobilidade.
Por exemplo, muitos processadores de testos tem uma lista de impressoras que os usurios
podem escolher para imprimir um arquivo. Quando o computador no qual o processador de
textos funciona levado para um novo ambiente, a lista de impressoras se torna invlida.
O quarto problema que, se um notebook for afastado da estao-base (AP) que ele
est utilizando e entrar na faixa de alcance de uma estao base diferente, ser necessrio
alguma forma de transferncia. Embora ocorra com telefones celulares, esse problema no
acontece com a Ethernet e precisa ser resolvido. Tipicamente, a rede prevista consiste em
vrias clulas, cada uma com sua prpria estao-base, e com as estaes-base conectadas
pela Ethernet, como mostra a Figura 5.12. Visto do exterior, o sistema inteiro deve ser
semelhante a uma nica Ethernet. A conexo entre o sistema 802.11 e o mundo exterior
chamado portal.

Figura 5.12 Uma Rede 802.11 de Vrias Clulas.

Aps algum trabalho, o comit apresentou um padro em 1997 que tratou dessas e de
outras questes. A rede sem-fio que ele descreveu funcionava a 1 Mbps ou 2 Mbps. Quase
77

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

imediatamente, as pessoas reclamaram que ela era muito lenta, e assim comeou o trabalho
em padres mais rpidos. Uma diviso se desenvolveu dentro do comit, resultando em
dois novos padres publicados em 1999. O padro 802.11a utiliza uma faixa de freqncia
mais larga e funciona em velocidades de 54 Mbps. O padro 802.11b utiliza a mesma faixa
de freqncias que o 802.11, mas emprega uma tcnica de modulao diferente para
alcanar 11 Mbps. Algumas pessoas vem esse fato como algo psicologicamente
importante, tendo em vista que 11 Mbps mais rpido que a Ethernet fisicamente
conectada original. provvel que o padro original de 1 Mbps, o 802.11, desaparea
rapidamente, mas ainda no est claro qual dos novos padres ocupar seu lugar.
Para tornar a questo ainda mais complicada do que j era, o comit 802 apresentou
ainda outra variante, o 802.11g, que utiliza a tcnica de modulao do 802.11a, mas
emprega a faixa de freqncias do 802.11b.
No h dvida que o 802.11 causar uma revoluo na computao e no acesso
Internet. Aeroportos, estaes de trem, hotis, centros comerciais e universidades esto
instalando rapidamente essas redes. At mesmo as lojas de cibercafs esto instalando o
802.11, para que os yuppies reunidos possam navegar pela Web enquanto apreciam sua
bebida. provvel que o 802.11 faa pela Internet o que os notebooks fizeram pela
computao: torn-la mvel.

78

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Captulo 6
Tecnologias para conexo digital de longa distncia
6.1

X.25

A rede X.25 foi a primeira rede pblica de dados. Ela foi desenvolvida na dcada de
1970, em uma poca na qual o servio de telefonia era um monoplio em todos os lugares, e a
empresa de telefonia em cada pas esperava que houvesse uma nica rede de dados por pas, a
dela. Para usar a X.25, primeiro um computador estabelecia uma conexo com o computador
remoto, isto , fazia uma chamada telefnica. Essa conexo recebia um nmero de conexo que
seria usado em pacotes de transferncia de dados (porque vrias conexes poderiam estar
abertas ao mesmo tempo). Os pacotes de dados eram muito simples, consistindo em um
cabealho de 3 bytes e at 128 bytes de dados. O cabealho tinha um nmero de conexo de
12 bits, um nmero de seqncia de pacote, um nmero de confirmao e alguns bits variados.
As redes X.25 operaram por cerca de uma dcada com relativo sucesso.
6.2

Frame Relay (FR)

Na dcada de 1980, as redes X.25 foram substitudas em grande parte por um novo tipo de
rede chamado frame relay. A essncia do frame relay o fato de ser uma rede orientada a
conexo sem controle de erros e nenhum controle de fluxo. Por se tratar de uma rede orientada
a conexes, os pacotes eram entregues em ordem (quando eram entregues). Nas propriedades
de entrega em ordem, nenhum controle de erros e nenhum controle de fluxo tornavam o frame
relay semelhante a uma LAN de rea extensa. Sua aplicao mais importante a interconexo
de LANs instaladas em vrios escritrios de uma empresa. O frame relay pode trabalhar com
PVCs (Permanent Virtual Circuits Circuitos Virtuais Permanentes) ou SVCs (Switched
Virtual Circuits Circuitos Virtuais Chaveados).
6.3

ATM

Outra rede orientada a conexes, e muito mais importante, o ATM (Asynchronous


Transfer Mode Modo de Transferncia Assncrona). O nome um pouco estranho explicado
pelo fato de, no sistema de telefonia, a maioria das transmisses ser sncrona, mas no o ATM.
O ATM foi projetado no incio da dcada de 1990 e lanado em meio a uma agitao
verdadeiramente incrvel. O ATM prometia resolver todos os problemas de redes e
telecomunicaes do mundo, mesclando voz, dados, televiso a cabo, telex e todos os outros
meios de comunicao em um nico sistema integrado que poderia fazer tudo para todos. Isso
no aconteceu. Em grande parte, os problemas eram semelhantes aos que descrevemos antes em
relao ao OSI, isto , momento, tecnologia, implementao e poltica ruins. Tendo
simplesmente derrubado as empresas de telefonia no primeiro round, muitas pessoas na
comunidade da Internet viram no ATM a seqncia da luta da Internet contra as empresas de
telecomunicaes. Porm, isso no era verdade e, desse momento em diante, at mesmo os
fanticos por datagramas concluram que a qualidade de servio da Internet deixava muito a
desejar. Para encurtar a histria, o ATM teve muito mais sucesso que o OSI, e agora,
amplamente utilizado dentro do sistema de telefonia para mover pacotes IP. Por ser utilizada
principalmente pelas operadoras para transporte interno, muitas vezes os usurios no percebem
sua existncia, mas, sem dvida, ele estar vivo e muito bem.

79

Apostila de Fundamentos de Redes de Computadores


6.3.1

Prof: Ricardo Quinto

Circuitos Virtuais do ATM

Tendo em vista que as redes ATM so orientadas a conexes, o envio de dados exige
primeiro o envio de um pacote para reconfigurar a conexo. medida que o pacote de
configurao passa pela sub-rede, todos os roteadores no caminho inserem uma entrada em
suas tabelas internas registrando a existncia da conexo e reservando os recursos
necessrios para ela. Com freqncia, as conexes so chamadas de circuitos virtuais, em
uma analogia com os circuitos fsicos utilizados no sistema telefonia. A maioria das redes
ATM tambm admite circuitos virtuais permanentes, que so conexes permanentes entre
duas mquinas (distantes). Eles so semelhantes a linhas dedicadas no universo da
telefonia. Cada conexo, temporria ou permanente, tem um identificador de conexo
exclusivo.
Uma vez estabelecida uma conexo, um ou outro lado pode iniciar a transmisso de
dados. A idia bsica por trs do ATM transmitir todas as informaes em pequenos
pacotes de tamanho fixo chamados clulas. As clulas tm 53 bytes, dos quais 5 bytes
formam o cabealho e 48 bytes so a carga til. Uma parte do cabealho o identificador
da conexo, e assim, as mquinas transmissoras e receptoras e todos os roteadores
intermedirios podem saber quais clulas pertencem a cada conexo. Essa informao
permite que cada roteador saiba como rotear cada clula de entrada. O roteamento de
clulas feito em hardware, em alta velocidade. De fato, o principal argumento para se ter
clulas de tamanho fixo a facilidade para construir roteadores de hardware capazes de
tratar clulas curtas de comprimento fixo. Pacotes IP de comprimento varivel tm de ser
roteados por software, um processo mais lento. Outra vantagem do ATM a possibilidade
de configurar o hardware para copiar uma clula de entrada em vrias linhas de sada, uma
propriedade necessria para manipular um programa de televiso que esteja sendo
transmitido por difuso a muitos receptores. Por fim, clulas pequenas no bloqueiam
nenhuma linha por muito tempo, o que torna mais fcil garantir a qualidade de servio.
Todas as clulas seguem a mesma rota at o destino. A entrega de clulas no
garantida, mas sua ordem sim. Se as clulas 1 e 2 forem enviadas nessa ordem, se ambas
chegarem, elas chegaro nessa ordem, nunca 2 antes de 1. Porm, uma delas ou ambas
podem se perder no caminho. Cabe aos nveis de protocolos mais altos recuperar clulas
perdidas. Observe que, embora essa garantia no seja perfeita, melhor que a garantia
oferecida pela Internet. L, os pacotes no s podem se perder, mas tambm podem ser
entregues fora de ordem. Em contraste, o ATM garante nunca entregar clulas fora de
ordem.
As redes ATM so organizadas como WANs tradicionais, com linhas e roteadores.
As velocidades mais comuns para redes ATM so 155 Mbps e 622 Mbps, embora sejam
admitidas velocidades mais altas. A velocidade de 155 Mbps foi escolhida por possibilitar
a transmisso de imagens de televiso de alta definio. A escolha de exatamente
155,52 Mbps se deu por uma questo de compatibilidade com o sistema de transmisso
SONET da AT&T. A velocidade de 622 Mbps foi escolhida para permitir que quatro
canais de 155 Mbps pudessem ser enviados atravs dela.
6.4

ISDN

Um dos primeiros esforos para se fornecer servios digitais de larga escala para os
assinantes foi lanado pelas companhias telefnicas sob o nome de ISDN (Integrated Services
Digital Network Rede Digital de Servios Integrados). O ISDN fornece voz e dados
digitalizados para assinantes atravs do cabeamento de loop local convencional. Isto , o ISDN
usa o mesmo tipo de cabeamento de cobre de par tranado que o sistema telefnico analgico.

80

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Do ponto de vista de um assinante, o ISDN oferece trs canais digitais separados,


designados B, B e D (normalmente escritos 2B+D). Os dois canais B, que operam cada um em
uma velocidade de 64 Kbps, so para o transporte de voz digitalizada, dados ou vdeo
comprimido; o canal D, que opera a 16 Kbps, serve como um canal de controle1. Em geral, um
assinante usa o canal D para solicitar servios que so ento providos atravs dos canais B, por
exemplo, fazer um telefonema que usa voz digital. O assinante tambm usa o canal D para
administrar uma sesso que est em andamento ou para terminar uma sesso. Finalmente, os
dois canais B podem ser combinados ou unidos para se produzir um nico canal com uma taxa
de dados efetiva de 128 Kbps.
Os canais 2B+D so conhecidos como ISDN Basic Rate Interface (BRI). De fato, o ISDN
usa uma forma de multiplexao por diviso de tempo para fornecer a iluso de mltiplos canais
de dados viajando atravs de um nico par de fios.
Quando as companhias telefnicas definiram primeiramente o ISDN muitos anos atrs,
64 Kbps parecia rpido se comparado a modems dial-up, que operavam a menos que 10 Kbps.
As companhias telefnicas esperavam que os clientes usassem o ISDN para as comunicaes
digitais locais e de longa distancia de forma anloga ao modo que eles usam o sistema telefnico
de voz. Com o passar dos anos, porm, os modems dial-up melhoraram, e foram inventadas
tecnologias alternativas que forneceram taxas de dados altas atravs do loop local com custo
baixo. Conseqentemente, o ISDN agora uma alternativa cara que oferece pequena largura de
banda.
6.5

xDSL

Um dos tipos mais impressionantes da nova tecnologia para fornecimento de servios


digitais atravs de loop local conhecido como DSL (Digital Subscriber Line Linha Digital de
Assinante). De fato, existem diversas variantes. Como os nomes diferem pela primeira palavra,
o conjunto coletivamente chamado atravs da sigla xDSL.
A tecnologia de xDSL que talvez seja a mais interessante conhecida com ADSL
(Asymmetric Digital Subscriber Line Linha Digital de Assinante Assimtrica). Do ponto de
vista de um assinante, o ADSL fornece a habilidade de se enviar e receber informaes digitais
em alta velocidade. Como o nome indica, entretanto, o servio assimtrico. No caso do
ADSL, a assimetria deriva da taxa de transferncia. A largura de banda disponvel dividida
para se tornar a taxa de transferncia em uma direo muito mais alta do que na outra.
Para entender a motivao para a assimetria, pense sobre como uma pessoa mdia usa a
Internet. A maioria do trfego gerada quando a pessoa navega pela Web ou faz download de
arquivos. Em ambos os casos, o trfego que o indivduo envia para a Internet consiste em
pequenas solicitaes, por exemplo, alguns bytes de dados. Porm, o trfego que flui de volta
da Internet para o usurio pode conter milhes de bytes de dados, por exemplo, imagens
digitalizadas. Para distinguir as duas direes, os profissionais usam o termo downstream para
se referir a dados fluindo para o usurio, e upstream para se referir a dados fluindo a partir do
usurio. O loop do assinante pode ser otimizado para trfego assimtrico se estiver alocando a
largura de banda de maneira a fornecer uma taxa de transferncia mais alta para downstream.
Do ponto de vista do usurio, a otimizao oferece a vantagem de permitir que as pginas
da Web sejam mostradas mais depressa do que uma soluo simtrica permitiria. Claro, a
assimetria torna o ADSL imprprio para conexes que enviam mais dados do que recebem. Por

Embora o usurio tenha um total de 144 Kbps disponvel, o sistema subjacente opera a 160 Kbps; os 16 Kbps restantes
so consumidos por sincronizao e enquadramento.

81

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

exemplo, um negcio que tem um catlogo on-line disponvel para clientes no se beneficiaria
do ADSL porque o negcio tenderia a enviar mais dados do que recebe.
Quo rpido o ADSL pode operar? A taxa mxima de downstream atinge um valor
espantoso de 6,144 Mbps, e a taxa mxima upstream atinge 640 Kbps.
Embora as taxas de dados sejam surpreendentemente altas, o aspecto mais surpreendente
do ADSL advm do cabeamento fsico atravs do qual ele alcana tais taxas de dados e o modo
que ele usa esse cabeamento. O ADSL no exige quaisquer mudanas no cabeamento de loop
local porque projetado para correr sobre o mesmo cabeamento de par tranado que foi
originalmente instalado para o servio telefnico analgico. Alm disso, o ADSL no
interrompe o loop local, ele pode executar simultaneamente atravs dos mesmos fios que o
servio telefnico padro. Desse modo, o ADSL tem uma vantagem econmica bvia: as
companhias telefnicas podem us-lo para prover servio digital de alta velocidade sem
recabear o loop local.
Como o ADSL alcana taxas altas de dados sobre par tranado? Os pesquisadores
primeiro observaram que um esquema como o ADSL poderia ser possvel porque muitos loops
locais acomodam sinais em freqncias mais altas do que aquelas usadas pelo sistema
telefnico. A soluo ADSL complexa porque no h dois loops locais com caractersticas
idnticas. Em vez disso, a habilidade de transportar sinais depende da distncia, do tipo de
cabeamento usado e do nvel de interferncia eltrica. Desse modo, os projetistas no podiam
escolher um conjunto particular de freqncias portadora ou tcnicas de modulao que
funcionariam em todos os casos. Por exemplo, considere dois assinantes que vivem em partes
diferentes de uma cidade. Se a linha telefnica que est indo ao primeiro assinante passa
prxima a uma estao de rdio comercial, o sinal da estao causar interferncia na freqncia
que a estao usa. Se o segundo assinante no vive prximo mesma estao de rdio, a
freqncia que a estao de rdio usa pode funcionar bem para dados naquela linha do assinante.
Porm, a segunda linha pode sofrer interferncia em outra freqncia.
Para acomodar as diferenas em caractersticas de loop local, o ADSL adaptativa. Ou
seja, quando os modems ADSL so ligados, eles examinam a linha entre eles para descobrir
suas caractersticas, e ento concordam em se comunicar usando tcnicas que so timas para a
linha. Em particular, o ADSL usa um esquema conhecido como modulao DMT (Discrete
Multi Tone Multi Tom Discreto), que combina multiplexao por diviso de freqncia e
tcnicas de multiplexao inversa.
A multiplexao por diviso de freqncia no DMT implementada dividindo-se a
largura de banda em 286 freqncias separadas ou subcanais1, com 255 freqncias usadas para
transmisso downstream de dados, 31 usadas para transmisso upstream de dados e 2 usadas
para informaes de controle. Conceitualmente, existe um modem separado executando em
cada subcanal, que tem sua prpria portadora modulada. As portadoras so espaadas em
intervalos de 4,1325 KHz para evitar que os sinais interfiram um com o outro. Alm disso, para
garantir que suas transmisses no interfiram com sinais de telefonia analgica, o ADSL evita
usar a largura de banda abaixo de 4 KHz. Quando o ADSL inicia, ambas as pontas examinam
as freqncias disponveis para determinar que sinais passam e que sinais experimentam
interferncia. Alm de selecionar as freqncias, as duas pontas avaliam a qualidade do sinal
em cada freqncia e usam a qualidade para selecionar um esquema de modulao. Se uma
freqncia em particular tem uma relao sinal-rudo alta, o ADSL seleciona um esquema de

A terminologia surge porque a capacidade de uma conexo ADSL pode ser dividida em canais de 1,544 Mbps
conectados cada um a um circuito T1.

82

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

modulao que codifica muitos bits por baud. Se a qualidade em uma determinada freqncia
baixa, o ADSL seleciona um esquema de modulao que codifica menos bits por baud.
O resultado da adaptao uma tecnologia robusta que pode se adaptar a vrias condies
de linha automaticamente. Do ponto de vista de um usurio, a adaptao tem uma propriedade
interessante: o ADSL no garante uma taxa de dados. Em vez disso, o ADSL pode garantir
somente que far tanto quanto as condies da linha permitirem que suas tcnicas operem.
Deste modo, a taxa downstream varia de 32 Kbps a 6,4 Mbps e a taxa upstream varia de
32 Kbps a 640 Kbps.
6.5.1

Outras Tecnologias de DSL

Alm do ADSL, foram desenvolvidas outras tecnologias DSL. Cada uma usa a
largura de banda para alcanar uma meta ligeiramente diferente. Deste modo, cada uma
apresenta vantagens para alguns aplicativos. Por exemplo, a SDSL (Symmetric Digital
Subscriber Line Linha Digital de Assinante Simtrica) fornece taxas de bits simtricas em
ambas as direes. Como descrito anteriormente, a maioria dos indivduos que usam redes
de computadores seguem um padro assimtrico de uso. Diversas companhias pequenas
seguem o mesmo padro. Elas geralmente usam a rede para obter informaes. Porm, as
empresas que fornecem informaes para outras tendem a ter exatamente a assimetria
oposta, exportam mais dados que importam. Infelizmente, poucas companhias telefnicas
oferecem ADSL com direes de assimetria invertida. Deste modo, as empresas que
exportam informaes podem preferir o SDSL. Alm disso, como o SDSL usa um
esquema de codificao diferente do ADSL, o SDSL pode operar atravs de loops locais
para os quais o ADSL imprprio. Deste modo, algumas companhias telefnicas escolhem
oferecer servio de SDSL em vez de ADSL.
Outro servio de DSL conhecido como HDSL (High-Rate Digital Subscriber Line
Linha Digital de Assinante de Taxa Alta). O HDSL fornece uma taxa de bits DS1 (ou seja,
1,544 Mbps) nas duas direes. Uma das desvantagens do HDSL uma limitao de
distncia em loops locais. Outra desvantagem advm dos requisitos de cabeamento.
Diferente do ADSL, que usa um nico par tranado, o HDSL exige dois pares tranados
independentes. Para superar a desvantagem de cabeamento, uma variante conhecida como
HDSL2 foi proposta e executa sobre dois fios1.
Uma das vantagens do HDSL advm de sua tolerncia a modificaes no loop local
feitas para o sistema telefnico. Em particular, o HDSL pode ser usado em um loop que
inclui uma bridge tap telefnica (algumas tecnologias de DSL no podem). Alm disso,
como sua taxa de transferncia compatvel com um circuito T1, mover dados entre um
circuito T1 e HDSL simples.
Outra vantagem do HDSL surge da sua habilidade de tolerar falhas graciosamente. A
tecnologia foi projetada de forma que se um dos dois pares tranados falha, os modems no
falham completamente, mas, em vez disso, continuam a operar a uma metade da taxa
mxima de transferncia. O modo de falha graciosa especialmente atrativo para as
empresas porque freqentemente melhor ter uma conexo lenta do que nenhuma conexo.
Outra variante do DSL que foi estudada pode fornecer throughput muito mais alto.
Conhecida como VDSL (Very-high bit rate Digital Subscriber Line Linha Digital de
Assinante de Taxa muito alta), a tecnologia pode alcanar uma taxa de dados de at
52 Mbps. Alternativas que oferecem 13 Mbps e 26 Mbps foram tambm investigadas.

Como o trfego upstream e downstream compartilham um nico par de fios, o HDSL2 s vezes chamado de SHDSL.

83

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Embora tais taxas altas possam ser alcanadas atravs de um par tranado de cobre, o
VDSL no pode ser usado no cabeamento existente entre a Estao Central e os assinantes
telefnicos porque as distncias so muito longas. Ento, a VDSL exige pontos de
concentrao intermedirios, com fibra ptica conectando os pontos de concentrao de
volta para a Estao Central. Em terminologia VDSL, um ponto de concentrao
chamado de ONU (Optical Network Unit Unidade de Rede ptica). Como as verses de
VDSL com taxas de dados inferiores correm sobre cobre atravs de distncias mais longas,
elas no exigem que pontos de concentrao fiquem to perto do assinante. Desse modo,
taxas de dados mais baixas exigem menos pontos de concentrao para cobrir uma dada
rea geogrfica.
6.6

Cable Modem

As Sees 6.4 e 6.5 examinaram tecnologias que entregam informaes digitais atravs do
cabeamento de par tranado que forma o loop local do sistema telefnico analgico. Esta Seo
considera o uso de um esquema de cabeamento alternativo que pode entregar taxas de bit muito
mais altas.
A motivao primria para considerar alternativas para o loop local telefnico advm das
limitaes inerentes. O problema principal reside nas caractersticas eltricas do cabeamento de
par tranado. Embora as tecnologias como ADSL possam alcanar taxas de bit muito mais altas
que modems dial-up, o cabeamento impe um limite mximo na rapidez em que os dados
podem ser transferidos. Alm disso, a falta de proteo torna o cabeamento suscetvel
interferncia, o que pode degradar substancialmente o desempenho para alguns assinantes.
Em um esforo para superar as limitaes do cabeamento de par tranado, os
pesquisadores investigaram tecnologias com e sem-fio para o uso no loop local. Uma
tecnologia alternativa distingue-se como particularmente atraente porque oferece velocidade
mais alta do que o cabeamento telefnico, menos suscetvel interferncia eletromagntica e
no exige uma infra-estrutura completamente nova: televiso a cabo1. Alm disso, muitas reas
residenciais j tm instalao de TV a cabo disponvel.
Um sistema de TV a cabo tem quase todas as facilidades necessrias para o envio de
informaes digitais downstream em alta velocidade. O meio consiste em cabo coaxial, que tem
alta capacidade e imune interferncia eletromagntica, e no hardware de sistema de cabo que
usa sinalizao de banda larga (ou seja, multiplexao por diviso de freqncia) para transmitir
mltiplos canais de televiso simultaneamente. Mais importante, como os sistemas de cabo so
projetados para transportar mais sinais de televiso do que aqueles que esto atualmente
disponveis, o hardware tem largura de banda ociosa (ou seja, canais) que pode ser usada para
enviar dados. As vantagens tm sido suficientes para estimular a pesquisa.
Em teoria, possvel estender um sistema de cabo para enviar informaes digitais
downstream usando multiplexao de diviso de freqncia. Para fazer isso, necessrio um
par de modems de cabo (cable modem) para cada assinante. Um modem reside na central da TV
a cabo e o outro no site do assinante. Ambos os modems de um dado par devem estar
sintonizados para operar na mesma freqncia portadora, que multiplexada no cabo junto a
sinais de televiso. Os dados passados ao modem na central da TV a cabo so codificados na
portadora, que ento difundida atravs do cabo para todos os assinantes. Um modem
equivalente na localizao do assinante escolhe o sinal de portadora, extrai as informaes
digitais codificadas e passa a informao resultante ao computador do assinante.

Formalmente, a tecnologia conhecida como Community Antenna TeleVision (CATV).

84

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Na prtica, porm, mesmo a grande largura de banda disponvel em sistemas de TV a cabo


no suficiente para tratar de um esquema de multiplexao por diviso de freqncia que se
estenda a cada usurio. Para entender por qu, considere o nmero de assinantes e lembre-se de
que as freqncias da portadora devem ser separadas uma das outras para evitar interferncia.
Em uma grande rea metropolitana, um nico provedor de cabo pode ter milhes de assinantes,
impossibilitando que se aloque uma freqncia portadora separada para cada assinante. Como
resultado, o esquema de multiplexao de diviso de freqncia no escalvel.
Os engenheiros tm explorado vrias formas de se tratar do problema da multiplexao
downstream de sinais. Uma soluo uma forma de multiplexao por diviso de tempo. Em
vez de designar uma freqncia nica para cada assinante, a empresa de cabo usa uma
freqncia para um conjunto de assinantes. Alm disso, um endereo associado a cada
assinante. O modem de um assinante escuta a freqncia designada para os pacotes que so
recebidos. Antes de aceitar um pacote, o dispositivo verifica se o endereo de destino combina
com o endereo designado para o assinante. Essencialmente, a poro de dados do sistema de
hardware de cabo se assemelha a um conjunto de LANs compartilhadas, ao contrrio de um
conjunto de links ponto a ponto.
Do ponto de vista de um assinante, o compartilhamento da largura de banda com outros
assinantes pode ser uma desvantagem. Embora os modems de cabo possam entregar at
36 Mbps, a taxa de dados efetiva disponvel para cada estao individual varia com o passar do
tempo. Se N assinantes compartilham uma nica freqncia, a capacidade disponvel para um
assinante individual pode chegar a 1/N.

85

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Captulo 7
Arquitetura TCP/IP
7.1

A Motivao para Ligao Inter-redes

Cada tecnologia de rede projetada para satisfazer um conjunto especfico de restries.


Por exemplo, as tecnologias de LAN so projetadas para fornecer comunicao de alta
velocidade atravs de pequenas distncias, enquanto que as tecnologias de WAN so projetadas
para fornecer comunicao atravs de reas geograficamente distantes, conseqentemente, no
h uma nica tecnologia de rede que seja a melhor para todas as necessidades.
Uma organizao grande, com requisitos de redes diversos, precisa de mltiplas redes
fsicas. Mais importante, se a organizao escolhe o tipo de rede que melhor para cada tarefa,
a organizao ter vrios tipos de redes. Por exemplo, uma tecnologia de LAN como Ethernet
poderia ser a melhor soluo por conectar vrios computadores em um escritrio, mas um
servio de Frame Relay poderia ser usado para interconectar computadores em uma cidade.
7.2

O Conceito de Servio Universal

O principal problema com mltiplas redes deveria ser bvio: um computador acoplado a
uma determinada rede pode se comunicar somente com outros computadores acoplados
mesma rede. O problema se tornou evidente nos anos 70 quando grandes organizaes
comearam a adquirir mltiplas redes. Cada rede na organizao formou uma ilha. Em muitas
instalaes iniciais, cada computador estava acoplado a uma nica rede e os funcionrios tinham
que escolher um computador apropriado para cada tarefa. Isto , um funcionrio recebia acesso
a mltiplas telas e teclados, e era forado a se mover de um computador a outro para enviar uma
mensagem atravs da rede apropriada.
Os usurios no ficam satisfeitos nem so produtivos quando tm que usar um computador
separado para cada rede. Conseqentemente, a maioria dos sistemas de comunicao modernos
permite a comunicao entre quaisquer dois computadores de maneira anloga a um sistema
telefnico que fornece comunicao entre quaisquer dois telefones. Conhecido como servio
universal, o conceito uma parte fundamental da rea de redes. Com o servio universal, um
usurio em qualquer computador em qualquer parte de uma organizao pode enviar mensagens
ou dados para qualquer outro usurio. Alm disso, um usurio no precisa mudar de sistema de
computador quando muda tarefas todas as informaes esto disponveis para todos os
computadores. Como resultado, os usurios so mais produtivos.
7.3

Servio Universal em um Mundo Heterogneo

O servio universal significa que uma organizao precisa adotar uma nica tecnologia de
rede, ou possvel ter servio universal atravs de mltiplas redes que mltiplas tecnologias?
sabido que incompatibilidades eltricas impossibilitam a formao de uma grande rede apenas
se interconectando os fios de duas redes. Alm disso, tcnicas de extenso como ligao com
bridges no podem ser usadas com tecnologias de rede heterogneas porque tecnologias
diferentes usam formatos de pacote e esquemas de endereamento incompatveis. Deste modo,
um quadro criado para uma tecnologia de rede no pode ser transmitido em uma rede que usa
uma tecnologia diferente.

86

Apostila de Fundamentos de Redes de Computadores


7.4

Prof: Ricardo Quinto

Ligao Inter-redes

Apesar das incompatibilidades entre tecnologias de rede, os pesquisadores inventaram um


esquema que fornece servio universal entre redes heterogneas. O esquema, chamado ligao
inter-redes, utiliza hardware e software. Os sistemas de hardware adicionais so usados para
interconectar um conjunto de redes fsicas. O software em todos os computadores acoplados,
ento, fornece servio universal. O sistema que resulta das redes fsicas conectadas conhecido
como uma inter-rede (internet).
A ligao inter-redes bastante geral. Em particular, uma inter-rede no restrita em
tamanho. Existem inter-redes que contm algumas redes e existem inter-redes que contm
milhares de redes. Semelhantemente, o nmero de computadores acoplados a cada rede em uma
inter-rede pode variar. Algumas redes no tm nenhum computador acoplado, enquanto outras
tm centenas.
7.5

Conexo de Rede Fsica com Roteadores

O componente bsico de hardware usado para conectar redes heterogneas um roteador.


Fisicamente, os roteadores se assemelham a bridges. Cada roteador um computador de
propsito especfico dedicado tarefa de interconectar redes. Como uma bridge, um roteador
tem um processador e memria convencional, como tambm uma interface de E/S separada para
cada rede que conecta. A rede trata uma conexo com um roteador da mesma forma que uma
conexo com qualquer outro computador. A Figura 7.1 mostra que a conexo fsica de redes
com um roteador direta.

Figura 7.1 Duas redes fsicas conectadas por um roteador.

A Figura 7.1 usa uma nuvem para representar cada rede em vez de uma linha ou um
crculo porque as conexes de roteadores no so restritas a uma determinada tecnologia de
rede. Um roteador pode conectar duas LANs, uma LAN e uma WAN, ou duas WANs. Alm
disso, quando um roteador conectar duas redes na mesma categoria geral, as redes no precisam
usar a mesma tecnologia. Por exemplo, um roteador pode conectar uma LAN Ethernet com
uma LAN FDDI (fibra ptica). Deste modo, cada nuvem representa uma tecnologia de rede
arbitrria.
7.6

Arquitetura de Inter-rede

Os roteadores possibilitam a uma organizao escolher tecnologias de rede apropriadas


para cada necessidade e usar roteadores para conectar todas as redes em uma nica inter-rede.
Por exemplo, a Figura 7.2 mostra como podem ser usados trs roteadores para se conectar
quatro redes fsicas arbitrrias em uma inter-rede.

Figura 7.2 Uma inter-rede formada usando trs roteadores.

87

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Embora a Figura 7.2 mostre cada roteador com exatamente duas conexes, os roteadores
comerciais podem conectar mais de duas redes. Deste modo, um nico roteador poderia
conectar todas as quatro redes em nosso exemplo. Porm, uma organizao raramente usa um
nico roteador para conectar todas as suas redes. Existem duas razes:

Como a CPU e a memria em um roteador so usadas para processar cada pacote,


o processador em um roteador insuficiente para tratar do trfego que passa entre
um nmero arbitrrio de redes;

Redundncia melhora a confiabilidade da inter-rede. O software de protocolo


continuamente monitora as conexes entre redes e instrui os roteadores para enviar
trfego atravs de caminhos alternativos quando uma rede ou roteador falha.

Deste modo, ao planejar uma inter-rede, uma organizao deve escolher um projeto que v
ao encontro das suas necessidades em relao confiabilidade, capacidade e ao custo. Em
particular, os detalhes exatos da topologia de inter-rede freqentemente dependem da largura de
banda das redes fsicas, do trfego esperado, dos requisitos de confiabilidade da organizao e
do custo do hardware de roteador disponvel.
7.7

Obtendo Servio Universal

A meta da ligao inter-redes o servio universal atravs de redes heterogneas. Para


fornecer servio universal entre todos os computadores em uma inter-rede, os roteadores devem
concordar em encaminhar informaes de uma origem em uma rede para um destino
especificado em outra. A tarefa complexa porque formatos de quadros e esquemas de
endereamento usados pelas redes subjacentes podem diferir. Como resultado, necessrio
software de protocolo em computadores e roteadores para possibilitar o servio universal.
7.8

Uma Rede Virtual

Em geral, o software de inter-rede fornece a iluso de um nico sistema integrado de


comunicao ao qual muitos computadores so acoplados. O sistema oferece servio universal:
a cada computador atribudo um endereo, e qualquer computador pode enviar um pacote para
qualquer outro computador. Alm disso, o software de protocolo de inter-rede esconde os
detalhes de conexo de rede fsica, endereos fsicos e informaes de roteamento. Nem
usurios nem programas aplicativos esto cientes das redes fsicas subjacentes ou dos roteadores
que as conectam.
Dizemos que uma inter-rede um sistema de rede virtual porque o sistema de
comunicaes uma abstrao. Isto , embora uma combinao de hardware e software
fornea a iluso de um sistema de rede uniforme, tal rede no existe. A Figura 7.3 mostra o
conceito de rede virtual como tambm uma estrutura fsica correspondente.

88

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 7.3 O conceito de inter-rede.

7.9

Protocolos para Ligao Inter-redes

Embora muitos protocolos tm sido adaptados para o uso em inter-redes, um pacote


distingue-se como o mais extensamente usado para a ligao inter-redes. O pacote
formalmente conhecido como Os Protocolos de Internet TCP/IP (TCP Transfer Control
Protocol; IP Internet Protocol). A maioria dos profissionais de redes se refere a eles
simplesmente como TCP/IP.
O TCP/IP foi o primeiro conjunto de protocolos desenvolvido para o uso em uma interrede. De fato, os pesquisadores que inventaram o TCP/IP desenvolveram tambm a arquitetura
de inter-rede descrita anteriormente neste captulo. O trabalho com TCP/IP comeou nos anos
70, aproximadamente ao mesmo tempo em que as redes locais estavam sendo desenvolvidas. O
exrcito dos EUA fundamentou boa parte da pesquisa em TCP/IP e a ligao inter-redes atravs
da ARPA (Advanced Research Projects Agency). O exrcito estava entre as primeiras
organizaes a ter mltiplas redes fsicas. Conseqentemente, o exrcito foi um dos primeiros a
perceber a necessidade do servio universal. Pela metade dos anos 80, a National Science
Foundation e outras agncias do governo dos EUA estavam financiando o desenvolvimento do
TCP/IP e uma grande inter-rede que seria usada para testar protocolos.
7.10 Arquitetura TCP/IP

A pesquisa em protocolos de ligao inter-redes e TCP/IP produziu resultados drsticos.


A ligao inter-redes se tornou uma das idias mais importantes na rea moderna de redes. De
fato, a tecnologia de inter-rede revolucionou a comunicao entre computadores. A maioria das
grandes organizaes j usa ligao inter-redes como mecanismo primrio de comunicao entre
computadores. Organizaes menores e os prprios indivduos esto comeando a fazer o
mesmo. Mais importante, alm de inter-redes privadas, a tecnologia de TCP/IP possibilitou uma
inter-rede global (Internet) que alcana mais de 36 milhes de computadores em escolas,
89

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

organizaes comerciais e sites governamentais e militares em mais de 107 pases em todo


mundo.
A demanda mundial para produtos de ligao inter-redes afetou a maioria das empresas
que vendem tecnologias de rede. A competio aumentou porque foram criadas novas empresas
para vender o hardware e software necessrio para a ligao inter-redes. Alm disso, muitas
empresas modificaram seus projetos de protocolo para acomodar a ligao inter-redes. Em
particular, a maioria dos protocolos de rede foram originalmente projetados para funcionar com
uma tecnologia de rede e uma rede fsica de cada vez. Para fornecer capacidade de ligao
inter-redes, as empresas estenderam os projetos de duas maneiras: os protocolos foram
adaptados para funcionar com muitas tecnologias de rede e foram acrescentadas novas
caractersticas que permitem aos protocolos transferir dados atravs de uma inter-rede.
7.11 Diviso em Camadas do Protocolo TCP/IP

O modelo OSI de referncia de 7 camadas visto no Captulo 3 foi criado antes de a ligao
inter-redes ser inventada. Conseqentemente, o modelo no contm uma camada para
protocolos de inter-rede. Alm disso, o modelo de referncia de 7 camadas dedica uma camada
inteira a protocolos de sesso, que se tornaram muito menos importantes medida que os
sistemas de computadores mudaram de grandes sistemas de tempo compartilhado para
workstations pessoais. Como resultado, os pesquisadores que desenvolveram o TCP/IP
inventaram um novo modelo em camadas.
O modelo de camadas do TCP/IP, que tambm chamado de Modelo de Camadas Interredes ou o Modelo de Referncia de Inter-redes contm cinco ou quatro camadas dependendo do
autor, como mostra a Figura 7.4.
Camada 5
Camada 4
Camada 3
Camada 2
Camada 1

Aplicao
Transporte
Internet (Rede)
Interface de Rede
Fsica

Camada 4
Camada 3
Camada 2

Aplicao
Transporte
Internet (Rede)

Camada 1

Enlace

Figura 7.4 As camadas do modelo de referncia TCP/IP.

Quatro das camadas no modelo de referncia TCP/IP correspondem a uma ou mais


camadas no modelo de referncia OSI. Porm, o modelo OSI no tem nenhuma camada de
Inter-rede. Abaixo feito um resumo do propsito de cada camada.
Camada 1: Fsica
A Camada 1 corresponde ao hardware de rede bsico da mesma maneira que
na Camada 1 no modelo de referncia OSI de 7 camadas.
Camada 2: Interface de Rede
Os protocolos da Camada 2 especificam como organizar dados em quadros e
como um computador transmite quadros atravs de uma rede,
semelhantemente aos protocolos da Camada 2 no modelo de referncia OSI.
Camada 3: Inter-rede
Os protocolos da Camada 3 especificam o formato dos pacotes enviados
atravs de uma inter-rede como tambm os mecanismos usados para
encaminhar pacotes a partir de um computador atravs de um ou mais
roteadores at um destino final.

90

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Camada 4: Transporte
Os protocolos da Camada 4, como a Camada 4 no modelo OSI, especificam
como assegurar transferncia confivel.
Camada 5: Aplicao
A Camada 5 corresponde s camadas 6 e 7 no modelo OSI. Cada protocolo
da Camada 5 especifica como um aplicativo usa uma inter-rede.

O TCP/IP define o termo computador host para se referir a qualquer sistema de


computador que esteja conectado a uma inter-rede e execute aplicativos. Um host pode ser to
pequeno quanto um computador pessoal ou to grande quanto um mainframe. Alm disso, a
CPU de um host pode ser lenta ou rpida, a memria pode ser grande ou pequena, e a rede a
qual um host se conecta pode operar em alta ou baixa velocidade. Os protocolos do TCP/IP
possibilitam que qualquer par de hosts se comunique, apesar das diferenas de hardware.
Ambos os hosts e roteadores precisam de software de protocolo TCP/IP. Porm, os
roteadores no usam protocolos de todas as camadas. Em particular, um roteador no precisa
dos protocolos da Camada 5 para aplicativos como transferncia de arquivos porque roteadores
no executam tais aplicativos1.
7.12 Endereos para a Inter-rede Virtual

A meta da ligao inter-redes fornecer um sistema de comunicao integrado. Para


obter essa meta, o software de protocolo de inter-rede deve esconder os detalhes de redes fsicas
e oferecer as facilidades de uma grande rede virtual. A inter-rede virtual opera bastante como
qualquer outra rede, permitindo aos computadores enviar e receber pacotes de informaes. A
diferena principal entre uma inter-rede e uma rede fsica que uma inter-rede somente uma
abstrao imaginada por seus projetistas e criada completamente por software. Os projetistas
tm a liberdade para escolher endereos, formatos de pacote e tcnicas de entrega independentes
dos detalhes do hardware fsico.
O endereamento um componente crtico da abstrao de inter-rede. Para dar a
aparncia de um sistema nico uniforme, todos os computadores devem usar um esquema de
endereamento uniforme, e cada endereo deve ser nico. Infelizmente, no bastam endereos
fsicos de rede, porque uma inter-rede pode incluir mltiplas tecnologias de rede, e cada
tecnologia define seu prprio formato de endereo. Deste modo, os endereos usados por duas
tecnologias podem ser incompatveis pois possuem tamanhos ou formatos diferentes.
Para garantir o endereamento uniforme para todos os hosts, o software de protocolo
define um esquema de endereamento que independente dos endereos fsicos subjacentes.
Embora um esquema de endereamento de inter-rede seja uma abstrao criada por software,
so usados endereos de protocolo como destino de inter-rede virtual analogamente forma com
que os endereos de hardware so usados como destino em uma rede fsica. Para enviar um
pacote atravs de uma inter-rede, o remetente coloca o endereo de destino do protocolo no
pacote e passa o pacote para o software de protocolo para entrega. O software usa o endereo de
destino do protocolo quando encaminha o pacote atravs da inter-rede para o computador de
destino.
O endereamento uniforme ajuda a criar a iluso de uma grande rede integrada porque
esconde os detalhes sobre os endereos de rede fsica subjacente. Dois programas aplicativos
podem se comunicar sem saber o endereo de hardware do outro. A iluso to completa que

Alguns roteadores, na verdade, rodam aplicativos que permitem a um gerente administrar o roteador remotamente (por
exemplo, mudar a configurao ou corrigir problemas).

91

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

alguns usurios ficam surpresos ao saber que endereos de protocolo so fornecidos via
software e no so parte do sistema do computador. Interessantemente, aprenderemos que
muitas camadas de software de protocolo usam tambm endereos de protocolo.
7.12.1

O Esquema de Endereos IP

Na pilha de protocolos TCP/IP, o endereamento especificado pelo Protocolo de


Internet (IP). O padro IP especifica que a cada host atribudo um nmero de 32 bits
nico conhecido como endereo de Protocolo de Internet do host, que freqentemente
abreviado como endereo IP, ou endereo de Internet. Cada pacote enviado atravs de
uma inter-rede contm o endereo IP de 32 bits do remetente (origem) como tambm o
receptor pretendido (destino). Deste modo, para transmitir informaes atravs de uma
inter-rede TCP/IP, um computador deve conhecer o endereo IP do computador remoto
para o qual as informaes esto sendo enviadas.
7.12.2

A Hierarquia de Endereos IP

Conceitualmente, cada endereo IP de 32 bits dividido em duas partes: prefixo e


sufixo; a hierarquia de dois nveis projetada para fazer uso eficiente de roteamento. O
prefixo do endereo identifica a rede fsica ao qual o computador est acoplado, enquanto o
sufixo identifica um computador naquela rede. Isto , a cada rede fsica em uma inter-rede
atribudo um valor nico conhecido como nmero de rede (network number). O nmero
de rede aparece como um prefixo no endereo de cada computador acoplado rede. Alm
disso, a cada computador em uma determinada rede fsica atribudo um sufixo de
endereo nico.
Embora no possa ser atribudo a duas redes o mesmo nmero de rede, e dois
computadores na mesma rede no possam ser designados com o mesmo sufixo, um valor de
sufixo pode ser usado em mais de uma rede. Por exemplo, se uma inter-rede contm trs
redes, elas poderiam ser designadas com nmeros de rede 1, 2 e 3. Trs computadores
acoplados rede 1 podem ser designados com os sufixos 1, 3 e 5, enquanto trs
computadores acoplados rede 2 podem ser designados com os sufixos 1, 2 e 3.
A hierarquia de endereos IP garante duas propriedades importantes:

A cada computador atribudo um endereo nico (isto , um nico endereo


nunca atribudo a mais de um computador);

Embora as designaes de nmeros de rede devam ser coordenadas globalmente,


os sufixos podem ser atribudos localmente sem coordenao global.

A primeira propriedade garantida porque um endereo completo contm prefixo e


sufixo, que so atribudos para assegurar a unicidade. Se dois computadores esto
acoplados a redes fsicas diferentes, seus endereos tm prefixos diferentes. Se dois
comutadores esto acoplados mesma rede fsica, seus endereos tm sufixos diferentes.
7.12.3

Classes de Endereos IP

Uma vez que os projetistas do IP escolheram um tamanho para endereos IP e


decidiram dividir cada endereo em duas partes, eles tiveram que determinar quantos bits
colocar em cada parte. O prefixo precisa de bits suficientes para permitir que um nmero
de rede nico seja atribudo a cada rede fsica em uma inter-rede. O sufixo precisa de bits
suficientes para permitir que a cada computador acoplado a uma rede seja atribudo um
sufixo nico. Nenhuma escolha simples foi possvel porque acrescentar bits a uma parte
significa subtrair bits da outra. Escolher um prefixo grande acomoda muitas redes, mas

92

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

limita o tamanho de cada rede; escolher um sufixo grande significa que cada rede fsica
pode conter muitos computadores, mas limita o nmero de redes.
Como uma inter-rede pode incluir tecnologias de rede arbitrrias, uma inter-rede
poderia ser construda de algumas redes fsicas grandes, enquanto outras poderiam consistir
em muitas redes pequenas. Mais importante, uma nica inter-rede pode conter uma mistura
de redes grandes e pequenas. Conseqentemente, os projetistas escolheram um esquema de
endereamento que um meio-termo para acomodar uma combinao de redes grandes e
pequenas. O esquema divide o espao de endereamento IP em trs classes primrias, onde
cada classe tem um prefixo e um sufixo de tamanhos diferentes.
Os primeiros quatro bits de um endereo determinam a classe a que o endereo
pertence e especificam como o restante do endereo dividido em prefixo e sufixo. A
Figura 7.5 mostra as cinco classes de endereos, os bits iniciais usados para identificar cada
classe e a diviso em prefixo e sufixo. A figura segue a conveno usada nos protocolos
TCP/IP de numerar bits da esquerda para a direita e usando zero para o primeiro bit.
Bits

Classe A

Classe B

Classe C

Classe A

Classe D

1
6

Prefixo

2
4

3
1

Sufixo
Prefixo

Sufixo
Prefixo

Sufixo
Endereo Multicast
Reservado para uso futuro

Figura 7.5 Diviso em Classes do endereamento IP.

As classes A, B e C so chamadas de classes primrias porque so usadas para


endereos de hosts. A classe D usada para multicasting, que permite a entrega a um
conjunto de computadores1. Para usar IP multicasting, um conjunto de hosts deve
concordar em compartilhar um endereo multicast. Uma vez que o grupo multicast foi
estabelecido, uma cpia de qualquer pacote enviado para o endereo multicast ser entregue
para cada host no conjunto.
Como mostra a Figura 7.5, as classes primrias usam limites de octeto para dividir
um endereo em prefixo e sufixo. A classe A coloca a diviso entre o primeiro e o segundo
octetos. A classe B coloca o limite entre o segundo e o terceiro octetos, e a classe C coloca
o limite entre o terceiro e o quarto octetos.
7.12.4

Computando a Classe de um Endereo

O software IP computa a classe do endereo de destino sempre que recebe um pacote.


Como a computao freqentemente repetida, ela de ser eficiente. Os endereos IP so
chamados de auto-identificadores porque a classe de um endereo pode ser computada a
partir do endereo propriamente dito.
Parte da motivao para se usar bits iniciais para denotar uma classe de endereo em
vez de usar uma faixa de valores advm de consideraes computacionais: usar bits pode
diminuir o tempo de computao. Em particular, alguns computadores podem examinar
bits mais rapidamente do que podem comparar inteiros. Por exemplo, em um computador
que inclui instrues booleanas and, deslocamento (shift) e pesquisa de ndice, quatro bits

IP multicasting anlogo ao multicasting por hardware. Em ambos os casos, os endereos multicast so opcionais, e
mesmo quando um computador participa em um multicast, ele sempre retm seu endereo individual.

93

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

de endereo podem ser extrados e usados como um ndice em uma tabela para determinar a
classe de endereo. A Tabela 7.1 mostra o contedo de uma tabela usada na computao.
Primeiros Quatro
Bits do Endereo
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

ndice da Tabela
(em decimal)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Classe do
endereo
A
A
A
A
A
A
A
A
B
B
B
B
C
C
D
E

Tabela 7.1 Relao dos primeiros 4 bits com a classe de um endereo IP.

7.12.5

Notao Decimal Pontilhada

Embora os endereos IP sejam nmeros de 32 bits, os usurios raramente entram ou


lem os valores em binrio. Em vez disso, quando est interagindo com um usurio, o
software usa uma notao que mais conveniente para as pessoas entenderem. Chamada
de notao decimal pontilhada (dotted decimal notation), a forma expressa cada seo de 8
bits de um nmero de 32 bits como um valor decimal e usa pontos para separar as sees.
A Tabela 7.2 mostra alguns exemplos de nmeros binrios e as formas decimais
pontilhadas equivalentes.
Nmero Binrio de 32 bits
10000001.00110100.00000110.00000000
11000000.00000101.00110000.00000011
00001010.00000010.00000000.00100101
10000000.00001010.00000010.00000011
10000000.10000000.11111111.00000000

Notao Decimal Pontilhada Equivalente


129.52.6.0
192.5.48.3
10.2.0.37
128.10.2.3
128.128.255.0

Tabela 7.2 Exemplos de Endereos IP em Binrio e Notao Decimal Pontilhada.

A notao decimal pontilhada trata cada octeto como um inteiro binrio sem sinal.
Como mostra o exemplo final na figura, o menor valor possvel, 0 (zero), acontece quando
todos os bits de um octeto so zero, e o maior valor possvel, 255, acontece quando todos os
bits de um octeto so um. Deste modo, os endereos em notao decimal pontilhada
variam de 0.0.0.0 255.255.255.255.
7.12.6

Classes e Notao Decimal Pontilhada

A notao decimal pontilhada trabalha bem com endereos IP porque o IP usa limites
de octeto para separar um endereo em prefixo e sufixo. Em um endereo classe A, os

94

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

ltimos trs octetos correspondem a um sufixo de host. Semelhantemente, os endereos


classe B tm dois octetos de sufixo de host, e os endereos de classe C tem um octeto.
Infelizmente, como a notao decimal pontilhada no mostra os bits individuais de
um endereo, a classe deve ser reconhecida a partir do valor decimal do primeiro octeto. A
Tabela 7.3 mostra o alcance decimal de valores para cada classe.
Classe
A
B
C
D
E

Faixa de Valores
Binrio
Decimal
0000 0000 at 0111 1111 0 at 127
1000 0000 at 1011 1111 128 at 191
1100 0000 at 1101 1111 192 at 223
1110 0000 at 1110 1111 224 at 239
1111 0000 at 1111 1111 240 at 255

Tabela 7.3 Faixa de Valores do Primeiro Octeto para as Classes IP.

7.12.7

Autoridade para Endereos

Na inter-rede como um todo, cada prefixo de rede deve ser nico. Para as redes
conectadas Internet global, uma organizao obtm nmeros de rede da empresa de
comunicao que fornece conexes de Internet. Tais empresas so chamadas de ISPs
(Internet Service Providers Provedores de Servio de Internet). Provedores de Servio de
Internet coordenam com uma organizao central, a IANA (Internet Assigned Number
Authority Autoridade para Designao de Nmeros de Internet), para assegurar que cada
prefixo de rede seja nico ao longo de toda a Internet.
Para uma inter-rede privada, a escolha de prefixo de rede pode ser feita pela
organizao. Para assegurar que cada prefixo seja nico, um grupo que constri uma interrede privada deve decidir como coordenar nmeros de rede. Freqentemente, um nico
administrador da rede atribui prefixos a todas as redes na inter-rede da empresa para
assegurar que os nmeros no sejam duplicados.
7.12.8

Um Exemplo de Endereamento IP

Um exemplo elucidar as idias e explicar como os endereos so atribudos na


prtica. Considere uma organizao que escolhe formar uma inter-rede TCP/IP privada que
consiste em quatro redes fsicas. A organizao deve comprar roteadores para interconectar
as quatro redes e ento deve atribuir endereos IP. Para comear, a organizao escolhe um
prefixo nico para cada rede.
Ao designar um prefixo de rede, um nmero deve ser escolhido das classes A, B ou
C. A escolha depende do tamanho da rede fsica. Normalmente, redes so endereos de
classe C atribudos, a menos que uma classe B seja necessria. A classe A raramente
justificada porque poucas redes contm mais de 65534 hosts. Para redes conectadas
Internet global, um provedor de servios faz a escolha. Para redes em uma inter-rede
privada, o administrador de rede local seleciona a classe.
Considere o exemplo de uma inter-rede privada descrita acima. O administrador de
rede estima o tamanho final de cada rede fsica e utiliza aquele tamanho para escolher um
prefixo. Se a organizao espera uma rede pequena, duas redes de tamanho mdio e uma
rede extremamente grande, o administrador poderia escolher atribuir um prefixo de classe
C (por exemplo: 192.5.48), dois prefixos de classe B (por exemplo: 128.10 e 128.211) e um
prefixo de classe A (por exemplo: 10). A Figura 7.6 ilustra uma inter-rede com quatro

95

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

redes fsicas s quais foram atribudos estes prefixos e mostra alguns exemplos de
endereos IP atribudos aos hosts.

Figura 7.6 Uma inter-rede de exemplo privado com endereos IP atribudos aos hosts.

Como mostra a figura, o endereo IP atribudo a um host sempre comea com o


prefixo que foi atribudo rede fsica do host. Os sufixos, que so atribudos pelo
administrador de rede local, podem ser nmeros arbitrrios. No exemplo, aos dois hosts
conectados rede com prefixos 128.10 foram atribudos sufixos 1 e 2. Embora muitos
administradores prefiram atribuir sufixos consecutivos, o IP no exige que um
administrador assim o faa. As atribuies de exemplos na figura mostram que os sufixos
podem ser valores arbitrrios como 37 ou 85.
7.12.9

Endereos IP Especiais

Alm de atribuir um endereo a cada computador, conveniente ter endereos que


podem ser usados para denotar redes ou conjuntos de computadores. O IP define um
conjunto de formas de endereo especial que reservado. Isto , endereos especiais nunca
so atribudos a hosts. Essa seo descreve a sintaxe e a semntica de cada forma de
endereo especial.
7.12.9.1

Endereo de Rede

Uma das motivaes para definir formas de endereo especial pode ser vista na
Figura 7.6. conveniente ter um endereo que possa ser usado para denotar o prefixo
atribudo a uma determinada rede. O IP reserva um endereo de host zero e o usa para
denotar uma rede. Deste modo, o endereo 128.211.0.0 denota a rede qual foi
atribudo o prefixo de classe B 128.211.
O endereo de rede se refere rede propriamente dita e no aos computadores de
host acoplados quela rede. Deste modo, o endereo de rede nunca deveria aparecer
em um pacote.
7.12.9.2

Endereo de Broadcast Direcionado

s vezes, conveniente enviar uma cpia de um pacote para todos os hosts em


uma rede fsica. Para facilitar o broadcasting, o IP define um endereo de broadcast
dirigido para cada rede fsica. Quando um pacote enviado para um endereo de
broadcast dirigido de uma rede, uma nica cpia do pacote viaja atravs da inter-rede

96

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

at que ele alcance a rede especificada. O pacote ento entregue a todos os hosts na
rede.
O endereo de broadcast dirigido para uma rede formado somando-se ao
prefixo de rede um sufixo que consiste em todos os bits 1. Para assegurar que cada
rede possa ter broadcast dirigido, o IP reserva o endereo de host que contm todos os
bits 1. Um administrador no deve atribuir a um computador especfico o endereo de
host com tudo em zero ou tudo em um ou, caso contrrio, o software pode no
funcionar corretamente.
Se um hardware de rede suporta broadcast, um broadcast dirigido ser entregue
usando a capacidade de broadcast do hardware. Em tais casos, uma transmisso do
pacote alcanar todos os computadores na rede. Quando um broadcast dirigido for
enviado para uma rede que no tem suporte de hardware para broadcast, o software
deve enviar uma cpia separada do pacote para cada host na rede.
7.12.9.3

Endereo de Broadcast Limitado

O termo broadcast limitado se refere a um broadcast em uma rede fsica local.


Informalmente, dizemos que o broadcast limitado a um nico fio. O broadcast
limitado usado durante a partida do sistema por um computador que ainda no sabe o
seu nmero de rede.
O IP reserva o endereo que consiste em todos os bits 1 para se referir ao
broadcast limitado. Deste modo, o IP ir transmitir um broadcast atravs da rede local
qualquer pacote enviado para o endereo que tenho todos os bits 1.
7.12.9.4

Endereo deste Computador

Um computador precisa saber seu endereo IP para enviar ou receber pacotes de


inter-rede porque cada pacote contm o endereo da origem e do destino. O conjunto
de protocolos TCP/IP contm protocolos que um computador pode usar para obter seu
endereo IP automaticamente quando o computador realiza o boot. Interessantemente,
os protocolos de inicializao (startup) usam IP para se comunicar. Ao usar tais
protocolos de inicializao, um computador no pode fornecer um endereo IP de
origem correto. Para tratar de tais casos, o IP reserva o endereo que consiste em
todos os bits zero para significar este computador.
7.12.9.5

Endereo de Loopback

O IP define um endereo de loopback usado para testar aplicativos de rede. Os


programadores freqentemente usam o teste de loopback para depurao preliminar
depois de ser criado um aplicativo de rede. Para executar um teste de loopback, um
programador deve ter dois programas aplicativos que planejam se comunicar atravs
de uma rede. Cada aplicativo inclui o cdigo necessrio para interagir com o software
de protocolo TCP/IP. Em vez de executar cada programa em um computador
separado, o programador executa ambos os programas em um nico computador e os
instrui para usar um endereo de loopback IP ao se comunicar. Quando um aplicativo
envia dados para outro, os dados descem a pilha de protocolos at o software IP, que
os encaminha para cima atravs da pilha de protocolos at o segundo programa. Deste
modo, o programador pode testar rapidamente a lgica do programa sem precisar de
dois computadores e sem enviar pacotes atravs de uma rede.
O IP reserva o prefixo 127 de rede classe A para usar como loopback. O
endereo de host usado com 127 irrelevante. Todos os endereos de host so

97

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

tratados da mesma forma. Por conveno, os programadores usam freqentemente o


nmero de host 1, tornando 127.0.0.1 a forma mais popular de loopback.
Durante o teste de loopback, nenhum pacote deixa o computador. O software IP
encaminha pacotes de um programa aplicativo a outro. Conseqentemente, o endereo
de loopback nunca aparece em um pacote que viaja atravs de uma rede.
7.12.9.6

Resumo de Endereos IP Especiais

A Tabela 7.4 resume as formas de endereo IP especiais. Dissemos que os


endereos especiais so reservados e nunca deveriam ser atribudos a hosts. Alm
disso, cada endereo especial restrito para certos usos. Por exemplo, um endereo de
broadcast nunca deve aparecer como um endereo de origem, e o endereo com todos
os bits em zero no deve ser usado depois de um host completar o procedimento de
inicializao e obter um endereo IP.
Prefixo
Tudo em 0
Rede
Rede
Tudo em 1
127

Sufixo
Tudo em 0
Tudo em 0
Tudo em 1
Tudo em 1
Qualquer valor

Tipo de endereo
Este computador
Rede
Broadcast Dirigido
Broadcast Limitado
Loopback

Propsito
Usado durante o bootstrap
Identifica uma rede
Broadcast em rede especfica
Broadcast na rede local
Testes

Tabela 7.4 Resumo das formas de endereos IP especiais.

7.12.10 Diviso do Espao de Endereamento

O esquema de classe IP no divide o espao de endereamento de 32 bits em classes


de tamanho igual, e as classes no contm o mesmo nmero de redes. Por exemplo, a
metade de todos os endereos IP (aqueles endereos em que o primeiro bit zero) pertence
classe A. Surpreendentemente, a classe A pode conter somente 128 redes porque o
primeiro bit de um endereo classe A deve ser zero e o prefixo ocupa um octeto. Deste
modo, apenas sete bits permanecem disponveis para numerar as redes classe A. A
Tabela 7.5 resume o nmero mximo de redes disponveis em cada classe e o numero
mximo de hosts por rede.
Como mostra a Tabela 7.5, o nmero de bits alocados a um prefixo ou sufixo
determina a quantidade de redes e de hosts nicos que podem ser atribudos. Para calcular
o total de redes, eleva-se 2 ao total de bits do nmero de rede, isto , TRedes = 2 r , onde r o
total de bits do nmero da rede. Para calcular o total de hosts disponveis na rede, devemos
realizar o mesmo clculo, s que com o total de bits referente ao host. Neste caso em
especial, deve-se subtrair 2 ao total encontrado, pois temos dois endereos reservados em
uma rede. O endereo de rede e o endereo de broadcast. Sendo assim, o clculo fica:
THosts = 2 h 2 , onde h representa o total de bits de host.
Classe
A
B
C

Bits no Prefixo

Total de Redes Bits no Sufixo Total de Hosts


7
128
24
16.777.214
14
16.384
16
65.534
21
2.097.152
8
254

Tabela 7.5 Total de Redes e Hosts em cada Classe Primria.

98

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

7.12.11 Roteadores e o Princpio de Endereamento IP

Alm de designar um endereo de inter-rede para cada host, o IP especifica que os


roteadores deveriam ter endereos IP atribudos tambm. De fato, cada roteador
designado com dois ou mais endereos IP. Para entender por que, recorde dois fatos:

Um roteador tem conexes com mltiplas redes fsicas;

Cada endereo IP contm um prefixo que especifica uma rede fsica.

Deste modo, um nico endereo IP no basta para um roteador, porque cada roteador
se conecta a mltiplas redes. O esquema IP pode ser explicado por um princpio
fundamental: um endereo IP no identifica um computador especfico. Em vez disso, cada
endereo IP identifica uma conexo entre um computador e uma rede. Um computador
com mltiplas conexes de rede (por exemplo, um roteador) deve ser designado com um
endereo IP para cada conexo.
A Figura 7.7 ilustra a idia em um exemplo que mostra endereos IP atribudos a dois
roteadores que conectam trs redes.

Figura 7.7 Um exemplo de endereos IP atribudos a dois roteadores.

O IP no exige que o mesmo sufixo seja atribudo a todas as interfaces de um


roteador. Na figura, por exemplo, o roteador conectando a Ethernet e a Token Ring tem
sufixos 99.5 (conexo com a Ethernet) e 2 (conexo com a Token Ring). Porm, o IP no
previne o uso do mesmo sufixo em todas as conexes. Deste modo, o exemplo mostra que
o administrador escolheu usar o mesmo sufixo, 17, para ambas as interfaces do roteador
que conecta a rede de Token Ring com a WAN. Por uma questo prtica, usar o mesmo
sufixo pode ajudar as pessoas que administram a inter-rede, porque um nico nmero
mais fcil de lembrar.
7.12.12 Host Multi-Homed

Um host pode ter mltiplas conexes de rede? Sim. Um computador de host que
conecta mltiplas redes chamado de multi-homed. Homing mltiplo s vezes usado
para aumentar a confiabilidade. Se uma rede falha, o host pode ainda alcanar a inter-rede
atravs da segunda conexo. Alternativamente, homing mltiplo usado para aumentar o
desempenho. Conexes com mltiplas redes podem possibilitar o envio de trfego
diretamente e evitar roteadores, que esto s vezes congestionados. Como um roteador, um
host multi-homed tem mltiplos endereos de protocolo, um para cada conexo de rede.

99

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

7.12.13 Sub-redes

Como vimos, todos os hosts de uma rede devem ter o mesmo nmero de rede. Essa
propriedade do endereamento IP poder causar problemas medida que as redes crescem.
Por exemplo, imagine uma universidade que comeou com uma rede da classe B usada
pelo departamento de cincia da computao para os computadores em sua Ethernet. Um
ano mais tarde, o departamento de engenharia eltrica quis entrar na Internet, e assim
comprou um repetidor para estender a rede Ethernet do departamento de cincia da
computao at seu edifcio. Com o tempo, muitos outros departamentos adquiriram
computadores, e o limite de quatro repetidores por rede Ethernet logo foi alcanado.
Tornou-se necessria uma organizao diferente.
Seria difcil obter um segundo endereo de rede, pois os endereos de rede so
escassos, e a universidade j tinha endereos suficientes para 65.534 hosts. O problema a
regra segundo a qual um nico endereo da classe A, B ou C se refere a uma rede, e no a
um conjunto de LANs. medida que mais e mais organizaes se encontravam nessa
situao, era feita uma pequena mudana no sistema de endereamento para lidar com ela.
A soluo para esses problemas permitir que uma rede seja dividida em diversas
partes para uso interno, mas externamente continue a funcionar como uma nica rede.
Hoje, uma rede de campus tpica seria semelhante da Figura 7.8, com um roteador
principal conectado a um ISP ou a uma rede regional e numerosas redes Ethernet
espalhadas pelo campus em diferentes departamentos. Cada uma das redes Ethernet tem
seu prprio roteador conectado ao roteador principal (possivelmente por meio de uma LAN
de backbone, mas a natureza da conexo entre roteadores no relevante nesse caso). Na
literatura sobre Internet, as partes da rede (nesse caso, redes Ethernet) so chamadas de
sub-redes.

Figura 7.8 Uma rede de campus consistindo em LANs para vrios departamentos.

Quando um pacote entra no roteador principal, como este sabe para qual sub-rede
(Ethernet) deve entregar o pacote? Uma alternativa seria uma tabela com 65.534 entradas
no roteador principal, informando que roteador usar para cada host do campus. Essa idia
funcionaria, mas iria exigir uma tabela muito grande no roteador principal e um grande
volume de manuteno manual, medida que os hosts fossem acrescentados, movidos ou
retirados de servio.
Em vez disso, foi criado um esquema diferente. Basicamente, em vez de ter um
nico endereo da classe B com 14 bits para indicar o nmero da rede e 16 bits para indicar
o nmero do host, alguns bits so retirados do nmero do host para criar um nmero de
sub-rede. Por exemplo, se a universidade tivesse 35 departamentos, ela poderia usar um

100

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

nmero de sub-rede de 6 bits e um nmero de host de 10 bits, permitindo at 64 redes


Ethernet, cada uma com o mximo de 1.022 hosts. Essa diviso poderia ser alterada mais
tarde, caso ela se mostrasse incorreta.
Para implementar a diviso em sub-redes, o roteador principal precisa de uma
mscara de sub-rede que indique a diviso entre o nmero de rede + sub-rede e o host,
como mostra a Figura 7.9. As mscaras de sub-redes tambm so escritas em notao
decimal pontilhada, com a incluso de uma barra vertical seguida pelo nmero de bits na
parte de rede + sub-rede. No exemplo da Figura 7.9, a mscara de sub-rede pode ser escrita
como 255.255.252.0. Uma notao alternativa /22 para indicar que a mscara de sub-rede
tem 22 bits.

Figura 7.9 Uma rede da classe B dividida em 64 sub-redes.

Fora da rede, a diviso em sub-redes no visvel, assim, a alocao de uma nova


sub-rede no exige a interveno do IANA ou a mudana de quaisquer bancos de dados
externos. Nesse exemplo, a primeira sub-rede pode usar os endereos IP a partir de
130.50.4.1, a segunda sub-rede pode se iniciar em 130.50.8.1, a terceira sub-rede pode
comear em 130.50.12.1 e assim por diante. Para ver por que as sub-redes esto sendo
contadas de quatro em quatro, observe que os endereos binrios correspondentes so:
Sub-rede 1: 10000010.00110010.000001|00.00000001 130.50.4.1
Sub-rede 2: 10000010.00110010.000010|00.00000001 130.50.8.1
Sub-rede 3: 10000010.00110010.000011|00.00000001 130.50.12.1
Aqui a barra vertical ( | ) mostra o limite entre o nmero da sub-rede e o nmero de
host. sua esquerda est o nmero de sub-rede de 6 bits; sua direita est o nmero de
host de 10 bits.
Para ver como as sub-redes funcionam, necessrio explicar como os pacotes IP so
processados em um roteador. Cada roteador tem uma tabela que lista algum nmero de
endereos IP (rede, 0) e uma srie de endereos IP (esta rede ou host). O primeiro tipo
informa como chegar a redes distantes. O segundo, como chegar a hosts locais.
Associadas a essa tabela esto a interface de rede usada para alcanar o destino e algumas
outras informaes.
Quando um pacote IP recebido, seu endereo de destino procurado na tabela de
roteamento. Se o destino for uma rede distante, o pacote ser encaminhado para o prximo
roteador da interface fornecida na tabela. Caso o destino seja um host local (por exemplo,
na LAN do roteador), o pacote ser enviado para um roteador predefinido que tenha tabelas
maiores. Esse algoritmo significa que cada roteador s precisa controlar as outras redes e
hosts locais, deixando de lado os pares (rede, host), o que reduz muito o tamanho da tabela
de roteamento.
Quando a diviso em sub-redes introduzida, as tabelas de roteamento so alteradas
acrescentando-se entradas da forma (rede, sub-rede, 0) e (esta rede, esta sub-rede, host).
Sendo assim, um roteador da sub-rede k sabe como alcanar todas as outras sub-redes, e
101

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

tambm como chegar a todos os hosts da sub-rede k. Ele no precisa saber detalhes sobre
os hosts de outras sub-redes. Na realidade, a nica modificao fazer com que cada
roteador seja submetido a um AND booleano com a mscara de sub-rede, a fim de eliminar
o nmero do host e pesquisar o endereo resultante em suas tabelas (depois de determinar
qual a classe da rede). Por exemplo, um pacote endereado a 130.50.15.6 recebido no
roteador principal passa pela operao AND booleana com a mscara de sub-rede
255.255.252.0 para gerar o endereo 130.50.12.0. Esse endereo usado para acessar as
tabelas de roteamento com a finalidade de descobrir que linha de entrada usar para chegar
ao roteador correspondente sub-rede 3. Desse modo, a diviso em sub-redes reduz o
espao na tabela do roteador, criando uma hierarquia de trs nveis que consiste em rede,
sub-rede e host.
7.13 Tcnicas para Resoluo de Endereos

Anteriormente foi visto o esquema de endereo do TCP/IP (onde cada host recebe um
endereo de 32 bits) e tambm foi visto que uma inter-rede se comporta como uma rede virtual,
usando apenas os endereos atribudos ao enviar e receber pacotes. Tambm foi visto
anteriormente que duas mquinas em uma determinada rede fsica s podem se comunicar se
conhecerem o endereo fsico uma da outra, com exceo dos casos de broadcasting. O que no
foi mencionado como um host ou um roteador mapeia um endereo IP para o endereo fsico
correto quando precisa enviar um pacote por uma rede fsica. Veremos agora como este
mapeamento implementado para os dois esquemas de endereo fsico de rede mais comuns.
7.13.1

O Problema da Traduo de Endereo

Considere duas mquinas A e B que se conectam mesma rede fsica. Cada uma
possui um endereo IP atribudo IA e IB e um endereo fsico FA e FB. Por fim, a
comunicao precisa ser executada pelas redes fsicas usando qualquer esquema de
endereo fsico que o hardware da rede subjacente fornece. Nosso objetivo, porm,
idealizar o software que esconde os endereos fsicos e permite que programas de alto nvel
trabalhem apenas com endereos IP. Por exemplo, considere que a mquina A precise
enviar um datagrama mquina B pela rede fsica qual ambas se conectam, mas A s
conhece o endereo IP de B, IB. Surge a pergunta: como A mapeia o endereo IP de B (IB)
no endereo fsico de B (FB)?
O mapeamento de endereos precisa ser realizado a cada passo ao longo do caminho
desde a origem at o destino final. Em particular, surgem dois casos. Primeiro, no ltimo
passo da entrega de um datagrama, o datagrama precisa ser enviado por uma rede fsica
at o destino final. O computador que envia o datagrama precisa mapear o endereo IP do
destino final para o endereo fsico do destino antes que a transmisso seja possvel. Em
segundo lugar, em qualquer ponto ao longo do caminho da origem ao destino, fora o passo
final, o datagrama precisa ser enviado a um roteador intermedirio. Assim, o emissor
precisa mapear o endereo IP do roteador intermedirio para o endereo fsico.
O problema de mapear os endereos de alto nvel em endereos fsicos conhecido
como problema de resoluo e foi resolvido de vrias maneiras. Alguns pacotes de
protocolos mantm tabelas em cada mquina, contendo pares de endereos de alto nvel e
fsicos. Outros protocolos resolvem o problema codificando endereos fsicos em
endereos de alto nvel. O uso de qualquer uma das tcnicas de forma exclusiva torna o
endereamento de alto nvel, no mnimo, desajeitado. Aqui sero discutidas duas tcnicas
para traduo de endereos usados pelos protocolos TCP/IP, e mostra quando cada uma
apropriada.

102

Apostila de Fundamentos de Redes de Computadores


7.13.2

Prof: Ricardo Quinto

Dois Tipos de Endereos Fsicos

Existem dois tipos bsicos de endereos fsicos: endereos grandes e fixos, como
aqueles usados com Ethernet, e endereos pequenos e facilmente configurados. O TCP/IP
pode acomodar cada um, mas a popularidade da Ethernet significa que a maior parte de
todo o hardware de rede atualmente utiliza endereos grandes. Portanto, consideraremos
os endereos pequenos rapidamente, concentrando-se nos endereos grandes.
7.13.3

Traduo por Mapeamento Direto

Considere o hardware de rede que usa inteiros pequenos e configurveis, como


endereos fsicos. Sempre que um novo computador acrescentado a essa rede, o
administrador do sistema escolhe um endereo fsico e configura a placa de interface de
rede do computador. A nica regra importante que dois computadores no podem ter o
mesmo endereo. Para tornar a atribuio fcil e segura, um administrador normalmente
atribui endereos seqencialmente: o primeiro computador na rede recebe o endereo 1, o
segundo computador recebe o endereo 2, e assim por diante.
A chave para fazer a traduo de endereo funcionar com esse hardware de rede est
na observao de que, enquanto algum tem a liberdade de escolher os endereos IP e
fsico, os endereos podem ser selecionados de modo que partes deles sejam idnticas. Em
particular, o endereo IP de um computador pode ter uma parte hostid igual ao endereo
fsico. Por exemplo, suponha que o prefixo para uma rede seja 192.5.48.0 com o prefixo de
rede ocupando os trs primeiros octetos. O primeiro computador na rede recebe endereo
fsico 1 e endereo IP 192.5.48.1, o segundo computador recebe o endereo fsico 2 e o
endereo IP 192.5.48.2, e assim por diante. Essencialmente, cada endereo IP na rede
codifica o endereo fsico do computador no octeto de baixa ordem.
Se o endereo IP codifica o endereo fsico, a traduo de endereo trivial. No
exemplo anterior, se o software receber o endereo IP de um computador na rede (por
exemplo, 192.5.48.3), o endereo fsico correspondente pode ser calculado extraindo o
octeto de baixa ordem. Dizemos que a traduo realizada pelo mapeamento direto. Por
exigir apenas algumas instrues de mquina, o mapeamento de exemplo
computacionalmente eficaz e no envolve referncias a dados externos. Finalmente, novos
computadores podem ser acrescentados rede sem alterar as atribuies existentes ou
propagar informaes para computadores existentes.
Matematicamente, mapeamento direto significa selecionar uma funo f que mapeia
endereos IP para endereos fsicos, e resolver o endereo IP IA significa calcular
FA = f (I A ) .
Embora seja possvel escolher mapeamentos diferentes desse exemplo, queremos que
o clculo de f seja eficiente, e queremos que as escolhas sejam fceis para um humano
entender. Assim, prefervel um esquema em que o relacionamento entre o endereo IP e
o endereo fsico seja bvio.
7.13.4

Traduo por Vnculo Dinmico

Embora eficiente, o mapeamento direto no pode ser usado para tecnologias de


hardware que utilizam o endereamento Ethernet. Para ver por que, lembre-se de que cada
placa de rede Ethernet recebe um endereo fsico de 48 bits quando o dispositivo
fabricado. Como conseqncia, quando o hardware falha e exige que uma interface
Ethernet seja substituda, o endereo fsico da mquina muda. Alm do mais, como o

103

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

endereo Ethernet tem 48 bits de extenso, no h esperana de que possa ser codificado
em um endereo IP de 32 bits1.
Os projetistas dos protocolos TCP/IP descobriram uma soluo criativa para o
problema de traduo de endereo para redes como Ethernet, que possuem capacidade de
broadcast. A soluo permite que novos hosts ou roteadores sejam acrescentados rede
sem recompilar o cdigo, e no exige a manuteno de um banco de dados centralizado.
Para evitar a manuteno de um banco de dados centralizado, os projetistas escolheram usar
um protocolo de baixo nvel para vincular endereos dinamicamente. Chamado de ARP
(Address Resolution Protocol Protocolo de Resoluo de Endereos), o protocolo oferece
um mecanismo que razoavelmente eficiente e fcil de manter.
Como mostra a Figura 7.10, a idia por trs da traduo dinmica com ARP
simples: Quando o host A quer traduzir o endereo IP IB, ele envia por broadcast um
pacote especial que pede ao host com endereo IP IB para responder com seu endereo
fsico, FB. Todos os hosts, incluindo B, recebem a requisio, mas somente o host B
reconhece seu endereo IP e envia uma resposta que contm seu endereo fsico. Quando
A recebe a resposta, ele usa o endereo fsico para enviar o pacote de inter-rede diretamente
para B.

Figura 7.10 O protocolo ARP.

7.13.5

O Cache de Traduo de Endereo

Pode parecer tolice que, para A enviar um pacote para B, ele primeiro envia um
broadcast que atinge B. Ou ento pode parecer ainda mais tolice que A transmita por
broadcast a pergunta como posso alcanar voc? em vez de apenas transmitir o pacote
que deseja entregar. Mas existe um motivo importante para a troca. O broadcasting
muito mais dispendioso de ser usado toda vez que uma mquina precisa transmitir um
pacote para outra, pois cada mquina na rede precisa receber e processar o pacote
broadcast.
7.13.6

Timeout de Cache ARP

Para reduzir os custos de comunicao, os computadores que utilizam ARP mantm


um cache de vnculos de IP para cada endereo fsico adquirido. Ou seja, sempre que um

Como o mapeamento direto mais conveniente e eficaz do que o vnculo dinmico, a prxima gerao do IP (IPv6) est
sendo projetada para permitir que endereos fsicos de 48 bits sejam codificados em endereos IP.

104

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

computador enviar uma requisio ARP e receber uma resposta ARP, ele salva o endereo
IP e a informao do endereo fsico correspondente em seu cache para pesquisas
sucessivas. Ao transmitir um pacote, um computador sempre examina seu cache em busca
de um vnculo antes de enviar uma requisio ARP. Se ele encontrar o vnculo desejado
em seu cache ARP, o computador no precisa transmitir um broadcast na rede. Assim,
quando dois computadores em uma rede se comunicam, eles comeam com uma requisio
(request) e resposta (reply) ARP, e depois transferem repetidamente os pacotes sem usar
ARP para cada um. A experincia mostra que, como a maior parte da comunicao da rede
envolve mais de uma transferncia de pacote, at mesmo um cache pequeno proveitoso.
O cache ARP oferece um exemplo de estado flexvel, uma tcnica normalmente usada
nos protocolos de rede. O nome descreve uma situao em que a informao pode se tornar
velha sem aviso. No caso do ARP, considere dois computadores, A e B, ambos
conectados a uma rede Ethernet. Considere que A tenha enviado uma requisio ARP e B
tenha respondido. Alm disso, considere que, depois da troca, B falhe. O computador A
no receber qualquer notificao da falha. Alm do mais, por j ter a informao de
vnculo de endereo para B em seu cache ARP, o computador A continuar a enviar
pacotes para B. O hardware Ethernet no fornece indicao de que B no est mais online, pois a Ethernet no tem entrega garantida. Assim, A no tem como saber quando as
informaes em seu cache ARP se tornaram incorretas.
Para acomodar o estado flexvel, a responsabilidade pela exatido se encontra com o
proprietrio da informao. Normalmente, os protocolos que implementam estado flexvel
utilizam timers, com a informao de estado sendo excluda quando o timer expira. Por
exemplo, sempre que a informao de vnculo colocada em um cache ARP, o protocolo
exige que um timer seja definido, com tempo limite (timeout) tpico de 20 minutos.
Quando o timer expira, a informao precisa ser removida. Depois da remoo, existem
duas possibilidades: se nenhum outro pacote for enviado ao destino, nada ocorrer. Se um
pacote tiver de ser enviado ao destino e no houver um vnculo presente no cache, o
computador seguir o procedimento normal de transmitir uma requisio ARP por
broadcast e obter o vnculo. Se o destino ainda for alcanvel, o vnculo novamente ser
colocado no cache ARP. Se no, o emissor descobrir que o destino est off-line.
O uso do estado flexvel no ARP tem vantagens e desvantagens. A principal
vantagem surge pela autonomia. Primeiro, um computador pode determinar quando a
informao em seu cache ARP deve ser invalidada, independente dos outros computadores.
Segundo, um emissor no precisa da comunicao bem sucedida com o receptor ou um
terceiro para determinar que um vnculo se tornou invlido. Se um destino no responder a
uma requisio ARP, o emissor declarar o destino como parado. Terceiro, o esquema no
conta com o hardware da rede para fornecer transferncia confivel. A principal
desvantagem do estado flexvel surge pelo retardo. Se o intervalo do timer for de N
segundos, um emissor no detectar que um receptor falhou antes que se passem N
segundos.
7.13.7

Funcionamento do ARP

7.13.7.1

Envio de um Datagrama dentro da mesma rede

Vamos supor que o n 222.222.222.220 da Figura 7.11 queira enviar um


datagrama que tem endereo IP para outro n daquela rede. O n remetente precisa
obter o endereo de rede do n de destino, dado o endereo IP daquele mesmo n.
Essa tarefa fcil se a tabela ARP do n remetente tiver um registro para esse n de
destino. E se a tabela ARP no tiver o registro do destinatrio? Em particular,
suponha que o n 222.222.222.220 queira enviar um datagrama para o n
105

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

222.222.222.222. Nesse caso, o n remetente usa o protocolo ARP para converter o


endereo. De incio, ele monta um pacote especial chamado pacote ARP. Um pacote
ARP tem diversos campos, incluindo os endereos IP e fsico de envio e de recepo,
como veremos na Seo 7.13.12.

Figura 7.11 Cada n em uma LAN tem um endereo IP e um endereo MAC.

Voltando ao exemplo, o n 222.222.222.220 passa um pacote de consulta ARP


ao adaptador de rede juntamente com uma indicao de que o adaptador deveria enviar
o pacote ao endereo de broadcast da rede, ou seja, FFFFFFFFFFFF. O
adaptador encapsula o pacote ARP em um frame de enlace, usa o endereo de
broadcast como endereo de destino do frame e transmite o frame para dentro da rede.
O frame que contm a consulta ARP recebido por todos os outros adaptadores da
rede, e, por causa do endereo de broadcast, cada adaptador passa o pacote ARP que
est dentro do frame para seu prprio hospedeiro. Cada n verifica se seu endereo IP
combina com o endereo IP de destino no pacote ARP. O nico n que atende a essa
condio devolve um pacote ARP de resposta ao n que fez a consulta, com o
mapeamento desejado. O n que fez a consulta (222.222.222.220) pode, ento,
atualizar sua tabela ARP e enviar seu datagrama IP.
O protocolo ARP apresenta algumas caractersticas interessantes. Em primeiro
lugar, a mensagem de consulta ARP enviada dentro de um frame broadcast, ao passo
que a mensagem de resposta ARP enviada dentro de um frame padro unicast. Antes
de continuar a leitura, bom que voc pense por que isso acontece. Em segundo lugar,
o ARP do tipo plug and play, isto , uma tabela de ns ARP construda
automaticamente, ela no tem de ser configurada por um administrador de sistemas. E,
se um n for desligado da rede, seu registro poder ser apagado da tabela.
7.13.7.2

Envio de um Datagrama para um n que est fora da rede

J deve estar claro agora como o ARP opera quando um n quer enviar um
datagrama a um outro n na mesma rede. Mas vamos examinar uma situao mais
complicada, em que um n de uma rede quer enviar um datagrama de camada de rede
para um n que esta fora da rede. A Figura 7.12 mostra uma rede virtual simples
constituda de duas redes interconectadas por um roteador.

106

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 7.12 Duas LANs interconectadas por um roteador.

H diversos pontos interessantes a notar nesta figura. Primeiramente, h dois


tipos de ns: host e roteadores. Cada host tem exatamente um endereo IP e um
adaptador. Mas, como discutimos na Seo 7.12.11, um roteador tem um endereo IP
para cada uma de suas interfaces. Cada interface de roteador tambm tem seu prprio
mdulo ARP (dentro do roteador) e seu prprio adaptador. Como o roteador da
Figura 7.12 tem duas interfaces, ele apresenta dois endereos IP, dois mdulos ARP e
dois adaptadores. claro que cada adaptador da rede tem seu prprio endereo fsico.
Note tambm que todas as interfaces conectadas rede 1 tm endereos no
formato 111.111.111.xxx e que todas as interfaces conectadas rede 2 tm o formato
222.222.222.xxx. Assim, nesse exemplo, os trs primeiros octetos do endereo IP
especificam a rede, enquanto o ltimo octeto indica host especfico da rede.
Agora, suponha que o host 111.111.111.111 queira enviar um datagrama IP ao
host 222.222.222.222. O host remetente passa o datagrama a seu adaptador, como
sempre. Mas ele deve indicar a seu adaptador um endereo fsico de destino
apropriado. E que endereo fsico o adaptador deveria usar? Poderamos arriscar o
palpite que o endereo fsico apropriado aquele do adaptador do host
222.222.222.222, ou seja, 49BDD2C7562A. Mas esse palpite est errado. Se o
adaptador remetente usasse esse endereo fsico, nenhum dos adaptadores da rede 1 se
preocuparia em passar os datagramas IP para cima, para sua camada de rede, j que o
endereo de destino do frame no combinaria com o endereo fsico de nenhum
adaptador da rede 1. O datagrama morreria ali mesmo.
Se examinarmos com cuidado a Figura 7.12, veremos que, para um datagrama ir
de 111.111.111.111 a um n da rede 2, ele teria de ser enviado antes interface do
roteador 111.111.111.110. Sendo assim, o host 111.111.111.111 saberia que, para
chegar at o host 222.222.222.222, o datagrama teria de ser enviado antes interface
do roteador 111.111.111.110. Assim, o endereo fsico apropriado para o frame o
endereo do adaptador da interface do roteador 111.111.111.110, ou seja, E6E900
17BB4B. Como o host remetente consegue o endereo fsico de 111.111.111.110?
Usando ARP, claro! Uma vez que o adaptador remetente tenha seu endereo fsico,
ele cria um frame e o envia para a rede 1. O adaptador do roteador da rede 1 verifica
que o frame est endereado a ele e, por conseguinte, o passa para a camada de rede do
roteador. Viva! O datagrama IP foi transportado com sucesso do host de origem para
o roteador! Mas no acabamos. Ainda temos que levar o datagrama do roteador at o
destino! Como veremos adiante, isso feito pela consulta a uma tabela de roteamento

107

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

no roteador. A tabela de roteamento indica ao roteador que o datagrama deve ser


repassado via interface de rede 222.222.222.220 do roteador. Essa interface ento
passa o datagrama a seu adaptador, que encapsula em um novo frame e envia o frame
para a rede 2. Dessa vez, o endereo fsico de destino do frame , na verdade, o
endereo fsico do destino final. E de onde o roteador obtm esse endereo fsico de
destino? Do ARP, claro.
7.13.8

Refinamentos do ARP

Diversos refinamentos do ARP foram includos no protocolo. Primeiro, observe que


se o host A estiver para usar ARP, pois precisa enviar para B, existe uma alta probabilidade
de que o host B precise enviar para A no futuro prximo. Para antecipar a necessidade de
B e evitar trfego extra na rede, A inclui seu vnculo de endereo IP para fsico ao enviar
uma requisio para B. B extrai o vnculo de A da requisio, salva o vnculo em seu cache
ARP e depois envia uma resposta para A. Segundo, observe que, como A envia sua
requisio inicial por broadcast, todas as mquinas na rede recebem e podem extrair o
vnculo de endereo IP para fsico A e usar a informao a fim de atualizar o vnculo em
seu cache. Terceiro, quando um computador tiver sua interface de host substituda (por
exemplo, porque o hardware falhou), seu endereo fsico mudar. Outros computadores na
rede que armazenaram um vnculo em seu cache ARP precisam ser informados para que
possam mudar a entrada. O computador pode notificar os outros quanto a um novo
endereo enviando uma requisio ARP gratuita por broadcast ao reiniciar1.
7.13.9

Relacionamento do ARP com outros Protocolos

O ARP forneceu um mecanismo possvel para mapear endereos IP para endereos


fsicos. J vimos que as tecnologias de hardware que admitem mapeamento direto no
precisam de ARP. O ponto que o ARP seria completamente desnecessrio se pudssemos
fazer com que todo o hardware da rede reconhea endereos IP. Assim, o ARP
simplesmente impe um novo esquema de endereo em cima de qualquer mecanismo de
endereo de baixo nvel que o hardware utilize.
7.13.10 Implementao do ARP

Funcionalmente, o ARP dividido em duas partes. A primeira parte mapeia um


endereo IP para um endereo fsico ao enviar um datagrama, e a segunda parte responde
as requisies de outras mquinas. A traduo de endereos para os datagramas que saem
parece ser direta, mas pequenos detalhes complicam uma implementao. Dado um
endereo IP de destino, o software consulta seu cache ARP para ver se conhece o
mapeamento do endereo IP para o endereo fsico. Se conhecer, o software extrai o
endereo fsico, coloca os dados em um frame usando esse endereo e envia o frame. Se
no conhecer o mapeamento, o software precisa enviar uma requisio ARP por broadcast
e esperar uma resposta.
O broadcasting de uma requisio ARP para encontrar um mapeamento de endereo
pode se tornar complexo. A mquina de destino pode estar parada ou muito ocupada para
aceitar a requisio. Se isso acontecer, o emissor pode no receber uma resposta ou a
resposta pode ser atrasada. Como a Ethernet um sistema de entrega pelo melhor esforo,
a requisio por broadcast ARP inicial tambm pode ser perdida (quando o emissor deve
retransmitir, pelo menos uma vez). Nesse meio tempo, o host precisa armazenar o pacote
de sada original de modo que ele possa ser enviado quando o endereo tiver sido
1

Tipicamente, a mquina reiniciando envia uma requisio para seu prprio endereo IP como um meio de verificar se
nenhum outro computador acidentalmente recebeu o mesmo endereo IP.

108

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

traduzido1. De fato, o host precisa decidir se permitir que outras aplicaes prossigam
enquanto processa uma requisio ARP (a maioria faz isso). Nesse caso, o software precisa
lidar com o caso em que uma aplicao gera datagramas que exigem traduo do mesmo
endereo sem o broadcasting de vrias requisies para determinado destino.
Finalmente, considere o caso em que a mquina A obteve um vnculo com a mquina
B, mas depois o hardware de B falha e substitudo. Embora o endereo de B tenha
mudado, o vnculo em cache de A no mudou, de modo que A usa um endereo fsico
inexistente, impossibilitando o sucesso do recebimento. Esse caso mostra por que
importante ter o ARP tratando sua tabela de vnculos como um cache e remover as entradas
aps um perodo determinado. Naturalmente, o timer para uma entrada no cache precisa
ser reiniciado sempre que um broadcast ARP chega contendo o vnculo (mas ele no
reiniciado quando a entra usada para enviar um pacote).
A segunda parte do cdigo ARP trata de pacotes ARP que chegam da rede. Quando
um pacote ARP chega, o software primeiro extrai o endereo IP do emissor e o par de
endereos fsicos. Logo em seguida, examina o cache local a fim de verificar se j tem
uma entrada para o emissor. Se existir uma entrada de cache para determinado endereo
IP, o software atualiza essa entrada sobrescrevendo o endereo fsico com o endereo fsico
obtido do pacote. Ento, o receptor processa o restante do pacote ARP.
Um receptor precisa lidar com dois tipos de pacotes ARP que chegam. Se uma
requisio ARP chegar, a mquina receptora precisa ver se ela o destino da requisio (ou
seja, alguma outra mquina enviou uma requisio por broadcast para o endereo fsico do
receptor). Se isso aconteceu, o ARP forma uma resposta fornecendo seu endereo fsico e
envia a resposta diretamente de volta ao requisitante. O receptor tambm acrescenta o par
de endereos do emissor ao seu cache se o par ainda no estiver presente. Se o endereo IP
mencionado na requisio ARP no combinar com o endereo IP local, o pacote est
solicitando um mapeamento para alguma outra mquina na rede e pode ser ignorado.
O outro caso interessante ocorre quando chega uma resposta ARP. Dependendo da
implementao, o software pode ter de criar uma entrada de cache, ou a entrada pode ter
sido criada quando a requisio foi gerada. De qualquer forma, uma vez atualizado o
cache, o receptor tenta combinar a resposta com uma requisio previamente emitida.
Normalmente, as respostas chegam como resultado de uma requisio, que foi gerada
porque a mquina tem um pacote a enviar. Entre o momento em que uma mquina envia
sua requisio ARP e recebe a resposta, os programas de aplicativos ou protocolos de
nveis superiores podem gerar requisies adicionais para o mesmo endereo. O software
precisa lembrar de que j enviou uma requisio e ento no enviar outra. Normalmente, o
ARP coloca os pacotes adicionais em uma fila e usa o vnculo de endereo para preencher o
endereo fsico do destino. Se ele no emitiu anteriormente uma requisio para o
endereo IP na resposta, a mquina atualiza a entrada do emissor em seu cache e depois
simplesmente termina o processamento do pacote.
7.13.11 Encapsulamento e Identificao do ARP

Quando as mensagens ARP trafegam de uma mquina para outra, elas precisam ser
transportadas em frames fsicos. A Figura 7.13 mostra que a mensagem ARP
transportada na parte de dados de um frame.

Se o atraso for significativo, o host poder decidir descartar o(s) datagrama(s) de sada.

109

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 7.13 Uma mensagem ARP encapsulada em um frame de rede fsica.

Para identificar o frame que est transportando uma mensagem ARP, o emissor
atribui um valor especial ao campo de tipo no cabealho do frame e coloca a mensagem
ARP no seu campo de dados. Quando um frame chega a um computador, o software de
rede utiliza o tipo de frame para determinar seu contedo. Na maioria das tecnologias, um
nico valor de tipo usado para todos os frames que transportam uma mensagem ARP. O
software de rede no receptor precisa examinar melhor a mensagem ARP para distinguir
entre requisies ARP e respostas ARP. Por exemplo, em uma Ethernet, os frames
transportando mensagens ARP tm um campo de tipo com o valor (0806)16. Esse um
valor padro atribudo pela autoridade para Ethernet. Outras tecnologias de hardware de
rede utilizam outros valores.
7.13.12 Formato do Protocolo ARP

Diferente da maioria dos protocolos, os dados nos pacotes ARP no possuem um


cabealho de formato fixo. Em vez disso, para tornar o ARP til para diversas tecnologias
de rede, a extenso dos campos que contm endereos depende do tipo de rede. Porm,
para possibilitar a interpretao de uma mensagem ARP qualquer, o cabealho inclui
campos fixos perto do incio, que especificam os tamanhos dos endereos encontrados nos
campos seguintes. De fato, o formato da mensagem ARP genrico o suficiente para
permitir que seja usado com quaisquer endereos fsicos e de protocolo. O exemplo na
Figura 7.14 mostra o formato da mensagem ARP em 28 octetos usado no hardware
Ethernet (em que os endereos fsicos possuem 48 bits ou 6 octetos de extenso), ao
traduzir endereos de protocolo IP (que possuem 4 octetos de extenso).
0

1
2
3
8
6
4
1
TIPO DE HARDWARE
TIPO DE PROTOCOLO
HLEM
PLEM
OPERAO
Endereo de Hardware EMISSOR (octetos 0 3)
Endereo de Hardware EMISSOR (octetos 4 5)
IP EMISSOR (octetos 0 1)
IP EMISSOR (octetos 2 3)
Endereo de Hardware DESTINO (octetos 0 1)
Endereo de Hardware DESTINO (octetos 2 5)
IP DESTINO (octetos 0 3)
Figura 7.14 Formato de uma Mensagem ARP/RARP para o padro Ethernet.

A Figura 7.14 mostra uma mensagem ARP com 4 octetos por linha. Infelizmente,
diferente da maioria dos protocolos restante, os campos de tamanho varivel nos pacotes
ARP no se alinham bem em limites de 32 bits, tornando o diagrama difcil de ser lido. Por
exemplo, o endereo fsico do emissor, rotulado como Endereo de Hardware EMISSOR,
ocupa 6 octetos contguos, de modo que se espalha por duas linhas no diagrama.
O campo TIPO DE HARDWARE especifica um tipo de interface de hardware para o
qual o emissor busca uma resposta. Ele contm o valor 1 para Ethernet. De modo
semelhante, o campo TIPO DE PROTOCOLO especifica o tipo de endereo de protocolo
de alto nvel que o emissor forneceu. Ele contm (0800)16 para endereos IP. O campo
110

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

OPERAO especifica uma requisio ARP (7), resposta ARP (2), requisio RARP (3)
ou resposta RARP (4). Mais frente falaremos sobre o RARP. Os campos HLEN e PLEN
permitem que o ARP seja usado com redes quaisquer, pois especificam o tamanho do
endereo de hardware e o tamanho do endereo de protocolo de alto nvel. O emissor
fornece seu endereo de hardware e endereo IP, se conhecidos, nos campos ENDEREO
DE HARDWARE EMISSOR e IP EMISSOR.
Ao fazer uma requisio, o emissor tambm fornece o endereo de hardware de
destino (RARP) ou endereo IP de destino (ARP) usando os campos ENDEREO DE
HARDWARE DESTINO ou IP DESTINO. Antes que a mquina de destino responda, ela
preenche os endereos que faltam, inverte os pares de destino e emissor e muda a operao
para uma resposta. Assim, uma resposta transporta os endereos IP e fsicos do requisitante
original, alm dos endereos IP e fsicos da mquina para a qual um vnculo foi buscado.
7.13.13 Revalidao Automtica de Cache ARP

possvel usar uma tcnica que evita a introduo de jitter (ou seja, variao nos
tempos de transferncia de pacotes). Para entender a situao, observe que sempre que um
timer ARP expira, o prximo datagrama enviado ao endereo experimenta um atraso extra
porque o datagrama espera em uma fila at que o ARP envie uma requisio e receba uma
resposta. Alm do mais, a expirao pode ocorrer a qualquer momento, possivelmente
durante um perodo de trfego constante. Embora esses atrasos normalmente sejam
negligenciveis, eles introduzem jitter.
A chave para evitar o jitter surge da revalidao antecipada, ou seja, a implementao
associa dois contadores a cada entrada no cache ARP: o timer tradicional e um timer de
revalidao. Quando o timer de revalidao expira, o software examina a entrada. Se os
datagramas tiverem usado a entrada recentemente, o software envia uma requisio ARP e
continua a usar a entrada. Ao receber a requisio, a estao destino responde, e os dois
timers so reiniciados. Se nenhuma resposta chegar, o timer tradicional expira, e os
datagramas so mantidos enquanto o ARP tenta obter uma resposta. Na maioria dos casos,
porm, uma revalidao pode reiniciar o timer sem interrupo.
7.13.14 Reverse Address Resolution (RARP)

Vimos que o campo de operao em um pacote ARP pode especificar uma mensagem
RARP (Reverse Address Resolution). RARP no mais importante na Internet, mas j foi
um protocolo essencial usado para efetuar o boot de sistemas que no tinham
armazenamento estvel. Essencialmente, RARP permite que um sistema obtenha um
endereo IP na partida. O procedimento simples: ao inicializar, o sistema envia uma
requisio RARP e espera uma resposta. Outro computador na rede precisa ser configurado
para escutar requisies RARP e gerar uma resposta RARP que contm o endereo IP do
requisitante. Quando a resposta chega, o sistema continua a inicializao e usa o IP para
toda a comunicao.
Ao fazer uma requisio RARP, um sistema precisa se identificar para que o
computador, recebendo a requisio, possa substituir o endereo IP correto na resposta.
Embora qualquer identificao exclusiva de hardware seja suficiente (por exemplo, o
nmero de srie da CPU), RARP utiliza uma identificao bvia: o endereo MAC do
sistema. Ou seja, um sistema inicializando coloca seu endereo MAC na requisio RARP
e recebe seu endereo IP na resposta RARP.
interessante que o RARP use o mesmo formato de pacote ARP. Uma requisio
RARP formada preenchendo o campo de endereo do protocolo de destino, alterando o

111

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

tipo de mensagem de requisio para resposta e enviando a resposta de volta diretamente


para a mquina que fez a requisio.
Assim como uma mensagem ARP, uma mensagem RARP enviada de uma mquina
para outra encapsulada na parte de dados de um frame de rede. Por exemplo, um frame
Ethernet transportando uma requisio ARP possui o prembulo normal, os endereos de
origem e destino Ethernet e o campo de tipo de pacote na frente do frame. O tipo de frame
contm o valor (8035)16 para identificar o contedo do frame como uma mensagem RARP.
7.14 Entrega de Datagramas Sem Conexo

Nesta seo veremos o princpio fundamental da entrega sem conexo e tambm como ele
fornecido pelo IP, que um dos dois principais protocolos usados nas inter-redes (TCP sendo
o outro). Veremos o formato dos pacotes IP na verso 4 (IPv4) e tambm como eles formam a
base para toda a comunicao na inter-rede.
7.14.1

Sistema de Entrega sem Conexo

O servio de inter-rede mais fundamental consiste em um sistema de entrega de


pacotes. Tecnicamente, o servio definido como um sistema de entrega de pacotes noconfivel, de melhor esforo, sem conexo, semelhante ao servio fornecido pelo hardware
de rede que opera sobre um paradigma de entrega pelo melhor esforo. O servio
denominado no-confivel porque a entrega no garantida. O pacote pode ser perdido,
duplicado, adiado ou entregue fora de ordem, mas o servio no detectar essas condies,
nem informar ao emissor ou receptor. O servio denominado sem conexo porque cada
pacote tratado independentemente de todos os outros. Uma seqncia de pacotes
enviados de um computador para outro pode trafegar por diferentes caminhos, ou alguns
podem se perder enquanto outros so entregues. Finalmente, o servio considerado como
entrega pelo melhor esforo porque o software de inter-rede faz a melhor tentativa de
entregar os pacotes, ou seja, a Rede no descarta pacotes caprichosamente. A no
confiabilidade surge apenas quando os recursos so esgotados ou as redes subjacentes
falham.
7.14.2

Finalidade do Internet Protocol (IP)

O protocolo que define o mecanismo de entrega no confivel, sem conexo,


denominado Internet Protocol (IP). Como a verso atual do protocolo a verso 4,
normalmente ele conhecido como IPv4: quando a verso no ambgua, ele conhecido
como IP. O IP prov trs definies importantes. Primeiro, o protocolo IP define a
unicidade bsica de transferncia de dados usada por toda uma Rede TCP/IP. Assim, ele
especifica o formato exato de todos os dados medida que passam pela inter-rede.
Segundo, o IP realiza a funo de encaminhamento, escolhendo um caminho pelo qual um
pacote ser enviado. Terceiro, alm da especificao precisa e formal dos formatos de
dados e encaminhamento, o IP inclui um conjunto de regras que incorporam a idia da
entrega no-confivel. As regras caracterizam como os hosts e roteadores devem processar
pacotes, como e quando as mensagens de erro devem ser geradas e as condies sob as
quais os pacotes podem ser descartados. IP uma parte to fundamental do projeto que a
Internet s vezes chamada de tecnologia baseada em IP.
7.14.3

O Datagrama IPv4

A analogia entre uma rede fsica e uma inter-rede TCP/IP forte. Em uma rede
fsica, a unidade de transferncia um frame que contm um cabealho e dados, onde o
cabealho d informaes como os endereos (fsicos) de origem e destino. A inter-rede
chama sua unidade de transferncia bsica de datagrama internet, normalmente abreviado

112

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

como datagrama IP ou simplesmente datagrama. Assim como um frame, de rede fsica,


um datagrama dividido em reas de cabealho e dados. Tambm como um frame, o
cabealho do datagrama contm os endereos de origem e destino e um campo de tipo que
identifica o contedo do datagrama. A diferena, naturalmente, que o cabealho do
datagrama contm endereos IP, enquanto o cabealho do frame contm endereos fsicos.
A Figura 7.15 mostra o formato geral de um datagrama.
Cabealho do Datagrama

rea de dados do Datagrama

Figura 7.15 Formato Geral de um Datagrama IP.

7.14.4

Formato do Datagrama

Agora que descrevemos o layout geral de um datagrama IP, podemos examinar o


contedo com mais detalhes. A Figura 7.16 mostra o arranjo dos campos em um
datagrama.
0

2
3
4
1
VERS
HLEN
TIPO DE SERVIO
TAMANHO TOTAL
IDENTIFICAO
FLAGS
OFFSET DO FRAGMENTO
Tempo de Vida (TTL)
PROTOCOLO
CHECKSUM DO CABEALHO
ENDEREO IP ORIGEM
ENDEREO IP DESTINO
OPES IP (SE HOUVER)
PREENCHIMENTO
DADOS
DADOS (CONTINUAO) ...
Figura 7.16 Formato de um Datagrama IP.
4

1
6

1
9

Como o processamento do datagrama ocorre no software, o contedo e o formato


no so restritos por qualquer hardware. Por exemplo, o primeiro campo de 4 bits em um
datagrama (VERS) contm a verso do protocolo IP que foi usada para criar o datagrama.
Ele usado para verificar se o emissor, receptor e quaisquer roteadores entre eles
concordam sobre o formato do datagrama. Todo protocolo IP precisa verificar o campo de
verso antes de processar um datagrama, para garantir que ele combine com o formato que
o software espera. Se os padres mudarem, as mquinas rejeitaro datagramas com
verses de protocolo que diferem da sua, evitando que interpretem de forma errada o
contedo do datagrama, de acordo com um formato desatualizado. Para o IPv4, o campo
de verso contm 4.
O campo de tamanho do cabealho (HLEN), tambm de 4 bits, d o tamanho do
cabealho do datagrama, medido em palavras de 32 bits. Como veremos, todos os campos
no cabealho possuem tamanho fixo, exceto para os campos de OPES IP e
PREENCHIMENTO correspondentes. O cabealho mais comum, que no contm opes e
preenchimento, mede 20 octetos e tem um campo de tamanho de cabealho igual a 5.
O campo de TAMANHO TOTAL indica o tamanho do datagrama IP medido em
octetos, incluindo os octetos no cabealho e nos dados. O tamanho da rea de dados pode
ser calculado subtraindo o tamanho do cabealho (HLEN) do TAMANHO TOTAL. Como o
campo TAMANHO TOTAL possui 16 bits de extenso, o tamanho mximo possvel de um
datagrama IP de 216 1 ou 65.535 octetos. Na maioria das aplicaes, isso no uma
limitao severa. Pode se tornar mais importante no futuro se redes de maior velocidade
puderem transportar pacotes maiores do que 65.535 octetos.

113

Apostila de Fundamentos de Redes de Computadores


7.14.5

Prof: Ricardo Quinto

Encapsulamento de Datagramas IP

Antes que possamos entender os prximos campos em um datagrama, importante


considerar como os datagramas se relacionam com os frames da rede fsica. Comeamos
com uma pergunta: que tamanho um datagrama pode ter? Diferente dos frames de rede
fsica, que precisam ser reconhecidos pelo hardware, os datagramas so tratados pelo
software. Eles podem ter qualquer tamanho escolhido pelos projetistas de protocolo.
Vimos que o formato do datagrama IPv4 aloca 16 bits ao campo de tamanho total,
limitando o datagrama a no mximo 65.535 octetos.
Na prtica, surgem limites mais fundamentais no tamanho do datagrama. Sabemos
que, quando os datagramas passam de uma mquina para outra, eles sempre precisam ser
transportados pela rede fsica subjacente. Para tornar o transporte da inter-rede eficiente,
preciso garantir que cada datagrama trafegue em um frame fsico distinto. Ou seja,
queremos que nossa abstrao do pacote da rede fsica seja mapeada diretamente para um
pacote real, se possvel.
A idia de transportar um datagrama em um frame de rede chamada de
encapsulamento. Para a rede subjacente, um datagrama como qualquer outra mensagem
enviada de uma mquina para outra. O hardware no reconhece o formato do datagrama,
nem entende o endereo de destino IP. Assim, como mostra a Figura 7.17, quando uma
mquina envia um datagrama IP para outra, o datagrama inteiro trafega na parte de dados
do frame de rede1.

Figura 7.17 O encapsulamento de um datagrama IP em um frame.

7.14.6

Tamanho do Datagrama, MTU da rede e Fragmentao

No caso ideal, o datagrama IP inteiro se encaixa em um frame fsico, tornando


eficiente a transmisso pela rede fsica. Para alcanar essa eficincia, os projetistas do IP
poderiam ter selecionado um tamanho de datagrama mximo, de modo que um datagrama
sempre encaixe em um frame. Mas qual tamanho de frame deve ser escolhido? Afinal, um
datagrama pode trafegar por muitos tipos de redes fsicas enquanto passa por uma interrede at o seu destino final.
Para entender o problema, precisamos de um fato sobre o hardware da rede: cada
tecnologia de comutao de pacotes impe um limite superior fixo sobre a quantidade de
dados que podem ser transferidos em um frame fsico. Por exemplo, Ethernet limita as
transferncias a 1.500 octetos de dados. Vamos nos referir aos limites como MTU
(Maximum Transfer Unit Unidade Mxima de Transferncia). Os tamanhos de MTU
podem ser maiores do que 1.500 ou menores: algumas tecnologias de hardware limitam as
transferncias a 128 octetos. Limitar os datagramas para caber na menor MTU possvel na

Um campo no cabealho do frame normalmente identifica os dados sendo transportados: Ethernet usa o valor (0800)16,
para especificar que a rea de dados contm um datagrama IP encapsulado.

114

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

inter-rede torna as transferncias ineficazes quando os datagramas passam por uma rede
que pode transportar frames de maior tamanho. Porm, permitir que os datagramas sejam
maiores que a MTU mnima da rede em uma inter-rede significa que um datagrama nem
sempre poder caber em um nico frame da rede.
A escolha deve ser bvia: a finalidade de uma inter-rede ocultar as tecnologias de
rede bsicas e tornar a comunicao conveniente para o usurio. Assim, em vez de projetar
datagramas que aderem s restries das redes fsicas, o TCP/IP escolhe um tamanho de
datagrama inicial conveniente e arruma uma maneira de dividir datagramas grandes em
partes menores quando o datagrama precisa atravessar uma rede que possui uma MTU
pequena. As partes pequenas em que um datagrama dividido so chamadas de
fragmentos, e o processo de dividir um datagrama conhecido como fragmentao.
Como a Figura 7.18 mostra, a fragmentao normalmente ocorre em um roteador em
algum lugar entre a origem do datagrama e seu destino final. O roteador recebe um
datagrama de uma rede com uma MTU grande e precisa envi-lo por uma rede para a qual
a MTU menor do que o tamanho do datagrama.

Figura 7.18 Um exemplo de necessidade de fragmentao.

Na figura, os dois hosts se conectam diretamente a Ethernet que possuem uma MTU
de 1.500 octetos. Assim, os dois hosts podem gerar e enviar datagramas com at 1.500
octetos de extenso. O caminho entre eles, porm, inclui uma rede com uma MTU de 620
octetos. Se o host A enviar ao host B um datagrama maior que 620 octetos, o roteador R1
fragmentar o datagrama. De modo semelhante, se o host B enviar um datagrama maior
para o host A, o roteador R2 fragmentar o datagrama.
O tamanho do fragmento escolhido de modo que cada fragmento possa ser entregue
pela rede em um nico frame. Alm disso, como o IP representa o offset dos dados em
mltiplos de oito octetos, o tamanho do fragmento precisa ser escolhido como um mltiplo
de oito. Naturalmente, a escolha do mltiplo de oito octetos mais prxima da MTU da rede
em geral no divide o datagrama em partes de mesmo tamanho. A ltima parte
normalmente menor que as outras. Os fragmentos precisam ser remontados para produzir
uma cpia completa do datagrama original antes que ele possa ser processado no destino.
O protocolo IP no limita os datagramas a um tamanho pequeno, nem garante que
datagramas grandes sero entregues sem fragmentao. A origem pode escolher qualquer
tamanho de datagrama que achar apropriado. A fragmentao e a remontagem ocorrem
automaticamente, sem que a origem tome alguma ao especial. A especificao IP afirma
que os roteadores precisam aceitar datagramas at o mximo das MTUs das redes s quais
se conectam. Alm disso, um roteador sempre precisa tratar de datagramas com at 576
octetos, conseqentemente, os hosts tambm precisam aceitar e remontar, se necessrio,
datagramas de 576 octetos.

115

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

A fragmentao de um datagrama significa dividi-lo em vrias partes. Voc poder


ficar surpreso ao descobrir que cada parte tem o mesmo formato do cabealho original. A
Figura 7.19 ilustra o resultado da fragmentao de um datagrama com 1.400 octetos para a
transmisso da Figura 7.18.
Cabealho IP
(20 bytes)

Dados 1
(600 octetos)

Dados 2
(600 octetos)

Dados 3
(200 octetos)

Cabealho IP do Fragmento 1
(20 bytes)

Dados 1
(600 octetos)

mf = 1

offset 0

Cabealho IP do Fragmento 2
(20 bytes)

Dados 2
(600 octetos)

mf = 1

offset 600

Cabealho IP do Fragmento 3
(20 bytes)

Dados 3
(200 octetos)

mf = 0

offset 1.200

Figura 7.19 Exemplo de Fragmentao de um Datagrama.

Cada fragmento contm um cabealho de datagrama que duplica a maior parte do


cabealho do datagrama original (exceto por um bit no campo de FLAGS que o mostra
como um fragmento), seguido pelo mximo de dados que puderem ser transportados no
fragmento enquanto mantm o tamanho total menor que a MTU da rede na qual dever
atravessar.
7.14.7

Remontagem de Fragmentos

Um datagrama dever ser remontado depois de passar por uma rede, ou os


fragmentos devem ser transportados para o host final antes da remontagem? Em uma interrede TCP/IP, quando um datagrama fragmentado, os fragmentos trafegam como
datagramas separados por todo o caminho at o destino final, onde precisam ser
remontados. A preservao de fragmentos at o destino final tem duas desvantagens.
Primeiro, como os datagramas no so remontados imediatamente depois de passar por
uma rede com MTU pequena, os pequenos fragmentos precisam ser transmitidos do ponto
da fragmentao at o destino final. A remontagem de datagramas no destino final pode
levar a ineficincia, mesmo que algumas das redes fsicas encontradas aps o ponto de
fragmentao tenham grande capacidade de MTU, pois somente pequenos fragmentos as
atravessaro. Em segundo lugar, se quaisquer fragmentos forem perdidos, o datagrama
no poder ser remontado. A mquina receptora inicia um timer de remontagem quando
recebe um fragmento inicial. Se o timer expirar antes que todos os fragmentos cheguem, a
mquina receptora descartar as partes sobreviventes sem processar o datagrama. Assim, a
probabilidade de perda de datagrama aumenta quando a fragmentao ocorre, pois a perda
de um nico fragmento resulta na perda do datagrama inteiro.
Apesar das pequenas desvantagens, a realizao da remontagem no destino final
funciona bem. Ela permite que cada fragmento seja encaminhado de forma independente, e
no exige que os roteadores intermedirios armazenem ou remontem fragmentos.
7.14.8

Controle de Fragmentao

Trs campos no cabealho do datagrama, IDENTIFICAO, FLAGS e OFFSET DO


FRAGMENTO, controlam a fragmentao e a remontagem de datagramas. O campo
IDENTIFICAO contm um inteiro exclusivo que identifica o datagrama. Lembre-se de
que, quando um roteador fragmenta um datagrama, ele copia a maior parte dos campos no
116

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

cabealho do datagrama em cada fragmento. Assim, o campo IDENTIFICAO precisa


ser copiado. Sua finalidade principal permitir que o destino saiba quais fragmentos que
chegam pertencem a quais datagramas. Quando um fragmento chega, o destino usa o
campo IDENTIFICAO junto com o endereo de origem do datagrama para identificar o
datagrama. Os computadores que enviam datagramas IP precisam gerar um valor
exclusivo para o campo IDENTIFICAO para cada datagrama. Uma tcnica utilizada
pelo IP manter um contador global na memria, incrementando-o toda vez que um novo
datagrama criado e atribui o resultado ao campo IDENTIFICAO do datagrama.
Lembre-se de que cada fragmento tem exatamente o mesmo formato de um
datagrama completo. Para um fragmento, o campo OFFSET DO FRAGMENTO especifica
o offset no datagrama original dos dados sendo transportados no fragmento, medidos em
unidades de 8 octetos1, comeando com o offset zero. Para remontar o datagrama, o
destino precisa obter todos os fragmentos a partir do fragmento que possui offset 0 at
aquele com offset mais alto. Os fragmentos no necessariamente chegam na ordem, e no
existe comunicao entre o roteador que fragmentou o datagrama e o destino tentando
remont-lo.
Os dois bits de baixa ordem do campo FLAGS de 3 bits controlam a fragmentao.
Normalmente, a aplicao que utiliza TCP/IP no se importa com a fragmentao, pois
tanto a fragmentao quanto a remontagem so procedimentos automticos, que ocorrem
em um nvel baixo no sistema operacional, invisvel aos usurios finais. Porm, para testar
o software de inter-rede ou depurar problemas operacionais, pode ser importante testar os
tamanhos dos datagramas para os quais ocorre a fragmentao. O primeiro bit de controle
ajuda no teste, especificando se o datagrama pode ser fragmentado. Uma aplicao pode
escolher no permitir a fragmentao quando somente o datagrama inteiro til. Por
exemplo, considere uma seqncia de bootstrap em que um pequeno sistema embutido
executa um programa na ROM que envia uma requisio pela inter-rede qual outra
mquina responde enviando de volta uma imagem da memria. Se o sistema embutido
tiver sido projetado de modo que precise da imagem inteira ou nenhuma dela, o datagrama
dever ter o bit no fragmentar marcado. Sempre que um roteador precisar fragmentar um
datagrama que tenha o bit no fragmentar marcado, o roteador descarta o datagrama e
envia uma mensagem de erro de volta origem.
O bit de baixa ordem no campo FLAGS especifica se o fragmento contm dados do
meio do datagrama original ou do final. Ele chamado de bit mais fragmentos. Para ver
por que esse bit necessrio, considere o protocolo IP no destino final tentando remontar
um datagrama. Ele receber fragmentos (possivelmente fora de ordem) e precisa saber
quando recebeu todos os fragmentos para um datagrama. Quando um fragmento chega, o
campo de TAMANHO TOTAL no cabealho refere-se ao tamanho do fragmento e no ao
tamanho do datagrama original, de modo que o destino no pode usar o campo TAMANHO
TOTAL para dizer se ele coletou todos os fragmentos. O bit mais fragmentos soluciona o
problema com facilidade: quando o destino recebe um fragmento com o bit mais
fragmentos desmarcado, ele sabe que esse fragmento transporta dados da ponta do
datagrama original. Examinando o OFFSET DO FRAGMENTO e o TAMANHO TOTAL
de todos os fragmentos que chegaram, um receptor pode saber se os fragmentos disponveis
contm todas as partes necessrias para remontar o datagrama original.

Para economizar espao no cabealho, os offsets so especificados em mltiplos de 8 octetos.

117

Apostila de Fundamentos de Redes de Computadores


7.14.9

Prof: Ricardo Quinto

Time to Live (TTL)

A princpio, o campo TIME TO LIVE especifica quanto tempo, em segundos, o


datagrama tem permisso para permanecer no sistema da inter-rede. A idia simples e
importante: sempre que um computador injeta um datagrama na inter-rede, ele define um
tempo mximo em que o datagrama deve sobreviver. Os roteadores e os hosts que
processam datagramas precisam decrementar o campo TIME TO LIVE medida que o
tempo passa e remover o datagrama da inter-rede quando seu tempo expirar.
A estimativa de tempos exatos difcil porque os roteadores normalmente no
conhecem o tempo de trnsito para as redes fsicas. Algumas regras simplificam o
processamento e facilitam o tratamento de datagramas sem clocks sincronizados. Primeiro,
cada roteador ao longo do caminho da origem ao destino precisa decrementar o campo
TIME TO LIVE em 1 quando processar o cabealho do datagrama. Alm do mais, como os
roteadores eram inicialmente lentos, o padro original especificava que, se um roteador
mantm um datagrama por K segundos, o roteador deve decrementar o TIME TO LIVE em
K.
Embora j tenha sido importante, a noo de um roteador atrasando um datagrama
por muitos segundos agora est desatualizada. Os roteadores e as redes atuais so
projetados para encaminhar cada datagrama dentro de alguns milissegundos, no mximo.
Se o atraso se tornar excessivo, o roteador simplesmente descartar o datagrama. Assim,
na prtica, o TIME TO LIVE atua como um limite de salto, em vez de uma estimativa de
atraso. Cada roteador no caminho (ou seja, cada salto) decrementa o valor em 1.
Sempre que um campo TIME TO LIVE atingir zero, o roteador descarta o datagrama
e envia uma mensagem de erro de volta origem. A idia de manter um timer para os
datagramas interessante porque garante que os datagramas no podem trafegar por uma
inter-rede para sempre, mesmo que as tabelas de roteamento sejam adulteradas e os
roteadores encaminhem datagramas em um crculo. Assim, o campo TIME TO LIVE pode
ser visto como um mecanismo seguro contra falhas.
7.15 Encaminhamento de Datagramas

Vimos que todos os servios inter-rede utilizam um sistema de entrega de pacotes


subjacentes, sem conexo, e que a unidade bsica de transferncia em uma Rede TCP/IP o
datagrama IP. Veremos agora a descrio do servio sem conexo, mostrando como os
roteadores encaminham datagramas IP e os remetem aos seus destinos finais. Pensamos no
formato de datagrama visto anteriormente como caracterizando os aspectos estticos do IP. A
descrio de encaminhamento caracteriza os aspectos operacionais.
7.15.1

Encaminhamento em uma Inter-rede

Tradicionalmente, o termo roteamento (routing) era usado com sistemas de


comutao de pacotes, como a inter-rede, para se referir ao processo de escolher um
caminho pelo qual os pacotes so enviados, e o termo roteador era usado para descrever o
sistema que faz essa escolha. Mais recentemente, os engenheiros adotaram o termo
encaminhamento (forwarding) para se referir ao processo de escolha do caminho para um
pacote, mas retiveram o termo roteador para se referir ao sistema que faz a escolha.
Seguiremos o uso popular, e usaremos o termo encaminhamento.
O encaminhamento ocorre em vrios nveis. Por exemplo, dentro de uma Ethernet
comutada, que se espalha por vrios chassis fsicos, os switches so responsveis por
encaminhar frames Ethernet do momento em que um frame entra inicialmente at o frame
ser entregue ao host de destino. Esse encaminhamento interno completamente

118

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

autocontido dentro da rede. As mquinas no lado de fora no podem participar das


decises; elas simplesmente vem a rede como uma entidade que aceita e entrega pacotes.
Lembre-se de que o objetivo do protocolo IP fornecer uma rede virtual, que abrange
vrias redes fsicas e oferece um servio de entrega de datagrama sem conexo. Portanto,
vamos nos concentrar no endereo IP (que tradicionalmente se chamava roteamento IP). A
informao usada para tomar decises de encaminhamento conhecida como informao
de encaminhamento IP. Assim como o encaminhamento dentro de uma nica rede fsica, o
encaminhamento IP escolhe um caminho pelo qual um datagrama deve ser enviado.
Diferente do encaminhamento dentro de uma nica rede, o algoritmo de encaminhamento
IP precisa escolher como enviar um datagrama por vrias redes fsicas.
O encaminhamento em uma inter-rede pode ser difcil, especialmente entre
computadores que possuem vrias conexes de rede fsica. O ideal que o software de
encaminhamento examine a carga da rede. O tamanho do datagrama, os dados sendo
transportados ou o tipo de servio especificado no cabealho do datagrama ao selecionar o
melhor caminho. A maior parte do software de encaminhamento inter-rede muito menos
sofisticada, e seleciona as rotas com base nas suposies fsicas sobre os caminhos mais
curtos.
Para entender completamente o encaminhamento IP, temos de rever a arquitetura de
uma Rede TCP/IP. Primeiro, lembre-se de que uma inter-rede composta de vrias redes
fsicas interconectadas por sistemas chamados roteadores. Cada roteador possui conexes
diretas com duas ou mais redes, ao contrrio de um host que normalmente se conecta
diretamente a uma rede fsica. Tambm sabemos que possvel ter um host multi-homed
conectado diretamente a diversas redes.
Tanto hosts quanto roteadores participam de encaminhamento de um datagrama IP
at o seu destino. Quando um aplicativo em um host tenta se comunicar, os protocolos
TCP/IP por fim geram um ou mais datagramas IP. O host precisa tomar uma deciso de
encaminhamento inicial quando escolhe para onde enviar os datagramas. Como mostra a
Figura 7.20, os hosts precisam tomar decises de encaminhamento mesmo que tenham
apenas uma conexo de rede.

Figura 7.20 Um exemplo de um host singly-homed que precisa encaminhar datagramas.

A finalidade principal dos roteadores tomar decises de encaminhamento IP. E que


tal os hosts multi-homed? Qualquer computador com vrias conexes de rede pode atuar
como um roteador e, conforme veremos, os hosts multi-homed executando TCP/IP tero
todo o software necessrio para encaminhar datagramas. De fato, os sites que no possuem
condies de ter roteadores separados s vezes utilizam computadores de uso geral como
hosts e roteadores. Porm, os padres TCP/IP fazem uma distino ntida entre as funes
de um host e as de um roteador, e os sites que tentam misturar funes de host e roteador
em uma nica mquina s vezes descobrem que seus hosts multi-homed se engajam em
119

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

interaes inesperadas. Por enquanto, distinguiremos os hosts dos roteadores, e


consideraremos que os hosts no realizam a funo do roteador de transferir pacotes de uma
rede para outra.
7.15.2

Entrega Direta e Indireta

Falando de forma livre, podemos dividir o encaminhamento em duas formas: entrega


direta e entrega indireta. A entrega direta, a transmisso de um datagrama de uma
mquina de uma nica rede fsica diretamente para outra, a base de toda a comunicao
da inter-rede. Duas mquinas s podem se engajar na entrega direta se ambas se
conectarem diretamente ao mesmo sistema de transmisso fsica subjacente (por exemplo,
uma nica Ethernet). A entrega indireta ocorre quando o destino no est em uma rede
conectada diretamente, forando o emissor a passar o datagrama a um roteador para
entrega.
7.15.3

Entrega de Datagrama por uma nica Rede

Sabemos que uma mquina em determinada rede fsica pode enviar um frame fsico
diretamente para outra mquina na mesma rede. Para transferir um datagrama IP, o
emissor encapsula o datagrama em um frame fsico, conforme descrito anteriormente,
usando o protocolo ARP para mapear o endereo IP de destino para um endereo fsico e
usa o hardware de rede para transferir o frame. Assim, examinamos todas as partes
necessrias para entender a entrega direta.
Como o emissor pode saber se o destino se encontra em uma rede conectada
diretamente? O teste simples. Cada endereo IP dividido em um prefixo especfico da
rede e um sufixo especfico do host. Para determinar se um destino se encontra em uma das
redes conectadas diretamente, o emissor extrai a parte da rede do endereo IP de destino e
compara os bits extrados com a parte da rede do(s) seu(s) prprio(s) endereo(s) IP. Uma
correspondncia significa que o datagrama pode ser enviado diretamente. Aqui, vemos
uma das vantagens do esquema de endereo IP.
De um ponto de vista da inter-rede, mais fcil pensar na entrega direta como a
ltima etapa em qualquer transmisso de datagramas, mesmo que o datagrama atravesse
muitas redes e roteadores intermedirios. O roteador final ao longo do caminho entre a
origem do datagrama e seu destino se conectar diretamente mesma rede fsica do
destino. Assim, o roteador final entregar o datagrama usando a entrega direta. Tambm
podemos pensar na entrega direta entre a origem e o destino como um caso especial do
encaminhamento de uso geral. Em uma rota direta, o datagrama no passa por roteadores
intermedirios.
7.15.4

Entrega Indireta

A entrega indireta mais difcil do que a entrega direta, pois o emissor precisa
identificar um roteador inicial ao qual o datagrama pode ser enviado. O roteador precisa,
ento, encaminhar o datagrama para a rede de destino.
Para visualizar como funciona o encaminhamento indireto, imagine uma grande rede
virtual com muitas redes fsicas interconectadas por roteadores, mas somente com dois
hosts nas extremidades. Quando um host possui um datagrama para enviar, ele encapsula
o datagrama e o envia ao roteador mais prximo. Sabemos que o host pode alcanar um
roteador porque todas as redes fsicas esto interconectadas, de modo que preciso haver
um roteador conectado a cada rede. Assim, o host de origem pode alcanar um roteador
usando uma nica rede fsica. Quando o frame alcana o roteador, o software extrai o
datagrama encapsulado, e o IP seleciona o prximo roteador ao longo do caminho at o

120

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

destino. O datagrama novamente colocado em um frame e enviado pela prxima rede


fsica at um segundo roteador, e assim por diante, at que possa ser entregue diretamente.
Como um roteador pode saber para onde enviar cada datagrama? Como um host
pode saber qual roteador usar para determinado destino? As duas perguntas esto
relacionadas, pois ambas envolvem o encaminhamento IP.
7.15.5

Encaminhamento IP controlado por Tabela

O algoritmo de encaminhamento IP emprega uma estrutura de dados em cada


mquina, que armazena informaes sobre possveis destinos e como alcan-los. A
estrutura de dados conhecida formalmente como uma tabela de roteamento IP, e
informalmente como simplesmente tabela de roteamento.
Como tanto os hosts quanto roteadores roteiam datagramas, ambos possuem tabelas
de roteamento IP. Sempre que o software de encaminhamento IP em um host ou roteador
precisa transmitir um datagrama, ele consulta a tabela de roteamento a fim de decidir para
onde enviar o datagrama.
Que informaes devem ser mantidas em uma tabela de roteamento? Se a tabela de
roteamento tivesse informaes sobre cada endereo de destino possvel, seria impossvel
manter as tabelas atualizadas. Alm do mais, como o nmero de destinos possveis
grande, pequenos sistemas de uso especial no poderiam se conectar Internet, pois no
teriam espao suficiente para armazenar as informaes.
Conceitualmente, desejvel usar o princpio de esconder informaes e permitir que
as mquinas tomem decises de encaminhamento com o mnimo de informaes. Por
exemplo, gostaramos de isolar informaes sobre hosts especficos para o ambiente local
em que eles existem e organizar as mquinas que esto distantes de modo a encaminhar
pacotes para elas sem conhecer tais detalhes. Felizmente, o esquema de endereamento IP
ajuda a conseguir esse objetivo. Lembre-se de que os endereos IP so atribudos para
fazer com que todas as mquinas conectadas a determinada rede fsica compartilhem um
prefixo comum (a parte de rede do endereo). J vimos que essa atribuio torna eficiente
o teste de entrega direta. Isso tambm significa que as tabelas de roteamento s precisam
conter prefixos de rede e no endereos IP completos.
7.15.6

Encaminhamento do Prximo Salto

O uso da parte de rede de um endereo IP no lugar do endereo de host completo


torna o encaminhamento eficiente e mantm as tabelas de roteamento pequenas. Mais
importante, isso ajuda a ocultar informaes, mantendo os detalhes dos hosts especficos
confinados ao ambiente local em que os hosts operam. Normalmente, uma tabela de
roteamento contm pares (N, R), onde N o endereo IP de uma rede de destino, e R o
endereo IP do prximo roteador ao longo do caminho at a rede N. O roteador R
chamado de prximo salto (next hop), e a idia de usar uma tabela de roteamento para
armazenar o prximo salto para cada destino chamado de encaminhamento no prximo
salto ou roteamento no prximo salto. Assim, a tabela de roteamento em um roteador R s
especifica uma etapa ao longo do caminho de R at uma rede de destino. O roteador no
conhece o caminho completo at um destino.
importante entender que cada entrada em uma tabela de roteamento aponta para um
roteador que pode ser alcanado por uma nica rede. Ou seja, todos os roteadores listados
na tabela de roteamento da mquina M precisam estar em redes s quais M se conecta
diretamente. Quando um datagrama estiver pronto para sair de M, o Protocolo de Internet
localiza o endereo IP de destino e extrai a parte da rede. Depois, M usa a parte da rede

121

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

para tomar uma deciso de encaminhamento, selecionando um roteador que pode ser
alcanado diretamente.
Na prtica, aplicamos o princpio de esconder informaes tambm para hosts.
Insistimos que, embora os hosts tenham tabelas de roteamento IP, eles precisam manter
informaes mnimas em suas tabelas. A idia forar os hosts a contarem com roteadores
para a maior parte do encaminhamento.
A Figura 7.21 mostra um exemplo concreto que ajuda a explicar as tabelas de
roteamento. A rede virtual de exemplo consiste em quatro redes fsicas conectadas por trs
roteadores. A tabela na figura corresponde tabela de roteamento para o roteador R.
Como R se conecta diretamente s redes 20.0.0.0 e 30.0.0.0, ele pode usar a entrega direta
para enviar a um host em qualquer uma dessas redes (possivelmente usando o ARP para
encontrar endereos fsicos). Dado um datagrama destinado a um host na rede 40.0.0.0, R
o roteia para o endereo do roteador S, 30.0.0.7. Depois, S entregar o datagrama
diretamente. R pode alcanar o endereo 30.0.0.7 porque tanto R quanto S se conectam
diretamente rede 30.0.0.0.
Como demonstra a Figura 7.21, o tamanho da tabela de roteamento depende do
nmero de redes na rede virtual. A tabela s cresce quando novas redes so acrescentadas.
Ou seja, o tamanho e o contedo da tabela dependem do nmero de hosts individuais
conectados s redes.

Figura 7.21 Uma internet de exemplo com 4 redes e 3 roteadores.

A escolha de rotas com base apenas no ID da rede de destino apresenta diversas


conseqncias. Primeiro, na maior parte das implementaes, isso significa que todo o
trfego destinado a determinada rede segue o mesmo caminho. Como resultado, mesmo
quando existem vrios caminhos, eles podem no ser usados simultaneamente. Alm disso,
no caso mais simples, todo o trfego segue o mesmo caminho, sem considerar o atraso ou a
vazo das redes fsicas. Segundo, como apenas o roteador final do caminho tenta se
comunicar com o host de destino, somente ele pode determinar se o host existe ou est
operacional. Assim, precisamos arrumar um meio para que o roteador final envie relatrios
de problemas de entrega de volta origem. Terceiro, como cada roteador encaminha o
trfego independentemente, os datagramas trafegando do host A para o host B podem

122

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

seguir um caminho inteiramente diferente dos datagramas trafegando do host B para o host
A. Precisamos nos assegurar que os roteadores cooperem para garantir que a comunicao
bidirecional sempre seja possvel.
7.15.7

Rotas Default

Outra tcnica utilizada para esconder informaes e manter tamanhos pequenos de


tabela de roteamento e consolidar vrias entradas em um caso default. A idia fazer com
que o software de encaminhamento IP primeiro examine a tabela de encaminhamento para
a rede de destino. Se nenhuma rota aparecer na tabela, o software de encaminhamento
envia o datagrama para um roteador default.
O encaminhamento default til especialmente quando um site possui um pequeno
conjunto de endereos locais e somente uma conexo com o restante da rede virtual. Por
exemplo, as rotas default funcionam bem nos computadores host que se conectam a uma
nica rede fsica e s alcanaro um roteador levando ao restante da rede virtual. A deciso
de endereo consiste em dois testes: um para a rede local e um default que aponta para o
nico roteador. Mesmo que o site contenha algumas redes locais, o encaminhamento
simples porque consiste em testes para as redes locais mais um default para todos os outros
destinos.
7.15.8

Rotas Especficas do Host

Embora tenhamos dito que todo o encaminhamento baseado em redes e no em


hosts individuais, a maioria dos softwares de encaminhamento IP permite que as rotas por
host sejam especificadas como um caso especial. Ter rotas por host d ao administrador da
rede local mais controle sobre o uso da rede, permite o teste e tambm pode ser usado para
controlar o acesso para fins de segurana. Ao depurar conexes de rede ou tabelas de
roteamento, a capacidade de especificar uma rota especial a uma mquina individual prova
ser especialmente til.
7.15.9

O Algoritmo de Encaminhamento IP

Levando em considerao tudo o que dissemos, o algoritmo original usado para


encaminhar datagramas IP com endereamento com classe foi:
Algoritmo:
ForwardDatagram (Datagram, RoutingTable)

Extrair o endereo IP de destino, D, do datagrama;


Se a tabela contiver uma rota especfica do host para D, enviar o datagrama ao
prximo salto especificado na tabela e sair;
Calcular N, o prefixo de rede do endereo D;
Se N combinar com qualquer endereo de rede conectado diretamente, entregar o
datagrama ao destino D por essa rede. (Isso envolve traduzir D para endereo
fsico, encapsular o datagrama e enviar o frame).
Seno, se a tabela contiver uma rota para o prefixo de rede N, enviar o datagrama
ao prximo salto especificado na tabela;
Seno, se a tabela contiver uma rota default, enviar o datagrama ao roteador
default especificado na tabela;
Seno, declarar um erro de encaminhamento.

7.15.10 Encaminhamento com Endereos IP

importante entender que, exceto por decrementar o tempo de vida e recalcular o


checksum, o encaminhamento IP no altera o datagrama original. Em particular, os
123

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

endereos de origem e destino do datagrama permanecem inalterados. Eles especificam o


endereo IP da origem e o endereo IP do destino final1. Quando o IP executa o algoritmo
de encaminhamento, ele seleciona um novo endereo IP, o endereo IP da mquina qual o
datagrama deve ser enviado em seguida. O novo endereo provavelmente o endereo de
um roteador. Porm, se o datagrama puder ser entregue diretamente, o novo endereo o
mesmo que o do destino final.
Dissemos que o endereo IP selecionado pelo algoritmo de endereo IP conhecido
como endereo do prximo salto, pois diz aonde o datagrama precisa ser enviado em
seguida. Onde o protocolo IP armazena o endereo do prximo salto? No no datagrama.
No h lugar reservado para ele. Na verdade, o protocolo IP no armazena qualquer
endereo do prximo salto. Depois de executar o algoritmo de encaminhamento, o
protocolo IP passa o datagrama e o endereo do prximo salto ao software de interface de
rede responsvel pela rede fsica sobre a qual o datagrama precisa ser enviado. O software
de interface de rede vincula o endereo do prximo salto a um endereo fsico, forma um
frame usando esse endereo fsico, coloca o datagrama na parte de dados do frame e envia
o resultado. Depois de usar o endereo do prximo salto para encontrar um endereo
fsico, o software de interface de rede descarta o endereo do prximo salto.
Pode parecer estranho que as tabelas de roteamento armazenem o endereo IP de um
prximo salto para cada rede de destino quando esses endereos precisam ser traduzidos
para os endereos fsicos correspondentes antes que o datagrama possa ser enviado. Se
imaginarmos um host enviando uma seqncia de datagramas ao mesmo endereo de
destino, o uso de endereos IP parecer incrivelmente ineficaz. O protocolo IP fielmente
extrai o endereo de destino em cada datagrama e usa a tabela de roteamento para produzir
um endereo de prximo salto. Depois, ele passa o datagrama e o endereo do prximo
salto para a interface de rede, que recalcula o vnculo para um endereo fsico. Se a tabela
de roteamento usasse endereos fsicos, o vnculo entre o endereo IP do prximo salto e o
endereo fsico poderia ser realizado uma vez, economizando computao desnecessria.
Porque o IP evita o uso de endereos fsicos ao armazenar e calcular rotas?
Conforme ilustra a Figura 7.22, existem dois motivos importantes.

Figura 7.22 O IP e a tabela de roteamento residem acima do limite de endereo.

A nica exceo ocorre quando o datagrama contm a opo de rota de origem.

124

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Primeiro, a tabela de roteamento prov uma interface clara entre o protocolo IP que
encaminha datagramas e o software de alto nvel que trata as rotas. Para depurar
problemas de encaminhamento, os gerentes de rede normalmente precisam examinar as
tabelas de roteamento. Usar apenas endereos IP na tabela de roteamento faz com que os
administradores entendam e determinem melhor se o software atualizou as rotas
corretamente. Segundo, o objetivo do protocolo IP montar uma abstrao que esconde os
detalhes das redes bsicas.
A Figura 7.22 mostra o limite de endereo, a diviso conceitual entre o software de
baixo nvel que entende os endereos fsicos e o software de rede virtual, que s usa
endereos de alto nvel. Acima desse limite, todo software pode ser escrito para se
comunicar usando endereos de rede virtual. O conhecimento dos endereos fsicos
relegado a algumas rotinas pequenas, de baixo nvel. Veremos que observar o limite
tambm facilita a compreenso, o teste e a modificao da implementao dos protocolos
TCP/IP restantes.
7.15.11 Tratando de Datagramas que Chegam

At aqui, discutimos o encaminhamento IP descrevendo como as decises de


encaminhamento so tomadas a respeito dos datagramas que saem. Porm, deve ficar
claro que o protocolo IP precisa processar tambm os datagramas que chegam.
Quando um datagrama IP chega em um host, o software de interface de rede entrega
o datagrama ao mdulo IP para processamento. Se o endereo de destino do datagrama
combinar com o endereo IP do host, o protocolo IP no host aceita o datagrama e o passa
para o software de protocolo de nvel superior apropriado, para mais processamento. Se o
endereo IP de destino no combinar, um host precisa descartar o datagrama (ou seja, os
hosts so proibidos de tentar encaminhar datagramas enviados acidentalmente mquina
errada).
Ao contrrio dos hosts, os roteadores realizam o encaminhamento. Quando um
datagrama IP chega em um roteador, ele entregue ao protocolo IP. Novamente, surgem
dois casos: o datagrama atingiu seu destino final, ou ele pode ter de viajar ainda mais.
Assim como nos hosts, se o endereo IP de destino do datagrama combinar com o prprio
endereo IP do roteador, o protocolo IP passa o datagrama para o protocolo de nvel
superior para processamento1. Se o datagrama no tiver atingido seu destino final, o
protocolo IP encaminha o datagrama usando o algoritmo padro e a informao na tabela
de roteamento local.
Determinar se um datagrama IP alcanou seu destino final no to trivial quanto
parece. Lembre-se de que um roteador possui vrias conexes fsicas, cada uma com seu
prprio endereo IP. Quando um datagrama IP chega, a mquina receptora precisa
comparar o endereo IP de destino com o endereo IP de cada uma de suas conexes de
rede. Se houver qualquer combinao, ela mantm o datagrama e o processa. Uma
mquina tambm precisa aceitar os datagramas que foram enviados por broadcast IP
direcionado para essa rede. Os endereos sem classe, de sub-rede e de multicast tornam o
reconhecimento do endereo ainda mais complexo. De qualquer forma, se o endereo no
combinar com qualquer um dos endereos da mquina local, o IP decrementa o campo TTL
no cabealho do datagrama, descartando o datagrama se a contagem atingir zero, ou

Normalmente, os nicos datagramas destinados a um roteador so aqueles usados para testar a conectividade ou aqueles
que transportam comandos de gerenciamento do roteador, mas um roteador tambm recebe uma cpia de qualquer
datagrama que enviado por broadcast na rede.

125

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

recalculando um novo checksum e encaminhando o datagrama se a contagem permanecer


positiva.
Cada mquina deve encaminhar os datagramas IP que ela recebe? Obviamente, um
roteador precisa encaminhar os datagramas que chegam, pois essa sua funo principal.
Dissemos que alguns sites tambm configuram computadores de uso geral para operar
como roteadores, e esses computadores precisam ser configurados para encaminhar
datagramas. Porm, os hosts no projetados para ser roteadores no podem encaminhar
datagramas. Se tal host receber um datagrama que no corresponde a qualquer um dos
endereos do host, o host precisa descartar o datagrama.
Existem quatro motivos para um host no projetado a servir como roteador evitar a
realizao de quaisquer outras funes. Primeiro, quando esse tipo de host recebe um
datagrama direcionado para alguma outra mquina, algo saiu errado com o endereamento,
encaminhamento ou entrega da rede virtual. O problema pode no ser revelado se o host
tomar uma ao corretiva encaminhando o datagrama. Segundo, o encaminhamento
causar trfego desnecessrio na rede (e pode roubar tempo de CPU para usos legtimos do
host). Terceiro, erros simples podem causar caos. Suponha que cada host encaminhe
trfego, e imagine o que acontece se uma mquina acidentalmente transmitir por broadcast
um datagrama destinado a um host, H. Por ter sido enviado por broadcast, cada host na
rede recebe uma cpia do datagrama. Cada host encaminha sua cpia para H, que ser
bombardeado com muitas cpias.
Quarto, os roteadores realizam mais do que
simplesmente encaminhar trfego. Os roteadores usam um protocolo especial para relatar
erros, enquanto os hosts no fazem isso (novamente, para evitar que vrios relatrios de
erro bombardeiem uma origem). Os roteadores tambm propagam informaes para
garantir que suas tabelas de roteamento sejam consistentes e corretas. Se os hosts
encaminharem datagramas sem participar totalmente de todas as funes do roteador,
podem surgir anomalias inesperadas.
7.16 IPv6

A evoluo da tecnologia TCP/IP sempre esteve interligada a evoluo da Internet global.


Com centenas de milhes de usurios em sites no mundo inteiro dependendo da internet global
como parte do seu ambiente de trabalho dirio, pode parecer que passamos dos primeiros
estgios de desenvolvimento e agora temos uma facilidade de produo completamente estvel.
Apesar das aparncias, porm, nem a internet nem o conjunto de protocolos TCP/IP so
estticos. Os pesquisadores e engenheiros descobrem novas maneiras de usar a tecnologia e
melhorar os mecanismos bsicos.
A finalidade desta seo considerar o processo evolucionrio contnuo e examina um dos
esforos de engenharia mais significativos: uma reviso proposta do IP. Se a proposta for
adotada por fornecedores, ela ter um forte impacto sobre os protocolos e a internet global.
7.16.1

Por que Mudar?

No inicio da dcada de 1990, os pesquisadores argumentaram que a internet era


insuficiente para novas aplicaes, como voz e vdeo. Eles argumentaram ainda que o
crescimento da internet, que estava dobrando em tamanho a cada nove meses, ou mais
rpido ainda, logo esgotaria o conjunto de endereos disponveis. Desde ento, duas coisas
ficaram claramente visveis. Primeiras aplicaes como telefonias funcionam bem pela
internet existente. Em segundo lugar, os endereamentos CIDR e NAT forneceram as
extenses de endereo necessrias, as projees atuais sugerem que teremos endereos
suficientes at 2022 (2028, se os endereos no usados forem reaproveitados).

126

Apostila de Fundamentos de Redes de Computadores


7.16.2

Prof: Ricardo Quinto

Alm do IPv4

A verso 4 do Internet Protocol (IPv4) foi a primeira verso de trabalho; ela


permaneceu quase inalterada desde o seu surgimento no final da dcada de 1970. A
longevidade da verso 4 mostra que o projeto flexvel e poderoso. Desde o momento em
que o IPv4 foi projetado, o desempenho do processador aumentou por trs ordens de
grandeza, os tamanhos tpicos da memria aumentaram por um fator maior que 400, as
larguras de banda dos enlaces de maior velocidade na internet aumentaram por um fator de
150.000. As tecnologias de LAN emergiam e o nmero de hosts na internet aumentou de
alguns para centenas de milhes.
A principal motivao para atualizar o IP a eventual limitao no espao de
endereos. Quando o IP foi projetado, um espao de endereos de 32 bits foi mais do que
suficiente. Somente algumas das organizaes usavam uma LAN, e nenhum tinha um PC.
Agora, porm, at mesmo corporaes pequenas possuem LANs e vrios computadores.
Se cada telefone celular receber um endereo IP, os endereos sero esgotados
rapidamente.
7.16.3

A Estrada para uma Nova Verso do IP

Foram necessrios vrios anos para que o IETF formulasse uma nova verso do IP.
Como o IETF produz padres abertos, ele convidou representantes de muitas comunidades
para participarem do processo. Os fabricantes de computadores, fornecedores de hardware
e softwares, usurios, gerentes, programadores, companhias de telefones e o setor inteiro de
televiso a cabo especificaram seus requisitos para a prxima verso do IP, e todos
comentaram sobre propostas especficas.
Muitos projetos foram propostos para servir a uma finalidade em particular ou a uma
comunidade em particular. No fim, um projeto conhecido como SIP1 (Simple IP) tornou-se
a base para uma proposta estendida, que inclua idias de outras propostas. A verso
estendida foi chamada de SIPP (Simple IP Plus) e tornou-se o projeto escolhido como base
para o prximo IP.
7.16.4

O Nome do Prximo IP

O IETF decidiu atribuir reviso do IP o nmero de verso 6 e chamou-o de IPv6


(ele era conhecido originalmente como IP The Next Generation (IPng). O nmero de
verso 5 foi pulado depois de uma serie de erros e mal entendidos. A escolha de numerar a
nova verso com 6 eliminou a confuso e a ambigidade.
7.16.5

Caractersticas do IPv6

O protocolo IPv6 proposto retm muitas das caractersticas que contriburam para o
sucesso do IPv4. Na verdade, os projetistas caracterizaram o IPv6 como sendo basicamente
o mesmo que o IPv4, com algumas pequenas modificaes. Por exemplo, o IPv6 ainda
admite entrega sem conexo (ou seja, cada datagrama roteado independentemente),
permite que o emissor escolha o tamanho de um datagrama e exige que o emissor
especifique o nmero mximo de saltos que um datagrama pode fazer antes de ser
terminado. Como veremos, o IPv6 tambm retm a maior parte dos conceitos fornecidos
pelas opes do IPv4, incluindo facilidades para fragmentao e roteamento de origem.
Apesar de muitas semelhanas conceituais, o IPv6 muda a maior parte dos detalhes
do protocolo. Por exemplo, o IPv6 usa endereos maiores e acrescenta alguns novos

O acrnimo SIP agora se refere a Session Initiation Protocol.

127

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

recursos. Mais importante, o IPv6 revisa completamente o formato de datagrama,


substituindo o campo de opes de tamanho varivel do IPv4 por uma srie de cabealhos
de formato fixo.
Examinaremos os detalhes depois de considerar as principais mudanas e a motivao
bsica para cada um.
As mudanas introduzidas pelo IPv6 podem ser agrupadas em sete categorias:

7.16.6

Endereos maiores: o novo tamanho do endereo a mudana mais


observvel. O IPv6 quadruplica o tamanho de um endereo IPv4 de 32 bits
para 128 bits.

Hierarquia de endereo estendida: o IPv6 usa o espao de endereo maior para


criar nveis adicionais de hierarquia de endereamento (por exemplo, para
permitir que um ISP aloque blocos de endereos a cada cliente).

Formato de cabealho flexvel: o IPv6 usa um formato de datagrama


completamente novo e incompatvel, que inclui um conjunto de cabealhos
opcionais.

Opes avanadas: o IPv6 permite que um datagrama inclua informaes de


controle opcionais; as opes do IPv6 fornecem facilidades adicionais no
disponveis no IPv4.

Proviso para extenso de protocolo: em vez de especificar todos os detalhes,


a capacidade de extenso do IPv6 permite que o IETF adapte o protocolo ao
novo hardware de rede e novas aplicaes.

Suporte para autoconfigurao e renumerao: o IPv6 permite que os


computadores em uma rede isolada atribuam endereos locais
automaticamente; o projeto tambm permite que um gerente renumere redes
em um site dinamicamente.

Suporte para alocao de recurso: o IPv6 inclui uma abstrao de fluxo e bits
para a especificao de servio diferenciado (DiffServ).

Forma Geral de um Datagrama IPv6

O IPv6 muda completamente o formato do datagrama. Como mostra a Figura 7.23,


um datagrama IPv6 possui um cabealho bsico de tamanho fixo seguido por zero ou mais
cabealhos de extenso, seguidos pelos dados.
opcional
Cabealho
Bsico

Cabealho de
Extenso 1

...

Cabealho de
Extenso N

Dados...

Figura 7.23 Formato Geral de um Datagrama IPv6.

7.16.6.1

Formato de Cabealho Bsico do IPv6

Embora deva acomodar endereos maiores, um cabealho bsico IPv6 contem


menos informaes do que um cabealho de datagrama IPv4. As opes e alguns dos
campos fixos que aparecem em um cabealho de datagrama IPv4 foram movidos para
cabealhos de extenso no IPv6. Em geral, as mudanas no cabealho do datagrama
refletem as mudanas no protocolo:

O alinhamento foi alterado de mltiplos de 32 bits para 64 bits.

128

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Um campo de tamanho de cabealho foi eliminado, e o campo de


tamanho do datagrama foi substitudo por um campo de TAMANHO DO
PAYLOAD (PAYLOAD LENGTH).

O tamanho dos campos de endereos de origem e destino foi aumentado


para 16 octetos cada um.

A informao de fragmentao foi movida para fora dos campos fixos no


cabealho bsico para um cabealho de extenso.

O campo TEMPO DE VIDA (TIME TO LIVE) foi substitudo por um


campo LIMITE DE SALTOS (HOP LIMIT).

O TIPO DE SERVIO (SERVICE TYPE) teve o nome alterado para


CLASSE DE TRFEGO (TRAFFIC CLASS) e estendido com um campo
RTULO DE FLUXO (FLOW LABEL).

O campo PROTOCOLO (PROTOCOL) foi substitudo por um campo que


especifica o tipo do prximo cabealho.

A Figura 7.24 mostra o contedo e o formato de um cabealho IPv6 bsico.


Vrios campos em um cabealho bsico de IPv6 correspondem diretamente aos
campos em um cabealho IPv4. Assim como no IPv4, o campo VERS de 4 bits inicial
especifica a verso do protocolo; VERS sempre contem 6 em um datagrama IPv6.
Assim como no IPv4, os campos ENDEREO DE ORIGEM (SOURCE ADDRESS) e
ENDEREO DE DESTINO (DESTINATION ADDRESS) especificam os endereos do
emissor e destinatrios desejados. Porm, no IPv6, cada endereo requer 16 octetos.
O campo LIMITE DE SALTO corresponde ao campo TEMPO DE VIDA do IPv4.
Diferente do IPv4, que interpreta um tempo de vida como uma combinao de
contagem de saltos e tempo mximo, o IPv6 interpreta o valor como dado um limite
estrito sobre o numero mximo de saltos que um datagrama pode fazer antes de ser
descartado.
0

VERS

12

Classe de Trfego
Tamanho do Payload

16

24

31

Rtulo de Fluxo
Prximo Cabealho
Limite de Saltos
Endereo de Origem

Endereo de Destino
Figura 7.24 O Formato do Cabealho Bsico do IPv6 de 40 octetos.

O IPv6 trata de especificaes de tamanho de datagrama de uma nova maneira.


Primeiro, como o tamanho do cabealho bsico fixado em 40 octetos, o cabealho
bsico no inclui um campo para o tamanho do cabealho. Em segundo lugar, o IPv6
substitui o campo de tamanho do datagrama do IPv4 por um campo de TAMANHO
DO PAYLOAD que especifica o nmero de octetos transportados no datagrama,
excluindo o prprio cabealho. Assim, um datagrama IPv6 pode conter 64K octetos
de dados.

129

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Dois campos no cabealho bsico so usados na tomada de decises de


encaminhamento. O campo TIPO DE SERVIO do IPv4 foi renomeada como
CLASSE DE TRFEGO. Alm disso, um novo mecanismo no IPv6 admite reserva de
recurso e permite que um roteador associe a cada datagrama uma determinada
alocao de recurso. A abstrao bsica, um fluxo, consiste em um caminho por uma
internet junto quais roteadores intermedirias garantem uma qualidade de servio
especifico. O campo RTULO DE FLUXO no cabealho bsico contm informaes
que os roteadores utilizam para associar um datagrama a um fluxo e prioridade
especificos. Por exemplo, duas aplicaes que precisam enviar vdeo podem
estabelecer um fluxo em que o atraso e a largura da banda sejam garantidos. Como
alternativa, um provedor de rede pode exigir que um assinante especifique a qualidade
de servio desejada e depois use um fluxo para limitar o trfego que um computador
especfico ou aplicao especfica envia. Observe que os fluxos tambm podem ser
usados dentro de determinada organizao para gerenciar recursos de rede e garantir
que todas as aplicaes recebam uma fatia justa. Um roteador usa a combinao de
endereo de origem do datagrama e identificador de fluxo ao associar um datagrama a
um fluxo especfico.
7.16.6.2

Cabealhos de Extenso do IPv6

O paradigma de um cabealho de base fixa seguida por um conjunto de


cabealhos de extenso foi escolhido como um compromisso entre generalidade e
eficincia. Para ser totalmente geral, o IPv6 precisa incluir mecanismo de modo a dar
suporte a funes como fragmentao, roteamento de origem e autenticao. Porm, a
escolha de alocar campos fixos no cabealho do datagrama para todos os mecanismos
ineficaz, pois a maioria dos datagramas no usa todos os mecanismos; o grande
tamanho de endereos do IPv6 aumenta a ineficincia. Por exemplo, ao enviar um
datagrama por uma nica rede local, um cabealho que contem campos de endereo
vazios pode ocupar uma frao substancial de cada frame.
Mais importante, os projetistas observam que ningum pode prever quais
facilidades sero necessrias.
O paradigma do cabealho de extenso do IPv6 funciona de modo semelhante s
funes do IPv4. Um emissor pode escolher quais cabealhos de extenso incluir em
determinado datagrama e quais omitir. Assim, os cabealhos de extenso oferecem o
mximo de flexibilidade.
7.16.7

Analisando um Datagrama IPv6

Cada um dos cabealhos bsico e de extenso contm um campo PRXIMO


CABECALHO (NEXT HEADER) que os roteadores intermedirios e o destino final utilizam
para desmembrar o datagrama. O processamento seqencial. O campo PRXIMO
CABEALHO em cada cabealho diz o que aparece em seguida. Por exemplo, a
Figura 7.25 mostra os campos PROXIMO CABEALHO de trs datagramas que contm
zero, um e dois cabealhos de extenso.

130

Apostila de Fundamentos de Redes de Computadores


Cabealho BSICO
Prximo = TCP

Prof: Ricardo Quinto


Segmento TCP

(a)
Cabealho BSICO
Prximo = ROUTE
Cabealho BSICO
Prximo = ROUTE

Cabealho ROUTE
Prximo = TCP
(b)

Cabealho ROUTE
Prximo = AUTH

Segmento TCP

Cabealho AUTH
Prximo = TCP

Segmento TCP

(c)
Figura 7.25 Trs Datagramas IPv6.

Para agilizar o processamento, o IPv6 exige que os cabealhos de extenso utilizados


por roteadores intermedirios sejam colocados antes dos cabealhos de extenso usados
pelo destino final. O IPv6 usa o termo cabealho salto-a-salto (hop-by-hop header) para se
referir a um cabealho de extenso que um roteador intermedirio precisa processar. Assim
os cabealhos salto-a-salto precedem os cabealhos de fim-a-fim.
7.16.8

Fragmentao e Remontagem do IPv6

A fragmentao de datagramas IPv6 permitida; um cabealho de extenso usado


para especificar que um datagrama um fragmento. Assim como no IPv4, o IPv6
providencia para que o destino final realize a remontagem do datagrama. Porm, os
projetistas escolheram fazer mudanas que evitam a fragmentao por roteadores. Lembrese de que o IPv4 requer que um roteador intermedirio fragmente qualquer datagrama que
seja muito grande para a MTU da rede que ele precisa atravessar. No IPv6, a fragmentao
de fim-a-fim; nenhuma fragmentao ocorre nos roteadores intermedirios. A origem,
que responsvel pela fragmentao, tem duas escolhas: ela pode usar a MTU mnima
garantida de 1.280 octetos ou realiza a descoberta de MTU do caminho (Path MTU
Discovery) para identificar a MTU mnima ao longo do caminho at o destino. De qualquer
forma, a origem fragmenta de modo que cada fragmento seja menor que a MTU esperada
do caminho. A Figura 7.26 mostra o contedo de um cabealho de extenso de fragmento
(Fragmentation Extension Header).
0

Prximo Cabealho

16

RESERVADO
Offset de Fragmento
IDENTIFICAO DO DATAGRAMA

29

RS

31

Figura 7.26 O Formato de um Cabealho de Extenso de Fragmento.

O IPv6 retm a funcionalidade de fragmentao bsica. Cada fragmento precisa ser


um mltiplo de 8 octetos, o nico bit do campo M marca o ltimo fragmento, como o bit
MORE FRAGMENTS do IPv4, e o campo IDENTIFICAO DO DATAGRAMA transporta
uma ID exclusiva que o receptor usa para agrupar fragmentos1. Finalmente, o campo RS
atualmente reservado. Os dois bits so definidos como zero na transmisso e ignorados
pelo receptor.
7.16.9

A Conseqncia da Fragmentao de fim-a-fim

A motivao para usar a fragmentao de fim-a-fim est em sua capacidade de


reduzir o overhead em roteadores e permitir que cada roteador trate de mais datagramas
1

O IPv6 expande o campo de IDENTIFICAO do IPv4 para 32 bits, a fim de acomodar redes de maior velocidade.

131

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

por tempo unitrio. Na realidade, a sobrecarga de CPU exigida para a fragmentao IPv4
pode ser significativa. Em um roteador convencional, a CPU pode atingir 100% de
utilizao se o roteador fragmentar todos os datagramas que ele recebe. Porm, a
fragmentao de fim-a-fim tem uma conseqncia importante: ela altera a suposio
fundamental do IPv4 de que as rotas mudam dinamicamente.
Para entender a conseqncia da fragmentao de fim-a-fim, lembre-se de que o IPv4
foi projetado para permitir que as rotas mudem a qualquer hora. Por exemplo, se uma rede
ou roteador falhar, o trfego pode ser roteado por um caminho diferente. A principal
vantagem desse sistema a flexibilidade. O trfego pode ser roteado ao longo de um
caminho alternativo sem atrapalhar o servio e sem informar a origem ou o destino. Porm,
no IPv6, as rotas no podem ser alteradas to facilmente, pois uma mudana em uma rota
tambm pode alterar a MTU do caminho, ento um roteador intermedirio precisa
fragmentar o datagrama ou a origem precisa ser informada.
Para resolver o problema de mudanas de rota que afetam a MTU do caminho, o IPv6
inclui uma nova mensagem de erro ICMP. Quando um roteador descobrir que a
fragmentao necessria, ele enviar a mensagem de volta origem. Ao receber tal
mensagem, a origem realizar outra descoberta de MTU do caminho para determinar uma
nova MTU mnima e depois fragmentar os datagramas de acordo com o novo valor.
7.16.10 Roteamento de Origem IPv6

O IPv6 retm a capacidade para um emissor especificar uma rota de origem solta.
Diferente do IPv4, em que o roteamento de origem fornecido por opes, o IPv6 usa um
cabealho de extenso separado. Como mostra a Figura 7.27, os quatro primeiros campos
do Cabealho de Roteamento so fixos. O TIPO DE ROTEAMENTO (ROUTING TYPE)
especifica o tipo de informao de roteamento. O nico tipo que foi definido, tipo 0,
corresponde ao roteamento de origem solto. O campo DADOS ESPECFICOS DO TIPO
(TYPE-SPECIFIC DATA) contm uma lista de endereos de roteadores atravs dos quais o
datagrama precisa passar. O campo SEGMENTOS RESTANTES (SEG LEFT) especifica o
nmero total de endereos na lista. Finalmente, o campo TAMANHO DO CABEALHO
DE EXTENSO (HDR EXT LEN) especifica o tamanho do cabealho de roteamento.
0
Prximo Cabealho

8
Tamanho do Cabealho
de Extenso

16

24
Tipo de Roteamento

31
Segmentos Restantes

DADOS ESPECFICOS DO TIPO


.
.
.
Figura 7.27 O Formato de um Cabealho de Roteamento IPv6.

7.16.11 Opes do IPv6

Pode parecer que os cabealhos de extenso do Ipv6 substituem completamente as


opes Ipv4. Porm, os projetistas propem dois cabealhos de extenso adicionais do
Ipv6 para acomodar informaes diversificadas no includas nos outros cabealhos de
extenso. Os cabealhos adicionais so um cabealho de estenso salto-a-salto e um
cabealho de extenso de fim-a-fim.
Embora cada um dos dois cabealhos de opo tenha um cdigo de tipo exclusivo, os
dois cabealhos utilizam o formato ilustrado na Figura 7.28.
132

Apostila de Fundamentos de Redes de Computadores


0

Prximo Cabealho

Tamanho Cabealho

Prof: Ricardo Quinto

16

24

31

UMA OU MAIS OPES

Figura 7.28 O Formato de um Cabealho de Extenso de Opo IPv6.

Como sempre, o campo PRXIMO CABEALHO indica o tipo do cabealho que


vem em seguida. Como um cabealho de opo no tem tamanho fixo, o campo rotulado
com TAMANHO CABEALHO especifica o tamanho total do cabealho. A rea rotulada
com UMA OU MAIS OPES representa uma seqncia de opes individuais. A
Figura 7.29 ilustra que cada opo individual codificada com um tipo, tamanho e valor1.
As opes no esto alinhadas ou preenchidas.
0

TIPO

16

TAMANHO

VALOR

Figura 7.29 A Codificao de uma Opo Individual em um Cabealho de Extenso IPv6.

Como mostra a figura, as opes do Ipv6 seguem o mesmo formato das opes do
IPv4. Cada opo comea com um campo TIPO de um octeto, seguido por um campo de
TAMANHO de um octeto. Se a opo exigir dados adicionais, os octetos que constituem o
VALOR vm aps o TAMANHO.
Os bits de alta ordem de cada campo TIPO da opo especificam como um host ou
roteador deve descartar um datagrama se no entender a opo. A Tabela 7.6 Mostra os
bits de tipo e o seu significado.
Bits no Tipo
00
01
10
11

Significado
Pular esta Opo.
Descartar datagrama; no enviar mensagem ICMP.
Descartar datagrama; enviar mensagem ICMP origem.
Descartar datagrama; enviar ICMP se no multicast.
Tabela 7.6 Significado do Campo TIPO.

Alm disso, o terceiro bit no campo TIPO especifica se a opo pode mudar em
trnsito. importante ter essa informao para autenticao. O contedo de uma opo
que pode mudar em trnsito e tratado como zeros, para fins de autenticao.
7.16.12 Tamanho do Espao de Endereos do IPv6

No IPv6, cada endereo ocupa 16 octetos, quatro vezes o tamanho de um endereo


IPv4. O espao de endereos grande garante que o IPv6 pode tolerar qualquer esquema de
atribuio de endereo razovel. Na verdade, se os projetistas decidirem mudar o esquema
de endereamento mais tarde, o espao de endereos suficientemente grande para
acomodar uma reatribuio.
difcil compreender o tamanho do espao de endereos do IPv6. Um modo de
examinar isso relacionar a magnitude ao tamanho da populao: o espao de endereos

Na literatura, uma codificao de tipo, tamanho e valor s vezes chamada de codificao TLV (Type, Length, Value).

133

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

to grande que cada pessoa no planeta pode ter endereos suficientes para ter sua prpria
Internet Global, to grande quanto a Internet atual. Uma segunda forma de pensar no
endereamento IPv6 relacion-lo ao espao fsico disponvel: a superfcie da terra tem
aproximadamente 5,1x108 quilmetros quadrados, significando que existem mais de 1024
endereos por metro quadrado da superfcie da terra. Outra forma de entender o tamanho
relacion-lo ao esgotamento de endereos. Por exemplo, considere quanto tempo levaria
para atribuir todos os endereos possveis. Um inteiro de 16 octetos pode manter 2128
valores. Assim, o espao de endereos maior do que 3,4x1038. Se os endereos forem
atribudos na velocidade de um milho de endereos a cada microssegundo, seriam
necessrios mais de 1020 anos para atribuir todos os endereos possveis.
7.16.13 Notao Hexadecimal de dois pontos do IPv6

Embora solucione o problema de ter capacidade insuficiente, o tamanho grande de


endereo impe um novo problema interessante: os seres humanos que mantm inter-redes
precisam ler, digitar e manipular esses endereos. Obviamente, a notao binria
impraticvel. Porm, a notao decimal pontilhada usada para o IPv4 tambm no torna
esses endereos suficientemente compactos. Para entender por que, considere um nmero
de 128 bits de exemplo, expresso na notao decimal pontilhada.
104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255
Para ajudar a tornar os endereos ligeiramente mais compactos e mais fceis de
entrar, os projetistas do IPv6 propem o uso da notao hexadecimal com dois pontos, em
que o valor de cada quantidade de 16 bits representado em hexadecimal separado por
sinais de dois pontos. Por exemplo, quando o valor mostrado antes em notao decimal
pontilhada traduzido para a notao hexadecimal com dois pontos, ele fica da forma
abaixo:
68E6:8C64:FFFF:FFFF:0:1180:96A:FFFF
A notao hexadecimal com dois pontos tem a vantagem bvia de exigir menos
dgitos e menos caracteres separados que o decimal pontilhado. Alm disso, a notao
hexadecimal com dois pontos inclui duas tcnicas que a tornam extremamente til.
Primeiro, permite a compactao de zeros, em que uma seqncia de zeros repetidos
substituda por um par de sinais de dois pontos. Por exemplo, o endereo:
FF05:0:0:0:0:0:0:B3
Pode ser escrito como:
FF05::B3
Para garantir que a compactao de zeros produza uma interpretao no ambgua, a
proposta especifica que ela pode ser aplicada apenas uma vez em qualquer endereo. A
compactao de zero especialmente til quando usada com o esquema de atribuio de
endereo proposto, pois muitos endereos tero seqncias contguas de zeros. Em
segundo lugar, a notao hexadecimal com dois pontos incorpora os sufixos decimais
pontilhados. Veremos que essas combinaes devem ser usadas durante a transio do
IPv4 para o IPv6. Por exemplo, a seqncia a seguir uma notao hexadecimal com dois
pontos vlida:
0:0:0:0:0:0:128.10.2.1
Observe que, embora os nmeros separados por sinais de dois pontos especifiquem o
valor de uma quantidade de 16 bits, os nmeros na parte decimal com ponto especificam,
cada um, o valor de um octeto. Naturalmente, a compactao de zeros pode ser usada com
134

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

o nmero anterior para produzir uma seqncia hexadecimal de dois pontos equivalente,
muito semelhante a um endereo IPv4:
::128.10.2.1
Finalmente, o IPv6 estende a notao tipo CIDR, permitindo que um endereo seja
seguido por uma barra e um inteiro que especifica um nmero de bits. Por exemplo:
12AB::CD30:0:0:0:0/60
Esta notao especifica os primeiros 60 bits do endereo ou (12AB00000000CD3)16.
7.16.14 Endereos IPv4 Embutidos e Transio

Embora o prefixo 0000 0000 seja rotulado como reservado, os projetistas planejam
usar uma pequena frao dos endereos nessa seo para codificar os endereos IPv4. Em
particular, qualquer endereos que comea com 80 bits zero seguidos por 16 bits 1 ou 16
bits 0 contm um endereo IPv4 nos 32 bits de baixa ordem. O valor do campo de 16 bits
indica se o n tambm tem um endereo de unicast IPv6 convencional. A Figura 7.30
ilustra as duas formas.
80 bits zero
0000.......0000
0000.......0000

16 bits
0000
FFFF

32 bits
Endereo IPv4
Endereo IPv4

Figura 7.30 Codificao de um Endereo IPv4 em um Endereo IPv6.

A codificao ser necessria durante a transio do IPv4 para IPv6 por dois motivos.
Primeiro, um computador pode escolher atualizar do IPv4 para IPv6 antes de receber um
endereo IPv4 vlido. Segundo, um computador usando IPv6 pode ter de se comunicar
com um computador que usa IPv4.
Ter um modo de codificar um endereo IPv4 em um endereo IPv6 no soluciona o
problema de tornar as duas verses interoperveis. Alm de resolver a codificao, a
traduo necessria. Para usar um tradutor, um computador IPv6 gera um datagrama que
contm a codificao IPv6 do endereo de destino IPv4. O computador IPv6 envia o
datagrama a um tradutor, que usa IPv4 para se comunicar com o destino. Quando o
tradutor recebe uma resposta do destino, ele traduz o datagrama IPv4 para IPv6 e o envia
de volta origem IPv6.
Pode parecer que a traduo de endereos de protocolo poderia falhar porque
protocolos de camada mais alta verificam a integridade do endereo. Em particular, TCP e
UDP utilizam um pseudocabealho em seu clculo de checksum. O pseudocabealho
inclui os endereos de protocolo de origem e destino, de modo que alterar esses endereos
poderia afetar o clculo. Porm, os projetistas planejaram cuidadosamente para permitir
que o TCP ou UDP em uma mquina IPv4 se comuniquem com o protocolo de transporte
correspondente em uma mquina IPv6. Para evitar divergncias do checksum, a
codificao IPv6 de um endereo IPv4 foi escolhida de modo que o checksum do
complemento a 1 de 16 bits para um endereo IPv4 e a codificao IPv6 do endereo sejam
idnticos.
7.16.15 Endereos No-Especificados e de Loopback

Assim como no IPv4, alguns endereos IPv6 receberam significado especial. Por
exemplo, o endereo tudo zero:
0:0:0:0:0:0:0:0

135

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Este um endereo no-especificado. Que no pode ser atribudo a qualquer


computador ou usado como destino. Ele s usado como endereo de origem durante a
inicializao por um computador que ainda no descobriu seu endereo.
Assim como o IPv4, o IPv6 tambm possui um endereo de loopback que usado
para testar o software. O endereo de loopback do IPv6 :
0:0:0:0:0:0:0:1
Qualquer datagrama enviado ao endereo de loopback ser entregue mquina local.
Ele nunca deve ser usado como endereo de destino em um datagrama que sai.
7.16.16 Estrutura de Endereo Unicast

A verso mais recente da estrutura de endereamento unicast do IPv6 semelhante ao


esquema de endereamento de sub-rede, em que cada endereo dividido em trs partes
conceituais. No IPv6, as trs partes correspondem a: um prefixo exclusivamente definido
usado para rotear o datagrama, uma ID de sub-rede, usada para distinguir entre vrias redes
fsicas em determinado site, e uma ID de interface, para identificar uma conexo em
particular com a sub-rede. A Figura 7.31 ilustra como um endereo IPv6 desmenbrado
em partes.
N bits
PREFIXO DE ROTEAMENTO GLOBAL

64N bits
ID DE SUB-REDE

64 bits
ID DE INTERFACE

Figura 7.31 A Diviso de um Endereo de Unicast IPv6 em Trs Partes.

7.17 ICMP

Anteriormente mostrou-se como o Internet Protocol prov um servio de entrega de


datagrama no confivel e sem conexo, fazendo com que cada roteador encaminhe
datagramas. Um datagrama viaja de um roteador para outro at que alcance um que possa
entregar o datagrama diretamente para o seu destino final. Se um roteador no puder
encaminhar ou entregar um datagrama, ou se o roteador detectar uma condio incomum que
afete sua capacidade de realizar o encaminhamento (por exemplo, congestionamento de rede), o
roteador precisa informar origem para que esta tome uma ao no sentido de evitar ou corrigir
o problema. Nesta seo discutiremos um mecanismo que os roteadores e hosts da Internet
utilizam para comunicar essa informao de controle ou erro. Veremos que os roteadores usam
o mecanismo para relatar problemas e os hosts o utilizam para testar se os destinos so
alcanveis.
7.17.1

O Internet Control Message Protocol

No sistema sem conexo que descrevemos at aqui, cada roteador opera de forma
autnoma, encaminhando e entregando datagramas que chegam sem coordenar com o
emissor original. O sistema funciona bem se todos os hosts e roteadores operarem
corretamente e combinarem a respeito das rotas. Infelizmente, nenhum sistema de
comunicao grande funciona corretamente o tempo todo. Alm de falhas das linhas de
comunicao e processadores, o IP deixa de entregar datagramas quando a mquina de
destino for temporariamente ou permanentemente desconectada da rede, quando o contador
de tempo de vida expirar, ou quando roteadores intermedirios ficarem to congestionados
que no possam processar o trfego que chega. A diferena importante entre ter uma nica
rede implementada com hardware homogneo, dedicado, e uma rede implementada com
vrios sistemas independentes que, no primeiro caso, o projetista pode arrumar o
hardware para informar aos hosts conectados quando surgirem problemas. Em uma rede,
que no possui tal mecanismo de hardware, um emissor no pode saber se uma falha de

136

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

entrega resultou de um defeito local ou de um remoto. A depurao se torna extremamente


difcil. O prprio protocolo IP no contm nada para ajudar o emissor a testar a
conectividade ou descobrir tais falhas.
Para permitir que os roteadores em uma internet informem erros ou ofeream
informaes sobre circunstncias inesperadas, os projetistas incluram um mecanismo de
mensagem de uso especial aos protocolos TCP/IP. O mecanismo, conhecido como Internet
Control Message Protocol (ICMP), considerado uma parte obrigatria do IP e precisa ser
includo em toda implementao IP.
Assim como outros tipos de trfego, as mensagens ICMP atravessam a Rede na parte
de dados dos datagramas IP. Porm, o destino final de uma mensagem ICMP no um
aplicativo ou usurio na mquina de destino, mas o software de Internet Protocol nessa
mquina. Ou seja, quando chega uma mensagem de erro ICMP, o mdulo de software
ICMP trata dela. Naturalmente, se o ICMP estabelece que determinado protocolo ou
aplicativo de nvel superior causou um problema, ele informa o mdulo apropriado.
Inicialmente projetado para permitir que os roteadores informem a causa dos erros de
entrega aos hosts, o ICMP no restrito a roteadores. Embora as diretrizes restrinjam o uso
de algumas mensagens ICMP, uma mquina qualquer pode enviar uma mensagem ICMP a
qualquer outra mquina. Assim, um host pode usar ICMP para corresponder com um
roteador ou outro host. A principal vantagem de permitir que os hosts utilizem ICMP que
oferece um nico mecanismo, usado para todas as mensagens de controle e informao.
7.17.2

Relato de erro versus correo de erro

Tecnicamente, o ICMP um mecanismo de relato de erro. Ele fornece um meio para


que os roteadores que encontram um erro relatem o erro origem do datagrama. Embora a
especificao do protocolo esboce os usos intencionados do ICMP e sugira possveis aes
a serem tomadas em resposta aos relatrios de erro, o ICMP no especifica totalmente a
ao a ser tomada para cada erro possvel.
A maioria dos erros vem da origem, mas outros no. Como o ICMP relata problemas
origem, ele no pode ser usado para informar aos roteadores intermedirios sobre os
problemas. Por exemplo, suponha que um datagrama percorra um caminho por uma
seqncia de roteadores R1, R2, ..., Rk. Se Rk tiver informaes de roteamento incorretas e
por engano encaminhar o datagrama ao roteador RE, RE no poder usar o ICMP para
informar o erro ao roteador Rk. O ICMP s pode enviar um relatrio de volta origem.
Infelizmente, a origem no tem responsabilidade pelo problema ou controle sobre o
roteador com erro de comportamento. Na verdade, a origem pode no ser capaz de
determinar qual roteador causou o problema.
Por que restringir o ICMP comunicao com a origem? A resposta dever ser clara
pela nossa discusso sobre formatos e encaminhamento de datagrama. Um datagrama s
contm campos que especificam a origem e o destino final. Ele no contm um registro
completo de sua viagem pela rede (exceto para casos incomuns, em que a opo de registro
de rota utilizada). Alm do mais, como os roteadores podem estabelecer e alterar suas
prprias tabelas de roteamento, no existe um conhecimento global das rotas. Assim,
quando um datagrama alcana determinado roteador, impossvel conhecer o caminho que
foi tomado para chegar l. Se o roteador detectar um problema, o IP no poder saber o
conjunto de mquinas intermedirias que processaram o datagrama, de modo que no
poder informar-lhes quanto ao problema. Em vez de descartar silenciosamente o
datagrama, o roteador utiliza o ICMP para informar origem de que ocorreu um problema

137

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

e confia que os administradores do host cooperaro com os administradores da rede para


localizar e reparar o problema.
7.17.3

Entrega de mensagem ICMP

As mensagens ICMP exigem dois nveis de encapsulamento, como mostra a


Figura 7.32. Cada mensagem ICMP atravessa a internet na parte de dados de um
datagrama IP, que por si s trafega por cada rede fsica na parte de dados de um frame. Os
datagrarnas transportando mensagens ICMP so encaminhados exatamente como
datagramas que transportam informaes para usurios. No existe confiabilidade ou
prioridade adicional. Assim, as prprias mensagens de erro podem ser perdidas ou
descartadas. Alm do mais, em uma rede j congestionada, uma mensagem de erro pode
causar congestionamento adicional. Existe uma exceo nos procedimentos de tratamento
de erro se um datagrama IP transportando uma mensagem ICMP causar um erro. A
exceo, estabelecida para evitar o problema de haver mensagens de erro sobre mensagens
de erro, especifica que as mensagens ICMP no so geradas para erros que resultam de
datagramas transportando mensagens de erro ICMP.

Figura 7.32 Dois nveis de encapsulamento ICMP.

importante ter em mente que, embora as mensagens ICMP sejam encapsuladas e


enviadas usando IP, o ICMP no considerado um protocolo de nvel superior. Ele uma
parte obrigatria do IP. O motivo para usar o IP para entregar mensagens ICMP que elas
podem ter de atravessar vrias redes fsicas para alcanar seu destino final. Assim, elas no
podem ser entregues apenas pelo transporte fsico.
7.17.4

Formato de mensagem ICMP

Embora cada mensagem ICMP tenha seu prprio formato, todas elas comeam com
os mesmos trs campos: um campo de TIPO (TYPE) de mensagem inteiro de 8 bits, que
identifica a mensagem, um campo de CDIGO (CODE) de 8 bits, que oferece mais
informaes sobre o tipo de mensagem e um campo de CHECKSUM de 16 bits (o ICMP
usa o mesmo algoritmo de checksum aditivo do IP, mas o checksum ICMP s abrange a
mensagem ICMP). Alm disso, as mensagens ICMP que informam erros sempre incluem o
cabealho e mais octetos adicionais do datagrama que causou o problema1.
O motivo para o ICMP retornar mais do que o cabealho do datagrama apenas de
permitir que o receptor determine mais exatamente quais protocolos e quais programas de
aplicativos foram responsveis pelo datagrama. Como veremos mais adiante, os

Para manter as mensagens de erro pequenas e evitar a fragmentao, no possvel incluir o datagrama inteiro que
causou o problema.

138

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

protocolos de nvel superior no conjunto TCP/IP so projetados de modo que as


informaes cruciais sejam codificadas nos primeiros 64 bits aps o cabealho IP.
O campo de TIPO do ICMP define o significado da mensagem, alm de seu formato.
A Tabela 7.7 lista os tipos possveis de mensagem ICMP:
Campo de Tipo
0
3
4
5
6
8
9
10
11
12
13
14
15
16
17
18
30
31
32
33
34
35
36
37
38
39
40

Tipo de mensagem ICMP


Resposta de eco
Destino inalcanvel
Extino de origem
Redirecionamento (mudar de rota)
Endereo de host alternativo
Requisio de eco
Anncio de roteador
Solicitao de roteador
Tempo excedido para um datagrama
Problema de parmetro em um datagrama
Requisio de estampa de tempo
Resposta de estampa de tempo
Requisio de informaes
Resposta de informaes
Requisio de mscara de tempo
Resposta de mscara de tempo
Traceroute
Erro de converso de datagrama
Redirecionar host mvel
Onde est voc do IPv6
Eu estou aqui do IPv6
Requisio de registro mvel
Resposta de registro mvel
Requisio de nome de domnio
Resposta de nome de domnio
SKIP
Photuris

Tabela 7.7 Valores do campo TYPE de uma mensagem ICMP.

As prximas sees descrevem cada uma dessas mensagens, dando detalhes do


formato de mensagem e seu significado.
7.17.5

Teste de alcance e status do destino (ping)

Os protocolos TCP/IP oferecem facilidades para ajudar os gerentes ou usurios de


rede a identificar problemas de rede. Uma das ferramentas de depurao mais utilizadas
envolve as mensagens de requisio de eco e resposta de eco ICMP. Um host ou roteador
envia uma mensagem de requisio de eco ICMP a um destino especificado. Qualquer
mquina que receber uma requisio de eco formula uma resposta de eco e a retoma ao
emissor original. A requisio contm uma rea de dados opcional. A resposta contm
uma cpia dos dados enviados do solicitante. A requisio de eco e a resposta associada
podem ser usadas para testar se um destino alcanvel e est respondendo. Como a
requisio e a resposta trafegam nos datagramas IP, o recebimento bem sucedido de uma
resposta verifica se as principais partes do sistema de transporte funcionam. Primeiro, o IP
139

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

no computador de origem precisa encaminhar o datagrama. Segundo, os roteadores


intermedirios entre a origem e o destino precisam estar operando e precisam encaminhar o
datagrama corretamente. Terceiro, a mquina de destino precisa estar funcionando (pelo
menos, ela precisa responder a interrupes), e o software ICMP e IP precisam estar
funcionando. Finalmente, as tabelas de roteamento em todos os roteadores ao longo do
caminho de retorno precisam conter informaes que formam um caminho vivel.
Em muitos sistemas, o comando que os usurios invocam para enviar requisies de
eco ICMP chamado de ping1. Algumas verses de ping enviam um nmero fixo de
pacotes de requisio e esperam respostas. Outras verses enviam uma srie de requisies
de eco ICMP, capturam respostas e fornecem estatsticas sobre a perda de datagramas. A
maioria das verses permite que o usurio especifique o tamanho dos dados sendo enviados
e o intervalo entre as requisies. O envio de um pacote ping grande til para testar a
fragmentao e a remontagem.
7.17.6

Requisio de eco e formato de mensagem de resposta

A Figura 7.33 mostra o formato das mensagens de requisio de ecos e resposta.


0

16

24

31

TIPO (8 ou 0)
CDIGO (0)
CHECKSUM
IDENTIFICADOR
NMERO DE SEQNCIA
DADOS OPCIONAIS
...
Figura 7.33 Formato de uma mensagem de requisio ou resposta de eco do ICMP.

O campo listado como DADOS OPCIONAIS um campo de tamanho varivel que


contm dados a serem retornados ao emissor. Uma resposta de eco sempre retorna
exatamente os mesmos dados que foram recebidos na requisio.
Os campos
IDENTIFICADOR e NMERO DE SEQNCIA so usados pelo emissor para combinar
as respostas com as requisies. O valor do campo TIPO especifica se a mensagem uma
requisio (8) ou uma resposta (0).
7.17.7

Relatos de destinos inalcanveis

Quando um roteador no pode encaminhar ou entregar um datagrama IP, ele envia


uma mensagem de destino inalcanvel (unreacheble destination) de volta origem,
usando o formato mostrado na Figura 7.34.
0

16

24

31

TIPO (3)

CDIGO (0 15)
CHECKSUM
NO USADO (PRECISA SER ZERO)
CABEALHO INTERNET + PRIMEIROS 64 BITS DO DATAGRAMA
...
Figura 7.34 Formato da mensagem de destino inalcanvel do ICMP.

O campo de CDIGO em uma mensagem de destino inalcanvel contm um inteiro


que descreve ainda mais o problema. Os valores possveis so mostrados na Tabela 7.8.
Embora o IP seja um mecanismo de entrega pelo melhor esforo, descartar
datagramas no deve ser desconsiderado. Sempre que um erro impede um roteador de
encaminhar ou entregar um datagrama, o roteador envia uma mensagem destino

Dave Mills ceta vez sugeriu que PING um acr6onimo para Packet InterNet Groper.

140

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

inalcanvel de volta origem e depois descarta (desconsidera) o datagrama. Os erros de


rede inalcanvel implicam no encaminhamento de falhas em pontos intermedirios. Erros
de host inalcanvel implicam em falhas de entrega1. Como a mensagem de erro ICMP
contm um prefixo curto do datagrama que causou o problema, a origem saber
exatamente qual endereo inalcanvel.
Valor do Cdigo
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Significado
Rede inalcanvel
Host inalcanvel
Protocolo inalcanvel
Porta inalcanvel
Fragmentao necessria e DF marcado
Rota de origem falhou
Rota de destino desconhecida
Host de destino desconhecido
Host de origem isolado
Comunicao com rede de destino proibida administrativamente
Comunicao com host de destino proibida administrativamente
Rede inalcanvel para tipo de servio
Host inalcanvel para tipo de servio
Comunicao proibida administrativamente
Violao de precedncia de host
Corte de precedncia em vigor
Tabela 7.8 Valores possveis para o campo CDIGO.

Os destinos podem ser inalcanveis porque o hardware est temporariamente fora de


servio, pois o emissor especificou um endereo de destino inexistente, ou (em raras
circunstncias) porque o roteador no tem uma rota para a rede de destino. Observe que,
embora os roteadores informem falhas que eles encontram, no podem saber de todas as
falhas de entrega. Por exemplo, se a mquina de destino se conecta a uma rede Ethernet, o
hardware de rede no oferece confirmaes. Portanto, um roteador pode continuar a enviar
pacotes a um destino depois que o destino for desligado sem receber qualquer indicao de
que os pacotes no esto sendo entregues.
O significado das mensagens de protocolo e porta inalcanvel se tornar claro
quando estudarmos como os protocolos de nvel superior usam pontos de destino abstratos
chamados portas. A maioria das mensagens restantes fcil de entender. Se o datagrama
tiver a opo de rota de origem com uma rota incorreta, ele pode disparar uma mensagem
de falha de rota de origem. Se um roteador precisar fragmentar um datagrama, mas o bit
no fragmentar estiver marcado, o roteador enviar uma mensagem fragmentao
necessria de volta origem.
7.17.8

Controle de congestionamento e fluxo de datagramas

Como o IP sem conexo, um roteador no pode reservar recursos de memria ou de


comunicao antes do recebimento dos datagramas. Como resultado, os roteadores podem
ser sobrecarregados de trfego, uma condio conhecida como congestionamento.
importante entender que o congestionamento pode surgir por dois motivos inteiramente

O IETF recomenda apenas relatar mensagens de host inalcanvel origem e usar protocolos de roteamento para lidar
com outros problemas de encaminhamento.

141

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

diferentes. Primeiro, um computador de alta velocidade pode ser capaz de gerar trfego
mais rapidamente do que uma rede pode transferi-lo. Por exemplo, imagine um
supercomputador gerando trfego de intemet. Os datagramas podem precisar cruzar uma
conexo discada de baixa velocidade, embora o prprio supercomputador se conecte a uma
rede local de alta velocidade. O congestionamento ocorrer no roteador que conecta a rede
de alta velocidade linha discada de baixa velocidade, pois os datagramas chegam mais
rapidamente do que podem ser enviados. Em segundo lugar, se muitos computadores
precisarem enviar simultaneamente datagramas por um nico roteador, o roteador pode
experimentar congestionamento, embora nenhuma origem isolada cause o problema.
Quando os datagramas chegam muito rapidamente para um host ou roteador
processar, ele os enfileira na memria temporariamente. Se os datagramas fizerem parte
de uma pequena rajada, esse uso de buffer soluciona o problema. Se o trfego continuar, o
host ou roteador, por fim, esgota a memria e precisa descartar datagramas adicionais que
chegam. Uma mquina usa mensagens de extino de origem ICMP para informar descarte
de datagrama origem. Uma mensagem de extino de origem uma requisio para a
origem reduzir sua taxa atual de transmisso de datagramas. Normalmente, os roteadores
congestionados enviam uma mensagem de extino de origem para cada datagrama que
eles descartam.
Os roteadores tambm podem usar tcnicas de controle de
congestionamento mais sofisticadas. Alguns monitoram o trfego que chega e extinguem
as origens que possuem as taxas de transmisso de datagrama mais altas. Outros tentam
evitar completamente o congestionamento, enviando requisies quando suas filas
comeam a se tornar longas, mas antes que estourem.
No existe mensagem ICMP para reverter o efeito de uma extino de origem. Em
vez disso, um host que recebe mensagens de extino de origem para um destino, D, reduz
a taxa em que envia datagramas para D at que termine de receber mensagens de extino
de origem. Depois, ele pode gradualmente aumentar a taxa, desde que nenhuma outra
requisio de extino de origem seja recebida. Na prtica, a maioria das implementaes
ignora a extino de origem e conta com protocolos da camada superior como TCP para
reagir ao congestionamento.
7.17.9

Formato de extino de origem

Alm dos campos ICMP normais de TIPO, CDIGO, CHECKSUM e um campo no


usado de 32 bits, as mensagens de extino de origem possuem um campo que contm um
prefixo de datagrama. A Figura 7.35 ilustra o formato. Assim como a maioria das
mensagens ICMP que relatam um erro, o campo de prefixo de datagrama contm um
prefixo do datagrama que disparou a requisio de extino de origem.
0

16

24

31

TIPO (4)

CDIGO (0)
CHECKSUM
NO USADO (PRECISA SER ZERO)
CABEALHO INTERNET + PRIMEIROS 64 BITS DO DATAGRAMA
...
Figura 7.35 Formato da mensagem de extino de origem ICMP.

7.17.10 Requisies de mudana de rota dos roteadores

As tabelas de roteamento de intemet normalmente permanecem estticas por longos


perodos de tempo. Os hosts as inicializam por um arquivo de configurao na partida do
sistema, e os administradores do sistema raramente mudam de rotas durante as operaes
normais. Conforme veremos em outros casos, os roteadores so mais dinmicos. Eles
trocam informaes de roteamento periodicamente para acomodar mudanas de rede e
142

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

manter suas rotas atualizadas. Assim, via de regra, os roteadores conhecem rotas corretas.
Os hosts comeam com informaes de roteamento mnimas e descobrem novas rotas a
partir dos roteadores.
Para ajudar a seguir essa regra e evitar duplicao de informaes no arquivo de
configurao em cada host, a configurao inicial da rota do host especifica a informao
mnima possvel da rota necessria para se comunicar (por exemplo, o endereo de um
nico roteador). Assim, o host comea com informaes mnimas e conta com roteadores
para atualizar sua tabela de roteamento. Em um caso especial, quando um roteador detecta
um host usando uma rota no ideal, ele envia ao host uma mensagem ICMP, chamada
redirecionamento (Redirect), solicitando que o host mude sua rota. O roteador tambm
encaminha o datagrama original para o seu destino.
A vantagem do esquema de redirecionamento ICMP a simplicidade: ele permite que
um host d partida sabendo o endereo de apenas um roteador na rede local. O roteador
inicial retorna as mensagens de redirecionamento ICMP sempre que um host envia um
datagrama para o qual existe uma rota melhor. A tabela de roteamento do host permanece
pequena, mas ainda contm rotas ideais para todos os destinos em uso.
Por serem limitadas a interaes entre um roteador e um host em uma rede conectada
diretamente, as mensagens de redirecionamento no solucionam o problema de propagar
informaes de roteamento de uma maneira geral. A Figura 7.36 ilustra a limitao. Na
figura, considere que a origem S envia um datagrama ao destino D. Suponha que o
roteador R1 encaminhe incorretamente o datagrama pelo roteador R2 no lugar do roteador
R4 (ou seja, R1 incorretamente escolhe um caminho maior que o necessrio). Quando o
roteador R5 recebe um datagrama, ele no pode enviar uma mensagem de
redirecionamento ICMP para R1, pois no conhece o endereo de R1.

Figura 7.36 Mensagens de redirecionamento ICMP.

Alm dos campos obrigatrios TIPO, CDIGO e CHECKSUM, cada mensagem de


redirecionamento contm um campo de ENDEREO INTERNET DE ROTEADOR e um
campo CABEALHO DE INTERNET, como mostra a Figura 7.37.
0

16

24

31

TIPO (5)

CDIGO (0 a 3)
CHECKSUM
ENDEREO INTERNET DO ROTEADOR
CABEALHO INTERNET + PRIMEIROS 64 BITS DO DATAGRAMA
...
Figura 7.37 Formato da mensagem de redirecionamento ICMP.

O campo ENDEREO INTERNET DO ROTEADOR contm o endereo de um


roteador que o host deve usar para alcanar o destino mencionado no cabealho do
datagrama. O campo de CABEALHO INTERNET contm o cabealho IP mais os
prximos 64 bits do datagrama que dispararam a mensagem. Assim, um host recebendo
um redirecionamento ICMP examina o prefixo do datagrama para determinar o endereo
de destino do datagrama. O campo CDIGO de uma mensagem de redirecionamento
143

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

ICMP especifica ainda como interpretar o endereo de destino com base nos valores
atribudos, como mostra a Tabela 7.9.
Valor do Cdigo
0
1
2
3

Significado
Redirecionar datagramas para a Rede (agora obsoleto)
Redirecionar datagramas para o Host
Redirecionar datagramas para o Tipo de Servio; e Rede
Redirecionar datagramas para o Tipo de Servio; e Host

Tabela 7.9 Valor do campo CDIGO para uma mensagem de redirecionamento.

Via de regra, os roteadores s enviam requisies de redirecionamento ICMP para os


hosts e no para outros roteadores.
7.17.11 Detectando rotas circulares ou excessivamente longas

Como os roteadores da internet calculam um prximo salto usando tabelas locais, os


erros nas tabelas de roteamento podem produzir um ciclo de roteamento para algum
destino, D. Um ciclo de roteamento pode consistir em dois roteadores, e cada um
encaminha um datagrama para o destino D ao outro, ou pode consistir em vrios
roteadores. Quando vrios roteadores formam um ciclo, cada um deles encaminha um
datagrama para o destino D ao prximo roteador no ciclo. Se um datagrama entrar em um
ciclo de roteamento, ele passar o ciclo adiante sem fim. Como j mencionamos, para
evitar que os datagramas circulem para sempre em uma Rede TCP/IP, cada datagrama IP
contm um contador de tempo de vida, s vezes chamado de contador de salto. Sempre que
processa um datagrama, um roteador decrementa o contador de tempo de vida e descarta o
datagrama quando o contador chega a zero.
Sempre que ele descarta um datagrama porque seu prximo salto atingiu zero ou
porque ocorreu um timeout enquanto esperava por fragmentos de um datagrama, um
roteador envia uma mensagem de tempo excedido do ICMP de volta origem do
datagrama, usando o formato mostrado na Figura 7.38.
0

16

24

31

TIPO (11)

CDIGO (0 1)
CHECKSUM
NO USADO (PRECISA SER ZERO)
CABEALHO INTERNET + PRIMEIROS 64 BITS DO DATAGRAMA
...
Figura 7.38 Formato da mensagem de tempo excedido do ICMP.

O ICMP usa o campo CDIGO em cada mensagem de tempo excedido (valor zero
ou um) para explicar a natureza do timeout sendo relatado, com mostra a Tabela 7.10.
Valor do Cdigo
0
1

Significado
Contador de tempo de vida excedido
Tempo de remontagem de fragmento excedido

Tabela 7.10 Valor do campo CDIGO para um tempo excedido.

A remontagem de fragmento refere-se tarefa de coletar todos os fragmentos de um


datagrama. Quando o primeiro fragmento de um datagrama chega, o host receptor inicia
um timer e considera um erro se o timer expirar antes que todas as partes do datagrama
cheguem. O valor de cdigo 1 usado para informar tais erros ao emissor; uma mensagem
enviada para cada erro.

144

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

7.17.12 Relatando outros problemas

Quando um roteador ou host encontrar problemas com um datagrama no coberto


pelas mensagens de erro ICMP anteriores (por exemplo, um cabealho de datagrama
incorreto), ele envia uma mensagem problema de parmetro para a origem. Uma
possvel causa desses problemas ocorre quando os argumentos de uma opo esto
incorretos. A mensagem, formatada como na Figura 7.39, s enviada quando o problema
to severo que o datagrama precisa ser descartado.
0

16

24

31

TIPO (12)
CDIGO (0 1)
CHECKSUM
PONTEIRO
NO USADO (PRECISA SER ZERO)
CABEALHO INTERNET + PRIMEIROS 64 BITS DO DATAGRAMA
...
Figura 7.39 Formato da mensagem de problema de parmetro do ICMP.

Para que a mensagem no fique ambgua, o emissor usa o campo PONTEIRO do


cabealho da mensagem a fim de identificar o octeto no datagrama que causou o problema.
O cdigo 1 usado para informar que uma opo obrigatria est faltando (por exemplo,
uma opo de segurana na comunidade militar). O campo PONTEIRO no usado para o
cdigo 1.
7.17.13 Sincronismo de clock e estimativa de tempo de trnsito

Embora as mquinas em uma internet possam se comunicar, elas normalmente


operam de forma independente, com cada mquina mantendo sua prpria noo da hora
atual. Os clocks que diferem muito podem confundir os usurios ou software de sistemas
distribudos. O conjunto de protocolos TCP/IP inclui vrios protocolos que podem ser
usados para sincronizar clocks. Uma das tcnicas mais simples utiliza uma mensagem
ICMP para obter a hora de outra mquina. Uma mquina solicitante envia uma mensagem
de requisio de estampa de tempo do ICMP para outra mquina, pedindo que a segunda
mquina retorne seu valor atual para a hora do dia. A mquina receptora retorna uma
resposta de estampa de tempo mquina que faz a requisio. A Figura 7.40 mostra o
formato da requisio de estampa de tempo e mensagens de resposta.
0

16

24

31

TIPO (13 ou 14)


CDIGO (0)
CHECKSUM
IDENTIFICADOR
NMERO DE SEQNCIA
ESTAMPA DE TEMPO DE ORIGEM
ESTAMPA DE TEMPO DE RECEBIMENTO
ESTAMPA DE TEMPO DE TRANSMISSO
Figura 7.40 Formato da mensagem de requisio ou resp. de estampa de tempo do ICMP.

O campo TIPO identifica a mensagem como uma requisio (13) ou uma resposta
(14); os campos IDENTIFICADOR e NMERO DE SEQNCIA so usados pela origem
para associar respostas a requisies. Os campos restantes especificam horas, dadas em
milissegundos desde a meia-noite no Universal Time1. O campo ESTAMPA DE TEMPO
DE ORIGEM preenchido pelo emissor original imediatamente antes de o pacote ser
transmitido. O campo ESTAMPA DE TEMPO DE RECEBIMENTO preenchido
imediatamente no recebimento de uma requisio; e o campo ESTAMPA DE TEMPO DE
TRANSMISSO preenchido imediatamente antes que a resposta seja transmitida.

Universal Time anteriormente era chamado Greenwich Mean Time: a hora do dia no meridiano principal.

145

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Os hosts utilizam os trs campos de estampa de tempo para calcular estimativas do


tempo de retardo entre eles e sincronizar seus clocks. Como a resposta inclui o campo
ESTAMPA DE TEMPO DE ORIGEM, um host pode calcular o tempo total exigido para
uma requisio atravessar at um destino, ser transformada em uma resposta e retornar.
Como a resposta transporta tanto a hora em que a requisio entrou na mquina remota
quanto a hora em que a resposta saiu, o host pode calcular o tempo de trnsito na rede e, a
partir disso, estimar as diferenas nos clocks remoto e local.
Na prtica, a estimativa exata do retardo de ida e volta pode ser difcil e pode
restringir substancialmente a utilidade das mensagens de estampa de tempo do ICMP.
Naturalmente, para obter uma estimativa precisa do retardo de ida e volta, deve-se fazer
muitas medies e calcular sua mdia. Porm, o retardo de ida e volta entre um par de
mquinas que se conectam a uma internet grande pode variar muito, mesmo por perodos
de tempo curtos. Alm do mais, lembre-se de que, como o IP uma tecnologia do melhor
esforo, os datagramas podem ser descartados, adiados ou entregues fora da ordem.
Assim, simplesmente apanhar muitas medies pode no garantir a consistncia; uma
anlise estatstica sofisticada necessria para produzir estimativas precisas.
7.17.14 Mensagens ICMP mais antigas e no mais necessrias

Originalmente, o ICMP definia um conjunto de mensagens que um host usava na


partida para determinar seu endereo IP, o endereo de um roteador e a mscara de
endereo usada na rede. Atualmente, um protocolo conhecido como DHCP oferece toda a
informao necessria em uma nica troca, e as mensagens ICMP mais antigas no so
mais usadas.
Mensagens de requisio e resposta de informaes. As mensagens de requisio e
resposta de informaes do ICMP (tipos 75 e 16) tinham por finalidade permitir que os
hosts descobrissem seu endereo Internet na partida do sistema. O IETF as declarou
obsoletas, de modo que no devem ser usadas.
Mensagens de requisio e resposta de mscara de endereo. As mensagens de
requisio e resposta de mscara de endereo do ICMP (tipos 17 e 18) tinham por
finalidade permitir que um host obtivesse a mscara de endereo usada na rede local. Uma
requisio era enviada por broadcast, e os roteadores na rede enviavam uma resposta.
Mensagens de requisio e anncio de roteador. As mensagens de requisio e
anncio de roteador do ICMP tinham por finalidade permitir que um host descobrisse os
roteadores atualmente disponveis em uma rede local. Diferente do DHCP, que usa um
arquivo de configurao para fornecer o endereo de um roteador, o mecanismo de
descoberta de roteador ICMP oferece comunicao direta. Um host recebe anncios
diretamente dos roteadores.
Embora no sendo mais usada, a descoberta de roteador ICMP oferece duas
diferenas conceituais do DHCP. Primeiro, como a informao obtida diretamente do
prprio roteador, a informao nunca fica velha. Segundo, a descoberta de roteador ICMP
utiliza uma tcnica de estado flexvel com timers para impedir que os hosts retenham uma
entrada de tabela de roteamento aps a falha de um roteador. Os roteadores anunciam suas
informaes periodicamente, e um host descarta uma rota se o timer para a rota expirar.
7.18 UDP

Anteriormente foi descrita uma rede abstrata capaz de transferir datagramas IP entre
computadores host, em que cada datagrama encaminhado pela internet com base no endereo
IP do destino. No nvel de internet, um endereo de destino identifica um host; nenhuma outra

146

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

distino feita com relao a qual usurio ou qual programa aplicativo receber o datagrama.
Esta seo e a seo 7.19 estendem o conjunto de protocolos TCP/IP, acrescentando um
mecanismo que distingue entre destinos dentro de determinado host, permitindo que vrios
programas aplicativos executando em um determinado computador enviem e recebam
datagramas independentemente.
7.18.1

Identificando o destino final

Os sistemas operacionais na maioria dos computadores admitem multiprogramao, o


que significa que eles permitem que vrios programas aplicativos sejam executados
simultaneamente. Usando o jargo do sistema operacional, nos referimos a cada programa
executando como um processo, tarefa, programa aplicativo ou processo em nvel de
usurio. Os sistemas so denominados sistemas de multitarefa. Pode parecer natural dizer
que um processo o destino final para uma mensagem, porm, um tanto enganoso
especificar que um processo em particular em determinada mquina o destino final para
um datagrama. Primeiro, como os processos so criados e destrudos dinamicamente, os
emissores raramente conhecem o suficiente para identificar um processo em outra mquina.
Segundo, gostaramos de ser capazes de substituir processos que recebem datagramas sem
informar a todos os emissores (por exemplo, reinicializar uma mquina pode mudar todos
os processos, mas os emissores no devem ter de saber a respeito dos novos processos).
Terceiro, desejvel identificar um destino pela funo que ele oferece sem conhecer o
processo que implementa a funo (por exemplo, permitir que um emissor entre em contato
com um servidor de e-mail sem saber qual processo na mquina de destino implementa
funo do servidor). Mais importante, nos sistemas que permitem que um nico processo
trate de duas ou mais funes, essencial que arrumemos um meio para um processo
decidir exatamente qual funo o emissor deseja.
Em vez de pensar em um processo como o destino final, imaginaremos que cada
mquina contm um conjunto de pontos de destino abstratos, chamados portas de
protocolo. Cada porta de protocolo identificada por um inteiro positivo. O sistema
operacional local oferece um mecanismo de interface que processa o uso para especificar
uma porta ou acess-la.
A maioria dos sistemas operacionais fornece acesso sncrono s portas. Do ponto de
vista de um processo em particular, o acesso sncrono significa que a computao termina
durante uma operao de acesso porta. Por exemplo, se um processo tenta extrair dados
de uma porta antes que quaisquer dados cheguem, o sistema operacional temporariamente
para (bloqueia) o processo at que os dados cheguem. Quando os dados chegam, o sistema
operacional os passa para o processo e os reinicia. Em geral, as portas so bufferizadas, de
modo que os dados que chegam antes que um processo esteja pronto para aceit-los no
sero perdidos. Para usar os buffers, o protocolo localizado dentro do sistema operacional
coloca pacotes que chegam para determinada porta do protocolo em uma fila (finita) at
que um processo os extraia.
Para se comunicar com uma porta externa, um emissor precisa conhecer tanto o
endereo IP da mquina de destino quanto o nmero de porta de protocolo do destino
dentro dessa mquina. Cada mensagem precisa transportar o nmero da porta de destino da
mquina qual a mensagem enviada e o nmero da porta de origem da mquina de
origem qual as respostas devem ser endereadas. Assim, possvel que qualquer
processo que receba uma mensagem responda ao emissor.

147

Apostila de Fundamentos de Redes de Computadores


7.18.2

Prof: Ricardo Quinto

O User Datagram Protocol

No conjunto de protocolos TCP/IP, o User Datagram Protocol, ou UDP, prov o


mecanismo principal que os programas aplicativos utilizam para enviar datagramas a
outros programas aplicativos. O UDP fornece portas de protocolo utilizadas para fazer a
distino entre vrios programas executando em uma nica mquina. Ou seja, alm dos
dados enviados, cada mensagem UDP contm um nmero de porta de destino e um nmero
de porta de origem, permitindo que o UDP no destino entregue a mensagem ao destinatrio
correto e que o destinatrio envie uma resposta.
O UDP utiliza a camada de internet subjacente para transportar uma mensagem de
uma mquina a outra e fornece a mesma semntica de entrega de datagrama no-confivel,
sem conexo, que o IP. Ele no usa confirmaes para certificar-se de que as mensagens
chegam; ele no ordena as mensagens que chegam, nem prov retorno para controlar a taxa
em que as informaes fluem entre as mquinas. Assim, as mensagens UDP podem ser
perdidas, duplicadas ou chegar fora de ordem. Alm do mais, os pacotes podem chegar
mais rpido do que o destinatrio poder process-los.
Um programa aplicativo que usa UDP aceita a responsabilidade total por lidar com o
problema de confiabilidade. Infelizmente, os programadores de aplicao em geral
ignoram esses problemas quando projetam o software. Alm do mais, como os
programadores normalmente testam o software de rede usando redes locais altamente
confiveis, com pouco atraso, o teste pode no expor falhas em potencial. Assim, muitos
programas aplicativos que contam com UDP funcionam bem em um ambiente local, mas
falham de vrias maneiras quando usados na Internet global.
7.18.3

Formato de mensagens UDP

Cada mensagem UDP denominada datagrama do usurio. Conceitualmente, um


datagrama do usurio consiste em duas partes: um cabealho UDP e uma rea de dados
UDP. Como mostra a Figura 7.41, o cabealho dividido em quatro campos de 16 bits que
especificam a porta da qual a mensagem foi enviada, a porta para a qual a mensagem
destinada, o tamanho da mensagem e um checksum UDP.
Os campos de PORTA DE ORIGEM e PORTA DE DESTINO contm os nmeros de
porta do protocolo UDP de 16 bits usados para demultiplexar datagramas entre os
processos esperando para receb-los. A PORTA DE ORIGEM opcional. Quando usada,
ela especifica a porta para a qual as respostas devem ser enviadas; se no for usada, ela
deve ser igual a zero.
O campo de TAMANHO contm um contador de octetos do datagrama UDP,
incluindo o cabealho UDP e os dados do usurio. Assim, o valor mnimo para TAMANHO
oito, o tamanho do cabealho isolado.
O checksum UDP opcional e nem precisa ser usado; um valor zero no campo
CHECKSUM significa que o checksum no foi calculado. Os projetistas decidiram tornar o
checksum opcional para permitir que as implementaes operem com pouca sobrecarga de
clculo ao usar o UDP por uma rede local altamente confivel. Porm, lembre-se de que o
IP no calcula um checksum na parte de dados de um datagrama IP. Assim, o checksum
UDP a nica maneira de garantir que os dados chegaram intactos e devem ser usados.

148

Apostila de Fundamentos de Redes de Computadores


0

Prof: Ricardo Quinto

16

PORTA DE ORIGEM UDP


TAMANHO DA MENSAGEM UDP

31

PORTA DE DESTINO UDP


CHECKSUM UDP
DADOS
...

Figura 7.41 O formato dos campos em um datagrama UDP.

Os iniciantes normalmente questionam o que acontece com as mensagens UDP para


as quais o checksum calculado zero. Um valor calculado igual a zero possvel porque o
UDP usa o mesmo algoritmo de checksum do IP. Ele divide os dados em quantidades de 16
bits e calcula o complemento a um de sua soma. De modo surpreendente, zero no um
problema porque a aritmtica de complemento a um possui duas representaes para zero:
todos os bits definidos como zero ou todos os bits definidos como um. Quando o checksum
calculado zero, o UDP usa a representao com todos os bits definidos como um.
7.18.4

Pseudocabealho UDP

O checksum UDP abrange mais informaes que existem apenas no datagrama UDP.
Para calcular o checksum, o UDP insere um pseudocabealho no incio do datagrama UDP,
anexa um octeto de zeros para preencher o datagrama at um mltiplo exato de 16 bits e
calcula o checksum pelo objeto inteiro. O octeto usado para preenchimento e o
pseudocabealho no so transmitidos com o datagrama UDP e nem so includos no
tamanho. Para calcular o checksum, o software primeiro armazena zero no campo
CHECKSUM, depois acumula uma soma do complemento a um de 16 bits do objeto
inteiro, incluindo o pseudocabealho, o cabealho UDP e os dados do usurio.
A finalidade de usar um pseudocabealho verificar se o datagrama UDP alcanou
seu destino correto. A chave para entender o pseudocabealho est na observao de que o
destino correto consiste em uma mquina especfica e uma porta de protocolo especfica
dentro dessa mquina. O prprio cabealho UDP especifica apenas o nmero de porta do
protocolo. Assim, para verificar o destino, o UDP na mquina emissora calcula um
checksum que abrange o endereo IP de destino e tambm o datagrama UDP. No destino
final, o UDP verifica o checksum usando o endereo IP de destino obtido pelo cabealho do
datagrama IP que transportou a mensagem UDP. Se os checksums combinarem, ento
deve ser verdade que o datagrama alcanou o host de destino desejado e tambm a porta de
protocolo correta dentro desse host.
O pseudocabealho usado no clculo do checksum UDP consiste em 12 octetos de
dados arrumados como mostra a Figura 7.42. Os campos do pseudocabealho intitulados
ENDEREO IP DE ORIGEM e ENDEREO IP DE DESTINO contm os endereos IP de
origem e destino que sero usados no envio da mensagem UDP. O campo PROTOCOLO
contm o cdigo do tipo de protocolo IP (17 para UDP), e o campo rotulado com
TAMANHO UDP contm o tamanho do datagrama UDP (sem incluir o pseudocabealho).
Para verificar o checksum, o receptor precisa extrair esses campos do cabealho IP, montlos no formato do pseudocabealho e recalcular o checksum.
0

ZERO

16

ENDEREO IP DE ORIGEM
ENDEREO IP DE DESTINO
PROTOCOLO
TAMANHO UDP

Figura 7.42 Os 12 octetos do pseudocabealho para o clculo do checksum.

149

31

Apostila de Fundamentos de Redes de Computadores


7.18.5

Prof: Ricardo Quinto

Encapsulamento e camadas de protocolos UDP

O UDP nosso primeiro exemplo de um protocolo de transporte. No modelo em


camadas do TCP/IP, o UDP se encontra na camada acima da camada de inter-rede
(transporte). Conceitualmente, os programas aplicativos acessam o UDP, que usa o IP para
enviar e receber datagramas, como mostra a Figura 7.43.
Camadas conceituais

Aplicao
Datagrama do usurio (UDP)
Inter-rede (IP)
Interface de rede
Figura 7.43 As camadas conceituais do UDP entre programas aplicativos e o IP.

A disposio em camadas do UDP acima do IP significa que uma mensagem UDP


completa, incluindo o cabealho e dados UDP, encapsulada em um datagrama IP
enquanto trafega por uma inter-rede, como mostra a Figura 7.44.

Figura 7.44 Um datagrama UDP encapsulado em um datagrama IP.

Para os protocolos que examinamos, o encapsulamento significa que o UDP insere


um cabealho aos dados que um usurio envia e o passa ao IP. A camada IP insere um
cabealho ao que recebe do UDP. Finalmente, a camada de interface de rede embute o
datagrama em um frame antes de envi-lo de uma mquina para outra. O formato do
frame depende da tecnologia da rede subjacente. Normalmente, os frames de rede incluem
um cabealho adicional.
Na entrada, um pacote chega na camada mais baixa do software de rede e inicia sua
ascenso por camadas cada vez mais altas. Cada camada remove um cabealho antes de
passar a mensagem adiante, de modo que, quando o nvel mais alto passa os dados para o
processo receptor, todos os cabealhos foram removidos. Assim, o cabealho mais externo
corresponde camada de protocolo mais baixa, enquanto o cabealho mais interno
corresponde camada de protocolo mais alta. Ao considerar como os cabealhos so
inseridos e removidos, importante ter em mente o princpio das camadas. Em particular,
observe que o princpio de camadas se aplica ao UDP, de modo que o datagrama UDP
recebido do IP na mquina de destino idntico ao datagrama que o UDP passou ao IP na
mquina de origem. Alm disso, os dados que o UDP entrega a um processo do usurio na
mquina receptora sero exatamente os dados que um processo do usurio passou ao UDP
na mquina emissora.
150

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

A diviso de tarefas entre as diversas camadas de protocolo rgida e clara. A


camada IP responsvel apenas por transferir dados entre um par de hosts em uma interrede, enquanto a camada UDP responsvel apenas por diferenciar entre diversas origens
ou destinos dentro de um host.
Assim, somente o cabealho IP identifica os hosts de origem e destino; somente a
camada UDP identifica as portas de origem ou destino dentro de um host.
7.18.6

Camadas e o clculo de checksum do UDP

Os leitores atentos tero notado uma aparente contradio entre as regras de camadas
e o clculo do checksum UDP. Lembre-se de que o checksum UDP inclui um
pseudocabealho que possui campos para os endereos IP de origem e destino. Pode-se
argumentar que o endereo IP de destino precisa ser conhecido pelo usurio no envio de um
datagrama UDP, e o usurio precisa pass-lo para a camada UDP. Assim, a camada UDP
pode obter o endereo IP de destino sem interagir com o cabealho IP. Porm, o endereo
IP de origem depende da rota que o IP escolhe para o datagrama, pois o endereo IP de
origem identifica a interface de rede sobre a qual o datagrama transmitido. Assim, a
menos que interaja com a camada IP, o UDP no pode saber o endereo de origem IP.
Consideremos que o UDP pea camada IP para calcular os endereos IP de origem
e (possivelmente) destino, usa-os para construir um pseudocabealho, calcula o checksum,
descarta o pseudocabealho e depois passa o datagrama UDP ao IP para transmisso. Uma
tcnica alternativa que produz maior eficincia faz com que a camada UDP encapsule o
datagrama UDP em um datagrama IP, obtenha o endereo de origem do IP, armazene os
endereos de origem e destino nos campos apropriados do cabealho do datagrama, calcule
o checksum UDP e depois passe o datagrama IP camada IP, que s precisa preencher os
campos restantes do cabealho IP.
A forte interao entre UDP e IP viola nossa premissa bsica de que as camadas
refletem a separao da funcionalidade? Sim. O UDP tem sido bastante integrado ao
protocolo IP. Ele claramente um compromisso de separao pura, feita por motivos
totalmente prticos. Desejamos passar por cima da violao de camadas porque
impossvel identificar totalmente um programa aplicativo de destino sem especificar a
mquina de destino, e queremos tornar eficiente o mapeamento entre os endereos usados
pelo UDP e aqueles usados pelo IP.
7.18.7

Multiplexao, demultiplexao e portas UDP

Vimos anteriormente que o software das camadas de uma hierarquia de protocolos


precisa multiplexar ou demultiplexar entre vrios objetos na prxima camada. O software
UDP oferece outro exemplo de multiplexao e demultiplexao. Ele aceita datagramas
UDP de muitos programas aplicativos e os passa para o IP para transmisso, e aceita a
chegada de datagramas UDP do IP e passa cada um ao programa aplicativo apropriado.
Conceitualmente, toda a multiplexao e demultiplexao entre o UDP e os
programas aplicativos ocorre por meio do mecanismo de porta. Na prtica, cada programa
aplicativo precisa negociar com o sistema operacional para obter uma porta de protocolo e
um nmero de porta associado antes de poder enviar um datagrama UDP. Quando a porta
tiver sido atribuda, qualquer datagrama que o programa aplicativo enviar por ela ter esse
nmero de porta em seu campo PORTA DE ORIGEM UDP.
Ao processar a entrada, o UDP aceita datagramas que chegam do IP e demultiplexa
com base na porta de destino UDP, como mostra a Figura 7.45.

151

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

O modo mais fcil de pensar em uma porta UDP como uma fila. Na maioria das
implementaes, quando um programa aplicativo negocia com o sistema operacional para
usar determinada porta, o sistema operacional cria uma fila interna que pode manter as
mensagens que chegam. Normalmente, a aplicao pode especificar ou alterar o tamanho
da fila. Quando o UDP recebe um datagrama, ele verifica se o nmero da porta de destino
combina com uma das portas atualmente em uso. Se no, ele envia uma mensagem de erro
ICMP de porta inalcanvel (port unreacheable) e descarta o datagrama. Se for achada
uma combinao, o UDP enfileira o novo datagrama na porta em que o programa
aplicativo pode acess-lo. Naturalmente, haver um erro se a porta estiver cheia, e o UDP
descarta o datagrama que chega.

Figura 7.45 Exemplo de demultiplexao de uma camada acima do IP.

7.18.8

Nmeros de porta UDP reservados e disponveis

Como os nmeros de porta de protocolo devem ser atribudos? O problema


importante porque dois computadores precisam combinar a respeito dos nmeros de porta
antes que possam interoperar. Por exemplo, quando o computador A precisa obter um
arquivo do computador B, ele precisa saber qual porta o programa de transferncia de
arquivos no computador B utiliza. Existem duas tcnicas fundamentais para a atribuio de
porta. A primeira tcnica usa uma autoridade central. Todos concordam em permitir que
uma autoridade central atribua nmeros de porta conforme a necessidade e publique a lista
de todas as atribuies. Depois, todo o software criado de acordo com a lista. Essa
tcnica s vezes chamada de atribuio universal, e as atribuies de porta especificadas
pela autoridade so chamadas atribuies de porta bem conhecidas (well-known port
assignments).
A segunda tcnica para atribuio de porta utiliza o vnculo dinmico. Na tcnica de
vnculo dinmico, as portas no so conhecidas globalmente. Em vez disso, sempre que
um programa precisa de uma porta, o software de rede atribui uma. Para descobrir a
atribuio de porta em outro computador, preciso enviar uma requisio que pergunte a
atribuio de porta atual (por exemplo, que porta o servio de transferncia de arquivos
est usando?). A mquina de destino responde dando o nmero de porta correto a usar.
Os projetistas do TCP/IP adotaram uma tcnica hbrida que atribui alguns nmeros de
porta a priori, mas deixa muitos disponveis para os sites locais ou os programas aplicativos
atriburem dinamicamente. Os nmeros de porta atribudos comeam com valores baixos e
se estendem para cima, deixando valores inteiros grandes disponveis para atribuio
dinmica. A Tabela 7.11 lista alguns dos nmeros de porta UDP atualmente atribudos. A
152

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

segunda coluna contm palavras-chave padro da Internet, enquanto a terceira contm


palavras-chave usadas na maioria dos sistemas UNIX.
Decimal

Palavra-Chave

0
7
9
11
13
15
17
19
37
42
43
53
67
68
69
88
111
123
161
162
512
513
514
525

ECHO
DISCARD
USERS
DAYTIME

QUOTE
CHARGEN
TIME
NAMESERVER
NICNAME
DOMAIN
BOOTPS
BOOTPC
TFTP
KERBEROS
SUNRPC
NTC

Palavra-Chave do
Unix

echo
discard
systat
daytime
netstat
qotd
chargen
time
name
whois
nameserver
bootps
bootpc
tftp
kerberos
sunrpc
ntp
snmp
snmp-trap
biff
who
syslog
timed

Descrio

Reservado
Eco
Descarte
Usurios ativos
Hora do dia
Programa de status da rede
Citao do dia
Gerador de caracteres
Hora
Servidor de nome de host
Quem
Domain Name Server
Servidor BOOTP ou DHCP
Cliente BOOTP ou DHCP
Trivial File Transfer
Servio de segurana Kerberos
Sun Remote Procedure Call
Network Time Protocol
Simple Network Management Protocol
Traps SNMP
Comsat do UNIX
Daemon rwho do UNIX
Log do sistema
Daemon de hora

Tabela 7.11 Exemplos de portas UDP atualmente atribudas.

7.19 TCP

Anteriormente foi explorado o servio de entrega de pacote sem conexo no-confivel


que forma a base para toda a comunicao da Internet e o protocolo IP que a define. Esta seo
apresenta o segundo servio em nvel de transporte mais importante, com entrega de fluxo
confivel. o Transmission Control Protocol (TCP) que o define. Veremos que o TCP
acrescenta funcionalidade substancial aos protocolos j discutidos, mas que sua implementao
tambm substancialmente mais complexa.
Embora o TCP seja apresentado aqui como parte do conjunto de protocolos TCP/IP da
Internet, ele um protocolo independente, de uso geral, que pode ser adaptado para uso com
outros sistemas de entrega. Por exemplo, como o TCP faz muito poucas suposies a respeito
da rede subjacente, possvel us-lo por uma nica rede, como uma Ethernet, e tambm pela
Internet global.
7.19.1

A necessidade de entrega de fluxo

No nvel mais baixo, as redes de comunicao por computador provem entrega de


pacote no-confivel. Os pacotes podem ser perdidos ou destrudos quando os erros de
transmisso interferem com os dados, quando o hardware de rede falha ou quando as redes
se tornam muito carregadas para acomodar a carga apresentada. Os sistemas de comutao
153

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

de pacotes mudam de rotas dinamicamente, entregam pacotes fora de ordem, entregam-nos


aps um atraso substancial ou entregam duplicatas. Alm do mais, as tecnologias de rede
bsicas podem ditar um tamanho de pacote ideal ou impor outras restries necessrias para
alcanar taxas de transferncia eficientes.
No nvel mais alto, os programas aplicativos normalmente precisam enviar grandes
volumes de dados de um computador para outro. O uso de um sistema de remessa noconfivel sem conexo para grandes transferncias de volume se torna tedioso e incmodo,
e isso exige que os programadores montem deteco e recuperao de erro em cada
programa aplicativo. Por ser difcil projetar, entender ou modificar o software que oferece
a confiabilidade corretamente, poucos programadores de aplicao tm a base tcnica
necessria, como conseqncia, um dos objetivos da pesquisa do protocolo de rede tem
sido encontrar solues de uso geral para os problemas de fornecer entrega de fluxo
confivel, permitindo que os especialistas montem uma nica instncia do software de
protocolo de fluxo que todos os programas aplicativos utilizam. Ter um nico protocolo de
uso geral ajuda a isolar programas aplicativos dos detalhes das redes, e possibilita a
definio de uma interface uniforme para o servio de transferncia de fluxo.
7.19.2

Propriedades do servio de entrega confivel

A interface entre programas aplicativos e o servio de entrega confivel do TCP/IP


pode ser caracterizada por cinco elementos:
Orientao de fluxo. Quando dois programas aplicativos transferem grandes
volumes de dados, os dados so vistos como um fluxo de bits, divididos em octetos
ou bytes. O servio de entrega de fluxo na mquina de destino passa para o receptor
exatamente a mesma seqncia de octetos que o emissor passa para ele na mquina
de origem.
Conexo de circuito virtual. Criar uma transferncia de fluxo semelhante a fazer
uma ligao telefnica. Antes que a transferncia possa iniciar, os programas
aplicativos, emissor e receptor, interagem com seus respectivos sistemas
operacionais, informando-lhes que desejam uma transferncia de fluxo.
Conceitualmente, uma aplicao faz uma chamada que precisa ser aceita pela
outra. Os mdulos de protocolo nos dois sistemas operacionais se comunicam
enviando mensagens pela inter-rede bsica, verificando se a transferncia est
autorizada e se os dois lados esto prontos. Quando todos os detalhes tiverem sido
definidos, os mdulos de protocolo informam aos programas aplicativos que uma
conexo foi estabelecida e que a transferncia pode ser iniciada. Durante a
transferncia, o protocolo nas duas mquinas continua a se comunicar para verificar
se os dados so recebidos corretamente. Se a comunicao falhar por qualquer
motivo (por exemplo, porque o hardware de rede ao longo do caminho entre as
mquinas falhar), as duas mquinas detectam a falha e a informam aos programas
aplicativos apropriados. Usamos o termo circuito virtual para descrever essas
conexes, pois embora os programas aplicativos vejam a conexo como um circuito
de hardware dedicado, a confiabilidade uma iluso fornecida pelo servio de
entrega de fluxo.
Transferncia em buffer. Os programas aplicativos enviam um fluxo de dados pelo
circuito virtual repetidamente, passando octetos de dados ao protocolo. Ao
transferir dados, uma aplicao usa qualquer tamanho que achar conveniente, que
pode ser a partir de um nico octeto. No extremo receptor, o protocolo entrega
octetos do fluxo de dados exatamente na mesma ordem em que foram enviados,

154

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

tornando-os disponveis ao programa aplicativo receptor assim que tiverem sido


recebidos e verificados. O protocolo livre para dividir o fluxo em pacotes
independentes das partes que o programa aplicativo transfere. Para tornar a
transferncia mais eficiente e minimizar o trfego da rede, as implementaes
normalmente coletam dados suficientes de um fluxo a fim de preencher um
datagrama razoavelmente grande antes de transmiti-lo por uma internet. Assim,
mesmo que o programa aplicativo gere o fluxo de um octeto de cada vez, a
transferncia por uma inter-rede pode ser muito eficiente. De modo semelhante, se
o programa aplicativo escolher gerar blocos de dados extremamente grandes, o
protocolo pode escolher dividir cada bloco em partes menores para a transmisso.
Para as aplicaes em que os dados devem ser entregues sem esperar preencher um
buffer, o servio de fluxo oferece um mecanismo push que as aplicaes usam para forar a
transferncia imediata. No lado emissor, um push fora o protocolo a transferir todos os
dados que foram gerados sem esperar para preencher um buffer. Ao alcanar o lado
receptor, o push faz com que o TCP torne os dados disponveis aplicao sem atraso.
Porm, o leitor dever observar que a funo push s garante que todos os dados sero
transferidos; ele no oferece limites de registro. Assim, mesmo que a remessa seja forada,
o protocolo pode decidir dividir o fluxo de maneiras inesperadas.
Fluxo no-estruturado. importante entender que o servio de fluxo TCP/IP no
honra fluxos de dados estruturados. Por exemplo, no existe um meio de uma
aplicao de folha de pagamento fazer com que o servio de fluxo marque os limites
entre registros de funcionrios ou identifique o contedo do fluxo como sendo dados
de folha de pagamento. Os programas aplicativos que utilizam o servio de fluxo
precisam entender o contedo de fluxo e combinar com o formato do fluxo antes que
iniciem uma conexo.
Conexo full duplex. As conexes fornecidas pelo servio de fluxo TCP/IP
permitem a transferncia simultnea nas duas direes. Essas conexes so
chamadas de full duplex. Do ponto de vista de um processo de aplicao, uma
conexo full duplex consiste em dois fluxos independentes, indo em sentidos
opostos, sem qualquer interao aparente. O servio de fluxo permite que um
processo de aplicao termine o fluxo em um sentido enquanto os dados continuam
a fluir no outro sentido, tornando a conexo half duplex. A vantagem de uma
conexo full duplex que o protocolo bsico pode enviar informaes de controle
para um fluxo de volta para a origem em datagramas transportando dados na
direo oposta. Esse piggybacking reduz o trfego da rede.
7.19.3

Fornecendo confiabilidade

Dissemos que o servio de entrega de fluxo confivel garante entregar um fluxo de


dados enviados de uma mquina para outra sem duplicao ou perda de dados. A questo
: como o protocolo pode oferecer transferncia confivel se o sistema de comunicao
subjacente oferece apenas a remessa de pacotes no-confivel? A resposta complicada,
mas a maioria dos protocolos confiveis usa uma nica tcnica fundamental, conhecida
como confirmao positiva com retransmisso (Positive Acknowledgement with
Retransmition PAR). A tcnica requer que um destinatrio se comunique com a origem,
enviando de volta uma mensagem de confirmao (ACK) enquanto recebe dados. O
emissor mantm um registro de cada pacote que envia e espera uma confirmao antes de
enviar o prximo pacote. O emissor tambm inicia um timer quando envia um pacote, e
retransmite o pacote se o timer expirar antes que a confirmao chegue.

155

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

A Figura 7.46 mostra como o protocolo de confirmao positiva mais simples


transfere dados.

Figura 7.46 Um protocolo usando confirmao positiva com retransmisso.

Na figura, os eventos no emissor e no receptor so mostrados esquerda e direita


respectivamente. Cada linha diagonal atravessando o meio mostra a transferncia de uma
mensagem pela rede.
A Figura 7.47 utiliza o mesmo diagrama de formato da Figura 7.46 para mostrar o
que acontece quando um pacote perdido ou adulterado. O emissor inicia um timer depois
de transmitir um pacote. Quando o timer expira, o emissor assume que o pacote foi perdido
e o retransmite.
O problema final de confiabilidade surge quando um sistema de remessa de pacotes
subjacente duplica pacotes. As duplicatas tambm surgem quando as redes experimentam
altos atrasos, que causam retransmisso prematura. A soluo da duplicao exige
pensamento cuidadoso, pois pacotes e confirmaes podem ser duplicados. Normalmente,
os protocolos confiveis detectam pacotes duplicados atribuindo um nmero de seqncia a
cada pacote e exigindo que o receptor se lembre de quais nmeros de seqncia ele
recebeu. Para evitar a confuso causada por confirmaes adiadas ou duplicadas, os
protocolos de confirmao positiva enviam nmeros de seqncia em confirmaes, de
modo que o receptor possa associar corretamente confirmaes com pacotes.

Figura 7.47 Timeout e retransmisso que ocorre quando um pacote perdido.

156

Apostila de Fundamentos de Redes de Computadores


7.19.4

Prof: Ricardo Quinto

A idia por trs das janelas deslizantes

Antes de examinar o servio de fluxo TCP, precisamos explorar um conceito


adicional que est por trs da transmisso de fluxo. O conceito, conhecido como janela
deslizante, torna a transmisso de fluxo eficiente. Para entender a motivao para as
janelas deslizantes, lembre-se da seqncia de eventos que a Figura 7.46 representa. Para
conseguir confiabilidade, o emissor transmite um pacote e depois espera por uma
confirmao antes de transmitir outro. Como mostra a Figura 7.46, os dados s fluem entre
as mquinas em uma direo, mesmo que a rede seja capaz de comunicao simultnea nas
duas direes. A rede permanecer completamente ociosa durante os momentos em que as
mquinas atrasam as respostas (por exemplo, enquanto as mquinas calculam rotas ou
somas de verificao). Se imaginarmos uma rede com altos atrasos de transmisso, o
problema se torna claro. Um protocolo de confirmao positiva simples desperdia uma
quantidade substancial de largura de banda de rede, pois precisa adiar o envio de um novo
pacote at que receba uma confirmao para o pacote anterior.
A tcnica de janela deslizante uma forma mais complexa de confirmao positiva e
retransmisso do que o mtodo simples discutido anteriormente. Os protocolos de janela
deslizante utilizam melhor a largura de banda da rede, pois permitem que o emissor
transmita vrios pacotes antes de esperar uma confirmao. O modo mais fcil de ver a
operao da janela deslizante pensar em uma seqncia de pacotes a ser transmitido
conforme mostrado na Figura 7.48. O protocolo coloca uma janela pequena, de tamanho
fixo, na seqncia e transmite todos os pacotes que se encontram dentro da janela.

Figura 7.48 Um protocolo de janela deslizante com oito pacotes na janela.

Dizemos que um pacote no-confirmado se tiver sido transmitido, mas nenhuma


confirmao tiver sido recebida. Tecnicamente, o nmero de pacotes que podem ser
confirmados em determinado momento restringido pelo tamanho da janela, que limitado
a um nmero pequeno e fixo. Por exemplo, em um protocolo de janela deslizante com
tamanho de janela 8, o emissor tem permisso para transmitir 8 pacotes antes de receber
uma confirmao.
Como mostra a Figura 7.48, quando o emissor recebe uma confirmao para o
primeiro pacote dentro da janela, ele desliza a janela e envia o prximo pacote. A janela
continua a deslizar enquanto as confirmaes so recebidas.
O desempenho dos protocolos de janela deslizante depende do tamanho de janela e da
velocidade em que a rede aceita pacotes. A Figura 7.49 mostra um exemplo da operao de

157

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

um protocolo de janela deslizante ao enviar trs pacotes. Observe que o emissor transmite
todos os trs pacotes antes de receber quaisquer confirmaes.
Com um tamanho de janela igual a 1, um protocolo de janela deslizante exatamente
o mesmo que nosso protocolo de confirmao positiva simples. Aumentando o tamanho da
janela, possvel eliminar completamente o tempo ocioso da rede. Ou seja, no estado
constante, o emissor pode transmitir pacotes to rpido quanto a rede pode transferi-los. O
ponto principal o seguinte: como um protocolo de janela deslizante bem ajustado mantm
a rede completamente saturada com pacotes, ele obtm um throughput substancialmente
maior que um protocolo de confirmao positiva simples.
Conceitualmente, um protocolo de janela deslizante sempre se lembra de quais
pacotes foram confirmados e mantm um timer separado para cada pacote no-confirmado.
Se um pacote perdido, o timer expira e o emissor retransmite esse pacote. Quando o
emissor desliza sua janela, ele ultrapassa todos os pacotes confirmados. No extremo
receptor, o protocolo mantm uma janela semelhante, aceitando e confirmando pacotes
medida que eles chegam. Assim, a janela particiona a seqncia de pacotes em trs
conjuntos: os pacotes esquerda da janela foram transmitidos, recebidos e confirmados
com sucesso; e os pacotes que se encontram na janela esto sendo transmitidos. O pacote
de nmero mais baixo na janela o primeiro pacote na seqncia que no foi confirmado.

Figura 7.49 Um exemplo de trs pacotes transmitidos usando a janela deslizante.

7.19.5

O Transmission Control Protocol

Agora que entendemos o princpio das janelas deslizantes, podemos examinar o


servio de fluxo confivel fornecido pelo conjunto de protocolos TCP/IP da Internet. O
servio definido pelo Transmission Control Protocol, ou TCP. O servio de fluxo
confivel to significativo que o conjunto de protocolos inteiro denominado TCP/IP.
importante entender que o TCP um protocolo de comunicao, e no uma parte do
software.
A diferena entre um protocolo e o software que o implementa semelhante
diferena entre a definio de uma linguagem de programao e um compilador. Como no
mundo das linguagens de programao, a distino entre definio e implementao s
vezes se torna confusa. As pessoas encontram o TCP com muito mais freqncia do que
encontram a especificao de protocolo, de modo que natural pensar em uma
implementao em particular como o padro. Apesar disso, o leitor deve tentar distinguir
entre os dois.

158

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Exatamente o que o TCP oferece? TCP complexo, de modo que no existe uma
resposta simples. O protocolo especifica o formato dos dados e confirma que dois
computadores trocam dados para conseguir uma transferncia confivel, alm dos
procedimentos que os computadores utilizam para garantir que os dados chegam
corretamente. Ele especifica como o TCP distingue entre vrios destinos em determinada
mquina, e como as mquinas em comunicao se recuperam de erros como pacotes
perdidos ou duplicados. O protocolo tambm especifica como os dois computadores
iniciam uma transferncia de fluxo TCP e como concordam quando ela termina.
Tambm importante entender o que o protocolo no inclui. Embora a especificao
TCP descreva como os programas aplicativos utilizam TCP em termos gerais, ele no dita
os detalhes da interface entre um programa aplicativo e o TCP. Ou seja, a documentao
do protocolo s discute as operaes que o TCP fornece; ele no especifica os
procedimentos exatos que os programas aplicativos invocam para acessar essas operaes.
O motivo para deixar a interface do programa aplicativo no especificada a flexibilidade.
Em particular, como os programadores normalmente implementam TCP no sistema
operacional do computador, eles precisam empregar qualquer interface que o sistema
operacional oferea. Permitir a flexibilidade do implementador torna possvel ter uma
nica especificao para TCP que pode ser usada para montar software para uma srie de
mquinas.
Como o TCP assume pouco a respeito do sistema de comunicao subjacente, o TCP
pode ser usado com diversos sistemas de remessa de pacote. Em particular, por no exigir
que o sistema subjacente seja confivel ou rpido, o TCP pode rodar sobre uma srie de
mecanismos de hardware, como a linha telefnica discada, uma rede local, uma rede de
fibra ptica de alta velocidade, uma conexo por satlite ou uma conexo sem fio com
rudo, em que muitos pacotes so perdidos. A grande variedade de sistemas de entrega que
o TCP pode usar um de seus pontos fortes.
7.19.6

Portas, conexes e extremidades

Assim como o User Datagram Protocol (UDP) apresentado na seo 7.18, o TCP
reside acima do IP no esquema de camadas do protocolo. A Figura 7.50 mostra a
organizao conceitual. O TCP permite que vrios programas aplicativos em determinada
mquina se comuniquem simultaneamente, e demultiplexa o trfego TCP que chega entre
os programas aplicativos. Assim como o User Datagram Protocol, o TCP usa os nmeros
de porta de protocolo para identificar o destino final dentro de uma mquina. Cada porta
recebe um pequeno inteiro usado para identific-la.
Camadas conceituais

Aplicao
Fluxo confivel (TCP)

Datagrama do usurio (UDP)

Inter-rede (IP)
Interface de rede
Figura 7.50 A disposio conceitual em camadas do UDP e TCP acima do IP.

Quando discutimos sobre as portas UDP, dissemos para pensar em cada porta como
uma fila na qual o protocolo coloca os datagramas que chegam. As portas TCP so muito
mais complexas, pois determinado nmero de porta no corresponde a um nico objeto.

159

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Em vez disso, o TCP foi montado sobre a abstrao da conexo, em que os objetos a serem
identificados so conexes de circuito virtual, e no portas individuais. fundamental
entender que o TCP usa a noo de conexes, pois ajuda a explicar o significado e o uso
dos nmeros de porta TCP. O TCP usa a conexo, e no a porta do protocolo, como sua
abstrao fundamental; as conexes so identificadas por um par de extremidades.
Quais so exatamente as extremidades de uma conexo? Dissemos que uma
conexo consiste em um circuito virtual entre dois programas aplicativos, de modo que
pode ser natural considerar que um programa aplicativo serve como extremidade de
conexo, mas no . Em vez disso, o TCP define uma extremidade como sendo um par de
inteiros (host, porta), em que host o endereo IP para um host e porta uma porta TCP
nesse host. Por exemplo, a extremidade (128.10.2.3, 25) especifica a porta TCP 25 na
mquina com endereo IP 128.10.2.3.
Agora que definimos as extremidades, ser fcil entender as conexes. Lembre-se de
que uma conexo definida por suas duas extremidades. Assim, se houver uma conexo
da mquina (18.26.0.36) no MIT com a mquina (128.10.2.3) na Purdue University, ela
pode ser definida pelas extremidades:
(18.26.0.36, 1069) e (128.10.2.3, 25).
Nesse meio tempo, outra conexo poderia estar em andamento da mquina
(128.9.0.32) no Information Sciences Institute com a mesma mquina em Purdue,
identificada por suas extremidades:
(128.9.0.32, 1184) e (128.10.2.3, 53).
At aqui, nossos exemplos de conexes foram simples, pois as portas usadas em todas
as extremidades foram exclusivas. Porm, a abstrao da conexo permite que vrias
conexes compartilhem uma extremidade. Por exemplo, poderemos acrescentar outra
conexo s duas listadas anteriormente, da mquina (128.2.254.139) na CMU at a
mquina em Purdue:
(128.2.254.139, 1184) e (128.10.2.3, 53).
Pode parecer estranho que duas conexes possam usar a porta TCP 53 na mquina
128.10.2.3 simultaneamente, mas no existe ambigidade. Como o TCP associa as
mensagens que chegam a uma conexo, em vez de uma porta de protocolo, ele usa as duas
extremidades para identificar a conexo apropriada. A idia importante a lembrar : como
o TCP identifica uma conexo por um par de extremidades, determinado nmero de porta
TCP pode ser compartilhado por vrias conexes na mesma mquina.
Do ponto de vista de um programador, a abstrao da conexo significativa. Isso
significa que um programador pode criar um programa que oferea servio concorrente a
vrias conexes simultaneamente, sem exigir os nmeros de porta locais para cada
conexo. Por exemplo, a maioria dos sistemas fornece acesso simultneo ao seu servio de
correio eletrnico, permitindo que vrios computadores enviem correio eletrnico
simultaneamente. Como o programa que aceita o correio que chega usa TCP para se
comunicar, ele s precisa usar uma porta TCP local, embora permita que vrias conexes
prossigam simultaneamente.

160

Apostila de Fundamentos de Redes de Computadores


7.19.7

Prof: Ricardo Quinto

Aberturas passivas e ativas

Diferente do UDP, o TCP um protocolo orientado a conexo, que exige que as duas
extremidades concordem em participar. Ou seja, antes que o trfego TCP possa passar por
uma rede, os programas aplicativos nas duas extremidades da conexo precisam combinar
que a conexo desejada. Para isso, o programa aplicativo em uma extremidade realiza
uma funo de abertura passiva, contatando seu sistema operacional e indicando que ele
aceitar uma conexo que chega. Nesse momento, o sistema operacional atribui um
nmero de porta TCP para sua extremidade da conexo. O programa aplicativo na outra
extremidade precisa ento contatar seu sistema operacional usando uma requisio de
abertura ativa para estabelecer uma conexo. Os dois mdulos de TCP se comunicam para
estabelecer e verificar uma conexo. Quando uma conexo tiver sido criada, os programas
aplicativos podem comear a passar dados; os mdulos de TCP em cada extremidade
trocam mensagens que garantem a entrega confivel. Retomaremos aos detalhes do
estabelecimento de conexes depois de examinar o formato da mensagem TCP.
7.19.8

Segmentos, fluxos e nmeros de seqncia

O TCP v o fluxo de dados como uma seqncia de octetos ou bytes que ele divide
em segmentos para transmisso. Normalmente, cada segmento trafega por uma inter-rede
subjacente em um nico datagrama IP.
O TCP usa um mecanismo especializado de janela deslizante para solucionar dois
problemas importantes: transmisso eficiente e controle de fluxo. Assim como o protocolo
de janela deslizante descrito anteriormente, o mecanismo de janela TCP possibilita o envio
de vrios segmentos antes que uma confirmao chegue. Isso aumenta o throughput total,
pois mantm a rede ocupada. O formato TCP de um protocolo de janela deslizante tambm
soluciona o problema de controle de fluxo de fim-a-fim, permitindo que o receptor restrinja
a transmisso at que tenha espao de buffer suficiente para acomodar mais dados.
O mecanismo de janela deslizante do TCP opera no nvel de octeto, e no no nvel de
segmento ou pacote. Os octetos do fluxo de dados so numerados seqencialmente, e um
emissor mantm trs ponteiros associados a cada conexo. Os ponteiros definem uma
janela deslizante, conforme a Figura 7.51 ilustra. O primeiro ponteiro marca a esquerda da
janela deslizante, separando os octetos que foram enviados e confirmados daqueles ainda a
serem confirmados. Um segundo ponteiro marca a direita da janela deslizante e define o
octeto mais alto na seqncia que pode ser enviado antes que mais confirmaes sejam
recebidas. O terceiro ponteiro marca o limite dentro da janela que separa aqueles octetos
que j foram enviados dos octetos que no foram enviados. O protocolo envia todos os
octetos na janela sem atraso, de modo que o limite dentro da janela normalmente se move
rapidamente da esquerda para a direita.

Figura 7.51 Um exemplo da janela deslizante do TCP.

Descrevemos como a janela TCP do emissor se desliza e mencionamos que o receptor


precisa manter uma janela semelhante para unir o fluxo novamente. Porm, importante

161

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

entender que, como as conexes TCP so full duplex, duas transferncias prosseguem
simultaneamente em cima de cada conexo, uma em cada direo. Consideramos as
transferncias completamente independentes, pois a qualquer momento os dados podem
fluir pela conexo em uma direo, ou em ambas as direes. Assim, o TCP em cada
extremidade mantm duas janelas por conexo (com um total de quatro), uma desliza pelo
fluxo de dados sendo enviado, e a outra desliza enquanto os dados so recebidos.
7.19.9

Tamanho de janela varivel e controle de fluxo

Uma diferena entre o protocolo de janela deslizante do TCP e o protocolo de janela


deslizante simplificado, apresentado anteriormente, ocorre porque o TCP permite que o
tamanho da janela varie com o tempo. Cada confirmao, que especifica quantos octetos
foram recebidos, contm um anncio de janela que especifica quantos octetos adicionais de
dados o receptor est preparado para aceitar. Pensamos no anncio da janela como
especificando o tamanho de buffer atual do receptor. Em resposta a um anncio de janela
maior, o emissor aumenta o tamanho de sua janela deslizante e prossegue para enviar
octetos que no foram confirmados. Em resposta a um anncio de janela diminuda, o
emissor diminui o tamanho de sua janela e pra de enviar octetos alm do limite. O TCP
no pode contradizer os anncios anteriores, encurtando a janela alm das posies
anteriormente aceitveis no fluxo de octetos. Em vez disso, anncios menores
acompanham confirmaes, de modo que o tamanho da janela muda na hora em que ela
desliza para a frente.
A vantagem de usar uma janela de tamanho varivel que ela oferece controle de
fluxo e tambm transferncia confivel. Para evitar receber mais dados do que pode
armazenar, o receptor envia anncios de janela menores enquanto seu buffer se enche. No
caso extremo, o receptor anuncia um tamanho de janela zero para interromper todas as
transmisses. Mais adiante, quando o espao do buffer se tomar disponvel, o receptor
anunciar um tamanho de janela diferente de zero para disparar o fluxo de dados
novamente1.
essencial ter um mecanismo para controle de fluxo em um ambiente no qual as
mquinas de vrias velocidades e tamanhos se comunicam por redes e roteadores de
diversas velocidades e capacidades. Existem dois problemas independentes. Primeiro, os
protocolos precisam oferecer controle de fluxo de fim-a-fim entre a origem e o destino
final. Por exemplo, quando um PDA de mo se comunica com um PC rpido, o PDA
precisa regular o fluxo de dados, ou o protocolo ficaria rapidamente defasado. Assim, o
TCP precisa implementar o controle de fluxo de fim-a-fim para garantir a entrega confivel.
Em segundo lugar, necessrio haver um mecanismo que permita que os sistemas
intermedirios (ou seja, roteadores) controlem uma origem que envia mais trfego do que a
mquina pode tolerar.
Quando as mquinas intermedirias se tornam sobrecarregadas, a condio chamada
de congestionamento, e os mecanismos para solucionar o problema so denominados
mecanismos de controle de congestionamento. O TCP usa seu esquema de janela
deslizante para solucionar o problema de controle de fluxo de fim-a-fim. Discutiremos o
controle de congestionamento mais tarde, mas deve ser observado que um protocolo bem
projetado pode detectar e recuperar-se do congestionamento, enquanto um protocolo mal
1

Existem duas excees para a transmisso quando o tamanho da janela for zero. Primeiro, um emissor tem permisso
para transmitir um segmento com o bit urgente marcado para informar ao receptor que existem dados urgentes
disposio. Segundo, para evitar um impasse em potencial, que pode surgir se um anncio diferente de zero for perdido
aps o tamanho da janela alcanar zero, o emissor sonda uma janela de tamanho zero periodicamente.

162

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

projetado tornar o congestionamento pior. Em particular, um esquema de retransmisso


cuidadosamente escolhido pode ajudar a evitar o congestionamento, mas um esquema mal
escolhido pode exacerb-lo retransmitindo agressivamente.
7.19.10 Formato do segmento TCP

A unidade de transferncia entre o TCP nas duas mquinas chamada de segmento.


Os segmentos so trocados para se estabelecer conexes, transferir dados, enviar
confirmaes, anunciar tamanhos de janela e fechar conexes. Como o TCP utiliza o
piggybacking, uma confirmao trafegando da mquina A para a mquina B pode trafegar
nos mesmos segmentos dos dados atravessando da mquina A para a mquina B, embora a
confirmao se refira aos dados enviados de B para A1. A Figura 7.52 mostra o formato do
segmento TCP.
0

HLEN

10

16

24

31

PORTA DE ORIGEM
PORTA DE DESTINO
NMERO DE SEQNCIA
NMERO DE CONFIRMAO
RESERVADO BITS CDIGO
JANELA
CHECKSUM
PONTEIRO DE URGENTE
OPES (SE HOUVER)
PREENCHIMENTO
DADOS
...

Figura 7.52 O formato de um segmento TCP com um cabealho TCP seguido por dados.

Cada segmento dividido em duas partes, um cabealho seguido por dados. O


cabealho, conhecido como cabealho TCP, transporta a identificao esperada e
informaes de controle. Os campos PORTA DE ORIGEM e PORTA DE DESTINO
contm os nmeros de porta TCP que identificam os programas aplicativos nas
extremidades da conexo. O campo NMERO DE SEQNCIA identifica a posio no
fluxo de bytes do emissor dos dados no segmento.
O campo NMERO DE
CONFIRMAO identifica o nmero do octeto que a origem espera receber em seguida.
Observe que o nmero de seqncia refere-se ao fluxo que segue na mesma direo do
segmento, enquanto o nmero de confirmao refere-se ao fluxo que segue na direo
oposta do segmento.
O campo HLEN2 contm um inteiro que especifica o tamanho do cabealho do
segmento medido em mltiplos de 32 bits. Ele necessrio porque o campo OPES
varia em tamanho, dependendo de quais opes foram includas. Assim, o tamanho do
cabealho TCP varia, dependendo das opes selecionadas. O campo de 6 bits marcado
como RESERVADO reservado para uso futuro.
Alguns segmentos transportam apenas uma confirmao, enquanto outros
transportam dados. Outros transportam requisies para estabelecer ou fechar uma
conexo. O TCP utiliza um campo de 6 bits rotulado como BITS DE CDIGO para
determinar a finalidade e o contedo do segmento. Os seis bits dizem como interpretar
outros campos no cabealho, de acordo com a Tabela 7.12.

Na prtica, o piggybacking normalmente no ocorre, porque a maioria das aplicaes no envia dados nas duas direes
simultaneamente.
2
A especificao diz que o campo HLEN o deslocamento da rea de dados dentro do segmento.

163

Apostila de Fundamentos de Redes de Computadores


Bit (esquerda para direita)
URG
ACK
PSH
RST
SYN
FIN

Prof: Ricardo Quinto

Significado se bit definido como 1


Campo ponteiro de urgente vlido
Campo de confirmao vlido
Este segmento requer um push
Reinicia a conexo
Sincroniza nmeros de seqncia
Emissor alcanou final do seu fluxo de bytes

Tabela 7.12 Bits do campo BITS DE CDIGO no cabealho TCP.

O TCP anuncia quantos dados ele espera aceitar toda vez que envia um segmento,
especificando seu tamanho de buffer no campo JANELA. O campo contm um inteiro no
sinalizado de 16 bits na ordem de bytes padro da rede. Anncios de janela oferecem outro
exemplo de piggybacking, pois acompanham todos os segmentos, incluindo aqueles
transportando dados e tambm aqueles carregando apenas uma confirmao.
7.19.11 Dados fora de faixa

Embora o TCP seja um protocolo orientado para fluxo, s vezes importante que o
programa em uma extremidade de uma conexo envie dados fora da faixa, sem esperar que
o programa na outra extremidade da conexo consuma octetos j no fluxo. Por exemplo,
quando o TCP usado para uma sesso de login remota, o usurio pode decidir enviar uma
seqncia de teclado que interrompe ou aborta o programa na outra extremidade. Esses
sinais normalmente so necessrios quando um programa na mquina remota deixa de
operar corretamente. Os sinais precisam ser enviados sem esperar que o programa leia
octetos j no fluxo TCP (ou algum no seria capaz de abortar programas que param de ler
a entrada).
Para acomodar a sinalizao fora de faixa, o TCP permite que o emissor especifique
dados como urgentes, significando que o programa receptor deve ser notificado sobre sua
chegada o mais rpido possvel, independente de sua posio no fluxo. O protocolo
especifica que, quando dados urgentes so encontrados, o TCP receptor deve notificar o
programa aplicativo associado conexo para entrar no modo urgente. Depois que todos
os dados urgentes tiverem sido consumidos, o TCP diz ao programa aplicativo para retornar
operao normal.
Os detalhes exatos de como o TCP informa ao programa aplicativo sobre dados
urgentes dependem do sistema operacional do computador. O mecanismo usado para
marcar dados urgentes ao transmiti-los em um segmento consiste no bit de cdigo URG e
no campo PONTEIRO DE URGENTE. Quando o bit URG marcado, o campo
PONTEIRO DE URGENTE especifica a posio no segmento onde os dados urgentes
terminam.
7.19.12 Opes do TCP

Como mostra a Figura 7.52, um segmento TCP pode conter zero ou mais opes no
cabealho. Cada opo comea com um campo de 1 octeto que especifica a opo tipo,
seguida por um campo de tamanho de 1 octeto que especifica o tamanho da opo em
octetos. Se as opes no ocuparem um mltiplo exato de 32 bits, o PREENCHIMENTO
acrescentado ao final do cabealho.

164

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

7.19.12.1 Opo de tamanho mximo do segmento

Um emissor pode escolher a quantidade de dados que colocada em cada


segmento. Porm, as duas extremidades de uma conexo TCP precisam combinar
sobre um segmento mximo que elas transferiro.
O TCP usa uma opo de tamanho mximo de segmento (Maximum Segment
Size MSS) para permitir que um receptor especifique o segmento de tamanho
mximo que ele desejar receber. Assim, um sistema embutido que possui apenas
algumas centenas de bytes de espao em buffer pode especificar um MSS que restringe
os segmentos de modo que caibam no buffer. A negociao do MSS especialmente
significativa porque permite que sistemas heterogneos se comuniquem. Um
supercomputador pode se comunicar com um sistema embutido pequeno. Para
maximizar o throughput, quando dois computadores se conectam mesma rede fsica,
o TCP normalmente calcula um tamanho mximo de segmento de modo que os
datagramas IP resultantes combinem com a MTU da rede. Se as extremidades no
estiverem na mesma rede fsica, elas podero tentar descobrir a MTU mnima ao longo
do caminho entre elas, ou escolher um tamanho de segmento mximo de 536 (o
tamanho default de um datagrama IP, 576, menos o tamanho padro dos cabealhos IP
e TCP).
Em um ambiente geral de inter-rede, a escolha de um bom tamanho mximo de
segmento pode ser difcil, pois o desempenho pode ser fraco para tamanhos de
segmento extremamente grandes ou extremamente pequenos. Por um lado, quando o
tamanho do segmento pequeno, a utilizao da rede permanece baixa. Para ver por
que, lembre-se de que os segmentos TCP trafegam encapsulados nos datagramas IP,
que esto encapsulados nos frames fsicos da rede. Assim, cada segmento possui pelo
menos 40 octetos de cabealhos TCP e IP, alm dos dados. Portanto, os datagramas
transportando apenas um octeto de dados utilizam no mximo 1/41 da largura de banda
da rede subjacente para dados do usurio; na prtica, as lacunas mnimas entre pacotes
e os bits de enquadramento de hardware da rede tornam a razo ainda menor.
Por outro lado, tamanhos de segmento extremamente grandes tambm podem
produzir um desempenho fraco. Segmentos grandes resultam em datagramas IP
grandes. Quando esses datagramas atravessam uma rede com MTU pequena, o IP
precisa fragment-los. Diferente de um segmento TCP, um fragmento no pode ser
confirmado ou retransmitido de forma independente; todos os fragmentos precisam
chegar, ou o datagrama inteiro precisa ser retransmitido. Como a probabilidade de
perder determinado fragmento diferente de zero, aumentar o tamanho de segmento
acima do patamar de fragmentao diminui a probabilidade de o datagrama chegar, o
que diminui o throughput.
Em teoria, o tamanho de segmento ideal, S, ocorre quando os datagramas IP
transportando os segmentos so os maiores possveis sem exigir fragmentao em
qualquer lugar ao longo do caminho da origem at o destino. Na prtica, encontrar S
difcil por vrios motivos. Primeiro, a maioria das implementaes do TCP no inclui
um mecanismo para fazer isso1. Segundo, como os roteadores em uma inter-rede
podem mudar de rotas dinamicamente, o caminho que os datagnamas seguem entre
um par de computadores em comunicao pode mudar dinamicamente, assim como o

Para descobrir a MTU do caminho, um emissor sonda o caminho enviando datagramas com o bit no fragmentar do IP
marcado. Depois, ele diminui o tamanho se as mensagens de erro ICMP informarem que a fragmentao foi necessria.

165

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

tamanho em que os datagramas precisam ser fragmentados. Terceiro, o tamanho ideal


depende dos cabealhos de protocolo de nvel inferior (por exemplo, o tamanho do
segmento precisa ser reduzido para acomodar opes do IP).
7.19.12.2 Opo de janela mvel

Como o campo JANELA no cabealho TCP tem 16 bits de extenso, o tamanho


mximo da janela de 64 Kbytes. Embora a janela seja suficiente para as primeiras
redes, um tamanho de janela maior necessrio para obter um alto throughput em uma
rede como um canal de satlite que possui um produto com grande atraso-largura de
banda (informalmente chamado de pipe longo e gordo).
Para acomodar tamanhos de janela maiores, uma opo de escala de janela foi
proposta para o TCP. A opo consiste em trs octetos: um tipo, um tamanho e um
valor de shift, S. Essencialmente, o valor de shift especifica um fator de escala binrio
a ser aplicado ao valor da janela. Quando a escala da janela est em vigor, um receptor
extrai o valor do campo JANELA, W, e desloca W esquerda por S bits, a fim de obter
o tamanho real da janela.
Diversos detalhes complicam o projeto. A opo pode ser negociada quando a
conexo estabelecida inicialmente, quando todos os anncios de janela sucessivos
so considerados como usando a escala negociada, ou a opo pode ser especificada
em cada segmento, quando o fator de escala pode variar de um segmento para outro.
Alm do mais, se qualquer lado de uma conexo implementar a escala de janela, mas
no precisar dimensionar sua janela, esse lado envia a opo definida como zero, o que
cria o fator de escala 1.
7.19.12.3 Opo de estampa de tempo

A opo de estampa de tempo TCP foi inventada para ajudar o TCP a calcular o
atraso na rede subjacente, e tambm usada para lidar com o caso em que os nmeros
de seqncia do TCP excedem 232 (conhecidos como nmeros Protect Against
Wrapped Sequence, PAWS). Alm dos campos obrigatrios de tipo e tamanho, uma
opo de estampa de tempo inclui dois valores: um valor de estampa de tempo e um
valor de estampa de tempo de resposta de eco. Um emissor coloca a hora de seu clock
atual no campo de estampa de tempo ao enviar um pacote; um receptor copia o campo
de estampa de tempo para o campo de resposta de eco antes de retornar uma
confirmao para o pacote. Assim, quando uma confirmao chega, o emissor pode
calcular com preciso o tempo gasto total desde que o segmento foi enviado.
7.19.13 Clculo do checksum TCP

O campo CHECKSUM no cabealho TCP contm um checksum inteiro de 16 bits,


usado para verificar a integridade dos dados, alm do cabealho TCP. Para calcular o
checksum, o TCP na mquina emissora segue um procedimento como aquele descrito na
seo 7.18.6 para o UDP. Ele anexa um pseudocabealho ao segmento, anexa bits zero
suficientes para tornar o segmento um mltiplo de 16 bits e calcula o checksum de 16 bits
sobre o resultado inteiro. O TCP no conta o pseudocabealho ou o preenchimento no
tamanho do segmento, nem os transmite. Alm disso, ele assume que o prprio campo de
checksum zero para fins de clculo do checksum. Assim como outros checksums, o TCP
usa a aritmtica de 16 bits e apanha o complemento de um da soma do complemento a um.
No site receptor, o TCP realiza o mesmo clculo para verificar se o segmento chegou
intacto.

166

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

A finalidade do uso de um pseudocabealho exatamente a mesma que no UDP. Ele


permite que o receptor verifique se o segmento alcanou seu destino correto, que inclui um
endereo IP do host e tambm um nmero de porta de protocolo. Os endereos IP de
origem e destino so importantes para o TCP porque ele precisa us-los para identificar a
conexo qual o segmento pertence. Portanto, sempre que um datagrama chega
transportando um segmento TCP, o IP precisa passar ao TCP os endereos IP de origem e
destino do datagrama, alm do prprio segmento. A Figura 7.53 mostra o formato do
pseudocabealho usado no clculo do checksum.
0

ZERO

16

31

ENDEREO IP DE ORIGEM
ENDEREO IP DE DESTINO
PROTOCOLO
TAMANHO DO TCP
Figura 7.53 O formato do pseudo cabealho usado pelo TCP.

O TCP emissor atribui ao campo PROTOCOLO o valor que o sistema de remessa


subjacente usar em seu campo de tipo de protocolo. Para os datagramas IP transportando
o TCP, o valor 6. O campo TAMANHO DO TCP especifica o tamanho total do segmento
TCP, incluindo o cabealho TCP. No extremo receptor, a informao usada no
pseudocabealho extrada do datagrama IP que transportou o segmento e includa no
clculo do checksum para verificar se o segmento chegou intacto no destino correto.
7.19.14 Estabelecendo uma conexo TCP

Para estabelecer uma conexo, o TCP usa um handshake de trs vias. No caso mais
simples, o processo de handshake funciona como na Figura 7.54.

Figura 7.54 A seqncia de mensagens em um hadshake de trs vias.

O primeiro segmento de um handshake pode ser identificado porque possui o bit


SYN marcado no campo de cdigo. A segunda mensagem possui os bits SYN e ACK
marcados, indicando que ele confirma o primeiro segmento SYN, alm de continuar com o
handshake. A mensagem de handshake final apenas uma confirmao, e simplesmente
usada para informar ao destino de que ambos os lados concordam que uma conexo foi
estabelecida.
1

SYN significa sincronismo; a pronncia sin.

167

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Normalmente, o TCP em uma mquina espera passivamente pelo handshake, e o TCP


em outra mquina o inicia. Porm, o handshake cuidadosamente projetado para funcionar
mesmo que as duas mquinas tentem iniciar uma conexo simultaneamente. Assim, uma
conexo pode ser estabelecida de qualquer extremidade ou das duas extremidades
simultaneamente. Quando a conexo tiver sido estabelecida, os dados podem fluir nas duas
direes igualmente bem. No existe mestre ou escravo.
O handshake de trs vias necessrio e suficiente para o sincronismo correto entre as
duas extremidades da conexo. Para entender por que, lembre-se de que o TCP baseado
em um servio de remessa de pacotes no-confivel, de modo que as mensagens podem ser
perdidas, adiadas, duplicadas ou entregues fora da ordem. Assim, o protocolo precisa usar
um mecanismo de timeout e retransmitir requisies perdidas. O problema surge se as
requisies retransmitidas e originais chegarem enquanto a conexo estiver sendo
estabelecida, ou se as requisies retransmitidas forem adiadas at depois que a conexo
tiver sido estabelecida, usada e terminada. Um handshake de trs vias (mais a regra de que
o TCP ignora requisies adicionais para conexo aps uma conexo ter sido estabelecida)
soluciona esses problemas.
7.19.15 Nmeros de seqncia iniciais

Um handshake de trs vias realiza duas funes importantes. Ele garante que os dois
lados esto prontos para transferir dados (e que sabem que ambos esto prontos) e permite
que os dois lados concordem sobre nmeros de seqncia iniciais. Os nmeros de
seqncia so enviados e confirmados durante o handshake. Cada mquina precisa
escolher um nmero de seqncia inicial aleatoriamente, que usar para identificar os bytes
no fluxo que est enviado. Os nmeros de seqncia no podem comear sempre com o
mesmo valor. Em particular, o TCP no pode simplesmente escolher a seqncia 1 toda
vez que criar uma conexo. Naturalmente, importante que os dois lados concordem sobre
um nmero inicial, de modo que os nmeros de octeto usados nas confirmaes combinem
com aqueles usados nos segmentos de dados.
Para ver como as mquinas podem combinar sobre nmeros de seqncia para dois
fluxos aps somente trs mensagens, lembre-se de que cada segmento contm um campo de
nmero de seqncia e um campo de confirmao. A mquina que inicia um handshake,
que chamaremos de A, passa seu nmero de seqncia inicial, x, no campo de seqncia do
primeiro segmento SYN do handshake de trs vias. A segunda mquina, B, recebe o SYN,
registra o nmero de seqncia e responde enviando seu nmero de seqncia inicial no
campo de seqncia, alm de uma confirmao que especifica que B espera o octeto x+l.
Na mensagem final do handshake, A confirma receber de B todos os octetos at y. Em
todos os casos, as confirmaes seguem a conveno de usar o nmero do prximo octeto
esperado.
Descrevemos como o TCP normalmente executa o handshake de trs vias, trocando
segmentos que contm uma quantidade mnima de informaes. Devido ao projeto do
protocolo, possvel enviar dados junto com os nmeros de seqncia iniciais nos
segmentos de handshake. Nesses casos, o TCP precisa manter os dados at que o
handshake termine. Quando uma conexo for estabelecida, o TCP pode liberar dados
sendo mantidos e entreg-los rapidamente a um programa aplicativo aguardando.
7.19.16 Fechando uma conexo TCP

Dois programas que usam o TCP para se comunicar podem terminar a conversao de
modo controlado usando a operao close. Internamente, o TCP usa um handshake de trs
vias modificado para fechar as conexes. Lembre-se de que as conexes do TCP so full

168

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

duplex e que as vemos como contendo duas transferncias de fluxo independentes, cada
uma em uma direo. Quando um programa aplicativo diz ao TCP que no possui mais
dados para enviar, o TCP fecha a conexo em uma direo. Para fechar sua metade de uma
conexo, o TCP de envio termina de transmitir os dados restantes, espera que o receptor
confirme e depois envia um segmento com o bit FIN marcado. O TCP receptor confirma o
segmento FIN e informa ao programa aplicativo em sua extremidade que no h mais dados
disponveis (por exemplo, usando o mecanismo de fim de arquivo do sistema operacional).
Quando uma conexo tiver sido fechada em determinada direo, o TCP se recusa a
aceitar mais dados para essa direo. Nesse meio tempo, os dados podem continuar a fluir
na direo oposta at que o emissor a feche. Naturalmente, as confirmaes continuam a
fluir de volta ao emissor, mesmo depois que uma conexo tiver sido fechada. Quando as
duas direes tiverem sido fechadas, o TCP em cada extremidade exclui seu registro da
conexo.
Os detalhes do fechamento de uma conexo so ainda mais sutis do que o sugerido
antes, pois o TCP usa um handshake de trs vias modificado para fechar uma conexo. A
Figura 7.55 ilustra o procedimento.

Figura 7.55 O handshake de trs vias modificado usado para fechar conexes.

A diferena entre os handshakes de trs vias usados para estabelecer e interromper


conexes ocorre depois que uma mquina recebe o segmento FIN inicial. Em vez de gerar
um segundo segmento FIN imediatamente, o TCP envia uma confirmao e depois informa
aplicao quanto requisio para encerrar. Pode ser necessrio muito tempo para
informar ao programa aplicativo quanto requisio e obter uma resposta (por exemplo,
isso pode envolver interao humana). A confirmao impede a retransmisso do
segmento FIN inicial durante a espera. Finalmente, quando o programa aplicativo instrui o
TCP a encerrar a conexo completamente, o TCP envia o segundo segmento FIN, e o site
original responde com a terceira mensagem, um ACK.
7.19.17 Reincio da conexo TCP

Normalmente, um programa aplicativo usa a operao close para encerrar uma


conexo quando termina de us-la. Assim, fechar conexes considerado uma parte
normal do uso, semelhante a fechar arquivos. s vezes, surgem condies anormais que
foram um programa aplicativo ou o software da rede a interromper uma conexo. O TCP
oferece uma facilidade de reset para essas desconexes anormais.
169

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Para reiniciar uma conexo, um lado inicia o trmino enviando um segmento com o
bit RST no campo CDIGO marcado. O outro lado responde a um segmento de reset
imediatamente, abortando a conexo. O TCP tambm informa ao programa aplicativo que
houve um reset. Um reset um aborto instantneo, que significa que a transferncia nas
duas direes termina imediatamente e que recursos como buffers so liberados.
7.19.18 Nmeros de porta TCP reservados

Assim como UDP, o TCP combina o vnculo de porta esttico e dinmico, usando um
conjunto de atribuies de porta bem conhecidas para programas comumente invocados
(por exemplo, correio eletrnico), mas omitindo a maioria dos nmeros de porta
disponveis para o sistema operacional, para serem alocados quando os programas
precisarem deles. Agora, existem muitas portas bem conhecidas. Originalmente, os
nmeros de porta bem conhecida eram pequenos, mas algumas portas acima de 1.024 agora
j foram atribudas (em sistemas UNIX, as primeiras 1.023 portas so consideradas
privilegiadas e s esto disponveis a programas privilegiados). A Tabela 7.13 lista
algumas das portas TCP atualmente atribudas. Devemos explicar que, embora os nmeros
de porta TCP e UDP sejam independentes, os projetistas escolheram usar os mesmos
nmeros de porta inteiros para qualquer servio que seja acessvel por UDP e TCP. Por
exemplo, um servidor de nome de domnio pode ser acessado com TCP ou com UDP. Em
qualquer um desses protocolos, o nmero de porta 53 foi reservado para servidores no
sistema de nome de domnio (Domains Name System DNS).
7.19.19 Desempenho do TCP

Como vimos, o TCP um protocolo complexo, que lida com a comunicao por uma
grande variedade de tecnologias de rede subjacentes. Muitas pessoas consideram que,
como o TCP trata de uma tarefa muito mais complexa do que outros protocolos de
transporte, o cdigo precisa ser desajeitado e ineficaz. Surpreendentemente, a generalidade
que discutimos parece no atrapalhar o desempenho do TCP. As experincias em Berkeley
mostraram que o mesmo TCP que opera de forma eficiente pela Internet global pode
entregar 8 Mbps de throughput sustentado de dados do usurio entre duas estaes de
trabalho em uma Ethernet a 10 Mbps1. Na Cray Research, Inc., os pesquisadores
demonstraram um throughput TCP aproximando-se de 1 Gbps.

Cabealhos Ethernet, IP e TCP e a lacuna entre pacotes exigida so responsveis pela largura de banda restante.

170

Apostila de Fundamentos de Redes de Computadores


Decimal
0
7
9
11
13
15
17
19
20
21
22
23
25
37
53
67
79
80
88
110
111
119
123
143
161
443
465
515
873
993
995
1080

Palavra-Chave

ECHO
DISCARD
USERS
DAYTIME
NETSAT
QUOTE
CHARGEN
FTP-DATA
FTP
SSH
TELNET
SMTP
TIME
DOMAIN
BOOTPS
FINGER
WWW
KERBEROS
POP3
SUNRPC
NNTP
NTC
IMAP
SNMP
HTTPS
SMTPS
SPOOLER
RSYNC
IMAPS
POP3S
SOCKS

Prof: Ricardo Quinto

Descrio
Reservado
Eco
Descarte
Usurios ativos
Hora do dia
Programa de status da rede
Citao do dia
Gerador de caracteres
File Transfer Protocol (dados)
File Transfer Protocol (controle)
Secure Shell
Conexo de terminal
Simple Mail Transport Protocol
Hora
Domain Name Server
Servidor BOOTP ou DHCP
Finger
World Wide Web Server
Servio de segurana Kerberos
Post Office Protocol verso 3
Sun Remote Procedure Call
USENET News Transfer Protocol
Network Time Protocol
Internet Message Access Protocol
Simple Network Management Protocol
http seguro
SMTP over SSL (TLS)
Spooler LPR
Protocolo Rsync
IMAP seguro
POP3 seguro
Protocolo servidor de Proxy

Tabela 7.13 Exemplos de nmeros de porta TCP.

171

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Captulo 8
Servios e Tecnologias Web
8.1

Atribuio Dinmica de Endereos

8.1.1

BOOTP

O ARP resolve o problema de encontrar um endereo Ethernet que corresponda a um


determinado endereo IP. s vezes, necessrio resolver o problema inverso: qual o
endereo IP correspondente a um endereo Ethernet? Isso ocorre especificamente quando
uma estao de trabalho sem disco inicializada. Em geral, essa mquina obter a imagem
binria de seu sistema operacional a partir de um servidor de arquivos remoto. No entanto,
como ela descobrir seu endereo IP?
A primeira soluo imaginada foi usar o RARP Reverse Address Resolution
Protocol (definido na RFC 903). Esse protocolo permite que uma estao de trabalho
recm inicializada transmita seu endereo Ethernet e informe: meu endereo Ethernet de 48
bits 140405180125. Algum conhece meu endereo IP? O servidor RARP v essa
solicitao, procura o endereo Ethernet em seus arquivos de configurao e envia de volta
o endereo IP correspondente.
O uso do RARP melhor que a incluso de um endereo IP na imagem de memria,
porque permite que a mesma imagem seja usada em todas as mquinas. Se o endereo IP
fosse embutido na imagem, cada estao de trabalho precisaria ter sua prpria imagem.
Uma desvantagem do RARP que ele utiliza um endereo de destino composto
somente por valores 1 (broadcast limitado) para chegar ao servidor RARP. Entretanto,
essas difuses no so encaminhadas pelos roteadores; portanto, necessrio um servidor
RARP em cada rede. Para resolver esse problema, foi criado um protocolo de inicializao
alternativo, chamado BOOTP. Diferente do RARP, o BOOTP utiliza mensagens UDP, que
so encaminhadas pelos roteadores. O BOOTP tambm fornece informaes adicionais a
uma estao de trabalho sem disco, inclusive o endereo IP do servidor de arquivos que
contm a imagem de memria, o endereo IP do roteador padro e a mscara de subrede a
ser usada. O BOOTP descrito nas RFCs 951, 1048 e 1084.
Um problema srio com o BOOTP que ele exige configurao manual de tabelas
que mapeiam endereos IP para endereos Ethernet. Quando um novo host adicionado a
uma LAN, ele no pode usar o BOOTP enquanto um administrador no tiver atribudo a ele
um endereo IP e inserido manualmente seu par (endereo Ethernet, endereo IP) nas
tabelas de configurao do BOOTP. Para eliminar essa etapa propensa a erros, o BOOTP
foi ampliado e recebeu um novo nome, DHCP (Dynamic Host Configuration Protocol). O
DHCP permite a atribuio manual e a atribuio automtica de endereos IP. Ele
descrito nas RFCs 2131 e 2132. Na maioria dos sistemas, o DHCP substituiu em grande
parte o RARP e o BOOTP. Como hoje se usa basicamente o DHCP, a seo 8.1.2 detalha o
seu funcionamento.
8.1.2

DHCP

Esta seo mostra como o modelo cliente-servidor usado para bootstrapping. Cada
computador anexado a uma rede TCP/IP precisa obter um endereo IP e a mscara de
endereo associada para a rede, bem como outras informaes, incluindo os endereos de
um roteador e um nome de servidor. Esta seo descreve um protocolo que permite que um
172

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

host determine as informaes automaticamente na inicializao. Essa inicializao


automtica importante porque permite que um usurio conecte um computador Internet
sem conhecer os detalhes dos endereos, mscaras, roteadores ou como configurar o
protocolo.
O procedimento de bootstrapping descrito aqui surpreendente porque usa o UDP
para transferir mensagens. Pode parecer impossvel usar UDP para encontrar um endereo,
pois cada mensagem UDP enviada em um modelo IP. Entretanto, veremos que os
endereos IP especiais mencionados anteriormente o tornam possvel.
O protocolo RARP foi inicialmente desenvolvido para permitir que um computador
obtenha um endereo IP. Um protocolo mais geral chamado BOOTstrap Protocol
(BOOTP) posteriormente substituiu o RARP. Finalmente, o Dynamic Host Configuration
Protocol (DHCP) foi desenvolvido como um sucessor para o BOOTP. Como o DHCP
um sucessor do BOOTP, a descrio nesta seo geralmente se aplica a ambos.
Como usa o UDP e IP, o DHCP pode ser implementado por um programa aplicativo.
Assim como outros protocolos de aplicao, o DHCP segue o modelo cliente-servidor; o
protocolo exige apenas uma nica troca de pacotes em que um computador envia um pacote
para requisitar informaes de bootstrap e um servidor responde enviando um nico pacote
que especifica itens necessrios na partida, incluindo o endereo IP do computador, o
endereo de um roteador e o endereo de um nome de servidor. O DHCP tambm inclui
um campo opes na resposta que permite que os fornecedores enviem informaes
adicionais usadas apenas para seus computadores.
8.1.2.1

Usando IP para determinar um endereo IP

Dissemos que o DHCP utiliza UDP para transportar mensagens, e que


mensagens UDP so encapsuladas em datagramas IP para distribuio. Para entender
como um computador pode enviar DHCP em um datagrama IP antes de aprender seu
endereo IP, lembre-se, de que existem vrios endereos IP de uso especial.
Particularmente, quando usado como um endereo de destino, o endereo IP
consistindo de todos os bits em 1 (255.255.255.255) especifica broadcast limitado. O
IP pode aceitar e difundir datagramas que especificam o endereo de broadcast
limitado mesmo antes que o software tenha descoberto suas informaes de endereo
IP locais. A questo que um programa aplicativo pode usar o endereo IP de
broadcast limitado para obrigar o IP a difundir um datagrama na rede local antes que
o IP tenha descoberto o endereo IP da rede local ou o endereo IP da mquina.
Suponha que uma mquina cliente A queira usar o DHCP para encontrar
informaes de boostrap (incluindo seu endereo IP) e suponha que B seja o servidor
na mesma rede fsica que responder requisio. Como A no sabe o endereo IP de
B ou o endereo IP da rede, ele precisa difundir sua requisio DHCP inicial usando o
endereo IP de broadcast limitado. E quanto resposta? B pode enviar uma resposta
direcionada? No, embora ele conhea o endereo IP de A. Para ver por qu,
considere o que acontece se um programa aplicativo em B tentar enviar um datagrama
usando o endereo IP de A. Aps rotear o datagrama, o IP em B passar o datagrama
para o software de interface de rede. O software de interface precisa mapear o
endereo IP do prximo salto para um endereo de hardware correspondente,
presumivelmente usando o ARP, como descrito, na seo 7.13.4. Entretanto, como A
ainda no recebeu a resposta DHCP, ele no reconhece seu endereo IP e, portanto,
no pode responder requisio ARP de B. Assim, B tem apenas duas alternativas:
difundir a resposta ou usar informaes do pacote de requisio para acrescentar

173

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

manualmente uma entrada ao seu cache ARP. Em sistemas que no permitem que
programas aplicativos modifiquem o cache ARP, o broadcasting a nica soluo.
8.1.2.2

A poltica de retransmisso do DHCP

O DHCP coloca toda a responsabilidade da comunicao segura no cliente.


Sabemos que, como o UDP usa IP para distribuio, as mensagens podem ser
retardadas, perdidas, distribudas fora de ordem ou duplicadas. Alm disso, como o IP
no fornece um checksum para os dados, o datagrama UDP poderia chegar com alguns
bits danificados. Para se prevenir de danos, o DHCP exige que o UDP use checksums.
Ele tambm especifica que as requisies e respostas devem ser enviadas com o bit
no fragmentar definido para acomodar clientes que tm muito pouca memria para
remontar datagramas. O DHCP, tambm construdo para permitir mltiplas
respostas; ele aceita e processa a primeira.
Para tratar a perda de datagramas, o DHCP usa a tcnica convencional do
timeout e retransmisso. Quando o cliente transmite uma requisio, ele inicia um
timer. Se nenhuma resposta chegar antes que o timer expire, o cliente precisa
retransmitir a requisio. claro, aps uma interrupo de energia, todas as mquinas
em uma rede reiniciaro simultaneamente, possivelmente enchendo o servidor ou
servidores DHCP com requisies. Se todos os clientes usarem exatamente o mesmo
timeout de retransmisso, muitos ou todos eles tentaro retransmitir simultaneamente.
Para evitar as colises resultantes, a especificao do DHCP recomenda usar um
retardo aleatrio. Alm disso, a especificao recomenda iniciar com um valor de
timeout aleatrio entre 0 e 4 segundos, e dobrar o timer aps cada retransmisso. Aps
o timer atingir um valor alto, 60 segundos, o cliente no aumenta o timer, mas continua
a usar a aleatoriedade. Dobrar o timeout aps cada retransmisso evita que o DHCP
acrescente trfego excessivo a uma rede congestionada; a aleatoriedade ajuda a evitar
transmisses simultneas.
8.1.2.3

O formato de mensagem DHCP

Para manter uma implementao o mais simples possvel, as mensagens DHCP


possuem campos de tamanho fixo, e as respostas tm o mesmo formato das
requisies. Embora tenhamos dito que clientes e servidores so programas, o
protocolo DHCP usa os termos livremente, referindo-se mquina que envia a
requisio DHCP como o cliente e qualquer mquina que envia uma resposta como
servidor. A Figura 8.1 mostra o formato de mensagem DHCP.
O campo OP especifica se a mensagem uma requisio (1) ou uma resposta
(2). Como no ARP, os campos TIPO_H e TAM_H especificam o tipo de hardware de
rede e o tamanho do endereo de hardware (por exemplo, Ethernet tem tipo 1 e o
tamanho de endereo 6). O cliente coloca 0 no campo SALTOS. Se receber a
requisio e decidir passar a requisio para outra mquina (por exemplo, para permitir
o boostrapping atravs de mltiplos roteadores), o servidor DHCP incrementa a
contagem de SALTOS. O campo ID DA TRANSAO contm um inteiro que o cliente
usa para adequar as respostas s requisies. O campo SEGUNDOS informa o nmero
de segundos desde que o cliente inicializou.
O campo ENDEREO IP DO CLIENTE e todos os campos que o seguem
contm as informaes mais importantes. Para permitir a maior flexibilidade, os
clientes preenchem o mximo de informaes que eles conhecem e deixam os campos
restantes definidos em zero. Por exemplo, se um cliente sabe o nome ou endereo de
um servidor especfico do qual queira informaes, ele pode preencher os campos

174

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

ENDEREO IP DO SERVIDOR ou NOME DO HOST SERVIDOR. Se esses campos


forem no zero, apenas o servidor com nome/endereo correspondentes responder
requisio; se eles forem zero, qualquer servidor que receba a requisio responder.
0

OP

16

24

TIPO_H
TAM_H
ID DA TRANSAO
SEGUNDOS

31

SALTOS
FLAGS

ENDEREO IP DO CLIENTE
SEU ENDEREO IP
ENDEREO IP DO SERVIDOR
ENDEREO IP DO ROTEADOR
ENDEREO DE HARDWARE DO CLIENTE (16 OCTETOS)
...
NOME DO HOST SERVIDOR (64 OCTETOS)
...
NOME DO ARQUIVO DE BOOT (128 OCTETOS)
...
OPES (VARIVEL)
...
Figura 8.1 Formato de uma mensagem DHCP.

O DHCP pode ser usado atravs de um cliente que j conhea seu endereo IP
(ou seja, para obter outras informaes). Um cliente que conhece o endereo IP o
coloca no campo ENDEREO IP DO CLIENTE; outros clientes usam zero. Se o
endereo IP do cliente for zero na requisio, um servidor retorna o endereo IP do
cliente no campo SEU ENDEREO IP.
O campo FLAG de 16 bits permite o controle da requisio e resposta. Como a
Figura 8.2 mostra, um significado apenas atribudo ao bit de ordem superior do
campo FLAGS.
0

15

PRECISA SER ZERO

Figura 8.2 Formato do campo FLAGs de 16 bits do DHCP.

Um cliente usa o bit de ordem superior no campo FLAGS para controlar se o


servidor envia a resposta via unicast ou broadcast. Para entender por que um cliente
poderia escolher uma resposta de broadcast, lembre-se de que, embora se comunique
com um servidor DHCP, um cliente ainda no tem um endereo IP, o que significa que
o cliente no pode responder a consultas ARP. Portanto, para garantir que o cliente
possa receber mensagens enviadas por um servidor DHCP, um cliente pode requisitar
que o servidor envie respostas usando broadcast IP, que corresponde ao broadcast de
hardware. As regras para o processamento de datagrama permitem que o IP descarte
qualquer datagrama que chegue via unicast de hardware se o endereo de destino no
corresponder ao endereo do computador. Entretanto, o IP precisa aceitar e tratar
qualquer datagrama enviado para o endereo de broadcast IP.
Interessantemente, o DHCP no prov espao na mensagem para baixar uma
imagem de memria especfica para um sistema incorporado. Em vez disso, o DHCP
fornece um campo NOME DE ARQUIVO DE BOOT que um pequeno sistema sem
disco pode usar. O cliente pode usar o campo para fornecer um nome genrico como
175

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Unix, que significa quero inicializar o sistema operacional UNIX para esta
mquina. O servidor DHCP consulta seu banco de dados de configurao a fim de
mapear o nome genrico para um nome de arquivo especfico que contm a imagem de
memria apropriada para o hardware de cliente e retorna o nome de arquivo
totalmente qualificado em sua resposta. claro, o banco de dados de configurao
tambm permite bootstrapping completamente automtico, em que o cliente coloca
zeros no campo NOME DO ARQUIVO DE BOOT, e o DHCP seleciona uma imagem
de memria para a mquina. O cliente, ento, usa um protocolo de transferncia de
arquivo padro, como o TFTP, para obter a imagem. A vantagem do mtodo que um
cliente sem disco pode usar um nome genrico sem codificar um arquivo especfico e o
gerente de rede pode mudar o local de uma imagem de inicializao sem mudar a
ROM nos sistemas incorporados.
Todos os itens na rea OPES usam uma codificao de estilo Tipo-TamanhoValor (TTV) cada item contm um octeto de tipo, um octeto de tamanho e termina
com um valor do tamanho especificado.
8.1.2.4

A necessidade da configurao dinmica

Os primeiros protocolos de bootstrap operavam em um ambiente relativamente


esttico em que cada host tinha uma conexo de rede permanente. Um gerente criava
um arquivo de configurao que especificava um conjunto de parmetros para cada
host, incluindo um endereo IP. O arquivo no mudava freqentemente porque a
configurao normalmente permanecia estvel.
Em geral, uma configurao
permanecia inalterada por semanas.
Na Internet moderna, porm, os provedores de servio possuem um conjunto de
clientes que muda continuamente, e os computadores laptop portteis com conexes
sem fio possibilitam mover um computador de um local para outro de maneira rpida e
fcil. Para tratar a atribuio de endereo automatizada, o DHCP permite que um
computador obtenha um endereo IP rpido e dinamicamente. Ou seja, ao configurar
um servidor DHCP, um gerente fornece um conjunto de endereos IP. Sempre que um
novo computador se conecta a uma rede, ele contata o servidor e requisita um
endereo. O servidor escolhe um dos endereos do conjunto que o gerente especificou
e aloca o endereo para o computador.
Para ser completamente geral, o DHCP permite trs tipos de atribuio de
endereo; um gerente escolhe como o DHCP responder para cada rede ou cada host.
Como seu predecessor, BOOTP, o DHCP permite configurao manual em que um
gerente configura um endereo especfico para um computador especfico. O DHCP
tambm tem uma forma de configurao automtica, ou autoconfigurao, em que um
gerente permite que um servidor DHCP atribua um endereo permanente assim que
um computador se conecta a uma rede. Finalmente, o DHCP permite completamente a
configurao dinmica, em que um servidor aluga um endereo para um computador
por um tempo limitado. A atribuio de endereo dinmica o aspecto mais poderoso
e novo do DHCP.
O DHCP usa a identidade do cliente e os arquivos de configurao do servidor
para decidir como proceder. Quando um cliente contata um servidor DHCP, o cliente
envia um identificador, normalmente o endereo de hardware do cliente. O servidor
usa o identificador do cliente e a rede qual o cliente se conectou para determinar
como atribuir ao cliente o endereo IP. Portanto, um gerente possui controle completo
sobre como os endereos so atribudos. Um servidor pode ser configurado no sentido
de alocar endereos para computadores especficos estaticamente, enquanto permite
176

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

que outros computadores obtenham endereos permanentes ou temporrios


dinamicamente.
8.1.2.5

Conceito de aluguel do DHCP

A atribuio de endereo dinmica temporria. Dizemos que um servidor


DHCP aluga um endereo para um cliente por um perodo finito de tempo. O servidor
especifica o perodo de aluguel quando ele aloca o endereo. Durante o perodo de
aluguel, o servidor no alugar o mesmo endereo para outro cliente. No fim do
perodo, entretanto, o cliente precisa renovar o aluguel ou parar de usar o endereo.
Quanto tempo deve durar um aluguel de DHCP? O tempo ideal depende da rede
especfica e das necessidades de um host em particular. Por exemplo, para garantir
que endereos possam ser reciclados rapidamente, os computadores em uma rede
usada por alunos em um laboratrio universitrio podem usar um curto perodo de
aluguel (por exemplo, uma hora). Por outro lado, uma rede corporativa pode usar um
perodo de aluguel de um dia ou uma semana. Um ISP poderia fazer a durao de um
aluguel depender do contrato de um cliente. Para acomodar todos os ambientes
possveis, o DHCP no especifica uma constante fixa para o perodo de aluguel. Em
vez disso, o protocolo permite que um cliente requisite um perodo de aluguel
especfico e permite que um servidor informe ao cliente o perodo de aluguel que ele
concede. Portanto, um gerente pode decidir quanto tempo cada servidor deve alocar
um endereo para um cliente. No outro extremo, o DHCP reserva um valor infinito
para permitir que um aluguel dure um perodo arbitrariamente longo (ou seja, para
tornar uma atribuio de endereo permanente).
8.2

NAT

Foi criada uma tecnologia que resolve o problema geral de fornecer acesso em nvel de IP
entre hosts em um site e o restante da Internet, sem exigir que cada host no site tenha um
endereo IP globalmente vlido. Conhecida como Network Address Translation (NAT), a
tecnologia requer que um site tenha uma nica conexo com a Internet global e, pelo menos, um
endereo IP globalmente vlido, G. O endereo G atribudo a um computador (um host multihomed ou um roteador) que conecta o site com a Internet e executa o software NAT.
Informalmente, nos referimos a um computador que executa o NAT como uma caixa NAT;
todos os datagramas atravessam a caixa NAT enquanto viajam do site para a Internet ou da
Internet para o site.
O NAT traduz os endereos nos datagramas que saem e que entram substituindo o
endereo de origem em cada datagrama que entra com o endereo privado do host correto.
Portanto, do ponto de vista de um host externo, todos os datagramas vm da caixa NAT, e todas
as respostas retornam caixa NAT. Da viso dos hosts internos, a caixa NAT parece ser um
roteador que pode alcanar a Internet global.
A principal vantagem do NAT surge de sua combinao de generalidade e transparncia.
O NAT mais geral do que os gateways de aplicao porque permite que um host interno
qualquer acesse um servio qualquer em um computador na Internet. O NAT transparente
porque permite que um host interno envie e receba datagramas usando um endereo privado (ou
seja, no rotevel).
8.2.1

Criao da tabela de traduo NAT

Nosso resumo do NAT omite um detalhe importante porque no especifica como o


NAT sabe que host interno deve receber um datagrama que chega da Internet. Na verdade,
o NAT mantm uma tabela de traduo que usa para realizar o mapeamento. Cada entrada

177

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

na tabela especifica dois itens: o endereo IP de um host na Internet e o endereo IP interno


de um host no site. Quando um datagrama chega da Internet, o NAT consulta o endereo
de destino do datagrama na tabela de traduo, extrai o endereo correspondente de um
host interno, extrai o endereo correspondente de um host interno, substitui o endereo de
destino do datagrama pelo endereo do host e encaminha o datagrama pela rede local at o
host1.
A tabela de traduo NAT precisa estar pronta antes de um datagrama chegar da
Internet. Caso contrrio, o NAT no tem como identificar o host interno correto para o
qual o datagrama deve ser encaminhado. Como e quando a tabela inicializada? H
vrias possibilidades:

Inicializao manual: um gerente configura a tabela de traduo manualmente


antes que qualquer comunicao ocorra.

Datagramas de sada: a tabela construda como um efeito colateral de um host


interno enviando um datagrama. O NAT usa o datagrama de sada para criar
uma entrada da tabela de traduo que registra os endereos de origem e destino.

Consultas de nome de entrada: a tabela construda como um efeito colateral de


manipular consultas de nome de domnio. Quando um host na Internet consulta o
nome de domnio de um host interno, o DNS envia o endereo G como resposta e,
depois, cria uma entrada na tabela de traduo NAT para encaminhar datagramas
que chegam para o host interno correto.

Cada tcnica de inicializao apresenta vantagens e desvantagens. A inicializao


manual fornece mapeamentos permanentes e permite que datagramas IP sejam enviados
em qualquer direo a qualquer hora. Usar um datagrama de sada para inicializar a tabela
tem a vantagem de ser automtico, mas no permite que a comunicao seja iniciada de
fora. Usar consultas de nome de domnio que entra exige modificar o software de nome de
domnio. Isso acomoda a comunicao iniciada de fora do site, mas funciona apenas se o
emissor realizar uma consulta de nome de domnio antes de enviar datagramas.
A maioria das implementaes do NAT usa datagramas de sada para inicializar a
tabela; a estratgia especialmente popular entre os ISPs. Para entender o porqu,
considere um pequeno ISP que serve clientes com conexo discada. A Figura 8.3 ilustra a
arquitetura.

Figura 8.3 O uso de um NAT por um pequeno ISP.

O ISP precisa atribuir um endereo IP a um cliente sempre que o cliente disca. O


NAT permite que o ISP atribua um endereo privado (por exemplo, 10.0.0.1 atribudo ao
primeiro cliente, 10.0.0.2 ao segundo e assim por diante). Quando um cliente envia um

Sempre que substitui um endereo em um cabealho de datagrama, o NAT recalcula o checksum do cabealho.

178

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

datagrama a um destino na Internet, o NAT usa o datagrama de sada para inicializar sua
tabela de traduo.
8.2.2

NAT multiendereo

At agora, descrevemos uma implementao simplista do NAT que realiza um


mapeamento de endereo um-para-um entre um endereo externo e um endereo interno.
Ou seja, um mapeamento um-para-um permite que no mximo um computador no site
possa acessar uma determinada mquina na Internet a qualquer hora. Na prtica, so
usadas formas mais complexas do NAT que permitem que hosts em um site acessem um
determinado endereo externo concorrentemente.
Uma variao do NAT permite concorrncia conservando o mapeamento um-paraum, mas permitindo que a caixa NAT armazene mltiplos endereos da Internet.
Conhecido como NAT multiendereo, o esquema atribui caixa NAT um conjunto de K
endereos globalmente vlidos, G1, G2,..., Gk. Quando o primeiro host interno acessa um
determinado destino, a caixa NAT escolhe o endereo G1, acrescenta uma entrada tabela
de traduo e envia o datagrama. Se outro host iniciar contato com o mesmo destino, a
caixa NAT escolhe o endereo G2, e assim por diante. Portanto, o NAT multiendereo
permite que at K hosts acessem um determinado destino concorrentemente.
8.2.3

NAT mapeado em porta

Outra variante popular do NAT fornece concorrncia traduzindo nmeros de porta de


protocolo TCP ou UDP, bem como endereos. Algumas vezes chamado Network Address
Port Translation (NAPT), o esquema expande a tabela de traduo NAT para incluir
campos adicionais. Alm de um par de endereos IP de origem e destino, a tabela contm
um par de nmeros de porta de protocolo de origem e de destino e um nmero de porta de
protocolo usado pela caixa NAT. A Tabela 8.1 ilustra o contedo da tabela.
Endereo
Privado
10.0.0.5
10.0.0.1
10.0.2.6
10.0.0.3

Porta
Privada
21.023
386
26.600
1.274

Endereo
Externo
128.10.19.20
128.10.19.20
207.200.75.200
128.210.1.5

Porta
Externa
80
80
21
80

Porta NAT

14.003
14.010
14.012
14.007

Protocolo
usado
Tcp
Tcp
Tcp
Tcp

Tabela 8.1 Um exemplo de uma tabela de traduo usada pelo NAPT.

A Tabela 8.1 possui entradas para quatro computadores internos que esto atualmente
acessando destinos na Internet global. Toda a comunicao est usando TCP.
interessante que a tabela mostra dois hosts internos, 10.0.0.5 e 10.0.0.1, ambos acessando a
porta de protocolo 80 (um servidor Web) no computador 128.10.19.20. Nesse caso, ocorre
que as duas portas de origem sendo usadas para as duas conexes diferem. Entretanto, a
exclusividade da porta de origem no pode ser garantida, poderia acontecer que dois hosts
internos escolhessem o mesmo nmero de porta de origem. Assim, para evitar possveis
conflitos, o NAT atribui um nmero de porta nico a cada comunicao que usada na
Internet. Lembre-se de que o TCP identifica cada conexo com uma tupla de 4 entradas
que representa o endereo IP e o nmero de porta de protocolo de cada extremidade. Os
dois primeiros itens na tabela correspondem a conexes TCP que os dois hosts internos
identificam com as tuplas de 4:
(10.0.0.5, 21023, 128.10.19.20, 80)
(10.0.0.1, 386, 128.10.19.20, 80)
179

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Entretanto, o computador na Internet que recebe os datagramas aps o NAPT realizar


a traduo identifica as mesmas duas conexes com as tuplas de 4 entradas:
(G, 14003, 128.10.19.20, 80)
(G, 14010, 128.10.19.20, 80)
onde G o endereo globalmente vlido da caixa NAT.
A principal vantagem do NAPT reside na generalidade que ele consegue com um
nico endereo IP globalmente vlido; a maior desvantagem surge porque ele restringe a
comunicao ao TCP ou ao UDP. Como toda comunicao usa TCP ou UDP, o NAPT
permite que um computador interno acesse vrios computadores externos, e vrios
computadores internos acessem o mesmo computador externo sem interferncia. Um
espao de porta de 16 bits permite que at 216 pares de aplicaes se comuniquem ao
mesmo tempo.
8.2.4

Interao entre NAT e ICMP

Mesmo mudanas simples em um endereo IP podem causar resultados inesperados


nos protocolos de camada mais alta. Em especial, para manter a iluso de transparncia, o
NAT precisa manipular o ICMP. Por exemplo, suponha que um host interno use o ping
para testar a acessibilidade de um destino na Internet. O host espera receber uma
mensagem ICMP echo reply para cada mensagem echo request que ele envia. Portanto, o
NAT precisa encaminhar as respostas de eco para o host correto. Entretanto, o NAT no
encaminha todas as mensagens ICMP que chegam da Internet. Se os roteadores na caixa
NAT estiverem incorretos, por exemplo, uma mensagem ICMP redirect precisar ser
processada localmente. Assim, quando uma mensagem ICMP chega da Internet, o NAT
precisa primeiro determinar se a mensagem deve ser manipulada localmente ou enviada
para um host interno. Antes de encaminhar para um host interno, o NAT traduz a
mensagem ICMP.
Para entender a necessidade da traduo ICMP, considere uma mensagem ICMP
destino inalcanvel (destination unreachable). A mensagem contm o cabealho de um
datagrama, D, que causou o erro. Infelizmente, o NAT traduziu endereos antes de enviar
D, de modo que o endereo de origem no o endereo que o host interno usou. Portanto,
antes de encaminhar a mensagem, o NAT precisa abrir a mensagem ICMP e traduzir os
endereos em D de modo que apaream exatamente na forma que o host interno usou.
Aps efetuar a mudana, o NAT precisa recalcular o checksum em D, o checksum no
cabealho ICMP e o checksum no cabealho de datagrama externo.
8.2.5

Interao entre NAT e aplicaes

Embora o ICMP torne o NAT complexo, os protocolos de aplicao tm um efeito


mais srio. Em geral, o NAT no funcionar com qualquer aplicao que envie endereos
IP ou portas de protocolo como dados. Por exemplo, quando dois programas usam o File
Transfer Protocol (FTP), eles tm uma conexo TCP entre si. Como parte do protocolo,
um programa obtm uma porta de protocolo na mquina local, converte o nmero para
ASCII e envia o resultado atravs de uma conexo TCP para outro programa. Se a conexo
entre os programas atravessar o NAPT de um host interno para um host na Internet, o
nmero de porta no fluxo de dados precisa ser alterado para estar de acordo com o nmero
de porta que o NAPT selecionou em vez da porta que o host interno est usando. Na
verdade, se o NAT falhar em abrir o fluxo de dados e mudar o nmero, o protocolo falhar.
Foram criadas implementaes do NAT que reconhecem protocolos populares, como o

180

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

FTP, e fazem a mudana necessria no fluxo de dados; alm disso, foram criadas variantes
de aplicaes que evitam a formao de conexes na direo inversa. Entretanto, possvel
definir uma aplicao que no opere atravs do NAT.
Mudar itens em um fluxo de dados aumenta a complexidade do NAPT de duas
maneiras. Primeiro, isso significa que o NATP precisa ter conhecimento detalhado de cada
aplicao que transfere essas informaes. Segundo, se os nmeros de porta forem
representados no ASCII, como no caso do FTP, mudar o valor pode mudar o nmero de
octetos transferidos. Inserir mesmo um octeto adicional em uma conexo TCP difcil
porque cada octeto no fluxo tem um nmero seqencial. Como um emissor no sabe que
dados adicionais foram inseridos, ele continua a atribuir nmeros seqenciais sem os dados
adicionais. Ao receber dados adicionais, o receptor gera reconhecimentos (acks) que
formam os dados. Portanto, aps inserir dados adicionais, o NAT precisa traduzir os
nmeros seqenciais em cada segmento que sai e em cada reconhecimento que entra.
8.2.6

NAT na presena de fragmentao

A descrio do NAT anterior fez uma importante suposio sobre o IP: um sistema
NAT recebe datagramas IP completos e no fragmentos. O que acontece se um datagrama
for fragmentado? Existem duas situaes. Para o NAT bsico, a fragmentao no
representa um problema porque cada fragmento transporta os endereos de origem e
destino IP. Porm, no caso do NAPT (a variante mais usada do NAT), a consulta de tabela
utiliza nmeros de porta de protocolo do cabealho de transporte, bem como endereos IP
do cabealho IP. Infelizmente, apenas o primeiro fragmento de um datagrama transporta o
cabealho de protocolo de transporte. Assim, antes de realizar a consulta, um sistema
NAPT precisa receber e examinar o primeiro fragmento do datagrama.
Conseqentemente, um sistema NAPT pode seguir um de dois projetos: o sistema
pode salvar os fragmentos e tentar remontar o datagrama, ou o sistema pode descartar os
fragmentos e processar apenas datagramas completos. Nenhuma das duas opes
desejvel. A remontagem exige informaes de estado, o que significa que o sistema no
pode escalar para alta velocidade ou altos nmeros de fluxos. O descarte de fragmentos
significa que o sistema no processar trfego arbitrrio. Na prtica, apenas os sistemas
NAPT que so projetados para redes de baixa velocidade escolhem a remontagem; muitos
sistemas rejeitam datagramas fragmentados.
8.2.7

Domnios de endereo conceituais

Descrevemos o NAT como uma tecnologia que pode ser usada para conectar uma
rede privada Internet global. Na verdade, o NAT pode ser usado para interconectar
quaisquer dois domnios de endereo. Portanto, o NAT pode ser usado entre duas
corporaes que possuem, cada uma, uma rede privada usando o endereo 10.0.0.0. Mais
importante, o NAT pode ser usado em dois nveis: entre os domnios de endereo privado
de um cliente e os domnios de endereo privado de um ISP, bem como entre o domnio de
endereo do ISP e a Internet global. Finalmente, o NAT pode ser combinado com a
tecnologia VPN para formar uma arquitetura hbrida em que endereos privados so usados
dentro da organizao e o NAT usado para fornecer conectividade entre cada site e a
Internet.
Como exemplo de mltiplos nveis do NAT, considere um indivduo que trabalha em
casa com vrios computadores que esto conectados a uma LAN. O indivduo pode
atribuir endereos privados aos computadores em casa e usar o NAT entre a rede domstica
e a intranet corporativa. A corporao tambm pode atribuir endereos privados e usar o
NAT entre sua intranet e a Internet global.

181

Apostila de Fundamentos de Redes de Computadores


8.2.8

Prof: Ricardo Quinto

Slirp e Iptables

Duas implementaes do NAT foram especialmente populares em vrias ocasies; as


duas foram projetadas para o sistema operacional UNIX. O programa slirp, derivado do
4.4 BSD, foi projetado para uso em uma arquitetura discada como a mostrada na Figura
19.4. O slirp combina PPP e NAT em um nico programa. Ele executado em um
computador que possui: um endereo IP vlido, uma conexo permanente com a Internet e
um ou mais modems discados. A maior vantagem do slirp que ele pode usar uma conta
de usurio comum em um sistema UNIX para acesso Internet de finalidade geral. Um
computador que tem um endereo privado efetua o logon e executa o slirp. Uma vez
iniciado o slirp, a linha discada comuta de comandos ASCII para PPP. O computador com
acesso discado inicia o PPP e obtm acesso Internet (por exemplo, para acessar um Web
site).
O slirp implementa o NAPT ele usa nmeros de porta de protocolo para
demultiplexar conexes, e pode reescrever nmeros de porta de protocolo e tambm
endereos IP. possvel ter vrios computadores (por exemplo, computadores em uma
LAN) acessando a Internet ao mesmo tempo atravs de uma nica ocorrncia do slirp
executando em um sistema UNIX.
Outra implementao comum do NAT foi projetada para o sistema operacional
Linux. Conhecido como iptables, o software uma combinao de ferramentas e suporte
de kernel para reescrita de pacotes e aplicao de firewall. Como o iptables prov inspeo
de pacote com informaes de estado, o NAT ou NAPT pode ser formado usando
conjuntos especficos de regras do iptables.
8.3

DNS

Os protocolos descritos anteriormente utilizam inteiros de 32 bits chamados endereos


Internet Protocol (endereos IP) para identificar as mquinas. Embora esses endereos
ofeream uma representao conveniente e compacta para especificar a origem e o destino nos
datagramas enviados por uma internet, os usurios preferem atribuir s mquinas nomes
pronunciveis, facilmente lembrados.
Esta seo considera um esquema para atribuir nomes de domnio de alto nvel
significativos a um grande conjunto de mquinas, e discute um mecanismo que mapeia entre
nomes de mquina de alto nvel e endereos IP. Ele considera a traduo dos nomes de alto
nvel para endereos IP e a traduo de endereos IP para nomes de mquina de alto nvel. O
esquema de nomes interessante por dois motivos. Primeiro, ele foi usado para atribuir nomes
de mquina pela Internet. Segundo, por usar um conjunto de servidores geograficamente
distribudos para mapear nomes a endereos, a implementao do mecanismo de mapeamento
de nome oferece um exemplo em grande escala do paradigma cliente-servidor.
8.3.1

Nomes para mquinas

Os sistemas de computador mais antigos foravam os usurios a entender os


endereos numricos para objetos como tabelas do sistema e dispositivos perifricos. Os
sistemas de tempo compartilhado avanaram a computao, permitindo que os usurios
inventem nomes simblicos significativos para objetos fsicos (por exemplo, dispositivos
perifricos) e objetos abstratos (por exemplo, arquivos). Um padro semelhante surgiu nas
redes de computador. Os primeiros sistemas admitiam conexes ponto-a-ponto entre
computadores e usavam endereos de hardware de baixo nvel para especificar as
mquinas. A interligao de redes introduziu o endereamento universal e tambm o
software de protocolo para mapear endereos universais em endereos de hardware de

182

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

baixo nvel. Como a maioria dos ambientes de computao contm vrias mquinas, os
usurios precisam de nomes significativos, simblicos, para identific-las.
Os primeiros nomes de mquina refletiam o ambiente pequeno em que eram
escolhidos. Era bastante comum que um site com um punhado de mquinas escolhesse
nomes com base nas finalidades das mquinas. Por exemplo, as mquinas normalmente
tinham nomes como contabilidade, desenvolvimento e produo. Os usurios preferem
esses nomes a endereos de hardware complicados.
Embora a distino entre endereo e nome seja intuitivamente atraente, ela
artificial. Qualquer nome simplesmente um identificador que consiste em uma seqncia
de caracteres escolhida de um alfabeto finito. Os nomes s so teis se o sistema puder
mape-los eficientemente para o objeto que representam. Assim, pensamos em um
endereo IP como um nome de baixo nvel e dizemos que os usurios preferem nomes de
alto nvel para as mquinas.
O formato dos nomes de alto nvel importante porque determina como os nomes so
traduzidos para nomes de baixo nvel ou vinculados a objetos, alm de como as atribuies
de nome so autorizadas. Com apenas algumas mquinas, a escolha de nomes fcil.
Cada administrador pode escolher um nome qualquer e verificar se o nome no est em
uso. Por exemplo, quando seu computador departamental principal foi conectado Internet
em 1980, o Computer Science Department na Purdue University escolheu o nome purdue
para identificar a mquina conectada. A lista de conflitos em potencial continha apenas
algumas dezenas de nomes. Por volta de 1986, a lista oficial de host na Internet continha
3.100 nomes oficialmente registrados e 6.500 aliases oficiais. Embora a lista estivesse
crescendo rapidamente na dcada de 1980, a maioria dos sites tinha mquinas adicionais
(por exemplo, computadores pessoais) que no eram registrados. Na Internet atual, com
centenas de milhes de mquinas, a escolha de nomes simblicos muito mais difcil.
8.3.2

Espao de nomes plano

O conjunto original de nomes de mquina usados pela Internet formou um espao de


nomes plano, em que cada nome consistia em uma seqncia de caracteres sem qualquer
estrutura adicional. No esquema original, um site central, o Network Information Center
(NIC), administrava o namespace e determinava se um novo nome era apropriado (ou seja,
ele proibia nomes obscenos ou nomes novos que entravam em conflito com os nomes
existentes).
A principal vantagem de um espao de nomes plano que os nomes so convenientes
e curtos; a principal desvantagem que um espao de nomes plano no pode generalizar
para conjuntos grandes de mquinas por motivos tcnicos e administrativos. Primeiro,
como os nomes so tirados de um nico conjunto de identificadores, o potencial para
conflito aumenta medida que o nmero de sites aumenta. Segundo, como a autoridade
para acrescentar novos nomes precisa estar em um nico site, a carga de trabalho
administrativa nesse site central tambm aumenta com o nmero de sites. Para entender a
seriedade do problema, imagine uma rede de crescimento rpido com milhares de sites,
cada um com centenas de computadores pessoais e estaes de trabalho individuais. Toda
vez que algum adquire e conecta um novo computador pessoal, seu nome precisa ser
aprovado pela autoridade central. Terceiro, como os vnculos entre nome e endereo
mudam com freqncia, o custo de manter cpias corretas da lista inteira em cada site alto
e aumenta medida que o nmero de sites cresce. Como alternativa, se o banco de dados
de nomes residir em um nico site, o trfego da rede para esse site aumenta com o nmero
de sites.

183

Apostila de Fundamentos de Redes de Computadores


8.3.3

Prof: Ricardo Quinto

Nomes hierrquicos

Como um sistema de nomeao pode acomodar um conjunto de nomes grande e em


expanso rpida sem exigir que um site central o administre? A resposta est na
descentralizao do mecanismo de nomes, delegando autoridade para partes do espao de
nomes e distribuindo a responsabilidade pelo mapeamento entre nomes e endereos. A
Internet utiliza esse esquema. Antes de examinar os detalhes, vamos considerar a
motivao e a intuio por trs disso.
O particionamento de um espao de nomes precisa ser definido de modo que admita o
mapeamento eficiente de nome e garanta o controle autnomo da atribuio de nomes. A
otimizao apenas para mapeamento eficiente pode levar a solues que retm um espao
de nomes plano e reduzem o trfego dividindo os nomes entre vrias mquinas de
mapeamento. A otimizao apenas por facilidade administrativa pode levar a solues que
tornam a delegao de autoridade fcil, mas o mapeamento de nomes dispendioso ou
complexo.
Para entender como o espao de nomes deve ser dividido, considere a estrutura
interna de grandes organizaes. No topo, um diretor executivo tem responsabilidade
geral. Como o diretor no pode supervisionar tudo, a organizao pode ser particionada em
divises, com um executivo encarregado de cada diviso. O diretor executivo concede a
cada diviso autonomia dentro de limites especificados. Mais diretamente ao ponto, o
executivo encarregado de determinada diviso pode contratar ou demitir funcionrios,
atribuir escritrios e delegar autoridade, sem pedir autorizao direta do diretor executivo.
Alm de facilitar a delegao de autoridade, a hierarquia de uma organizao grande
apresenta operao autnoma. Por exemplo, quando um trabalhador de escritrio precisa
de informaes como o nmero de telefone de um novo funcionrio, ele ou ela comea
perguntando aos funcionrios administrativos locais (que podem contatar funcionrios
administrativos em outras divises). O ponto que, embora a autoridade sempre passe para
baixo na hierarquia corporativa, a informao pode fluir pela hierarquia de um escritrio
para outro.
8.3.4

Delegao de autoridade para nomes

Um esquema de nomes hierrquico funciona como a administrao de uma grande


organizao. O espao de nomes particionado no nvel superior, e a autoridade para
nomes em subdivises passada para agentes designados. Por exemplo, algum poderia
decidir particionar o espao de nomes com base no nome do site e delegar a cada site
responsabilidade por manter nomes dentro de sua partio. O nvel superior da hierarquia
divide o espao de nomes e delega autoridade para cada diviso; ele no precisa se
preocupar com mudanas dentro de uma diviso.
Em geral, a sintaxe dos nomes atribudos hierarquicamente reflete a delegao
hierrquica de autoridade usada para atribu-los. Como exemplo, considere um espao de
nomes no formato:
local.site
onde o site o nome do site autorizado pela autoridade central, local a parte de um nome
controlada pelo site e o ponto (.) um delimitador usado para separ-los. Quando a
autoridade superior aprova a incluso de um novo site, X, ela acrescenta X lista de sites
vlidos e delega ao site X autoridade para todos os nomes que terminam com .X.

184

Apostila de Fundamentos de Redes de Computadores


8.3.5

Prof: Ricardo Quinto

Autoridade de subconjunto

Em um espao de nomes hierrquico, a autoridade pode ser subdividida ainda mais


em cada nvel. Em nosso exemplo de partio por sites, o prprio site pode consistir em
vrios grupos administrativos, e a autoridade do site pode escolher subdividir seu espao de
nomes entre os grupos. A idia manter a subdiviso do espao de nomes at que cada
subdiviso seja pequena o suficiente para ser administrvel.
Sintaticamente, a subdiviso do espao de nomes introduz outra partio do nome.
Por exemplo, a incluso de uma subdiviso de grupo para nomes j particionados por site
produz a seguinte sintaxe de nome:
local.group.site
Como o nvel mais alto delega autoridade, os nomes de grupo no precisam combinar
entre todos os sites. Um site de universidade poderia escolher nomes de grupo como
engenharia, cincia e artes, enquanto um site corporativo poderia escolher nomes de grupo
como produo, contabilidade e pessoal.
O sistema telefnico dos Estados Unidos oferece outro exemplo de sintaxe de nomes
hierrquica. Os dez dgitos de um nmero de telefone foram particionados em um cdigo
de rea de trs dgitos, uma central de trs dgitos e um nmero de assinante de quatro
dgitos dentro da central. Cada central tem autoridade para atribuir nmeros de assinante
dentro de sua parte do espao de nomes. Embora seja possvel agrupar assinantes
quaisquer em centrais e agrupar centrais quaisquer em cdigos de rea, a atribuio de
nmeros de telefone no caprichosa; eles so cuidadosamente escolhidos para facilitar o
roteamento de chamadas telefnicas pela rede telefnica.
O exemplo de telefone importante porque ilustra uma distino bsica entre o
esquema de nomes hierrquico usado em uma internet TCP/IP e outras hierarquias: o
particionamento do conjunto de mquinas possudas por uma organizao por linhas de
autoridade no necessariamente implica o particionamento do local fsico. Por exemplo,
pode ser que, em alguma universidade, um nico prdio acomode o departamento de
matemtica e tambm o departamento de cincia da computao. Pode acontecer at
mesmo que, embora as mquinas desses dois grupos fiquem sob domnios administrativos
completamente separados, elas se conectem mesma rede fsica. Tambm pode acontecer
que um nico grupo possua mquinas em vrias redes fsicas. Por esses motivos, o
esquema de nomes do TCP/IP permite a delegao arbitrria de autoridade para o espao de
nomes hierrquico sem considerar as conexes fsicas.
Naturalmente, em muitos sites, a hierarquia organizacional corresponde estrutura
das interconexes fsicas da rede. Por exemplo, suponha que os computadores em
determinado departamento se conectem mesma rede. Se o departamento tambm receber
parte da hierarquia de nomes, todas as mquinas com nomes nessa parte da hierarquia
tambm se conectaro a uma nica rede fsica.
8.3.6

Internet Domain Names

O Domain Name System (DNS) o sistema que fornece mapeamento de nome para
endereo para a Internet. O DNS possui dois aspectos conceitualmente independentes. O
primeiro abstrato: ele especifica a sintaxe de nome e as regras para delegar autoridade
sobre os nomes. O segundo concreto: ele especifica a implementao de um sistema de
computao distribudo que eficientemente mapeia nomes a endereos. Esta seo
considera a sintaxe de nome, e outras sees examinam a implementao.

185

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

O Domain Name System utiliza um esquema de nomes hierrquico conhecido como


nomes de domnio. Assim como em nossos exemplos anteriores, um nome de domnio
consiste em uma seqncia de subnomes separados por um caractere delimitador, o ponto.
Em nossos exemplos, dissemos que as sees individuais do nome poderiam representar
sites ou grupos, mas o sistema de nome de domnio simplesmente chama cada seo de
label. Assim, o nome de domnio
cs.purdue.edu
contm trs labels: cs, purdue e edu. Qualquer sufixo de um rtulo em um nome de
domnio tambm chamado de domnio. Nesse exemplo, o domnio de nvel mais baixo
cs.purdue.edu (o nome de domnio para o Computer Science Department na Purdue
University), o domnio de segundo nvel purdue.edu (o nome de domnio para a Purdue
University), e o domnio de alto nvel edu (o nome de domnio para instituies
educacionais). Como o exemplo mostra, os nomes de domnio so escritos com o rtulo
local primeiro e o domnio superior por ltimo. Conforme veremos, sua escrita na ordem
possibilita a compactao de mensagens que contm vrios nomes de domnio.
8.3.7

Domnios de nvel superior

Conceitualmente, os nomes de nvel superior permitem duas hierarquias de nomes


completamente diferentes: geogrfica e organizacional. O esquema geogrfico divide o
universo de mquinas por pas. As mquinas nos Estados Unidos ficam sob o domnio de
nvel superior us; quando outro pas deseja registrar mquinas no sistema de nome de
domnio, a autoridade central atribui ao pas um novo domnio de nvel superior com o
identificador de padro internacional do pas com duas letras como seu label. A autoridade
para o domnio US escolheu dividi-lo em um domnio de segundo nvel por estado. Por
exemplo, o domnio para o estado de Virginia
va.us
A Tabela 8.2 lista os nomes de domnio superior.
Nome do Domnio

Significado

aero
arpa
biz
com
coop
edu
gov
info
int
mil
museum
name
net
org
pro
Cdigo do pas

Setor de transporte areo


Domnio de infra-estrutura
Negcios
Organizao comercial
Associaes cooperativas
Instituio educacional (4 anos)
Governo dos Estados Unidos
Informao
Organizaes de tratado internacional
Militares dos Estados Unidos
Museus
Indivduos
Principais centros de suporte de rede
Organizaes diferentes das citadas
Profissionais credenciados
Cada pas (esquema geogrfico:br=Brasil; il=Israel; pt=Portugal)

Tabela 8.2 Os domnios de Internet de nvel superior e seus significados.

186

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Como alternativa hierarquia geogrfica, os domnios de alto nvel tambm


permitem que as organizaes sejam agrupadas por tipo organizacional. Quando uma
organizao deseja participar do sistema de nomes de domnio, ela escolhe como deseja ser
registrada e requisita aprovao. Um registrador de nome de domnio rev a aplicao e
atribui um subdomnio organizao sob um dos domnios existentes de nvel superior. O
proprietrio de determinado domnio de alto nvel pode decidir o que permitir e como
particionar o espao de nomes ainda mais. Por exemplo, no Reino Unido, que possui o
cdigo de pas de duas letras uk, as universidades e outras instituies acadmicas so
registradas sob o domnio ac.uk.
Um exemplo poder ajudar a esclarecer o relacionamento entre a hierarquia de nomes
e a autoridade para nomes. Uma mquina chamada xinu no Computer Science Department
da Purdue University tem o nome de domnio oficial
xinu.cs.purdue.edu
O nome da mquina foi aprovado e registrado pelo administrador da rede local no
Computer Science Department. O administrador do departamento anteriormente obteve
autoridade para o subdomnio cs.purdue.edu por uma autoridade de rede da universidade,
que obteve permisso para administrar o subdomnio purdue.edu da autoridade da Internet.
A autoridade da Internet retm controle do domnio edu, de modo que novas universidades
s podem ser acrescentadas com sua permisso. De modo semelhante, o gerente de rede da
universidade, na Purdue University, retm autoridade para o subdomnio purdue.edu, de
modo que novos domnios de terceiro nvel s podem ser acrescentados com a permisso
do administrador.
A Figura 8.4 ilustra uma pequena parte da hierarquia de nome de domnio da Internet.
Como mostra a figura, a IBM Corporation, uma organizao comercial, registrou-se como
ibm.com, a Purdue University registrou-se como purdue.edu, e a National Science
Foundation, uma agncia do governo, registrou-se como nsfgov. Ao contrrio, a
Corporation for National Research Initiatives decidiu registrar-se sob a hierarquia
geogrfica como cnn.reston.va.us.

Figura 8.4 Uma pequena parte da hierarquia de nome de domnio da Internet.

187

Apostila de Fundamentos de Redes de Computadores


8.3.8

Prof: Ricardo Quinto

Sintaxe e tipo de nome

O sistema de nome de domnio bastante genrico, pois permite que vrias


hierarquias de nomes sejam incorporadas em um sistema. Para permitir que os clientes
distingam entre vrios tipos de entradas, cada item nomeado armazenado no sistema recebe
um tipo que especifica se ele o endereo de uma mquina, uma caixa de correio, um
usurio e assim por diante. Quando um cliente pede ao sistema de domnio para traduzir
um nome, ele precisa especificar o tipo de resposta desejada. Por exemplo, quando uma
aplicao de e-mail usa o sistema de domnio para traduzir um nome, ela especifica que a
resposta deve ser o endereo de uma central de correio. Uma aplicao de login remoto
especifica que busca o endereo IP de uma mquina. importante entender o seguinte:
determinado nome pode ser mapeado em mais de um item no sistema de domnio. O
cliente especifica o tipo de objeto desejado ao traduzir um nome, e o servidor retorna
objetos desse tipo.
Alm de especificar o tipo de resposta procurada, o sistema de domnio permite que o
cliente especifique a famlia de protocolo a usar. O sistema de domnio particiona o
conjunto inteiro de nomes por classe, permitindo que um nico banco de dados armazene
mapeamentos para vrios conjuntos de protocolos.
A sintaxe de um nome no determina que tipo de objeto ele nomeia ou a classe do
conjunto de protocolos. Em particular, o nmero de labels em um nome no determina se o
nome se refere a um objeto individual (mquina) ou um domnio. Assim, em nosso
exemplo, possvel ter uma mquina chamada
gwen.purdue.edu
embora
cs. purdue. edu
nomeie um subdomnio. Podemos resumir este ponto importante: no se pode distinguir os
nomes dos subdomnios dos nomes dos objetos individuais ou do tipo de um objeto usando
apenas a sintaxe do nome de domnio.
8.3.9

Mapeando nomes de domnio para endereos

Alm das regras para a sintaxe de nome e delegao de autoridade, o esquema de


nome de domnio inclui um sistema distribudo eficiente, confivel, de uso geral, para
mapear nomes a endereos. O sistema distribudo no sentido tcnico, significando que
um conjunto de servidores operando em vrios sites soluciona cooperativamente o
problema de mapeamento. Ele eficiente no mesmo sentido de que a maioria dos nomes
pode ser mapeada localmente; somente alguns exigem trfego de internet. Ele de uso
geral porque no est restrito a nomes de mquina (embora usaremos esse exemplo por
enquanto). Finalmente, ele confivel porque nenhuma falha de mquina isolada impedir
que o sistema opere corretamente.
O mecanismo de domnio para o mapeamento de nomes a endereos consiste em
sistemas independentes, cooperativos, chamados servidores de nome. Um servidor de
nome um programa servidor que fornece traduo de nome para endereo, mapeando de
nomes de domnio para endereos IP. Normalmente, o software servidor executado em
um processador dedicado, e a prpria mquina chamada servidor de nome. O software
cliente, chamado tradutor de nome, utiliza um ou mais servidores de nome ao traduzir um
nome.

188

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

O modo mais fcil de entender como os servidores de domnio funcionam imaginlos arrumados em uma estrutura de rvore que corresponde hierarquia de nomeao,
como ilustra a Figura 8.5. A raiz da rvore um servidor que reconhece os domnios de
alto nvel e sabe qual servidor traduz cada domnio. Dado um nome para traduzir, a raiz
pode escolher o servidor correto para esse nome. No prximo nvel, um conjunto de
servidores de nome oferece respostas para um domnio de alto nvel (por exemplo, edu).
Um servidor nesse nvel sabe quais servidores podem traduzir cada um dos subdomnios
sob seu domnio. No terceiro nvel da rvore, os servidores de nomes oferecem respostas
para subdomnios (por exemplo, purdue sob edu). A rvore conceitual continua com um
servidor em cada nvel para o qual um subdomnio foi definido.

Figura 8.5 A organizao conceitual dos servidores de nome de domnio.

Os links na rvore conceitual no indicam conexes fsicas de rede. Em vez disso,


eles mostram quais outros servidores de nomes determinado servidor conhece e contata. Os
prprios servidores podem estar localizados em locais quaisquer em uma internet. Assim, a
rvore de servidores uma abstrao que usa uma internet para comunicao.
Se os servidores no sistema de domnio funcionassem exatamente como nosso
modelo simplista sugere, o relacionamento entre conectividade e autorizao seria muito
simples. Quando a autoridade fosse concedida a um subdomnio, a organizao que a
solicitou teria de estabelecer um servidor de nome de domnio para esse subdomnio e
vincul-lo rvore.
Na prtica, o relacionamento entre a hierarquia de nomes e a rvore de servidores no
to simples quanto nosso modelo implica. A rvore de servidores possui poucos nveis,
pois um nico servidor fsico pode conter toda a informao para grandes partes da
hierarquia de nomes. Em particular, as organizaes normalmente coletam informaes de
todos os seus subdomnios para um nico servidor. A Figura 8.6 mostra uma organizao
mais realista dos servidores para a hierarquia de nomes da Figura 8.4.
Um servidor raiz contm informaes sobre a raiz e domnios de alto nvel, e cada
organizao utiliza um nico servidor para seus nomes. Como a rvore de servidores
superficial, no mximo dois servidores precisam ser contatados para traduzir um nome
como xinu.cs.purdue.edu: o servidor raiz e o servidor para o domnio purdue.edu (ou seja, o
servidor raiz sabe qual servidor trata de purdue.edu, e a informao de domnio inteira para
Purdue reside em um servidor).

189

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 8.6 Uma organizao realista de servidores para a Hierarquia de nomes.

8.3.10

Traduo de nome de domnio

Embora a rvore conceitual facilite a compreenso do relacionamento entre os


servidores, ela esconde diversos detalhes sutis. O exame do algoritmo de traduo de
nomes ajudar a explic-los. Conceitualmente, a traduo de nome de domnio prossegue
de cima para baixo, comeando com o servidor de nomes raiz e prosseguindo para
servidores localizados nas folhas da rvore. Existem duas maneiras de usar o sistema de
nome de domnio: contatando servidores de nomes um de cada vez ou pedindo ao sistema
de servidor de nomes para realizar a traduo completa. De qualquer forma, o software
cliente forma uma consulta de nome de domnio que contm o nome a ser traduzido, uma
declarao da classe do nome, o tipo da resposta desejada e um cdigo que especifica se o
servidor de nomes deve traduzir o nome completamente. Ele envia a consulta a um
servidor de nomes para traduo.
Quando um servidor de nomes de domnio recebe uma consulta, ele verifica se o
nome se encontra no subdomnio para o qual uma autoridade. Nesse caso, ele traduz o
nome para um endereo, de acordo com seu banco de dados, e anexa uma resposta
consulta antes de envi-la de volta ao cliente. Se o servidor de nomes no puder traduzir o
nome completamente, ele procura ver que tipo de interao o cliente especificou. Se o
cliente solicitou traduo completa (traduo recursiva, na terminologia de nome de
domnio), o servidor contata um servidor de nomes de domnio que pode traduzir o nome e
retorna a resposta ao cliente. Se o cliente solicitou traduo no recursiva (traduo
iterativa), o servidor de nomes no pode fornecer uma resposta. Ele gera uma resposta que
especifica o servidor de nomes que o cliente deve contatar em seguida para traduzir o
nome.
Como um cliente encontra um servidor de nomes em que comear a busca? Como
um servidor de nomes encontra outros servidores de nomes que possam responder a
perguntas quando ele no puder? As respostas so simples. Um cliente precisa saber como
contatar pelo menos um servidor de nomes. Para garantir que um servidor de nome de
domnio possa alcanar outros, o sistema de domnio exige que cada servidor saiba o
endereo de pelo menos um servidor raiz1. Alm disso, um servidor pode saber o endereo
de um servidor para o domnio imediatamente acima dele (chamado de pai).
Os servidores de nome de domnio utilizam uma porta de protocolo bem conhecida
para toda a comunicao, de modo que os clientes saibam como se comunicar com um

Por confiabilidade, existem vrios servidores para cada n na rvore do servidor de domnio; o servidor raiz replicado
ainda mais para fornecer balanceamento de carga.

190

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

servidor uma vez conhecendo o endereo IP da mquina em que o servidor executado.


No existe um modo padro para os hosts localizarem uma mquina no ambiente local em
que um servidor de nomes executado; isso fica para quem projetar o software cliente. Em
alguns sistemas, o endereo da mquina que fornece o servio de nome de domnio est
vinculado a programas aplicativos em tempo de compilao, enquanto em outros, o
endereo armazenado em um arquivo no armazenamento secundrio. Muitos sistemas
obtm o endereo de um servidor de domnio automaticamente como parte do processo de
bootstrap.
8.3.11

Traduo eficiente

Embora possa parecer natural resolver consultas descendo pela rvore de servidores
de nomes, isso pode causar ineficincias por trs motivos. Primeiro, a maior parte da
traduo de nome se refere a nomes locais, encontrados dentro da mesma subdiviso do
espao de nomes que a maquina da qual a requisio origina. Rastrear um caminho pela
hierarquia para contatar a autoridade local seria ineficiente. Segundo, se cada traduo de
nome sempre iniciasse contatando o nvel mais alto da hierarquia, a mquina nesse ponto
ficaria sobrecarregada. Terceiro, a falha das mquinas nos nveis mais altos da hierarquia
impediria a traduo de nomes, mesmo que a autoridade local pudesse traduzir o nome. A
hierarquia de nomes de telefone mencionada anteriormente ajuda a explicar. Embora os
nmeros de telefone sejam atribudos hierarquicamente, eles so traduzidos de baixo para
cima. Como a maioria das ligaes telefnicas local, elas podem ser traduzidas pela
central local sem pesquisar a hierarquia. Alm do mais, as chamadas dentro de
determinado cdigo de rea podem ser traduzidas sem contatar sites fora do cdigo de rea.
Quando aplicadas a nomes de domnio, essas idias levam a um mecanismo de traduo de
nome de duas etapas, que preserva a hierarquia administrativa, mas permite a traduo
eficiente.
Dissemos que a maioria das consultas a servidores de nomes refere-se a nomes locais.
No processo de traduo de nomes em duas etapas, a traduo comea com o servidor de
nomes local. Se o servidor local no puder traduzir um nome, a consulta precisa ento ser
enviada a outro servidor no sistema de domnio.
8.3.12

Caching: a chave para a eficincia

O custo de pesquisa para nomes no locais pode ser extremamente alto se os


tradutores enviarem cada consulta ao servidor raiz. Mesmo que as consultas pudessem ir
diretamente para o servidor que tem autoridade para o nome, a pesquisa de nome pode
apresentar uma carga intensa para uma internet. Assim, para melhorar o desempenho geral
de um sistema servidor de nomes, necessrio reduzir o custo de pesquisa para nomes no
locais.
Os servidores de nomes da Internet utilizam o caching para otimizar os custos de
pesquisa. Cada servidor mantm um cache de nomes recentemente usados, alm de um
registro de onde a informao de mapeamento para esse nome foi obtida. Quando um
cliente pede ao servidor para traduzir um nome, o servidor primeiro verifica se tem
autoridade para o nome de acordo com o procedimento padro. Se no, o servidor verifica
seu cache para ver se o nome foi traduzido recentemente. Os servidores do informaes
do cache aos clientes, mas as marcam como um vnculo no-autorizado, e do o nome de
domnio do servidor, S, do qual obtiveram o vnculo. O servidor local tambm envia
informaes adicionais que dizem ao cliente o vnculo entre S e um endereo IP. Portanto,
os clientes recebem respostas rapidamente, mas a informao pode estar desatualizada. Se
a eficincia for importante, o cliente decidir aceitar a resposta no-autorizada e prosseguir.

191

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Se a preciso for mais importante, o cliente decidir contatar a autoridade e verificar se o


vnculo entre nome e endereo ainda vlido.
O caching funciona bem no sistema de nome de domnio porque os vnculos entre
nome e endereo mudam com pouca freqncia. Porm, eles mudam. Se os servidores
colocassem informaes em cache na primeira vez que ela fosse solicitada e nunca as
atualizassem, as entradas no cache ficariam passadas (ou seja, incorretas). Para manter o
cache correto, os servidores temporizam cada entrada e descartam as entradas que excedem
um tempo razovel. Quando um servidor precisa de informaes depois que a entrada em
seu cache foi removida, ele precisa voltar origem autorizada e obter o vnculo novamente.
Mais importante, os servidores no aplicam um nico timeout fixo a todas as entradas, mas
permitem que a autoridade para uma entrada configure seu timeout. Sempre que uma
autoridade responde a uma solicitao, ela inclui um valor Time To Live (TTL) na resposta,
que especifica por quanto tempo ele garante que o vnculo permanecer vlido. Assim, as
autoridades podem reduzir o overhead de rede especificando timeouts longos para entradas
que esperam permanecer inalteradas, enquanto melhoram a exatido especificando timeouts
curtos para entradas que devero mudar com freqncia.
O caching importante nos hosts e tambm em servidores de nome de domnio
locais. A maioria dos softwares tradutores coloca entradas de DNS em cache no host.
Assim, se um usurio pesquisar o mesmo nome repetidamente, pesquisas subseqentes
podem ser traduzidas do cache local sem usar a rede.
8.4

Correio Eletrnico

Uma facilidade de correio eletrnico (e-mail) permite que os usurios enviem


memorandos pela Internet. O e-mail um dos servios mais usados, pois fornece um mtodo
rpido e conveniente de transferir informaes, acomoda pequenas notas ou memorandos
grandes e volumosos e permite a comunicao entre os indivduos ou entre um grupo.
O correio eletrnico difere fundamentalmente da maioria dos outros usos das redes, pois
um sistema de correio precisa providenciar instncias quando o destino remoto
temporariamente inalcanvel. Para lidar com a entrega adiada, os sistemas de correio
eletrnico utilizam uma tcnica conhecida como spooling. Quando o usurio envia uma
mensagem de correio, o sistema coloca uma cpia em seu armazenamento privado (chamado
spool1) junto com a identificao do emissor, destinatrio, mquina de destino e tempo de
depsito. O sistema, ento, inicia a transferncia para a mquina remota como uma atividade
em segundo plano, permitindo que o emissor prossiga com outras atividades computacionais. A
Figura 8.7 ilustra o conceito.
O processo de transferncia de correio em segundo plano se torna um cliente que usa o
sistema de nome de domnio para mapear o nome da mquina de destino a um endereo IP e
depois tenta formar uma conexo TCP com o servidor de correio na mquina de destino. Se
tiver sucesso, o processo de transferncia passa uma cpia da mensagem ao servidor remoto,
que armazena a cpia na rea de spool do sistema remoto. Quando o cliente e o servidor
concordam que a cpia foi aceita e armazenada, o cliente remove a cpia local. Se no puder
formar uma conexo TCP ou se a conexo falhar, o processo de transferncia registra a hora em
que a entrega foi tentada e termina. O processo de transferncia em segundo plano varre a rea
de spool periodicamente, normalmente uma vez a cada 30 minutos, procurando correio no
entregue. Sempre que encontra uma mensagem ou sempre que um usurio deposita novo

Uma rea de spool de correio s vezes chamada de fila de correio, embora o termo seja tecnicamente impreciso.

192

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

correio de sada, o processo em segundo plano tenta a entrega. Se descobrir que uma mensagem
de correio no pode ser entregue aps algumas horas, o software de correio informa ao emissor;
depois de um tempo estendido (por exemplo, 3 dias), o software de correio retorna a mensagem
ao emissor.

Figura 8.7 Componentes conceituais de uma sistema de correio eletrnico.

8.4.1

Nomes e aliases da caixa de correio

Existem trs idias importantes escondidas em nossa descrio simples da entrega de


correio. Primeiro, os usurios especificam cada destinatrio dando uma string de texto que
contm dois itens separados por um sinal de arroba:
parte-local@nome-domnio
onde nome-domnio o nome de domnio de um destino ao qual o correio deve ser
entregue, e parte-local o endereo de uma caixa de correio nessa mquina. Por exemplo,
o endereo de correio eletrnico do professor :
rgquintao@yahoo.com.br
Segundo, os nomes usados nessas especificaes so independentes de outros nomes
atribudos s mquinas. Normalmente, uma caixa de correio igual ao id de login de um
usurio, e o nome de domnio de um computador usado como destino de correio. Porm,
muitos outros projetos so possveis. Por exemplo, uma caixa de correio pode designar um
cargo como chefe-departamento. Como o sistema de nome de domnio inclui um tipo de
consulta separado para destinos de correio, possvel desacoplar os nomes de destino de
correio dos nomes de domnio normais para mquinas. Assim, o correio enviado a um
usurio em exemplo.com pode ir para uma mquina diferente de uma requisio ping
enviada ao mesmo nome. Terceiro, nosso diagrama simplista falha ao considerar o
encaminhamento de correio, em que algum correio que chega em determinada mquina
encaminhado a outra mquina.
8.4.2

Expanso de alias e encaminhamento de correio

A maioria dos servidores de correio eletrnico fornece um software de


encaminhamento de correio (mail forwarder) que inclui um mecanismo de expanso de
alias de correio. Um encaminhador permite que as cpias de uma mensagem de entrada
sejam enviadas a um ou mais destinos. Normalmente, o servidor consulta um banco de
dados pequeno de aliases de correio para mapear um endereo de destinatrio em conjunto
de endereos, A, e depois encaminha uma cpia para cada endereo em A.

193

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 8.8 Uma extenso do sistema de correio da Figura 8.7.

Como eles podem ser muitos-para-um ou um-para-muitos, os mapeamentos de alias


aumentam substancialmente a funcionalidade e a convenincia do sistema de correio. Um
nico usurio pode ter vrios identificadores de correio, ou um grupo pode ter um nico
alias de correio. No ltimo caso, o conjunto de destinatrios associado a um identificador
chamado de lista de correspondncia eletrnica. A Figura 8.8 ilustra os componentes de
um sistema de correio que admite aliases de correio e expanso de lista.
Como mostra a figura, o correio de entrada e sada passa pelo encaminhador de
correio que expande aliases. Assim, se o banco de dados de alias especificar que o
endereo de correio x mapeado para o substituto y, a expanso de alias reescrever o
endereo de destino x, trocando por y. O programa de expanso de alias, ento, determina
se y especifica um endereo local ou remoto, de modo que saiba se deve colocar a
mensagem na fila de correio que chega ou de correio que sai.
A expanso de alias de correio pode ser perigosa. Suponha que dois sites
estabeleam aliases em conflito. Por exemplo, suponha que o site A mapeie o endereo de
correio x para o endereo de correio y no site B, enquanto o site B mapeia o endereo de
correio y no endereo x do site A. Uma mensagem de correio enviada ao endereo x no
site A poderia ricochetear para sempre entre os dois sites1.
8.4.3

Padres do TCP/IP para servio de correio eletrnico

Lembre-se de que o objetivo do esforo do protocolo TCP/IP providenciar


interoperabilidade pela maior faixa de sistemas de computador e redes possvel. Para
estender a interoperabilidade do correio eletrnico, o TCP/IP divide seus padres de correio
em dois conjuntos. Um padro, dado na RFC 2822, especifica o formato sinttico usado
para mensagens de correio; o outro padro especifica os detalhes da troca de correio
eletrnico entre dois computadores.
De acordo com a RFC 2822, uma mensagem de correio representada em formato
texto e dividida em duas partes: um cabealho e um corpo, que so separados por uma linha
em branco. O padro para mensagens de correio especifica o formato exato dos cabealhos
de correio, alm da interpretao semntica de cada campo de cabealho; ele deixa o

Na prtica, a maior parte dos encaminhadores de correio (mail forwarders) termina as mensagens aps o nmero de
trocas atingir um limite predeterminado.

194

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

formato do corpo a cargo do emissor. Em particular, o padro especifica que os cabealhos


contm texto legvel, dividido em linhas que consistem em uma palavra-chave seguida por
um sinal de dois pontos seguido por um valor. Algumas palavras-chave so obrigatrias,
outras so opcionais, e o restante no interpretado. Por exemplo, o cabealho precisa
conter uma linha que especifica o destino. A linha comea com To: contm o endereo
de correio eletrnico do destinatrio no restante da linha. Uma linha que comea com
From: contm o endereo de correio eletrnico do emissor. Opcionalmente, o emissor
pode especificar um endereo para o qual as respostas devem ser enviadas (ou seja, permitir
que o emissor especifique que as respostas devem ser enviadas para um endereo diferente
da caixa de correio do emissor). Se estiver presente, uma linha que comea com Replyto: especifica o endereo para respostas. Se no houver uma linha assim, o destinatrio
usar informaes na linha From: como endereo de retorno.
O formato da mensagem de correio escolhido para que se torne fcil processar e
transportar dados por mquinas heterogneas. Manter o formato do cabealho de correio
simples permite que ele seja usado em uma grande variedade de sistemas. Restringir as
mensagens a texto legvel evita os problemas de selecionar uma representao binria
padro e traduzir entre a representao padro e a representao da mquina local.
8.4.4

Simple Mail Transfer Protocol (SMTP)

Alm dos formatos de mensagem, o conjunto de protocolos TCP/IP especifica um


padro para a troca de correio entre as mquinas. Ou seja, o padro especifica o formato
exato das mensagens que um cliente em uma mquina utiliza a fim de transferir correio
para um servidor em outra mquina. O protocolo de transferncia padro conhecido
como Simple Mail Transfer Protocol (SMTP). Como voc poderia imaginar, o SMTP
mais simples do que o anterior Mail Transfer Protocol (MTP). O protocolo SMTP foca
especificamente como o sistema de entrega de correio subjacente passa mensagens por uma
internet de uma mquina para outra. Ele no especifica como o sistema de correio aceita
correio de um usurio ou como a interface com o usurio apresenta o correio que chega ao
usurio. Alm disso, o SMTP no especifica como o correio armazenado ou com que
freqncia o sistema de correio tenta enviar mensagens.
SMTP surpreendentemente simples. A comunicao entre um cliente e o servidor
consiste em texto ASCII legvel. Como em outros protocolos de aplicao, o programa l
os comandos abreviados e nmeros de 3 dgitos no incio das linhas; o texto restante serve
para ajudar os humanos a depurar o software de correio. Embora o SMTP defina
rigidamente o formato do comando, os humanos podem facilmente ler uma transcrio das
interaes entre um cliente e o servidor, pois cada comando aparece em uma linha
separada. Inicialmente, o cliente estabelece uma conexo de fluxo confivel com o servidor
e espera que o servidor envie uma mensagem 220 READY FOR MAIL. (Se o servidor
estiver sobrecarregado, ele pode adiar o envio da mensagem 220 temporariamente). Ao
receber a mensagem 220, o cliente envia um comando HELO1 (se o cliente admitir
extenses das RFC 2821, ele envia o comando HELO). O final de uma linha marca o
final de um comando. O servidor responde identificando-se. Quando a comunicao tiver
sido estabelecida, o emissor pode transmitir uma ou mais mensagens de correio e depois
terminar a conexo. O receptor precisa confirmar cada comando. Ele tambm pode abortar
a conexo inteira ou abortar a transferncia da mensagem atual.

HELO uma abreviatura para hello

195

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

As transaes de correio comeam com um comando MAIL que d a identificao


do emissor e tambm um campo FROM: que contm o endereo ao qual os erros devem
ser relatados. Um destinatrio prepara suas estruturas de dados para receber uma nova
mensagem de correio e responde a um comando MAIL enviando a resposta 250. A
resposta 250 significa que tudo est bem. A resposta completa consiste no texto 250 OK.
Aps um comando MAIL bem-sucedido, o emissor emite uma srie de comandos
RCPT que identificam os destinatrios da mensagem de correio. O receptor precisa
confirmar cada comando RCPT enviando 250 OK ou enviando a mensagem de erro
550 No such user here.
Depois que todos os comandos RCPT tiverem sido confirmados, o emissor emite
um comando DATA. Essencialmente, um comando DATA informa ao receptor que o
emissor est pronto para transferir uma mensagem de correio completa. O receptor
responde com a mensagem 354 Start mail input e especifica a seqncia de caracteres
usada para terminar a mensagem de correio. A seqncia de trmino consiste em 5
caracteres: carriage return, line feed, ponto, carriage return e line feed1.
Um exemplo esclarecer a troca SMTP. Suponha que o usurio Smith no host
Alpha.edu envie uma mensagem aos usurios Jones, Green e Brown, no host Beta.gov. O
software cliente SMTP no host Alpha.edu contata o software servidor de SMTP no host
Beta.gov e inicia a troca mostrada na Figura 8.9.
S: 220 Beta.gov Simple Mail Transfer Service Ready
C: HELO Alpha.edu
S: 250 Beta.gov
C: MAIL FROM:<Smith@Alpha.edu>
S: 250 OK
C: RCPT TO:<Jones@Beta.gov>
S: 250 OK
C: RCPT TO:<Green@Beta.gov>
S: 550 No such user here
C: RCPT TO:<Brown@Beta.gov>
S: 250 OK
C: DATA
S: 354 Start mail input; end with <CR><LF>.<CR><LF>
C: ...envia corpo da mensagem de correio...
C: ...continua pela quantidade de linhas que a mensagem tiver
C: <CR><LF>.<CR><LF>
S: 250 OK
C: QUIT
S: 221 Beta.gov Service closing transmission channel
Figura 8.9 Exemplo de transferncia SMTP de Alpha.edu para Beta.gov.

No exemplo, o servidor rejeita o destinatrio Green, pois no reconhece o nome como


um destino de correio vlido (ou seja, ele nem um usurio nem uma lista de correio). O
protocolo SMTP no especifica os detalhes de como um cliente trata desses erros, o cliente
precisa decidir. Embora os clientes possam abortar a entrega completamente se houver um
erro, a maioria dos clientes no faz isso. Em vez disso, eles continuam a entrega a todos os
destinatrios vlidos e depois informam sobre problemas com o emissor original.
Normalmente, o cliente informa erros usando o correio eletrnico. A mensagem de erro

O SMTP utiliza CR-LF para terminar uma linha e no permite que o corpo de uma mensagem tenha um ponto isolado em
uma linha.

196

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

contm um resumo do erro, alm do cabealho das mensagens de correio que causaram o
problema.
Quando tiver acabado de enviar todas as mensagens de correio, um cliente emite um
comando QUIT. O outro lado responde com o comando 221, que significa que ele
concorda em terminar. Os dois lados, ento, fecham a conexo TCP de forma controlada.
O SMTP muito mais complexo do que esboamos aqui. Por exemplo, se um
usurio tiver mudado, o servidor poder saber o novo endereo da caixa de correio do
usurio. O SMTP permite que o servidor informe ao cliente sobre o novo endereo, de
modo que o cliente possa us-lo no futuro. Ao informar ao cliente sobre um novo
endereo, o servidor pode decidir encaminhar o correio que disparou a mensagem, ou pode
requisitar que o cliente tenha responsabilidade pelo encaminhamento. Alm disso, o SMTP
inclui extenses Transport Layer Security (TLS) que permitem que uma sesso SMTP seja
criptografada.
8.4.5

Recuperao de correio e protocolos de manipulao de caixa de correio

O esquema de transferncia SMTP descrito anteriormente implica que um servidor


precisa permanecer pronto para aceitar o correio eletrnico o tempo todo. O cenrio
funciona bem se o servidor for executado em um computador que possui uma conexo
permanente com a Internet, mas no funciona bem para um computador que possui
conectividade intermitente (por exemplo, um computador laptop que est desconectado
quando estiver sendo movido). No faz sentido que esse computador execute um servidor
de correio eletrnico, pois o servidor s estar disponvel enquanto o computador do
usurio estiver conectado todas as outras tentativas de contatar o servidor falharo, e o
correio enviado ao usurio permanecer sem ser entregue. Surge a pergunta: como um
usurio sem uma conexo permanente recebe correio eletrnico?
A resposta para a pergunta est em um processo de entrega em dois estgios. No
primeiro estgio, cada usurio recebe uma caixa de correio em um computador que sempre
est ligada e possui uma conexo permanente com a Internet. O computador executa um
servidor SMTP convencional, que sempre permanece pronto para aceitar correio eletrnico.
No segundo estgio, o usurio se conecta Internet e depois executa um protocolo que
apanha mensagens da caixa de correio permanente. O protocolo transfere as mensagens
para o computador do usurio, de onde elas podem ser lidas.
Existem dois protocolos que permitem que um usurio remoto acesse o correio em
uma caixa de correio permanente. Embora tenham funcionalidade semelhante, os
protocolos utilizam tcnicas opostas: um permite que o usurio baixe uma cpia das
mensagens, e o outro permite que um usurio veja e manipule mensagens no servidor. As
duas sees seguintes descrevem os dois protocolos.
8.4.5.1

Post Office Protocol

O protocolo mais popular usado para transferir mensagens de correio eletrnico


de uma caixa de correio permanente para um computador local conhecido como
verso 3 do Post Office Protocol (POP3); uma verso segura do protocolo conhecida
como POP3S. O usurio invoca um cliente POP3, que cria uma conexo TCP com um
servidor POP3 no computador da caixa de correio. O usurio primeiro envia um login
e uma senha para autenticar a sesso. Quando a autenticao tiver sido aceita, o cliente
envia comandos para apanhar uma cpia de uma ou mais mensagens e excluir a
mensagem da caixa de correio permanente. As mensagens so armazenadas e
transferidas como arquivos de texto no formato do padro 2822.

197

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Observe que o computador com uma caixa de correio permanente precisa


executar dois servidores um servidor SMTP que aceita o correio enviado a um
usurio e acrescenta cada mensagem que chega caixa de correio permanente no
usurio, e um servidor POP3 que permite que um usurio extraia mensagens da caixa
de correio e as exclua. Para garantir a operao correta, os dois servidores precisam
coordenar o uso da caixa de correio, para que, se uma mensagem chegar por SMTP
enquanto um usurio estiver extraindo mensagens via POP3, a caixa de correio fique
em um estado vlido.
8.4.5.2

Internet Message Access Protocol

A verso 4 do Internet Message Access Protocol (IMAP4) uma alternativa ao


POP3, que permite que os usurios vejam e manipulem mensagens; uma verso segura
do IMAP foi definida, e conhecida como IMAPS. Assim como POP3, IMAP4
define uma abstrao conhecida como caixa de correio; as caixas de correio esto
localizadas no mesmo computador que um servidor. Tambm como o POP3, um
usurio executa um cliente IMAP4 que contata o servidor para manipular mensagens.
Porm, diferente do POP3, o IMAP4 permite que um usurio acesse mensagens de
correio a partir de vrios locais (por exemplo, do trabalho e de casa) e garante que
todas as cpias sejam sincronizadas e coerentes.
IMAP4 tambm prov funcionalidade estendida para recuperao e
processamento de mensagem. Um usurio pode obter informaes sobre uma
mensagem ou examinar campos de cabealho sem apanhar a mensagem inteira. Alm
disso, um usurio pode procurar uma string especificada e apanhar partes de uma
mensagem. A recuperao parcial especialmente til para conexes discadas de
baixa velocidade, pois significa que um usurio no precisa baixar informaes inteis.
8.5

FTP

A transferncia de arquivos est entre as aplicaes TCP/IP mais utilizadas e ainda


considera uma quantidade significativa de trfego da Internet. Os protocolos de transferncia de
arquivo padro existiam para a ARPANET antes de o TCP/IP se tornar operacional. Essas
primeiras verses do software de transferncia de arquivo evoluram para um padro atual
conhecido como File Transfer Protocol (FTP).
8.5.1

Recursos do FTP

Dado um protocolo de transporte ponto a ponto confivel como o TCP, a


transferncia de arquivos pode parecer simples. Entretanto, os detalhes da autorizao,
nomeao e representao entre mquinas heterogneas tornam o protocolo complexo.
Alm disso, o FTP oferece muitos recursos alm da funo de transferncia propriamente
dita.

Acesso interativo: Embora o FTP seja projetado para ser usado por programas, a
maioria das importaes tambm fornece uma interface interativa que permite aos
humanos interagirem com servidores remotos.

Especificao de formato: O FTP permite que o cliente especifique o tipo e a


representao dos dados armazenados. Por exemplo, o usurio pode especificar
se um arquivo contm texto ou dados binrios e se os arquivos de texto usam os
conjuntos de caracteres ASCII ou EBCDIC.

Controle de autenticao: O FTP exige que os clientes se autorizem enviando o


nome de login e uma senha para o servidor antes de requisitar transferncias de

198

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

arquivo. O servidor recusa acesso a clientes que no fornecem um login e uma


senha vlidos.
8.5.2

Modelo de processo do FTP

Como outros servidores, a maioria das implementaes de servidor FTP permite


acesso concorrente por vrios clientes. Os clientes usam o TCP para se conectarem a um
servidor. Como descrito anteriormente, um nico processo de servidor mestre espera
conexes e cria um processo escravo para manipular cada conexo. Diferente da maioria
dos servidores, no entanto, o processo escravo FTP no realiza toda a computao
necessria. Em vez disso, o escravo aceita e manipula uma conexo de controle atravs do
cliente, mas usa um processo adicional e uma conexo TCP adicional para manipular cada
operao de transferncia de dados. A conexo de controle transporta comandos que dizem
ao servidor qual arquivo transferir. Uma nova conexo TCP e um novo processo no lado
do cliente e do servidor so criados para cada operao de transferncia de dados (ou seja,
cada transferncia de arquivo). Embora os detalhes exatos da arquitetura do processo
dependam dos sistemas operacionais usados, a Figura 8.10 ilustra o conceito.

Figura 8.10 Um cliente e um servidor FTP com conexes TCP entre eles.

Como mostra a Figura 8.10, o processo de controle do cliente se conecta ao processo


de controle do servidor usando uma conexo TCP, enquanto os processos de transferncia
de dados associados usam sua prpria conexo TCP. Em geral, os processos de controle e a
conexo de controle permanecem ativos desde que o usurio mantenha a seo FTP ativa, e
uma conexo de transferncia de dados persiste para uma transferncia de arquivo.
8.5.3

Nmeros de porta TCP e conexes de dados

Quando um cliente forma uma conexo inicial com o servidor, o cliente usa um
nmero de porta de protocolo aleatrio e localmente atribudo e contata o servidor em uma
porta conhecida (21). Um servidor que usa apenas uma porta de protocolo pode aceitar
conexes de muitos clientes porque o TCP usa os dois lados para identificar uma conexo.
A pergunta que surge : Quando os processos de controle criam uma nova conexo TCP
para uma determinada transferncia de dados, que nmeros de porta de protocolo eles
usam? Obviamente, eles no podem usar o mesmo par de nmeros de porta usados na
conexo de controle. Em vez disso, o cliente obtm uma porta no usada em sua mquina,
envia o nmero de porta atravs da conexo de controle e espera que o servidor forme uma
conexo TCP com a porta especificada. Ou seja, quando forma uma conexo de dados, o
cliente FTP se torna um servidor e o servidor FTP se torna um cliente! Interessantemente,

199

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

quando forma uma conexo de dados, o servidor FTP usa uma porta bem conhecida: a porta
reservada para transferncia de dados FTP (20).
Podemos ver por que o protocolo usa duas conexes o processo de controle do
cliente obtm uma porta local para ser usada na transferncia de arquivo, cria um processo
de transferncia na mquina do cliente para escutar nessa porta, comunica o nmero de
porta para o servidor atravs da conexo de controle e depois espera que o servidor
estabelea uma conexo TCP com a porta. Em geral, alm de passar comandos do usurio
para o servidor, o FTP usa a conexo de controle para permitir que os processos de controle
do cliente e do servidor coordenem seu uso das portas de protocolo TCP dinamicamente
atribudas e a criao dos processos de transferncia de dados que usam essas portas.
Como o projeto FTP original no funciona bem com firewalls de segurana e
sistemas NAT, uma extenso foi acrescentada. Conhecida como FTP passivo, a extenso
permite que um cliente inicie cada conexo de transferncia de dados, o que significa que o
FTP pode ser usado atravs de um firewall ou sistema NAT sem ser um caso especial. A
maioria dos servidores e clientes FTP aceita a extenso de FTP passivo.
Que formato o FTP deve usar para transferncia de dados atravs da conexo de
controle? Embora pudessem ter inventado uma nova especificao, os projetistas do FTP
no o fizeram. Em vez disso, eles permitem que o FTP use o protocolo de terminal virtual
de rede TELNET. Diferente do protocolo TELNET completo, o FTP no permite
negociao de opo. Em vez disso, o FTP usa apenas a definio NVT bsica, que torna o
gerenciamento de uma conexo de controle FTP muito mais simples do que o
gerenciamento de uma conexo TELNET. Apesar de suas limitaes, usar a definio
TELNET em vez de criar uma nova definio ajuda a simplificar o FTP consideravelmente.
8.5.4

A viso do usurio do FTP

Embora o FTP tenha sido originalmente implementado como um programa aplicativo


interativo, poucos usurios agora chamam o FTP diretamente. Em vez disso, muitos
usurios acessam FTP atravs de um navegador Web. Portanto, suponha que algum tenha
colocado uma cpia on-line de um livro-texto em um arquivo chamado tcpbook.tar no
diretrio /pub/comer no computador ftp.cs.purdue.edu. Para obter uma cpia, um usurio
pode iniciar um navegador e digitar o seguinte URL:
ftp://ftp.cs.purdue.edu/pub/comer/tcpbook.tar
O navegador recuperar uma cpia do arquivo. Alm disso, se o usurio digitar uma
URL que corresponda a um diretrio, o navegador exibir uma lista dos arquivos no
diretrio:
ftp://ftp.cs.purdue.edu/pub/comer
8.5.5

FTP annimo

Embora o mecanismo de autorizao do FTP possa ajudar a impedir que arquivos


confidenciais sejam acessados, exigir um login e uma senha probe que os usurios acessem
arquivos pblicos at que o usurio obtenha uma conta. Para fornecer acesso a arquivos
pblicos, a maioria dos sites TCP/IP permite FTP annimo. O acesso de FTP annimo
significa que um cliente no precisa de uma conta ou senha. Em vez disso, o usurio
especifica o nome de login anonymous e uma senha igual ao endereo de e-mail do usurio
ou a senha guest. Um servidor que permite logins annimos restringe o acesso a arquivos
publicamente disponveis.

200

Apostila de Fundamentos de Redes de Computadores


8.6

Prof: Ricardo Quinto

World Wide Web HTTP

At a dcada de 90, a Internet era usada basicamente por pesquisadores, acadmicos e


estudantes universitrios. Eles a usavam para se interligar com hosts remotos, transferir
arquivos de hosts locais para hosts remotos e vice-versa, enviar e receber notcias e enviar e
receber correio eletrnico. Embora essas aplicaes fossem (e continuem a ser) muito teis, a
Internet no era conhecida fora das comunidades acadmica e de pesquisa. Ento, no incio da
dcada de 90, entrou em cena a aplicao-chave da Internet a WWW. A Web foi a aplicao
da Internet que chamou a ateno do pblico em geral. Ela est provocando uma drstica
transformao na maneira como as pessoas interagem dentro e fora de seu ambiente de trabalho.
Ela gerou milhares de novas empresas. Elevou a Internet do nvel que ocupava, como apenas
mais uma das muitas redes de dados (inclusive redes on-line como a Prodigy, a America Online
e a Compuserve, redes de dados de alcance nacional como a Minitel/franspac da Frana, a rede
privada X.25 e as redes frame relay), para o nvel que agora ocupa, como, essencialmente, a
nica rede de dados.
A histria est repleta de exemplos de lanamentos de tecnologias de comunicao
eletrnica que provocaram enormes impactos sociais. A primeira dessas tecnologias foi o
telefone, inventado na dcada de 1870. O telefone permitiu que duas pessoas se comunicassem
oralmente em tempo real, sem que estivessem na mesma localizao fsica. Ele causou um
grande impacto na sociedade tanto bom quanto mau. Outra tecnologia de comunicao
eletrnica que provocou enorme impacto social foi a transmisso de grande alcance de
rdio/televiso. Surgida no perodo 1920 1930, a transmisso de rdio (e mais tarde a de
televiso) permitiu que o pblico recebesse vastas quantidades de informao. Ela tambm
causou um enorme impacto na sociedade tanto bom quanto mau. A terceira grande tecnologia
de comunicao que mudou o modo de viver das pessoas foi a Web. Talvez o que mais atrai a
maioria dos usurios da Web o fato de ela funcionar por demanda. Os usurios recebem o que
querem e quando querem. Isso no igual transmisso de rdio e de televiso, que fora o
usurio a sintonizar apenas quando o provedor disponibiliza o contedo. Alm de funcionar
por demanda, a Web tem muitas outras caractersticas maravilhosas que as pessoas adoram e
apreciam. muitssimo fcil para qualquer indivduo fazer com que uma informao fique
disponvel na Web; todo mundo pode se transformar em editor a um custo extremamente baixo.
Os hiperlinks e os dispositivos de busca nos ajudam a navegar pelo oceano dos sites Web.
Grficos e animaes grficas estimulam nossos sentidos. Formulrios, applets e componentes
Active X, bem como muitos outros dispositivos, nos habilitam a interagir com as pginas e os
sites. E a Web est sempre oferecendo mais e mais menus de interface para vastas quantidades
de material de vdeo e udio armazenados na Internet udio e vdeo que podem ser acessados
por demanda.
8.6.1

Descrio Geral do HTTP.

O HTTP (HiperText Transfer Protocol Protocolo de Transferncia de Hipertextos),


o protocolo de camada de aplicao da Web, est implementado em dois programas: um
programa cliente e um programa servidor. O programa cliente e o programa servidor,
executados em diferentes sistemas finais, conversam pela troca de mensagens HTTP. O
HTTP define a estrutura dessas mensagens e o modo como o cliente e o servidor trocam as
mensagens. Antes de examinarmos detalhadamente o HTTP, bastante til revisarmos a
terminologia da Web.
Uma pgina Web (Web Page tambm chamada de documento) constituda de
objetos. Um objeto simplesmente um arquivo tal como um arquivo HTML, uma
imagem JPEG, uma imagem GIF, um applet Java, um clipe de udio e assim por diante
que se pode acessar por meio de uma nica URL. A maioria das pginas Web constituda
201

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

de um arquivo-base HTML e diversos objetos relacionados. Por exemplo, se uma pgina


Web contiver texto em HTML e cinco imagens JPEG, ento a pgina Web tem seis objetos:
o arquivo-base em HTML e mais as cinco imagens. O arquivo-base HTML relaciona os
outros objetos da pgina com suas URLs. Cada URL tem dois componentes: o nome do
host do servidor que abriga o objeto e o nome do caminho do objeto. Por exemplo, a URL
www.someSchool.edu/someDepartment/picture.gif
tem www.someSchool.edu como nome de host e /someDepartment/picture.gif como nome
do caminho. Um browser um agente usurio para a Web; ele apresenta a pgina Web
solicitada e fornece numerosas caractersticas de navegao e de configurao. Os
browsers Web tambm implementam o lado cliente do HTTP. Assim, no contexto da Web,
podemos permutar as palavras browser e cliente. So browsers populares o Netscape
Communicator e o Microsoft Internet Explorer. Um servidor Web abriga objetos Web,
cada um endereado por uma URL. Os servidores Web tambm implementam o lado
servidor do HTTP. Dentre os servidores populares da Web esto o Apache, o Microsoft
Internet Information Server e o Netscape Enterprise Server.
O HTTP define como os clientes Web (isto , os browsers) solicitam pginas Web aos
servidores (isto , aos servidores Web) e como os servidores transferem pginas Web aos
clientes. Vamos discutir em detalhes a interao entre cliente e servidor mais adiante, mas
a idia geral est ilustrada na Figura 8.11. Quando um usurio solicita uma pgina Web
(por exemplo, clica sobre um hiperlink), o browser envia ao servidor mensagens de
requisio HTTP para os objetos da pgina. O servidor recebe as requisies e responde
com uma mensagem de resposta HTTP que contm os objetos. At 1997, essencialmente
todos os browsers e servidores Web implementavam a verso HTTP/1.0, que definida no
RFC 1945. A partir de 1998, alguns servidores Web e browsers comearam a implementar
a verso HTTP/1.1, que est definida no RFC 2616. O HTTP/1.1 compatvel com o
HTTP/1.0; um servidor Web que roda a verso 1.1 pode conversar com um browser que
roda a verso 1.0, e um browser que roda a verso 1.1 pode conversar com um servidor
que roda a verso 1.0.

Figura 8.11 Comportamento de requisio-resposta do HTTP.

202

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Tanto o HTTP/1.0 quanto o HTTP/1.1 usam o TCP como seu protocolo de transporte
subjacente (em vez de utilizarem o UDP). O cliente HTTP primeiramente inicia uma
conexo TCP com o servidor. Assim que a conexo estabelecida, os processos do
browser e do servidor acessam o TCP por meio de sua interface de porta. Como descrito
anteriormente, no lado cliente a porta o meio de comunicao entre o processo cliente e a
conexo TCP; no lado servidor, ela o caminho entre o processo servidor e a conexo TCP.
O cliente envia mensagens de requisio HTTP para a interface desse protocolo atravs da
porta e recebe mensagens de resposta HTTP de sua interface de porta. De maneira
semelhante, o servidor HTTP recebe mensagens de requisio de sua interface de porta e
envia mensagens de resposta atravs da interface de porta. Assim que o cliente envia uma
mensagem para sua interface de porta, a mensagem sai de suas mos e passa para as
mos do TCP. Lembre-se de que o TCP fornece ao HTTP um servio confivel de
transferncia de dados. Isso significa que toda mensagem de requisio HTTP emitida por
um processo cliente chegar intacta ao servidor. Percebemos, nesse ponto, uma das
grandes vantagens de uma arquitetura de camadas o HTTP no precisa se preocupar com
dados perdidos ou com os detalhes de como o TCP recupera a perda de dados ou os
reordena dentro da rede. Esta uma tarefa do TCP e dos protocolos das camadas mais
inferiores da pilha de protocolos.
O TCP tambm emprega um mecanismo de controle de congestionamento. Esse
mecanismo fora toda nova conexo TCP a transmitir, de incio, dados a uma velocidade
relativamente baixa, mas depois permite que toda conexo acelere at uma velocidade
relativamente alta quando a rede no est congestionada. A fase inicial de transmisso
vagarosa conhecida como partida lenta.
importante notar que o servidor envia os arquivos solicitados ao cliente sem
armazenar nenhuma informao de estado sobre o cliente. Se um determinado cliente
solicita o mesmo objeto duas vezes em um perodo de poucos segundos, o servidor no
responde dizendo que ele acabou de servir o objeto ao cliente; em vez disso, ele reenvia o
objeto, pois j esqueceu completamente o que fez antes. Como o servidor HTTP no
mantm nenhuma informao sobre os clientes, ele chamado de protocolo sem estado.
8.6.2

Conexes no persistentes e conexes persistentes

O HTTP pode usar conexes no persistentes e conexes persistentes. O HTTP/l.0


usa conexes no persistentes. O modo default do HTTP/1.1, por sua vez, usa conexes
persistentes.
8.6.2.1

Conexes no persistentes

Vamos percorrer os estgios da transferncia de uma pgina Web de um servidor


para um cliente para o caso de conexes no persistentes. Suponha que uma pgina
consista em um arquivo-base HTML e em dez imagens JPEG e que todos esses 11
objetos residam no mesmo servidor. Suponha tambm que a URL para o arquivo-base
HTTP seja
www.someSchool.edu/someDepartment/home.index.
Eis o que acontece:
1. O cliente HTTP inicia uma conexo TCP para o servidor www.someSchool.edu. O
nmero de porta 80 usado como nmero de porta default na qual o servidor
HTTP estar na escuta pelos clientes HTTPs que queiram extrair documentos
usando o HTTP.

203

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

2. O cliente HTTP envia uma mensagem de requisio HTTP ao servidor atravs da


porta associada conexo TCP que foi estabelecida no estgio 1. A mensagem de
requisio inclui o nome do caminho /someDepartment/home.index.
(Discutiremos as mensagens HTTP em detalhes mais adiante.)
3. O servidor HTTP recebe a mensagem de requisio atravs da porta associada
conexo que foi estabelecida no estgio 1, recupera o objeto
/someDepartment/home.index de seu sistema de armazenamento (RAM ou disco),
encapsula o objeto em uma mensagem de resposta HTTP e envia a mensagem de
resposta ao cliente atravs da porta.
4. O servidor HTTP ordena que o TCP encerre a conexo TCP. (Mas o TCP, na
realidade, s encerrar a conexo quando o cliente receber a mensagem de resposta
intacta).
5. O cliente HTTP recebe a mensagem de resposta. A conexo TCP encerrada. A
mensagem mostra que o objeto encapsulado um arquivo HTML. O cliente extrai
o arquivo da mensagem de resposta, analisa o arquivo HTML e encontra
referncias a dez objetos JPEG.
6. Os primeiros quatro estgios so repetidos para cada um dos objetos JPEG
referenciados.
medida que o browser recebe a pgina Web, ele a apresenta ao usurio. Dois
browsers diferentes podem interpretar (isto , apresentar ao usurio) uma pgina Web
de modos um tanto diferentes. O HTTP no tem nada a ver com o modo como uma
pgina Web interpretada por um cliente. As especificaes do HTTP [RFC 1945] e
[RFC 2616] apenas definem o protocolo de comunicao entre o programa cliente
HTTP e o programa servidor HTTP.
Os estgios apresentados usam conexes no persistentes porque cada conexo
TCP fechada depois que o servidor envia o objeto a conexo no persiste para
outros objetos. Note que cada conexo TCP transporta exatamente uma mensagem de
requisio e uma mensagem de resposta. Assim, nesse exemplo, quando um usurio
solicita uma pgina Web, so geradas 11 conexes TCP.
Nos estgios descritos, fomos intencionalmente vagos sobre se os clientes obtm
as dez JPEGs por meio de dez conexes TCP em srie ou se algumas das JPEGs so
obtidas por conexes TCP paralelas. De fato, os usurios podem configurar os
browsers modernos para controlar o grau de paralelismo. Nos modos default, a
maioria dos browsers abre de cinco a dez conexes TCP paralelas, cada uma das quais
manipula uma transao requisio/resposta. Se o usurio preferir, o nmero mximo
de conexes paralelas poder ser fixado em um, caso em que as dez conexes so
estabelecidas em srie. Como veremos no prximo captulo, o uso de conexes
paralelas reduz o tempo de resposta.
Antes de continuarmos a anlise, vamos fazer um clculo simples para estimar o
tempo que transcorre entre um cliente fazer a requisio de um arquivo-base HTTP e
receber o arquivo. Para essa finalidade, vamos definir o tempo de viagem de ida e
volta (round-trip time RTT), ou seja, o tempo que leva para um pequeno pacote
viajar do cliente ao servidor e de volta ao cliente. O RTT inclui os atrasos de
propagao de pacotes, os atrasos de fila de pacotes nos roteadores e comutadores
intermedirios e os atrasos de processamento de pacotes. Considere, agora, o que
acontece quando um usurio clica sobre um hiperlink. Isso faz com que o browser
inicie uma conexo TCP entre ele e o servidor Web e envolve um aperto de mos em
204

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

trs vias o cliente envia uma pequena mensagem TCP ao servidor, que reconhece e
responde com uma pequena mensagem ao cliente, que, por fim, reconhece novamente
o servidor. O RTT transcorre depois das duas primeiras partes do aperto de mos em
trs vias. Aps completar as duas primeiras partes do aperto de mos, o cliente envia a
mensagem de requisio HTTP por meio da conexo TCP e o TCP d uma carona
ao ltimo reconhecimento (a terceira parte do aperto de mos em de trs vias) na
mensagem de requisio. Assim que a mensagem de requisio chega ao servidor, ele
envia o arquivo HTML por meio da conexo TCP. Essa requisio/resposta HTTP
causa mais um RTT. Assim, em linhas gerais, o tempo total de resposta so dois RTTs
mais o tempo de transmisso do arquivo HTML no servidor.
8.6.2.2

Conexes Persistentes

As conexes no persistentes tm algumas desvantagens. Em primeiro lugar,


uma nova conexo deve ser estabelecida e conservada para cada objeto solicitado.
Para cada uma dessas conexes, devem ser alocados buffers do TCP e conservadas
variveis do TCP tanto no cliente quanto no servidor. Isso pode sobrecarregar
seriamente o servidor Web, que poder estar processando requisies de centenas de
diferentes clientes ao mesmo tempo. Em segundo lugar, como acabamos de descrever,
cada objeto sofre dois RTTs um RTT para estabelecer a conexo TCP e um RTT
para solicitar e receber o objeto. Por fim, cada objeto sofre com a partida lenta do
TCP, porque cada conexo TCP se inicia com uma fase de partida lenta de TCP.
Todavia, os impactos dos atrasos de RTT e das partidas lentas podem ser parcialmente
aliviados pelo uso de conexes TCP paralelas.
Nas conexes persistentes, o servidor deixa a conexo TCP aberta aps ter
enviado uma resposta. As requisies e respostas subseqentes entre os mesmos
cliente e servidor podem ser enviadas por meio da mesma conexo. Em particular,
uma pgina Web inteira (no exemplo anterior, o arquivo-base HTML e as dez imagens)
pode ser enviada mediante uma nica conexo TCP persistente. Alm disso, mltiplas
pginas Web, residindo no mesmo servidor, podem ser enviadas por meio de uma
nica conexo TCP persistente. Normalmente, o servidor HTTP fecha uma conexo
quando ela no usada durante um tempo determinado (o intervalo de pausa), o que
quase sempre configurvel. H duas verses de conexes persistentes: sem
paralelismo e com paralelismo. Para a verso sem paralelismo, o cliente lana uma
nova requisio somente quando a resposta prvia recebida. Nesse caso, cada um
dos objetos relacionados (as dez imagens do exemplo anterior) sofre um RTT para
solicitar e receber o objeto. Embora isso seja uma melhoria em relao aos dois RTTs
da conexo no persistente, o atraso de RTT pode ser reduzido ainda mais com
paralelismo. Outra desvantagem de no se ter paralelismo que, aps o servidor
enviar um objeto por meio de uma conexo TCP persistente, a conexo fica
pendurada no faz nada enquanto espera a chegada de outra requisio. Isso causa
desperdcio de recursos do servidor.
O modo default do HTTP/1.1 usa conexes persistentes com paralelismo. Nesse
caso, o cliente HTTP lana uma requisio assim que ele encontra uma referncia.
Desse modo, ele pode fazer requisies completas para os objetos relacionados.
Quando o servidor recebe as requisies, ele pode enviar todos os objetos. Se todas as
requisies forem enviadas completas e todas as respostas forem devolvidas da mesma
maneira, ento se gastar apenas um RTT para todos os objetos relacionados (em vez
de um RTT por objeto relacionado como quando no se est usando paralelismo). E
mais, a conexo TCP com paralelismo fica pendurada por uma frao menor de tempo.

205

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Alm da reduo dos atrasos de RTT, as conexes persistentes (com ou sem


paralelismo) tm um atraso menor de partida lenta do que as conexes no
persistentes. A razo para isso que o servidor persistente, aps ter enviado o
primeiro objeto, no tem de enviar o prximo objeto taxa inicial lenta, j que
continua usando a mesma conexo TCP. Em vez disso, o servidor pode retomar a
mesma taxa com que o primeiro objeto partiu.
8.6.3

Formato da mensagem HTTP

As especificaes do HTIP/1.0 [RFC 1945] e do HTIP/1.1 [RFC 2616] definem os


formatos das mensagens HTIP. H dois tipos de mensagens HTIP: as mensagens de
requisio e as mensagens de resposta. Ambas sero discutidas a seguir.
8.6.3.1

Mensagem de requisio HTTP

Apresentamos a seguir uma mensagem de requisio HTTP tpica:


GET /somedir/page.html HTTP/l.l
Host: www.someschool.edu
Connection: close
User-agent: Mozilla/4.0
Accept-language: fr
(extra carriage return, 1ine feed)
Podemos aprender bastante examinando essa simples mensagem de requisio.
Antes de mais nada, vemos que ela est escrita em texto ASCII comum, de modo que
pode ser lida por qualquer ser humano que conhea computadores. Em segundo lugar,
vemos que ela constituda de cinco linhas, cada uma delas seguida de carriage
return e line feed (fim de linha) para o incio de uma nova linha. A ltima linha
seguida de um comando adicional de carriage return e line feed. Embora essa
mensagem de requisio tenha cinco linhas, uma mensagem de requisio pode ter
muito mais linhas, poucas linhas e at uma linha apenas. A primeira linha de uma
mensagem de requisio HTTP chamada de linha de requisio; as linhas
subseqentes so chamadas de linhas de cabealho. As linhas de requisio tm trs
campos: o campo do mtodo, o campo da URL e o campo da verso do HTTP. O
campo do mtodo pode assumir diversos valores diferentes, entre eles GET, POST e
HEAD. A grande maioria das mensagens de requisio HTTP usa o mtodo GET.
Esse mtodo usado quando o browser solicita um objeto; o objeto solicitado
identificado no campo do URL. Nesse exemplo, o browser est solicitando o objeto
/somedir/page.html. A verso auto explicativa. Nesse exemplo, o browser
implementa a verso HTTP/1.1.
Vamos agora examinar as linhas de cabealho do exemplo. A linha de cabealho
Host: www.some.school.edu especifica o host no qual esse objeto reside. Ao incluir
a linha de cabealho Connection: close, o browser est dizendo ao servidor que ele
no quer usar conexes persistentes; quer que o servidor feche a conexo aps o envio
do objeto solicitado. Embora o browser que gerou essa mensagem de requisio
implemente o HTTP/1.1, ele no quer se preocupar com conexes persistentes. A
linha de cabealho User-agent: especifica o agente usurio, isto , o tipo de browser
que est fazendo a requisio ao servidor. Nesse caso, o agente usurio o
Mozilla/4.0, um browser da Netscape. Essa linha de cabealho til porque o servidor
pode na realidade enviar diferentes verses do mesmo objeto a diferentes tipos de
agentes usurios. (Cada uma das verses endereada pela mesma URL). Por fim, o

206

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

cabealho Accept-language: mostra que o usurio prefere receber uma verso em


francs do objeto, se esse objeto existir no servidor; se no existir, o servidor deve
enviar a verso default. O cabealho Accept-language: apenas um dos muitos
cabealhos de negociao de contedo disponveis no HTTP.
Acabamos de examinar um exemplo. Vamos agora analisar o formato geral de
uma mensagem de requisio, ilustrado na Figura 8.12.

Figura 8.12 Formato geral de uma mensagem de requisio.

Vemos que o formato geral de uma mensagem de requisio muito parecido


com nosso exemplo. Contudo, voc provavelmente notou que, aps as linhas de
cabealho (e aps a linha adicional com carriage return e line feed), h um corpo
de entidade. O corpo de entidade no usado com o mtodo GET, mas com o
mtodo POST. O cliente HTTP usa o mtodo POST quando o usurio preenche um
formulrio por exemplo, quando o usurio fornece uma palavra de busca a um site de
busca como o Altavista. Com uma mensagem POST, o usurio continua solicitando
uma pgina Web ao servidor, mas o contedo especfico da pgina Web depende do
que o usurio escreveu nos campos do formulrio. Se o valor escrito no campo do
mtodo for POST, ento o corpo de entidade conter o que o usurio digitou nos
campos do formulrio. O mtodo HEAD semelhante ao mtodo GET. Quando um
servidor recebe uma requisio com o mtodo HEAD, ele responde com uma
mensagem HTTP, mas deixa de fora o objeto solicitado.
Esse mtodo
freqentemente usado pelos desenvolvedores de servidores HTTP para depurao.
8.6.3.2

Mensagem de resposta HTTP

Apresentamos a seguir uma tpica mensagem de resposta HTTP. Essa


mensagem pode ser a resposta ao exemplo de mensagem de requisio que acabamos
de discutir.
HTTP/1.1 200 OK
Connection: close
Date: Thu. 06 Aug 1998 12:00:15 GMT
Server: Apache/l.3.0 (Unix)
Last-Modified: Mon. 22 Jun 1998 09:23:24 GMT
Content-Length: 6821
Content-Type: text/htrnl
(data data data data data ...)
207

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Vamos examinar cuidadosamente essa mensagem de resposta. Ela tem trs


sees: uma linha de status inicial, seis linhas de cabealho e, em seguida, o corpo da
entidade. O corpo da entidade o fil mignon da mensagem ele contm o objeto
solicitado (representado por data data data data data ...). A linha de status tem trs
campos: o campo da verso do protocolo, uma codificao para o status e uma
mensagem de estado correspondente. Nesse exemplo, ela mostra que o servidor est
usando o HTTP/1.1 e que est tudo OK (isto , o servidor foi encontrado e est
enviando o objeto solicitado).
Vamos agora examinar as linhas de cabealho. O servidor usa a linha de
cabealho Connection: close para informar ao cliente que ele vai fechar a conexo
TCP aps enviar a mensagem. A linha de cabealho Date: indica a hora e a data em
que a resposta HTTP foi criada e enviada pelo servidor. Note que esse no o horrio
em que o objeto foi criado nem o de sua mais recente modificao, mas a hora em
que o servidor extraiu o objeto do sistema de arquivo, inseriu o objeto na mensagem de
resposta e enviou a mensagem de resposta. A linha de cabealho Server: mostra que
a mensagem foi gerada por um servidor Web Apache; ela anloga linha de
cabealho User-agent: na mensagem de requisio HTTP. A linha de cabealho
Last-Modified: indica a hora e a data em que o objeto foi criado ou sofreu a ltima
modificao. O cabealho Last-Modified:, que estudaremos em detalhes,
fundamental para fazer o cache do objeto, tanto no cliente local quanto nos servidores
de cache da rede (tambm conhecidos como servidores proxy). A linha de cabealho
Content-Length: indica o nmero de bytes do objeto que est sendo enviado. A
linha de cabealho Content-Type: mostra que o objeto presente no corpo da
mensagem um texto HTML. (O tipo do objeto oficialmente indicado pelo
cabealho Content-Type:, e no pela extenso do arquivo).
Note que, se o servidor receber uma requisio HTTP/1.0, ele no vai usar
conexes persistentes, mesmo que seja um servidor HTTP/1.1. Em vez disso, o
servidor HTTP/1.1 vai fechar a conexo TCP aps o envio do objeto. Isso necessrio
porque um cliente HTTP/1.0 espera que o servidor feche a conexo.
Acabamos de ver um exemplo. Vamos agora examinar o formato geral de uma
mensagem de resposta, ilustrado na Figura 8.13. Esse formato geral da mensagem de
resposta condiz com o exemplo que demos desse tipo de mensagem.

Figura 8.13 Formato geral de uma mensagem de resposta.

208

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Vamos abordar as codificaes de status e suas frases. A codificao de status e


a frase associada a ela indicam o resultado da requisio. Eis algumas codificaes de
status e frases associadas comuns:

200 OK: a requisio foi bem-sucedida e a informao volta para a resposta.

301 Moved Permanently: o objeto requisitado foi removido permanentemente; uma


nova URL est especificada no cabealho Location: da mensagem de resposta.
O software do cliente vai automaticamente recuperar a nova URL.

400 Bad Request: uma codificao genrica de erro mostrando que a requisio
no pode ser entendida pelo servidor.

404 Not Found: o documento requisitado no existe no servidor.

505 HTTP Version Not Supported: averso do protocolo HTTP requisitada no


suportada pelo servidor.

Gostaria de ver uma mensagem de resposta HTTP real? muito fcil!


Primeiramente, d um comando Telnet em seu servidor Web favorito. Em seguida,
digite uma mensagem de requisio de uma linha solicitando algum objeto abrigado no
servidor. Por exemplo, se voc possui uma senha de acesso em uma mquina Unix,
digite:
telnet www.eurecom.fr 80
GET /~ross/index.html HTTP/1.0
(Clique duas vezes na tecla enter aps digitar a segunda linha). Essa seqncia
de comandos abre uma conexo TCP na porta nmero 80 do host www.eurecom.fr e,
em seguida, envia o comando HTTP GET. Com isso, dever aparecer a mensagem de
resposta, que inclui o arquivo bsico HTML da homepage do professor Ross. Se voc
preferir apenas ver as linhas de mensagem HTTP e no receber o objeto em si,
substitua GET por HEAD.
Finalmente, substitua /~ross/index.html por
/~ross/banana.html e veja que tipo de mensagem voc obtm.
Nesta seo, examinamos algumas linhas de cabealho que podem ser usadas em
mensagens de requisio e de resposta HTTP.
A especificao do HTTP
(especialmente a do HTTP/1.1) define muitas outras linhas de cabealho que podem
ser inseridas por browsers, servidores Web e servidores cache de redes. Vimos apenas
um pequeno nmero da totalidade das linhas de cabealho. Vamos examinar mais
algumas linhas a seguir e mais outro pequeno nmero quando discutirmos o Web
caching no final desta seo.
Como um browser decide quais linhas de cabealho sero includas em uma
mensagem de requisio? Como um servidor Web decide quais linhas de cabealho
sero includas em uma mensagem de resposta? Um browser vai gerar linhas de
cabealho em razo de seu tipo e de sua verso (por exemplo, um browser HTTP/1.0
no vai gerar nenhuma linha de cabealho 1.1), da configurao do usurio para o
browser (por exemplo, idioma preferido) e de o browser ter uma verso do objeto
possivelmente ultrapassada em sua memria cache. Os servidores Web se comportam
de maneira semelhante: h diferentes produtos, verses e configuraes, e tudo isso
tem influncia sobre quais linhas de cabealho so includas nas mensagens de
resposta.

209

Apostila de Fundamentos de Redes de Computadores


8.6.4

Prof: Ricardo Quinto

Interao usurio/servidor: autenficao e cookies

Mencionamos anteriormente que um servidor HTTP no conserva informao de


estado. Isso simplifica o projeto do servidor e vem permitindo que os engenheiros
desenvolvam servidores Web de alto desempenho. No entanto, sempre bom que um site
Web identifique usurios, seja porque o servidor deseja restringir o acesso do usurio, seja
porque ele quer servir contedo em razo da identidade do usurio. O HTTP fornece dois
mecanismos para ajudar um servidor a identificar um usurio: a autenticao e os cookies.
8.6.4.1

Autenticao

Muitos sites exigem que os usurios forneam um nome de usurio e uma senha
para permitir o acesso aos documentos armazenados no servidor. Essa exigncia se
denomina autenticao. O HTTP fornece codificaes de status e cabealhos especiais
para auxiliar os sites a realizar a autenticao. Vamos tomar um exemplo para sentir
como funcionam essas codificaes de status e cabealhos especiais. Suponha que um
cliente requisite um objeto de um servidor e que o servidor requisite autorizao do
usurio.
O cliente envia primeiramente uma mensagem de requisio comum, sem linhas
de cabealho especiais. O servidor ento responde com um corpo de entidade vazio
juntamente com uma codificao de status 401 Authorization Required. Nessa
mensagem de resposta, ele inclui o cabealho WWW-Authenticate:, que especifica
em detalhes como proceder autenticao. (Normalmente, ele mostra que o usurio
precisa fornecer um nome de usurio e uma senha).
O cliente recebe a mensagem de resposta, pede ao usurio um nome de usurio e
uma senha e reenvia a mensagem de requisio, mas, dessa vez, inclui uma linha de
cabealho Authorization:, que inclui o nome do usurio e a senha.
Aps obter o primeiro objeto, o cliente continua a enviar o nome de usurio e a
senha nas requisies subseqentes de objetos que esto no servidor. Isso
normalmente continua at que o cliente feche o browser. Contudo, enquanto o
browser permanece aberto, o nome de usurio e sua senha ficam na memria cache, de
modo que no h um novo pedido ao usurio de seu nome e sua senha para cada objeto
que ele requisita! Dessa maneira, o site pode identificar o usurio para cada pedido.
8.6.4.2

Cookies

Os cookies so um mecanismo alternativo que os sites usam para obter


informaes dos usurios. Eles so definidos no RFC 2109. Alguns sites Web usam
cookies, outros, no. Vamos examinar um exemplo. Suponha que um cliente entre em
um site Web pela primeira vez e que esse site use cookies. A resposta do servidor vai
incluir um cabealho Set-cookie:. Freqentemente, essa linha de cabealho contm
um nmero de identificao gerado pelo servidor Web. Por exemplo, a linha de
cabealho poderia ser:
Set-cookie: 1678453
Quando o cliente HTTP recebe a mensagem de resposta, ele v o cabealho Setcookie: e o nmero de identificao. Em seguida, ele anexa uma linha a um arquivo
especial de cookies que est armazenado na mquina cliente. Essa linha inclui o nome
do host do servidor e o nmero de identificao associado ao usurio. Nas requisies
subseqentes ao mesmo servidor, digamos, uma semana mais tarde, o cliente inclui um
cabealho de requisio Cookie:, e essa linha de cabealho especifica o nmero de
210

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

identificao para o servidor. No exemplo em curso, a mensagem de requisio inclui


a linha de cabealho:
Cookie: 1678453
Dessa maneira, o servidor no sabe o nome do usurio, mas sabe, na verdade,
que esse usurio o mesmo que fez determinada requisio uma semana atrs.
Os servidores Web usam cookies para diferentes finalidades:

Se um servidor necessita de identificao mas no quer perturbar o usurio com um


pedido de nome de usurio e senha toda vez que ele visita o site, ele pode aplicar
um cookie.

Se um servidor quiser se lembrar das preferncias de um usurio de modo que


possa oferecer propaganda dirigida durante as visitas subseqentes, ele pode
aplicar um cookie.

Se o usurio estiver fazendo compras em um site (por exemplo, comprando


diversos CDs), o servidor pode usar cookies para anotar os itens que o usurio est
comprando, ou seja, para criar um carrinho de compras virtual.

Devemos mencionar, no entanto, que os cookies causam problemas para um


usurio nmade que acessa o mesmo site de mquinas diferentes. O site vai tratar o
usurio como se fosse um usurio diferente para cada mquina diferente que ele usar.
8.6.5

O GET condicional

Por armazenar objetos que foram extrados anteriormente, a funo de Web cache
pode reduzir os atrasos de extrao de objetos e diminuir a quantidade de trfego enviado
pela Internet. Os Web caches podem residir em um cliente ou em um servidor de cache
intermedirio da rede. Vamos tratar do cache em rede no final desta seo. Nesta
subseo, restringiremos nossa ateno ao cache no cliente.
Embora o uso de Web caching possa reduzir os tempos de resposta do ponto de vista
do usurio, ele introduz um novo problema a cpia de um objeto existente no cache pode
estar desatualizada. Em outras palavras, o objeto abrigado no servidor Web pode ter sido
modificado desde a data em que a cpia passou para o cache no cliente. Felizmente, o
HTTP tem um mecanismo que permite que o cliente empregue o cache e, ao mesmo tempo,
tenha certeza de que todos os objetos apresentados esto atualizados. Esse mecanismo
chamado de GET condicional (conditional GET). Uma mensagem de requisio HTTP
chamada de mensagem GET condicional se (1) usa o mtodo GET e (2) possui uma linha
de cabealho If-Modified-Since:
Para ilustrar como o GET condicional opera, vamos examinar um exemplo. Em
primeiro lugar, um browser requisita, de algum servidor Web, um objeto que no est no
cache.
GET /fruit/kiwi.gif HTTP/1.0
User-agent: Mozilla/4.0
Em segundo lugar, o servidor Web envia ao cliente uma mensagem de resposta com o
objeto:

211

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

HTTP/1.0 200 OK
Date: Wed. 12 Aug 1998 15:39:29
Server: Apache/l.3.0 (Unix)
Last-Modified: Mon. 22 Jun 1998 09:23:24
Content-Type: image/gif
(data data data data data ...)
O cliente mostra o objeto ao usurio e tambm o guarda em sua memria cache local.
O importante que o cliente tambm guarde no cache, juntamente com o objeto, a data da
ltima modificao.
Em terceiro lugar, uma semana depois, o usurio requisita o mesmo objeto, e o objeto
ainda est no cache. Como esse objeto pode ter sido modificado no servidor Web na
semana anterior, o browser realiza uma verificao de atualizao enviando um GET
condicional. Especificamente, o browser envia:
GET /fruit/kiwi.gif HTTP/l.0
User-agent: Mozilla/4.0
If-modified-since: Mon. 22 Jun 1998 09:23:24
Note que o valor da linha de cabealho If-modified-since: exatamente igual ao
valor da linha de cabealho Last-Modified:, que foi enviada pelo servidor h uma
semana. Esse GET condicional est dizendo ao servidor para enviar o objeto somente se
ele tiver sido modificado depois da data especificada. Suponha que ele no tenha sido
modificado desde 22 Jun 1998 09:23:24. Ento, por fim, em quarto lugar, o servidor Web
envia a mensagem de resposta ao cliente:
HTTP/l.0 304 Not Modified
Date: Wed. 19 Aug 1998 15:39:29
Server: Apache/1.3.0 (Unix)
(corpo de mensagem vazio)
Vemos que, em resposta ao GET condicional, o servidor Web ainda envia uma
mensagem de resposta, mas no inclui nela o objeto requisitado. Incluir o objeto
requisitado apenas desperdiaria largura de banda e aumentaria o tempo de resposta do
ponto de vista do usurio, particularmente se o objeto fosse grande. Note que essa ltima
mensagem de resposta traz inserida a linha de status 304 Not Modified, que informa ao
cliente que ele pode seguir adiante e usar a cpia do objeto que est em seu cache.
8.6.6

Web Caches

Um Web cache tambm chamado de servidor proxy uma entidade da rede que
atende s requisies HTTP em nome de um cliente. Ele tem seu prprio disco de
armazenagem e conserva, dentro dele, cpias de objetos recentemente requisitados. Como
ilustrado na Figura 8.14, os usurios configuram seu browser de modo que todas as suas
requisies HTTP sejam primeiramente dirigidas ao Web cache. Esse um procedimento
simples para os browsers da Microsoft e da Netscape. Uma vez que o browser
configurado, a requisio de um objeto feita por ele primeiramente dirigida ao Web cache.
Como exemplo, suponha que um browser esteja requisitando o objeto
http://www.someschool.edu/campus.gif.

212

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

O browser estabelece uma conexo TCP com o Web cache e envia a ele uma requisio
HTTP para um objeto.

O Web cache verifica se ele tem uma cpia do objeto armazenada localmente. Se tiver,
ele envia ao browser do cliente o objeto dentro de uma mensagem de resposta HTTP.

Se o Web cache no tiver o objeto, ele abre uma conexo TCP com o servidor original,
isto , com www.someschool.edu. Ele ento envia uma requisio HTTP do objeto por
meio da conexo TCP. Aps ter recebido essa requisio, o servidor original envia o
objeto dentro de uma resposta HTTP ao Web cache.

Quando o Web cache recebe o objeto, ele armazena uma cpia em seu arquivo local e
envia uma cpia, dentro de uma mensagem de resposta, ao browser do cliente (por meio
da conexo TCP existente entre o browser do cliente e o Web cache).

Note que o cache tanto um servidor como um cliente. Quando recebe requisies
de um browser e envia respostas a ele, ele um servidor. Quando envia requisies para
um servidor de origem e recebe respostas dele, ele um cliente.

Figura 8.14 Clientes requisitando objetos por meio de um Web Cache.

Ento, por que se incomodar com um Web caching? Que vantagens ele tem? Web
caches so utilizados em larga escala na Internet por, no mnimo, trs razes. Em primeiro
lugar, o Web cache pode reduzir substancialmente o tempo de resposta para a requisio de
um cliente, em particular se o gargalo da largura de banda entre o cliente e o servidor
original for muito menor do que o gargalo da largura de banda entre o cliente e o cache. Se
houver uma conexo de alta velocidade entre o cliente e o cache, como em geral o caso, e
se o cache tiver o objeto requisitado, ento ele poder entregar rapidamente o objeto ao
cliente. Em segundo lugar, como logo vamos ilustrar com um exemplo, os Web caches
podem reduzir substancialmente o trfego no enlace de acesso de uma instituio qualquer
Internet. Ao reduzir o trfego, a instituio (por exemplo, uma empresa ou uma
universidade) no precisa ampliar sua largura de banda to rapidamente, reduzindo assim
os custos. Alm disso, os Web caches podem reduzir muito o trfego na Web como um
todo, melhorando, assim, o desempenho para todas as aplicaes. Em 1998, mais de 75 por
cento do trfego da Internet era da Web; portanto, uma reduo significativa no trfego da
Web pode ser traduzida em melhoria significativa do desempenho da Internet. Em terceiro
lugar, uma Internet com alta densidade de cachs tais como as de nvel institucional,
regional e nacional fornece uma infra-estrutura para rpida distribuio de contedo,

213

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

mesmo para os provedores de contedo que rodam seu site em servidores de baixa
velocidade apoiados em enlaces de acesso de baixa velocidade. Se esse provedor de
contedo de parcos recursos de repente tiver um contedo muito popular para distribuir,
esse contedo ser rapidamente copiado para os caches da Internet e a grande demanda ser
satisfeita.
Para um entendimento mais profundo dos benefcios dos caches, vamos considerar
um exemplo no contexto da Figura 8.15. Essa figura mostra duas redes: uma rede
institucional e a Internet pblica. A rede institucional uma LAN de alta velocidade. Um
roteador da rede institucional e um roteador da Internet esto ligados por um enlace de
1,5 Mbps. Os servidores originais esto todos ligados Internet, mas localizados pelo
mundo todo. Suponha que o tamanho mdio do objeto seja 100 Kbits e que a taxa mdia de
requisio dos browsers da instituio at os servidores de origem seja de 15 requisies
por segundo. Suponha tambm que o tempo entre o envio de uma requisio HTTP (dentro
de um datagrama IP) pelo roteador do lado da Internet do enlace de acesso mostrado na
Figura 8.15 e o recebimento do datagrama IP (normalmente, muitos datagramas IPs)
contendo a resposta correspondente seja de 2 segundos em mdia. Vamos nos referir
informalmente a esse atraso como atraso da Internet.

Figura 8.15 Gargalo entre uma rede institucional e a Internet.

O tempo de resposta total isto , o tempo transcorrido entre a requisio de um


objeto feita pelo browser e o recebimento desse objeto a soma do atraso da LAN, do
atraso de acesso (isto , o atraso entre os dois roteadores) e do atraso da Internet. Vamos
fazer agora um clculo bastante rudimentar para estimar esse atraso. A intensidade de
trfego na LAN :
(15 requisies/segundo) (100 Kbits/requisio)/(10 Mbps) = 0,15,
ao passo que a intensidade de trfego no enlace de acesso (do roteador da Internet ao
roteador da instituio) :
(15 requisies/segundo) (100 Kbits/requisio )/(1,5 Mbps) = 1.

214

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Uma intensidade de trfego de 0,15 em uma LAN resulta em, no mximo, dezenas de
milissegundos de atraso; conseqentemente, podemos desprezar o atraso da LAN.
Contudo, medida que a intensidade de trfego se aproxima de 1 (como o caso do enlace
de acesso da Figura 8.15), o atraso em um enlace se torna muito grande e cresce sem
limites. Assim, o tempo mdio de resposta para atender s requisies vai ser da ordem de
minutos, se no for maior, o que inaceitvel para os usurios da instituio.
Evidentemente, algo precisa ser feito.
Uma possvel soluo seria aumentar a velocidade de acesso de 1,5 Mbps para,
digamos, 10 Mbps. Isso reduz a intensidade de trfego no enlace de acesso a 0,15, o que se
traduz em atrasos desprezveis entre os dois roteadores. Nesse caso, o tempo total de
resposta, isto , o atraso da Internet, ser aproximadamente de 2 segundos. Mas essa
soluo tambm significa que a instituio tem de atualizar seu enlace de acesso de
1,5 Mbps para 10 Mbps, o que pode ser muito dispendioso.

Figura 8.16 Adio de um cache rede institucional.

Considere agora a soluo alternativa de no atualizar o enlace de acesso, mas, em


vez disso, instalar um Web cache na rede institucional. Essa soluo est ilustrada na
Figura 8.16. As taxas de resposta local a frao de requisies que so satisfeitas por um
cache em geral ficam na faixa de 0,2 a 0,7 na prtica. Com a finalidade de ilustrar,
vamos supor que um cache fornea uma taxa de resposta local de 0,4 para essa instituio.
Como os clientes e o cache esto conectados mesma LAN de alta velocidade, 40 por
cento das requisies sero satisfeitas pelo cache quase imediatamente, digamos, em 10
milissegundos. Todavia, os demais 60 por cento das requisies ainda precisam ser
satisfeitos pelos servidores originais. Mas, com apenas 60 por cento dos objetos passando
pelo enlace de acesso, a intensidade de trfego reduz de 1,0 para 0,6. Uma intensidade de
trfego menor do que 0,8 corresponde a um atraso pequeno, digamos, de dezenas de
milissegundos, para um enlace de 1,5 Mbps. Esse atraso desprezvel se comparado aos 2

215

Apostila de Fundamentos de Redes de Computadores


segundos do atraso da Internet.
conseqncia,

Prof: Ricardo Quinto

Dadas essas consideraes, o atraso mdio , por

0,4 (0,010 segundo) + 0,6 (2,01 segundos),


que apenas ligeiramente maior do que 1,2 segundo. Assim, essa segunda soluo fornece
um tempo de resposta at menor do que o oferecido pela troca do enlace de acesso e no
requer que a instituio atualize seu enlace com a Internet. Evidentemente, a instituio
ter de comprar e instalar um Web cache. Mas esse custo baixo muitos caches usam
software de domnio pblico que roda em servidores baratos e em PCs.

216

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Captulo 9
Segurana em Redes
9.1

O que segurana na rede?

Queremos lhe apresentar Alice e Bob, duas pessoas que desejam se comunicar com
segurana. Gostaramos de observar que Alice e Bob podem ser dois roteadores que querem
trocar tabelas de roteamento com segurana, dois hosts que querem estabelecer uma conexo de
transporte segura ou duas aplicaes de e-mail que querem trocar e-mails seguros todos esses
tpicos sero examinados mais adiante neste captulo. Alice e Bob so componentes conhecidos
da comunidade de segurana, talvez porque o nome deles seja mais interessante do que uma
entidade genrica chamada A que quer se comunicar com segurana com uma entidade
genrica B. Amores proibidos, comunicaes em tempo de guerra e transaes financeiras
so as necessidades dos seres humanos comumente citados quando o assunto segurana;
preferimos a primeira necessidade e vamos usar, com muito prazer, Alice e Bob como nosso
remetente e nosso destinatrio e imagin-los nesse primeiro cenrio.
9.1.1

Comunicao Segura

Dissemos que Alice e Bob querem se comunicar com segurana, mas o que isso
significa exatamente? Com certeza, Alice quer que Bob entenda a mensagem que ela
enviou, mesmo que eles estejam se comunicando por um meio inseguro, em que um
intruso (Trudy, a intrusa) pode interceptar, ler e registrar qualquer dado que seja
transmitido de Alice a Bob. Bob tambm quer ter certeza de que a mensagem que recebe
de Alice foi de fato enviada por ela, enquanto Alice quer ter certeza de que a pessoa com
quem est se comunicando de fato Bob. Alice e Bob tambm querem ter certeza de que o
contedo da mensagem de Alice no foi alterado em trnsito. Dadas essas consideraes,
podemos identificar as seguintes propriedades desejveis da comunicao segura:

Sigilo: somente o remetente e o destinatrio pretendido devem poder entender o


contedo da mensagem transmitida. O fato de abelhudos poderem interceptar a
mensagem exige, necessariamente, que esta seja cifrada de alguma maneira (que seus
dados sejam disfarados) para impedir que a mensagem interceptada seja decifrada
(entendida) por um interceptador. Esse aspecto do sigilo , provavelmente, o
significado mais percebido em comunicao segura. Note, contudo, que essa no
apenas uma definio limitada de comunicao segura (relacionamos a seguir aspectos
adicionais da segurana), mas tambm uma definio bastante restrita de sigilo. Por
exemplo, Alice poderia tambm querer que o mero fato de ela estar se comunicando
com Bob (ou os horrios ou a freqncia de suas comunicaes) fosse tambm um
segredo! Estudaremos as tcnicas de criptografia para cifrar e decifrar dados na
Seo 9.2.

Autenticao: o remetente e o destinatrio precisam confirmar a identidade da outra


parte envolvida na comunicao confirmar que a outra parte realmente quem alega
ser. A comunicao pessoal entre seres humanos resolve facilmente esse problema pelo
reconhecimento visual. Quando entidades comunicantes trocam mensagens por um
meio pelo qual no podem ver a outra parte, a autenticao no assim to simples.
Por que, por exemplo, voc deveria acreditar que o e-mail que recebeu e que contm
uma sentena afirmando que aquele e-mail veio de um amigo seu realmente veio
daquele amigo? Se algum o chama ao telefone dizendo ser de seu banco e
217

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

perguntando qual o nmero de sua conta, sua senha e seu saldo bancrio, alegando
finalidades de verificao, voc d essas informaes?
Esperamos que no.
Examinaremos as tcnicas de autenticao na Seo 9.3, incluindo algumas que, talvez
surpreendentemente, tambm dependem de tcnicas criptogrficas, que estudaremos na
Seo 9.2.

Integridade de mensagem: mesmo que o remetente e o destinatrio consigam se


autenticar reciprocamente, eles querem assegurar que o contedo de sua comunicao
no seja alterado, por acidente ou por m inteno, durante a transmisso. Extenses
das tcnicas de soma de verificao que encontramos em protocolos de transporte e de
enlace confiveis sero examinadas na Seo 9.4; essas tcnicas tambm dependem dos
conceitos criptogrficos apresentados na Seo 9.2.

Agora que estabelecemos o que significa comunicao segura nesse contexto, vamos
considerar o que quer dizer exatamente canal inseguro. A que informaes um intruso
tem acesso e que aes podem ser tomadas sobre os dados transmitidos? A Figura 9.1
ilustra esse cenrio.
Alice, a remetente, quer enviar dados a Bob, o destinatrio. A fim de trocar dados
com segurana, alm de atender aos requisitos de sigilo, autenticao e integridade das
mensagens, Alice e Bob trocaro mensagens de controle e de dados (de maneira muito
semelhante ao modo como os remetentes e os destinatrios TCP trocam segmentos de
controle e segmentos de dados). Todas ou algumas dessas mensagens sero cifradas de
modo tpico. Um intruso passivo pode ouvir e gravar as mensagens de controle e de dados
no canal; um intruso ativo pode remover mensagens do canal e/ou adicion-las a ele.

Figura 9.1 Remetente, destinatrio e intruso (Alice, Bob e Trudy).

9.1.2

Consideraes sobre segurana de rede na Internet

Antes de analisarmos os aspectos tcnicos de segurana da rede nas prximas sees,


vamos concluir nossa introduo relacionando as personagens fictcios Alice, Bob e
Trudy a cenrios do mundo real da Internet de hoje.
Vamos comear com Trudy, a intrusa da rede. Um intruso de rede do mundo real
pode de fato ouvir e gravar mensagens da rede? fcil fazer isso? Um intruso ativamente
pode injetar ou remover mensagens da rede? A resposta a isso tudo um enftico sim. Um
analisador de pacotes (packet sniffer) um programa que roda em um dispositivo acoplado
rede e que recebe passivamente todos os quadros de camada de enlace que passam por sua
interface de rede. Em ambiente broadcast como uma LAN Ethernet, isso significa que o
analisador de pacotes recebe todos os quadros que esto sendo transmitidos para todos os
hosts da LAN. Qualquer host que tenha uma placa Ethernet pode facilmente servir de
analisador de pacotes, pois s ajustar o NIC da Ethernet no modo promscuo
218

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

(promiscuous mode) para que ele receba todos os quadros que passam pela Ethernet. Esses
quadros podem, ento, ser passados aos programas de aplicao, que extraem os dados de
aplicao. Por exemplo, no cenrio Telnet mostrado na Figura 9.2, o pedido de senha de
login enviado de A para B bem como a senha informada em B capturado no host C.
A captura de pacotes uma faca de dois gumes pode ser de inestimvel valor para um
administrador de rede realizar a monitorao e a administrao da rede, mas tambm pode
ser usada por um hacker inescrupuloso. O software analisador de pacotes pode ser obtido
de graa em vrios sites Web ou adquirido no mercado. Sabe-se que professores que
ministram cursos sobre redes tm passado exerccios de laboratrio que envolvem escrever
um programa de captura de pacotes e de recuperao de dados no nvel de aplicao.

Figura 9.2 Analisador de Pacotes.

Qualquer equipamento conectado Internet necessariamente envia datagramas IP


para a rede. Lembre-se de que esses datagramas transportam o endereo IP, bem como os
dados da camada superior. Um usurio que tenha completo controle sobre o software do
equipamento (em particular sobre o sistema operacional) pode facilmente modificar os
protocolos daquele equipamento e colocar um endereo IP arbitrrio no campo de endereo
de origem do datagrama. Isso conhecido como falsificao do IP. Dessa maneira, um
usurio pode montar um pacote IP que contenha qualquer carga til (de camada superior)
que quiser e fazer com que parea que os dados foram enviados de um host IP arbitrrio. A
captura de pacotes e a falsificao do IP so apenas duas das maneiras mais comuns de
ataques segurana da Internet.
Uma ampla terceira classe de ameaa segurana so os ataques de recusa de servio
(denial of service DoS). Como o nome sugere, um ataque DoS torna impossvel a
utilizao da rede, do host ou de qualquer outro componente da infra-estrutura pelos
usurios legtimos. Em geral, ele funciona pela criao de uma quantidade to grande de
trabalho para a infra-estrutura sob ataque que o trabalho legtimo no pode ser realizado.
No chamado ataque de inundao SYN, o atacante inunda um servidor com pacotes TCP
SYN, cada um com um endereo IP de fonte falsificado. O servidor, incapaz de diferenciar
um pacote SYN legtimo de um falsificado, completa o segundo estgio do estabelecimento
de conexo TCP para um SYN falsificado, alocando a ele uma estrutura de dados e estado.
O terceiro estgio da apresentao de trs vias nunca completado pelo atacante, o que
deixa um nmero sempre crescente de conexes abertas. A carga de pacotes SYN a ser
processada e a exausto da memria livre podem derrubar o servidor. Um ataque DoS
smurf opera fazendo com que um grande nmero de hosts inocentes responda a pacotes
ICMP de solicitao de eco (Ping) contendo um endereo IP de fonte falsificado. Isso
resulta no envio de um grande nmero de pacotes de resposta de eco ao host cujo endereo
IP objeto da falsificao. O RFC 2267 e o RFC 2644 descrevem diversas medidas
simples que podem ser tomadas para evitar esses e outros ataques DoS.

219

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Como h, na verdade, bichos-papes reais (tambm conhecidos como Trudy)


solta na Internet, quais so os equivalentes de Alice e Bob na Internet, esses nossos dois
amigos que precisam se comunicar com segurana? Certamente, Bob e Alice so dois
usurios humanos em dois sistemas finais, por exemplo uma Alice real e um Bob real que
de fato querem trocar e-mails seguros. Eles podem tambm ser os participantes de uma
transao comercial eletrnica. Por exemplo, uma Alice real pode querer transmitir o
nmero de seu carto de crdito a um servidor Web para comprar um produto por meio da
rede. Como ressalta o RFC 1636, contudo, esses mesmos participantes que necessitam de
comunicao segura podem tambm ser componentes da infra-estrutura da rede. Lembrese de que o DNS ou os roteadores daemons, que trocam tabelas de roteamento, exigem
comunicao segura entre dois participantes.
Isso vlido para aplicaes de
gerenciamento de rede. Um intruso que conseguisse interferir, controlar ou corromper
ativamente consultas e atualizaes do DNS, processamentos de roteamento ou funes de
gerenciamento de rede causaria uma devastao na Internet.
Estabelecida a estrutura da rede, apresentadas algumas das mais importantes
definies e justificada a necessidade de segurana na rede, vamos examinar a criptografia,
um tpico de importncia fundamental para muitos aspectos da segurana na rede.
9.2

Princpios da criptografia

Embora a criptografia tenha uma longa histria que remonta, no mnimo, a Jlio Csar
(da existir uma cifra chamada Csar), as modernas tcnicas de criptografia, incluindo muitas
das usadas na Internet de hoje, so baseadas em progressos feitos nos ltimos 30 anos. O livro
de Kahn The codebreakers nos oferece um fascinante panorama dessa longa histria. Kaufman
apresenta uma discusso tcnica detalhada (mas interessante e de fcil leitura) sobre
criptografia, sobretudo do ponto de vista da rede. Diffie fornece uma anlise atraente e
atualizada das questes polticas e sociais (a respeito, por exemplo, da privacidade) que hoje
esto inextricavelmente entrelaadas com a criptografia. Uma discusso completa sobre a
criptografia exige um livro inteiro; portanto, apenas trataremos de seus aspectos essenciais, em
particular do modo como as tcnicas criptogrficas so postas em prtica na Internet de hoje.
As tcnicas criptogrficas permitem que um remetente disfarce os dados de modo que um
intruso no consiga obter nenhuma informao com base nos dados interceptados. O
destinatrio, claro, deve estar habilitado a recuperar os dados originais a partir dos dados
criptografados.
A Figura 9.3 apresenta alguns dos mais importantes componentes
criptogrficos.

Figura 9.3 Componentes Criptogrficos.

220

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Suponha agora que Alice queira enviar uma mensagem a Bob. A mensagem de Alice em
seu modelo original (por exemplo, Bob. I love you. Alice1) conhecida como texto aberto ou
texto claro. Alice criptografa sua mensagem em texto aberto usando um algoritmo de
criptografia, de modo que a mensagem criptografada, conhecida como texto cifrado, parea
ininteligvel para qualquer intruso. O interessante que em muitos sistemas criptogrficos
modernos, incluindo os usados na Internet, a tcnica de codificao conhecida publicada,
padronizada [RFC 1321, RFC 2437, RFC 2420] e disponvel para qualquer um, mesmo para um
intruso em potencial! Evidentemente, se todos conhecem o mtodo para codificar os dados,
ento deve haver algum pedao de informao secreta que impede que um intruso decifre os
dados transmitidos. aqui que entra o segredo da chave.
Na Figura 9.3, Alice fornece uma chave, KA, uma cadeia de nmeros ou de caracteres
como entrada para o algoritmo de criptografia. O algoritmo de criptografia pega essa chave e o
texto aberto como entrada e produz o texto cifrado como sada. De maneira semelhante, Bob
fornecer uma chave, KB, ao algoritmo de decriptogratia, que pega o texto cifrado e a chave de
Bob como entrada e produz o texto original como sada. Nos denominados sistemas de chaves
simtricas, as chaves de Bob e Alice so idnticas e secretas. Nos sistemas de chaves pblicas,
usado um par de chaves. Uma das chaves conhecida por Bob e por Alice (na verdade,
conhecida pelo mundo inteiro). A outra chave somente conhecida por Bob ou por Alice (mas
no por ambos). Nas duas subsees seguintes, veremos em detalhes os sistemas de chaves
simtricas e de chaves pblicas.
9.2.1

Criptografia de chaves simtricas

Todos os algoritmos criptogrficos envolvem a substituio de um dado por outro,


como, por exemplo, tomar um trecho de um texto e ento, calculando e substituindo esse
texto por outro cifrado apropriado, criar uma mensagem cifrada. Antes de examinarmos o
sistema criptogrfico moderno baseado em chaves, vamos abordar um velho algoritmo de
chaves simtricas muito simples atribudo a Jlio Csar conhecido como cifra de Csar
(uma cifra um mtodo para criptografar dados).
A cifra de Csar funciona tomando cada letra da mensagem do texto aberto e a
substituindo pela k-sima letra sucessiva do alfabeto (permitindo a alternncia das letras do
alfabeto, isto , a letra z seria seguida novamente da letra a). Por exemplo, se k = 3,
ento a letra a do texto aberto fica sendo d no texto cifrado; b no texto aberto se
transforma em e no texto cifrado, e assim por diante. Nesse caso, o valor de k serve de
chave. Por exemplo, a mensagem bob. I love you. a1ice. se toma ere. 1oryh brx. dolfh.
em texto cifrado. Embora o texto cifrado realmente parea no ter nexo, voc no levaria
muito tempo para quebrar o cdigo se soubesse que foi usada a cifra de Csar, pois h
somente 25 valores possveis para as chaves.
Um aprimoramento da cifra de Csar a denominada cifra monoalfabtica, que
tambm substitui uma letra do alfabeto por outra. Contudo, em vez de substituir as letras
seguindo um padro regular (por exemplo, substituio por um deslocamento de k para
todas as letras), qualquer letra pode ser substituda por qualquer outra, contanto que cada
letra tenha uma letra substituta exclusiva e vice-versa. A regra de substituio apresentada
na Figura 9.4 mostra uma regra possvel para codificar textos abertos.

A mensagem foi mantida no idioma original porque ser apresentado o texto cifrado para ela. A traduo Bob, eu amo
voc. Alice.

221

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 9.4 Uma cifra monoalfabtica.

A mensagem do texto aberto bob. I love you. alice. se torna nkn, s gktc wky.
mgsbc. Como aconteceu no caso da cifra de Csar, o texto parece sem nexo. A cifra
monoalfabtica tambm parece ser melhor que a cifra de Csar, pois h 26! (1026) possveis
pares de letras, em vez de 25 pares possveis! Usar a fora bruta para experimentar 1026
pares demandaria um esforo demasiadamente grande e impediria que esse fosse um
mtodo exeqvel para quebrar o algoritmo criptogrfico e decodificar a mensagem.
Contudo, fazendo-se a anlise estatstica do texto aberto, por exemplo, e sabendo quais
letras e grupos de letras so mais freqentes nos textos do idioma em questo, torna-se
relativamente fcil quebrar esse cdigo. Se o intruso tiver algum conhecimento sobre o
possvel texto da mensagem, ento ficar mais fcil ainda quebrar o cdigo. Por exemplo,
se a intrusa Trudy for a esposa de Bob e suspeitar que ele est tendo um caso com Alice, ela
poder imaginar que os nomes Bob e Alice aparecem no texto. Se Trudy tivesse
certeza de que esses dois nomes aparecem no texto cifrado e tivesse uma cpia do texto
cifrado da mensagem do exemplo, ela poderia imediatamente determinar sete dos 26 pares
de letras, o que resultaria em 109 possibilidades a menos para verificar pelo mtodo da
fora bruta. Na verdade, se Trudy suspeitasse que Bob estava tendo um caso, ela poderia
muito bem esperar encontrar algumas outras palavras preferenciais no texto tambm.
Ao considerarmos que seria fcil para Trudy quebrar o cdigo criptogrfico de Bob e
Alice, podemos distinguir trs diferentes cenrios, dependendo do tipo de informao que o
intruso tem:

Ataque exclusivo ao texto cifrado. Em alguns casos, o intruso pode ter acesso somente
ao texto cifrado interceptado, sem ter nenhuma informao exata sobre o contedo do
texto aberto. J vimos como a anlise estatstica pode ajudar o ataque exclusivo ao
texto cifrado em um esquema criptogrfico.

Ataque ao texto aberto conhecido. Vimos anteriormente que, se Trudy de algum modo
tivesse certeza de que bob e Alice apareciam no texto cifrado, ela poderia
determinar os pares (texto cifrado, texto aberto) para as letras a, l, i, c, e, b e o. Trudy
poderia tambm ser muito sortuda e ter gravado todas as transmisses de texto cifrado e
descoberto uma verso decifrada pelo prprio Bob escrita em um pedao de papel.
Quando um intruso conhece alguns dos pares (texto aberto, texto cifrado), referimo-nos
a isso como ataque ao esquema criptogrfico a partir do texto aberto conhecido.

Ataque ao texto aberto escolhido. Nesse tipo de ataque, o intruso pode escolher a
mensagem em texto aberto e obter seu modelo cifrado correspondente. Para os
algoritmos criptogrficos que vimos at aqui, se Trudy conseguisse que Alice enviasse a
mensagem "The quick fox jumps over the lazy brown dog", ela poderia decifrar
completamente o esquema criptogrfico. Veremos em breve que, para tcnicas de
criptografia mais sofisticadas, um ataque a um texto aberto escolhido no significa
necessariamente que a tcnica criptogrfica possa ser decifrada.

Quinhentos anos atrs foram inventadas tcnicas que aprimoravam a cifra


monoalfabtica.
Conhecidas hoje como cifras polialfabticas, essas tcnicas,
incorretamente atribudas a Blaise de Vigenere, foram chamadas de cifras de Vigenere. A

222

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

idia subjacente s cifras de Vigenere usar mltiplas cifras monoalfabticas e uma cifra
monoalfabtica especfica para codificar uma letra em uma posio especfica no texto
aberto da mensagem. Assim, a mesma letra, quando aparece em posies diferentes no
texto aberto da mensagem, pode ser codificada de maneira diferente. A cifra de Vigenere
mostrada na Figura 9.5 tem duas cifras de Csar (com k = 5 e k = 19) que aparecem nas
linhas da figura. Podemos optar pelo uso dessas duas cifras de Csar, C1 e C2, seguindo o
modelo de repetio C1, C2, C2, C1 C2. Em outras palavras, a primeira letra do texto deve
ser cifrada usando-se C1, a segunda e a terceira, C2, a quarta, C1 e a quinta, C2. O modelo,
ento, se repete, com a sexta letra sendo cifrada usando-se C1; a stima, C2, e assim por
diante. Dessa maneira, a mensagem em texto aberto bob, I 1ove you. cifrada como
ghu, n etox dhz.. Note que o primeiro b da mensagem em texto aberto cifrado
usando-se C1 ao passo que o segundo b cifrado usando-se C2. Nesse exemplo, a
chave da codificao e da decodificao o conhecimento das duas cifras de Csar
(k = 5, k = 19) e do modelo C1, C2, C2, C1 C2.

Figura 9.5 Uma cifra de Vigenere usando duas cifras de Csar.

9.2.2

Criptografia de chaves pblicas

Por mais de dois mil anos (desde a poca da cifra de Csar at a dcada de 70), a
comunicao cifrada exigia que as duas partes comunicantes compartilhassem um segredo
em comum a chave simtrica usada para cifrar e decifrar. Uma dificuldade dessa
abordagem que as duas partes tm de escolher, conjuntamente, de alguma maneira, qual
a chave; mas, para faz-lo, preciso comunicao (presumivelmente segura)! Talvez as
partes pudessem se encontrar, escolher a chave pessoalmente (por exemplo, dois dos
centuries de Csar poderiam se encontrar nos banhos romanos) e, mais tarde, comunicar a
cifra. No atual mundo em rede, contudo, o mais provvel que as partes comunicantes
nunca possam se encontrar e jamais possam conversar a no ser pela rede. possvel que
elas se comuniquem por criptografia sem compartilhar uma chave comum secreta
conhecida com antecedncia? Em 1976, Diffie e Hellman apresentaram um algoritmo
(conhecido como Troca de Chaves Diffie Hellman Diffie Hellman Key Exchange) que faz
exatamente isso uma abordagem da comunicao segura radicalmente diferente e de uma
elegncia maravilhosa que levou ao desenvolvimento dos atuais sistemas de criptografia de
chaves pblicas. Veremos em breve que os sistemas de criptografia de chaves pblicas
tambm tm diversas propriedades maravilhosas que os tornam teis no somente para
criptografia, mas tambm para autenticao e assinaturas digitais. As primeiras idias de
comunicao segura ([Diffie, 1976] e [RSA, 1978]) constituem a base da atual atividade de
comrcio eletrnico (veja a Seo 9.7). Recentemente, veio luz que idias semelhantes s
de [Diffie, 1976] e s da [RSA, 1978] foram desenvolvidas independentemente no incio da
dcada de 70 em uma srie de relatrios secretos escritos por pesquisadores do Grupo de
Segurana para Comunicao e Eletrnica (Communications-Electronics Security Group)
do Reino Unido [Cesg, 2000]. Como acontece com freqncia, grandes idias podem
surgir de modo independente em diversos lugares; felizmente, os progressos da criptografia
de chaves pblicas ocorreram no apenas no mbito privado, mas tambm no pblico.

223

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

O uso da criptografia de chaves pblicas bastante simples. Suponha que Alice


queira se comunicar com Bob. Como mostra a Figura 9.6, em vez de Bob e Alice
compartilharem uma nica chave secreta (como no caso dos sistemas de chaves simtricas),
Bob (o destinatrio das mensagens de Alice) tem duas chaves uma chave pblica, que
est disposio do mundo todo (inclusive disposio de Trudy, a intrusa), e uma chave
privada, que apenas ele Bob conhece. Para se comunicar com Bob, Alice busca
primeiramente a chave pblica de Bob. Em seguida, ela criptografa sua mensagem usando
a chave pblica de Bob e um algoritmo criptogrfico conhecido (por exemplo,
padronizado). Bob recebe a mensagem criptografada de Alice e usa sua chave privada e
um algoritmo de decriptografia conhecido (por exemplo, padronizado) para decifrar a
mensagem de Alice. Dessa maneira, Alice pode enviar uma mensagem secreta a Bob sem
que nenhum deles tenha de permutar alguma chave secreta!

Figura 9.6 Criptografia de chaves pblicas.

Usando a notao da Figura 9.6, para qualquer mensagem m, dB(eB(m)) = m, isto ,


aplicando a chave pblica de Bob, eB, e em seguida a chave privada de Bob, dB,
mensagem m, recuperamos m. Veremos em breve que podemos permutar as chaves
criptogrficas pblica e privada e obter o mesmo resultado, isto ,
eB(dB(m)) = dB(eB(m)) = m.
O uso da criptografia de chave pblica , portanto, conceitualmente simples. Mas
apresenta duas preocupaes. A primeira preocupao diz respeito ao conhecimento
pblico da chave e do algoritmo de criptografia, isto , embora um intruso que intercepta a
mensagem cifrada de Alice veja apenas dados ininteligveis, ele conhece tanto a chave (a
chave pblica de Bob, que est disponvel a todos) quanto o algoritmo que Alice usou para
a criptografia. Assim, Trudy pode montar um ataque ao texto aberto escolhido utilizando o
algoritmo criptogrfico padronizado conhecido e a chave criptogrfica de acesso pblico de
Bob para codificar a mensagem que quiser! Ela pode at tentar, por exemplo, decodificar
mensagens, ou partes delas, que suspeita que Alice tenha enviado. Fica claro que, para a
criptografia de chave pblica funcionar, a escolha de chaves e de cdigos de
criptografia/decriptografia deve ser feita de tal maneira que seja impossvel (ou, ao menos,
to difcil que se torne quase impossvel) para um intruso determinar a chave privada de
Bob ou conseguir decifrar ou adivinhar a mensagem de Alice a Bob. A segunda
preocupao se refere ao envio da mensagem cifrada, ou seja, como a chave criptogrfica
de Bob pblica, qualquer um pode enviar uma mensagem cifrada a Bob, incluindo Alice
ou algum se passando por Alice. No caso de uma nica chave secreta compartilhada, o
fato de o remetente conhecer a chave secreta identifica implicitamente o remetente para o
destinatrio. No caso da criptografia de chave pblica, contudo, isso no acontece, j que
qualquer um pode enviar uma mensagem cifrada a Bob usando a chave dele, que est
224

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

publicamente disponvel a todos. preciso uma assinatura digital, um tpico que


estudaremos na Seo 9.4, para vincular um remetente mensagem.
9.3

Autenticao: quem voc?

Autenticao o processo de provar a prpria identidade a algum. Como seres humanos,


autenticamo-nos mutuamente de muitas maneiras: reconhecemos mutuamente nosso rosto
quando nos encontramos, reconhecemos mutuamente nossa voz ao telefone, somos autenticados
pela autoridade alfandegria que nos compara foto em nosso passaporte.
Nesta seo, veremos como uma parte pode autenticar uma outra parte quando as duas
esto se comunicando por uma rede. Examinaremos aqui a autenticao de uma parte ao vivo,
no instante em que a comunicao est realmente ocorrendo. Veremos que esse problema um
pouco diferente do problema de provar que uma mensagem recebida em algum momento no
passado (por exemplo, que possa ter sido arquivada) , na verdade, de quem se declarou como o
remetente. Esse ltimo problema chamado de problema de assinatura digital, um assunto que
examinaremos na Seo 9.4.
Ao fazer a autenticao pela rede, as partes comunicantes no podem confiar em
informaes biomtricas, como a aparncia visual ou a voz caracterstica. Na verdade, veremos
em nossos estudos de caso posteriores que so muitas vezes componentes da rede, como
roteadores e processos cliente/servidor, que devem se autenticar mutuamente. Aqui, a
autenticao deve ser feita somente na base de mensagens e de dados trocados como parte de
um protocolo de autenticao. Em geral, um protocolo de autenticao deveria rodar antes que
as duas partes comunicantes rodassem qualquer outro protocolo (por exemplo, um protocolo de
transferncia de dados confivel, um protocolo de troca de tabelas de roteamento ou um
protocolo de e-mail). O protocolo de autenticao estabelece primeiramente as identidades das
partes de maneira satisfatria para ambas; somente aps a autenticao as partes se lanam
tarefa que tm em mos.
Desenvolveremos vrias verses de um protocolo de autenticao, que chamaremos de
PA protocolo de autenticao, com alguns furos (isto , falhas na segurana) que devero ser
descobertos durante a apresentao de cada verso. Vamos comear supondo que Alice precisa
se autenticar para Bob.
9.3.1

Protocolo de autenticao PA 1.0

O protocolo de autenticao mais bsico que podemos imaginar talvez seja um


protocolo em que Alice simplesmente envia uma mensagem a Bob dizendo que ela Alice.
Esse protocolo mostrado na Figura 9.7. A falha aqui bvia no h meios de Bob saber
se a pessoa que est enviando a mensagem Eu sou Alice realmente Alice. Por exemplo,
Trudy (a intrusa) poderia muito bem enviar essa mensagem.

Figura 9.7 Protocolo PA 1.0 e um cenrio de falha.

225

Apostila de Fundamentos de Redes de Computadores


9.3.2

Prof: Ricardo Quinto

Protocolo de autenticao PA 2.0

No caso em que Alice tem um endereo de rede conhecido (por exemplo, um


endereo IP), que usa sempre que quer se comunicar, Bob poderia tentar autenticar Alice
verificando se o endereo de fonte do datagrama IP que carrega a mensagem de
autenticao o mesmo daquele endereo conhecido de Alice. Se for, Alice estar
autenticada. Isso poderia impedir que um intruso de rede muito ingnuo se fizesse passar
por Alice. Mas no deteria o estudante determinado que est lendo este livro e muitos
outros! Veja a Figura 9.8.

Figura 9.8 Protocolo PA 2.0 e um cenrio de falha.

Dado que j estudamos a rede e a camada de enlace, sabemos que no to difcil


(por exemplo, se algum tivesse acesso ao cdigo do sistema operacional e pudesse
construir seu prprio ncleo de sistema operacional, como o caso do Linux e de vrios
outros sistemas operacionais de acesso grtis) criar um datagrama IP, colocar qualquer
endereo IP de fonte que quisssemos (por exemplo, incluir o endereo IP conhecido de
Alice) dentro do datagrama IP e envi-lo pelo protocolo de camada de enlace ao prximo
roteador. Dali em diante, o datagrama incorretamente endereado seria transmitido at
Bob. Essa abordagem um tipo de falsificao do IP, uma tcnica muito conhecida de
ataque segurana. A falsificao do IP poder ser evitada se o roteador estiver
configurado para recusar datagramas IP que no tm um dado endereo IP. Por exemplo, o
roteador de primeiro salto de Trudy poderia ser configurado para repassar apenas
datagramas que contivessem o endereo IP de fonte da prpria Trudy. Contudo, essa
capacidade no universalmente disseminada nem obrigatria. Assim, seria tolice de Bob
achar que o administrador de rede de Trudy (que poderia ser ela mesma) configuraria o
roteador de primeiro salto dela para repassar apenas os datagramas adequadamente
endereados.
9.3.3

Protocolo de autenticao PA 3.0

Uma abordagem clssica para a autenticao usar uma senha secreta. Temos
nmeros secretos para nos identificarmos nos caixas automticos e senhas de login para
sistemas operacionais. A senha um segredo compartilhado pelo autenticador e pela
pessoa que est sendo autenticada. Vimos que o HTTP usa um esquema de autenticao
baseado em senha. O Telnet e o FTP tambm utilizam senha de autenticao. Assim, no
protocolo PA 3.0, Alice envia sua senha secreta a Bob, como mostra a Figura 9.9.
A falha de segurana, nesse caso, visvel. Se Trudy bisbilhotar uma comunicao
de Alice, ela poder descobrir a senha dela. Para que voc no pense que isso
improvvel, considere o fato de que, quando se inicia uma sesso Telnet com outro
computador e se faz o login, a senha de login no criptografada para ser enviada ao

226

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

servidor Telnet. Algum conectado ao Telnet cliente ou ao servidor da LAN poderia


procurar (ler e armazenar) todos os pacotes transmitidos pela LAN e, dessa maneira, se
apossar da senha de login. De fato, essa uma abordagem muito conhecida para roubar
senhas. Essa ameaa, obviamente, muito real; portanto, o PA 3.0 com certeza no
apropriado.

Figura 9.9 Protocolo PA 3.0 e um cenrio de falha.

9.3.4

Protocolo de autenticao PA 3.1

Como acabamos de estudar a criptografia na seo anterior, nossa prxima idia para
consertar o PA 3.0 , naturalmente, usar a criptografia. Criptografando a senha de Alice,
Trudy no conseguir descobri-la! Supondo-se que Alice e Bob compartilhem uma chave
simtrica secreta, KAB, ento Alice pode codificar a senha e enviar sua mensagem de
identificao, Eu sou Alice, e sua senha criptografada a Bob. Bob ento decifra a senha
e, se a senha estiver correta, autentica Alice. Ele fica tranqilo ao autenticar Alice, j que
ela conhece no somente a senha, mas tambm o nmero da chave secreta necessrio para
codificar a senha. Vamos chamar esse protocolo de PA 3.1.
Embora seja verdade que o PA 3.1 impede que Trudy descubra a senha de Alice, o
uso de criptografia nesse caso no resolve o problema da autenticao! Bob novamente
est sujeito ao denominado ataque de reproduo: basta Trudy bisbilhotar uma
comunicao de Alice, gravar a verso criptografada da senha e, mais tarde, reproduzir essa
verso criptografada para Bob, fingindo que Alice. O uso de uma senha criptografada
no faz com que a situao fique muito diferente daquela da Figura 9.9.
9.3.5

Protocolo de autenticao PA 4.0

O problema com o PA 3.1 que a mesma senha usada repetidamente. Um modo de


solucionar esse problema seria utilizar cada vez uma senha diferente. Alice e Bob
poderiam combinar uma seqncia de senhas (ou um algoritmo para gerao de senhas) e
usar cada uma delas apenas uma vez, em seqncia. Essa idia usada no sistema S/KEY
[RFC 1760], que adota um mecanismo lanado por Lamport para gerar uma seqncia de
senhas.
No entanto, em vez de pararmos nesse ponto da soluo, vamos considerar uma
abordagem mais geral para combater o ataque de reproduo. O cenrio de falha da
Figura 9.9 resultou do fato de Bob no conseguir distinguir a autenticao original de Alice
da reproduo da autenticao original de Alice. Em outras palavras, Bob no conseguiu
saber se Alice estava ao vivo na conexo (isto , se naquela ocasio Alice estava
realmente na outra extremidade da conexo) ou se as mensagens que ele estava recebendo
227

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

eram uma reproduo gravada de uma autenticao anterior de Alice. O leitor muito
(muito) observador vai lembrar que o protocolo de apresentao de trs vias do TCP tinha
de enfrentar o mesmo problema o lado servidor de uma conexo TCP no era obrigado a
aceitar uma conexo se o segmento SYN recebido fosse uma cpia antiga (retransmisso)
de um segmento SYN de uma conexo anterior. Como o lado servidor do TCP resolvia o
problema de determinar se o cliente estava realmente ao vivo? Ele escolhia um nmero
de seqncia inicial que no era usado a um longo perodo de tempo, enviava esse nmero
ao cliente e ficava esperando que o cliente respondesse com um segmento ACK contendo
esse nmero. Podemos adotar a mesma idia aqui, para a finalidade de autenticao.
Um nonce um nmero que um protocolo vai usar apenas uma vez. Assim que um
protocolo usar um nonce, nunca mais o utilizar. Nosso protocolo PA 4.0 usa um nonce
como segue:
1. Alice envia a mensagem Eu sou A1ice para Bob.
2. Bob escolhe um nonce, R, e o envia a Alice.
3. Alice criptografa o nonce usando a chave simtrica secreta KAB que combinou com
Bob e envia o nonce cifrado KAB(R) de volta a Bob. Como acontece no protocolo
PA 3.1, o fato de Alice conhecer a chave KAB e us-la para codificar um valor que
permite que Bob saiba que a mensagem que recebeu foi gerada por Alice. O nonce
utilizado para assegurar que Alice est ao vivo.
4. Bob decifra a mensagem recebida. Se o nonce decifrado for igual ao nonce que enviou
a Alice, ento ela estar autenticada.
O protocolo PA 4.0 est ilustrado na Figura 9.10. Usando um valor R apenas uma
nica vez e, em seguida, verificando o valor devolvido, KAB(R), Bob pode ter certeza de
que Alice quem diz ser (j que conhece o valor da chave secreta necessrio para cifrar R),
e tambm de que ela est ao vivo (j que ela tem o nonce cifrado R que Bob acabou de
criar).

Figura 9.10 Protocolo PA 4.0 e um cenrio de falha.

9.3.6

Protocolo de autenticao PA 5.0

O uso de um nonce e da criptografia de chaves simtricas criou a base de nosso bemsucedido protocolo de autenticao PA 4.0. Uma pergunta natural se podemos usar um
nonce juntamente com a criptografia de chaves pblicas (em vez de a criptografia de chaves
simtricas) para resolver o problema de autenticao. A utilizao de uma abordagem de
chaves pblicas evitaria a dificuldade existente em qualquer sistema compartilhado a
preocupao com o modo pelo qual as duas partes ficaro conhecendo o valor da chave
secreta compartilhada, em primeiro lugar. O uso que o protocolo PA 5.0 faz da criptografia
de chaves pblicas anlogo ao uso que o protocolo PA 4.0 faz da criptografia de chaves
simtricas:
1. Alice envia a mensagem Eu sou A1ice para Bob.

228

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

2. Bob escolhe um nonce, R, e o envia a Alice. Novamente, o nonce usado para ele se
certificar de que Alice est ao vivo.
3. Alice usa seu algoritmo criptogrfico privado com sua chave privada, dA, para o nonce e
envia o valor resultante dA(R) a Bob. Como somente Alice conhece sua chave privada,
ningum, exceto ela, pode gerar dA(R).
4. Bob aplica o algoritmo criptogrfico pblico de Alice, eA, mensagem recebida, isto ,
ele processa eA(dA(R)). Lembre-se de que em nossa discusso sobre a criptografia de
chave pblica RSA, na Seo 9.2, eA(dA(R)) = R = dA(eA(R)). Assim, Bob calcula R e
autentica Alice.
A operao do protocolo PA 5.0 ilustrada na Figura 9.11. O protocolo PA 5.0 to
seguro quanto o protocolo PA 4.0? Ambos usam nonces. Como o PA 5.0 usa tcnicas de
chave pblica, ele requer que Bob recupere a chave pblica de Alice. Isso leva a um
cenrio interessante, mostrado na Figura 9.12, em que Trudy pode se passar por Alice
perante Bob:

Figura 9.11 Protocolo PA 5.0 trabalhando corretamente.

1. Trudy envia a mensagem Eu sou A1ice para Bob.


2. Bob escolhe um nonce, R, e o envia a Alice, mas a mensagem interceptada por Trudy.
3. Trudy aplica seu algoritmo criptogrfico privado com sua chave privada, dT para o
nonce e envia o valor resultante, dT(R), a Bob. Para Bob, dT(R) apenas uma poro de
bits, e ele no sabe se os bits representam dT(R) ou dA(R).
4. Bob deve agora pegar a chave pblica de Alice para aplicar eA ao valor que acabou de
receber. Ele envia a mensagem a Alice, pedindo seu eA (Bob tambm pode recuperar a
chave pblica de Alice do site Web dela). Trudy intercepta tambm essa mensagem e
responde a Bob devolvendo eT,isto , a chave pblica dela. Bob ento calcula
eT(dT(R)) = R e, assim, autentica Trudy como se ela fosse Alice!

Figura 9.12 Falha de segurana no protocolo PA 5.0.

229

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Fica claro nesse cenrio que o protocolo PA 5.0 to seguro quanto a distribuio
de chaves pblicas. Felizmente, existem maneiras seguras de distribuir chaves pblicas,
como veremos na Seo 9.5.
No cenrio da Figura 9.12, Bob e Alice podem acabar descobrindo, em conjunto, que
alguma coisa est errada, pois Bob vai dizer que interagiu com Alice, mas Alice sabe que
isso no aconteceu. H um ataque ainda mais insidioso que poderia evitar essa descoberta.
No cenrio da Figura 9.13, Alice e Bob esto conversando, mas Trudy, explorando a
mesma falha no protocolo de autenticao, consegue se interpor de maneira transparente
entre Alice e Bob. Em particular, se Bob comear a enviar dados cifrados a Alice usando a
chave criptogrfica que recebeu de Trudy, Trudy poder recuperar o texto aberto da
comunicao entre Bob e Alice. Ao mesmo tempo, Trudy pode repassar os dados de Bob a
Alice (aps ter decifrado os dados usando a chave pblica real de Alice).
Bob est l, feliz da vida, enviando dados criptografados. Alice tambm est l, feliz
da vida, recebendo dados criptografados e usando para isso sua prpria chave pblica;
ambos no sabem da presena de Trudy. Se acontecer de Bob e Alice se encontrarem mais
tarde e discutirem sua interao, Alice ter recebido exatamente o que Bob enviou, de
modo que no se perceber que alguma coisa est errada. Esse um exemplo do chamado
ataque do homem do meio (no caso, da mulher do meio). s vezes ele tambm
chamado de ataque da brigada do balde, j que o modo como Trudy est passando os dados
entre Alice e Bob parece a passagem dos baldes de gua pela longa fila de pessoas
(chamada de brigada do balde) que esto apagando um incndio utilizando uma fonte de
gua longnqua.

Figura 9.13 Um ataque do homem do meio.

9.4

Integridade

Pense no nmero de vezes em que voc ps sua assinatura em um pedao de papel durante
a ltima semana. Voc assina cheques, comprovantes de operao de cartes de crdito,
documentos legais e cartas. Sua assinatura atesta o fato de que voc (e no outra pessoa)
conhece o contedo do documento e/ou concorda com ele. No mundo digital, freqentemente
se quer indicar o dono ou o criador de um documento ou deixar claro que algum concorda com
o contedo de um documento. A assinatura digital uma tcnica criptogrfica usada para
cumprir essa finalidade no mundo digital.

230

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Exatamente como acontece com a assinatura de prprio punho, a assinatura digital deve
ser verificvel, no falsificvel e incontestvel. Em outras palavras, deve ser possvel provar
que um documento assinado por um indivduo foi na verdade assinado por ele (a assinatura tem
de ser verificvel) e que somente aquele indivduo poderia ter assinado o documento (a
assinatura no pode ser falsificada, e o signatrio no pode mais tarde negar ter assinado o
documento). Isso se consegue facilmente com a criptografia de chaves pblicas.
9.4.1

Gerao de assinaturas digitais

Suponha que Bob queira assinar digitalmente um documento m. Imagine que o


documento seja um arquivo ou uma mensagem que Bob vai assinar e enviar. Como mostra
a Figura 9.14, para assinar esse documento Bob simplesmente usa sua chave criptogrfica
privada dB para processar dB(m). A princpio, pode parecer estranho que Bob esteja
rodando um algoritmo de decriptografia sobre um documento que no foi codificado. Mas
lembre-se de que decriptografia nada mais do que uma operao matemtica
(exponenciao potncia d no RSA; veja a Seo 9.2) e que a inteno de Bob no
embaralhar ou disfarar o contedo do documento, mas assinar o documento de maneira
que seja verificvel, no falsificvel e incontestvel. Bob tem o documento, m, e sua
assinatura digital do documento, dB(m).

Figura 9.14 Criao de uma assinatura digital para um documento.

A assinatura digital dB(m) atende s nossas exigncias de ser verificvel, no


falsificvel e incontestvel? Suponha que Alice tenha m e dB(m). Ela quer provar na
Justia (em ao litigiosa) que Bob de fato assinou o documento e que ele era a nica
pessoa que poderia t-lo assinado. Ela pega a chave pblica de Bob, eB, e a aplica
assinatura digital dB(m) associada ao documento m. Em outras palavras, ela processa
eB(dB(m)) e, voil, com dramtica encenao, produz m, que uma reproduo exata do
documento original! Ela ento argumenta que somente Bob poderia ter assinado o
documento porque:

Quem quer que tenha assinado o documento deve ter usado a chave criptogrfica
privada dB para processar a assinatura dB(m), de modo que eB(dB(m) = m.

A nica pessoa que poderia conhecer a chave privada dB Bob. Lembre-se que
dissemos em nossa discusso do RSA, na Seo 9.2, que conhecer a chave pblica eB
no serve para descobrir a chave privada dB. Portanto, a nica pessoa que poderia
conhecer dB aquela que gerou o par de chaves (eB ,dB) em primeiro lugar, ou seja,
Bob. (Note que, para isso, supomos que Bob no passou dB a ningum e que ningum
roubou dB de Bob).

Tambm importante notar que, se o documento original m for modificado para


algum modelo alternativo m, a assinatura que Bob criou para m no ser vlida para m, j
que eB(dB(m)) no igual a m.
231

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Assim, vemos que as tcnicas da criptografia de chaves pblicas fornecem uma


maneira simples e elegante de assinar documentos digitalmente, uma maneira que
verificvel, no falsificvel e incontestvel e que protege contra modificaes posteriores
do documento.
9.4.2

Resumo de mensagem

Vimos na subseo anterior que a tecnologia de criptografia de chaves pblicas pode


ser usada para criar uma assinatura digital. Uma preocupao quanto assinatura de dados
por criptografia, contudo, que codificar e decifrar so processamentos dispendiosos. No
caso da assinatura digital de um documento realmente importante, digamos, uma fuso
entre duas grandes empresas multinacionais ou um acordo com uma criana para que ela
limpe seu quarto uma vez por semana, o custo de processamento pode no ser importante.
No entanto, muitos dispositivos e processos de rede (por exemplo, roteadores trocando
informaes de tabela de roteamento e agentes de usurios trocando correspondncia por email) trocam de modo rotineiro, dados que poderiam no ser necessariamente
criptografados. No entanto, eles querem garantir que:

O remetente dos dados seja quem diz ser, ou seja, que o remetente assine os dados e que
essa assinatura possa ser verificada.

Os dados transmitidos no foram modificados desde o momento em que o remetente os


criou e assinou.

Dada a sobrecarga de criptografia e decriptografia, a assinatura de dados por


criptografia/decriptografia completa pode ser exagerada. Uma abordagem mais eficiente,
usando os chamados resumos de mensagem, pode atingir esses dois objetivos sem codificar
completamente a mensagem.
Um resumo de mensagem muito parecido com uma soma de verificao. Os
algoritmos de resumo de mensagem pegam uma mensagem m, de comprimento arbitrrio, e
calculam uma impresso digital de comprimento fixo dos dados, conhecida como resumo
de mensagem H(m). O resumo de mensagem protege os dados, uma vez que, se m for
modificado para m (seja por m inteno ou por acidente), ento a mensagem H(m)
processada para os dados originais (e transmitida com os dados) no vai combinar com a
H(m) processada sobre os dados modificados. O resumo de mensagem prov integridade
aos dados, mas que auxlio presta na assinatura da mensagem m? O objetivo aqui que, em
vez de Bob assinar digitalmente (criptografar) a mensagem inteira processando dB(m), seria
possvel que ele assinasse apenas o resumo de mensagem processando dB(H(m)). Em
outras palavras, ter o conjunto m e dB(H(m)) (note que m no criptografada) deve ser to
bom quanto ter uma mensagem completa assinada dB(m). Isso significa que o conjunto m
e dB(H(m)) deve ser no falsificvel, verificvel e incontestvel. A no falsificabilidade
exigir que o algoritmo de resumo de mensagem que calcula o resumo de mensagem tenha
algumas propriedades especiais, como veremos a seguir.
Nossa definio de resumo de mensagem pode parecer muito semelhante definio
de uma soma de verificao (por exemplo, a soma de verificao da Internet) ou de um
cdigo de deteco de erros muito mais poderoso, como a verificao de redundncia
cclica. Ele realmente diferente? Somas de verificao, verificaes de redundncia
cclica e resumos de mensagem so exemplos das denominadas funes de hash. Como
mostra a Figura 9.15, uma funo de hash pega uma entrada de dados, m, e processa uma
cadeia de tamanho fixo conhecida como hash. A soma de verificao da Internet, as CRCs
e os resumos de mensagem esto de acordo com essa definio. Se assinar uma resumo de
mensagem deve ser to bom quanto assinar a mensagem inteira, em particular se deve

232

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

satisfazer exigncia de que no haja possibilidade de falsificao, ento o algoritmo de


resumo de mensagem deve ter as seguintes propriedades adicionais:

Dado um valor de resumo de mensagem x, no deve ser factvel descobrir, por meio de
processamento, uma mensagem y, tal que H(y) = x.

No deve ser, em termos computacionais, factvel descobrir quaisquer duas mensagens


x e y, tais que H(x) = H(y).

Figura 9.15 Funes de hash so usadas para criar resumos de mensagem.

Informalmente, essas duas propriedades significam que, em termos de


processamento, impraticvel que um intruso substitua uma mensagem por outra se a
primeira estiver protegida por um resumo de mensagem. Em outras palavras, se (m, H(m))
for o par do resumo de mensagem criado pelo remetente, ento um intruso no poder
falsificar o contedo de outra mensagem, y, de modo que esta tenha o mesmo valor do
resumo de mensagem da mensagem original. Quando Bob assina m, processando
dB(H(m)), sabemos que nenhuma outra mensagem pode substituir m. Alm disso, a
assinatura digital de Bob, H(m), identifica exclusivamente Bob como o signatrio
verificvel e incontestvel de H(m) (e, em conseqncia, tambm de m), como discutimos
na Seo 9.4.1.

Figura 9.16 Envio de uma mensagem assinada digitalmente.

233

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

No contexto em que Bob envia uma mensagem a Alice, a Figura 9.16 apresenta um
resumo do procedimento operacional para a criao de uma assinatura digital. Bob
processa sua mensagem longa original por meio de uma funo de hash para criar um
resumo de mensagem. Ento, ele criptografa o resumo de mensagem com sua prpria
chave privada. A mensagem original (em texto aberto) e o resumo de mensagem
digitalmente assinado (daqui em diante denominado assinatura digital) so, ento, enviados
a Alice. A Figura 9.17 mostra um resumo do procedimento operacional de verificao da
integridade da mensagem. Alice aplica a chave pblica do remetente mensagem para
recuperar o resumo de mensagem. Ela tambm aplica a funo de hash ao texto aberto da
mensagem para obter um segundo resumo de mensagem. Se os dois resumos coincidirem,
ento Alice poder ter certeza quanto integridade e ao autor da mensagem.

Figura 9.17 Verificao da integridade de uma mensagem assinada.

9.4.3

Algoritmos de funo de hash

bom nos convencermos de que uma simples soma de verificao, como a da


Internet, daria um pssimo algoritmo de resumo de mensagem. Em vez de processarmos a
aritmtica de complemento de 1 (como feito para a soma de verificao da Internet),
vamos processar uma soma de verificao tratando cada caracter como um byte e somando
os bytes em conjunto usando pores de 4 bytes por vez. Suponha que Bob deva a Alice
100,99 dlares e lhe envie um vale constitudo da sentena encadeada.
IOU100.99BOB. (IOU I Owe You Eu devo a voc.). A representao ASCII (em
notao hexadecimal) para essas letras 49, 4F, 55, 31, 30,30, 2E, 39, 39, 42, 4F, 42.
A Figura 9.18 (a parte superior dela) mostra que a soma de verificao dessa
mensagem B2 Cl D2 AC. Uma mensagem ligeiramente diferente (e que sairia muito mais
cara para Bob) mostrada na parte de baixo da Figura 9.18.
As mensagens
IOUI00.99BOB e IOU900.19BOB tm a mesma soma de verificao. Assim, esse
algoritmo simples viola as duas exigncias citadas anteriormente. Fornecidos os dados
originais, simples descobrir outro conjunto de dados com a mesma soma de verificao.
234

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

claro que, para efeito de segurana, precisaremos de uma funo de hash muito mais
poderosa do que a soma de verificao.
O algoritmo de resumo de mensagem MD5 de Ron Rivest amplamente usado hoje.
Ele processa um resumo de mensagem de 128 bits por meio de um processo de quatro
estgios, constitudo de um estgio de recheio (adio de um um seguido de zeros
suficientes, de modo que o comprimento da mensagem satisfaa a determinadas condies),
um estgio de anexao (anexao de uma representao de 64 bits do comprimento da
mensagem antes do recheio), uma inicializao de um acumulador e um estgio final de
looping, no qual os blocos de 16 palavras da mensagem so processados (destroados) em
quatro rodadas de processamento. No se sabe se o MD5 de fato satisfaz s exigncias
citadas anteriormente. O autor do MD5 declara: Conjectura-se que a dificuldade de
produzir duas mensagens que tenham o mesmo resumo da ordem de 264 operaes e que a
dificuldade de produzir qualquer mensagem que tenha um dado resumo de mensagem da
ordem de 2128 operaes. Ningum contestou essas declaraes. Para uma descrio do
MD5 (incluindo uma implementao em cdigo de fonte C), consulte o RFC 1321.
Aspectos computacionais do MD5 so discutidos no RFC 1810.

Figura 9.18 Mensagem inicial e mensagem fraudulenta tm a mesma soma de verificao.

O segundo principal algoritmo de resumo de mensagem em uso atualmente nos


Estados Unidos o SHA1 (secure hash algorithm algoritmo de hash seguro). Esse
algoritmo se baseia em princpios similares aos usados no projeto do MD4 [RFC 1320], o
predecessor do MD5. O uso do SHA1, um padro federal norte-americano, exigido
sempre que aplicaes de mbito federal requerem um algoritmo de resumo de mensagem
seguro. Ele produz um resumo de mensagem de 160 bits.
9.5

Distribuio de chaves e certificao

Na Seo 9.2, vimos que uma desvantagem da criptografia de chaves simtricas era a
necessidade de que as duas partes comunicantes concordassem com sua chave secreta
previamente. Com a criptografia de chaves pblicas, a priori esse acordo quanto a um valor
secreto no necessrio. Contudo, como discutimos na Seo 9.2, a criptografia de chaves
pblicas tambm tem suas dificuldades, em particular o problema de obter a chave pblica
verdadeira de algum. Ambos os problemas determinao de uma chave compartilhada para a
criptografia de chaves simtricas e obteno de uma chave pblica segura, no caso da
criptografia de chaves pblicas podem ser solucionados usando-se um intermedirio de
confiana. Para a criptografia de chaves simtricas, esse intermedirio de confiana chamado
de central de distribuio de chaves (Key Distribution Center KDC), uma entidade de rede
nica e de confiana com quem o usurio estabelece uma chave secreta compartilhada.

235

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Veremos que a KDC pode ser usada para obter as chaves compartilhadas necessrias para uma
comunicao segura com todas as outras entidades de rede, evitando algumas das armadilhas
que identificamos na Seo 9.3. No caso da criptografia de chaves pblicas, o intermedirio de
confiana chamado de autoridade certificadora (Certification Authority CA). Uma CA
certifica que uma chave pblica pertence a uma determinada entidade (uma pessoa ou uma
rede). No caso de uma chave pblica certificada, se a confiana depositada na CA que
certificou a chave for absoluta, poderemos ter certeza quanto a quem pertence a chave pblica.
Uma vez que uma chave pblica certificada, ela pode ser distribuda de qualquer lugar,
incluindo um servidor de chave pblica, uma pgina Web pessoal ou um disquete.
9.5.1

KDC (central de distribuio de chaves)

Suponha novamente que Bob e Alice queiram se comunicar usando criptografia de


chaves simtricas. Eles nunca se encontraram (talvez tenham se conhecido em uma sala de
bate-papo on-line) e, assim, no combinaram uma chave secreta. Como possvel, ento,
que eles combinem uma chave secreta, dado que s podem se comunicar um com o outro
pela rede? Uma soluo freqentemente adotada na prtica usar uma KDC.
A KDC um servidor que compartilha uma chave simtrica secreta diferente com
cada um de seus usurios registrados. Essa chave pode ser instalada manualmente no
servidor quando o usurio se registrar pela primeira vez. A KDC conhece a chave secreta
de cada usurio, e cada um deles pode se comunicar com segurana com a KDC usando
essa chave. Vejamos como o conhecimento dessa nica chave permite que um usurio
obtenha uma chave para se comunicar com qualquer outro usurio registrado. Suponha que
Alice e Bob sejam usurios da KDC; eles conhecem apenas suas prprias chaves
individuais, KAKDC e KBKDC, respectivamente, para se comunicar com segurana com a
KDC. Alice d o primeiro passo, e eles continuam como ilustrado na Figura 9.19.

Figura 9.19 Estabelecimento de uma chave de sesso nica usando uma KDC.

1. Usando KAKDC para codificar sua comunicao com a KDC, Alice envia uma
mensagem KDC dizendo que ela (A) quer se comunicar com Bob (B). Denominamos
essa mensagem de KAKDC(A, B).
2. A KDC, como conhece KAKDC, decriptografa KAKDC(A, B). Em seguida, ela gera um
nmero aleatrio R1. Esse o valor da chave compartilhada que Alice e Bob usaro
para realizar criptografia simtrica quando se comunicarem mutuamente. Essa chave
chamada de chave de sesso nica, pois Alice e Bob a utilizaro apenas durante essa
nica sesso que esto estabelecendo no momento. A KDC agora precisa informar
Alice e Bob do valor de R1. Assim, ela devolve a mesma mensagem a Alice,
criptografada usando KAKDC, contendo o seguinte:

236

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

R1, a chave de sesso nica que Alice e Bob vo usar para se comunicarem.

Um par de valores: A e R1, criptografados pela KDC usando a chave de Bob, KB


KDC. Chamamos esse valor de KBKDC(A, R1). importante notar que a KDC est
enviando Alice no somente o valor de R1 para seu uso, mas tambm uma verso
criptografada de R1 e do nome de Alice, criptografados usando a chave de Bob.
Alice no pode decifrar esse par de valores da mensagem (ela no conhece a chave
criptogrfica de Bob), mas, na verdade, ela no precisa faz-lo. Veremos em breve
que Alice simplesmente repassa o par de valores criptografados para Bob (que pode
decifr-los).

Esses itens so colocados na mensagem e criptografados usando a chave


compartilhada de Alice. A mensagem da KDC para Alice , portanto, KAKDC(R1, KB
KDC(R1)).
3. Alice recebe a mensagem da KDC, extrai R1 da mensagem e a salva. Ela agora
conhece a chave de sesso nica, R1. Ela tambm extrai KBKDC(A, R1) e a repassa a
Bob.
4. Bob decifra a mensagem recebida KBKDC(A, R1) usando KBKDC e extrai A e R1. Ele
agora conhece a chave de sesso nica R1 e sabe quem a pessoa com a qual est
compartilhando essa chave, A. claro que ele toma o cuidado de autenticar Alice
usando R1 antes de prosseguir.
9.5.2

Kerberos

Kerberos [RFC 1510; Neuman, 1994] um servio de autenticao desenvolvido no


MIT que usa tcnicas de criptografia de chaves simtricas e uma central de distribuio de
chaves. Embora seja conceitualmente idntico KDC genrica descrita na Seo 9.5.1, o
Kerberos tem um vocabulrio levemente diferente. Ele contm tambm diversas variaes
e extenses interessantes dos mecanismos bsicos da KDC. Ele foi projetado para
autenticar usurios que acessam servidores de rede e era inicialmente dirigido para o uso de
um nico domnio administrativo, como um campus ou uma empresa. Assim, ele
estruturado na linguagem de usurios que querem acessar os servios da rede (servidores)
utilizando programas de rede de camada de aplicao, como o Telnet (para login remoto) e
o NFS (para acesso a arquivos remotos), em vez de ser estruturado na linguagem de pessoas
que querem conversar entre si e precisam se autenticar mutuamente, como nos exemplos
apresentados at aqui. No obstante, a chave (trocadilho proposital) subjacente s duas
tcnicas continua a mesma.
O servidor de autenticao Kerberos (authetication server SA) desempenha o papel
da KDC. Ele o repositrio no apenas das chaves secretas de todos os usurios (de modo
que cada usurio pode se comunicar com o SA com segurana), mas tambm das
informaes sobre quais usurios tm acesso privilegiado a quais servios em quais
servidores de rede. Quando Alice quer acessar um servio em Bob (que agora
consideramos um servidor), o protocolo segue fielmente o exemplo dado na Figura 9.19:
1. Alice contata o SA Kerberos e indica que quer usar Bob. Toda a comunicao entre
Alice e o SA criptografada usando uma chave secreta que compartilhada entre Alice
e o SA. No Kerberos, Alice primeiramente fornece seu nome e senha a seu hospedeiro
local. Este e o SA ento determinam a chave de sesso nica para criptografar a
comunicao entre Alice e o SA.
2. O SA autentica Alice, verifica se ela tem acesso privilegiado a Bob e gera uma chave
simtrica de sesso nica, R1, para a comunicao entre Bob e Alice. O servidor de

237

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

autenticao (no jargo do Kerberos, servidor bilheteiro) envia a Alice o valor de R1 e


tambm um bilhete de entrada para os servios de Bob. O bilhete contm o nome de
Alice, a chave da sesso Alice Bob, R1 e o horrio de trmino, tudo criptografado
usando a chave secreta de Bob (conhecida apenas por Bob e SA), como na Figura 9.19.
O bilhete de Alice vlido s at o horrio de trmino e ser rejeitado por Bob se
apresentado aps esse horrio. Para o Kerberos V4, o tempo mximo de vida til de um
bilhete de cerca de 21 horas. No Kerberos V5, o tempo de vida til deve expirar antes
do final do ano de 9.999, um srio problema para o ano 10.000!
3. Alice ento envia seu bilhete a Bob. Ela tambm envia uma marca de tempo
criptografada por R1 que usada como um nonce. Bob decifra o bilhete usando sua
chave secreta, obtm a chave da sesso e decifra a marca de tempo utilizando a chave
da sesso que acabou de descobrir. Ele devolve o nonce a Alice, criptografado por R1,
mostrando, assim, que ele conhece R1 e que est ao vivo.
9.5.3

Certificao de chaves pblicas

Uma das caractersticas principais da criptografia de chaves pblicas que possvel


que duas entidades troquem mensagens secretas sem ter de trocar chaves secretas. Por
exemplo, quando Alice quer enviar uma mensagem secreta a Bob, ela simplesmente
criptografa a mensagem com a chave pblica de Bob e envia a mensagem criptografada a
ele; ela no precisa conhecer a chave secreta (isto , privada) de Bob nem Bob precisa
conhecer a chave secreta de Alice. Assim, a criptografia de chaves pblicas evita a
necessidade de infra-estrutura de KDC, como o Kerberos.
Evidentemente, com a criptografia de chaves pblicas, as entidades comunicantes tm
de trocar chaves pblicas. Um usurio pode disponibilizar o conhecimento de sua chave
pblica de muitas maneiras, como, por exemplo, apresentando a chave em sua pgina Web
pessoal, colocando-a em um servidor pblico de chaves ou enviando-a a um correspondente
por e-mail. Um site Web de comrcio pode colocar sua chave pblica em seu servidor de
modo que os browsers descarreguem automaticamente a chave pblica ao se conectarem ao
site. Roteadores podem colocar sua chave pblica em servidores de chaves pblicas,
permitindo, desse modo, que outras entidades da rede a recuperem.
H, contudo, um problema sutil, mas importante, com a criptografia de chaves
pblicas. Para termos uma percepo desse problema, vamos considerar uma transao
comercial pela Internet, por exemplo. Suponha que Alice trabalhe no ramo de pizzas para
viagem e que aceite pedidos pela Internet. Bob, que adora pizza, envia a Alice uma
mensagem em texto aberto que contm o endereo de sua casa e o tipo de pizza que quer.
Nessa mensagem, ele inclui tambm sua assinatura digital (isto , um resumo de mensagem
criptografado extrado da mensagem original em texto aberto). Como discutimos na
Seo 9.4, Alice pode obter a chave pblica de Bob (de sua pgina Web pessoal, de um
servidor de chaves pblicas ou de uma mensagem de e-mail) e verificar a assinatura digital.
Dessa maneira, ela se certifica de que foi Bob, e no algum adolescente brincalho, quem
fez o pedido.
Tudo parece caminhar bem at que entra em cena a esperta Trudy. Como mostrado
na Figura 9.20, Trudy decide fazer uma travessura. Ela envia uma mensagem a Alice na
qual diz que Bob, fornece o endereo de Bob e pede uma pizza. Ela tambm anexa uma
assinatura digital, mas faz isso assinando o resumo de mensagem com sua chave privada.
Ela tambm se faz passar por Bob enviando a Alice sua chave pblica, mas dizendo que a
chave pertence a Bob. Nesse exemplo, Alice aplicar a chave pblica de Trudy (pensando
que a de Bob) na assinatura digital e concluir que a mensagem em texto aberto foi, na

238

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

verdade, criada por Bob. Este ficar muito surpreso quando o entregador aparecer em sua
casa com uma pizza, com tudo acertado!

Figura 9.20 Trudy se passa por Bob usando a criptografia de chaves pblicas.

Por esse exemplo, vemos que, para que a criptografia de chaves pblicas seja til, as
entidades (usurios, browsers, roteadores) precisam ter certeza de que possuem a chave
pblica da entidade com a qual esto se comunicando. Por exemplo, quando Alice estiver
se comunicando com Bob usando criptografia de chaves pblicas, ela precisa saber, com
certeza, que a chave pblica, que supostamente de Bob, de fato dele. Tnhamos
preocupaes semelhantes em nossos protocolos de autenticao apresentados na
Figura 9.12 e na Figura 9.13.
A vinculao de uma chave pblica a uma entidade particular feita, tipicamente, por
uma autoridade certiticadora (certification authority CA), cuja tarefa validar identidades
e emitir certificados. A CA tem as seguintes incumbncias:
1. A CA verifica se uma entidade (pessoa, roteador e assim por diante) quem se diz ser.
No h procedimentos obrigatrios quanto ao modo como deve ser feita a certificao.
Ao tratarmos com uma CA, devemos confiar que ela tenha realizado uma verificao
rigorosa da entidade. Por exemplo, se Trudy conseguisse entrar na autoridade
certificadora Fly-by-night, e simplesmente declarasse Eu sou Alice e recebesse
certificados associados identidade Alice, ento no se deveria dar muita
credibilidade s chaves pblicas certificadas pela autoridade certificadora Fly-by-night.
Por outro lado, seria mais sensato (ou no!) estar inclinado a confiar em uma CA que
faz parte de um programa federal ou estadual. O grau de confiana que se tem na
identidade associada a uma chave pblica equivale apenas ao grau de confiana
depositada na CA e em suas tcnicas de verificao de identidades. Em que rede
emaranhada estamos enredados!
2. Assim que a CA verifica a identidade da entidade, ela cria um certificado que vincula a
chave pblica da entidade identidade. O certificado contm a chave pblica e a
informao exclusiva que identifica mundialmente a chave pblica do proprietrio (por
exemplo, o nome de algum ou um endereo IP). Esses passos so mostrados na
Figura 9.21.

239

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 9.21 Bob obtm um certificado de uma CA.

Vejamos, agora, como os certificados podem ser usados para combater os espertinhos
das pizzas, como Trudy e outros indesejveis. Quando Alice recebe o pedido de Bob, ela
pega o certificado de Bob, que pode estar na pgina Web dele, em uma mensagem de e-mail
ou em um servidor de certificados. Alice usa a chave pblica da CA para verificar se a
chave pblica do certificado de Bob , de fato, de Bob. Supomos que a chave pblica da
CA seja conhecida de todos (por exemplo, poderia ser divulgada em um local conhecido e
de confiana, como no jornal The New York Times, de modo que todos a conheam e que
no possa ser falsificada) e que Alice ento possa ter certeza de que est realmente tratando
com Bob. A Figura 9.21 ilustra os passos envolvidos na criptografia de chaves pblicas
mediada por uma CA.
Tanto a International Telecommunication Union (ITU) quanto a IETF desenvolveram
padres para autoridades certificadoras. Na recomendao ITU X.509, encontramos
especificado um servio de autenticao, bem como uma sintaxe prpria para os
certificados. O RFC 1422 descreve um gerenciamento de chaves baseado em CA para uso
com o e-mail seguro pela Internet. Essa recomendao compatvel com a X.509, mas vai
alm desta, pois estabelece procedimentos e convenes para uma arquitetura de
gerenciamento de chaves. A Tabela 9.1 apresenta alguns campos importantes de um
certificado.
Nome do Campo

Descrio

Verso
Nmero de Srie
Assinatura

Nmero da verso da especificao X.509


Identificador exclusivo emitido pela CA para um certificado
Especifica o algoritmo usado pela CA para assinar esse certificado
Identidade da CA que emitiu o certificadom no formato chamado de nome distinto (DN)
Nome do Emissor
especificado no RFC 2253
Perodo de Validade
Inicio e fim do perodo de validade de um certificado
Nome do Sujeito
Identidade da entidade cuja chave pblica est associada a esse certificado, em formato DN
A chave pblica do sujeito, bem como uma indicao do algoritmo de chave pblica (e
Chave Pblica do Sujeito
parmetros do algoritmo) a ser usado com essa chave
Tabela 9.1 Campos selecionados de um certificado de chave pblica X.509 e RFC 1422.

Com o crescimento do comrcio eletrnico e a conseqente necessidade de garantir a


segurana das transaes, tem havido um interesse crescente em autoridades certificadoras.
240

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Dentre as empresas que fornecem servios de CA destacam-se a Cybertrust, a Verisign e a


Netscape.
9.6

E-mail seguro

Nas sees anteriores, examinamos as questes fundamentais da segurana na rede,


incluindo a criptografia de chaves simtricas e a de chaves pblicas, a autenticao, a
distribuio de chaves, a integridade de mensagens e as assinaturas digitais. Vamos agora
examinar como essas ferramentas esto sendo usadas para fornecer segurana na Internet.
interessante o fato de que possvel fornecer servios de segurana em qualquer uma das quatro
camadas superiores da pilha de protocolos da Internet. Quando fornecida segurana para um
protocolo especfico de camada de aplicao, a aplicao que usa o protocolo desfruta de um ou
mais servios de segurana, como sigilo, autenticao ou integridade. Quando a segurana
fornecida para um protocolo de camada de transporte, todas as aplicaes que usam o protocolo
desfrutam dos servios de segurana do protocolo de transporte. Quando a segurana
fornecida na camada de rede, na base de host a host, todos os segmentos de camada de
transporte (e, por conseguinte, todos os dados de camada de aplicao) desfrutam dos servios
de segurana da camada de rede. Quando a segurana fornecida com base no enlace, todos os
dados de todos os quadros que esto trafegando pelo enlace recebem os servios de segurana
do enlace.
Nesta e nas duas sees seguintes, veremos como as ferramentas de segurana esto sendo
usadas nas camadas de aplicao, transporte e rede. Comearemos pelo topo da pilha de
protocolos, discutindo a segurana no nvel da camada de aplicao. Nessa discusso, usaremos
uma aplicao especfica, ou seja, o e-mail, como estudo de caso para a segurana na camada de
aplicao. Em seguida, desceremos pela pilha de protocolos. Na Seo 9.7, examinaremos o
protocolo SSL, que fornece segurana ao TCP na camada de transporte. Na Seo 9.8,
consideraremos o IPsec, que fornece segurana camada de rede.
bem possvel que voc esteja pensando por que a funcionalidade de segurana da
Internet est sendo fornecida em mais de uma camada. No seria suficiente simplesmente
fornecer funcionalidade de segurana na camada de rede e esquecer o assunto? Essa pergunta
pode ser respondida de dois modos. Em primeiro lugar, embora exista na camada de rede um
cobertor de segurana com a criptografia de todos os dados dos datagramas (isto , de todos
os segmentos de camada de transporte) e com a autenticao de todos os endereos IP de
origem, isso no garante segurana no nvel do usurio. Por exemplo, um site comercial no
pode confiar na segurana da camada IP para autenticar um cliente que est comprando
mercadorias nesse site. Assim, h necessidade de uma funcionalidade de segurana nas
camadas mais altas, bem como um cobertor de segurana nas camadas mais baixas. Em
segundo lugar, geralmente mais fcil disponibilizar novos servios de Internet, incluindo
servios de segurana, nas camadas mais altas da pilha de protocolos. Enquanto aguardamos
que a segurana seja disseminada de maneira ampla na camada de rede, o que ainda levar
alguns anos para acontecer, muitos desenvolvedores de aplicao tomam a iniciativa de faz-lo
mesmo assim e introduzem a funcionalidade em suas aplicaes favoritas. Um exemplo
clssico o PGP, que fornece e-mail seguro (o PGP ser discutido mais adiante nesta seo).
Como exige apenas programas de aplicao cliente e servidor, o PGP foi uma das primeiras
tecnologias de segurana a ser usada amplamente na Internet.
9.6.1

Princpios de segurana para e-mail

Nesta seo, usaremos muitas das ferramentas apresentadas na seo anterior para
criar um projeto de alto nvel para um sistema de e-mail seguro. Criamos esse projeto de
alto nvel de maneira incremental, introduzindo, a cada estgio, novos servios de
segurana. Ao projetarmos um sistema de e-mail seguro, vamos manter em mente o
241

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

exemplo malicioso apresentado na Seo 9.1 o caso de amor entre Alice e Bob. Nesse
contexto, Alice quer enviar uma mensagem de e-mail para Bob e Trudy quer bisbilhotar a
mensagem.
Antes de avanarmos e projetarmos um sistema de e-mail seguro para Alice e Bob,
devemos considerar quais caractersticas de segurana seriam as mais desejveis para eles.
A primeira caracterstica, e a mais importante, o sigilo. Como foi discutido na Seo 9.1,
nem Alice nem Bob querem que Trudy leia a mensagem de e-mail de Alice. A segunda
caracterstica que Alice e Bob provavelmente gostariam de ver no sistema de e-mail seguro
a autenticao do remetente. Em particular, quando Bob receber a seguinte mensagem de
Alice Eu no o amo mais. Nunca mais quero v-lo. Da anteriormente sua, Alice, ele
naturalmente vai querer ter certeza de que a mensagem veio de Alice, e no de Trudy.
Outra caracterstica de segurana que os dois amantes gostariam de dispor a integridade
de mensagem, isto , a certeza de que a mensagem que Alice enviar no ser modificada no
trajeto at Bob. Por fim, o sistema de e-mail deve fornecer autenticao do receptor, isto ,
Alice quer ter certeza de que ela de fato est mandando a mensagem para Bob, e no para
outra pessoa (por exemplo, Trudy) que possa estar se passando por Bob.
Assim, vamos comear abordando a primeira preocupao de Alice e Bob, ou seja, o
sigilo. A maneira mais direta de consegui-lo Alice criptografar a mensagem por
tecnologia de chaves simtricas (como o DES) e Bob decifrar a mensagem ao receb-la.
Como discutido na Seo 9.2, se a chave simtrica for suficientemente longa e se somente
Alice e Bob possurem a chave, ento ser reduzidssima a possibilidade de algum
(incluindo Trudy) ler a mensagem. Embora essa seja uma abordagem direta, ela apresenta
a dificuldade fundamental que discutimos na Seo 9.2 difcil distribuir chaves
simtricas de modo que apenas Bob e Alice tenham cpias delas. Assim, a criptografia de
chaves pblicas (usando, por exemplo, RSA) , naturalmente, uma ferramenta alternativa.
Na abordagem de chave pblica, Bob disponibiliza publicamente sua chave pblica (por
exemplo, em um servidor de chaves pblicas ou em sua pgina Web pessoal) e Alice
criptografa a mensagem com a chave pblica de Bob, enviando a mensagem cifrada para o
endereo de e-mail de Bob. (A mensagem codificada encapsulada com cabealhos Mime
e enviada sobre SMTP comum.) Quando Bob recebe a mensagem, ele simplesmente a
decifra com sua chave privada. Supondo que Alice tenha certeza de que a chave pblica
que usou a de Bob (e de que esta suficientemente longa), ento essa abordagem um
meio excelente de fornecer o desejado sigilo. Um problema, contudo, que a criptografia
de chaves pblicas relativamente ineficiente, sobretudo para as mensagens longas.
(Mensagens de e-mail longas agora so muito comuns na Internet, devido ao crescimento
do uso de anexos, imagens, udio e vdeo.)
Para superarmos o problema da eficincia, vamos fazer uso de uma chave de sesso
(discutida na Seo 9.5). Em particular, Alice (1) escolhe uma chave simtrica, KS,
aleatoriamente, (2) criptografa sua mensagem m com a chave simtrica KS, (3) criptografa a
chave simtrica com a chave pblica de Bob, eB, (4) concatena a mensagem cifrada e a
chave simtrica cifrada de modo que formem um pacote e (5) envia o pacote ao endereo
de e-mail de Bob. Os passos esto ilustrados na Figura 9.22. (Nessa figura e nas
subseqentes, o sinal + representa a concatenao e o sinal , a desconcatenao.)
Quando Bob receber o pacote, ele vai (1) usar sua chave privada dB para obter a chave
simtrica KS e (2) utilizar a chave simtrica KS para decifrar a mensagem m.

242

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Figura 9.22 Alice usa uma chave de sesso simtrica KS.

Agora que projetamos um sistema de e-mail seguro que fornece sigilo, vamos
desenvolver um outro sistema que fornea a autenticao do remetente e a integridade da
mensagem. Vamos supor, no momento, que Alice e Bob no estejam mais preocupados
com o sigilo (querem compartilhar seus sentimentos com todos!) e que estejam somente
preocupados com a autenticao do remetente e com a integridade da mensagem. Para
realizarmos essa tarefa, faremos uso de assinaturas digitais e resumos de mensagem, como
descrito na Seo 9.4. Especificamente, Alice (1) aplica uma funo de hash H (por
exemplo, MD5) sua mensagem m, para obter um resumo de mensagem, (2) criptografa o
resultado da funo de hash com sua chave privada dA, para criar uma assinatura digital, (3)
concatena o original (mensagem no codificada) com a assinatura para criar um pacote e
(4) envia o pacote ao endereo de e-mail de Bob. Quando Bob recebe o pacote, ele (1)
aplica a chave pblica de Alice, eA, ao resumo de mensagem assinado e (2) compara o
resultado dessa operao com o prprio hash H da mensagem. Os passos so ilustrados na
Figura 7.25. Como discutimos na Seo 9.5, se os dois resultados forem os mesmos, Bob
poder estar certo de que a mensagem veio de Alice e no foi alterada.

Figura 9.23 Uso de funes de hash e assinaturas digitais.

Vamos considerar agora o projeto de um sistema de e-mail que fornea sigilo,


autenticao do remetente e integridade de mensagem. Isso pode ser feito pela combinao
dos procedimentos da Figura 9.22 e Figura 9.23. Primeiramente, Alice cria um pacote
preliminar, exatamente como mostra a Figura 9.23, constitudo de sua mensagem original
junto com um hash da mensagem assinado digitalmente. Em seguida, ela trata esse pacote
preliminar como uma mensagem em si e envia essa nova mensagem seguindo os passos do
remetente mostrados na Figura 9.22, criando um novo pacote que enviado a Bob. Os
passos dados por Alice so mostrados na Figura 9.24. Quando Bob recebe o pacote, ele
aplica primeiramente seu lado da Figura 9.22 e depois seu lado da Figura 9.23. Deve ficar
claro que esse projeto atinge o objetivo de fornecer sigilo, autenticao do remetente e
integridade de mensagem. Note que nesse esquema Alice aplica a criptografia de chaves
243

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

pblicas duas vezes: uma vez com sua chave privada e uma vez com a chave pblica de
Bob. De maneira semelhante, Bob aplica a criptografia de chave pblica duas vezes uma
vez com sua chave privada e uma vez com a chave pblica de Alice.
O projeto de e-mail seguro ilustrado na Figura 9.24 provavelmente fornece segurana
satisfatria para os usurios de e-mail na maioria das ocasies. Mas ainda resta uma
questo importante a ser abordada. O projeto da Figura 9.24 requer que Alice obtenha a
chave pblica de Bob e que Bob obtenha a chave pblica de Alice. A distribuio dessas
chaves um problema incomum. Por exemplo, Trudy poderia se disfarar de Bob e dar a
Alice sua chave, dizendo que a chave pblica de Bob. Como aprendemos na Seo 9.5,
uma abordagem popular para distribuir chaves pblicas com segurana certific-las.

Figura 9.24 Alice usa vrias tcnicas para enviar uma mensagem.

9.6.2

PGP (privacidade razovel)

Projetado originalmente por Phil Zimmermann em 1991, o PGP (Pretty Good


Privacy privacidade razovel) um esquema de criptografia para e-mail que se tornou um
padro de fato. O site do PGP acessado mais de um milho de vezes por ms por usurios
de 166 pases. Verses do PGP esto disponveis em domnio pblico; por exemplo, voc
pode encontrar o software PGP para sua plataforma favorita, bem como grande quantidade
de material de leitura interessante, na home page internacional do PGP. O PGP tambm
pode ser adquirido no comrcio. Ele pode ser encontrado ainda como elemento adicional
para muitos agentes de usurio de e-mail, incluindo o Exchange e o Outlook da Microsoft e
o Eudora da Qualcomm.
O projeto do PGP em essncia idntico ao projeto apresentado na Figura 9.24.
Dependendo da verso, o software do PGP usa MD5 ou SHA para processar o resumo de
mensagem; Cast, DES triplo ou Idea para criptografar chaves simtricas, e RSA para
criptografar chaves pblicas. Alm disso, o PGP fornece compresso de dados.
Quando o PGP instalado, o software cria um par de chaves pblicas para o usurio.
A chave pblica pode ento ser colocada no site do usurio ou em um servidor de chaves
pblicas. A chave privada protegida pelo uso de uma senha. A senha tem de ser
informada todas as vezes que o usurio acessa a chave privada. O PGP oferece ao usurio a
opo de assinar digitalmente a mensagem, criptografar a mensagem ou, ainda, ambas as
opes: assinar digitalmente e criptografar a mensagem. A Figura 9.25 mostra uma
mensagem PGP assinada. Essa mensagem aparece aps o cabealho Mime. Os dados
codificados da mensagem correspondem a dA(H(m)), ou seja, ao resumo de mensagem
assinado digitalmente. Como discutimos antes, para que Bob verifique a integridade da
mensagem, ele precisa ter acesso chave pblica de Alice.

244

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

- - - - BEGIN PGP SIGNED MESSAGE - - - - Hash: SHA1


Bob:
My husband is out of town tonight.
Passionately yours, Alice
- - - - - BEGIN PGP SIGNATURE - - - - Version: PGP for Personal Privacy 5.0
Charset: noconv
yhHJRHhGJGhgg/12EpJ+18gE4vB3mqJhFEvZP9t6n7G6m5Gw2
- - - - - END PGP SIGNATURE - - - - Figura 9.25 Mensagem PGP assinada.

A Figura 9.26 mostra uma mensagem PGP secreta. Essa mensagem tambm aparece
aps o cabealho Mime. claro que a mensagem em texto aberto no est includa na
mensagem de e-mail secreta. Quando um remetente (como Alice) quer no apenas o sigilo,
mas tambm a integridade, o PGP contm uma mensagem como a da Figura 9.26 dentro da
mensagem da Figura 9.25.
- - - - - BEGIN PGP MESSAGE - - - - Version: PGP for Personal Privacy 5.0
U2R4d+/jKmn8Bc5hgDsqAewsDfrGdszX681iKm5F6Gc4sDfcXytRfdS10juHgb
cfDssWe7/K=1KhnMikLo0+1/BvcX4t==Ujk9PbcD4Thdf2awQfgHbnmK1ok8iy
6gThlp
- - - - - END PGP MESSAGE
Figura 9.26 Mensagem PGP secreta.

O PGP tambm fornece um mecanismo para certificao de chaves pblicas, mas


esse mecanismo bem diferente daquele da autoridade certificadora mais convencional. As
chaves pblicas do PGP so certificadas por uma rede de confiabilidade. A prpria Alice
pode certificar qualquer par chave/usurio quando ela achar que esse par est correto.
Alm disso, o PGP permite que Alice declare que ela confia em outro usurio para atestar a
autenticidade de mais chaves. Alguns usurios do PGP assinam reciprocamente suas
chaves montando grupos de assinatura de chaves. Os usurios se renem fisicamente,
trocam disquetes contendo as chaves pblicas e certificam suas chaves reciprocamente,
assinando-as com suas chaves privadas. As chaves pblicas PGP tambm so distribudas
por servidores de chaves pblicas PGP, pela Internet. Quando um usurio apresenta uma
chave pblica a esse servidor, este armazena uma cpia da chave, envia uma cpia a todos
os outros servidores de chaves pblicas e serve a chave a quem quer que a solicite. Embora
os grupos de assinantes de chaves e os servidores de chaves pblicas PGP realmente
existam, o modo mais comum utilizado pelos usurios para distribuir suas chaves pblicas
, de longe, coloc-las em sua pgina Web pessoal. Evidentemente, as chaves que
aparecem nessas pginas no so certificadas por ningum, mas so fceis de acessar.
9.7

Comrcio pela Internet

Na seo anterior, consideramos a utilizao feita pela camada de aplicao (no e-mail
seguro) das vrias tecnologias de segurana que estudamos anteriormente neste captulo:
criptografia, autenticao, distribuio de chaves, integridade de mensagem e assinaturas
digitais. Nesta seo, continuaremos nossos estudos de caso dos vrios mecanismos de
segurana, descendo uma camada na pilha de protocolos e abordando as portas seguras e a
camada de transporte segura. Usaremos o comrcio pela Internet como aplicao motivadora,
uma vez que os negcios e as transaes financeiras so importantes impulsionadores da
segurana na Internet.

245

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Chamamos de comrcio pela Internet a compra de bens pela Internet. Nesse contexto,
consideramos o termo bens em um sentido muito amplo, que engloba desde livros, CDs,
hardwares, softwares e passagens areas at aes e ttulos, servios de consultoria e assim por
diante. Durante a dcada de 90, muitos sistemas foram projetados para o comrcio pela
Internet, alguns oferecendo nveis mnimos de segurana e outros fornecendo altos nveis de
segurana, acompanhados do anonimato do cliente semelhante ao anonimato oferecido pelas
transaes comerciais pessoais comuns, feitas em dinheiro. No final da dcada de 90, no
entanto, houve uma grande mudana de cenrio, pois apenas alguns desses sistemas foram
amplamente implementados em browsers e servidores. Dois sistemas se firmaram: a SSL, que
correntemente usada na grande maioria das transaes pela Internet, e a SET, a qual se acredita
que concorrer com a SSL nos prximos anos.
O comrcio pela Internet, seja com SSL ou com SET, faz uso extensivo da infra-estrutura
de cartes de pagamento (de crdito e de dbito) que os consumidores, comerciantes e
instituies financeiras usam h muitos anos. H trs participantes importantes nessa infraestrutura: o cliente que est comprando um produto, o comerciante que est vendendo o produto
e o banco comercial, que autoriza a compra. Veremos, em nossa discusso a seguir, que o
comrcio pela Internet com a SSL fornece segurana para as comunicaes entre os dois
primeiros participantes (isto , entre o cliente e o comerciante), ao passo que a SET oferece
segurana para as comunicaes entre os trs participantes.
9.7.1

Comrcio pela Internet usando SSL

Vamos considerar um cenrio tpico de comrcio pela Internet. Bob est navegando
pela Web e encontra o site Alice Incorporated, que vende bens durveis. Esse site apresenta
um formulrio no qual Bob deve informar a quantidade desejada, seu endereo e o nmero
do seu carto de pagamento. Bob registra essas informaes, clica em apresentar e,
ento, aguarda o recebimento (digamos, pelo correio convencional) do bem adquirido; ele
tambm espera receber a cobrana da mercadoria na prxima fatura de seu carto de
crdito. Isso tudo parece ser muito bom, mas, se no forem tomadas medidas de
segurana como criptografia ou autenticao Bob poder ter algumas surpresas:

Um intruso pode interceptar a ordem de pagamento, obter as informaes sobre o carto


de crdito e, ento, fazer compras na conta de Bob.

O site pode apresentar o famoso logotipo da Alice Incorporated, mas, na realidade, ser
mantido por Trudy, que est se fazendo passar pela Alice Incorporated. Trudy poderia
se apossar do dinheiro de Bob e fugir. Ou ela poderia fazer compras e enviar a fatura
para a conta de Bob.

Muitas outras surpresas tambm so possveis; discutiremos algumas delas na


prxima subseo. Mas esses dois problemas apresentados so os mais srios. O comrcio
pela Internet usando SSL pode enfrentar ambos os problemas.
A SSL (secure sockets layer camada de portas de segurana), originalmente
desenvolvida pela Netscape, um protocolo projetado para fornecer criptografia de dados e
autenticao entre um cliente e um servidor Web. O protocolo comea com uma fase de
apresentao mtua que negocia um algoritmo de criptografia (por exemplo, DES ou Idea)
e chaves e autentica o servidor para o cliente. Opcionalmente, o cliente pode tambm ser
autenticado para o servidor. Uma vez completada a mtua apresentao e iniciada a
transmisso da aplicao de dados, todos os dados so criptografados usando as chaves de
sesso negociadas durante a fase de apresentao mtua. O protocolo SSL amplamente
usado no comrcio pela Internet, sendo implementado em quase todos os browsers

246

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

populares e servidores Web. Alm disso, ele a base do protocolo TLS (transport layer
security segurana da camada de transporte).
Os protocolos SSL e TLS no so limitados aplicao na Web; por exemplo, eles
podem ser usados de maneira semelhante para autenticao e criptografia de dados no
acesso ao correio IMAP. A camada SSL pode ser vista como uma camada que se situa
entre a camada de aplicao e a camada de transporte. No lado remetente, o protocolo SSL
recebe os dados (como uma mensagem HTTP ou IMAP vinda de uma aplicao),
criptografa-os e direciona os dados criptografados a uma porta TCP. No lado receptor, ele
l a porta TCP, decifra os dados e os direciona aplicao. Embora o protocolo SSL possa
ser usado com muitas aplicaes da Internet, ele ser discutido no contexto da Web, em que
utilizado principalmente para o comrcio pela Internet.
A SSL tem as seguintes caractersticas:

Autenticao do servidor SSL, que permite que um usurio confirme a identidade de


um servidor. Um browser habilitado para SSL mantm uma lista de CAs de confiana,
juntamente com as chaves pblicas dessas CAs. Quando um browser quer fazer
negcios com um servidor Web habilitado para SSL, ele obtm um certificado do
servidor contendo a chave pblica deste. O certificado emitido (ou seja, assinado
digitalmente) pela CA que aparece na lista de CAs de confiana do cliente. Essa
caracterstica permite que o browser autentique o servidor antes de o usurio informar o
nmero de seu carto de pagamento. No contexto do exemplo apresentado, essa
autenticao do servidor permite que Bob verifique se ele est realmente enviando o
nmero de seu carto de pagamento Alice Incorporated, e no a algum que possa
estar se fazendo passar pela Alice Incorporated.

Autenticao do cliente SSL, que permite que um servidor confirme a identidade de um


usurio. Anloga autenticao do servidor, a autenticao do cliente faz uso de
certificados dos clientes que tambm foram emitidos pelas CAs. Essa autenticao ser
importante se o servidor, por exemplo, for um banco que est enviando informaes
financeiras confidenciais para um cliente e quer verificar a identidade do receptor. A
autenticao do cliente, embora suportada pela SSL, opcional. Para mantermos nossa
discusso em um nico foco, vamos ignorar a autenticao do cliente daqui em diante.

Uma sesso SSL criptografada, na qual toda a informao enviada entre browser e
servidor criptografada pelo software remetente (browser ou servidor Web). Essa
confidencialidade pode ser importante tanto para o cliente quanto para o comerciante.
O protocolo SSL tambm fornecer um mecanismo que detecta a alterao de
informao por um intruso.

9.7.1.1

Como a SSL funciona

Um usurio digamos, Bob navega pela Web e pressiona um ponteiro que o


transporta a uma pgina segura abrigada pelo servidor habilitado SSL de Alice. A
parte do URL que se refere ao protocolo para essa pgina HTTPS, e no o HTTP
comum. O browser e o servidor ento rodam o protocolo de mtua apresentao SSL
que (1) autentica o servidor e (2) gera uma chave simtrica compartilhada. Ambas as
tarefas fazem uso da tecnologia de chaves pblicas RSA. O fluxo principal de eventos
na fase de mtua apresentao mostrado na Figura 9.27. Durante essa fase, Alice
envia a Bob seu certificado, a partir do qual Bob obtm a chave pblica de Alice. Bob
ento cria uma chave simtrica aleatria, criptografa-a com a chave pblica de Alice e
a envia criptografada para Alice. Agora, Bob e Alice compartilham uma chave de
sesso simtrica. Assim que esse protocolo de mtua apresentao se completa, todos
247

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

os dados enviados entre o browser e o servidor (pelas conexes TCP) so


criptografados usando a chave de sesso simtrica.

Figura 9.27 Viso de alto nvel da fase de mtua apresentao SSL.

Agora que apresentamos uma viso de alto nvel da SSL, vamos examinar
melhor alguns dos detalhes mais importantes. A fase de mtua apresentao SSL
percorre os seguintes passos:
1. O browser envia ao servidor o nmero da verso da SSL que utiliza e as
preferncias criptogrficas. Ele envia essas preferncias criptogrficas porque
browser e servidor negociam qual algoritmo de chaves simtricas vo usar.
2. O servidor envia ao browser o nmero da verso da SSL que utiliza, suas
preferncias criptogrficas e seu certificado. Lembre-se de que o certificado
contm a chave pblica RSA do servidor e certificado por uma CA, isto , o
certificado criptografado por uma chave pblica da CA.
3. O browser tem uma lista de CAs de confiana e uma chave pblica para cada CA
da lista. Se no tiver, o usurio ser avisado do problema e informado de que no
pode ser estabelecida uma conexo criptografada e autenticada. Se a CA estiver na
lista, o browser usar a chave pblica da CA para decifrar o certificado e obter a
chave pblica do servidor.
4. O browser gera uma sesso de chave simtrica, criptografa-a com a chave pblica
do servidor e envia a chave de sesso criptografada ao servidor.

248

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

5. O browser envia uma mensagem ao servidor informando que as futuras mensagens


do cliente sero criptografadas com a chave de sesso. Ele ento envia uma
mensagem separada (criptografada) mostrando que sua parte na mtua
apresentao est encerrada.
6. O servidor envia uma mensagem ao browser informando que as futuras mensagens
do servidor sero criptografadas com a chave de sesso. Ele ento envia uma
mensagem separada (criptografada) mostrando que sua parte na mtua
apresentao est encerrada.
7. Agora, a mtua apresentao SSL est completa e comea a sesso SSL. O
browser e o servidor usam as chaves de sesso para codificar e decifrar os dados
que enviam um ao outro e para validar sua integridade.
A mtua apresentao SSL tem na verdade mais passos do que os apresentados.
Voc pode encontrar mais informaes sobre a SSL na Security Developer Central da
Netscape. Alm das compras feitas com carto de crdito, destacamos que a SSL pode
ser (e ) usada para outras transaes financeiras, incluindo home banking e comrcio
de aes.
9.7.1.2

A SSL em ao

Recomendamos que visite um site seguro, como por exemplo um site da cidade
de Quebec de xarope de bordo (http://www.jam.ca/syrup). Quando entrar na seo de
segurana de um site desse tipo, a SSL executar o protocolo de mtua apresentao.
Supondo-se que o certificado do servidor passe na verificao, o browser o notificar,
por exemplo, apresentando um cone especial. Dali em diante, toda informao
trocada entre voc e o servidor ser criptografada. Seu browser dever permitir que
voc realmente veja o certificado do comerciante. (Por exemplo, com o Internet
Explorer, consulte Arquivo, Propriedades, Certificados.) Em fevereiro de 2000, o
certificado do site de xarope de bordo continha as seguintes informaes:
Empresa: Netfarmers Enterprises Inc.
Autoridade Cerlificadora: Thawte Certification
Chave pblica (em notao hexadecima/):
3E:BD:DD:46:10:D1:92:95:D6:12:ED:A8:18:88:51:60

Se seu browser permitir que se realizem transaes seguras com o comerciante,


ento voc dever tambm poder ver o certificado da CA, isto , da Thawte
Certification. Por exemplo, no Internet Explorer, consulte Ferramentas, Opes da
Internet, Contedo, Certificados.
9.7.1.3

As limitaes no comrcio pela internet

Devido sua simplicidade e a seu desenvolvimento precoce, a SSL


amplamente implementada em browsers, servidores e produtos para comrcio pela
Internet. Esses servidores e browsers habilitados SSL fornecem uma plataforma
popular para transaes com cartes de pagamento. No entanto, devemos ter sempre
em mente que a SSL no foi produzida especificamente para transaes com cartes de
pagamento, mas para comunicaes genricas seguras entre um cliente e um servidor.
Por causa de seu projeto genrico, faltam SSL muitas caractersticas que o setor de
cartes de pagamento gostaria de ver incorporadas a um protocolo de comrcio pela
Internet.

249

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Considere novamente o que acontece quando Bob compra algo do site Alice
Incorporated por meio da SSL. O certificado assinado que Bob recebe de Alice
garante que ele est negociando com a Alice Incorporated e que a Alice Incorporated
uma empresa bona fide. Contudo, o certificado genrico no indica se a Alice
Incorporated est autorizada a aceitar compras com carto de pagamento nem se a
empresa um estabelecimento comercial de confiana. Isso abre uma porta para a
fraude do comerciante. E h um problema semelhante com a autorizao do cliente.
Mesmo que seja usada a autenticao do cliente SSL, o certificado do cliente no
vincula Bob a um determinado carto de pagamento autorizado; assim, a Alice
Incorporated no pode ter certeza de que Bob est autorizado a fazer uma compra
usando carto de pagamento. Isso abre a porta para todos os tipos de fraude, incluindo
compras com cartes de crdito roubados e recusa de bens comprados.
Evidentemente, esse tipo de fraude crescente nas compras pelo correio ou pelo
telefone (mail order and telephone order Moto). Nas transaes desse tipo, a lei
estabelece que o comerciante se responsabilize por transaes fraudulentas. Assim, se
um cliente fizer uma compra pelo correio ou telefone com um carto de pagamento e
declarar que nunca fez a compra, o comerciante ser responsvel, ou seja, ele ser
obrigado por lei a devolver o dinheiro ao cliente (a no ser que ele possa provar que o
cliente realmente pediu e recebeu a mercadoria). De maneira semelhante, se uma
compra pelo correio ou telefone for feita com um carto de pagamento roubado, o
responsvel ser o comerciante. Por outro lado, nas transaes feitas pessoalmente, o
banco do comerciante aceita a responsabilidade. Como era de esperar, mais difcil
um cliente recusar uma compra que fez pessoalmente e que envolve uma assinatura por
escrito ou um nmero de identificao pessoal.
As compras SSL so semelhantes s compras pelo correio ou telefone, e
naturalmente o comerciante responsvel por uma compra SSL fraudulenta. Seria
prefervel, claro, usar um protocolo que fornecesse autenticao superior do cliente e
do comerciante, algo que fosse to bom quanto uma transao realizada pessoalmente
ou at melhor. A autenticao que envolve a autorizao de cartes de pagamento
reduziria a fraude e a responsabilidade do comerciante.
9.7.2

Comrcio pela Internet usando SET

O protocolo de transaes eletrnicas seguras (Secure Electronic Transactions


SET) um protocolo especificamente projetado para transaes seguras com cartes de
pagamento pela Internet. Ele foi originalmente desenvolvido pela Visa International e
MasterCard International em fevereiro de 1996 com a participao de empresas de
tecnologia expoentes de todo o mundo. O protocolo SET LLC, comumente conhecido
como SETCo, foi estabelecido em dezembro de 1997 como uma entidade legal para
administrar e promover a adoo global do protocolo SET. Eis algumas das principais
caractersticas do protocolo SET:

O protocolo SET foi projetado para criptografar tipos especficos de mensagens


relacionadas com cartes de pagamento; ele no pode ser usado para criptografar dados
arbitrrios (como textos e imagens), como acontece com o protocolo SSL.

O protocolo SET envolve os trs participantes do ato de uma compra: o cliente, o


comerciante e o banco do comerciante. Todas as informaes importantes trocadas
entre as trs partes so criptografadas.

O protocolo SET requer que os trs participantes tenham certificados. Os certificados


dos clientes e dos comerciantes so emitidos por seus bancos, assegurando, dessa
250

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

maneira, que esses participantes tenham permisso para fazer compras e receber por
vendas realizadas com cartes de pagamento. O certificado do cliente d segurana ao
comerciante de que as cobranas das transaes fraudulentas no recairo sobre sua
cabea. Ele uma representao eletrnica do carto de pagamento do cliente e contm
informaes sobre sua conta, a instituio financeira que o emitiu e outras informaes
criptografadas. O certificado do comerciante assegura ao consumidor que aquele
comerciante est autorizado a aceitar compras feitas por cartes de pagamento. Ele
contm informaes sobre o comerciante, o banco do comerciante e a instituio
financeira que emitiu o certificado.

O protocolo SET especifica o significado legal do certificado em poder de cada


participante e a atribuio de responsabilidades vinculadas transao.

Em uma transao SET, o nmero do carto de pagamento do cliente passado ao


banco do comerciante sem que ele nunca veja esse nmero em texto aberto. Essa
caracterstica evita que comerciantes fraudulentos ou descuidados roubem ou deixem
vazar, acidentalmente, o nmero do carto.
Uma transao SET usa trs componentes de software:

Carteira do browser: a aplicao de carteira do browser integrada ao browser e


fornece ao cliente armazenagem e administrao de cartes de pagamento e certificados
durante as compras. Ela responde a mensagens SET do comerciante, solicitando ao
cliente que escolha um carto de pagamento para o pagamento da compra.

Servidor do comerciante: o servidor do comerciante o mecanismo da comercializao


e do fechamento de pedidos de compra para os comerciantes que vendem pela Web.
Para pagamentos, ele processa as transaes do portador do carto e se comunica com o
banco do comerciante para aprovao e subseqente captura do pagamento.

Gateway do adquirente: o gateway do adquirente o componente do software no banco


do comerciante. Ele processa a transao do carto de pagamento do comerciante
referente aprovao e ao pagamento.

Na descrio a seguir, apresentaremos uma viso bastante simplificada do protocolo


SET. Na realidade, esse protocolo substancialmente mais complexo.
9.7.2.1

Estgios de uma compra

Suponha que Bob queira comprar uma mercadoria da Alice Incorporated pela
Internet, usando o protocolo SET.
1. Bob diz a Alice que est interessado em fazer uma compra com carto de crdito.
2. Alice envia a Bob uma fatura e um identificador de transao exclusivo.
3. Alice envia a Bob o certificado do comerciante, que contm a chave pblica do
comerciante. Ela envia tambm o certificado de seu banco, que contm a chave
pblica do banco. Ambos os certificados so criptografados com a chave privada
de uma CA.
4. Bob usa a chave pblica da CA para decifrar os dois certificados. Ele agora tem a
chave pblica de Alice e a chave pblica do banco.
5. Bob gera dois pacotes de informao: o pacote de informao de ordem (IO) e o
pacote de instrues de compra (IC). O pacote de IO, destinado a Alice, contm

251

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

o identificador da transao e a bandeira do carto que est sendo usado; ele no


inclui o nmero do carto de Bob. O pacote de IC, destinado ao banco de Alice,
contm o identificador da transao, o nmero do carto e o valor da compra
acertado com Bob. Os pacotes de IO e IC so duplamente criptografados: o pacote
de IO criptografado com a chave pblica de Alice; o pacote de IC criptografado
com a chave pblica do banco de Alice. (Estamos distorcendo um pouco a
realidade aqui para entender melhor o quadro. Na realidade, os pacotes de IO e IC
so criptografados com uma chave de sesso cliente/comerciante e com uma chave
de sesso cliente/banco.) Bob envia os pacotes de IO e IC para Alice.
6. Alice gera um pedido de autorizao para a solicitao do carto de pagamento, o
qual contm o identificador da transao.
7. Alice envia a seu banco a mensagem criptografada com a chave pblica do banco.
(Na realidade, usada uma chave de sesso.) Essa mensagem contm o pedido de
autorizao, o pacote de IC recebido de Bob e o certificado de Alice.
8. O banco de Alice recebe a mensagem e a decodifica. Ele verifica se houve alguma
falsificao e tambm se certifica de que o identificador da transao contido no
pedido de autorizao combina com o existente no pacote de IC de Bob.
9. O banco de Alice ento envia uma solicitao de autorizao de pagamento ao
carto de pagamento de Bob por meio dos canais bancrios tradicionais para
cartes exatamente como o banco de Alice solicitaria autorizao para qualquer
transao normal de pagamento feita com carto.
10. Uma vez que o banco de Bob autoriza o pagamento, o banco de Alice envia a ela
uma resposta, que (obviamente) criptografada. A resposta contm o identificador
da transao.
11. Se a transao for aprovada, Alice enviar sua prpria mensagem de resposta a
Bob. Essa mensagem servir de recibo e informar a Bob que o pagamento foi
aceito e que a mercadoria ser entregue.
Uma das caractersticas principais do protocolo SET a no-exposio do
nmero do carto de crdito ao comerciante. Essa caracterstica dada pelo estgio 5,
no qual o cliente criptografa o nmero do carto de crdito com a chave do banco.
Criptografar o nmero com a chave do banco evita que o comerciante veja o carto de
crdito. Note que h uma grande simetria entre os estgios de uma compra com o
protocolo SET e os estgios de uma transao normal com carto de pagamento. Para
processar todas as tarefas do protocolo SET, o cliente ter uma carteira digital que roda
o lado cliente do protocolo SET e armazena as informaes do carto de pagamento do
cliente (como por exemplo: nmero do carto e data de validade).
9.8

Segurana na camada de rede: o IPsec

O protocolo de segurana IP, mais conhecido como IPsec, um conjunto de protocolos


que oferece segurana na camada de rede. O IPsec um mecanismo bastante complexo;
diferentes partes desse conjunto de protocolos so descritas em mais de uma dzia de RFCs.
Nesta seo, vamos discutir o IPsec em um contexto especfico, ou seja, em um cenrio em que
todos os hosts da Internet suportam o IPsec. Esse contexto, embora esteja ainda muito distante,
simplificar a discusso e ajudar a entender as caractersticas principais do IPsec. Dois RFCschave so o RFC 2401, que descreve a arquitetura geral da segurana IP, e o RFC 2411, que
fornece uma viso do conjunto de protocolos IPsec e apresenta os documentos que o descrevem.

252

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Antes de examinarmos em detalhes o IPsec, vamos dar um passo atrs e considerar o que
significa oferecer segurana na camada de rede. Considere, de incio, o que significa fornecer
sigilo na camada de rede. A camada de rede ofereceria sigilo se todos os dados transportados
pelos datagramas IP fossem criptografados. Isso significa que, sempre que um host quisesse
enviar um datagrama, ele criptografaria o campo de dados do datagrama antes de despach-lo
para a rede. Em princpio, a criptografia poderia ser feita com chaves simtricas, chaves
pblicas ou chaves de sesso que so negociadas com o uso de criptografia de chaves pblicas.
O campo de dados poderia ser um segmento TCP, um segmento UDP, uma mensagem ICMP e
assim por diante. Se esse servio de camada de rede existisse, todos os dados enviados pelos
hosts incluindo e-mail, pginas Web, mensagens de controle e de administrao (como ICMP
e SNMP) ficariam ocultos de qualquer terceiro que estivesse fazendo uma escuta eletrnica
na rede. Assim, esse servio forneceria uma cobertura completa para todo trfego da Internet
e daria a todos ns, por conseguinte, uma certa sensao de segurana.
Alm do sigilo, poderamos querer que a camada de rede fornecesse autenticao da fonte.
Quando um host destinatrio recebesse um datagrama IP com um endereo IP especfico, ele
autenticaria a fonte certificando-se de que o datagrama IP, na verdade, tinha sido gerado pelo
host cujo endereo IP de fonte aquele. Esse servio evitaria que estelionatrios falsificassem
endereos IP.
No conjunto IPsec, h dois protocolos principais: o protocolo de autenticao de
cabealho (Authentication Header AH) e o protocolo de segurana de encapsulamento da
carga til (Encapsulation Security Payload ESP). Quando um host de origem envia um
datagrama a um host de destino, ele o faz com o protocolo AH ou com o protocolo ESP. O
protocolo AH fornece autenticao da fonte e integridade de dados, mas no oferece sigilo. O
protocolo ESP fornece integridade de dados, autenticao da fonte e sigilo. Como oferece mais
servios, esse protocolo naturalmente mais complicado e exige mais processamento do que o
protocolo AH. Discutiremos esses dois protocolos mais adiante.
Tanto para o protocolo AH quanto para o ESP, antes de enviar datagramas seguros de um
a outro, os hosts de origem e de destino fazem uma mtua apresentao e criam uma ligao
lgica de camada de rede. Esse canal lgico chamado de acordo de segurana (Security
Agreement AS). Assim, o IPsec transforma a tradicional camada de rede no orientada
conexo em uma rede com conexes lgicas! A conexo lgica definida por um AS uma
conexo simples, isto , unidirecional. Se ambos os hosts quiserem enviar datagramas seguros
reciprocamente, ento dois ASs (isto , conexes lgicas) precisaro ser estabelecidos, um em
cada direo. Um AS identificado, exclusivamente, pelos seguintes trs elementos:

Um identificador de protocolo de segurana (AH ou ESP);

O endereo IP de fonte para a conexo simples, e

Um identificador de conexo de 32 bits chamado de ndice dos Parmetros de Segurana


(Security Parameter Index SPI).

Para um dado AS (isto , uma dada conexo lgica de host de origem a host de destino),
cada datagrama IPsec ter um campo especial para o SPI. Todos os datagramas do AS usaro
o mesmo valor do SPI nesse campo.
9.8.1

AH (protocolo de autenticao de cabealho)

Como mencionamos anteriormente, o protocolo AH fornece identificao do host de


origem e integridade de dados, mas no sigilo. Quando um determinado host de origem
quer enviar um ou mais datagramas seguros a um destino particular, ele primeiramente

253

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

estabelece um AS com o destino. Aps ter estabelecido o AS, ele pode enviar datagramas
seguros ao host de destino. Os datagramas seguros contm o cabealho AH, que inserido
entre o datagrama de dados IP original (por exemplo, um segmento TCP ou UDP) e o
cabealho IP, como mostra a Figura 9.28. Assim, o cabealho AH amplia o campo de
dados original, e esse campo ampliado encapsulado como um datagrama IP padro. Para
o campo de protocolo no cabealho IP, o valor 51 usado para mostrar que o datagrama
contm um cabealho AH. Quando o host de destino recebe o datagrama IP, ele percebe o
nmero 51 no campo de protocolo e processa o datagrama usando o protocolo AH.
(Lembre-se de que o campo de protocolo do datagrama IP usado para determinar o
protocolo da camada acima por exemplo, UDP, TCP ou ICMP para a qual ser passada
a poro de dados de um datagrama IP.) Roteadores intermedirios processam os
datagramas exatamente como sempre o fazem examinam o endereo de destino IP e
roteiam os datagramas de acordo com esse destino.

Figura 9.28 Posio do cabealho AH no datagrama IP.

O cabealho AH contm diversos campos, tais como:

Campo do prximo cabealho, que desempenha o papel do campo de protocolo de um


datagrama comum. Ele indica se os dados que se seguem ao cabealho AH so um
segmento TCP, um segmento UDP, um segmento ICMP etc. (Lembre-se de que o
campo de protocolo do datagrama IP agora est sendo usado para indicar o protocolo
AH e, assim, no pode mais ser utilizado para identificar o protocolo da camada de
transporte.)

Campo do SPI, um valor arbitrrio de 32 bits que, combinado ao endereo de destino IP


e ao protocolo de segurana, identifica exclusivamente o AS para o datagrama.

Campo do nmero de seqncia, um campo de 32 bits que contm um nmero de


seqncia para cada datagrama. Ele inicialmente estabelecido em zero quando do
estabelecimento do AS. O protocolo AH usa os nmeros de seqncia para evitar os
ataques de reproduo e do homem do meio (veja a Seo 9.3).

Campo da autenticao de dados, um campo de comprimento varivel que contm um


resumo de mensagem assinado (isto , uma assinatura digital) para esse datagrama. O
resumo de mensagem calculado sobre o datagrama IP original, fornecendo, desse
modo, autenticao do host de origem e integridade ao datagrama IP. A assinatura
digital processada usando o algoritmo de autenticao especificado pelo AS, como o
DES, o MD5 ou o SHA.

Quando o host de destino recebe um datagrama IP com um cabealho AH, ele


determina o AS para o datagrama e, em seguida, autentica a integridade do datagrama
processando o campo da autenticao de dados. O esquema de autenticao do IPsec (tanto
para o protocolo AH como para o ESP) usa um sistema chamado HMAC, que um resumo
de mensagem criptografado descrito no RFC 2104. O HMAC usa uma chave secreta
compartilhada pelas duas partes, em vez de mtodos de chaves pblicas para autenticao
de mensagens.

254

Apostila de Fundamentos de Redes de Computadores


9.8.2

Prof: Ricardo Quinto

ESP (protocolo de segurana de encapsulamento da carga til)

O protocolo ESP fornece sigilo na camada de rede, bem como autenticao do host de
origem. Novamente, tudo comea com um host de origem estabelecendo um AS com
um host de destino. Como mostra a Figura 9.29, um datagrama seguro criado
envolvendo o datagrama IP original com campos de cabealho e de trailer e, em
seguida, inserindo esses dados encapsulados no campo de dados de um datagrama IP.
No campo de protocolo do cabealho do datagrama IP, o valor 50 usado para mostrar
que o datagrama contm um cabealho e um trailer ESP. Quando o host de destino
recebe um datagrama IP, ele percebe o nmero 50 no campo de protocolo e processa o
datagrama usando o protocolo ESP. Como mostra a Figura 9.29, o datagrama IP
original e o campo de trailer ESP so criptografados. O sigilo fornecido pela
criptografia DESCBC [RFC 2405]. O cabealho ESP consiste em um campo de 32
bits para o SPI e um campo de 32 bits para o nmero de seqncia, os quais
desempenham exatamente a mesma funo que exercem no protocolo AH. O trailer
contm o campo do prximo cabealho, cuja funo idntica funo realizada no
protocolo AH. Note que, como o campo do prximo cabealho criptografado
juntamente com os dados originais, um intruso no pode descobrir qual protocolo de
transporte est sendo usado. Aps o trailer, h um campo da autenticao de dados,
que tambm desempenha o mesmo papel que o campo da autenticao de dados no
protocolo AH.

Figura 9.29 Campos ESP no datagrama IP.

9.8.3

O AS e a administrao de chaves

Para a disponibilizao bem-sucedida do IPsec, necessrio um acordo de segurana


(AS) e um esquema automatizado de gerenciamento de chaves, cuja escala possa ser
expandida. Diversos protocolos foram definidos para realizar essas tarefas, entre os quais:

O algoritmo de troca de chaves da Internet (Internet Key Exchange IKE) [RFC 2409]
o protocolo default de administrao de chaves para o IPsec.

A associao de seguranas na Internet e protocolo de administrao de chave (Internet


Security Association and Key Management Protocol ISKMP) define procedimentos
para estabelecer e encerrar ASs [RFC 2407; RFC 2408]. A ISKMP completamente
independente da troca de chaves da IKE.

Isso encerra nosso resumo sobre o IPsec. Discutimos o IPsec no contexto do IPv4 e
do modo de transporte. O IPsec tambm determina um modo de tnel, no qual so os
roteadores e no os host que introduzem a funcionalidade de segurana. Por fim, ele
descreve os procedimentos de criptografia para o IPv6 e tambm para o IPv4.

255

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Apndice A
Srie de Fourier
Em qualquer rede de comunicaes entre computadores, desejamos que o sinal recebido por um
n seja idntico ao sinal transmitido pelo n emissor. Infelizmente, esse cenrio s pode ocorrer
quando o comprimento do canal de comunicao bastante curto e a taxa de transmisso de dados
relativamente baixa. Isso obviamente pouco prtico na maioria das aplicaes de redes. Como
conseqncia, quando o comprimento do cabo longo ou as taxas de transmisso de dados alta, um
sinal recebido no exatamente o mesmo que o sinal originalmente transmitido. Isso conhecido
como distoro de sinal. A anlise de Fourier um mtodo sistemtico para prever distores de
sinal.
A anlise de Fourier foi desenvolvida pelo matemtico francs Jean Fourier, que provou que
qualquer onda peridica pode ser representada como a soma de uma agregao de senides. Uma boa
aproximao requer um nmero finito de ondas, j uma representao perfeita requer um nmero
infinito de ondas. Usando a anlise de Fourier, podemos prever como um sinal transmitido ser
recebido. A anlise de Fourier se fundamenta em duas observaes. Primeiro, qualquer sinal usado
em sistemas de comunicao entre computadores pode ser escrito como uma soma de ondas senoidais.
Segundo, um sinal representado como uma onda senoidal preservado (ou seja, no distorcido)
quando transmitido atravs de um meio, lembrando que o sinal ainda est sujeito a atrasos e
atenuaes. Um resultado da anlise de Fourier aplicada a redes de comunicaes entre computadores
que somente senides tm a garantia de no serem distorcidas durante a transmisso. Uma segunda
implicao da anlise de Fourier que uma onda quadrada pode ser decomposta como uma soma de
senides. De uma perspectiva matemtica, isso semelhante a aproximar funes contnuas usando
polinmios, denominados polinmios de Taylor. Isso tambm similar expanso em sries de
Taylor ou de MacLaurin para funes em que uma dada funo representada como uma srie
infinita.
Para usar a anlise de Fourier visando prever qual ser o sinal recebido, faz-se o seguinte:
1. Determine a atenuao do canal de comunicao e o desvio de fase em uso. Esses
valores so tipicamente fornecidos pelo fabricante.
2. Determine a funo de decomposio, ou seja, a anlise de Fourier correspondente.
3. Entre com o ganho e desvio de fase para a funo decomposta e avalie. Com isso temos
uma funo resposta, que representa a sada de um sinal de entrada aps a transmisso
atravs de um canal de comunicao.
A anlise de Fourier nos proporciona uma ferramenta para prever distores de sinais, que nos
possibilita determinar o comprimento adequado para uma linha de transmisso, dadas a freqncia e a
taxa de dados. Essa uma das razes pelas quais as restries de comprimento de cabo para a
Ethernet convencional (10 Mbps), Fast Ethernet (100 Mbps) e Gigabit Ethernet (1000 Mbps) so
diferentes, dependendo de qual taxa de dados est sendo usada e da freqncia do cabo.
Resumindo, sempre que tivermos uma funo peridica f (t ) de perodo T integrvel neste
perodo, ela poder ser decomposta em um somatrio de infinitas ondas, que so os harmnicos de
Fourier, cujo resultado tender a funo original f (t ) . Isto , a cada novo harmnico somado
estaremos nos aproximando cada vez mais da onda original formada pela funo f (t ) . Esta srie de

256

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

funes denominada Srie de Fourier e definida pela Equao A-1, onde para cada valor de n
temos a gerao de um novo harmnico que ento adicionado aos anteriores.
f (t ) =

1
a 0 + [a n sen(2nft )] + [bn cos(2nft )]
2
n =1
n =1

Equao A-1 Forma Geral da Srie de Fourier.

Onde:

2
a 0 = f (t )dt
T 0
T

an =

2
f (t ) sen(2nft )dt
T 0
T

2
bn = f (t ) cos(2nft )dt
T 0
Equao A-2 Coeficientes da Srie de Fourier.

Se o sinal que queremos representar pela Srie de Fourier no for peridico, poderemos simular
uma periodicidade considerando que o sinal em questo se repete no tempo, isto , o sinal transmitido
possui um tempo de transmisso igual a T. O que faremos supor que aps este tempo T, ele ser
repetido infinitas vezes. A partir deste ponto de vista, poderemos dizer que o sinal agora peridico
com perodo igual a T, j que a cada T unidades de tempo o sinal se repete. Faremos esta
considerao devido ao fato da Srie de Fourier considerar que o sinal peridico. Do ponto de vista
prtico no haver qualquer alterao na nossa anlise, pois iremos nos limitar a visualizar o sinal no
intervalo de tempo de 0 a T.
A primeira etapa para montar a Srie de Fourier calcular os coeficientes a0 , an e bn que so
baseados na funo original f (t ) . A complexidade deste clculo est diretamente relacionada com a
funo f (t ) . No nosso caso, estaremos trabalhando com sinais digitais cujos valores s podem ser 0
ou 1. Desta forma, o clculo dos Coeficientes de Fourier sero limitados a integrao da funo seno
e cosseno no caso de a n e bn respectivamente e apenas da funo dt no caso do a0 .
Devida a necessidade de se integrar funo seno e cosseno, na Seo A.3 feita uma breve
recordao de como integra-las, pois sero utilizadas nos exemplos a seguir.
Cada harmnico de Fourier ter uma determinada amplitude de mdia quadrtica que pode ser
calculada atravs da Equao A-3. Estas amplitudes so importantes porque so proporcionais a
energia contida na onda. Como os meios de transmisso oferecem atenuaes diferentes para cada
harmnico, importante saber at qual harmnico a diferena de atenuao no suficiente para
distorcer o sinal a ponto de no ser mais reconhecido. Se todos os harmnicos tivessem o mesmo
nvel de atenuao, o sinal transmitido teria a sua amplitude reduzida, mas no seria distorcido. em
funo desta variao no nvel de atenuao oferecido a cada harmnico que feita a definio da
largura de banda do meio.

257

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

A = a n2 + bn2
Equao A-3 Amplitude de Mdia Quadrtica de cada Harmnico de Fourier.

A.1

Exemplo 1: Clculo dos Coeficientes de Fourier de um Sinal NRZ

Vamos supor a transmisso de um conjunto de 8 bits (01100010) codificados no formato


NRZ. O sinal transmitido est ilustrado na Figura A-1.

Figura A-1 Exemplo 1: Sinal NRZ.

A funo f (t ) abaixo representa o sinal NRZ da Figura acima.

0 se 0 t < 8

1 se T t < 3T

8
8

3T
6T

t<
f (t ) = 0 se
8
8

6T
7T

1 se 8 t < 8

0 se 7T t < 8T

8
8
Equao A-4 Funo Representante do Sinal NRZ.

A.1.1 Clculo do a0
T

2
a 0 = f (t )dt
T 0
6T
7T
8T
3T
T8

8
8
8
8

2
a 0 = 0 dt + 1 dt + 0 dt + 1 dt + 0 dt
T 0
3T
6T
7T
T

8
8
8
8

258

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

7T
38T

2
a 0 = dt + dt
TT
6T

8
8

a0 =

7T 8
2 3T 8

+t
t
6T 8
T T8

a0 =

2 3T T 7T 8T

T 8 8 8
8

a0 =

2 2T T
+

T 8
8

a0 =

2 3T

T 8
a0 =

3
4

Equao A-5 Coeficiente a0 do Sinal NRZ.

A.1.2 Clculo do an
T

an =

2
f (t ) sen(2nft )dt
T 0

6T
7T
8T
3T
T

8
8
8
8
2 8

a n = 0 sen(2nft )dt + 1 sen(2nft )dt + 0 sen(2nft )dt + 1 sen(2nft )dt + 0 sen(2nft )dt
T 0
T
3T
6T
7T

8
8
8
8

3T
7T

8
28

a n = sen(2nft )dt + sen(2nft )dt


T T
6T

8
8

Considerando k = 2fn temos:


7T
38T

8
2

a n = sen( kt ) dt + sen(kt ) dt
T T
6T

8
8

an =

3T 8
7T 8
2

+
cos(kt ) cos(kt )
T 8
6T 8
Tk

259

Apostila de Fundamentos de Redes de Computadores

an =

2
Tk

6kT
kT
7 kT
3kT

+ cos
+ cos + cos
cos
8
8
8
8

Substituindo o valor de k e considerando que f =

an =

Prof: Ricardo Quinto

2T
2nT

1
temos:
T

3 2nT
2nT
7 2nT
6 2nT

+ cos
cos 8T + cos 8T cos 8T

8T

Simplificando os termos semelhantes e mudando a ordem dos cossenos ficamos com:


an =

1 n
3n
6n
7n
cos cos

+ cos
cos

n 4
4
4
4
Equao A-6 Coeficiente an do Sinal NRZ.

A.1.3 Clculo do bn
T

bn =

2
f (t ) cos(2nft )dt
T 0

8T
7T
6T
3T
T8

8
8
8
8
2

bn = 0 cos(2nft )dt + 1 cos(2nft )dt + 0 cos(2nft )dt + 1 cos(2nft )dt + 0 cos(2nft )dt
T 0
T
7T
6T
3T

8
8
8
8
7T

38T
8
2

bn = cos(2nft )dt + cos(2nft ) dt


T T
6T

Considerando k = 2fn temos:


7T
38T

8
2

bn = cos(kt )dt + cos(kt )dt


T T
6T

8
8

bn =

2
Tk

3T 8
7T 8


sen(kt ) + sen(kt )
T
8
6
T
8

bn =

2
Tk

3kT
kT
7kT
6kT
sen 8 sen 8 + sen 8 sen 8

260

Apostila de Fundamentos de Redes de Computadores


Substituindo o valor de k e considerando que f =

bn =

2T
2nT

Prof: Ricardo Quinto

1
temos:
T

3 2nT
2nT
7 2nT
6 2nT

sen
sen 8T sen 8T + sen 8T

8T

Simplificando os termos semelhantes e mudando a ordem dos senos ficamos com:


bn =

1
n
3n
6n
7n
sen + sen

sen
+ sen

n
4
4
4
4
Equao A-7 Coeficiente bn do Sinal NRZ.

A Srie de Fourier completa da funo f (t ) :


f (t ) =

1 3 sen(2nft ) n
3n
6n
7n
cos cos
+
+ cos
cos
+

n
2 4 n =1
4
4
4
4

cos(2nf )
n
3n
6n
7n
sen + sen
sen
+ sen

n
4
4
4
4
n =1

f (t ) =

3 sen(2nft ) n
3n
6n
7n
cos cos
+
+ cos
cos
+

n
8 n =1
4
4
4
4

cos(2nf )
n
3n
6n
7n
sen
sen
sen
sen
+

n
4
4
4
4
n =1

Equao A-8 Srie de Fourier Completa para o Sinal NRZ.

A.1.4 Grficos do Exemplo 1

A seguir sero apresentados os grficos referentes Srie de Fourier calculada nos


itens anteriores considerando um perodo de 8 unidades de tempo, isto , T = 8 u.t. logo a
1
freqncia ser de f = u.f. (unidade de freqncia). Foram feitos grficos considerando
8
at 10 harmnicos, isto , de n = 1 at n = 10 .
A Figura A-2 mostra o formato do Sinal Original puro. A princpio, este o sinal que
desejamos transmitir, porm, os meios de transmisso iro transmitir apenas os seus
harmnicos. A Figura A-3 mostra os 10 primeiros harmnicos referentes ao sinal original.
Conforme foi comentado na definio da Srie de Fourier, conforme vo se somando
os seus harmnicos, mais prximo chegaremos a funo original. Neste nosso exemplo,
nos limitamos a um total de 10 harmnicos.
A Figura A-4 mostra o primeiro harmnico sendo comparado ao sinal original. Notase que este nico harmnico est muito distante de representar o sinal original. A
Figura A-5 mostra a soma dos dois primeiros harmnicos. Houve uma considervel
mudana, estando agora mais prximo do sinal original que no caso de apenas um nico
harmnico. Na Figura A-6 feita a soma dos 3 primeiros harmnicos. Apesar da mudana
ter sido pequena, ela mudou o sinal aproximando-o do sinal original. Na Figura A-7 temos

261

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

a soma dos 4 primeiros harmnicos. Neste grfico j temos o intervalo de 3 u.t. a 6 u.t.
mais bem definido do que tnhamos nas figuras anteriores. Ao acrescentar o quinto
harmnico, no houve mudanas significativas, como mostra a Figura A-8.
Ao
acrescentarmos o sexto harmnico, j possvel identificar o sinal original a partir deste
somatrio de harmnicos, como mostra a Figura A-9. Com o acrscimo do stimo, oitavo,
nono e dcimo harmnico, teremos um refinamento melhor do sinal como podem ser vistos
na Figura A-10 at a Figura A-13 respectivamente. Porm, como cada novo harmnico
aumenta a largura de banda, se torna um desperdcio adicionar mais harmnicos do que o
necessrio para que o equipamento de destino reconhea o sinal emitido.
A Figura A-14 mostra as amplitudes de mdia quadrtica de cada um dos 10
harmnicos exemplificados aqui. O oitavo harmnico possui uma amplitude to pequena
em relao aos demais que sua representao nem chegou a ser apresentada.
Sinal Original
1,2

Amplitude

1
0,8
0,6

Sinal Original

0,4
0,2
0
0

Tempo

Figura A-2 Sinal Original.

262

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Harmnicos de Fourier
1

n=1

0,8

n=2
n=3

Amplitude

0,6

n=4
n=5

0,4

n=6
n=7

0,2

n=8
n=9

n=10

-0,2
0

0,5

1,5

2,5

3,5

4,5

5,5

6,5

7,5

Tempo

Figura A-3 10 Harmnicos de Fourier.

Primeiro Harmnico
1,2

Amplitude

0,8

1 Harmnico
Dados Originais

0,6

0,4

0,2

0
0

Tempo

Figura A-4 Primeiro Harmnico de Fourier.

263

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Somatrio dos 2 primeiros harmnicos


1,2
1

Amplitude

0,8
0,6

2 Harmnicos
Dados Originais

0,4
0,2
0
-0,2
-0,4
0

Tempo

Figura A-5 Somatrio dos 2 primeiros Harmnico de Fourier.

Somatrio dos 3 primeiros Harmnicos


1,4
1,2

Amplitude

1
0,8
0,6

3 Harmnicos
Dados Originais

0,4
0,2
0
-0,2
-0,4
0

Tempo

Figura A-6 Somatrio dos 3 primeiros Harmnico de Fourier.

264

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Somatrio dos 4 primeiros Harmnicos


1,4
1,2
1

Amplitude

0,8
0,6

4 Harmnicos

0,4

Dados Originais

0,2
0
-0,2
-0,4
0

Tempo

Figura A-7 Somatrio dos 4 primeiros Harmnico de Fourier.

Somatrio dos 5 primeiros Harmnicos


1,2
1

Amplitude

0,8
0,6

5 Harmnicos

0,4

Dados Originais

0,2
0
-0,2
-0,4
0

Tempo

Figura A-8 Somatrio dos 5 primeiros Harmnico de Fourier.

265

Apostila de Fundamentos de Redes de Computadores

Prof: Ricardo Quinto

Somatrio dos 6 primeiros Harmnicos


1,4
1,2

Amplitude

1
0,8

6 Harmnicos
Dados Originais

0,6
0,4
0,2
0
-0,2
0

Tempo

Figura A-9 Somatrio dos 6 primeiros Harmnico de Fourier.

Somatrio dos 7 primeiros Harmnicos


1,4
1,2

Amplitude

1
0,8

7 Harmnicos
Dados Originais

0,6
0,4
0,2
0
-0,2
0

Tempo

Figura A-10 Somatrio dos 7 primeiros Harmnico de Fourier.

266