Você está na página 1de 879

A comunicao eletrnica um dos aspectos mais importantes nos dias atuais, o que torna

imprescindvel a publicao de uma obra que oferea aos estudantes e profissionais da


rea, informaes sobre as tecnologias e os protocolos relacionados Internet.

Com um texto completo e prtico sobre o protocolo TCP/IP, este livro descreve as
tecnologias relacionadas s redes e interligao entre elas. Os captulos
foram organizados com a finalidade de proporcionar flexibilidade ao
aprendizado, trazendo aspectos atuais sobre o tema como endereamento
sem classe, segurana, tecnologias de roteamento e SCTP, alm de
diversos exemplos que associam o contedo ao mundo real.

Protocolo TCP/IP , de fato, um timo guia de aprendizado e consulta


para os estudantes de comunicao de dados e interligao em
redes e para os profissionais de informtica
que do suporte em redes (TCP/IP).

Esta edio inclui tambm:

IP mvel;
IP sobre ATM;
IP de prxima gerao;
protocolos na camada de rede e de transporte;
multimdia;
redes privadas e redes privadas virtuais (VPNs).

Aplicaes: livro-texto para as disciplinas relacionadas a rede de


computadores e sistemas operacionais e distribudos dos cursos de
Cincia da computao, Anlise de sistemas, Engenharia da
computao, Processamento de dados entre outros.

ISBN 978-85-7726-048-5

Visite nosso site:


9 788577 260485
www.mcgraw-hill.com.br
Protocolo
TCP/IP
F727p Forouzan, Behrouz A.
Protocolo TCP/IP [recurso eletrnico] / Behrouz A.
Forouzan com Sophia Chung Fegan ; traduo Joo Eduardo
Nbrega Tortello ; reviso tcnica Flvio Soares Corra da
Silva. 3. ed. Dados eletrnicos. Porto Alegre : AMGH,
2010.

Editado tambm como livro impresso em 2008.


ISBN 978-85-63308-68-9

1. Informtica. 2. Protocolo da Internet TCP/IP. I. Fegan,


Sophia Chung. II. Ttulo.

CDU 004.738.5.057.4

Catalogao na publicao: Ana Paula M. Magnus CRB-10/Prov-009/10

Iniciais_Eletronico.indd ii 29.06.10 16:01:43


Protocolo
TCP/IP
Terceira edio

Behrouz A. Forouzan
com

Sophia Chung Fegan

Traduo
Joo Eduardo Nbrega Tortello
Reviso Tcnica
Flvio Soares Corra da Silva
Docente do Instituto de Matemtica e Estatstica
da Universidade de So Paulo

Roberto Hirata Jr.


Docente do Instituto de Matemtica e Estatstica
da Universidade de So Paulo

Verso impressa
desta obra: 2008

2010

Iniciais_Eletronico.indd iii 29.06.10 16:01:43


memria de meu pai,
fonte de minha inspirao.

Behrouz Forouzan
Resumo do contedo

Captulo 1 Introduo

Captulo 2 O modelo OSI e o conjunto de protocolos TCP/IP 17

Captulo 3 Tecnologias subjacentes 43

Captulo 4 Endereos IP: endereamento com classe 81

Captulo 5 Endereos IP: Endereamento sem classe 115

Captulo 6Envio, encaminhamento e roteamento de pacotes IP 131

Captulo 7 ARP e RARP 159

Captulo 8 Protocolo de Internet (IP) 179

Captulo 9 ICMP (Internet Control Message Protocol) 211

Captulo 10 IGMP (Internet Group Management Protocol) 237

Captulo 11 UDP (User Datagram Protocol) 255

Captulo 12 TCP (Transmission Control Protocol) 275

Captulo 13 SCTP (Stream Control Transmission Protocol) 345

Captulo 14Protocolos de roteamento unicast (RIP, OSPF e BGP) 385

Captulo 15Multicasting e protocolos de roteamento multicast 437

Captulo 16 Configuraes de host: BOOTP e DHCP 457

vii
viii SUMRIO

Captulo 17 Sistema de Nome de Domnio (DNS) 471

Captulo 18 Login remoto: TELNET 499

Captulo 19 Transferncia de arquivos: FTP e TFTP 519

Captulo 20 Correio eletrnico: SMTP, POP e IMAP 547

Captulo 21 Gerenciamento de rede: SNMP 575

Captulo 22 World Wide Web: HTTP 599

Captulo 23 IP sobre ATM 621

Captulo 24 IP mvel 637

Captulo 25 Multimdia 651

Captulo 26Redes privadas, redes privadas virtais (Virtual Private


Networks VPNs) e traduo de endereo de rede 679

Captulo 27 Prxima gerao: IPv6 e ICMPv6 689

Captulo 28 Segurana da rede 727

Apndice A Cdigo ASCII 771

Apndice B Sistemas de numerao 776

Apndice C Soma de verificao 783

Apndice D Deteco de erros 790

Apndice E Projeto 802 799

Apndice F Endereos de contato 803

Apndice G RFCs 805

Apndice H Portas UDP e TCP 807

Acrnimos 809

Glossrio 813

Referncias 837

ndice Remissivo 839


SUMRIO ix

Sumrio

Prefcio xxix

Captulo 1 Introduo 1
1.1 Um breve histrico 1
ARPANET 2
Nascimento da Internet 2
TCP/IP (Transmission Control Protocol/Internetworking Protocol) 2
MILNET 3
CSNET 3
NSFNET 3
ANSNET 3
A Internet hoje 4
Linha do tempo 5
Crescimento da Internet 6
1.2 Protocolos e padres 6
Protocolos 6
Padres 7
1.3 Organizaes padronizadoras 7
Comits de criao de padres 7
Fruns 8
Agncias reguladoras 9
1.4 Padres da Internet 9
Nveis de maturidade 9
Nveis de requisito 11
1.5 Administrao da Internet 12
ISOC (Internet Society) 12
IAB (Internet Architecture Board) 12
IETF (Internet Engineering Task Force) 13
IRTF (Internet Research Task Force) 13
IANA (Internet Assigned Numbers Authority) e ICANN (Internet
Corporation for Assigned Names and Numbers) 13
NIC (Network Information Center) 13
1.6 Termos-chave 14
1.7 Resumo 14

ix
x SUMRIO

1.8 Conjunto de prtica 15


Exerccios 15
Atividades de pesquisa 16

Captulo 2 O modelo OSI e o conjunto de protocolos TCP/IP 17


2.1 O modelo OSI 17
Arquitetura em camadas 18
Processos no-hierrquicos 18
Encapsulamento 21
2.2 Camadas no modelo OSI 21
Camada fsica 21
Camada de enlace de dados 22
Camada de rede 23
Camada de transporte 24
Camada de sesso 26
Camada de apresentao 27
Camada de aplicativo 28
Resumo das camadas 29
2.3 Conjunto de protocolos TCP/IP 30
Camadas fsica e de enlace de dados 31
Camada de rede 31
Camada de transporte 32
Camada de aplicativo 32
2.4 Endereamento 33
Endereo fsico 34
Endereo lgico 35
Endereo de porta 36
2.5 Verses de IP 37
Verso 4 37
Verso 5 37
Verso 6 38
2.6 Termos-CHAVE 38
2.7 Resumo 39
2.8 Conjunto de prtica 40
Exerccios 40
Atividades de pesquisa 41

Captulo 3 Tecnologias subjacentes 43


3.1 Redes locais (LANs) 44
Redes locais com fio: Ethernet 44
Redes locais sem fio: IEEE 802.11 50
3.2 Redes remotas ponto a ponto 55
Camada fsica 55
Camada de enlace de dados 61
3.3 Redes remotas comutadas 63
X.25 63
Frame Relay 64
ATM 65
SUMRIO xi

3.4 Dispositivos de conexo 69


Repetidores 70
Hubs 71
Pontes 71
Roteadores 74
3.5 Termos-CHAVE 76
3.6 Resumo 77
3.7 Conjunto de prtica 79
Exerccios 79
Atividades de pesquisa 79

Captulo 4 Endereos IP: endereamento com classe 81


4.1 INTRODUO 81
Espao de endereos 82
Notao 82
4.2 ENDEREAMENTO COM CLASSE 84
Reconhecendo as classes 85
Netid e hostid 87
Classes e blocos 88
Endereos de rede 91
Informaes suficientes 92
Mscara 92
Notao CIDR 94
Esgotamento de endereos 95
4.3 OUTROS PROBLEMAS 95
Dispositivos multihomed 95
Localizao e no identificao 95
Endereos especiais 96
Endereos privados 99
Endereos unicast, multicast e broadcast 100
Um exemplo 101
4.4 SUB-REDES E SUPER-REDES 102
Sub-redes 102
Super-redes 107
Mscara de super-rede 107
Obsolescncia 108
4.5 TERMOS-chave 109
4.6 RESUMO 109
4.7 CONJUNTO DE PRTICA 110
Exerccios 110
Atividades de pesquisa 113

Captulo 5 Endereos IP: Endereamento sem classe 115


5.1 Blocos de comprimento varivel 115
Restries 116
Descobrindo o bloco 118
Bloco concedido 121
xii SUMRIO

5.2 Sub-redes 122


Descobrindo a mscara da sub-rede 122
Descobrindo o endereo da sub-rede 123
Sub-redes de comprimento varivel 124
5.3 Alocao de endereos 126
5.4 Termos-chave 127
5.5 Resumo 128
5.6 Conjunto de prtica 128
Exerccios 128
Atividades de pesquisa 130

Captulo 6Envio, encaminhamento e roteamento


de pacotes IP 131
6.1 Envio 131
Tipos de conexo 131
Envio direto versus indireto 132
6.2 Encaminhamento 133
Tcnicas de encaminhamento 134
Encaminhamento no endereamento com classe 136
Encaminhamento no endereamento sem classe 141
Combinao 148
6.3 Roteamento 148
Tabelas de roteamento estticas versus dinmicas 148
Tabela de roteamento 149
6.4 Estrutura de um roteador 151
Componentes 151
6.5 Termos-chave 154
6.6 Resumo 155
6.7 Conjunto de prtica 156
Exerccios 156
Atividades de pesquisa 157

Captulo 7 ARP e RARP 159


7.1 ARP 160
Formato de pacote 162
Encapsulamento 163
Operao 163
ARP sobre ATM 166
ARP proxy 166
7.2 Pacote ARP 166
Tabela de cache 167
Filas 168
Mdulo de sada 168
Mdulo de entrada 169
Mdulo de controle de cache 170
Mais exemplos 171
SUMRIO xiii

7.3 ARP 173


Formato do pacote 174
Encapsulamento 175
Servidor RARP 175
Solues alternativas para o RARP 175
7.4 Termos-chave 175
7.5 Resumo 176
7.6 Conjunto de prtica 176
Exerccios 176
Atividades de pesquisa 177

Captulo 8 Protocolo de Internet (IP) 179


8.1 Datagrama 180
8.2 Fragmentao 186
Unidade de transferncia mxima (MTU) 186
Campos relacionados fragmentao 188
8.3 Opes 191
Formato 191
Outros tipos 192
8.4 Soma de verificao 200
Clculo da soma de verificao no remetente 200
Clculo da soma de verificao no destinatrio 200
Soma de verificao no pacote IP 201
8.5 Pacote IP 203
Mdulo de adio de cabealho 204
Mdulo de processamento 204
Filas 205
Tabela de roteamento 205
Mdulo de encaminhamento 205
Tabela de MTU 205
Mdulo de fragmentao 206
Tabela de remontagem 206
Mdulo de remontagem 207
8.6 Termos-CHAVE 208
8.7 Resumo 208
8.8 Conjunto de prtica 209
Exerccios 209
Atividades de pesquisa 210

Captulo 9 ICMP (Internet Control Message Protocol) 211


9.1 Tipos de mensagens 212
9.2 Formato da mensagem 213
9.3 Relatrio de erros 213
Destino inacessvel 214
Extino da origem 216
Tempo excedido 218
xiv SUMRIO

Problema de parmetro 219


Redirecionamento 219
9.4 Consulta 221
Pedido e resposta de eco 221
Pedido e resposta de indicao de tempo 223
Pedido e resposta de mscara de endereo 224
Solicitao e anncio de roteador 225
9.5 Soma de verificao 226
Clculo da soma de verificao 226
Teste da soma de verificao 226
9.6 Ferramentas de depurao 227
Ping 227
Traceroute 229
9.7 Pacote ICMP 232
Mdulo de entrada 232
Mdulo de sada 233
9.8 Termos-chave 234
9.9 Resumo 234
9.10 Conjunto de prtica 235
Exerccios 235
Atividades de pesquisa 236

Captulo 10 IGMP (Internet Group Management Protocol) 237


10.1 Gerenciamento de grupos 237
10.2 Mensagens IGMP 238
Formato da mensagem 238
10.3 Funcionamento do IGMP 239
Ingresso em um grupo 240
Saindo de um grupo 241
Monitorando a participao como membro 241
Resposta adiada 242
10.4 Encapsulamento 244
Camada IP 244
Camada de enlace de dados 245
Utilitrio Netstat 247
10.5 Pacote IGMP 247
Tabela de grupos 248
Cronmetros 249
Mdulo de ingresso no grupo 249
Mdulo de desistncia do grupo 249
Mdulo de entrada 250
Mdulo de sada 251
10.6 Termos-chave 251
10.7 Resumo 251
10.8 Conjunto de prtica 252
Exerccios 252
Atividades de pesquisa 254
SUMRIO xv

Captulo 11 UDP (User Datagram Protocol) 255


11.1 Comunicao de processo a processo 256
Nmeros de porta 256
Endereos de soquete 260
11.2 Datagrama de usurio 260
11.3 Soma de verificao 262
Clculo da soma de verificao no remetente 262
Clculo da soma de verificao no receptor 263
Um exemplo 263
Uso opcional da soma de verificao 264
11.4 Funcionamento do UDP 264
Servios sem conexo 264
Controle de fluxo e de erro 264
Encapsulamento e desencapsulamento 264
Enfileiramento 265
Multiplexao e desmultiplexao 267
11.5 Uso de UDP 267
11.6 Pacote UDP 268
Tabela de blocos de controle 268
Filas de entrada 269
Mdulo de blocos de controle 269
Mdulo de entrada 269
Mdulo de sada 270
Exemplos 270
11.7 Termos-CHAVE 271
11.8 Resumo 272
11.9 Conjunto de prtica 272
Exerccios 272
Atividades de pesquisa 274

Captulo 12 TCP (Transmission Control Protocol) 275


12.1 Servios TCP 276
Comunicao de processo para processo 276
Servio de envio de fluxo 277
Comunicao full-duplex 278
Servio orientado a conexo 279
Servio confivel 279
12.2 Recursos do TCP 279
Sistema de numerao 280
Controle de fluxo 281
Controle de erro 281
Controle de congestionamento 281
12.3 Segmento 281
Formato 282
Encapsulamento 284
xvi SUMRIO

12.4 Uma conexo TCP 284


Estabelecimento da conexo 285
Transferncia de dados 287
Trmino da conexo 289
Reconfigurao da conexo 291
12.5 Diagrama de transio de estado 292
Cenrios 293
12.6 Controle de fluxo 299
Protocolo de janela deslizante 300
Sndrome da janela boba 304
12.7 Controle de erro 305
Soma de verificao 305
Reconhecimento 306
Tipo de reconhecimento 307
Retransmisso 307
Segmentos fora de ordem 308
Alguns cenrios 308
12.8 Controle de congestionamento 312
Desempenho da rede 313
Mecanismos de controle de congestionamento 315
Controle de congestionamento no TCP 316
12.9 Cronmetros do TCP 320
Cronmetro de retransmisso 320
Cronmetro de persistncia 323
Cronmetro keepalive (sempre vivo) 324
Cronmetro TEMPO-ESPERA 325
12.10 Opes 325
12.11 Pacote TCP 333
Blocos de controle de transmisso (TCBs) 333
Cronmetros 334
Mdulo principal 334
Mdulo de processamento de entrada 338
Mdulo de processamento de sada 338
12.12 Termos-chave 338
12.13 Resumo 339
12.14 Conjunto de prtica 341
Exerccios 341
Atividades de pesquisa 344

Captulo 13 SCTP (Stream Control Transmission Protocol) 345


13.1 Servios do SCTP 346
Comunicao de processo para processo 346
Fluxos mltiplos 347
Multihoming 347
Comunicao full-duplex 348
Servio orientado a conexo 348
Servio confivel 349
SUMRIO xvii

13.2 Recursos do SCTP 349


Nmero em seqncia de transmisso (TSN) 349
Identificador de fluxo (SI) 349
Nmero em seqncia de fluxo (SSN) 349
Pacotes 350
Nmero de reconhecimento 352
Controle de fluxo 352
Controle de erro 352
Controle de congestionamento 352
13.3 Formato do pacote 353
Cabealho geral 353
Trechos 354
13.4 Uma associao SCTP 362
Estabelecimento da associao 363
Transferncia de dados 365
Trmino da associao 368
Cancelamento da associao 368
13.5 Diagrama de transio de estado 369
Cenrios 370
Fechamento simultneo 372
13.6 Controle de fluxo 373
Local do receptor 373
Local do remetente 374
Um cenrio 375
13.7 Controle de erro 376
Local do receptor 376
Local do remetente 377
Envio de trechos de dados 378
Gerao de trechos SACK 379
13.8 Controle de congestionamento 380
Controle de congestionamento e multihoming 380
Notificao de congestionamento explcita 380
13.9 Termos-CHAVE 380
13.10 Resumo 381
13.11 Conjunto de prtica 382
Exerccios 382
Atividades de pesquisa 384

Captulo 14Protocolos de roteamento unicast


(RIP, OSPF e BGP) 385
14.1 Roteamento intradomnio e entre domnios 386
14.2 Roteamento por vetor de distncia 387
Inicializao 387
Compartilhamento 388
Atualizao 388
Quando compartilhar 389
Instabilidade do loop de dois ns 390
Instabilidade dos trs ns 391
xviii SUMRIO

14.3 RIP 392


Formato da mensagem RIP 394
Pedidos e respostas 394
Cronmetros no RIP 396
RIP verso 2 397
Encapsulamento 398
14.4 Roteamento por estado do link (LINK STATE) 398
Construo de tabelas de roteamento 400
14.5 OSPF 404
reas 404
Mtrica 404
Tipos de links 405
Representao grfica 407
Pacotes OSPF 408
Pacote de atualizao de estado de link 409
Outros pacotes 418
Encapsulamento 421
14.6 Roteamento por vetor de caminho 421
Inicializao 422
Compartilhamento 422
Atualizao 422
14.7 BGP 424
Tipos de sistemas autnomos 424
Atributos de caminho 424
Sesses BGP 425
BGP externo e interno 425
Tipos de pacotes 426
Formato do pacote 426
Encapsulamento 430
14.8 Termos-CHAVE 430
14.9 Resumo 431
14.10 Conjunto de prtica 432
Exerccios 432
Atividades de pesquisa 434

Captulo 15Multicasting e protocolos de


roteamento multicast 437
15.1 UNICAST, MULTICAST e BROADCAST 437
Unicasting 437
Multicasting 438
Broadcasting 439
Multicasting versus unicasting mltiplo 439
15.2 APLICAES DE MULTICAST 440
Acesso a bancos de dados distribudos 440
Disseminao de informaes 440
Disseminao de notcias 440
Teleconferncias 441
Aprendizado a distncia 441
SUMRIO xix

15.3 ROTEAMENTO MULTICAST 441


Roteamento ideal: rvores de caminho mais curto 441
Protocolos de roteamento 444
15.4 ROTEAMENTO POR ESTA DO DE LINK MULTIcast: MOSPF 444
Roteamento por estado de link multicast 444
MOSPF 445
15.5 VETOR DE DISTNCIA MULTICAST: DVMRP 445
Roteamento por vetor de distncia multicast 445
DVMRP 449
15.6 CBT 449
Formao da rvore 449
Enviando pacotes multicast 450
Selecionando o roteador de encontro 450
Resumo 451
15.7 PIM 451
PIM-DM 452
PIM-SM 452
15.8 MBONE 452
15.9 TERMOS-CHAVE 454
15.10 RESUMO 454
15.11 CONJUNTO DE PRTICA 455
Exerccios 455
Atividades de pesquisa 455

Captulo 16 Configuraes de host: BOOTP e DHCP 457


16.1 BOOTP 457
Funcionamento 458
Formato do pacote 461
16.2 DHCP 463
Alocao de endereo esttica 463
Alocao de endereo dinmica 464
Configurao manual e automtica 464
Formato do pacote 464
Estados de transio 465
Trocando mensagens 467
16.3 TERMOS-CHAVE 468
16.4 RESUMO 468
16.5 CONJUNTO DE PRTICA 468
Exerccios 468
Atividades de pesquisa 469

Captulo 17 Sistema de Nome de Domnio (DNS) 471


17.1 ESPAO DE NOMES 471
Espao de nomes simples 472
Espao de nomes hierrquico 472
xx SUMRIO

17.2 ESPAO DE NOMES DE DOMNIO 472


Rtulo 472
Nome de domnio 472
Domnio 474
17.3 DISTRIBUIO DO ESPAO DE NOMES 475
Hierarquia de servidores de nome 475
Zona 475
Servidor raiz 476
Servidores principais e secundrios 477
17.4 DNS NA INTERNET 477
Domnios genricos 478
Domnios de pas 479
Domnio inverso 480
Registrador 481
17.5 RESOLUO 481
Resolvedor 481
Mapeamento de nomes para endereos 481
Mapeamento de endereos para nomes 481
Resoluo recursiva 481
Resoluo iterativa 482
Uso de cache 482
17.6 MENSAGENS DNS 483
Cabealho 484
17.7 TIPOS DE REGISTROS 486
Registro de pergunta 486
Registro de recurso 488
17.8 Compactao 489
17.9 DDNS 493
17.10 ENCAPSULAMENTO 493
17.11 TERMOS-chave 494
17.12 RESUMO 495
17.13 CONJUNTO DE PRTICA 496
Exerccios 496
Atividades de pesquisa 497

Captulo 18 Login remoto: TELNET 499


18.1 CONCEITO 499
Ambiente de tempo compartilhado 499
Login 500
18.2 TERMINAL VIRTUAL DE REDE
(NVT Network Virtual Terminal) 501
18.3 CONJUNTO DE CARACTERES NVT 502
Caracteres de dados 502
Caracteres de controle 502
18.4 INCORPORAO 503
18.5 OPES 504
SUMRIO xxi

18.6 NEGOCIAO DE OPO 505


Habilitando uma opo 505
Desabilitando uma opo 506
Simetria 508
18.7 NEGOCIAO DE SUBOPO 508
18.8 CONTROLANDO O SERVIDOR 509
18.9 SINALIZAO FORA DA BANDA 510
18.10 CARACTERE DE ESCAPE 511
18.11 MODO DE OPERAO 512
Modo padro 512
Modo de caractere 512
Modo de linha 512
18.12 INTERFACE DO USURIO 513
18.13 PROBLEMA DE SEGURANA 515
18.14 TERMOS-chave 515
18.15 RESUMO 515
18.16 CONJUNTO DE PRTICA 516
Exerccios 516
Atividades de pesquisa 517

Captulo 19 Transferncia de arquivos: FTP e TFTP 519


19.1 FTP (File Transfer Protocol) 519
Conexes 520
Comunicao 521
Processamento de comando 524
Transferncia de arquivos 529
FTP annimo 532
19.2 TFTP (Trivial File Transfer Protocol) 533
Mensagens 534
Conexo 536
Transferncia de dados 537
Portas UDP 539
Exemplo de TFTP 540
Opes do TFTP 541
Segurana 542
Aplicaes 542
19.3 TERMOS-chave 542
19.4 RESUMO 543
19.5 CONJUNTO DE PRTICA 544
Exerccios 544
Atividades de pesquisa 545

Captulo 20 Correio eletrnico: SMTP, POP e IMAP 547


20.1 ARQUITETURA 547
Primeiro cenrio 547
Segundo cenrio 548
xxii SUMRIO

Terceiro cenrio 549


Quarto cenrio 550
20.2 AGENTE DE USURIO (user agent) 551
Servios fornecidos por um agente de usurio 551
Tipos de agente de usurio 552
Envio de correspondncia 553
Recebimento de correspondncia 554
Endereos 554
Lista de distribuio 555
MIME 555
20.3 Agente de transferncia de mensagem: SMTP 561
Comandos e respostas 561
Fases da transferncia de correspondncia 566
20.4 Agente de acesso mensagem: POP e IMAP 569
POP3 569
IMAP4 570
20.5 CORRESPONDNCIA BASEADA NA Web 571
20.6 TERMOS-chave 571
20.7 RESUMO 571
20.8 CONJUNTO DE PRTICA 572
Exerccios 572
Atividades de pesquisa 573

Captulo 21 Gerenciamento de rede: SNMP 575


21.1 CONCEITO 575
Gerentes e agentes 576
21.2 COMPONENTES DO GERENCIAMENTO 576
Funo do SNMP 576
Funo do SMI 577
Funo do MIB 577
Uma analogia 577
Uma viso geral 578
21.3 SMI 579
Nome 579
Tipo 580
Mtodo de codificao 582
21.4 MIB 585
Acessando variveis MIB 585
Ordenao lexicogrfica 588
21.5 SNMP 589
PDUs 589
Formato 591
21.6 MENSAGENS 592
21.7 PORTAS UDP 595
21.8 SEGURANA 595
21.9 TERMOS-CHAVE 596
21.10 RESUMO 596
SUMRIO xxiii

21.11 Conjunto de prtica 597


Exerccios 597
Atividades de pesquisa 597

Captulo 22 World Wide Web: HTTP 599


22.1 ARQUITETURA 599
Cliente (browser) 600
Servidor 600
URL (Uniform Resource Locator) 601
Cookies 601
22.2 DOCUMENTOS DA WEB 602
Documentos estticos 603
Documentos dinmicos 605
Documentos ativos 608
22.3 HTTP 609
Transao HTTP 609
Conexo persistente versus no-persistente 616
Servidor proxy 617
22.4 TERMOS-CHAVE 617
22.5 RESUMO 617
22.6 CONJUNTO DE PRTICA 619
Exerccios 619
Atividades de pesquisa 620

Captulo 23 IP sobre ATM 621


23.1 REDES REMOTA S AT M 621
Camadas 621
23.2 Transportando um datagrama em clulas 625
Por que usar a AAL5? 626
23.3 Roteamento das clulas 626
Endereos 627
Vnculo de endereo 627
23.4 ATMARP 627
Formato do pacote 628
Operao do protocolo ATMARP 629
23.5 Sub-rede IP lgica (LIS) 632
23.6 Termos-chave 633
23.7 Resumo 633
23.8 Conjunto de prtica 634
Exerccios 634
Atividades de pesquisa 635

Captulo 24 IP mvel 637


24.1 ENDEREAMENTO 637
Hosts fixos 637
Hosts mveis 637
xxiv SUMRIO

24.2 AGENTES 639


Agente inicial 639
Agente externo 639
24.3 TRS FASES 640
Descoberta de agente 640
Registro 642
Transferncia de dados 644
24.4 Ineficincia no IP mvel 646
Cruzamento duplo 646
Roteamento triangular 646
Soluo 647
24.5 Termos-CHAVE 647
24.6 Resumo 648
24.7 Conjunto de prtica 648
Exerccios 648
Atividades de pesquisa 649

Captulo 25 Multimdia 651


25.1 Digitalizao de udio e vdeo 652
Digitalizao de udio 652
Digitalizao de vdeo 652
25.2 Compactao de udio e vdeo 653
Compactao de udio 653
Compactao de vdeo 654
25.3 Streaming de udio/vdeo armazenado 659
Primeira estratgia: uso de um servidor da Web 659
Segunda estratgia: uso de um servidor da Web com metarquivo 659
Terceira estratgia: uso de um servidor de mdia 660
Quarta estratgia: uso de um servidor de mdia e RTSP 660
25.4 Streaming de udio/vdeo em tempo real 662
25.5 udio/vdeo interativo em tempo real 662
Caractersticas 662
25.6 RTP 667
Formato do pacote RTP 667
Porta UDP 669
25.7 RTCP 669
Relatrio do remetente 670
Relatrio do receptor 670
Mensagem de descrio da origem 670
Mensagem de despedida (bye) 670
Mensagem especfica do aplicativo 670
Porta UDP 670
25.8 Voz sobre IP 670
SIP 671
H.323 673
SUMRIO xxv

25.9 Termos-chave 675


25.10 Resumo 676
25.11 Conjunto de prtica 677
Exerccios 677
Atividades de pesquisa 677

Captulo 26Redes privadas, redes privadas virtuais (Virtual Private


Networks VPNs) e traduo de endereo de rede 679
26.1 REDES PRIVADAS 679
Intranet 679
Extranet 679
Endereamento 680
26.2 VIRTUAL PRIVATE NETWORK (VPN) 680
Obtendo privacidade 680
Tecnologia VPN 682
26.3 TRADUO DE ENDEREO DE REDE (NAT) 684
Traduo de endereo 684
Tabela de traduo 684
NAT e ISP 687
26.4 TERMOS-chave 687
26.5 RESUMO 687
26.6 CONJUNTO DE PRTICA 688
Exerccios 688
Atividades de pesquisa 688

Captulo 27 Prxima gerao: IPv6 e ICMPv6 689


27.1 IPv6 690
Endereos IPv6 690
Atribuio de espao de endereos 692
Formato do pacote 697
Comparao entre IPv4 e IPv6 709
27.2 ICMPv6 709
Relato de erros 710
Consulta 713
27.3 TRANSIO DE IPv4 PARA IPv6 718
Pilha dupla 718
Encapsulamento 719
Traduo de cabealho 720
27.4 TERMOS-chave 722
27.5 RESUMO 722
27.6 CONJUNTO DE PRTICA 723
Exerccios 723
Atividades de pesquisa 725
xxvi SUMRIO

Captulo 28 Segurana da rede 727


28.1 CRIPTOGRAFIA 727
Criptografia de chave simtrica 728
Criptografia de chave pblica 732
Comparao 734
28.2 PRIVACIDADE 735
Privacidade com criptografia de chave simtrica 735
28.3 ASSINATURA DIGITAL 736
Assinando o documento inteiro 737
Assinando a compilao 738
28.4 AUTENTICAO DE ENTIDADE 740
Autenticao de entidade com criptografia de chave simtrica 740
Autenticao de entidade com criptografia de chave pblica 741
28.5 Gerenciamento de chaves 742
Distribuio de chave simtrica 742
Certificado de chave pblica 749
Kerberos 751
28.6 Segurana na Internet 754
Segurana no nvel IP: IPSec 754
Transport Layer Security 758
Segurana na camada de aplicativo: PGP 762
28.7 FIREWALLS 763
Firewall de filtragem de pacotes 763
Firewall de proxy 764
28.8 TERMOS-Chave 765
28.9 RESUMO 766
28.10 CONJUNTO DE PRTICA 768
Exerccios 768
Atividades de pesquisa 769

Apndice A Cdigo ASCII 771

Apndice B Sistemas de numerao 776


B.1 BASE 10: DECIMAL 776
Pesos 777
B.2 BASE 2: BINRIO 777
Pesos 777
Binrio para decimal 777
Decimal para binrio 777
B.3 BASE 16: HEXADECIMAL 778
Pesos 778
Hexadecimal para decimal 778
Decimal para hexadecimal 778
B.4 BASE 256: ENDEREOS IP 779
Pesos 779
Endereos IP para decimal 780
Decimal para endereo IP 780
SUMRIO xxvii

B.5 UMA COMPARAO 780


B.6 OUTRAS TRANSFORMAES 781
De binrio em hexadecimal 781
De hexadecimal em binrio 782
Da base 256 em binrio 782
De binrio na base 256 782

Apndice C Soma de verificao 783


C.1 TRADICIONAL 783
Clculo em binrio 783
Clculo em hexadecimal 784
Clculo em decimal 785
C.2 FLETCHER 786
Fletcher de 8 bits 787
Fletcher de 16 bits 788
C.3 ADLER 788

Apndice D Deteco de erros 790


D.1 TIPOS DE ERROS 790
Erro de um bit 790
Rajada de erros 791
D.2 DETECO 792
Redundncia 792
Verificao da paridade 793
Verificao de redundncia cclica (CRC) 794
Soma de verificao 798

Apndice E Projeto 802 799


E.1 PROJETO 802.1 800
E.2 PROJETO 802.2 800
LLC 800
MAC 801

Apndice F Endereos de contato 803

Apndice G RFCs 805

Apndice H Portas UDP e TCP 807

Acrnimos 809

Glossrio 813

Referncias 837

ndice Remissivo 839


SUMRIO xxix

Prefcio

As tecnologias relacionadas s redes e interligao em rede tm crescido rapidamen-


te nos dias atuais. Uma das evidncias desse crescimento um aumento substancial no
nmero de profisses em que o entendimento dessas tecnologias fundamental para o
sucesso e um aumento correspondente no nmero e nos tipos de alunos ingressan-
do em cursos para aprender sobre elas.
Este um livro sobre o conjunto de protocolos TCP/IP. Ele fornece as informaes
necessrias para os estudantes que desejam se formar em comunicao de dados e re-
des de computadores. Tambm uma referncia para profissionais que do suporte ou
esto se preparando para trabalhar com redes baseadas em TCP/IP. Em resumo, este
livro para aqueles que precisam entender o conjunto.
O livro presume que o leitor no tem nenhum conhecimento anterior do conjunto de
protocolos TCP/IP, embora seja desejvel conhecimento em comunicao de dados.

Organizao
O livro est dividido em cinco partes. A primeira, compreendendo os Captulos 1 a 3,
examina os conceitos bsicos e as tecnologias subjacentes que, embora sejam inde-
pendentes dos protocolos TCP/IP, so necessrias para suport-los.
A segunda parte discute os protocolos nas camadas de rede e de transporte. Os Ca-
ptulos 4 a 10 enfatizam os protocolos da camada de rede. Os protocolos da camada de
transporte so descritos nos Captulos 11, 12 e 13. Os captulos 14 e 15 so dedicados
a uma descrio detalhada dos protocolos de roteamento.
A terceira parte discute os programas aplicativos tradicionais que usam os pro-
tocolos das camadas de rede e de transporte. Os Captulos 16 a 22 discutem esses
aplicativos.
A quarta parte (Captulos 23 a 27) aborda questes e assuntos relativamente novos
na Internet. Discutimos IP sobre ATM, IP mvel, multimdia, redes privadas e redes
privadas virtuais (Virtual Private Networks VPN), transformao de endereo de
rede e IP da prxima gerao.
A quinta parte do livro (Captulo 28) dedicada segurana de rede. Esse captulo
discute primeiro os conceitos e problemas relacionados segurana em geral e depois
mostra como eles so aplicados na Internet.

Recursos
Vrios recursos deste texto so projetados para facilitar o entendimento do protocolo
TCP/IP.

xxix
xxx PREFCIO

Abordagem visual
O livro apresenta material altamente tcnico sem frmulas complexas, usando um
equilbrio entre texto e figuras. Mais de 600 figuras acompanhando o texto oferecem
uma oportunidade visual e intuitiva para compreenso do material. As figuras so par-
ticularmente importantes na explicao de conceitos de redes, baseadas em conexes
e transmisso. Freqentemente, esses conceitos so entendidos mais facilmente de
forma visual do que verbal.

Pontos em destaque
Os conceitos importantes esto em quadros para referncia rpida e ateno imediata.

Exemplos e aplicaes
Quando apropriado, inclumos exemplos que ilustram os conceitos apresentados no texto.
Alm disso, acrescentamos aplicaes reais em cada captulo para motivar os estudantes.

Pacotes de protocolo
Embora no tenhamos fornecido o cdigo detalhado para implementar cada protocolo,
muitos captulos contm uma seo que discute a idia geral por trs da implementao
de cada protocolo. Essas sees proporcionam um entendimento das idias e problemas
envolvidos em cada protocolo, mas podem ser consideradas um material opcional.

Termos-chave
Os termos novos usados em cada captulo so listados no final dele, com as definies
includas no glossrio.

Resumo
Cada captulo termina com um resumo do material abordado. O resumo uma viso
geral de todos os pontos importantes do captulo.
Conjunto de prtica
Cada captulo inclui um conjunto de prtica destinado a reforar conceitos importan-
tes e a estimular os estudantes a aplic-los. Ele consiste em duas partes: exerccios e
atividades de pesquisa. Os exerccios exigem entendimento do material. As atividades
de pesquisa desafiam aqueles que desejam se aprofundar mais no assunto.
Apndices
Os apndices fornecem uma referncia rpida ou reviso dos materiais necessrios
para entender os conceitos discutidos no livro.
Glossrio e acrnimos
O livro contm um amplo glossrio e uma lista de acrnimos.

Novidades da terceira edio


A seguir est uma lista das alteraes feitas na terceira edio:
O Captulo 3 inclui mais tecnologias subjacentes.
Os Captulos 4, 5 e 6 incluem uma discusso mais detalhada do endereamento
sem classe.
O Captulo 12 foi ampliado para abordar mais recursos do protocolo TCP.
PREFCIO xxxi

O Captulo 13 totalmente novo. Ele discute o SCTP, um novo protocolo da ca-


mada de transporte.
Os Captulos 14 e 15 foram revisados para tornar os protocolos de roteamento
mais compreensveis.
FTP e TFTP agora esto em um s captulo. WWW e HTTP tambm foram com-
binados em um nico captulo.
O captulo sobre segurana foi ampliado e revisado para refletir mais problemas
da segurana.
Mais exemplos prticos e reais, usando utilitrios como ping, grep e netstat, foram
adicionados nos captulos apropriados.
Atividades de pesquisa para desafiar o estudante foram adicionadas no conjunto
de prtica.

Como usar o livro


Este livro foi escrito tanto para estudantes como para profissionais. Ele pode ser usado
como um guia de aprendizado prprio para profissionais interessados. Como livro-
texto, ele pode ser usado em um curso de graduao em Cincia da Computao. Os
captulos esto organizados de forma a proporcionar bastante flexibilidade. Sugeri-
mos o seguinte:
Os Captulos 1 a 3 podem ser preteridos em relao aos demais, caso os estudantes
j tenham conhecimento de comunicao de dados e interligao em rede.
Os Captulos 4 a 15 so fundamentais para se entender o protocolo TCP/IP.
Os Captulos 16 a 22 podem ser abordados em detalhes durante o curso.
Os Captulos 23 a 27 podem ser preteridos em relao aos demais, se houver res-
tries de tempo.
O Captulo 28 pode ser estudado em ritmo prprio.

Suplementos
Online Learning Center (Centro de aprendizagem on-line)
O Centro de aprendizagem on-line no endereo www.mhhe.com/forouzan oferece
rescursos para o estudante e para o professor. Para ajudar a desenvolver os conceitos
descritos no livro, h diversos recursos complementares. Esses materiais esto dispo-
nveis em ingls.

Recursos para o Professor


Para o professor, o Online Learning Center, em www.mhhe.com/forouzan traz:
apresentaes em power point
solues dos exerccios
Material disponvel em ingls.

Recursos para o estudante


Em www.mhhe.com/forouzan, o estudante encontrar:
animaes que ajudam a entender os conceitos do livro
testes
apresentaes em power point
respostas dos exerccios mpares
Material disponvel em ingls.
xxxii PREFCIO

Agradecimentos para a terceira edio


evidente que o desenvolvimento de um livro com esta abrangncia precisa do apoio
de muitas pessoas. Agradecemos a contribuio de muitos no prefcio da primeira e
da segunda edies. Para a terceira edio, gostaramos de agradecer as colaboraes
das revises feitas em pares para o desenvolvimento do livro. Os revisores foram:
Paul D. Amer, University of Delaware
Edward Chlebus, Illinois Institute of Technology
Anthony Chung, DePaul University
Isaac Ghansah, California State University, Sacramento
Khalen Harfoush, North Carolina State University
Doug Jacobson, Iowa State University
Tulin Mangir, California State University, Long Beach
Xiao Su, San Jose State University
Mark Weiser, Oklahoma University
Agradecemos as valiosas colaboraes de Paul Amer e Randall R. Stewart (proje-
tista do protocolo SCTP), pelos comentrios e anlises crticas do manuscrito.
Agradecimentos especiais equipe da McGraw-Hill. Betsy Jones, nossa editora,
provou como uma editora hbil pode tornar possvel o impossvel. Emily Lupash,
editora de desenvolvimento, nos ajudou sempre que precisamos. Sheila Frank, nossa
gerente de projeto, nos conduziu no processo de produo com enorme entusiasmo.
Tambm agradecemos a Sherry Kane da produo, David Hash do design e George
Watson, que preparou o texto.

Notas sobre marcas registradas


Em todo o texto usamos diversas marcas registradas. Em vez de inserir um smbolo
de marca registrada em cada meno do nome comercial, reconhecemos as marcas e
declaramos que elas foram usadas sem nenhuma inteno de desrespeit-las. Outros
nomes de produto, nomes comerciais e marcas registradas so de propriedade de seus
respectivos donos.
Apple, AppleTalk, EtherTalk, LocalTalk, TokenTalk e Macintosh so marcas re-
gistradas da Apple Computer, Inc.
Bell e StarLan marcas registradas da AT&T.
DEC, DECnet, VAX e DNA so marcas registradas da Digital Equipment Corp.
IBM, SDLC, SNA e IBM PC so marcas registradas da International Business
Machines Corp.
Novell, Netware, IPX e SPX so marcas registradas da Novell, Inc.
Network File System e NFS so marcas registradas da Sun Microsystems, Inc.
PostScript uma marca registrada da Adobe Systems, Inc.
UNIX uma marca registrada da UNIX System Laboratories, Inc., uma subsidi-
ria de propriedade da Novell, Inc.
Xerox um nome comercial e Ethernet uma marca registrada da Xerox Corp.
SEO 2.1 O MODELO OSI 1

Captulo 1

Introduo
A Internet tem revolucionado muitos aspectos em nossas vidas. Ela tem afetado a ma-
neira como fazemos negcios, assim como o modo de passarmos nosso tempo livre.
Considere como voc tem usado a Internet recentemente. Talvez voc tenha enviado
correspondncia eletrnica (e-mail) a uma empresa associada, pago a conta da luz,
lido um jornal de uma cidade distante ou pesquisado o horrio de filmes no cinema
local tudo isso usando a Internet. Ou ento, talvez voc tenha pesquisado um as-
sunto mdico, feito uma reserva em hotel, conversado com um amigo viajante ou feito
uma cotao para a aquisio de um carro. A Internet um sistema de comunicao
que tem trazido uma diversidade de informaes para as pontas de nossos dedos e
organizado todo esse material para nosso uso.
A Internet um sistema estruturado e organizado. Antes de discutirmos como ela
funciona e sua relao com o protocolo TCP/IP, primeiramente forneceremos um
breve histrico da Internet. Em seguida, definiremos os conceitos de protocolos e
padres e os relacionamentos entre eles. Discutiremos as vrias organizaes que es-
to envolvidas no desenvolvimento de padres da Internet. Esses padres no so
desenvolvidos por nenhuma organizao especfica, mas sim por meio do consenso
dos usurios. Discutiremos o mecanismo pelo qual esses padres foram originados
e amadureceram. Tambm inclumos neste captulo introdutrio uma seo sobre os
grupos administrativos da Internet.

1.1 Um breve histrico


Uma rede um grupo de dispositivos conectados que se comunicam, como compu-
tadores e impressoras. Uma internet (observe o i minsculo) composta por duas ou
mais redes que podem se comunicar. A internet mais notvel chamada de Internet
(com I maisculo), composta de centenas de milhares de redes interligadas. Pessoas
fsicas, assim como vrias organizaes, como rgos governamentais, escolas, insti-
tutos de pesquisa, empresas e bibliotecas de mais de 100 pases usam a Internet. Mi-
lhes de pessoas so usurias. Contudo, esse extraordinrio sistema de comunicao
s comeou a existir em 1969.

1
2 CAPTULO 1iNTRODUO

ARPANET
Em meados dos anos 60, os computadores de grande porte em organizaes de pes-
quisa eram dispositivos independentes. Computadores de fabricantes diferentes eram
incapazes de se comunicar. A ARPA (Advanced Research Projects Agency) do De-
partamento de Defesa (DOD) dos EUA estava interessada em encontrar uma maneira
de conectar computadores para que os pesquisadores que patrocinavam pudessem
compartilhar seus conhecimentos, reduzindo, assim, os custos e eliminando a dupli-
cao de esforos.
Em 1967, em uma reunio da ACM (Association for Computing Machinery), a
ARPA apresentou a idia da ARPANET, uma pequena rede de computadores conec-
tados. A idia era que cada computador host (no necessariamente do mesmo fabri-
cante) fosse ligado a um computador especializado, chamado de processador de men-
sagem de interface (IMP do ingls Interface Message Processor). Os IMPs, por sua
vez, seriam conectados uns aos outros. Cada IMP tinha de ser capaz de se comunicar
com outros IMPs, assim como com seu prprio host.
Em 1969, a ARPANET era uma realidade. Quatro ns um na Universidade da
Califrnia em Los Angeles (UCLA); outro na Universidade da Califrnia em Santa
Brbara (UCSB); um no Stanford Research Institute (SRI) e outro na Universidade de
Utah estavam conectados por meio dos IMPs para formar uma rede. O software, cha-
mado de NCP (Network Control Protocol), fornecia a comunicao entre os hosts.

Nascimento da Internet
Em 1972, Vincent Cerf e Bob Khan, que faziam parte do grupo central da ARPANET,
colaboraram no que chamaram de Internetting Project (projeto de interligao em
rede). Eles queriam interligar diferentes redes de modo que um host em uma rede pu-
desse se comunicar com um host em outra rede. Havia muitos problemas para superar:
tamanhos de pacotes diversos, interfaces diferentes e taxas de transmisso distintas,
assim como diferentes requisitos de confiabilidade. Cerf e Kahn tiveram a idia de um
dispositivo chamado de gateway servir como hardware intermedirio para transferir
dados de uma rede a outra.

TCP/IP (Transmission Control Protocol/Internetworking Protocol)


O artigo fundamental de Cerf e Kahn, de 1973, delineava os protocolos para obter
a distribuio de dados de ponto a ponto. Era uma nova verso do NCP. Esse artigo
sobre o protocolo de controle de transmisso (TCP) inclua conceitos como encap-
sulamento, datagrama e as funes de um gateway. O princpio fundamental era a
transferncia da responsabilidade pela correo de erros do IMP para a mquina host.
Agora, essa Internet da ARPA tinha se tornado o foco dos trabalhos em comunica-
o. Naquela poca, a responsabilidade pela ARPANET tinha passado para a Defense
Communication Agency (DCA).
Em outubro de 1977, foi demonstrada com xito uma internet composta por trs
redes diferentes (ARPANET, rdio de pacotes e satlite de pacotes). Agora, era poss-
vel a comunicao entre redes.
Logo depois disso, as autoridades decidiram dividir o TCP em dois protoco-
los: TCP (Transmission Control Protocol) e IP (Internetworking Protocol). O IP
trataria do roteamento de datagramas, enquanto o TCP seria responsvel pelas funes
SEO 1.1 UM BREVE HISTRICO 3

de nvel mais alto, como segmentao, remontagem e deteco de erros. O protocolo


de interligao em rede tornou-se conhecido como TCP/IP.
Em 1981, sob um contrato da DARPA, a UC Berkeley modificou o sistema opera-
cional Unix para incluir o protocolo TCP/IP. Essa incluso de software de rede, junto
com um sistema operacional popular, contribuiu muito para popularizar ainda mais
a interligao em rede. A implementao aberta (no especfica de um fabricante) do
Unix da Berkeley forneceu a cada fabricante uma base de cdigo em funcionamento
na qual podiam construir seus produtos.
Em 1983, as autoridades aboliram os protocolos originais da ARPANET, e o TCP/
IP tornou-se seu protocolo oficial. Quem quisesse usar a Internet para acessar um
computador em uma rede diferente tinha de executar o TCP/IP.

MILNET
Em 1983, a ARPANET foi dividida em duas redes: a MILNET, para usurios milita-
res, e a ARPANET, para usurios no-militares.

CSNET
Outro marco na histria da Internet foi a criao da CSNET, em 1981. A CSNET era
uma rede patrocinada pela NSF (National Science Foundation). A rede foi concebida
por universidades que no podiam entrar na ARPANET devido ausncia de vnculos
com a DARPA. A CSNET era uma rede menos dispendiosa; no existiam links redun-
dantes e a velocidade de transmisso era menor. Ela tinha conexes com a ARPANET
e com o Telenet, o primeiro servio de dados de pacote comercial.
Em meados dos anos 80, a maioria das universidades dos EUA que dispunham
de um departamento de cincia da computao fazia parte da CSNET. Outras insti-
tuies e empresas tambm estavam formando suas prprias redes e usando TCP/IP
para interligao. O termo Internet, originalmente associado s redes conectadas pa-
trocinadas pelo governo, agora referia-se s redes conectadas que usavam protocolos
TCP/IP.

NSFNET
Com o sucesso da CSNET, em 1986, a NSF patrocinou a NSFNET, um sistema central
que conectava cinco centros de supercomputadores, localizados em todos os Estados
Unidos. As redes comunitrias podiam acessar esse sistema, uma linha T1 com veloci-
dade de dados de 1.544 Mbps, fornecendo, assim, conectividade por todo o pas.
Em 1990, a ARPANET foi oficialmente aposentada e substituda pela NSFNET.
Em 1995, a NSFNET voltou ao seu conceito original de rede de pesquisa.

ANSNET
Em 1991, o governo norte-americano decidiu que a NSFNET no era capaz de supor-
tar o trfego rapidamente crescente da Internet. Trs empresas (IBM, Merit e MCI)
preencheram essa lacuna formando uma organizao sem fins lucrativos chamada
ANS (Advanced Network and Services), para construir um novo sistema central de
alta velocidade, chamado de ANSNET.
4 CAPTULO 1iNTRODUO

A Internet hoje
Atualmente, a Internet no uma simples estrutura hierrquica. Ela constituda por
muitas redes remotas e locais, unidas por dispositivos de conexo e estaes de comu-
tao. difcil fornecer uma representao precisa da Internet, pois ela est continua-
mente mudando novas redes esto sendo adicionadas, as redes existentes precisam
de mais endereos e redes de empresas extintas precisam ser removidas. Hoje, a maio-
ria dos usurios finais que desejam conexo Internet usa os provedores de servios
de Internet (ISPs Internet service providers). Existem provedores nacionais, regio-
nais e locais. Atualmente, a Internet conduzida por empresas privadas e no pelo
governo. A Figura 1.1 mostra uma viso conceitual (no geogrfica) da Internet.

Figura 1.1 A Internet hoje

Local Local Local Local

ISP ISP
Regional Regional

ISP
Internacional
ou
Nacional

Local Local Local Local

PAR
ISP ISP
Regional Regional

ISP
Internacional
ou
Nacional

Local Local Local Local


PAR

ISP ISP
Regional Regional

ISP
Internacional
ou
Nacional
SEO 1.1 UM BREVE HISTRICO 5

ISPs internacionais
No topo da hierarquia esto os ISPs internacionais que conectam pases.

ISPs nacionais
Os ISPs nacionais so redes de sistemas centrais criadas e mantidas por empresas es-
pecializadas. Existem muitos ISPs nacionais que operam na Amrica do Norte; alguns
dos mais conhecidos so SprintLink, PSINet, UUNet Technology, AGIS e internet
MCI. Para fornecer conectividade entre os usurios finais, essas redes de sistemas
centrais so conectadas por estaes de comutao complexas (normalmente condu-
zidas por terceiros), chamadas de pontos de acesso rede (PARs). Algumas redes de
ISP nacionais tambm esto conectadas entre si por meio de estaes de comutao
privadas, chamadas de pontos de hierarquia. Normalmente, os ISPs nacionais operam
com uma alta velocidade de dados (at 600 Mbps).

ISPs regionais
Os ISPs regionais so pequenos e esto conectados a um ou mais ISPs nacionais. Eles
esto no terceiro nvel da hierarquia, com uma menor velocidade de dados.

ISPs locais
Os ISPs locais fornecem servio direto aos usurios finais. Os ISPs locais podem estar
conectados a ISPs regionais ou diretamente a ISPs nacionais. A maioria dos usurios
finais est conectada a ISPs locais. Note que, nesse sentido, um ISP local pode ser uma
empresa que fornece apenas servios de Internet, uma corporao com uma rede para
fornecer servios para seus prprios funcionrios ou uma organizao sem fins lucra-
tivos, como uma faculdade ou uma universidade, que conduz sua prpria rede. Cada
um desses pode estar conectado a um provedor de servios regional ou nacional.

Linha do tempo
A seguir, est uma lista de importantes eventos da Internet, em ordem cronolgica:
1969. Estabelecida a ARPANET de quatro ns.
1970. Hosts ARPA implementam NCP.
1973. Comea o desenvolvimento do conjunto TCP/IP.
1977. Testada uma internet usando TCP/IP.
1978. Unix distribudo para sites acadmicos e de pesquisa.
1981. Estabelecida a CSNET.
1983. O protocolo TCP/IP torna-se oficial para a ARPANET.
1983. Nasce a MILNET.
1986. Estabelecida a NSFNET.
1990. A ARPANET descredenciada e substituda pela NSFNET.
1995. A NSFNET volta a ser uma rede de pesquisa.
1995. Comeam a aparecer as empresas conhecidas como ISP (Provedores de
Servios de Internet).
6 CAPTULO 1iNTRODUO

Crescimento da Internet
A Internet tem crescido tremendamente. Em apenas algumas dcadas, o nmero de
redes aumentou de dezenas para centenas de milhares. Concomitantemente, o nmero
de computadores conectados s redes aumentou de centenas para centenas de milhes.
A Internet ainda est crescendo. Os fatores que influenciam esse crescimento incluem
os seguintes:
Novos protocolos. Novos protocolos precisam ser adicionados e os que ficam
obsoletos precisam ser removidos. Por exemplo, um protocolo superior ao IPv4
sob muitos aspectos foi aprovado como padro, mas ainda no foi totalmente im-
plementado (consulte IPv6, Captulo 27).
Novas tecnologias. Esto sendo desenvolvidas novas tecnologias que aumentaro a
capacidade das redes e fornecero mais largura de banda aos usurios da Internet.
Uso cada vez maior de multimdia. J fato que a Internet, outrora apenas um
veculo para compartilhar dados, cada vez mais usada para multimdia (udio e
vdeo).

1.2 Protocolos e padres


Nesta seo, definiremos dois termos amplamente usados: protocolos e padres. Pri-
meiramente, definiremos protocolo, que sinnimo de regra. Em seguida, discuti-
remos os padres, que so regras acordadas.

Protocolos
Nas redes de computador, a comunicao ocorre entre entidades de diferentes sistemas.
Uma entidade qualquer coisa capaz de enviar e receber informaes. Entretanto, duas
entidades no podem simplesmente enviar fluxos de bits uma a outra e esperar que
sejam entendidas. Para que a comunicao ocorra, as entidades devem estar de acordo
com um protocolo. Um protocolo um conjunto de regras que governa a comunicao
de dados. Um protocolo define o que comunicado, como comunicado e quando. Os
principais elementos de um protocolo so a sintaxe, a semntica e o sincronismo.
Sintaxe. A sintaxe refere-se estrutura ou formato dos dados, significando a or-
dem em que eles so apresentados. Por exemplo: um protocolo simples poderia
esperar que os primeiros 8 bits de dados fossem o endereo do remetente, os 8 bits
seguintes fossem o endereo do destinatrio e o restante do fluxo fosse a mensa-
gem em si.
Semntica. A semntica refere-se ao significado de cada seo de bits. Como um
padro em particular deve ser interpretado e qual ao deve ser executada com
base nessa interpretao? Por exemplo: um endereo identifica a rota a ser tomada
ou o destino da mensagem?
Sincronismo. O sincronismo refere-se a duas caractersticas: quando os dados de-
vem ser enviados e com que rapidez eles podem ser enviados. Por exemplo: se um
remetente produzir dados a 100 Megabits por segundo (Mbps), mas o destinatrio
s puder process-los a 1 Mbps, a transmisso sobrecarregar o receptor e muitos
dados sero perdidos.
SEO 1.3 organizaes padronizadoras 7

Padres
Os padres so essenciais na criao e na manuteno de um mercado aberto e com-
petitivo de fabricantes de equipamentos e tambm para garantir a operao conjunta,
nacional e internacional, de dados e tecnologia de telecomunicaes e processos. Eles
fornecem diretrizes para fabricantes, fornecedores, rgos governamentais e outros
provedores de servios, para garantir o tipo de operao conjunta necessrio no mer-
cado atual e nas comunicaes internacionais.
Os padres de comunicao de dados caem em duas categorias: de fato (signi-
ficando por fato ou por conveno) e de direito (significando por lei ou por
regulamento).
De fato. Os padres que no foram aprovados por um organismo constitudo, mas
que foram adotados pelo uso difundido, so padres de fato.
De direito. Os padres de direito so aqueles legislados por um organismo reco-
nhecido oficialmente.

1.3 Organizaes padronizadoras


Os padres so desenvolvidos por meio da colaborao de comits de criao de pa-
dres, fruns e rgos reguladores do governo.

Comits de criao de padres


Embora muitas organizaes se dediquem ao estabelecimento de padres, a comuni-
cao de dados na Amrica do Norte conta principalmente com aqueles publicados
pelas seguintes:
ISO (International Standards Organization). A International Standards Orga-
nization (ISO; tambm referida como International Organization for Standardi-
zation) um organismo multinacional cujos membros pertencem principalmente
a comits de criao de padres de vrios governos do mundo. Criada em 1974,
a ISO uma organizao inteiramente voluntria, dedicada ao acordo mundial
sobre padres internacionais. Com membros que atualmente incluem rgos re-
presentativos de muitos pases industrializados, ela tem como objetivo facilitar a
troca internacional de bens e servios, fornecendo modelos para compatibilidade,
melhoria da qualidade, aumento da produtividade e diminuio de preos. A ISO
opera no desenvolvimento de colaborao nas atividades cientficas, tecnolgicas
e econmicas. A principal preocupao deste livro so os esforos da ISO no se-
tor da tecnologia da informao que resultaram na criao do modelo OSI (Open
System Interconnection) para comunicao de redes. Os Estados Unidos so re-
presentados na ISO pelo ANSI.
ITU-T (International Telecommunications Union-Telecommunications Stan-
dards Sector). No incio dos anos 1970, vrios pases estavam definindo pa-
dres nacionais para telecomunicaes, mas ainda havia pouca compatibilidade
internacional.
8 CAPTULO 1iNTRODUO

As Naes Unidas responderam com a formao de um comit, o CCITT (Con-


sultative Committee for International Telegraphy and Telephony), como parte
de sua International Telecommunications Union (ITU). Esse comit foi dedicado
pesquisa e ao estabelecimento de padres para telecomunicaes em geral e aos
sistemas de telefonia e dados em particular. Em 1 de maro de 1993, o nome desse
comit foi alterado para International Telecommunications Union-Telecommuni-
cations Standards Sector (ITU-T).
ANSI (American National Standards Institute). Apesar de seu nome, o ANSI
(American National Standards Institute) uma empresa totalmente privada e sem
fins lucrativos, no-afiliada ao governo federal dos EUA. Contudo, todas as ativi-
dades do ANSI so comprometidas visando o bem-estar dos Estados Unidos e de
seus cidados, ocupando a posio de maior importncia. Os objetivos expressos
do ANSI incluem servir, assim como a instituio de coordenao nacional, para
padronizao voluntria nos Estados Unidos, promovendo a adoo de padres
com o objetivo de fazer a economia norte-americana avanar e garantir a participa-
o e a proteo dos interesses pblicos. Os membros do ANSI incluem socieda-
des profissionais, associaes industriais, agncias governamentais e reguladoras
e grupos de consumidores.
IEEE (Institute of Electrical and Electronics Engineers). O IEEE (Institute of
Electrical and Electronics Engineers) a maior sociedade de engenharia profis-
sional do mundo. Tendo abrangncia internacional, tem como objetivo o avano
da teoria, da criatividade e da qualidade dos produtos nos setores da engenharia
eltrica, eletrnica e rdio, assim como em todas as ramificaes relacionadas
engenharia. Como um de seus objetivos, o IEEE supervisiona o desenvolvimento
e a adoo de padres internacionais para computao e comunicao.
EIA (Electronic Industries Association). Alinhada ao ANSI, a EIA (Electronic
Industries Association) uma organizao sem fins lucrativos dedicada pro-
moo de interesses da fabricao de componentes eletrnicos. Suas atividades
incluem a educao de conhecimento pblico e empenhos em lobby, alm do de-
senvolvimento de padres. No setor da tecnologia da informao, a EIA tem feito
contribuies significativas, definindo interfaces de conexo fsica e especifica-
es de sinalizao eletrnica para comunicao de dados.

Fruns
O desenvolvimento da tecnologia de telecomunicaes est mudando mais rpido do
que a capacidade dos comits padronizadores de ratificar padres. Os comits so or-
ganismos processuais e, por natureza, mudam lentamente. Para atender necessidade
de modelos e acordos funcionais e para facilitar o processo de padronizao, muitos
grupos de interesse especial tm desenvolvido fruns constitudos de representantes de
empresas interessadas. Os fruns trabalham com universidades e usurios para testar,
avaliar e padronizar novas tecnologias. Concentrando seus esforos em uma tecnologia
em particular, os fruns so capazes de acelerar a aceitao e o uso dessas tecnologias na
comunidade de telecomunicaes. Os fruns apresentam suas concluses para os orga-
nismos de padronizao. Alguns fruns importantes para o setor das telecomunicaes
incluem os seguintes:
Frame Relay Forum. O Frame Relay Forum foi formado pela Digital Equipment Cor-
poration, pela North Telecom, pela Cisco e pela StrataCom para promover a aceitao
SEO 1.4 PADRES DA INTERNET 9

e implementao de Frame Relay. Atualmente, ele tem cerca de 40 membros que


representam a Amrica do Norte, a Europa e a regio da orla do Pacfico. As ques-
tes sob exame incluem controle de fluxo, encapsulamento, traduo e multicasting.
Os resultados do frum so submetidos ISO.
ATM Forum. O ATM Forum promove a aceitao e o uso da tecnologia ATM
(Asynchronous Transfer Mode). O ATM Forum constitudo de fornecedores de
equipamentos de atendimento ao cliente (por exemplo, sistemas PBX) e prove-
dores de central de telefonia (por exemplo, estao telefnica). Ele se ocupa da
padronizao de servios para garantir a operao conjunta.

Agncias reguladoras
Toda tecnologia de comunicao est sujeita regulamentao por agncias governa-
mentais, como a Federal Communications Commission, nos Estados Unidos. O ob-
jetivo dessas agncias proteger o interesse pblico, regulamentando a comunicao
por rdio, por televiso e por fio/cabo.
FCC (Federal Communications Commission). A FCC (Federal Communica-
tions Commission) tem autoridade sobre o comrcio interestadual e internacional
relacionado s comunicaes.

Os sites das organizaes citadas anteriormente esto no Apndice F.

1.4 Padres da Internet


Um padro de Internet uma especificao completamente testada, til e obedecida
por quem trabalha com a Internet. Trata-se de uma regulamentao formalizada que
deve ser seguida. H um procedimento restrito por meio do qual uma especificao
alcana o status de padro de Internet. Uma especificao comea como minuta de
Internet. Uma minuta de Internet um documento de trabalho (um trabalho em
andamento) sem status oficial e com tempo de vida de 6 meses. Sob recomendao
das autoridades da Internet, uma minuta pode ser publicada como RFC (Request for
Comment pedido de comentrio). Cada RFC editado, recebe um nmero e torna-
se disponvel para todas as partes interessadas.
Os RFCs passam por diversos nveis de maturidade e so classificados de acordo
com seus nveis de requisito.

Nveis de maturidade
Durante sua existncia, um RFC cai em um de seis nveis de maturidade: padro
proposto, minuta de padro, padro de Internet, histrico, experimental e informativo
(veja a Figura 1.2).

Padro proposto
Um padro proposto uma especificao estvel, bem compreendida e de interesse
suficiente para a comunidade da Internet. Nesse nvel, normalmente a especificao
testada e implementada por vrios grupos diferentes.
10 CAPTULO 1iNTRODUO

Figura 1.2 Nveis de maturidade de um RFC

Minuta de Internet

Experimental Padro proposto Informativo

Seis meses e duas tentativas

Minuta de padro

Quatro meses e duas tentativas

Padro de Internet

Histrico

Minuta de padro
Um padro proposto elevado ao status de minuta de padro aps, pelo menos, duas
implementaes independentes e de operao conjunta bem-sucedidas. Salvo dificul-
dades, uma minuta de padro, com modificaes, caso sejam encontrados problemas
especficos, normalmente se torna um padro de Internet.

Padro de Internet
Uma minuta de padro atinge o status de padro de Internet aps demonstraes de
implementao bem-sucedidas.

Histrico
Os RFCs de histrico so significativos do ponto de vista histrico. Ou eles foram su-
perados por especificaes posteriores ou nunca passaram pelos nveis de maturidade
necessrios para se tornar um padro de Internet.

Experimental
Um RFC classificado como experimental descreve o trabalho relacionado a uma si-
tuao experimental que no afeta a operao da Internet. Tal RFC no deve ser im-
plementado em nenhum servio de Internet em funcionamento.

Informativo
Um RFC classificado como informativo contm informaes gerais, histricas ou ex-
plicativas relacionadas Internet. Normalmente, escrito por algum de uma organi-
zao que no da Internet, como um fornecedor, por exemplo.
SEO 1.4 PADRES DA INTERNET 11

Nveis de requisito
Os RFCs so classificados em cinco nveis de requisito: exigido, recomendado, fa-
cultativo, uso limitado e no-recomendado (veja a Figura 1.3).

Figura 1.3 Nveis de requisito de um RFC

Exigido

Recomendado

Nveis de requisito Facultativo

Uso limitado

No-recomendado

Exigido
Um RFC rotulado como exigido caso deva ser implementado por todos os sistemas
de Internet para atingir a compatibilidade mnima. Por exemplo, IP (Captulo 8) e
ICMP (Captulo 9) so protocolos exigidos.

Recomendado
Um RFC rotulado como recomendado no exigido para obter compatibilidade m-
nima; ele recomendado devido sua utilidade. Por exemplo, FTP (Captulo 19) e
TELNET (Captulo 18) so protocolos recomendados.

Facultativo
Um RFC rotulado como facultativo no exigido nem recomendado. Contudo, um
sistema pode us-lo em seu prprio benefcio.

Uso limitado
Um RFC rotulado como de uso limitado s deve ser usado em situaes limitadas. A
maioria dos RFCs experimentais cai nessa categoria.

No-recomendado
Um RFC rotulado como no-recomendado inadequado para uso geral. Normalmen-
te, um RFC de histrico (obsoleto) pode cair nessa categoria.
12 CAPTULO 1iNTRODUO

Os RFCs podem ser encontrados no endereo www.faqs.org/rfcs

1.5 Administrao da Internet


A Internet, com suas razes principalmente no domnio da pesquisa, tem evoludo
e obtido uma base de usurios mais ampla, com atividade comercial significativa.
Vrios grupos que coordenam questes da Internet tm conduzido esse crescimento e
desenvolvimento. O Apndice F fornece os endereos, endereos de e-mail e nme-
ros de telefone de alguns desses grupos. A Figura 1.4 mostra a organizao geral da
administrao da Internet.

Figura 1.4 Administrao da Internet

ISOC

IAB

IRTF IETF
IRSG IESG

rea rea

GP GP GT GT GT GT

ISOC (Internet Society)


A ISOC (Internet Society) uma organizao internacional sem fins lucrativos, for-
mada em 1992, para dar suporte ao processo de padronizao da Internet. A ISOC faz
isso por meio da manuteno e do suporte a outros organismos administrativos da In-
ternet, como IAB, IETF, IRTF e IANA (consulte as sees a seguir). A ISOC tambm
promove atividades de pesquisa e outras atividades eruditas relacionadas Internet.

IAB (Internet Architecture Board)


O IAB (Internet Architecture Board) o consultor tcnico da ISOC. Os principais
objetivos do IAB so supervisionar o desenvolvimento contnuo do conjunto de pro-
tocolos TCP/IP e trabalhar como consultoria tcnica para pesquisadores da comunida-
de da Internet. O IAB faz isso por meio de seus dois componentes principais: a IETF
(Internet Engineering Task Force) e a IRTF (Internet Research Task Force).
SEO 1.5 ADMINISTRAO DA INTERNET 13

Outra responsabilidade do IAB o gerenciamento editorial dos RFCs, descritos ante-


riormente neste captulo. O IAB tambm a ligao externa entre a Internet e outras
organizaes e fruns padronizadores.

IETF (Internet Engineering Task Force)


A IETF (Internet Engineering Task Force) um frum de grupos de trabalho ge-
renciado pelo IESG (Internet Engineering Steering Group). A IETF responsvel por
identificar problemas operacionais e propor solues para esses problemas. A IETF
tambm desenvolve e examina especificaes destinadas a serem padres de Internet.
Os grupos de trabalho so reunidos em reas e cada rea concentra-se em um assunto
especfico. Atualmente, existem nove reas definidas, embora de modo algum esse
seja um nmero rgido. As reas so:
Aplicativos
Protocolos de Internet
Roteamento
Operaes
Servios de usurio
Gerenciamento de rede
Transporte
Prxima gerao de protocolo de Internet (IPng)
Segurana

IRTF (Internet Research Task Force)


A IRTF (Internet Research Task Force) um frum de grupos de trabalho geren-
ciado pelo IESG (Internet Engineering Steering Group). A IRTF focaliza assuntos de
pesquisa a longo prazo relacionados a protocolos, aplicativos, arquitetura e tecnologia
de Internet.

IANA (Internet Assigned Numbers Authority) e ICANN (Internet


Corporation for Assigned Names and Numbers)
A IANA (Internet Assigned Numbers Authority), sustentada pelo governo dos
EUA, era responsvel pelo gerenciamento de nomes de domnio e endereos da Inter-
net at outubro de 1988. Naquela poca, a ICANN (Internet Corporation for Assig-
ned Names and Numbers), uma empresa privada sem fins lucrativos, gerenciada por
uma junta internacional, assumiu as operaes da IANA.

NIC (Network Information Center)


O NIC (Network Information Center) responsvel por reunir e distribuir informa-
es sobre os protocolos TCP/IP.

Os sites das organizaes da Internet podem ser encontrados no Apndice F.


14 CAPTULO 1iNTRODUO

1.6 Termos-chave
ARPA (Advanced Research Projects IETF (Internet Engineering Task
Agency) Force)

ARPANET IRTF (Internet Research Task Force)


ISO (International Standards
ANSI (American National Standards Organization)
Institute)
ISOC (Internet Society)
ANSNET
ITU-T (International Telecommunica-
ATM Forum tions Union - Telecommunications
Standards Sector)
CCITT (Consultative Committee
for International Telegraphy and Internet
Telephony) Provedores de Servios de Internet
(ISP)
CSNET
Padro de Internet
Padres de fato
Nveis de maturidade
Padres de direito MILNET
EIA (Electronic Industries Rede
Association) Pontos de acesso rede (PARs)
FCC (Federal Communications NIC (Network Information Center)
Commission)
NSFNET
Frame Relay Forum Protocolo

IAB (Internet Architecture Board) RFC (Request for Comment)


Nveis de requisito
IANA (Internet Assigned Numbers
Authority) Semntica
ICANN (Internet Corporation for Sintaxe
Assigned Names and Numbers) Sincronismo
Minuta de Internet TCP/IP (Transmission Control
IEEE (Institute of Electrical and Protocol/Internetworking
Electronics Engineers) Protocol)

1.7 Resumo
A Internet um conjunto de centenas de milhares de redes separadas.
A ARPANET comeou como uma rede com quatro ns.
TCP/IP o conjunto de protocolos da Internet.
A CSNET fornecia comunicao entre redes que no podiam entrar na ARPANET.
SEO 1.8 CONJUNTO DE PRTICA 15

A NSFNET fornecia comunicao entre redes em todos os Estados Unidos.


Os ISPs locais conectam usurios individuais Internet.
Os ISPs regionais conectam ISPs locais.
Os ISPs nacionais so redes de sistema central criadas e mantidas por empresas
especializadas.
Um protocolo um conjunto de regras que governam a comunicao de dados; os
principais elementos de um protocolo so a sintaxe, a semntica e o sincronismo.
Os padres so necessrios para garantir que produtos de diferentes fabricantes
possam trabalhar juntos conforme o esperado.
ISO, ITU-T, ANSI, IEEE e EIA so algumas das organizaes envolvidas na cria-
o de padres.
Fruns so grupos de interesse especial que avaliam e padronizam novas tecnologias
rapidamente. Dois fruns importantes so o Frame Relay Forum e o ATM Forum.
A FCC uma agncia reguladora que atua na comunicao por rdio, por televiso
e por fio/cabo.
Um RFC (Request for Comment) uma idia ou conceito que precursor de um
padro de Internet.
Um RFC passa pelo nvel de padro proposto e depois pelo nvel de minuta de
padro, antes de se tornar um padro de Internet.
Um RFC classificado como exigido, recomendado, facultativo, de uso limitado
ou no-recomendado.
A ISOC (Internet Society) promove atividades de pesquisa e outras atividades
eruditas relacionadas Internet.
O IAB (Internet Architecture Board) o consultor tcnico da ISOC.
A IETF (Internet Engineering Task Force) um frum de grupos de trabalho res-
ponsvel por identificar problemas operacionais e propor solues para esses pro-
blemas.
A IRTF (Internet Research Task Force) um frum de grupos de trabalho que fo-
caliza assuntos de pesquisa a longo prazo relacionados aos protocolos, aplicativos,
arquitetura e tecnologia de Internet.
A ICANN (Internet Corporation for Assigned Names and Numbers), anteriormen-
te conhecida como IANA, responsvel pelo gerenciamento de nomes de domnio
e endereos da Internet.
O NIC (Network Information Center) responsvel por reunir e distribuir infor-
maes sobre protocolos TCP/IP.

1.8 Conjunto de prtica

Exerccios
1. Use a Internet para encontrar o nmero de RFCs.
2. Use a Internet para encontrar o assunto dos RFCs 2418 e 1603.
16 CAPTULO 1iNTRODUO

3. Use a Internet para encontrar o RFC que discute as diretrizes e os procedimentos


de grupos de trabalho da IRTF.
4. Use a Internet para encontrar dois exemplos de RFC histrico.
5. Use a Internet para encontrar dois exemplos de RFC experimental.
6. Use a Internet para encontrar dois exemplos de RFC informativo.
7. Use a Internet para encontrar o RFC que discute o aplicativo FTP.
8. Use a Internet para encontrar o RFC do IP (Internet Protocol).
9. Use a Internet para encontrar o RFC do TCP (Transmission Control Protocol).
10. Use a Internet para encontrar o RFC que pormenoriza o processo de padroniza-
es da Internet.

Atividades de pesquisa
11. Pesquise e encontre trs padres desenvolvidos pelo ITU-T.
12. Pesquise e encontre trs padres desenvolvidos pelo ANSI.
13. A EIA desenvolveu alguns padres para interfaces. Pesquise e encontre dois des-
ses padres. O que EIA 232?
14. Pesquise e encontre trs regulamentaes projetadas pela FCC a respeito de
transmisso em AM e FM.
SEO 2.1 O MODELO OSI 17

Captulo 2

O modelo OSI e o
conjunto de protocolos TCP/IP
O modelo em camadas que dominava a comunicao de dados e a literatura de in-
terconexo em redes antes de 1990 era o modelo OSI (Open Systems Interconnec-
tion). Acreditava-se que o modelo OSI se tornaria padro definitivo para comunicao
de dados mas isso no aconteceu. O conjunto de protocolos TCP/IP tornou-se a
arquitetura comercial dominante porque foi demasiadamente usado e testado na Inter-
net; porm, o modelo OSI nunca foi totalmente implementado.
Neste captulo, discutiremos brevemente o modelo OSI e, depois, nos concentra-
remos no TCP/IP como um conjunto de protocolos.

2.1 O modelo OSI


Criada em 1947, a ISO (International Standards Organization) uma organi-
zao multinacional dedicada a acordos mundiais sobre padres internacionais.
Um padro ISO que aborda todos os aspectos da comunicao de rede o modelo
OSI (Open Systems Interconnection), que surgiu no fim dos anos 70. Um siste-
ma aberto um conjunto de protocolos que permite a comunicao entre dois
sistemas diferentes, independentemente da arquitetura subjacente. O objetivo do
modelo OSI mostrar que possvel facilitar a comunicao entre sistemas di-
ferentes, sem exigir alteraes na lgica do hardware e do software subjacentes.
O modelo OSI no um protocolo; um arqutipo para entender e projetar uma
arquitetura de rede flexvel, robusta e de operao conjunta.

ISO a organizao. OSI o modelo.

O modelo OSI uma estrutura em camadas para projetos de sistemas de rede que
permite a comunicao entre todos os tipos de sistemas de computador. Ele consiste
em sete camadas separadas, porm relacionadas, cada uma definindo uma parte do
processo de movimentao da informao por uma rede (veja a Figura 2.1). O enten-
dimento do modelo OSI proporciona uma base slida para a explorao da comunica-
o de dados.

17
18 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

Figura 2.1 O modelo OSI

7 Aplicativo

6 Apresentao

5 Sesso

4 Transporte

3 Rede

2 Enlace de dados

1 Fsica

Arquitetura em camadas
O modelo OSI composto de sete camadas ordenadas: fsica (camada 1), enlace de
dados (camada 2), rede (camada 3), transporte (camada 4), sesso (camada 5), apre-
sentao (camada 6) e aplicativo (camada 7). A Figura 2.2 mostra as camadas envol-
vidas quando uma mensagem enviada do dispositivo A ao dispositivo B. Durante
o envio, essa mensagem pode passar por muitos ns intermedirios. Normalmente,
esses ns intermedirios envolvem apenas as trs primeiras camadas do modelo OSI.
No desenvolvimento do modelo, os projetistas examinaram o processo de trans-
misso de dados em seus elementos mais fundamentais. Eles identificaram quais
funes de interconexo em rede tinham usabilidades relacionadas e reuniram-nas
em grupos separados para se tornarem camadas. Cada camada define uma famlia de
funes, que so distintas das de outras camadas. Definindo e localizando a funcio-
nalidade dessa maneira, os projetistas criaram uma arquitetura abrangente e flexvel.
O mais importante que o modelo OSI permite uma completa operao conjunta en-
tre sistemas incompatveis.
Dentro de uma mquina, cada camada solicita os servios da camada que est
imediatamente acima dela. A camada 3, por exemplo, utiliza os servios fornecidos
pela camada 2 e fornece servios para a camada 4. Entre vrias mquinas, a camada x
de uma mquina comunica-se com a camada x de outra mquina. Essa comunicao
governada por uma srie de regras e convenes, chamada de protocolos. Os proces-
sos, em cada mquina, que se comunicam em determinada camada so chamados de
processos no-hierrquicos. Portanto, a comunicao entre mquinas um processo
no-hierrquico, que utiliza protocolos adequados para determinada camada.

Processos no-hierrquicos
Na camada fsica, a comunicao direta: na Figura 2.2, o dispositivo A envia um
fluxo de bits para o dispositivo B (por meio de ns intermedirios). Entretanto, nas
camadas mais altas, a comunicao deve passar pelas camadas no dispositivo A, ir at
SEO 2.1 O MODELO OSI 19

Figura 2.2 Camadas OSI

Dispositivo Dispositivo
A B
N N
intermedirio intermedirio

Protocolo no-hierrquico (7a camada)


7 Aplicativo Aplicativo 7
Interface 7-6 Interface 7-6
Protocolo no-hierrquico (6a camada)
6 Apresentao Apresentao 6
Interface 6-5 Interface 6-5
Protocolo no-hierrquico (5a camada)
5 Sesso Sesso 5
Interface 5-4 a Interface 5-4
Protocolo no-hierrquico (4 camada)
4 Transporte Transporte 4
Interface 4-3 a a a Interface 4-3
3 3 3
3 Rede Rede Rede Rede 3
Interface 3-2 Interface 3-2
2a 2a 2a
2 Enlace de dados Enlace de dados Enlace de dados Enlace de dados 2
Interface 2-1 Interface 2-1
1a 1a 1a
1 Fsica Fsica Fsica Fsica 1

Comunicao fsica

o dispositivo B e, ento, voltar pelas camadas. Cada camada, no dispositivo que est
realizando o envio, adiciona suas prprias informaes na mensagem que recebe da
camada que est imediatamente acima dela e repassa o contedo para a camada que
est imediatamente abaixo.
Na camada 1, todo o contedo convertido em uma estrutura que pode ser transfe-
rida para o dispositivo receptor. Na mquina receptora, a mensagem desembrulhada,
camada por camada, e cada processo recebe e remove os dados destinados a ele. Por
exemplo: a camada 2 retira os dados destinados a ela e, ento, envia o restante para a
camada 3. Em seguida, a camada 3 remove os dados direcionados a ela e encaminha
o restante para a camada 4, e assim por diante.

Interfaces entre camadas


A passagem de dados e informaes da rede pelas camadas do dispositivo remetente e o
retorno pelas camadas do dispositivo receptor so possveis graas a uma interface entre
cada par de camadas adjacentes. Cada interface define quais informaes e servios uma
camada deve fornecer para a camada que est acima dela. Interfaces e funes de camada
bem definidas proporcionam modularidade para uma rede. Desde que uma camada forne-
a os servios esperados para a camada que est acima dela, a implementao especfica
de suas funes pode ser modificada ou substituda, sem exigir alteraes nas camadas
prximas.
Organizao das camadas
As sete camadas podem ser consideradas como pertencentes a trs subgrupos. As
camadas 1, 2 e 3 fsica, enlace de dados e rede so as de suporte de rede; elas
20 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

lidam com os aspectos fsicos de movimentao de dados de um dispositivo ao


outro (como as especificaes eltricas, conexes fsicas, endereamento fsico,
sincronizao de transporte e confiabilidade). As camadas 5, 6 e 7 sesso, apre-
sentao e aplicativo podem ser consideradas como de suporte de usurio; elas
permitem a operao conjunta entre sistemas de softwares no-relacionados. A
camada 4, de transporte, une os dois subgrupos e garante que o contedo enviado
pelas camadas inferiores possa ser usado pelas camadas superiores. As camadas
OSI superiores quase sempre so implementadas em software; as camadas infe-
riores so uma combinao de hardware e software, exceto a camada fsica, que
principalmente hardware.
Na Figura 2.3, que fornece uma viso geral das camadas OSI, os dados de D7
significam a unidade de dados na camada 7, os dados de D6 significam a unidade de
dados na camada 6, e assim por diante. O processo comea na camada 7 (a camada
de aplicativo) e, ento, passa de uma camada para outra, em ordem decrescente
e seqencial. Em cada camada, pode ser adicionado um cabealho na unidade de
dados. Na camada 2, tambm pode ser adicionado um trailer. Quando a unidade
de dados formatada passa pela camada fsica (camada 1), ela transformada em um
sinal eletromagntico e transportada por um meio fsico.

Figura 2.3 Uma troca usando o modelo OSI

D7 H7 D7 H7

D6 H6 D6 H6

D5 H5 D5 H5

D4 H4 D4 H4

D3 H3 D3 H3

T2 D2 H2 T2 D2 H2

010101010101101010000010000 010 010101010101101010000010000 010

Meio de transmisso

Ao chegar ao seu destino, o sinal passa para a camada 1 e transformado nova-


mente em contedo digital. Ento, as unidades de dados voltam pelas camadas OSI.
Quando cada bloco de dados chega prxima camada superior, os cabealhos e trai-
lers anexados na camada de envio correspondente so removidos e aes apropriadas
so executadas nessa camada. Quando chega camada 7, a mensagem est novamente
em uma forma apropriada para o aplicativo e disponvel para o receptor.
SEO 2.2 CAMADAS NO MODELO OSI 21

Encapsulamento
A Figura 2.3 revela outro aspecto da comunicao de dados no modelo OSI: o encap-
sulamento. Um pacote no nvel 7 encapsulado no pacote do nvel 6. No nvel 6, o
pacote inteiro encapsulado em um pacote no nvel 5, e assim por diante.
Em outras palavras, a parte referente aos dados do pacote no nvel N transporta o
pacote inteiro (dados e sobrecarga) do nvel N 1. O conceito chamado de encap-
sulamento porque o nvel N no sabe qual parte do pacote encapsulado refere-se aos
dados e qual parte refere-se ao cabealho ou trailer. Para o nvel N, o pacote inteiro
proveniente do nvel N 1 tratado como uma unidade integral.

2.2 Camadas no modelo OSI


Nesta seo, descreveremos brevemente as funes de cada camada no modelo OSI.

Camada fsica
A camada fsica coordena as funes exigidas para transportar um fluxo de bits por
um meio fsico. Ela lida com as especificaes mecnicas e eltricas da interface e do
meio de transmisso. Define, tambm, os procedimentos e funes que os dispositi-
vos fsicos e interfaces precisam executar para que a transmisso ocorra. A Figura 2.4
mostra a posio da camada fsica com relao ao meio de transmisso e camada de
enlace de dados.

Figura 2.4 Camada fsica

Da camada de enlace de dados Para a camada de enlace de dados

10101000000010111 110 10101000000010111 110

Camada Camada
fsica Meio de transmisso fsica

A camada fsica responsvel pelas movimentaes dos bits


individuais de um hop (n) para o seguinte.

A camada fsica tambm diz respeito a:


Caractersticas fsicas de interfaces e do meio. A camada fsica define as carac-
tersticas da interface entre os dispositivos e o meio de transmisso. Ela tambm
define qual o meio de transmisso (consulte o Captulo 3).
R epresentao de bits. Os dados da camada fsica consistem em um fluxo
de bits (seqncia de 0s e 1s) sem nenhuma interpretao. Para serem trans-
mitidos, os bits devem ser codificados em sinais eltricos ou ticos. A ca-
22 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

mada fsica define o tipo de codificao (como os 0s e 1s so transformados


em sinais).
Velocidade dos dados. A velocidade de transmisso o nmero de bits envia-
dos a cada segundo tambm definida pela camada fsica. Em outras palavras,
a camada fsica define a durao de um bit, que quanto tempo ele permanece.
Sincronizao de bits. O remetente e o receptor no apenas devem usar a mesma
velocidade de bit, mas tambm ser sincronizados em nvel de bit. Em outras pala-
vras, os relgios do remetente e do receptor devem estar sincronizados.
Configurao de linha. A camada fsica diz respeito conexo dos dispositivos
com o meio de transmisso. Em uma configurao ponto a ponto, dois dispo-
sitivos so conectados por meio de um link dedicado. Em uma configurao de
vrios pontos, um link compartilhado com vrios dispositivos.
Topologia fsica. A topologia fsica define como os dispositivos so conectados
para formar uma rede. Os dispositivos podem ser conectados usando uma topolo-
gia em malha (cada dispositivo conectado a outro dispositivo), uma topologia em
estrela (os dispositivos so conectados por meio de um dispositivo central), uma
topologia em anel (cada dispositivo conectado ao seguinte, formando um anel)
ou uma topologia de barramento (todos os dispositivos em um link comum).
Modo de transmisso. A camada fsica tambm define a direo da transmisso
entre dois dispositivos: simplex, half-duplex ou full-duplex. No modo simplex,
apenas um dispositivo pode enviar; o outro s pode receber. O modo simplex
uma comunicao unidirecional. No modo half-duplex, dois dispositivos podem
enviar e receber, mas no ao mesmo tempo. No modo full-duplex (ou simples-
mente duplex), dois dispositivos podem enviar e receber ao mesmo tempo.

Camada de enlace de dados


A camada de enlace de dados transforma a camada fsica, um recurso de transmis-
so bruto, em um link confivel. Ela faz a camada fsica parecer livre de erros para a
camada superior (camada de rede). A Figura 2.5 mostra a relao da camada de enlace
de dados com as camadas de rede e fsica.

Figura 2.5 Camada de enlace de dados

Da camada de rede Para a camada de rede

T2 Dados H2 Frame Frame T2 Dados H2

Camada de enlace Camada de enlace


de dados de dados
Para a camada fsica Da camada de fsica

A camada de enlace de dados responsvel por mover


quadros de um hop (n) para o prximo.
SEO 2.2 CAMADAS NO MODELO OSI 23

Outras responsabilidades da camada de enlace de dados:


Formao de frames. A camada de enlace de dados divide o fluxo de bits recebi-
do da camada de rede em unidades de dados gerenciveis chamadas de frames.
Endereamento fsico. Se os frames vo ser distribudos para diferentes sistemas
na rede, a camada de enlace de dados adiciona um cabealho no frame para definir
o remetente e/ou receptor. Se o frame for destinado a um sistema fora da rede do
remetente, o endereo do receptor ser o do dispositivo de conexo que liga uma
rede prxima.
Controle de fluxo. Se a velocidade na qual os dados so absorvidos pelo receptor
menor do que a velocidade no remetente, a camada de enlace de dados impe um
mecanismo de controle de fluxo para evitar a sobrecarga do receptor.
Controle de erros. A camada de enlace de dados aumenta a confiabilidade da
camada fsica, adicionando mecanismos para detectar e retransmitir frames da-
nificados ou perdidos. Ela tambm usa um mecanismo para reconhecer frames
duplicados. Normalmente, o controle de erros obtido por meio de um trailer
adicionado no fim do frame.
Controle de acesso. Quando dois ou mais dispositivos esto conectados ao mes-
mo link, so necessrios protocolos da camada de enlace de dados para determinar
qual dispositivo tem o controle sobre o link em dado momento.
A Figura 2.6 ilustra o envio hop-to-hop (n a n) feito pela camada de enlace de dados.

Figura 2.6 Envio hop-to-hop

Sistema
Sistema final
intermedirio
Sistema Link Link
final Sistema
intermedirio C D
Link Sistema
Sistema final
A B
intermedirio
Link Link
E F
Envio hop-to-hop Envio hop-to-hop Envio hop-to-hop

A B E F
Enlace de Enlace de Enlace de
dados dados dados
Fsica Fsica Fsica

Envio hop-to-hop Envio hop-to-hop Envio hop-to-hop

Camada de rede
A camada de rede responsvel pelo envio de um pacote, da origem ao destino, pas-
sando possivelmente por vrias redes (links). Enquanto a camada de enlace de dados
supervisiona o envio do pacote entre dois sistemas da mesma rede (link), a camada de
rede garante que cada pacote v de seu ponto de origem ao destino.
24 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

Se dois sistemas esto conectados ao mesmo link, eles normalmente no precisariam


de uma camada de rede. Contudo, se os dois sistemas esto ligados a redes (links) dife-
rentes, com dispositivos de conexo entre as redes (links), freqentemente h necessi-
dade da camada de rede para realizar o envio da origem ao destino. A Figura 2.7 mostra
a relao da camada de rede com as camadas de enlace de dados e de transporte.

Figura 2.7 Camada de rede

Da camada de transporte Para a camada de transporte

Dados H3 Pacote Dados H3 Pacote

Camada Camada
de rede de rede
Para a camada de enlace de dados Da camada de enlace de dados

A camada de rede responsvel pelo envio de pacotes


individuais do host de origem ao host de destino.

Outras responsabilidades da camada de rede:


Endereamento lgico. O endereamento fsico implementado pela camada de
enlace de dados trata o problema do endereamento de forma local. Se um pacote
ultrapassa o limite da rede, necessrio um outro sistema de endereamento para
ajudar a distinguir os sistemas de origem e de destino. A camada de rede adiciona
um cabealho ao pacote proveniente da camada superior que, entre outras coisas,
inclui os endereos lgicos do remetente e do receptor. Discutiremos os endereos
lgicos posteriormente neste captulo.
Roteamento. Quando redes ou links independentes so conectados, criando assim
interligaes de redes (redes de redes) ou uma rede grande, os dispositivos de
conexo (chamados de roteadores ou comutadores) substituem ou direcionam os
pacotes aos seus destinos finais. Uma das funes da camada de rede fornecer
esse mecanismo.
A Figura 2.8 ilustra o envio de extremidade a extremidade feito pela camada de rede.

Camada de transporte
A camada de transporte responsvel pelo envio de processo a processo da mensa-
gem inteira. Um processo um programa aplicativo sendo executado no host. Embora
a camada de rede supervisione o envio da origem ao destino de pacotes individuais,
ela no reconhece nenhuma relao entre eles. Ela trata cada um independentemente,
como se cada parte pertencesse a uma mensagem separada, seja ou no. A camada de
transporte, por outro lado, garante que a mensagem inteira chegue intacta e em ordem,
supervisionando o controle de erros e o controle de fluxo em nvel de origem para o
destino. A Figura 2.9 mostra a relao da camada de transporte com as camadas de
rede e de sesso.
SEO 2.2 CAMADAS NO MODELO OSI 25

Figura 2.8 Envio da origem ao destino


Sistema
Sistema final
intermedirio
Sistema
Link Link
final Sistema
intermedirio C D
Link Sistema
Sistema final
A B
intermedirio
Link Link
E F
Envio hop-to-hop Envio hop-to-hop Envio hop-to-hop

Envio da origem ao destino

A B E F
Rede Rede Rede
Enlace de Enlace de Enlace de
dados dados dados
Fsica Fsica Fsica

Envio da origem ao destino

Figura 2.9 Camada de transporte

Da camada de sesso Para a camada de sesso

Segmentos Segmentos

Dados H4 Dados H4 Dados H4 Dados H4 Dados H4 Dados H4

Camada de Camada de
transporte transporte
Para a camada de rede Da camada de rede

A camada de transporte responsvel pelo


envio de uma mensagem de um processo ao outro.

Outras responsabilidades da camada de transporte:


Endereamento de ponto de servio. Os computadores freqentemente execu-
tam vrios programas simultaneamente. Por isso, o envio de origem ao destino
no significa apenas transmitir de um computador para outro, mas tambm de um
processo especfico (programa em execuo) de um computador para um processo
especfico (programa em execuo) de outro. Portanto, o cabealho da camada de
26 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

transporte deve incluir um tipo de informao chamada de endereo de ponto de


servio (ou endereo de porta). A camada de rede leva cada pacote ao computador
correto; a camada de transporte envia a mensagem inteira ao processo correto
nesse computador.
Segmentao e remontagem. Uma mensagem dividida em segmentos transmis-
sveis, cada parte contendo uma seqncia numrica. Esses nmeros permitem
camada de transporte remontar a mensagem corretamente quando chegar ao desti-
no e identificar e substituir os pacotes que foram perdidos na transmisso.
Controle de conexo. A camada de transporte pode ser sem conexes ou orien-
tada a conexes. Uma camada de transporte sem conexes trata cada segmento
como um pacote independente e o envia para a camada de transporte na mquina
de destino. Uma camada de transporte orientada a conexes estabelece primeira-
mente uma conexo com a camada de transporte na mquina de destino, antes de
enviar os pacotes. Aps todos os dados serem transferidos, a conexo desfeita.
Controle de fluxo. Assim como a camada de enlace de dados, a camada de trans-
porte responsvel pelo controle de fluxo. Entretanto, nessa camada, o controle de
fluxo realizado de extremidade a extremidade, em vez de em um nico link.
Controle de erros. Assim como a camada de enlace de dados, a camada de trans-
porte responsvel pelo controle de erros. Entretanto, nessa camada, o controle
de erros realizado de processo a processo, em vez de em um nico link. A ca-
mada de transporte remetente certifica-se de que a mensagem inteira chegue
camada de transporte receptora sem erros (danos, perda ou duplicao). Normal-
mente, a correo de erros realizada por meio de retransmisso.
A Figura 2.10 ilustra o envio de processo a processo feito pela camada de transporte.

Figura 2.10 Envio confivel de processo a processo de uma mensagem

Processo Processo

Uma internet

Camada de rede
Envio de host para host

Camada de transporte
Envio de processo a processo

Camada de sesso
Os servios fornecidos pelas trs primeiras camadas (fsica, enlace de dados e rede)
no so suficientes para alguns processos. A camada de sesso o controlador de
dilogo da rede. Ela estabelece, mantm e sincroniza a interao entre sistemas que
se comunicam.
SEO 2.2 CAMADAS NO MODELO OSI 27

Outras responsabilidades especficas da camada de sesso:


Controle de dilogo. A camada de sesso permite que dois sistemas estabeleam
um dilogo. Ela permite que a comunicao entre dois processos ocorra no modo
half-duplex (uma direo por vez) ou full-duplex (duas direes por vez).
Sincronizao. A camada de sesso permite que um processo adicione pontos de
verificao (pontos de sincronizao) em um fluxo de dados. Por exemplo, se um
sistema est enviando um arquivo de 2.000 pginas, aconselhvel inserir pontos
de verificao a cada 100 pginas para garantir que cada grupo de 100 pginas seja
recebido e reconhecido independentemente. Nesse caso, se ocorrer uma falha du-
rante a transmisso da pgina 523, as nicas pginas que precisaro ser reenviadas
aps a recuperao do sistema sero as pginas 501 a 523. As pginas anteriores a
501 no necessitaro ser reenviadas. A Figura 2.11 ilustra a relao da camada de
sesso com as camadas de transporte e de apresentao.

A camada de sesso responsvel pelo controle de dilogo e pela sincronizao.

Figura 2.11 Camada de sesso

Da camada de apresentao Para a camada de apresentao

H5 H5

sinc sinc sinc sinc sinc sinc

Camada Camada
de sesso de sesso
Para a camada de transporte Da camada de transporte

Camada de apresentao
A camada de apresentao est relacionada sintaxe e semntica das informaes
trocadas entre dois sistemas. A Figura 2.12 mostra a relao entre a camada de apre-
sentao e as camadas de aplicativo e de sesso.
Outras responsabilidades especficas da camada de apresentao:
Traduo. Os processos (programas em execuo) em dois sistemas normalmente
so informaes de troca na forma de seqncias de caracteres, nmeros etc. As
informaes devem ser transformadas em fluxos de bits antes de serem transmi-
tidas. Como diferentes computadores usam diferentes sistemas de codificao, a
camada de apresentao responsvel pela operao conjunta entre esses diferen-
tes mtodos de codificao. A camada de apresentao no remetente transforma as
informaes de seu formato dependente de quem envia para um formato comum.
A camada de apresentao na mquina receptora transforma o formato comum em
formato dependente de quem recebe.
28 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

Figura 2.12 Camada de apresentao

Da camada de aplicativo Para a camada de aplicativo

Dados H6 Dados
Dados H6

Camada de Camada de
apresentao apresentao
Para a camada de sesso Da camada de sesso

Criptografia. Para transportar informaes sigilosas, um sistema deve ser capaz


de garantir a privacidade. Criptografia significa que o remetente transforma a in-
formao original em uma outra forma e envia essa nova mensagem pela rede. A
descriptografia reverte o processo original para transformar a mensagem em sua
forma original.
Compactao. A compactao de dados reduz o nmero de bits contidos na infor-
mao. A compactao de dados torna-se particularmente importante na transmis-
so de multimdia, como texto, udio e vdeo.

A camada de apresentao responsvel pela traduo, compactao e criptografia.

Camada de aplicativo
A camada de aplicativo permite ao usurio, seja humano ou software, acessar a rede.
Ela fornece interfaces do usurio e suporte para servios como correio eletrnico,
acesso remoto e transferncia de arquivos, gerenciamento de banco de dados compar-
tilhado e outros tipos de servios de informaes distribudas.
A Figura 2.13 mostra a relao entre a camada de aplicativo e o usurio e a camada
de apresentao. Dos muitos servios disponveis, a figura mostra apenas trs: X.400
(servios de manipulao de mensagens), X.500 (servios de diretrio) e FTAM
(transferncia, acesso e gerenciamento de arquivo). Nesse exemplo, o usurio utiliza
X.400 para enviar uma mensagem por e-mail.
Outros servios especficos fornecidos pela camada de aplicativo:
Terminal virtual de rede. Um terminal virtual de rede uma verso de software
de um terminal fsico, que permite ao usurio conectar-se a um host remoto. Para
isso, o aplicativo cria uma simulao de software de um terminal no host remoto.
O computador do usurio se comunica com o terminal de software, que, por sua
vez, se comunica com o host, e vice-versa. O host remoto acredita que est se co-
municando com um de seus prprios terminais e permite que voc se conecte.
Transferncia, acesso e gerenciamento de arquivo (FTAM). Esse aplicativo
permite que o usurio acesse arquivos em um host remoto (para fazer alteraes ou
ler dados), recupere arquivos de um computador remoto para usar no computador
local e gerencie ou controle arquivos de um computador remoto de forma local.
SEO 2.2 CAMADAS NO MODELO OSI 29

Figura 2.13 Camada de aplicativo

Usurio Usurio

X.500 FTAM X.400 X.500 FTAM X.400

Dados H7 Mensagem Dados H7 Mensagem

Camada de Camada de
aplicativo aplicativo
Para a camada de apresentao Da camada de apresentao

Servios de correio. Esse aplicativo fornece a base para encaminhamento e arma-


zenamento de e-mails.
Servios de diretrio. Esse aplicativo fornece fontes de banco de dados distribu-
do e acesso a informaes globais sobre vrios objetos e servios.

A camada de aplicativo responsvel por fornecer servios para o usurio.

Resumo das camadas


A Figura 2.14 mostra um resumo das tarefas de cada camada.

Figura 2.14 Resumo das camadas

Permite acesso aos recursos


Aplicativo
da rede
Traduz, criptografa
Apresentao
e compacta dados
Estabelece, gerencia e termina
Sesso
Permite envio confivel de sesses
mensagens de processo a Transporte
processo e recuperao de erros Remove pacotes da origem ao
Rede destino; fornece interconexo
Organiza bits em frames; em rede
Enlace de dados
Fornece envio de hop-to-hop Transmite bits por um meio;
Fsica fornece especificaes
mecnicas e eltricas
30 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

2.3 Conjunto de protocolos TCP/IP


O conjunto de protocolos TCP/IP foi desenvolvido antes do modelo OSI. Portanto,
as camadas no conjunto de protocolos TCP/IP no correspondem exatamente s que
aparecem no modelo OSI. O conjunto de protocolos TCP/IP constitudo de cinco
camadas: fsica, enlace de dados, rede, transporte e aplicativo. As quatro primeiras
camadas fornecem padres fsicos, interface de rede, interconexo em rede e funes
de transporte que correspondem s quatro primeiras camadas do modelo OSI. Entre-
tanto, as trs camadas superiores do modelo OSI so representadas no TCP/IP por
uma nica, chamada de camada de aplicativo (veja a Figura 2.15).

Figura 2.15 TCP/IP e modelo OSI

Aplicativo Aplicativos

Apresentao SMTP FTP HTTP DNS SNMP TELNET

Sesso

Transporte SCTP TCP UDP

ICMP IGMP

Rede IP

RARP ARP

Enlace de dados
Protocolos definidos
pelas redes subjacentes
Fsica

O protocolo TCP/IP constitudo por mdulos interativos, cada um fornecendo


uma funcionalidade especfica; porm, no so necessariamente interdependentes.
Enquanto o modelo OSI especifica quais funes pertencem a cada uma de suas cama-
das, as camadas do conjunto de protocolos TCP/IP contm protocolos relativamente
independentes que podem ser misturados e combinados de acordo com as necessida-
des do sistema. O termo hierrquico significa que cada protocolo de nvel superior
suportado por um ou mais protocolos de nvel mais baixo.
Na camada de transporte, o TCP/IP define trs protocolos: TCP (Transmission
Control Protocol), UDP (User Datagram Protocol) e SCTP (Stream Control Trans-
SEO 2.3 CONJUNTO DE PROTOCOLOS TCP/IP 31

mission Protocol). Na camada de rede, o protocolo principal definido pelo TCP/IP


o IP (Internetworking Protocol), embora existam outros protocolos que suportam
movimentao de dados nessa camada.

Camadas fsica e de enlace de dados


Nas camadas fsica e de enlace de dados, o TCP/IP no define nenhum protocolo es-
pecfico. Ele suporta todos os protocolos-padro e patenteados. Na interconexo em
rede TCP/IP, uma rede pode ser local (LAN) ou remota (WAN).

Camada de rede
Na camada de rede (ou, mais precisamente, a camada de interconexo em rede), o
TCP/IP suporta o IP (Internetworking Protocol). Por sua vez, o IP usa quatro proto-
colos de apoio: ARP, RARP, ICMP e IGMP. Cada um desses protocolos ser descrito
com mais detalhes em captulos posteriores.

IP (Internetworking Protocol)
O IP (Internetworking Protocol) o mecanismo de transmisso usado pelos pro-
tocolos TCP/IP. Ele um protocolo no-confivel e sem conexo um servio de
envio pelo melhor esforo. O termo melhor esforo significa que o IP no verifica
ou controla erros. O IP presume a no-confiabilidade das camadas subjacentes e tenta
fazer com que a transmisso chegue ao seu destino, mas sem garantias.
O IP transporta dados em pacotes chamados datagramas, cada um transportado sepa-
radamente. Os datagramas podem viajar por diferentes rotas e chegar fora da seqncia
ou ser duplicados. O IP no monitora as rotas e no tem nenhum recurso para reordenar
datagramas, uma vez que cheguem aos seus destinos.
Contudo, a funcionalidade limitada do IP no deve ser considerada uma fraqueza.
O IP fornece funes de transmisso mnimas que liberam o usurio para adicionar
apenas os recursos necessrios para determinado aplicativo e, assim, possibilita a m-
xima eficincia. O IP ser discutido no Captulo 8.

ARP (Address Resolution Protocol)


O ARP (Address Resolution Protocol) usado para associar um endereo IP ao en-
dereo fsico. Em uma rede fsica tpica, como uma LAN, cada dispositivo em um link
identificado por um endereo fsico ou por estao, normalmente impresso na placa
de interface de rede (NIC). O ARP usado para encontrar o endereo fsico do n,
quando seu endereo de Internet conhecido. O ARP ser discutido no Captulo 7.

RARP (Reverse Address Resolution Protocol)


O RARP (Reverse Address Resolution Protocol) permite que um host descubra
seu endereo de Internet, mesmo que ele s conhea seu endereo fsico. Ele usado
quando um computador conectado na rede pela primeira vez ou quando um compu-
tador sem disco inicializado. Discutiremos o RARP no Captulo 7.
32 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

ICMP (Internet Control Message Protocol)


O ICMP (Internet Control Message Protocol) um mecanismo usado por hosts e
gateways para enviar notificao de problemas de datagrama ao remetente. O ICMP
envia mensagens de consulta e relatrio de erros. Discutiremos o ICMP completa-
mente no Captulo 9.

IGMP (Internet Group Message Protocol)


O IGMP (Internet Group Message Protocol) usado para facilitar a transmisso
simultnea de uma mensagem para um grupo de destinatrios. Discutiremos sobre o
IGMP no Captulo 10.

Camada de transporte
Tradicionalmente, a camada de transporte era representada no TCP/IP por dois proto-
colos: TCP e UDP. O IP um protocolo de host para host, o que significa que pode
enviar um pacote de um dispositivo fsico ao outro. O UDP e o TCP so protocolos
em nvel de transporte, responsveis pelo envio de uma mensagem de um processo
(programa em execuo) para outro. Um novo protocolo de camada de transporte, o
SCTP, foi projetado para atender s necessidades de alguns aplicativos novos.

UDP (User Datagram Protocol)


O UDP (User Datagram Protocol) o mais simples dos dois protocolos de transpor-
te do TCP/IP. Trata-se de um protocolo de processo a processo que adiciona apenas
endereos de porta, controle de erros de soma de verificao e informaes de compri-
mento nos dados da camada superior. O UDP ser discutido no Captulo 11.

TCP (Transmission Control Protocol)


O TCP (Transmission Control Protocol) fornece servios de camada de transporte
completos para os aplicativos. O TCP um protocolo de transporte de fluxo confivel.
Neste contexto, o termo fluxo significa orientado a conexes: deve ser estabelecida
uma conexo entre as duas extremidades de uma transmisso, antes que uma das duas
possa transmitir dados.
Na extremidade remetente de cada transmisso, o TCP divide um fluxo de dados
em unidades menores, chamadas de segmentos. Cada segmento inclui uma seqn-
cia numrica, para reordenao depois de recebidos, junto a um nmero de reconhe-
cimento para os segmentos recebidos. Os segmentos so transportados na Internet
dentro de datagramas IP. Na extremidade receptora, o TCP rene cada datagrama
medida que chega e reordena a transmisso com base na seqncia numrica. O TCP
ser discutido no Captulo 12.

SCTP (Stream Control Transmission Protocol)


O novo SCTP (Stream Control Transmission Protocol) fornece suporte para novos
aplicativos, como telefonia de IP. Trata-se de um protocolo de camada de trans-
porte que combina os bons recursos do UDP e do TCP. Discutiremos o SCTP no
Captulo 13.

Camada de aplicativo
A camada de aplicativo no TCP/IP equivalente s camadas de sesso, apresentao
e de aplicativo, combinadas do modelo OSI. Muitos protocolos so definidos nessa
camada. Abordaremos a maioria dos protocolos-padro em captulos posteriores.
SEO 2.4 ENDEREAMENTO 33

2.4 Endereamento
Trs nveis de endereos diferentes so usados em uma Internet que utiliza os proto-
colos TCP/IP: endereo fsico (link), endereo lgico (IP) e endereo de porta (veja
a Figura 2.16).

Figura 2.16 Endereos no TCP/IP

Endereos

Endereo Endereo Endereo


fsico lgico de porta

Cada endereo pertence a uma camada especfica da arquitetura TCP/IP, como


mostra a Figura 2.17.

Figura 2.17 Relao das camadas e endereos no TCP/IP

Camada de
Processos
aplicativo

Camada de Endereo
SCTP TCP UDP
transporte de porta

Camada de IP e Endereo
rede outros protocolos lgico

Camada de
enlace de dados
Redes
fsicas Endereo
subjacentes fsico

Camada
fsica
34 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

Endereo fsico
O endereo fsico, tambm conhecido como endereo de link, composto por um n,
conforme definido por sua rede, local ou remota. Ele includo no frame usado pela
camada de enlace de dados. Ele o endereo com nvel mais baixo.
Os endereos fsicos tm autoridade sobre a rede (local ou remota). O tamanho e o
formato desses endereos variam de acordo com a rede. Por exemplo, a Ethernet usa
um endereo fsico de 6 bytes (48 bits) que vem impresso na placa de interface de rede
(NIC). Contudo, a LocalTalk (Apple) tem um endereo dinmico de1 byte que muda
sempre que a estao entra em uso.

Endereos fsicos unicast, multicast e broadcast


Os endereos fsicos podem ser unicast (nico destinatrio), de multicast (um grupo
de destinatrios) ou de broadcast (recebidos por todos os sistemas da rede). Algumas
redes suportam todos os trs endereos. Por exemplo, a Ethernet (consulte o Captulo 3)
suporta os endereos fsicos unicast (6 bytes), os multicast e os broadcast. Algumas re-
des no suportam os endereos fsicos multicast nem broadcast. Se um frame precisa ser
enviado para um grupo de destinatrios ou para todos os sistemas, o endereo multicast
ou broadcast deve ser simulado com endereos unicast. Isso significa que vrios pacotes
so enviados usando endereos unicast.

Exemplo 1
Na Figura 2.18, um n com endereo fsico 10 envia um quadro para um n com en-
dereo fsico 87. Os dois ns esto conectados por um link. Na camada de enlace de
dados, esse frame contm endereos fsicos (link) no cabealho. Esses so os nicos
endereos necessrios. O restante do cabealho contm outras informaes necess-
rias desse nvel. O trailer normalmente contm bits extras necessrios para detectar
erros.

Figura 2.18 Endereos fsicos

10 28 53 65 87

T2 Dados 10 87

Trailer Endereo Endereo


de origem de destino

Exemplo 2
Conforme veremos no Captulo 3, a maioria das redes locais usa um endereo fsico
de 48 bits (6 bytes), escrito como dgitos hexadecimais, separados por dois-pontos a
cada 2 bytes, conforme o modelo a seguir:

07:01:02:01:2C:4B
Um endereo fsico de 6 bytes (12 dgitos hexadecimais)
SEO 2.4 ENDEREAMENTO 35

Endereo lgico
Os endereos lgicos so necessrios para servios de comunicao universais que de-
pendem das redes fsicas subjacentes. Os endereos fsicos no so adequados em um
ambiente de interconexo em rede, em que diferentes redes podem ter diferentes forma-
tos de endereo. necessrio um sistema de endereamento universal no qual cada host
possa ser identificado exclusivamente, independentemente da rede fsica subjacente.
Os endereos lgicos so projetados com esse propsito. Atualmente, um endereo lgi-
co na Internet tem 32 bits e pode definir exclusivamente um host conectado nela. Dois hosts
endereados publicamente e visveis no podem ter o mesmo endereo IP na Internet.

Endereos unicast, multicast e broadcast


Os endereos lgicos podem ser unicast (nico destinatrio), multicast (um grupo de
destinatrios) ou broadcast (todos os sistemas da rede). Existem limitaes para os
endereos broadcast. Discutiremos os trs tipos de endereos no Captulo 4.

Exemplo 3
Na Figura 2.19, queremos enviar dados de um n com endereo de rede A e endereo
fsico 10, localizado em uma rede local, para um n com endereo de rede P e endereo f-
sico 95, localizado em outra rede local. Como os dois dispositivos esto localizados em

Figura 2.19 Endereos IP

10 A 87 E Barramento

T2 Dados
Data A P 10 20
20 F
Roteador
T 99
T2 Dados
Data A P 99 33

H
Anel
71

N 33
Roteador
66 Z

95 66 P A Dados T2
Barramento
P 95 M 77
36 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

redes diferentes, no podemos usar apenas endereos de link; os endereos de link tm


apenas jurisdio local. Nesse caso, precisamos de endereos universais que possam ul-
trapassar os limites da rede local. Os endereos de rede (lgicos) tm essa caracterstica.
O pacote na camada de rede contm os endereos lgicos, que permanecem os mesmos
da origem at o destino (A e P, respectivamente, conforme a figura). Eles no mudaro
quando formos de rede em rede. Entretanto, os endereos fsicos mudaro medida que
o pacote passar de uma rede para outra. As caixas rotuladas como roteadores so dispo-
sitivos de interconexo em rede que discutiremos no Captulo 3.

Exemplo 4
Conforme veremos no Captulo 4, um endereo de Internet (no IPv4) tem 32 bits de
comprimento, normalmente escrito com quatro nmeros decimais, cada nmero re-
presentando 1 byte. Os nmeros so separados por pontos. A seguir est um exemplo
de tal endereo.

132.24.75.9
Um endereo de internet no IPv4 em nmeros decimais

Endereo de porta
O endereo IP e o endereo fsico so necessrios para que uma quantidade de dados
viaje de sua origem ao host de destino. Contudo, a chegada no host no o objetivo da
comunicao de dados na Internet. Um sistema que s envia dados de um computador
para outro no est completo. Atualmente, os computadores so dispositivos que podem
executar vrios processos simultaneamente. O objetivo da comunicao na Internet
que um processo se comunique com outro. Por exemplo, o computador A pode se co-
municar com o computador C usando TELNET. Ao mesmo tempo, o computador A
se comunica com o computador B usando FTP (File Transfer Protocol protocolo de
transferncia de arquivos). Para que esses processos ocorram simultaneamente, precisa-
mos de um mtodo para rotular diferentes processos. Em outras palavras, eles precisam
de endereos. Na arquitetura TCP/IP, o rtulo atribudo a um processo chamado de
endereo de porta. No TCP/IP, um endereo de porta tem 16 bits de comprimento.

Exemplo 5
A Figura 2.20 mostra um exemplo de comunicao de camada de transporte. Os
dados provenientes das camadas superiores tm endereos de porta j e k (j o endereo
do processo remetente e k o endereo do processo receptor). Como o tamanho dos
dados maior do que o que a camada de rede pode manipular, os dados so divididos
em dois pacotes, cada um mantendo os endereos de ponto de servio (j e k). Ento,
na camada de rede, os endereos de rede (A e P) so adicionados em cada pacote. Os
pacotes podem percorrer caminhos diferentes e chegar ao destino em ordem ou no. Os
dois pacotes so enviados para a camada de transporte de destino, que responsvel
por remover os cabealhos da camada de rede e combinar as duas partes dos dados para
envi-los s camadas superiores.

Exemplo 6
Conforme veremos nos captulos 11, 12 e 13, um endereo de porta contm 16 bits,
representado por um nmero decimal, como mostrado a seguir.
SEO 2.5 VERSES DE IP 37

753
Um endereo de porta de 16 bits representado por um nico nmero

Figura 2.20 Endereos de porta

A P

Camada Camada
Dados Dados
de aplicativo de aplicativo

Dados-2 j k Camada Camada Dados-1 j k


Dados-1 j k de transporte de transporte Dados-2 j k

Dados-2 j k A P Camada Camada Dados-1 j k A P


Dados-1 j k A P de rede de rede Dados-2 j k A P
Camada de Camada de
T2 Dados-2 j k A P H2 enlace de dados enlace de dados T2 Dados-1 j k A P H2
T2 Dados-1 j k A P H2 T2 Dados-2 j k A P H2

Internet

2.5 Verses de IP
O IP tornou-se o protocolo oficial da Internet (ento conhecida como ARPANET;
consulte o Captulo 1) em 1983. medida que a Internet evoluiu, o IP tambm se
desenvolveu. Existiram seis verses, desde sua apario. Veremos aqui as trs verses
mais recentes.

Verso 4
A maioria das redes na Internet est usando a verso 4, atualmente. Contudo, essa ver-
so tem falhas significativas. O principal problema que o endereo de Internet tem
apenas 32 bits de comprimento, com o espao de endereos dividido em diferentes
classes. Com o rpido crescimento da Internet, esse esquema de endereamento no
consegue manipular o nmero projetado de usurios.

Verso 5
A verso 5 foi uma proposta com base no modelo OSI. Essa verso nunca foi alm do
estgio de proposta, devido s amplas mudanas de camada e s despesas projetadas.
38 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

Verso 6
A IETF projetou uma nova verso, chamada de verso 6. Nessa verso, os nicos pro-
tocolos que mudaram foram aqueles da camada de rede. IPv4 (IP verso 4) tornou-se
IPv6 (IP verso 6), ICMPv4 tornou-se ICMPv6, IGMP e ARP foram mesclados no
ICMPv6 e o RARP foi excludo.
O IPv6, tambm conhecido como IPng (IP next generation prxima gerao),
usa endereos de 128 bits (16 bytes), em contrapartida aos endereos de 32 bits (4
bytes), usados atualmente na verso 4. Assim, o IPv6 pode acomodar um nmero
maior de usurios. Na verso 6, o formato de pacote foi simplificado, porm, ao mes-
mo tempo, mais flexvel para permitir a futura adio de recursos.
A nova verso suporta autenticao, integridade de dados e confidencialidade na
camada de rede. Ela projetada para manipular a transmisso de dados como udio
e vdeo, em tempo real, e para poder transportar dados de outros protocolos. O IPng
tambm pode manipular congestionamento e descobrir uma rota melhor do que a da
verso atual.
Este livro baseado principalmente na verso 4, com o Captulo 27 concentrando-
se na verso 6.

2.6 Termos-CHAVE
ARP (Address Resolution Protocol) controle de erros
bits criptografia
camada de aplicativo endereamento de ponto de servio
camada de apresentao endereamento lgico
camada de enlace de dados endereo de porta
camada de rede endereo fsico
camada de transporte endereo fsico broadcast
camada de sesso endereo fsico em unicast
camada fsica endereo fsico multicast
codificao endereo lgico
configurao de linha envio da origem ao destino
configurao ponto a ponto envio de melhor esforo
configurao de vrios pontos envio de processo a processo
controle de acesso frames
compactao ICMP (Internet Control Message
Protocol)
conjunto de protocolos TCP/IP
IGMP (Internet Group Message
controle de conexo
Protocol)
controle de dilogo
interface
controle de fluxo
interligaes de redes
SEO 2.7 RESUMO 39

IP (Internetworking Protocol) roteamento


IPv4 SCTP (Stream Control Transmission
Protocol)
IPv6
segmentao
ISO (International Standards
Organization) servios de correio
modelo OSI (Open Systems servios de diretrio
Interconnection)
sistema aberto
modo de transmisso
TCP (Transmission Control Protocol)
modo full-duplex
topologia de barramento
modo half-duplex
topologia fsica
modo simplex
topologia em anel
topologia em malha
topologia em estrela
terminal virtual de rede
traduo
pontos de sincronizao
transferncia, acesso e gerenciamento de
processos no-hierrquicos arquivo (FTAM)
protocolo de host para host UDP (User Datagram Protocol)
protocolo em nvel de transporte velocidade de transmisso
RARP (Reverse Address Resolution
Protocol)

2.7 Resumo
A ISO (International Standards Organization) criou um modelo chamado de OSI
(Open Systems Interconnection), que permite a comunicao de sistemas diferentes.
O modelo OSI de sete camadas fornece diretrizes para o desenvolvimento de pro-
tocolos de interconexo em rede universalmente compatveis.
As camadas fsica, de enlace de dados e de rede so as camadas de suporte de rede.
As camadas de sesso, apresentao e de aplicativo so as camadas de suporte de
usurio.
A camada de transporte vincula as camadas de suporte de rede s camadas de
suporte de usurio.
A camada fsica coordena as funes exigidas para transmitir um fluxo de bits por
um meio fsico.
A camada de enlace de dados responsvel por enviar unidades de dados de uma
estao para a prxima, sem erros.
A camada de rede responsvel pelo envio de um pacote da origem ao destino, por
meio de vrios links de rede.
A camada de transporte responsvel pelo envio de processo a processo da men-
sagem inteira.
40 CAPTULO 2 O modelo OSI e o conjunto de protocolos TCP/IP

A camada de sesso estabelece, mantm e sincroniza as interaes entre os dispo-


sitivos que esto se comunicando.
A camada de apresentao garante a operao conjunta entre os dispositivos que
esto se comunicando, por meio da transformao dos dados para um formato
mutuamente acordado.
A camada de aplicativo permite que os usurios acessem a rede.
O TCP/IP um conjunto de protocolos hierrquicos de cinco camadas, desenvol-
vido antes do modelo OSI.
A camada de aplicativo do TCP/IP equivalente s camadas de sesso, apresenta-
o e de aplicativo combinadas do modelo OSI.
Trs tipos de endereos so usados pelos sistemas que utilizam o protocolo TCP/
IP: o endereo fsico, o endereo de interconexo em rede (endereo IP) e o ende-
reo de porta.
O endereo fsico, tambm conhecido como endereo de link, o endereo de um
n, conforme definido por sua rede local ou remota.
O endereo IP identifica exclusivamente um host na Internet.
O endereo de porta identifica um processo em um host.
A maioria das redes usa IPv4.
O IPv6 dever substituir o IPv4 no futuro prximo.

2.8 Conjunto de prtica


Exerccios
1. Como OSI e ISO se relacionam entre si?
2. Corresponda os itens abaixo a uma ou mais camadas do modelo OSI:
a. determinao da rota
b. controle de fluxo
c. interface para meio de transmisso
d. fornece acesso para o usurio final
3. Corresponda os itens abaixo a uma ou mais camadas do modelo OSI:
a. envio confivel de mensagem de processo a processo
b. seleo de rota
c. define frames
d. fornece servios de usurio, como e-mail e transferncia de arquivo
e. transmisso de fluxo de bits pelo meio fsico
4. Corresponda os itens abaixo a uma ou mais camadas do modelo OSI:
a. comunica-se diretamente com o programa aplicativo do usurio
b. correo de erros e retransmisso
c. interface mecnica, eltrica e funcional
d. responsabilidade por transportar quadros entre ns adjacentes
5. Corresponda os itens abaixo a uma ou mais camadas do modelo OSI:
a. servios de converso de formato e cdigo
b. estabelece, gerencia e termina sesses
SEO 2.8 CONJUNTO DE PRTICA 41

c. garante transmisso confivel de dados


d. procedimentos de login e logout
e. fornece independncia das diferenas na representao de dados

Atividades de pesquisa
6. Domain Name System ou DNS (consulte o Captulo 17) um programa aplica-
tivo do conjunto de protocolos TCP/IP. Pesquise e encontre o equivalente a esse
protocolo (se houver) no modelo OSI. Compare e contraste os dois.
7. File Transfer Protocol ou FTP (consulte o Captulo 19) um programa aplicativo
do conjunto de protocolos TCP/IP. Pesquise e encontre o equivalente a esse pro-
tocolo (se houver) no modelo OSI. Compare e contraste os dois.
8. Trivial File Transfer Protocol ou TFTP (consulte o Captulo 19) um programa
aplicativo do conjunto de protocolos TCP/IP. Pesquise e encontre o equivalente a
esse protocolo (se houver) no modelo OSI. Compare e contraste os dois.
9. Existem vrios modelos de camada de transporte propostos no modelo OSI. Pes-
quise e encontre todos. Explique as diferenas entre eles.
10. Existem vrios modelos de camada de rede propostos no modelo OSI. Pesquise e
encontre todos. Explique as diferenas entre eles.
SEO 3.1 REDES LOCAIS (LANS) 43

Captulo 3

Tecnologias subjacentes
Podemos considerar a Internet como uma srie de eixos centrais em rede conduzi-
dos por ISPs internacionais, nacionais e regionais. Os eixos centrais so unidos por
dispositivos de conexo como roteadores ou estaes de comutao. Os usurios fi-
nais fazem parte da rede local do ISP ou so conectados nela por meio de redes pon-
to a ponto. Conceitualmente, a Internet um conjunto de redes remotas (eixos cen-
trais) comutadas, redes locais, redes remotas ponto a ponto e dispositivos de conexo
ou comutao, como mostra a Figura 3.1.

Figura 3.1 Internet

Rede remota
ponto a ponto

Rede
local
Rede remota
ponto a ponto

Rede remota Rede remota


comutada comutada

Embora o conjunto de protocolos TCP/IP normalmente seja mostrado como uma


pilha de cinco camadas, ele define apenas as trs camadas superiores; o TCP/IP est
relacionado apenas s camadas de rede, transporte e aplicativo. Isso significa que o
TCP/IP presume a existncia dessas redes remotas, locais e dos dispositivos de cone-
xo que as ligam.
Ns fazemos o mesmo. Presumimos que o leitor j esteja familiarizado com a
tecnologia subjacente da comunicao de dados, telecomunicaes, redes locais, re-
des remotas e dispositivos de conexo.
43
44 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Contudo, como uma breve reviso, neste captulo mencionaremos essas tecno-
logias subjacentes. Note que no abordaremos nenhum desses assuntos em detalhes.
Para ver uma abordagem mais aprofundada, consulte o livro Data Communications
and Networking, de Behrouz A. Forouzan, 3 ed., McGraw-Hill, 2004.

3.1 Redes locais (LANs)


Uma rede local (LAN) um sistema de comunicao de dados que permite a ligao
direta entre vrios dispositivos independentes em uma rea geogrfica limitada, como
um departamento, um edifcio ou um campus. Uma empresa grande talvez precise de
vrias redes locais conectadas.
As redes locais mais populares so a Ethernet e as redes locais sem fio. Examinare-
mos brevemente essas tecnologias nesta seo. Para mais discusses sobre as redes locais,
consulte o livro Local Area Networks, de Behrouz A. Forouzan, McGraw-Hill, 2003.

Redes locais com fio: Ethernet


Ethernet o protocolo de rede local mais usado. O protocolo foi projetado pela Xerox, em
1973, com uma velocidade de dados de 10 Mbps e topologia de barramento. Atualmente,
ela tem uma velocidade de dados de 100 Mbps e 1.000 Mbps (1 gigabit por segundo). A
Ethernet formalmente definida pelo padro IEEE 802.3 (consulte o Apndice E).

Ethernet tradicional (10 Mbps)


A Ethernet original, normalmente chamada de Ethernet tradicional, tem uma veloci-
dade de dados de 10 Mbps. Discutiremos primeiro essa verso de Ethernet.

Mtodo de acesso: CSMA/CD O padro IEEE 802.3 define o CSMA/CD (Car-


rier Sense Multiple Access With Collision Detection) como o mtodo de acesso
Ethernet tradicional. Em uma Ethernet tradicional, as estaes podem ser interligadas
por uma topologia de barramento fsico ou uma topologia em estrela, mas a topologia
lgica sempre um barramento. Com isso, queremos dizer que o meio (canal) com-
partilhado entre as estaes, e apenas uma estao por vez pode us-lo. Isso tambm
implica que todas as estaes recebem um quadro enviado por uma estao (broad-
cast). O destino real mantm o quadro, enquanto o restante o elimina. Nessa situao,
como podemos garantir que duas estaes no utilizem o meio ao mesmo tempo? Se
usarem, seus quadros colidiro. O CSMA/CD foi projetado para resolver o problema,
de acordo com os seguintes princpios:
1. Toda estao tem direito igual ao meio (acesso mltiplo).
2. Toda estao com um quadro a enviar primeiramente escuta (sente) o meio. Se no
houver dados no meio, a estao poder comear o envio (sente a portadora).
3. Pode acontecer de duas estaes ao mesmo tempo sentirem o meio, encontr-lo
vazio e comearem a enviar. Nesse caso, ocorrer uma coliso. O protocolo obri-
ga a estao a continuar ouvindo a linha, mesmo aps o incio do envio. Se houver
uma coliso, todas as estaes a sentiro; cada estao que estiver enviando emite
um sinal de congestionamento para destruir os dados na linha e, aps cada uma
esperar por um perodo de tempo aleatrio e diferente, tenta novamente. Os tem-
pos aleatrios impedem o reenvio simultneo de dados novamente. A Figura 3.2
mostra o CSMA/CD.
SEO 3.1 REDES LOCAIS (LANS) 45

Figura 3.2 CSMA/CD

A B Z

t1
Frame de A Coliso
Frame de Z t2
t3
Sinal de coliso t4
Sinal de coliso
t5
Tempo Tempo

Trs fatores esto relacionados no padro CSMA/CD: o comprimento de frame


mnimo, a velocidade de transmisso de dados e o domnio da coliso. O tempo que
a estao precisa esperar para certificar-se de que no existem dados na linha o
comprimento de frame mnimo dividido pela velocidade de transmisso (o tempo exi-
gido para enviar o comprimento de frame mnimo). Esse tempo proporcional quele
necessrio para que o primeiro bit percorra a distncia mxima da rede (domnio da
coliso). Em outras palavras, temos

Comprimento de frame mnimo / Velocidade de transmisso


proporcional ao
Domnio da coliso / Velocidade de propagao

Para a Ethernet tradicional, a extenso de frame mnima de 520 bits, a ve-


locidade de transmisso de 10 Mbps e a de propagao de quase dois teros da
velocidade da luz, alm do domnio da coliso que de quase 2.500 metros.

Camadas A Figura 3.3 mostra as camadas da Ethernet de 10 Mbps. A camada de


enlace de dados tem duas subcamadas: a subcamada de controle de link lgico (LLC)

Figura 3.3 Camadas da Ethernet

Modelo OSI Ethernet

Controle de link
Camada de lgico (LLC)
enlace de dados Controle de acesso
ao meio (MAC)

Camada fsica Camada fsica

Meio de transmisso
46 CAPTULO 3 TECNOLOGIAS SUBJACENTES

e a de controle de acesso ao meio (MAC). A camada LLC responsvel pelo controle


de fluxo e de erros na camada de enlace de dados. A subcamada MAC responsvel
pela operao do mtodo de acesso ao CSMA/CD. A subcamada MAC tambm co-
loca em frames os dados recebidos da camada LLC e os passa camada fsica, para
codificao. A camada fsica transforma os dados em sinais eltricos e os envia para a
prxima estao pelo meio de transmisso. Essa camada inferior tambm detecta e
relata colises para a camada de enlace de dados.

Frame O padro IEEE 802.3 especifica um tipo de frame que contm sete campos:
prembulo, SFD, DA, AS, extenso/tipo, frame 802.2 e o CRC. A Ethernet no fornece
nenhum mecanismo para reconhecimento dos frames recebidos, ou seja, tornando-se
no que conhecido como meio no-confivel. Os reconhecimentos devem ser imple-
mentados nas camadas mais altas. O formato do frame CSMA/CD est exemplificado
na Figura 3.4.

Figura 3.4 Frame de Ethernet

Prembulo 56 bits de 1s e 0s alternados


SFD Delimitador de incio do frame, flag (10101011)
Endereo Endereo PDU de
Prembulo SFD Dados e preenchimento CRC
de destino de origem comprimento
7 bytes 1 byte 6 bytes 6 bytes 2 bytes 4 bytes

Prembulo. O prembulo do frame 802.3 contm sete bytes (56 bits) de 0s e 1s


alternados, que alertam o sistema receptor sobre a chegada do frame e permitem
sincronizar sua temporizao de entrada. Na verdade, o prembulo adicionado
camada fsica e (formalmente) no faz parte do frame.
Delimitador de incio do frame (SFD). O campo SFD (um byte: 10101011) do
frame 802.3 sinaliza o incio do frame. O SFD d estao a ltima chance de
sincronismo. Os dois ltimos bits so 11 para sinalizar que o prximo campo o
endereo de destino.
Endereo de destino (DA). O campo DA tem seis bytes e contm o endereo
fsico da prxima estao.
Endereo de origem (SA). O campo SA tambm tem seis bytes e contm o ende-
reo fsico da estao anterior.
Comprimento/tipo. O campo comprimento/tipo tem dois significados. Se o va-
lor do campo menor do que 1.518, trata-se de um campo de comprimento e ele
define a extenso do campo de dados que vem a seguir. Se o valor desse campo
maior do que 1.536, ele define o protocolo da camada superior que usa os servios
da Internet.
Dados. O campo de dados transporta as informaes encapsuladas dos protocolos
da camada superior. Ele tem no mnimo 46 bytes e no mximo 1.500 bytes.
CRC. O ltimo campo no frame 802.3 contm as informaes de deteco de
erros, neste caso, um CRC-32 (consulte o Apndice D).
Endereamento Cada estao PC, estao de trabalho ou impressora em uma rede
Ethernet tem sua prpria placa de interface de rede (NIC). A NIC encaixada dentro
da estao e fornece a ela um endereo fsico de seis bytes. O endereo Ethernet de
SEO 3.1 REDES LOCAIS (LANS) 47

6 bytes (48 bits) que, normalmente, so escritos em notao hexadecimal, com dois-
pontos para separar os bytes, como mostrado a seguir:

07:01:02:01:2C:4B

Na Ethernet, os endereos so enviados byte a byte, da esquerda para a direita; entre-


tanto, para cada byte, o bit menos significativo enviado primeiro e o mais significa-
tivo, por ltimo.
Existem trs tipos de endereos na Ethernet: unicast, multicast e broadcast. Em
um endereo unicast, o bit menos significativo do primeiro byte 0; no endereo
multicast, o bit menos significativo 1. Um endereo broadcast composto por qua-
renta e oito 1s. Um endereo de origem sempre unicast. O endereo de destino pode
ser unicast (apenas um destinatrio), multicast (um grupo de destinatrios) ou broadcast
(todas as estaes conectadas rede local).

Implementaes O padro IEEE define quatro implementaes para a Ethernet tra-


dicional. Uma representao simples dessas quatro implementaes aparece na Figura
3.5. O transceptor, que pode ser externo ou interno, responsvel pelos sinais de co-
dificao, deteco de coliso e transmisso/recepo.

Figura 3.5 Implementaes de Ethernet

Cabo do transceptor
NIC No mximo 50 metros
Conector de
Conector de 15 pinos NIC com transceptor
Conector e Conector e
15 pinos
terminal BNC Transceptor terminal BNC

Cabo coaxial grosso Cabo coaxial fino


Tap

T-BNC
No mximo 500 metros No mximo 185 metros
a. 10BASE5 b. 10BASE2

10BASE-T 10BASE-FL Hub repetidor


Hub repetidor
...

Cabos de fibra tica

Cabo UTP
Transceptor
externo

Conector de
15 pinos
c. 10BASE-T Cabo
transceptor de
15 fios
Conector de
15 pinos
d. 10BASE-FL
48 CAPTULO 3 TECNOLOGIAS SUBJACENTES

A 10BASE5 (Ethernet grossa) usa topologia de barramento com um cabo coaxial


grosso como meio de transmisso.
A 10BASE2 (Ethernet fina ou Cheapernet) usa topologia de barramento com um
cabo coaxial fino como meio de transmisso.
A 10BASE-T (Ethernet de par tranado) usa topologia fsica em estrela (a topo-
logia lgica ainda um barramento) com as estaes conectadas ao hub por dois
pares de cabos de par tranado.
A 10BASE-FL (Ethernet de link de fibra) usa topologia em estrela (a topologia
lgica ainda um barramento) com as estaes conectadas ao hub por um par de
cabos de fibra tica.

Ethernet rpida
A necessidade de uma velocidade de dados mais alta resultou no protocolo Ethernet
rpida (100 Mbps). Na camada MAC, a Ethernet rpida usa os mesmos princpios
da Ethernet tradicional (CSMA/CD), exceto a velocidade de transmisso, aumentada
de 10 Mbps para 100 Mbps. Quando a velocidade dos dados aumentada, neces-
srio menos tempo para que um frame saia da estao remetente. Isso significa que
a estao remetente tem menos tempo para captar a coliso. Com uma velocidade de
propagao fixa, significa um domnio de coliso mais curto.
Para que o CSMA/CD funcione, temos duas escolhas: aumentar a extenso de
frame mnima ou diminuir o domnio de coliso (a velocidade da luz no pode ser
alterada). Aumentar o comprimento mnimo do frame envolve uma sobrecarga adicio-
nal. Se os dados a serem enviados no forem longos o suficiente, devemos adicionar
bytes extras, o que significa mais sobrecarga e perda de eficincia. A Ethernet rpida
escolheu a outra opo: o domnio de coliso foi diminudo por um fator de 10 (de
2.500 metros para 250 metros). Com uma topologia em estrela, 250 metros so aceit-
veis em muitos casos. Na camada fsica, a Ethernet rpida usa mtodos de sinalizao
e meios diferentes para atingir uma velocidade de dados de 100 Mbps.

Implementao da Ethernet rpida A Ethernet rpida pode ser classificada como


uma implementao de dois ou de quatro fios. A implementao de dois fios chama-
da de 100BASE-X, com cabo de par tranado (100BASE-TX) ou com cabo de fibra
tica (100BASE-FX). A implementao de quatro fios projetada apenas para ca-
bos de par tranado (100BASE-T4). Em outras palavras, temos trs implementaes:
100BASE-TX, 100BASE-FX e 100BASE-T4 (veja a Figura 3.6).

Gigabit Ethernet
A necessidade de uma velocidade de dados maior do que 100 Mbps resultou no proto-
colo Gigabit Ethernet (1.000 Mbps). Para atingir essa velocidade de dados, a camada
MAC tem duas opes: manter o CSMA/CD ou elimin-lo. Na primeira opo, as
escolhas so, mais uma vez, diminuir o domnio de coliso ou aumentar o compri-
mento mnimo de frame. Como um domnio de coliso de 25 metros inaceitvel, o
comprimento mnimo do frame aumentado de uma maneira aceitvel.
Na segunda opo, eliminar o CSMA/CD, cada estao conectada ao hub cen-
tral por dois caminhos separados. Isso chamado de Ethernet full-duplex, sem nenhu-
ma coliso e sem necessidade de CSMA/CD.
SEO 3.1 REDES LOCAIS (LANS) 49

Figura 3.6 Implementaes de Ethernet rpida

100BASE-TX Hub repetidor 100Base-FX Hub repetidor

Cabos de
fibra tca
Cabo de par tranado

NIC com
transceptor interno
NIC com
transceptor interno a. 100BASE-TX b. 100BASE-FX

100BASE-T4
Repetidor Hub

Cabo de
Transceptor 40 fios
externo

Conector de Conector de NIC


40 pinos 40 pinos

c. 100BASE-T4

Na camada fsica, foram feitas muitas alteraes para permitir a transmisso de


dados a essa velocidade.

Implementao de Gigabit Ethernet O Gigabit Ethernet pode ser classificado


como uma implementao de dois ou de quatro fios. A implementao de dois fios
comum chamada de 1000BASE-X, com fibras ticas que transmitem sinais a laser
de ondas curtas (1000BASE-SX) e fibras ticas que transmitem sinais a laser de ondas
longas (1000BASE-LX). A verso de quatro fios usa cabos de par tranado (1000BA-
SE-T). Essas implementaes aparecem na Figura 3.7.

Figura 3.7 Implementaes de Gigabit Ethernet


1000BASE-SX/LX

Hub repetidor
1000BASE-T
Hub repetidor

2 pares de cabos de
fibra tica

4 pares de cabos UTP NIC com


NIC com transceptor
interno transceptor interno
a. 1000BASE-SX/LX b. 1000BASE-T
50 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Redes locais sem fio: IEEE 802.11


Nesta seo nos concentraremos em uma tecnologia sem fio para redes locais: as redes
locais sem fio IEEE 802.11, s vezes chamadas de Ethernet sem fio. Estudaremos essa
tecnologia como links sem fio, links que podem nos conectar Internet. O modo como
a conexo feita e como a comunicao de uma extremidade outra realizada sero
assuntos de captulos futuros.
O IEEE definiu a especificao de uma rede local sem fio, chamada de IEEE
802.11, que abrange as camadas fsica e de enlace de dados. Mas, antes de discutirmos
essas camadas, descreveremos a arquitetura do protocolo em geral.

Arquitetura
O padro define dois tipos de servios: o conjunto bsico de servios (BSS) e o con-
junto estendido de servios (ESS). O conjunto bsico de servios (BSS) o bloco de
construo de uma rede local sem fio. Um conjunto bsico de servios constitudo
de estaes sem fio fixas ou mveis e uma possvel estao de base central, conhecida
como ponto de acesso (AP). A Figura 3.8 mostra dois conjuntos nesse padro.

Figura 3.8 BSSs

Estao Estao Estao Estao

AP

Estao Estao Estao Estao


BSS sem AP BSS com AP

O BSS sem AP uma rede independente e no pode enviar dados para outros
BSSs. o que chamamos de arquitetura ad hoc. Nessa arquitetura, as estaes podem
formar uma rede sem a necessidade de um AP; elas podem localizar umas s outras e
concordar em fazer parte de um BSS.
Um conjunto estendido de servios (ESS) constitudo por dois ou mais BSSs
com APs. Nesse caso, os BSSs so conectados por meio de um sistema de distribui-
o, que normalmente uma rede local com fio. O sistema de distribuio conecta
os APs nos BSSs. O padro IEEE 802.11 no restringe o sistema de distribuio; ele
pode ser qualquer rede local IEEE, como uma Ethernet, por exemplo. Note que o
conjunto estendido de servios usa dois tipos de estaes: mveis e fixas. As estaes
mveis so estaes normais dentro de um BSS. As estaes fixas so de AP que fa-
zem parte de uma rede local com fio. A Figura 3.9 mostra um ESS.
Quando BSSs so conectados, temos o que chamado de rede de infra-estrutura.
Nessa rede, as estaes que esto dentro do alcance umas das outras podem se comu-
nicar sem usar um AP. Contudo, a comunicao entre duas estaes em dois BSSs
diferentes normalmente ocorre por meio de dois APs. A idia semelhante comuni-
cao em uma rede celular, se considerarmos cada BSS como uma clula e cada AP
como uma estao de base. Note que uma estao mvel pode pertencer a mais de um
BSS ao mesmo tempo.
SEO 3.1 REDES LOCAIS (LANS) 51

Figura 3.9 ESS

Sistema de distribuio
Servidor
ou gateway

AP AP AP

BSS BSS BSS

Camada fsica
O padro IEEE 802.11 define especificaes para a converso de bits em um sinal
na camada fsica; uma especificao est nas freqncias infravermelhas e no ser
discutida aqui. As outras cinco especificaes esto na faixa das freqncias de rdio,
como mostrado na Figura 3.10.

Figura 3.10 Camada fsica

Camadas superiores

802.11 802.11 802.11a 802.11b 802.11g


FHSS DSSS OFDM HR-DSSS OFDM
Camada fsica

IEEE 802.11 FHSS. Esse padro descreve o mtodo FHSS (Frequency Hopping
Spread Spectrum) de gerao de sinais, em uma banda de 2,40 GHz a 2,48 GHz,
com uma velocidade de dados de 1 Mbps ou 2 Mbps. O FHSS um mtodo no
qual o remetente envia em uma freqncia de portadora por um curto perodo de
tempo; em seguida, pula para outra freqncia de portadora pelo mesmo tempo;
depois, salta para outra, pelo mesmo tempo, e assim por diante. Aps N pulos
(hops), o ciclo repetido (veja a Figura 3.11). Se a largura de banda do sinal origi-
nal B, a largura de banda do espectro de difuso de N x B.
IEEE 802.11 DSSS. Esse padro descreve o mtodo DSSS (Direct Sequence
Spread Spectrum) de gerao de sinais, em uma banda de 2,40 GHz a 2,48 GHz,
com uma velocidade de dados de 1 Mbps ou 2 Mbps. No DSSS, cada bit enviado
pelo remetente substitudo por uma seqncia de bits chamada de cdigo de chip.
Contudo, para evitar o uso de buffer, o tempo necessrio para enviar um cdigo de
chip deve ser igual ao tempo para enviar um bit original. Se N o nmero de bits
em cada cdigo de chip, ento a velocidade dos dados para enviar cdigos de chip
N vezes a velocidade de dados do fluxo de bits original. A Figura 3.12 mostra um
exemplo de DSSS.
52 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Figura 3.11 FHSS

Amplitude

Ordem de transmisso: 1, 2, 3, 4, 5

4 1 5 2 3

Freqncia

Figura 3.12 DSSS

Cdigo do chip para 0: 110011 Cdigo do chip para 1: 000111

0 0 1 1 0

110011 110011 000111 000111 110011

IEEE 802.11a OFDM. Esse padro descreve o mtodo OFDM (Orthogonal Fre-
quency-Division Multiplexing) para velocidades de dados entre 18 Mbps e 54
Mbps. Para obter mais informaes sobre OFDM, consulte o livro Data Commu-
nications and Networking, de Behrouz A. Forouzan, 3 ed., McGraw-Hill, 2004.
IEEE 802.11b HR-DSSS. Esse padro descreve o mtodo HR-DSSS (High-Rate
DSSS) de gerao de sinais em uma banda de 2,40 GHz a 2,48 GHz, com velo-
cidade de dados de 1 Mbps ou 2, 5,5 Mbps e 11 Mbps. Ele tem compatibilidade
retroativa com o DSSS.
IEEE 802.11g OFDM. Essa especificao relativamente nova usa o OFDM para
gerao de sinais em uma banda de 2,40 GHz a 2,48 GHz, com velocidade de
dados de 54 Mbps. A alta velocidade de dados obtida com uma tcnica de mo-
dulao complexa.

Camada MAC
O padro IEEE 802.11 define duas subcamadas MAC: a DCF (Distributed Coordina-
tion Function) e a PCF (Point Coordination Function), como mostra a Figura 3.13.

Figura 3.13 Camadas MAC no padro IEEE 802.11

Subcamada LLC
MAC PCF
(opcional)

MAC DCF

Camada fsica
SEO 3.1 REDES LOCAIS (LANS) 53

O PCF um mtodo de acesso opcional e completo que pode ser implementado


em uma rede de infra-estrutura (e no em uma rede ad hoc). No discutiremos isso
aqui; para obter mais informaes, consulte o livro Local Area Network, de Behrouz
A. Forouzan, McGraw-Hill, 2003.
O DCF usa um mtodo de acesso chamado de CSMA/CA (Carrier Sense Mul-
tiple Access With Collision Avoidance). Os dois primeiros princpios do CSMA/CD
tambm se aplicam ao CSMA/CA: cada estao tem acesso igual ao meio (acesso ml-
tiplo) e analisa (sente) o meio antes de enviar. Entretanto, a deteco de coliso no se
aplica por vrios motivos, sendo o principal deles o problema do terminal oculto.
Para entender o problema do terminal oculto, imagine que temos trs estaes (1,
2 e 3). A estao 1 envia um frame para a estao 2, ao mesmo tempo em que a estao
3 envia um frame para a estao 2. Pode acontecer de as estaes 1 e 3 no se ouvirem
(talvez por causa de alguma obstruo, como uma montanha ou parede). Nesse caso,
pode ocorrer coliso, e as estaes 1 e 3 sero incapazes de detect-la; elas acham que
seus pacotes chegaram em segurana.
Para evitar essa situao, a coliso deve ser evitada. Cada estao define quan-
to tempo precisa do meio e informa outra para que no envie dados durante esse
perodo. A Figura 3.14 mostra o procedimento.

Figura 3.14 CSMA/CA

A B

RTS
Tempo reservado pela estao A

CTS

Dados

ACK

Tempo Tempo

O procedimento o seguinte:
1. A estao remetente, aps observar que o meio est ocioso, envia um pequeno
frame especial, chamado RTS (Request to Send pedido de envio). Nessa mensa-
gem, a estao remetente define o tempo total de que vai precisar do meio.
2. A receptora reconhece o pedido (broadcast para todas as estaes), en viando um
pequeno pacote chamado CTS (Clear to Send limpo para envio).
3. A remetente envia o frame de dados.
4. A receptora reconhece a chegada dos dados.
Frame O frame da camada MAC consiste em nove campos, como mostra a Figura 3.15.
54 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Figura 3.15 Frame

2 bytes 2 bytes 6 bytes 6 bytes 6 bytes 2 bytes 6 bytes 0 a 2.312 bytes 4 bytes
FC D Endereo 1 Endereo 2 Endereo 3 SC Endereo 4 Corpo do frame FCS

Controle de frame (FC). O campo FC tem 2 bytes de comprimento e define o tipo


de frame e algumas informaes de controle.
D. Em todos os tipos de frame, exceto um, esse campo define a durao da trans-
misso. Em um frame de controle, este campo define o ID do frame.
Endereos. Existem quatro campos para endereos, cada um com 6 bytes de com-
primento. O significado de cada campo de endereo depende do valor dos subcam-
pos Para DS e De DS e ser discutido posteriormente.
Controle de seqncia. Esse campo define o nmero de seqncia do frame usado
no controle de fluxo.
Corpo do frame. Esse campo, que pode ter entre 0 byte e 2.312 bytes, contm
informaes baseadas no tipo e no subtipo definidos no campo FC.
FCS. O campo FCS tem 4 bytes de comprimento e contm uma seqncia de
deteco de erros CRC-32.

Mecanismo de endereamento O mecanismo de endereamento do padro IEEE


802.11 complicado. A complexidade vem do fato de que podem existir estaes
intermedirias (APs). Existem quatro casos, definidos pelo valor dos dois flags no
campo FC, Para DS e De DS. Cada flag pode ser 0 ou 1, definindo, assim, quatro
situaes diferentes. A interpretao dos quatro endereos (do endereo 1 ao endereo
4) no frame MAC depende do valor desses flags, como mostra a Tabela 3.1.

Tabela 3.1 Endereos no padro IEEE 802.11

Para De Endereo 1 Endereo 2 Endereo 3 Endereo 4


DS DS
0 0 Estao de Estao de ID do BSS N/A
destino origem
0 1 Estao de AP Estao de N/A
destino remetente origem
1 0 AP Estao de Estao de N/A
receptor origem destino
1 1 AP AP Estao de Estao de
receptor remetente destino origem

Note que o endereo 1 sempre o endereo do prximo dispositivo. O endereo


2 sempre o endereo do dispositivo anterior. O endereo 3 o endereo da estao
de destino final, caso ele no seja definido pelo endereo 1. O endereo 4 o endereo
da estao de origem, caso no seja igual ao endereo 2.
SEO 3.2 REDES REMOTAS PONTO A PONTO 55

3.2 Redes remotas ponto a ponto


Um segundo tipo de rede que encontramos na Internet a rede remota ponto a
ponto. Ela conecta dois dispositivos remotos usando uma linha disponvel de uma
rede pblica, como a rede telefnica. Discutiremos aqui as camadas fsica e de
enlace de dados.

Camada fsica
Na camada fsica, a conexo ponto a ponto entre dois dispositivos pode ser estabele-
cida com um dos servios disponveis atualmente, como a tecnologia de modem, uma
linha DSL, um modem a cabo, uma linha T ou SONET.

Modems de 56K
Ainda so usados modems tradicionais para fazer upload e download de dados na
Internet, como mostra a Figura 3.16.

Figura 3.16 Modem de 56K

Aqui, a amostragem e o
rudo limitam a comunicao
PCM Rede
telefnica

Servidor
do ISP
Uploading, rudo
Modem de quantizao
01101

PCM Rede
inverso telefnica

Servidor
do ISP
Downloading, nenhum
Modem rudo de quantizao
01101

A
56 CAPTULO 3 TECNOLOGIAS SUBJACENTES

No upload, deve haver uma amostra do sinal analgico na estao de comutao,


o que significa que a velocidade de dados no upload limitada a 33,6 kbps. Entretan-
to, no h nenhuma amostragem no download. O sinal no afetado pelo rudo de
quantizao e no est sujeito limitao de capacidade de Shannon. A velocidade
de dados mxima na direo do upload de 33,6 kbps, mas na direo do download
de 56 kbps.
Pode-se perguntar por que 56 kpbs. As companhias telefnicas colhem amostras
de voz 8.000 vezes por segundo, com 8 bits por amostra. Um dos bits em cada amos-
tra usado para propsitos de controle, o que significa que cada amostra tem 7 bits.
Portanto, a velocidade de 8.000 x 7 ou 56.000 bps; ou seja, 56 kbps.
Os modems-padro V.90 e V.92 operam a 56 kbps para conectar um host Internet.

Tecnologia DSL
Aps os modems tradicionais atingirem seu pico de velocidade de dados, as compa-
nhias telefnicas desenvolveram outra tecnologia, a DSL, para fornecer acesso com
velocidade mais alta Internet. A tecnologia DSL (Digital Subscriber Line) uma das
mais promissoras para suportar comunicao digital de alta velocidade nos loops (linhas
telefnicas) locais existentes. A tecnologia DSL um conjunto de tecnologias, cada uma
diferindo na primeira letra (ADSL, VDSL, HDSL e SDSL). Freqentemente, o conjunto
referido como xDSL, em que x pode ser substitudo por A, V, H ou S.

ADSL A primeira tecnologia do conjunto a ADSL (DSL Assimtrica). A ADSL,


assim como o modem de 56k, fornece velocidade (velocidade de bit) mais alta na
direo do download (da Internet para o computador) do que na direo do upload (do
computador para a Internet). por isso que ela chamada assimtrica. Ao contrrio
da assimetria nos modems de 56 Kbps, os projetistas da ADSL dividiram especifica-
mente a largura de banda disponvel do loop local de forma desigual para o cliente
residencial. O servio no conveniente para clientes empresariais que precisam de
largura de banda grande nas duas direes.

A ADSL uma tecnologia de comunicao assimtrica projetada para usurios


residenciais; ela no conveniente para empresas.

A Figura 3.17 mostra como a largura de banda dividida:


Voz. O canal 0 reservado para comunicao de voz.
Ociosos. Os canais 1 a 5 no so usados para permitir uma lacuna entre a comu-
nicao de voz e dados.
Dados e controle na direo do upload. Os canais 6 a 30 (25 canais) so usados
para transferncia de dados e controle na direo do upload. Um canal serve para
controle e 24 para transferncia de dados. Se existem 24 canais, cada um usando
4 KHz (de 4,312 KHz disponveis), com 15 bits por Hz, temos 24 x 4.000 x 15 ou
uma largura de banda de 1,44 Mbps na direo do upload.
Dados e controle na direo do download. Os canais 31 a 255 (225 canais) so
usados para transferncia de dados e controle na direo do download. Um canal
serve para controle e 224 para dados. Se existem 224 canais, podemos atingir at
224 x 4.000 x 15 ou 13,4 Mbps.
SEO 3.2 REDES REMOTAS PONTO A PONTO 57

Figura 3.17 Diviso da largura de banda

Voz Direo do upload Direo do download

No
utilizado

0 15 630 31255

Por causa dessa relao alto sinal/rudo, a velocidade de bit real muito menor do que
as velocidades mencionadas anteriormente. As velocidades de bit so as seguintes:

Direo do upload: 64 kbps a 1 Mbps


Direo do download: 500 kbps a 8 Mbps

A Figura 3.18 mostra um modem ADSL instalado no cliente. O loop local conec-
ta-se ao filtro, que separa a comunicao de voz e dados. O modem ADSL modula os
dados e cria canais na direo do upload e do download.

Figura 3.18 ADSL e DSLAM

Residncia do cliente

Para a companhia Voz


telefnica Filtro
Loop local

Dados

Modem ADSL

Instalaes da companhia telefnica

Para a rede Voz Das instalaes


Filtro
telefnica Loop local do cliente

Para a Dados
Internet
DSLAM

Na companhia telefnica, a situao diferente. Em vez de um modem ADSL,


instalado um dispositivo chamado de DSLAM (Digital Subscriber Line Access
Multiplexer), que funciona de modo semelhante a um modem ADSL. Alm disso,
ele empacota os dados a serem enviados para a Internet. A Figura 3.18 mostra a
configurao.
58 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Outras tecnologias DSL A ADSL fornece comunicao assimtrica. A velocidade


de bit na direo do download muito mais alta do que na direo do upload. Embora
essa caracterstica atenda s necessidades da maioria dos assinantes residenciais, no
conveniente para empresas que enviam e recebem dados de grandes volumes nas
duas direes. A SDSL (Symmetric Digital Subscriber Line) projetada para esses
tipos de empresas. Ela divide a largura de banda disponvel igualmente entre as dire-
es do download e do upload.
A HDSL (High Bit Rate Subscriber Line) foi projetada como uma alternativa
linha T-1 (1.544 Mbps). A linha T-1 (discutida posteriormente) usa codificao AMI
(Alternate Mark Inversion), que muito sensvel atenuao em altas freqncias.
Isso limita o comprimento de uma linha T-1 a 1 km. Para distncias maiores neces-
srio um repetidor, o que significa um custo maior.
A VDSL (Very High Bit Rate Digital Subscriber Line), uma estratgia alter-
nativa semelhante ADSL, usa cabo coaxial, de fibra tica ou de par tranado para
distncias curtas (de 300 metros a 1.800 metros). A tcnica de modulao a DMT
(Discrete Multitone Technique) com velocidade de bit de 50 Mbps a 55 Mbps na dire-
o do download e de 1,5 Mbps a 2,5 Mbps na direo do upload.
Modem a cabo
As operadoras a cabo agora esto competindo com as companhias telefnicas para
conquistar clientes residenciais que desejam acesso de alta velocidade Internet. A
tecnologia DSL fornece conexes de alta velocidade de dados para assinantes resi-
denciais pelo loop local. Entretanto, a DSL usa o cabo de par tranado sem blindagem
existente, que muito sensvel interferncia. Isso impe um limite superior velo-
cidade dos dados. Outra soluo usar a rede de TV a cabo.

Redes a cabo tradicionais A TV a cabo comeou a distribuir sinais de vdeo de


difuso pblica em locais com recepo ruim ou sem nenhuma recepo. Ela era cha-
mada de TV de antena comunitria (CATV), porque uma antena no topo de uma
colina ou edifcio alto recebia os sinais das emissoras de TV e os distribua comuni-
dade por meio de cabos coaxiais.
O escritrio da TV a cabo, chamado de central de distribuio, recebe sinais de
vdeo das emissoras de transmisso pblica e alimenta os sinais em cabos coaxiais. O
sistema de TV a cabo tradicional usava cabo coaxial de extremidade a extremidade.
Devido atenuao dos sinais e ao uso de um grande nmero de amplificadores, a co-
municao na rede tradicional era unidirecional (de uma s direo). Os sinais de vdeo
eram transmitidos na direo do upload, ou seja, da central de distribuio para a casa
do assinante.

Rede HFC A segunda gerao de redes a cabo chamada de rede HFC (Hybrid
Fiber-Coaxial). A rede usa uma combinao de fibra tica e cabo coaxial. O meio
de transmisso do escritrio da TV a cabo caixa, chamada de n de fibra, a fibra
tica; e para transmitir do n de fibra s residncias ainda se usa o cabo coaxial. Um
motivo para mudar da infra-estrutura tradicional para a hbrida tornar a rede a cabo
bidirecional (de duas direes).

Largura de banda Mesmo em um sistema HFC, a ltima parte da rede, do n de fibra


at a casa do assinante, ainda usa um cabo coaxial. Esse cabo tem uma largura de banda
que varia de 5 MHz a 750 MHz (aproximadamente). As operadoras a cabo tm dividido
essa largura de banda em trs: vdeo, dados na direo do download e dados na direo do
upload, como mostra a Figura 3.19.
SEO 3.2 REDES REMOTAS PONTO A PONTO 59

Figura 3.19 Largura de banda do cabo

Dados na
Banda Dados na direo
direo
de vdeo do download
do upload

Freqncia, MHz 5 42 54 550 750

Banda de vdeo. A banda de vdeo, somente na direo do download, ocupa as


freqncias de 54 MHz a 550 MHz. Como cada canal de TV ocupa 6 MHz, isso
pode acomodar mais de 80 canais.
Banda de dados na direo do download. Os dados na direo do download
(da Internet para a casa do assinante) ocupam a banda superior, de 550 MHz a
750 MHz. Essa banda tambm dividida em canais de 6 MHz. Os dados na dire-
o do download podem ser recebidos a 30 Mbps. O padro especifica apenas 27
Mbps. Contudo, como o modem a cabo conectado ao computador por meio de
um cabo 10BASE-T, limita a velocidade dos dados a 10 Mbps.
Banda de dados na direo do upload. Os dados na direo do upload (da casa do
assinante para a Internet) ocupam a banda inferior, de 5 MHz a 42 MHz. Essa banda
tambm dividida em canais de 6 MHz. A banda de dados na direo do upload
usa freqncias mais baixas que so mais sensveis ao rudo e interferncia. Teori-
camente, os dados na direo do download podem ser enviados a 12 Mbps (2 bits/Hz
x 6 MHz). Entretanto, a velocidade dos dados normalmente menor do que essa.

Compartilhamento As bandas na direo do download e na direo do upload so


compartilhadas pelos assinantes. A largura de banda dos dados na direo do download
de apenas 37 MHz. Isso significa que existem apenas seis canais de 6 MHz disponveis
na direo do upload. Um assinante precisa usar um canal para enviar dados na direo
do upload. A questo : como seis canais podem ser compartilhados em uma rea com
1.000, 2.000 ou mesmo 100.000 assinantes? A soluo o tempo compartilhado. A ban-
da dividida em canais, que devem ser compartilhados entre os assinantes na mesma
vizinhana. A operadora a cabo aloca um canal, esttica ou dinamicamente, para um
grupo de assinantes. Se um assinante quer enviar dados, ele disputa o canal com outros
que desejam acesso; o assinante precisa esperar at que o canal esteja disponvel. A
situao semelhante ao CSMA, discutido para redes locais Ethernet.
Temos uma situao parecida na direo do download. A banda na direo do
download tem 33 canais de 6 MHz. Uma operadora a cabo provavelmente tem mais
de 33 assinantes, portanto, cada canal deve ser compartilhado entre um grupo de as-
sinantes. Contudo, a situao diferente na direo do upload, pois temos um caso
de multicast. Se existem dados para qualquer um dos assinantes do grupo, eles so
enviados para esse canal. Cada assinante recebe os dados. Mas como cada assinante
tambm tem um endereo registrado no provedor, o modem a cabo do grupo compara
o endereo transportado junto aos dados com o endereo atribudo pelo provedor.
Se o endereo corresponde, os dados so mantidos; caso contrrio, so descartados.
Dispositivos Para usar uma rede a cabo para transmisso de dados, precisamos de
dois dispositivos importantes: um CM e um CMTS. O CM (modem a cabo) insta-
lado na casa do assinante. Ele semelhante a um modem ADSL. A Figura 3.20 mostra
sua localizao. O CMTS (Sistema de Transmisso de Modem a Cabo) instalado
60 CAPTULO 3 TECNOLOGIAS SUBJACENTES

dentro do hub de distribuio pela operadora a cabo. Ele recebe dados da Internet e
os passa para o combinador, que os envia para a Internet. A Figura 3.20 mostra a lo-
calizao do CMTS.

Figura 3.20 Configuraes de modem a cabo

Cabo
Residncia do cliente

Vdeo
Tap Filtro

Dados

Modem a cabo

Hub de distribuio

Fibra
Vdeo
Da central de distribuio Combinador

Para e da Dados
Internet
CMTS

Linhas T
As linhas T so portadoras de telefone digital padro, originalmente projetadas para
canais de voz multiplex (aps serem digitalizados). Entretanto, atualmente as linhas
T podem ser usadas para transportar dados de uma residncia ou empresa para a In-
ternet. Elas tambm podem ser usadas para fornecer um link fsico entre os ns de
uma rede remota comutada. As linhas T esto comercialmente disponveis em duas
velocidades de dados: T-1 e T-3 (consulte a Tabela 3.2).

Tabela 3.2 Velocidades de linha T

Linha Velocidade (Mbps)


T-1 1,544
T-3 44,736

Linha T-1 A velocidade dos dados de uma linha T-1 de 1,544 Mbps. So 24 canais
de voz e cada um tem uma amostra digitalizada em 8 bits. adicionado um bit extra
para fornecer sincronismo. Isso faz o quadro ter 193 bits de comprimento. Enviando
8.000 frames por segundo, obtemos uma velocidade de dados de 1,544 Mbps. Quando
SEO 3.2 REDES REMOTAS PONTO A PONTO 61

usamos uma linha T-1 para conectar a Internet, podemos usar toda a capacidade da
linha ou parte dela para enviar dados digitais.
Linha T-3 Uma linha T-3 tem uma velocidade de dados de 44,736 Mbps. Ela equi-
valente a 28 linhas T-1. Muitos assinantes talvez no precisem de toda a capacidade de
uma linha T. Para acomodar esses clientes, as companhias telefnicas desenvolveram
servios de linha T fracionados, que permitem o compartilhamento de uma linha por
vrios assinantes, por meio da multiplexao de suas transmisses.

SONET
As altas larguras de banda do cabo de fibra tica so convenientes para as tecnologias de
velocidade de dados mais altas de hoje (como as videoconferncias) e, ao mesmo tem-
po, para sustentar o aumento de tecnologias de velocidade mais baixa. O ANSI criou um
conjunto de padres chamado de SONET (Synchronous Optical Network) para tratar
do uso de cabos de fibra tica. Ele define uma portadora de dados de alta velocidade.
Primeiramente, o SONET define um conjunto de sinais eltricos chamados de
STSs (Synchronous Transport Signals). Em seguida, ele converte essas mensagens
em sinais ticos chamados de OCs (Optical Carriers). Os sinais ticos so transmi-
tidos a 8.000 quadros por segundo.
A Tabela 3.3 mostra as velocidades de dados dos STSs e dos OCs. Note que o
nvel mais baixo nessa hierarquia tem uma velocidade de dados de 51,840 Mbps, que
maior do que a de uma linha T-3 (44,736 Mbps).

Tabela 3.3 Velocidades do SONET


STS OC Velocidade (Mbps)
STS-1 OC-1 51,840
STS-3 OC-3 155,520
STS-9 OC-9 466,560
STS-12 OC-12 622,080
STS-18 OC-18 933,120
STS-24 OC-24 1.244,160
STS-36 OC-36 1.866,230
STS-48 OC-48 2.488,320
STS-96 OC-96 4.976,640
STS-192 OC-192 9.953,280

Camada de enlace de dados


Para ter uma conexo ponto a ponto confivel, o usurio precisa de um protocolo na
camada de enlace de dados. O protocolo mais comum para esse propsito o PPP
(Point-to-Point Protocol).

PPP
As companhias telefnicas ou operadoras a cabo fornecem um link fsico, mas para con-
trolar e gerenciar a transferncia de dados h necessidade de um protocolo especial. O
protocolo PPP (Point-to-Point Protocol) foi projetado para atender a essa necessidade.
62 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Camadas do PPP O protocolo PPP tem apenas as camadas fsica e de enlace de


dados. Nenhum protocolo especfico definido para a camada fsica pelo PPP. Em vez
disso, fica por conta do implementador usar o que estiver disponvel. O protocolo PPP
suporta todos os protocolos reconhecidos pelo ANSI. Na camada de enlace de dados,
o PPP define o formato de um frame e o protocolo usado para controlar o link e trans-
portar os dados do usurio. O formato de um frame PPP aparece na Figura 3.21.

Figura 3.21 Frame PPP

11111111 11000000

Flag Endereo Controle Protocolo Dados e preenchimento FCS Flag

1 byte 1 byte 1 byte 1 ou 2 bytes Varivel 2 ou 4 bytes 1 byte

As descries dos campos so as seguintes:


1. Campo de flag. O campo de flag identifica os limites de um frame PPP. Seu valor
01111110.
2. Campo de endereo. Como o PPP usado para uma conexo ponto a ponto, ele
usa o endereo broadcast utilizado na maioria das redes locais, 11111111, para
evitar um endereo de enlace de dados no protocolo.
3. Campo de controle. O campo de controle recebe o valor 11000000 para mostrar
que, como na maioria das redes locais, o frame no tem nenhum nmero em se-
qncia; cada frame independente.
4. Campo de protocolo. O campo de protocolo define o tipo de dados que est sendo
transportado no campo de dados: dados do usurio ou outras informaes.
5. Campo de dados. Esse campo transporta dados do usurio ou outras informaes.
6. FCS. O campo de seqncia de verificao de frame simplesmente um CRC de
2 bytes ou 4 bytes usado para deteco de erros.

LCP (Link Control Protocol)


O LCP (Link Control Protocol) responsvel pelo estabelecimento, manuteno e trmino
do link. Quando o campo de dados de um frame est transportando dados relacionados a esse
protocolo, significa que o PPP est manipulando o link; ele no transporta dados.

NCP (Network Control Protocol)


O NCP (Network Control Protocol) foi definido para proporcionar flexibilidade ao pro-
tocolo PPP. O PPP pode transportar dados de diferentes protocolos de rede, incluindo o IP.
Aps o estabelecimento do link, o PPP pode transportar pacotes IP em seu campo de dados.

PPPoE
O PPP foi projetado para conectar um nico usurio Internet, por meio de um modem
convencional e uma linha telefnica. Atualmente, o DSL, o modem a cabo e a tecno-
logia sem fio permitem que um grupo de usurios em uma rede local Ethernet acesse a
SEO 3.3 REDES REMOTAS COMUTADAS 63

Internet por meio de uma nica linha fsica. Em outras palavras, os hosts conectados na
rede local podem compartilhar uma nica linha fsica para acessar a Internet. O PPPoE
(PPP sobre Ethernet) um novo protocolo que usa uma tcnica de descoberta para
encontrar o endereo Ethernet do host a ser conectado Internet. Aps a descoberta do
endereo, uma sesso PPP normal pode ser usada para estabelecer a conexo.

3.3 Redes remotas comutadas


As redes eixo central na Internet normalmente so redes remotas comutadas. So re-
des remotas que cobrem uma rea grande (um estado ou pas) e fornecem acesso em
vrios pontos aos usurios. Dentro da rede existe uma malha de redes ponto a ponto
que conecta comutadores. Os comutadores, vrios conectores de portas, permitem a
conexo de vrias entradas e sadas.
A tecnologia de rede remota comutada difere da tecnologia de rede local de v-
rias maneiras. Primeiramente, em vez de uma topologia de barramento ou em estre-
la, so usados comutadores para criar vrios caminhos. A tecnologia de rede local
considerada sem conexo; no existe nenhuma relao entre os pacotes enviados por
um remetente a um receptor. A tecnologia de rede remota comutada, por outro lado,
orientada a conexes. Antes que um remetente possa enviar um pacote, deve ser esta-
belecida uma conexo entre o remetente e o receptor. Aps a conexo ser estabelecida,
ela recebe um identificador usado durante a transmisso. A conexo termina formal-
mente quando a transmisso acaba. O identificador de conexo usado no lugar dos
endereos de origem e destino da tecnologia de rede local.
Discutiremos trs redes remotas comutadas comuns nesta seo. A primeira,
X.25, est quase obsoleta. A segunda, Frame Relay, ainda ser usada por mais alguns
anos. A terceira, ATM, a tecnologia predominante. Nossa discusso sobre as duas
primeiras ser curta; dedicaremos mais tempo terceira.

X.25
A X.25, introduzida nos anos 70, foi a primeira rede remota comutada a se tornar
popular na Europa e nos Estados Unidos. Embora ainda seja usada na Europa, est
desaparecendo nos Estados Unidos. Ela era usada principalmente como rede pblica
para conectar computadores individuais ou redes locais. Ela fornece um servio de
extremidade a extremidade.
Embora a X.25 tenha sido usada (e ainda , at certo ponto) como rede remota para
transportar pacotes IP de uma parte a outra do mundo, sempre havia um conflito entre
ela e o IP. O IP um protocolo de terceira camada (rede). Um pacote IP deve ser trans-
portado por um frame na segunda camada (enlace de dados). A X.25, que foi projetada
antes da Internet, um protocolo de trs camadas e tem sua prpria camada de rede. Os
pacotes IP tinham de ser encapsulados em um pacote da camada de rede da X.25 para
serem transportados de um lado ao outro da rede. Isso anlogo a uma pessoa que tem
um carro, mas precisa carreg-lo em um caminho para ir de um ponto a outro.
Outro problema da X.25 que foi projetada em um tempo em que os meios de
transmisso no eram muito confiveis (nenhum uso de fibras ticas). Por isso, a X.25
realizava muitos controles de erros. Isso torna a transmisso muito lenta e no popu-
lar, dada a demanda sempre crescente por velocidade.
Pelos motivos anteriores, a X.25 provavelmente desaparecer em breve da Internet.
64 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Frame Relay
A Frame Relay, uma tecnologia comutada que fornece servio de baixo nvel (camadas
fsica e de enlace de dados), foi projetada para substituir a X.25. A Frame Relay tem
algumas vantagens em relao a X.25:
1. Alta velocidade de dados. Embora a Frame Relay tenha sido originalmente pro-
jetada para fornecer uma velocidade de dados de 1,544 Mbps (equivalente a uma
linha T-1), atualmente a maioria das implementaes pode manipular at 44,736
Mbps (equivalente a uma linha T-3).
2. Dados em rajada. Alguns servios oferecidos pelos provedores de rede remota presu-
mem que o usurio tem necessidade de uma velocidade fixa. Por exemplo, uma linha
T-1 projetada para um usurio que quer usar a linha em 1,544 Mbps constantes. Esse
tipo de servio no conveniente para muitos usurios atualmente, que precisam enviar
dados em rajada (dados com velocidade varivel). Por exemplo: talvez um usurio
queira enviar dados a 6 Mbps por 2 segundos, a 0 Mbps (nada) por 7 segundos e a 3,44
Mbps por 1 segundo, em um total de 15,44 Mbps durante um perodo de 10 segundos.
Embora a velocidade mdia dos dados ainda seja de 1,544 Mbps, a linha T-1 no con-
segue suprir esse tipo de demanda porque projetada para dados em velocidade fixa, e
no para dados em rajada. Os dados em rajada exigem o que chamado de largura de
banda sob demanda. O usurio precisa de diferentes alocaes de largura de banda em
diferentes momentos. O Frame Relay aceita dados em rajada. garantida ao usurio
uma velocidade de dados mdia que pode ser ultrapassada quando necessrio.
3. Menos sobrecarga devido aos meios de transmisso aprimorados. A qualida-
de dos meios de transmisso melhorou bastante na ltima dcada. Eles so mais
confiveis e menos propensos a erros. No h necessidade de ter uma rede remota
que perde tempo e recursos que verificam e conferem erros em potencial. A X.25
fornece muita verificao de erro e controle de fluxo. A Frame Relay no fornece
verificao de erro nem exige reconhecimento na camada de enlace de dados. Em
vez disso, toda verificao de erro fica por conta dos protocolos nas camadas de
rede e de transporte que usam os servios da Frame Relay.

Arquitetura da Frame Relay


Os dispositivos que conectam um usurio rede so chamados de equipamentos de
concluso de dados ou DTE (do ingls, Data Terminating Equipment). Os comuta-
dores que fazem o roteamento dos frames pela rede so chamados de equipamentos
de circuito de dados ou DCE (do ingls, Data Circuit Equipment) (veja a Figura
3.22). A Frame Relay normalmente usada como rede remota para conectar redes
locais ou computadores de grande porte. No primeiro caso, um roteador ou uma
ponte pode servir como DTE e conectar, por meio de uma linha dedicada, a rede
local ao comutador da Frame Relay, que considerado um DCE. No segundo caso,
o prprio computador de grande porte pode ser usado como DTE, com a instalao
de software apropriado.

Circuitos virtuais
A Frame Relay, assim como outras redes locais comutadas, usa um circuito virtual e iden-
tificadores de circuito virtual chamados DLCIs.

Camadas da Frame Relay


A Frame Relay tem apenas as camadas fsica e de enlace de dados. Nenhum protocolo
especfico definido para a camada fsica na Frame Relay. Em vez disso, fica por conta do
implementador usar o que estiver disponvel. A Frame Relay suporta todos os protocolos
reconhecidos pelo ANSI.
SEO 3.3 REDES REMOTAS COMUTADAS 65

Figura 3.22 Rede Frame Relay

DTE Roteador
DTE Roteador

DCE

Mainframe
DCE
Rede Frame
Ponte DCE
Relay
DTE
DTE

Na camada de enlace de dados, a Frame Relay adota um protocolo simples, res-


ponsvel por enviar dados de um DTE ao outro.

ATM
ATM (Asynchronous Transfer Mode) o protocolo de retransmisso de clula pro-
jetado pelo ATM Forum e adotado pelo ITU-T.

Objetivos de projeto
Dentre os desafios enfrentados pelos projetistas da ATM, seis se destacam. Primei-
ramente, havia a necessidade de um sistema de transmisso que otimizasse o uso de
meios para envio de dados em alta velocidade, em particular a fibra tica. Em segundo
lugar, havia a necessidade de um sistema que pudesse fazer interface com os sistemas
existentes, como as vrias redes de pacote, e fornecer conectividade entre eles sem
diminuir sua eficincia nem exigir sua substituio. Em terceiro, era preciso um pro-
jeto que pudesse ser implementado de forma barata para que o custo no fosse uma
barreira para sua adoo. Se a ATM deveria tornar-se o eixo central da comunicao
internacional, conforme pretendido, deveria estar disponvel a um custo baixo para
qualquer usurio que a quisesse. Quarto, o novo sistema deveria ser capaz de fun-
cionar com as hierarquias de telecomunicaes existentes (loops locais, provedores
locais, portadoras de longa distncia etc.) e suport-las. Quinto, o novo sistema devia
ser orientado a conexes para garantir envio preciso e previsvel. E, por ltimo, mas
no menos importante, o objetivo era mover o mximo possvel das funes para o
hardware (para favorecer a velocidade) e eliminar o maior nmero possvel de tarefas
do software (novamente, por causa da velocidade).

Redes de clulas
A ATM uma rede de clulas. Uma clula uma pequena unidade de dados de tamanho
fixo; a unidade bsica da troca de dados em uma rede de clulas. Nesse tipo de rede,
todos os dados so carregados por clulas idnticas que podem ser transmitidas com
66 CAPTULO 3 TECNOLOGIAS SUBJACENTES

previsibilidade e uniformidade completas. As clulas so multiplexadas com outras


clulas e roteadas por uma rede de clulas. Como cada clula tem o mesmo tamanho e
todas so pequenas, os problemas associados multiplexao de pacotes de tamanhos
diferentes so evitados.

Uma rede de clulas usa a clula como unidade bsica de troca de dados. Uma clula
definida como um pequeno bloco de informaes de tamanho fixo.

TDM assncrono
A ATM usa multiplexao assncrona com diviso de tempo por isso, chamada
de Asynchronous Transfer Mode para multiplexar as clulas provenientes de diferen-
tes canais. Ela usa slots de tamanho fixo, correspondente a uma clula. Os multiplexa-
dores ATM preenchem um slot com uma clula de qualquer canal de entrada que tenha
uma clula; o slot fica vazio se nenhum dos canais tiver uma clula para enviar.
A Figura 3.23 mostra como as clulas de trs entradas so multiplexadas. No primei-
ro tique do medidor de tempo, o canal 2 no tem nenhuma clula (slot de entrada vazio);
portanto, o multiplexador preenche o slot com uma clula do terceiro canal. Quando todas
as clulas de todos os canais esto multiplexadas, os slots de sada so esvaziados.

Figura 3.23 Multiplexao da ATM

A3 A2 A1
1
B2 B1 C3 B2 A3 C2 B1 A2 C1 A1
2 MUX
C3 C2 C1
3

Arquitetura da ATM
A ATM uma rede comutada. Os dispositivos de acesso ao usurio, chamados de
pontos extremos, so conectados por meio de uma UNI (User-to-Network Interfa-
ce), interface do usurio com a rede aos comutadores existentes dentro da rede. Os
comutadores so conectados por meio de NNIs (Network-to-Network Interfaces),
interfaces de rede para rede. A Figura 3.24 mostra um exemplo de rede ATM.
Conexo virtual A conexo entre dois pontos extremos feita por meio de cami-
nhos de transmisso (TPs), caminhos virtuais (VPs) e circuitos virtuais (VCs). Um
caminho de transmisso (TP) a conexo fsica (fio, cabo, satlite etc.) entre um
ponto extremo e um comutador ou entre dois comutadores. Considere dois comutado-
res como duas cidades. Um caminho de transmisso o conjunto de todas as rodovias
que conectam diretamente as duas cidades.
Um caminho de transmisso dividido em vrios caminhos virtuais. Um caminho
virtual (VP) fornece uma conexo ou um conjunto de conexes entre dois comutadores.
Considere um caminho virtual como uma rodovia que liga duas cidades. Cada rodovia
um caminho virtual; o conjunto de todas as rodovias o caminho de transmisso.
SEO 3.3 REDES REMOTAS COMUTADAS 67

Figura 3.24 Arquitetura de uma rede ATM

UNI NNI NNI


UNI
Comutador

I II III
Pontos
Comutador NNI Comutador
extremos
Pontos IV
extremos Comutador

UNI

Pontos extremos

As redes de clulas so baseadas em circuitos virtuais (VCs). Todas as clulas


pertencentes a uma mensagem seguem o mesmo circuito virtual e permanecem em
sua ordem original at chegarem ao seu destino. Considere um circuito virtual como
as pistas de uma rodovia (caminho virtual), como mostrado na Figura 3.25.

Figura 3.25 Circuitos virtuais

VCI = 21 VCI = 21
VCI = 32 VPI = 14 VPI = 14 VCI = 32
VCI = 45 Esta conexo virtual definida VCI = 45
VCI = 70 exclusivamente usando o par: VCI = 70
VCI = 74 VPI = 18 (14 21) VPI = 18 VCI = 74
VCI = 45 VPI VCI VCI = 45

A figura tambm mostra a relao entre um caminho de transmisso (uma cone-


xo fsica), caminhos virtuais (uma combinao de circuitos virtuais empacotados, j
que partes de seus caminhos so iguais) e circuitos virtuais que interconectam logica-
mente dois pontos.
Em uma rede de circuitos virtuais, para fazer o roteamento de dados de um ponto
extremo ao outro, as conexes virtuais precisam ser identificadas. Para isso, os proje-
tistas da ATM criaram um identificador de hierarquia com dois nveis: um VPI (Iden-
tificador de Caminho Virtual) e um VCI (Identificador de Circuito Virtual). O
VPI define o VP especfico e o VCI define um VC em particular dentro do VP. O VPI
o mesmo para todas as conexes virtuais empacotadas (logicamente) em um VP.

Note que uma conexo virtual definida por dois nmeros: o VPI e o VCI.
68 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Clulas Uma clula tem 53 bytes de comprimento, com 5 bytes alocados para o
cabealho e 48 bytes que transportam carga til (os dados do usurio podem ter menos
de 48 bytes). A maior parte do cabealho ocupada pelo VPI e pelo VCI. A Figura
3.26 mostra a estrutura da clula.

Figura 3.26 Uma clula ATM

Cabealho Carga til

VPI VCI

5 bytes 48 bytes
53 bytes

Camadas da ATM
O padro ATM define trs camadas. So elas, de cima para baixo: a camada de adapta-
o de aplicativo, a camada ATM e a camada fsica, mostradas na Figura 3.27.

Figura 3.27 Camadas da ATM

AAL1 AAL2 AAL3/4 AAL5

Camada ATM

Camada fsica

AAL (Application Adaptation Layer) A AAL (Application Adaptation Layer),


camada de adaptao de aplicativo, permite s redes existentes (como as redes de
pacote) conectarem-se com recursos da ATM. Os protocolos da AAL aceitam trans-
misses de servios de camada superior (por exemplo, dados de pacote) e os mapeiam
em clulas ATM de tamanho fixo. Essas transmisses podem ser de qualquer tipo
(voz, dados, udio, vdeo) e podem ter velocidades fixas ou variveis. No receptor,
esse processo invertido os segmentos so novamente montados em seus formatos
originais e passados para o servio receptor.
AAL1. A AAL1 suporta aplicativos que transferem informaes em velocidades
de bit constantes, como vdeo e voz. Ela permite que a ATM conecte redes telef-
nicas digitais existentes, como canais de voz e linhas T.
AAL2. Originalmente, a AAL2 era destinada a suportar um fluxo de bits com ve-
locidade de dados varivel, mas foi reprojetada. Agora ela usada para trfego de
velocidade de bit baixa e trfego de frame curto, como udio (compactado ou no),
vdeo e fax. Um bom exemplo de uso da AAL2 na telefonia mvel. A AAL2
permite a multiplexao de frames curtos em uma nica clula.
SEO 3.4 DISPOSITIVOS DE CONEXO 69

AAL3/4. Inicialmente, a AAL3 era destinada a suportar servios de dados orien-


tados a conexes, e a AAL4 a suportar servios sem conexo. Contudo, medida
que evoluram, tornou-se evidente que os problemas fundamentais dos dois pro-
tocolos eram os mesmos. Portanto, eles foram combinados em um nico formato,
chamado de AAL3/4.
AAL5. A AAL3/4 fornece mecanismos de disposio em seqncia e controle de
erros abrangentes que no so necessrios para todos os aplicativos. Para esses
aplicativos, os projetistas da ATM forneceram uma quinta subcamada AAL, cha-
mada de SEAL (Simple Efficient Adaptation Layer). A AAL5 presume que to-
das as clulas pertencentes a uma nica mensagem viajam seqencialmente e que
funes de controle esto includas nas camadas superiores do aplicativo reme-
tente. A AAL5 projetada para protocolos de pacote sem conexo que usam uma
estratgia de datagrama para o roteamento (como o protocolo IP no TCP/IP).

O protocolo IP usa a subcamada AAL5.

Camada ATM A camada ATM fornece servios de roteamento, gerenciamento de


trfego, comutao e multiplexao. Ela processa o trfego de sada aceitando seg-
mentos de 48 bytes das subcamadas AAL e transformando-os em clulas de 53 bytes
pela adio de um cabealho de 5 bytes.
Camada fsica A camada fsica define o meio de transmisso, a transmisso de bits,
a codificao e a transformao eltrica para tica. Ela fornece convergncia com os
protocolos de transporte fsico, como SONET e T-3, assim como os mecanismos para
transformar o fluxo de clulas em um fluxo de bits.

Discutiremos IP sobre ATM no Captulo 23.

3.4 Dispositivos de conexo


As redes locais ou remotas normalmente no funcionam isoladamente. Elas so conec-
tadas umas s outras ou Internet. Para conectar redes locais ou remotas usamos dis-
positivos de conexo. Os dispositivos de conexo podem operar em diferentes camadas
do modelo da Internet. Discutiremos trs tipos de dispositivos de conexo: repetidores
(ou hubs), pontes (ou comutadores de duas camadas) e roteadores (ou comutadores de
trs camadas). Os repetidores e hubs operam na primeira camada do modelo da Internet.
As pontes e os comutadores de duas camadas operam nas duas primeiras camadas. Os
roteadores e os comutadores de trs camadas operam nas trs primeiras camadas. A
Figura 3.28 mostra as camadas nas quais cada dispositivo opera.

Figura 3.28 Dispositivos de conexo

Roteador ou comutador
Rede Rede
de trs camadas
Ponte ou comutador
Enlace de dados Enlace de dados
de duas camadas
Repetidor
Fsica Fsica
ou hub
70 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Repetidores
Um repetidor um dispositivo que opera apenas na camada fsica. Os sinais que
transportam informaes dentro de uma rede podem percorrer uma distncia fixa an-
tes que a atenuao ponha em perigo a integridade dos dados. Um repetidor recebe um
sinal e, antes que ele se torne fraco demais ou corrompido, regenera o padro de bits
original. Ento, o repetidor envia o sinal recuperado. Um repetidor pode aumentar o
comprimento fsico de uma rede local, como observado na Figura 3.29.

Figura 3.29 Repetidor

5 5
4 4
3 3
2 2
1 1 1 1

Repetidor

Segmento 1 Segmento 2

Um repetidor no conecta duas redes locais; ele conecta dois segmentos da mesma
rede local. Os segmentos conectados ainda fazem parte de uma nica rede local.

Um repetidor conecta segmentos de uma rede local.

Um repetidor pode superar as restries de comprimento da Ethernet 10BASE5.


Nesse padro, o comprimento do cabo limitado a 500 m. Para aumentar esse compri-
mento, dividimos o cabo em segmentos e instalamos repetidores entre eles. Note que a
rede inteira ainda considerada uma nica rede local, mas as partes da rede separadas
por repetidores so chamadas de segmentos. O repetidor age como um n de duas
portas, mas opera apenas na camada fsica. Ao receber um frame de qualquer uma das
portas, ele o regenera e o encaminha para a outra porta.

Um repetidor encaminha cada bit; ele no tem recursos de filtragem.

tentador comparar um repetidor com um amplificador, mas a comparao im-


precisa. Um amplificador no pode discriminar entre o sinal pretendido e um rudo;
ele amplifica igualmente tudo que entra nele. Um repetidor no amplifica o sinal; ele
o regenera. Ao receber um sinal enfraquecido ou corrompido, ele cria uma cpia, bit
por bit, com a potncia original.

Um repetidor um regenerador, no um amplificador.


SEO 3.4 DISPOSITIVOS DE CONEXO 71

A localizao de um repetidor em um link vital. Um repetidor deve ser colocado de


modo que um sinal chegue nele antes que um rudo altere o significado de qualquer um
de seus bits. Um pequeno rudo pode alterar a preciso da voltagem de um bit sem destruir
sua identidade (veja a Figura 3.30). Entretanto, se o bit corrompido percorre uma distncia
maior, o rudo acumulado pode alterar completamente seu significado. Nesse ponto, a vol-
tagem original no recupervel, e o erro precisa ser corrigido. Um repetidor colocado na
linha antes que a legibilidade do sinal se perca ainda pode ler o sinal bem o suficiente para
determinar as voltagens pretendidas e replic-las em sua forma original.

Figura 3.30 Funo de um repetidor

Repetidor
Sinal Sinal
regenerado corrompido
a. Transmisso da direita para a esquerda.

Repetidor
Sinal Sinal
corrompido regenerado
b. Transmisso da esquerda para a direita.

Hubs
Embora, em um sentido geral, a palavra hub possa se referir a qualquer dispositivo de
conexo, ela tem um significado especfico. Um hub , na verdade, um repetidor de
vrias portas. Normalmente, ele usado para criar conexes entre estaes em uma
topologia fsica em estrela.

Pontes
Uma ponte opera nas camadas fsica e de enlace de dados. Como um dispositivo da
camada fsica, ele regenera o sinal que recebe. Como um dispositivo da camada de
enlace de dados, a ponte pode verificar os endereos (origem e destino) fsicos (MAC)
contidos no frame. Note que, com repetidores espaados corretamente, todos os bits
poderiam ser transportados a qualquer distncia. Entretanto, o domnio de coliso no
permite isso. So necessrias pontes para superar a restrio do domnio de coliso.

Filtragem
Algum poderia perguntar qual a diferena de funcionalidade entre uma ponte e
um repetidor. Uma ponte tem recursos de filtragem. Ela pode verificar o endereo de
destino de um frame e decidir se esse deve ser encaminhado ou eliminado. Se o frame
for encaminhado, a ponte deve especificar a porta. Uma ponte tem uma tabela que
mapeia endereos em portas.

Uma ponte tem uma tabela usada nas decises de filtragem.


72 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Vamos analisar o exemplo. Na Figura 3.31, duas redes locais so conectadas


por uma ponte. Se um frame destinado estao 712B13456142 chega porta 1, a
ponte consulta sua tabela para encontrar a porta de sada. De acordo com sua tabela,
os frames de 712B13456142 saem pela porta 1; portanto, no h necessidade de en-
caminhamento e o frame eliminado. Por outro lado, se um frame de 712B13456141
chegar porta 2, ele ser encaminhado, j que a porta de sada a 1. No primeiro
caso, a rede local 2 permanece livre de trfego; no segundo caso, as duas redes locais
tm trfego. Em nosso exemplo, mostramos uma ponte de duas portas; na realidade,
uma ponte normalmente tem mais portas. Note tambm que uma ponte no altera os
endereos fsicos contidos no frame.

Figura 3.31 Ponte

5 5
4 4
3 3
2 2 2 2
1 1 1 1

Endereo Porta
712B13456141 1
712B13456142 1 Tabela da ponte
642B13456112 2
642B13456113 2

712B13456141 712B13456142 642B13456112 642B13456113


1 2
Ponte

Rede local 1 Rede local 2

Uma ponte no altera os endereos fsicos (MAC) em um frame.

Pontes transparentes
Uma ponte transparente aquela na qual as estaes ignoram completamente a exis-
tncia dela. Se uma ponte adicionada ou excluda do sistema, a reconfigurao das
estaes desnecessria. De acordo com a especificao IEEE 802.1d, um sistema
equipado com pontes transparentes deve satisfazer trs critrios:
1. Os frame devem ser encaminhados de uma estao para outra.
2. A tabela de encaminhamento feita automaticamente pelo aprendizado das movi-
mentaes do frame na rede.
3. Devem ser evitados loops no sistema.
SEO 3.4 DISPOSITIVOS DE CONEXO 73

Encaminhamento Uma ponte transparente deve encaminhar os frames corretamen-


te, conforme discutido na seo anterior.

Aprendizado As primeiras pontes tinham tabelas de encaminhamento estticas. O


administrador do sistema inseria manualmente cada entrada da tabela, durante a con-
figurao da ponte. Embora o processo fosse simples, no era prtico. Se uma esta-
o fosse adicionada ou excluda, a tabela tinha de ser modificada manualmente. O
mesmo acontecia se o endereo MAC de uma estao mudasse, o que no raro. Por
exemplo, colocar uma nova placa de rede significa um novo endereo MAC.
Uma soluo melhor do que a tabela esttica uma tabela dinmica que mapeia
endereos em portas automaticamente. Para fazermos uma tabela dinmica, precisa-
mos de uma ponte que aprenda gradualmente com as movimentaes de frame. Para
fazer isso, a ponte inspeciona os endereos de destino e de origem. O endereo de des-
tino usado na deciso de encaminhamento (pesquisa da tabela) e o de origem usado
para adicionar entradas na tabela e para propsitos de atualizao. Vamos desenvolver
esse processo usando a Figura 3.32.

Figura 3.32 Aprendizado da ponte

A B

Rede
Rede local 3
local 1 1
3 E
Ponte
2
Rede local 2
F
C D

Endereo Porta Endereo Porta Endereo Porta Endereo Porta


A 1 A 1 A 1
E 3 E 3
B 1
a. Original b. Aps A enviar c. Aps E enviar d. Aps B enviar
um frame para D um frame para A um frame para C

1. Quando a estao A envia um frame para a estao D, a ponte no tem entrada


nem para D nem para A. O frame sai por todas as trs portas e inunda a rede. En-
tretanto, examinando o endereo de origem, a ponte aprende que a estao A deve
estar localizada na rede local conectada na porta 1. Isso significa que, no futuro,
os frames destinados estao A devero ser enviados porta 1. A ponte adiciona
essa entrada em sua tabela. Agora, a tabela tem sua primeira entrada.
2. Quando a estao E envia um frame para a estao A, a ponte tem uma entrada
para A; portanto, ela encaminha o frame apenas para a porta 1. No h nenhuma
inundao. Alm disso, ela usa o endereo de origem do frame E para adicionar
uma segunda entrada na tabela.
3. Quando a estao B envia um frame para C, a ponte no tem nenhuma entrada para C;
portanto, mais uma vez, ela inunda a rede e adiciona mais uma entrada na tabela.
4. O processo de aprendizado continua medida que a ponte encaminha frames.
74 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Comutador de duas camadas


Quando usamos o termo comutador, devemos tomar cuidado, pois comutador pode
significar duas coisas diferentes. Devemos esclarecer o termo, adicionando o nvel no
qual o dispositivo opera. Podemos ter um comutador de duas ou de trs camadas. Um
comutador de trs camadas usado na camada de rede; ele uma espcie de roteador.
O comutador de duas camadas funciona na camada fsica e na de enlace de dados.
Um comutador de duas camadas uma ponte, mas com muitas portas e um pro-
jeto que permite um melhor desempenho (mais rpida). Uma ponte com poucas portas
pode conectar poucas redes locais. J uma ponte com muitas portas pode alocar uma
porta exclusiva para cada estao, com cada estao em sua prpria entidade indepen-
dente. Isso significa que no haver nenhum trfego concorrente (nenhuma coliso,
como vimos na Ethernet). Neste livro, para evitar confuso, usamos o termo ponte
para um comutador de duas camadas.

Roteadores
Um roteador um dispositivo de trs camadas; ele opera nas camadas fsica, de en-
lace de dados e de rede. Como um dispositivo da camada fsica, ele regenera o sinal
que recebe. Como um dispositivo da camada de enlace de dados, o roteador verifica
os endereos fsicos (origem e destino) contidos no pacote. Como um dispositivo da
camada de rede, um roteador verifica os endereos da camada de rede (endereos
na camada IP). Note que as pontes alteram os domnios de coliso, mas os roteadores
limitam os domnios de difuso pblica.

Um roteador um dispositivo de trs camadas (fsica, enlace de dados e rede).

Um roteador pode interligar redes locais, redes remotas e redes locais e remotas.
Em outras palavras, um roteador um dispositivo de interligao em rede; ele interli-
ga redes independentes para formar uma rede de redes. De acordo com essa definio,
duas redes (locais ou remotas) conectadas por um roteador tornam-se uma rede de
redes ou uma Internet.
Existem trs diferenas importantes entre um roteador e um repetidor ou uma
ponte.
1. Um roteador tem um endereo fsico e um endereo lgico (IP) para cada uma de
suas interfaces.

Um repetidor ou uma ponte conectam segmentos de uma rede local. Um roteador conecta
redes locais ou remotas independentes para criar uma rede de redes (Internet).

2. Um roteador atua apenas nos pacotes nos quais o endereo de destino fsico cor-
responde ao endereo da interface na qual o pacote chega.
3. Um roteador altera o endereo fsico do pacote (tanto de origem como de destino)
ao encaminh-lo.
Vamos analisar um exemplo. Na Figura 3.33, mostramos duas redes locais separadas
por um roteador. A rede local da esquerda tem dois segmentos separados por uma ponte.
O roteador altera os endereos fsicos de origem e destino do pacote. Quando o pacote
SEO 3.4 DISPOSITIVOS DE CONEXO 75

viaja na rede local da esquerda, seu endereo fsico de origem o endereo da estao
remetente; seu endereo fsico de destino o endereo do roteador. Quando o mesmo
pacote viaja na segunda rede local, seu endereo fsico de origem o endereo do rote-
ador e seu endereo fsico de destino o endereo do destino final.

Figura 3.33 Exemplo de roteamento

5 5
4 4
3 3 3 3
2 2 2 2 2 2
1 1 1 1 1 1

Rede local 1 Rede local 2

712B13456142

642B13456777
Roteador
Ponte

712B13456141 642B13456778

Os roteadores direcionam pacotes entre vrias redes interligadas. Eles direcionam


pacotes de uma rede para qualquer uma de vrias redes de destino em potencial em
uma Internet. Os roteadores atuam como estaes em uma rede, mas, ao contrrio da
maioria das estaes, que so membros de apenas uma rede, os roteadores tm ende-
reos e ligam-se a duas ou mais redes.

Um roteador altera os endereos fsicos em um pacote.

Aprenderemos mais sobre roteadores e roteamento em captulos futuros, aps ter-


mos discutido o endereamento IP.

Comutador de trs camadas


Um comutador de trs camadas um roteador, mas com um projeto aprimorado para
permitir melhor desempenho. Um comutador de trs camadas pode receber, processar
e enviar um pacote muito mais rpido do que um roteador tradicional, mesmo que
a funcionalidade seja a mesma. Neste livro, para evitar confuso, usamos o termo
roteador para um comutador de trs camadas.
76 CAPTULO 3 TECNOLOGIAS SUBJACENTES

3.5 Termos-CHAVE
1000BASE-LX DCF (Distributed Coordination
1000BASE-SX Function)

1000BASE-T Dispositivo de conexo

100BASE-FX Download

100BASE-T4 DSL (Digital Subscriber Line)

100BASE-TX DSLAM (Digital Subscriber Line


Access Multiplexer)
100BASE-X
DSSS (Direct Sequence Spread
10BASE2 Spectrum)
10BASE5 EEE 802.11
10BASE-FL Espectro de difuso
10BASE-T ESS (conjunto estendido de servios)
AAL (Application Adaptation Layer) ou Ethernet
camada de adaptao de aplicativo
Ethernet comutada
ADSL (Asymmetric Digital Subscriber
Line) ou DSL Assimtrica Ethernet full-duplex

Amplificador Ethernet rpida

ATM (Asynchronous Transfer Mode) FCS (Frame Check Sequence) ou


Seqncia de Verificao de Frame
Banda de dados na direo do upload
FHSS (Frequency Hopping Spread
BSS (conjunto bsico de servios) Spectrum)
CATV (TV de antena comunitria) Filtragem
Central de distribuio Frame
Clula Frame Relay
CM (Modem a Cabo) Gigabit Ethernet
CMTS (Sistema de Transmisso de HDSL (High Bit Rate Subscriber Line)
Modem a Cabo)
HR-DSSS (High-Rate DSSS)
Coliso
Hub
Comutador
LAN (rede local)
Comutador ATM
Largura de banda sob demanda
Comutador de duas camadas
LCP (Link Control Protocol)
Comutador de trs camadas
Linha T-1
CSMA/CA (Carrier Sense Multiple
Access With Collision Avoidance) Linha T-3

CSMA/CD (Carrier Sense Multiple Linhas T


Access With Collision Detection) Loop local
DA (Endereo de Destino) Multiplexao assncrona com diviso
Dados em rajada de tempo
SEO 3.6 RESUMO 77

NCP (Network Control Protocol) SEAL (Simple and Efficient Adaptation


NIC (Network Interface Card) ou Placa Layer)
IEEE 802.11 Segmento
NNI (Network-to-Network Interface) ou SFD (Start Frame Delimiter) ou
Interface de Rede para Rede Delimitador de Incio do Quadro
N de fibra SONET (Synchronous Optical Network)
OC (Optical Carrier) STM (Synchronous Transport Module)
OFDM (Orthogonal Frequency-Division ou mdulo de transporte sncrono
Multiplexing) STS (Synchronous Transport Signals)
PCF (Point Coordination Function) TP (Transmission Path) ou caminho de
Ponte transmisso
Ponte transparente TV a cabo
Ponto de acesso (AP access point) UNI (User-to-Network Interface) ou
interface do usurio com a rede
PPP (Point-to-Point Protocol)
Upload
PPPoE (PPP sobre Ethernet)
V.90
Prembulo
V.92
Problema do terminal oculto
VC (Virtual Circuit) ou circuito virtual
RADSL (Rate Adaptvice Asymmetrical
Digital Subscriber Line) VCI (Virtual Connection Identifier) ou
identificador de conexo virtual
Rede HFC (Hybrid Fiber-Coaxial)
VDSL (Very High Bit Rate Digital
Repetidor
Subscriber Line)
Roteador
VP (Virtual Path) ou caminho virtual
SA (Source Address) ou Endereo de
Origem VPI (Virtual Path Identifier) ou
identificador de caminho virtual
SDH (Synchronous Digital Hierarchy)
WAN (rede remota)
SDSL (Symmetric Digital Subscriber
Line) X.25

3.6 Resumo
Ethernet o protocolo de rede local mais amplamente usado.
A Ethernet tradicional usa CSMA/CD com velocidade de dados de 10 Mbps e
domnio de coliso de 2.500 metros.
A camada de enlace de dados da Ethernet consiste na subcamada LLC e na sub-
camada MAC.
A subcamada MAC responsvel pelo funcionamento do mtodo de acesso
CSMA/CD.
Cada estao em uma rede Ethernet tem um endereo de 48 bits exclusivo impres-
so em sua NIC (placa de interface de rede).
78 CAPTULO 3 TECNOLOGIAS SUBJACENTES

As implementaes comuns de Ethernet de 10 Mbps so 10BASE5, 10BASE2,


10BASE-T e 10BASE-FL.
A Ethernet rpida usa CSMA/CD com velocidade de dados de 100 Mbps e dom-
nio de coliso de 250 metros.
As implementaes de Ethernet rpida comuns so 100BASE-TX, 100BASE-FX
e 100BASE-T4.
O Gigabit Ethernet tem velocidade de dados de 1000 Mbps. As implementaes
comuns so 1000BASE-SX, 1000BASE-LX e 1000BASE-T.
O padro IEEE 802.11 para redes locais sem fio define dois conjuntos de servios:
BSS (conjunto bsico de servios) e ESS (conjunto estendido de servios). Um ESS
consiste em dois ou mais BSSs; cada BSS deve ter um AP (ponto de acesso).
Os mtodos de camada fsica usados pelas redes locais sem fio incluem FHSS
(Frequency Hopping Spread Spectrum), DSSS (Direct Sequence Spread Spec-
trum), OFDM (Orthogonal Frequency-Division Multiplexing) e HR-DSSS (High-
Rate DSSS).
O FHSS um mtodo de gerao de sinal no qual seqncias repetidas de
freqncias portadoras so usadas para proteo contra hackers.
Um bit substitudo por um cdigo de chip no DSSS.
O OFDM especifica que uma origem deve usar todos os canais da largura de banda.
O HR-DSSS o DSSS com um mtodo de codificao chamado CCK (Comple-
mentary Code Keying).
O mtodo de acesso rede local sem fio o CSMA/CA.
A conexo ponto a ponto com a Internet possvel usando linhas telefnicas normais
e modems tradicionais, linhas DSL, modems a cabo, linhas T ou redes SONET.
O PPP (Point-to-Point Protocol) foi projetado para usurios que precisam de uma
conexo ponto a ponto confivel com a Internet.
O PPP opera nas camadas fsica e de enlace de dados do modelo OSI.
X.25 uma rede remota comutada que est sendo substituda por outras tecno-
logias.
A Frame Relay elimina a ampla verificao de erros necessria no protocolo X.25. A
Frame Relay opera nas camadas fsica e de enlace de dados do modelo OSI.
ATM (Asynchronous Transfer Mode) o protocolo de retransmisso de clula
projetado para suportar a transmisso de dados, voz e vdeo usando meios de trans-
misso de alta velocidade de dados, como o cabo de fibra tica.
O pacote de dados ATM chamado de clula e composto de 53 bytes (5 bytes de
cabealho e 48 bytes de carga til).
O padro ATM define trs camadas: a camada de adaptao de aplicativo (AAL),
a camada ATM e a camada fsica.
Existem quatro AALs diferentes, cada uma especfica para um tipo de dado. O
TCP/IP usa AAL5, que converte os dados provenientes de uma rede de troca de
pacotes sem conexo.
Os dispositivos de conexo podem interligar segmentos de uma rede; eles tambm
podem interligar redes para criar uma Internet.
SEO 3.7 CONJUNTO DE PRTICA 79

Existem trs tipos de dispositivos de conexo: repetidores (e hubs), pontes (e co-


mutadores de duas camadas) e roteadores (e comutadores de trs camadas).
Os repetidores geram um sinal na camada fsica. Um hub um repetidor de vrias portas.
As pontes tm acesso aos endereos da estao e podem encaminhar ou filtrar um
pacote em uma rede. Elas operam nas camadas fsica e de enlace de dados. Um
comutador de duas camadas uma ponte sofisticada.
Os roteadores determinam o caminho que um pacote deve tomar. Eles operam nas
camadas fsica, de enlace de dados e de rede. Um comutador de trs camadas um
roteador sofisticado.

3.7 Conjunto de prtica


Exerccios
1. Por que voc acha que um frame Ethernet deve ter um tamanho de dados mnimo?
2. Imagine que o comprimento de um cabo 10BASE5 seja de 2.500 metros. Se a
velocidade de propagao em um cabo coaxial grosso de 200.000.000 metros/
segundo, quanto tempo deve demorar para que um bit viaje do incio ao fim da
rede? Ignore todos os atrasos de propagao no equipamento.
3. Usando os dados do exerccio 2, calcule o tempo mximo que demora para per-
ceber uma coliso. O pior caso ocorre quando os dados so enviados de uma ex-
tremidade do cabo e a coliso acontece na outra extremidade. Lembre-se de que o
sinal precisa fazer uma viagem de ida e volta.
4. A velocidade de dados em um cabo 10BASE5 de 10 Mbps. Quanto tempo de-
mora para criar o menor frame? Mostre seu clculo.
5. Usando os dados dos exerccios 3 e 4, calcule o tamanho mnimo de um frame
Ethernet para que a deteco de coliso funcione corretamente.
6. Uma subcamada MAC Ethernet recebe 42 bytes de dados da subcamada LLC.
Quantos bytes de preenchimento precisam ser acrescentados aos dados?
7. Uma subcamada MAC Ethernet recebe 1.510 bytes de dados de uma camada LLC.
Os dados podem ser encapsulados em um nico frame? Em caso negativo, quantos
frames precisam ser enviados? Qual o tamanho dos dados em cada frame?
8. Compare e contraste o CSMA/CD com o CSMA/CA.
9. Use a Tabela 3.4 para comparar e contrastar os campos nos padres IEEE 802.3 e
802.11.

Atividades de pesquisa
10. A Ethernet tradicional usa uma verso do mtodo de acesso CSMA/CD. Ela
chamada de CSMA/CD com 1-persistente. Encontre alguma informao sobre
esse mtodo.
11. Outra rede local sem fio atualmente a Bluetooth. Encontre alguma informao
sobre essa rede local e como ela pode ser usada na Internet.
12. A DSL usa uma tcnica de modulao chamada de DTM. Encontre alguma infor-
mao sobre essa tcnica de modulao e como ela pode ser usada na DSL.
80 CAPTULO 3 TECNOLOGIAS SUBJACENTES

Tabela 3.4 Exerccio 9


Tamanho do campo Tamanho do campo
Campos
no IEEE 802.3 no IEEE 802.11
Endereo de destino
Endereo de origem
Endereo 1
Endereo 2
Endereo 3
Endereo 4
FC
D/ID
SC
Comprimento do PDU
Dados e preenchimento
Corpo do frame
FCS (CRC)

13. O PPP passa por diferentes fases, que podem ser mostradas em um diagrama de
estado de transio. Encontre o diagrama de transio de uma conexo PPP.
14. Encontre o formato de um pacote LCP (encapsulado em um frame PPP). Inclua
todos os campos, seus cdigos e objetivos.
15. Encontre o formato de um pacote NCP (encapsulado em um frame PPP). Inclua
todos os campos, seus cdigos e objetivos.
16. Encontre o formato de um pacote ICP (encapsulado em um frame PPP). Inclua
todos os campos, seus cdigos e objetivos.
17. O PPP usa dois protocolos de autenticao: PAP e CHAP. Encontre alguma infor-
mao sobre esses dois protocolos e como eles so usados no PPP.
18. Encontre o formato de um pacote PPPoE. Inclua todos os campos e seus objetivos.
19. Descubra como um pacote pode ser encapsulado em clulas ATM usando a cama-
da AAL5.
20. Para evitar loops em uma rede que usa pontes transparentes, pode-se usar o algo-
ritmo de rvore de inundao. Encontre alguma informao sobre esse algoritmo
e como ele pode evitar loops.
SEO 4.2 ENDEREAMENTO COM CLASSE 81

Captulo 4

Endereos IP:
endereamento com classe
Na camada de rede (ou IP), precisamos identificar exclusivamente cada dispositivo
na Internet para possibilitar a comunicao global entre todos os dispositivos. Isso
anlogo ao sistema telefnico, em que cada assinante tem um nmero de telefone ex-
clusivo, alm dos cdigos do pas e de rea como parte do esquema de identificao.
Neste captulo, discutiremos a idia geral existente por trs do endereamento IP
e do endereamento com classe, que so os mecanismos de endereamento da Inter-
net primitiva. No Captulo 5, apresentaremos o endereamento sem classe, que o
mecanismo de endereamento predominante na Internet atual.

4.1 INTRODUO
O identificador usado na camada IP do conjunto de protocolos TCP/IP para identificar
cada dispositivo conectado Internet chamado de endereo de Internet ou endereo
IP. Um endereo IP contm 32 bits e define exclusiva e universalmente a conexo de
um host ou de um roteador Internet.

Um endereo IP tem 32 bits.

Os endereos IP so nicos. Cada um define uma e somente uma conexo In-


ternet. Dois dispositivos na Internet nunca podem ter o mesmo endereo. Entretanto,
se um dispositivo tem duas conexes com a Internet por meio de duas redes, ento ele
tem dois endereos IP.

Os endereos IP so nicos.

Os endereos IP so universais, j que o sistema de endereamento deve ser acei-


to por qualquer host que queira se conectar Internet.

81
82 CAPTULO 4 Endereos IP: endereamento com classe

Espao de endereos
Um protocolo como o IP, que define endereos, tem um espao de endereos. Esse
espao o nmero total de endereos usados pelo protocolo. Se um protocolo usa N
bits para definir um endereo, o espao de endereos 2N, pois cada bit pode ter dois
valores diferentes (0 ou 1) e N bits podem ter 2N valores.
O IPv4 usa endereos de 32 bits, o que significa que o espao de endereos
igual a 232 ou 4.294.967.296 (mais de quatro bilhes). Isso significa que, teorica-
mente, se no houver nenhuma restrio, mais de 4 bilhes de dispositivos poderiam
conectar-se Internet. Veremos em breve que o nmero real muito menor.

O espao de endereos do IPv4 de 232 ou 4.294.967.296.

Notao
Existem trs notaes comuns para mostrar um endereo IP: notao binria, nota-
o com ponto decimal e notao hexadecimal.

Notao binria
Na notao binria, o endereo IP exibido como 32 bits. Para tornar o endereo mais
legvel, normalmente um ou mais espaos so inseridos entre cada octeto (8 bits).
Cada octeto freqentemente referido como um byte. Assim, comum ver um ende-
reo IP referido como um endereo de 32 bits, ou como um endereo de 4 octetos, ou
como um endereo de 4 bytes. A seguir, est um exemplo de endereo IP na notao
binria:

01110101 10010101 00011101 11101010

Notao com ponto decimal


Para tornar o endereo IP mais compacto e mais fcil de ler, os endereos de Internet
normalmente so escritos na forma decimal, com um ponto decimal separando os
bytes. A Figura 4.1 mostra um endereo IP na notao com ponto decimal. Note que,
como cada byte (octeto) tem apenas 8 bits, cada nmero na notao com ponto deci-
mal est entre 0 e 255.

Figura 4.1 Notao com ponto decimal

10000000 00001011 00000011 00011111

128.11.3.31

Os sistemas de numerao binria, decimal e hexadecimal sero examinados no Apndice B.


SEO 4.1 INTRODUO 83

Exemplo 1
Mude os seguintes endereos IP da notao binria para a notao com ponto decimal.
a. 10000001 00001011 00001011 11101111
b. 11000001 10000011 00011011 11111111
c. 11100111 11011011 10001011 01101111
d. 11111001 10011011 11111011 00001111

Soluo
Substitumos cada grupo de 8 bits pelo seu nmero decimal equivalente (consulte o
Apndice B) e adicionamos pontos para separao:
a. 129.11.11.239
b. 193.131.27.255
c. 231.219.139.111
d. 249.155.251.15

Exemplo 2
Mude os seguintes endereos IP da notao com ponto decimal para a notao binria.
a. 111.56.45.78
b. 221.34.7.82
c. 241.8.56.12
d. 75.45.34.78

Soluo
Substitumos cada nmero decimal pelo seu equivalente binrio (consulte o Apndice B):
a. 01101111 00111000 00101101 01001110
b. 11011101 00100010 00000111 01010010
c. 11110001 00001000 00111000 00001100
d. 01001011 00101101 00100010 01001110

Exemplo 3
Encontre o erro, se houver, nos seguintes endereos IP:
a. 111.56.045.78
b. 221.34.7.8.20
c. 75.45.301.14
d. 11100010.23.14.67

Soluo
a. No existe zero esquerda na notao com ponto decimal (045).
b. No podemos ter mais do que quatro nmeros em um endereo IP.
c. Na notao com ponto decimal, cada nmero menor ou igual a 255; portanto,
301 est fora desse intervalo.
d. No permitido misturar notao binria com notao com ponto decimal.
84 CAPTULO 4 Endereos IP: endereamento com classe

Notao hexadecimal
s vezes, vemos um endereo IP na notao hexadecimal. Cada dgito hexadecimal
equivalente a 4 bits. Isso significa que um endereo de 32 bits tem 8 dgitos hexadeci-
mais. Essa notao usada freqentemente em programao de rede.

Exemplo 4
Mude os seguintes endereos IP da notao binria para a notao hexadecimal.
a. 10000001 00001011 00001011 11101111
b. 11000001 10000011 00011011 11111111

Soluo
Substitumos cada grupo de 4 bits por seu equivalente hexadecimal (consulte o Apn-
dice B). Note que a notao hexadecimal normalmente no tem espaos nem pontos
adicionados; contudo, 0X (ou 0x) adicionado no incio, ou o subscrito 16 adicio-
nado no final, para mostrar que o nmero est em hexadecimal.
a. 0X810B0BEF ou 810B0BEF16
b. 0XC1831BFF ou C1831BFF16

4.2 ENDEREAMENTO COM CLASSE


Quando comearam a aparecer, h algumas dcadas, os endereos IP usavam o con-
ceito de classes. Essa arquitetura chamada de endereamento com classe. Em
meados dos anos 1990, uma nova arquitetura, chamada endereamento sem classe,
foi introduzida e finalmente vai superar a arquitetura original. Entretanto, embora
parte da Internet ainda esteja usando endereamento com classe, a migrao est ocor-
rendo muito rapidamente. Neste captulo, apresentamos o conceito de endereamento
com classe; no prximo captulo, discutiremos o endereamento sem classe. O con-
ceito de com classe necessrio para entender o conceito de sem classe.
No endereamento com classe, o espao de endereos IP dividido em cinco clas-
ses: A, B, C, D e E. Cada classe ocupa alguma parte do espao de endereos inteiro. A
Figura 4.2 mostra a ocupao de classe do espao de endereos (uma aproximao).

Figura 4.2 Ocupao do espao de endereos

Espao de endereo

B C D E

Por meio da figura, podemos ver que a classe A abrange metade do espao de
endereos, uma sria falha de projeto. J a classe B abrange 1/4 do espao de endere-
os inteiro, outra falha de projeto. A classe C abrange 1/8 do espao de endereos e as
classes D e E abrangem cada uma 1/16 do espao de endereos. A Tabela 4.1 mostra
o nmero de endereos em cada classe.
SEO 4.2 ENDEREAMENTO COM CLASSE 85

Tabela 4.1 Endereos por classe

Classe Nmero de endereos Porcentagem


A 231 = 2.147.483.648 50%
B 230 = 1.073.741.824 25%
C 229 = 536.870.912 12,5%
D 228 = 268.435.456 6,25%
E 228 = 268.435.456 6,25%

No endereamento com classe, o espao de endereos dividido em cinco classes: A, B, C, D e E.

Reconhecendo as classes
Podemos descobrir a classe de um endereo quando ele dado em notao binria ou
em notao com ponto decimal.

Descobrindo a classe em notao binria


Se o endereo dado em notao binria, os primeiros bits podem nos informar ime-
diatamente a classe do endereo, como se v na Figura 4.3.

Figura 4.3 Descobrindo a classe em notao binria

Primeiro byte Segundo byte Terceiro byte Quarto byte


Classe A 0

Classe B 10

Classe C 110

Classe D 1110

Classe E 1111

possvel seguir o procedimento mostrado na Figura 4.4 para verificar os bits


sistematicamente e descobrir a classe. O procedimento pode ser programado facil-
mente em qualquer linguagem.

Figura 4.4 Descobrindo a classe do endereo

Incio

1 1 1 1

0 0 0 0

Classe: A Classe: B Classe: C Classe: D Classe: E


86 CAPTULO 4 Endereos IP: endereamento com classe

Note que alguns endereos especiais caem na classe A ou E. Enfatizamos que


esses endereos especiais so excees da classificao; eles sero discutidos poste-
riormente neste captulo.

Exemplo 5
Como podemos provar que temos 2.147.483.648 endereos na classe A?

Soluo
Na classe A, somente 1 bit define a classe. Os 31 bits restantes esto disponveis para
o endereo. Com 31 bits, podemos ter 231 ou 2.147.483.648 endereos.

Exemplo 6
Descubra a classe de cada endereo:
a. 00000001 00001011 00001011 11101111
b. 11000001 10000011 00011011 11111111
c. 10100111 11011011 10001011 01101111
d. 11110011 10011011 11111011 00001111

Soluo
Veja o procedimento da Figura 4.4.
a. O primeiro bit 0. Esse um endereo de classe A.
b. Os 2 primeiros bits so 1; o terceiro bit 0. Esse um endereo de classe C.
c. O primeiro bit 0; o segundo bit 1. Esse um endereo de classe B.
d. Os 4 primeiros bits so 1. Esse um endereo de classe E.

Descobrindo a classe na notao com ponto decimal


Quando o endereo dado na notao com ponto decimal, precisamos examinar
apenas o primeiro byte (nmero) para determinar a classe do endereo. Cada classe
tem um intervalo de nmeros especfico. A Figura 4.5 mostra a idia.

Figura 4.5 Descobrindo a classe na notao decimal

Primeiro byte Segundo byte Terceiro byte Quarto byte


Classe A 0 a 127
Classe B 128 a 191
Classe C 192 a 223
Classe D 224 a 239
Classe E 240 a 255

Isso significa que, se o primeiro byte (em decimal) estiver entre 0 e 127, a classe
A. Se o primeiro byte estiver entre 128 e 191, a classe B. E assim por diante.
SEO 4.2 ENDEREAMENTO COM CLASSE 87

Exemplo 7
Descubra a classe de cada endereo:
a. 227.12.14.87
b. 193.14.56.22
c. 14.23.120.8
d. 252.5.15.111
e. 134.11.78.56

Soluo
a. O primeiro byte 227 (entre 224 e 239); a classe D.
b. O primeiro byte 193 (entre 192 e 223); a classe C.
c. O primeiro byte 14 (entre 0 e 127); a classe A.
d. O primeiro byte 252 (entre 240 e 255); a classe E.
e. O primeiro byte 134 (entre 128 e 191); a classe B.

Exemplo 8
No Exemplo 5, mostramos que a classe A tem 231 (2.147.483.648) endereos. Como
podemos provar esse mesmo fato usando notao com ponto decimal?

Soluo
Os endereos da classe A variam de 0.0.0.0 a 127.255.255.255. Precisamos mostrar
que a diferena entre esses dois nmeros 2.147.483.648. Esse um bom exerccio,
pois mostra como definir o intervalo entre dois endereos. Observamos que estamos
tratando com nmeros de base 256 aqui. Cada byte na notao tem um peso. Os pesos
so os seguintes (consulte o Apndice B).

2563, 2562, 2561, 2560

Agora, para descobrirmos o valor inteiro de cada nmero, multiplicamos cada byte
por seu peso:

ltimo endereo: 127 2563 + 255 2562 + 255 2561 + 255 2560 = 2.147.483.647
Primeiro endereo: = 0

Se subtrairmos o primeiro do ltimo e somarmos 1 ao resultado (lembre-se de que


sempre somamos 1 para obter o intervalo), obteremos 2.147.483.648 ou 231.

Netid e hostid
No endereamento com classe, um endereo IP nas classes A, B e C dividido em
netid e hostid. Essas partes tm comprimentos variveis, dependendo da classe do
endereo. A Figura 4.6 mostra os bytes netid e hostid. Note que as classes D e E no
so divididas em netid e hostid por motivos que discutiremos posteriormente.
Na classe A, 1 byte define o netid e 3 bytes definem o hostid. Na classe B, 2 bytes
definem o netid e 2 bytes definem o hostid. Na classe C, 3 bytes definem o netid e
1 byte define o hostid.
88 CAPTULO 4 Endereos IP: endereamento com classe

Figura 4.6 Netid e hostid

Byte 1 Byte 2 Byte 3 Byte 4

Classe A Netid Hostid

Classe B Netid Hostid

Classe C Netid Hostid

Classe D Endereo multicast

Classe E Reservado para uso futuro

Classes e blocos
Um problema do endereamento com classe que cada classe dividida em um nmero
fixo de blocos, cada bloco com um tamanho invarivel. Vamos ver cada classe.

Classe A
A classe A dividida em 128 blocos, cada um com um netid diferente. O primeiro
bloco abrange os endereos de 0.0.0.0 a 0.255.255.255 (netid 0). O segundo bloco
abrange os endereos de 1.0.0.0 a 1.255.255.255 (netid 1).O ltimo bloco abrange os
endereos de 127.0.0.0 a 127.255.255.255 (netid 127). Note que, para cada bloco de
endereos, o primeiro byte (netid) o mesmo, mas os outros 3 bytes (hostid) podem
assumir qualquer valor no intervalo dado.
O primeiro e o ltimo blocos nessa classe so reservados para propsitos espe-
ciais, conforme discutiremos em breve. Alm disso, um bloco (netid 10) usado para
endereos privados. Os 125 blocos restantes podem ser atribudos s organizaes.
Isso significa que o nmero total de organizaes que podem ter endereos de classe
A de apenas 125. Entretanto, cada bloco dessa classe contm 16.777.216 endereos,
o que significa que a organizao deve ser realmente grande para usar todos eles. A
Figura 4.7 mostra os blocos na classe A.
A Figura 4.7 tambm mostra como uma organizao que recebe um bloco com netid
73 usa seus endereos. O primeiro endereo do bloco usado para identificar a organiza-
o para o restante da Internet. Esse endereo chamado de endereo de rede; ele define
a rede da organizao e no hosts individuais. A organizao no pode usar o ltimo ende-
reo; ele reservado para um propsito especial, conforme veremos em breve.
Os endereos de classe A foram projetados para grandes organizaes com um
grande nmero de hosts ou roteadores ligados sua rede. Entretanto, o nmero de
endereos em cada bloco, 16.777.216, provavelmente maior do que as necessidades
de quase todas as organizaes. Muitos endereos so desperdiados nessa classe.

Milhes de endereos de classe A so desperdiados.

Classe B
A classe B dividida em 16.384 blocos, cada um com um netid diferente. Dezesseis blo-
cos so reservados para endereos privados, deixando 16.368 blocos para atribuir s or-
ganizaes. O primeiro bloco abrange os endereos de 128.0.0.0 a 128.0.255.255 (netid
SEO 4.2 ENDEREAMENTO COM CLASSE 89

Figura 4.7 Blocos na classe A

Classe A
Netid 0
73 comum a todos os endereos
0.0.0.0
73.0.0.0 Bloco
73.0.0.1 Endereo especial
de rede 0.255.255.255
73.0.0.2
Netid 73
73.0.0.0
73.8.17.2
73.255.255.255

Netid 127
73.255.255.254
127.0.0.0
Bloco
73.255.255.255 (Especial) especial
127.255.255.255

128 blocos: 16.777.216 endereos em cada bloco

128.0). O ltimo bloco abrange os endereos de 191.255.0.0 a 191.255.255.255 (netid


191.255). Note que, para cada bloco de endereos, os 2 primeiros bytes (netid) so
iguais, mas os outros 2 bytes (hostid) podem assumir qualquer valor no intervalo dado.
Existem 16.368 blocos que podem ser atribudos. Isso significa que o nmero
total de organizaes que podem ter um endereo de classe B igual a 16.368. Entre-
tanto, como cada bloco nessa classe contm 65.536 endereos, a organizao deve ser
grande o suficiente para usar todos eles. A Figura 4.8 mostra os blocos na classe B.

Figura 4.8 Blocos na classe B

Classe B
Netid 128.0
180.8 comum a todos os endereos 128.0.0.0
180.8.0.0
180.8.0.1 Endereo
128.0.255.255
de rede
180.8.0.2
Netid 180.8
180.8.0.0
180.8.17.9
180.8.255.255

180.8.255.254 Netid 191.255


191.255.0.0
180.8.255.255 (Especial)
191.255.255.255

16.384 blocos: 65.536 endereos em cada bloco


90 CAPTULO 4 Endereos IP: endereamento com classe

A Figura 4.8 tambm mostra como uma organizao que recebe um bloco com
netid 180.8 usa seus endereos. O primeiro endereo o de rede; o ltimo endereo
reservado para um propsito especial, conforme veremos em breve.
Os endereos de classe B foram projetados para organizaes de porte mdio, que
podem ter dezenas de milhares de hosts ou roteadores ligados rede. Entretanto, o nmero
de endereos em cada bloco, 65.536, maior do que as necessidades da maioria das orga-
nizaes de porte mdio. Muitos endereos tambm so desperdiados nessa classe.

Muitos endereos de classe B so desperdiados.

Classe C
A classe C dividida em 2.097.152 blocos, cada um com um netid diferente. So usa-
dos 256 blocos para endereos privados, deixando 2.096.896 blocos para atribuir s
organizaes. O primeiro bloco abrange os endereos de 192.0.0.0 a 192.0.0.255 (netid
192.0.0). O ltimo bloco abrange os endereos de 223.255.255.0 a 223.255.255.255
(netid 223.255.255). Note que, para cada bloco de endereos, os primeiros 3 bytes
(netid) so iguais, mas o byte restante (hostid) pode assumir qualquer valor no inter-
valo dado.
Existem 2.096.896 blocos que podem ser atribudos. Isso significa que o nmero
total de organizaes que podem ter um endereo de classe C 2.096.896. Entretanto,
cada bloco nessa classe contm 256 endereos, o que significa que a organizao deve
ser pequena o suficiente para precisar de menos de 256 endereos. A Figura 4.9 mostra
os blocos na classe C.

Figura 4.9 Blocos na classe C

Classe C
Netid 192.0.0
200.11.8 comum a todos os endereos 192.0.0.0
200.11.8.0
200.11.8.1 Endereo
192.0.0.255
de rede
200.11.8.2
Netid
200.11.8
200.11.8.0
200.11.8.45
200.11.8.255

Netid
200.11.8.254 223.255.255
223.255.255.0
200.11.8.255 (Especial)
223.255.255.255

2.097.152 blocos: 256 endereos em cada bloco

A Figura 4.9 tambm mostra como uma organizao que recebe um bloco com
netid 200.11.8 usa os endereos. O primeiro endereo o de rede; o ltimo endereo
reservado para um propsito especial, conforme veremos em breve.
SEO 4.2 ENDEREAMENTO COM CLASSE 91

Os endereos de classe C foram projetados para organizaes pequenas com pou-


cos hosts ou roteadores ligados a suas redes. O nmero de endereos em cada bloco
to limitado que a maioria das organizaes no quer um bloco nessa classe.

O nmero de endereos na classe C menor do que as necessidades da maioria das


organizaes.

Classe D
Existe apenas um bloco de endereos de classe D. Ele projetado para comunicao
multicast, conforme veremos em uma seo posterior. Cada endereo nessa classe
usado para definir um grupo de hosts na Internet. Quando um grupo recebe um ende-
reo nessa classe, todo host que seja membro desse grupo ter um endereo multicast,
alm de seu endereo normal (unicast).

Os endereos de classe D so usados para comunicao multicast; existe apenas um


bloco nessa classe.

Classe E
Existe apenas um bloco de endereos de classe E. Eles foram projetados para uso
como endereos reservados.

Os endereos de classe E so reservados para propsitos futuros; a maior parte do bloco


desperdiada.

Endereos de rede
Os endereos de rede desempenham um papel muito importante no endereamento
com classe. Um endereo de rede tem vrias propriedades:
1. O endereo de rede o primeiro endereo no bloco.
2.O endereo de rede define a rede para o resto da Internet. Em captulos posteriores,
aprenderemos que os roteadores direcionam um pacote com base no endereo de
rede.
3. Dado o endereo de rede, podemos descobrir a classe do endereo, alm do bloco
e do intervalo dos endereos no bloco.

No endereamento com classe, o endereo de rede (o primeiro endereo no bloco) o que


atribudo organizao. O intervalo de endereos pode ser inferido automaticamente
com base no endereo de rede.

Exemplo 9
Dado o endereo de rede 17.0.0.0, descubra a classe, o bloco e o intervalo dos ende-
reos.
Soluo
A classe A, pois o primeiro byte est entre 0 e 127. O bloco tem o netid 17. Os en-
dereos variam de 17.0.0.0 a 17.255.255.255.
Exemplo 10
Dado o endereo de rede 132.21.0.0, descubra a classe, o bloco e o intervalo dos endereos.
92 CAPTULO 4 Endereos IP: endereamento com classe

Soluo
A classe B, pois o primeiro byte est entre 128 e 191. O bloco tem o netid 132.21.
Os endereos variam de 132.21.0.0 a 132.21.255.255.

Exemplo 11
Dado o endereo de rede 220.34.76.0, descubra a classe, o bloco e o intervalo dos
endereos.

Soluo
A classe C, pois o primeiro byte est entre 192 e 223. O bloco tem o netid 220.34.76.
Os endereos variam de 220.34.76.0 a 220.34.76.255.

Informaes suficientes
O leitor pode ter notado que, no endereamento com classe, o endereo de rede forne-
ce informaes suficientes sobre a rede. Dado o endereo de rede, podemos descobrir
o nmero de endereos no bloco. O motivo que o nmero de endereos em cada
bloco predeterminado. Todos os blocos na classe A tm o mesmo intervalo, assim
como todos os blocos nas classes B e C.

Mscara
Na seo anterior, dissemos que, se o endereo de rede for dado, podemos descobrir o blo-
co e o seu intervalo de endereos. E quanto ao inverso? Se for dado um endereo, podemos
descobrir o endereo de rede (o endereo inicial no bloco)? Isso importante porque, para
direcionar um pacote para a rede correta, um roteador precisa extrair um endereo de rede
do endereo de destino (um endereo de host) no cabealho do pacote.
Uma maneira de descobrir o endereo de rede saber primeiro qual a classe do ende-
reo e o netid. Ento, configuramos o hostid como zero para descobrir o endereo de rede.
Por exemplo: se for dado o endereo 134.45.78.2, podemos dizer imediatamente que o en-
dereo pertence classe B. O netid 134.45 (2 bytes) e o endereo de rede 134.45.0.0.
O mtodo acima possvel se no tivermos subdividido a rede; isto , se no tiver-
mos dividido a rede em sub-redes. Um procedimento geral que pode ser usado envolve
uma mscara para descobrir o endereo de rede com base em um endereo dado.

Conceito
Uma mscara um nmero de 32 bits que fornece o primeiro endereo do bloco (o
endereo de rede) quando aplicada a operao lgica E em nvel de bit com um en-
dereo do bloco. A Figura 4.10 mostra o conceito de mascaramento.

Operao lgica E
O mascaramento usa a operao lgica E em nvel de bit, definida na cincia da
computao. A operao aplicada bit por bit no endereo e na mscara. Para nossos
objetivos, basta saber que a operao lgica E faz o seguinte:
1. Se o bit na mscara for 1, o bit correspondente no endereo mantido na sada
(nenhuma alterao).
2. Se o bit na mscara for 0, o resultado na sada um bit 0.
SEO 4.2 ENDEREAMENTO COM CLASSE 93

Figura 4.10 Conceito de mascaramento

Mscara

Um endereo Operao Endereo


no bloco lgica E Inicial

Em outras palavras, os bits no endereo correspondentes aos valores 1 so preserva-


dos na mscara (permanecem 0 ou 1, como estavam) e os bits correspondentes aos
valores 0 mudam para 0 na mscara. A Figura 4.11 mostra os dois casos.

Figura 4.11 Operao lgica E

Mscara Mscara
1 0

Endereo X E X Endereo X E 0

Mscaras padro
Na operao lgica E do endereamento com classe, existem trs mscaras, uma para
cada classe. A Tabela 4.2 mostra a mscara de cada classe. Para a classe A, a mscara
constituda de oito valores 1 e de 24 valores 0. Para a classe B, a mscara tem 16 valores
1 e 16 valores 0. Para a classe C, a mscara contm 24 valores 1 e 8 valores 0. Os va-
lores 1 preservam o netid; os valores 0 configuram o hostid como 0. Lembre-se de que
o endereo de rede de qualquer classe o netid, com o hostid apenas com valores 0. A
Tabela 4.2 mostra a mscara padro de cada classe.
Tabela 4.2 Mscaras padro

Classe Mscara em binrio Mscara em decimal com pontos


A 11111111 00000000 00000000 00000000 255.0.0.0
B 11111111 11111111 00000000 00000000 255.255.0.0
C 11111111 11111111 11111111 00000000 255.255.255.0

Note que o nmero de valores 1 em cada classe corresponde ao nmero de bits


no netid, e o nmero de valores 0 corresponde ao nmero de bits no hostid. Em outras
palavras, quando a operao lgica E usada em uma mscara e em um endereo, o
netid mantido e o hostid configurado com valores 0.

O endereo de rede o endereo inicial de cada bloco. Ele pode ser descoberto
aplicando-se a mscara padro em qualquer um dos endereos do bloco (incluindo ele
prprio). Ele mantm o netid do bloco e configura o hostid como zero.
94 CAPTULO 4 Endereos IP: endereamento com classe

Aplicando as mscaras
Aplicar a mscara em uma rede sem sub-redes simples. Duas regras podem ajudar a
encontrar o endereo de rede sem aplicar a operao lgica E em cada bit.
1. Se o byte da mscara for 255, mantenha o byte correspondente no endereo.
2. Se o byte da mscara for 0, configure o byte correspondente como 0.

Exemplo 12
Dado o endereo 23.56.7.91, encontre o endereo inicial (endereo de rede).

Soluo
A mscara padro 255.0.0.0, o que significa que somente o primeiro byte preserva-
do e os outros 3 bytes so configurados como 0. O endereo de rede 23.0.0.0.

Exemplo 13
Dado o endereo 132.6.17.85, encontre o endereo inicial (endereo de rede).

Soluo
A mscara padro 255.255.0.0, o que significa que os 2 primeiros bytes so preser-
vados e os outros 2 bytes so configurados como 0. O endereo de rede 132.6.0.0.

Exemplo 14
Dado o endereo 201.180.56.5, encontre o endereo inicial (endereo de rede).

Soluo
A mscara padro 255.255.255.0, o que significa que os 3 primeiros bytes so pre-
servados e o ltimo byte configurado como 0. O endereo de rede 201.180.56.0.

Note que no devemos aplicar a mscara padro de uma classe em um endereo


pertencente a outra classe.

Notao CIDR
Embora no endereamento com classe cada endereo tenha uma mscara padro, s vezes
conveniente (e compatvel com o endereamento sem classe, conforme mostra o prxi-
mo captulo) indicar a mscara padro explicitamente. A notao CIDR, ou roteamento
entre domnios sem classe, usada para esse propsito. Nessa notao, o nmero de
valores 1 na mscara adicionado aps uma barra no fim do endereo. Por exemplo: o
endereo 18.46.74.10, que um endereo de classe A com a mscara 255.0.0.0, escrito
como 18.46.74.10/8 para mostrar que existem oito valores 1 na mscara. Analogamente,
o endereo 141.24.74.69 escrito como 141.24.74.69/16 para mostrar que se trata de um
endereo de classe B e que a mscara tem 16 valores 1. Do mesmo modo, o endereo
200.14.70.22 escrito como 200.14.70.22/24. No prximo captulo, veremos que a nota-
o CIDR particularmente til no endereamento sem classe.
SEO 4.3 OUTROS PROBLEMAS 95

Esgotamento de endereos
Devido ao esquema de endereamento com classe e ao rpido crescimento da In-
ternet, os endereos disponveis esto quase esgotados. Apesar disso, o nmero de
dispositivos na Internet muito menor do que o espao de endereos de 232. Esta-
mos sem endereos de classes A e B, e um bloco de classe C pequeno demais para
a maioria das organizaes de mdio porte. Posteriormente, discutiremos algumas
solues para esse problema.

4.3 OUTROS PROBLEMAS


Nesta seo, discutiremos alguns outros problemas relacionados ao endereamento
em geral e ao endereamento com classe em particular.

Dispositivos multihomed
Um endereo de Internet define a conexo do n com sua rede. Portanto, qualquer
dispositivo conectado a mais de uma rede deve ter mais de um endereo de Internet.
Na verdade, um dispositivo tem um endereo diferente para cada rede conectada
a ele. Um computador conectado a diferentes redes chamado de multihomed e
ter mais de um endereo, cada um deles possivelmente pertencente a uma classe
diferente. Um roteador deve estar conectado a mais de uma rede, caso contrrio
no poder fazer o roteamento. Portanto, um roteador definitivamente tem mais
de um endereo IP, um para cada interface. Na Figura 4.12, temos um computador
multihomed e um roteador. O computador est conectado a duas redes, e seus dois
endereos IP refletem isso. Do mesmo modo, o roteador est conectado a trs redes
e, portanto, tem trs endereos IP.

Figura 4.12 Dispositivos multihomed

Host multihomed

123.50.16.90 141.14.22.9

Rede Rede
Roteador
123.70.9.111 141.14.67.80

205.67.71.23
Rede

Localizao e no identificao
Um endereo de Internet define a localizao na rede de um dispositivo, e no sua
identidade. Em outras palavras, como um endereo de Internet constitudo de duas
96 CAPTULO 4 Endereos IP: endereamento com classe

partes (netid e hostid), ele s pode definir a conexo de um dispositivo com uma
rede especfica. Conseqentemente, a mudana de um computador de uma rede para
outra significa que seu endereo IP deve ser alterado.

Endereos especiais
Algumas partes do espao de endereos so usadas para endereos especiais (consulte
a Tabela 4.3).
Tabela 4.3 Endereos especiais

Endereo especial Netid Hostid Origem ou destino


Endereo de rede Especfico Todos os valores 0 Nenhum
Endereo broadcast direto Especfico Todos os valores 1 Destino
Endereo broadcast Todos os valores 1 Todos os valores 1 Destino
limitado
Este host nesta rede Todos os valores 0 Todos os valores 0 Origem
Host especfico nesta rede Todos os valores 0 Especfico Destino
Endereo de retorno 127 Qualquer um Destino

Endereo de rede
J abordamos o assunto dos endereos de rede. O primeiro endereo em um bloco (nas
classes A, B e C) define o endereo de rede. A Figura 4.13 mostra trs exemplos de
endereo de rede, um para cada classe.

Figura 4.13 Endereo de rede

Netid Hostid
Especfico Todos 0

123.50.16.90 123.65.7.34 221.45.71.64 221.45.71.126


123.90.123.4 221.45.71.20

123.0.0.0 141.14.0.0 221.45.71.0


Classe A Classe C
141.14.22.8
141.14.45.9 141.14.67.64
Classe B

Endereo broadcast direto


Nas classes A, B e C, se o hostid tiver todos os valores iguais a 1, o endereo chamado
de endereo broadcast direto. Ele usado por um roteador para enviar um pacote a
todos os hosts em uma rede especfica. Todos os hosts aceitaro um pacote que tenha
esse tipo de endereo de destino. Note que esse endereo s pode ser usado como ende-
reo de destino em um pacote IP. Note ainda que esse endereo especial tambm reduz
o nmero de hostids disponveis para cada netid nas classes A, B e C.
SEO 4.3 OUTROS PROBLEMAS 97

Na Figura 4.14, o roteador envia um datagrama usando um endereo IP de destino


com um hostid cujos valores so todos iguais a 1. Os dispositivos nessa rede recebem
e processam o datagrama.

Figura 4.14 Exemplo de endereo broadcast direto

Netid Hostid
Especfico Todos os valores iguais a 1

221.45.71.64 221.45.71.126
221.45.71.20

Rede

Classe C
O endereo broadcast direto usado Endereo IP de destino:
por um roteador para enviar uma mensagem 221.45.71.255
a todos os hosts em uma rede local. Todo
Hostid: 255
host/roteador recebe e processa o pacote
com um endereo broadcast direto.

Endereo broadcast limitado


Nas classes A, B e C, um endereo com todos os valores iguais a 1 para o netid e para
o hostid (32 bits) define um endereo broadcast na rede atual. Um host que queira
enviar uma mensagem para todos os outros hosts pode usar esse endereo como en-
dereo de destino em um pacote IP. Entretanto, um roteador bloquear um pacote que
tenha esse tipo de endereo para confinar o broadcast na rede local. Note que esse
endereo pertence classe E. Na Figura 4.15, um host envia um datagrama usando um
endereo IP de destino composto por todos os valores iguais a 1. Todos os dispositivos
nessa rede recebem e processam esse datagrama.

Figura 4.15 Exemplo de endereo broadcast limitado

Netid e hostid
Todos os valores iguais a 1

Endereo IP de destino:
255.255.255.255

221.45.71.64 221.45.71.126
221.45.71.20

Rede

Um endereo broadcast limitado usado por O roteador bloqueia o


um host para enviar um pacote a cada host na mesma rede. pacote broadcast limitado
Entretanto, o pacote bloqueado pelos roteadores para
confin-lo na rede local.
98 CAPTULO 4 Endereos IP: endereamento com classe

Este host nesta rede


Se um endereo IP composto apenas de valores 0, significa este host nesta rede. Essa
forma usada por um host no momento da inicializao, quando ele no conhece seu
endereo IP. O host envia um pacote IP para um servidor de inicializao, usando esse
endereo como origem e um endereo broadcast limitado como destino, para descobrir
seu prprio endereo. Note que esse endereo s pode ser usado como endereo de ori-
gem. Note tambm que esse endereo sempre de classe A, independentemente da rede.
Isso reduz o nmero de blocos na classe A para um (veja a Figura 4.16).

Figura 4.16 Exemplo de este host nesta rede

Netid e hostid
Todos os valores iguais a 0

Endereo IP de origem:
0.0.0.0
221.45.71.140
?.?.?.?

Servidor de
Rede inicializao

Um host que no saiba seu endereo IP usa o endereo


IP 0.0.0.0 como endereo de origem e
255.255.255.255 como endereo de destino para enviar
uma mensagem para um servidor de inicializao.

Host especfico nesta rede


Um endereo IP com um netid constitudo apenas de valores 0 significa um host
especfico nesta rede. Ele usado por um host para enviar uma mensagem a outro
host na mesma rede. Como o pacote bloqueado pelo roteador, essa uma maneira
de confin-lo na rede local. Note que ele pode ser usado apenas para um endereo de
destino. Note tambm que, na verdade, ele um endereo de classe A, independente-
mente da rede (veja a Figura 4.17).

Figura 4.17 Exemplo de host especfico nesta rede

Netid Hostid
Todos os valores iguais a 0 Especfico

Endereo IP de destino:
0.0.0.64
221.45.71.64 221.45.71.126
221.45.71.20
221.45.71.12

Rede

Esse endereo usado por um roteador ou host


para enviar uma mensagem a um host especfico na mesma rede.
SEO 4.3 OUTROS PROBLEMAS 99

Endereo de retorno
O endereo IP com o primeiro byte igual a 127 usado como endereo de retorno
(loopback), que utilizado para testar o software em uma mquina. Quando esse
endereo usado, um pacote nunca sai da mquina; ele simplesmente retorna ao
software do protocolo. Ele pode ser usado para testar o software de IP. Por exemplo:
um aplicativo, como o ping, pode enviar um pacote com um endereo de retorno
como endereo de destino para verificar se o software de IP capaz de receber e
processar um pacote. Outro exemplo: o endereo de retorno pode ser usado por um
processo cliente (um programa aplicativo em execuo) para enviar uma mensagem
a um processo servidor na mesma mquina. Note que isso s pode ser usado como en-
dereo de destino em um pacote IP. Note tambm que, na verdade, esse um endereo
de classe A. Isso reduz o nmero de blocos na classe A para 1 (veja a Figura 4.18).

Figura 4.18 Exemplo de endereo de retorno

Netid e hostid
127.X.Y.Z

Processo 1 Processo 2

TCP ou UDP

IP

Endereo de destino:
127.x.y.z
221.45.71.12

Rede

Um pacote com um endereo de


retorno no atingir a rede.

Endereos privados
Vrios blocos de cada classe so designados para uso privado. Eles no so reconhe-
cidos globalmente. Esses blocos aparecem na Tabela 4.4. Esses endereos so usados
isoladamente ou em conexo com as tcnicas de transformao de endereo de rede
(consulte o Captulo 26).

Tabela 4.4 Endereos para redes privadas

Classe Netids Blocos


A 10.0.0 1
B 172.16 a 172.31 16
C 192.168.0 a 192.168.255 256
100 CAPTULO 4 Endereos IP: endereamento com classe

Endereos unicast, multicast e broadcast


A comunicao na Internet pode ser obtida usando-se endereos unicast, multicast ou
broadcast.

Endereos unicast
A comunicao unicast de um para um. Quando um pacote enviado de uma origem
particular a um destino particular, ocorre uma comunicao unicast. Todos os sistemas
diretamente conectados Internet tm, pelo menos, um endereo unicast exclusivo.
Os endereos unicast pertencem s classes A, B ou C.

Endereos multicast
A comunicao multicast de um para muitos. Quando um pacote enviado de uma fonte
particular para um grupo de destinos, ocorre uma comunicao multicast. Um endereo
multicast um endereo de classe D. O endereo inteiro define um groupid. Na Internet,
um sistema pode ter um ou mais endereos muticast de classe D (alm de seu endereo
ou endereos unicast). Se um sistema (normalmente um host) tem sete endereos mul-
ticast, significa que ele pertence a sete grupos diferentes. Note que um endereo de classe
D s pode ser usado como endereo de destino e no como endereo de origem.
Na Internet, a comunicao multicast pode ser em nvel local ou em nvel global.
No nvel local, os hosts de uma rede local podem formar um grupo e receber um en-
dereo multicast. No nvel global, hosts de diferentes redes podem formar um grupo
e receber um endereo multicast.

O envio multicast ser discutido em profundidade no Captulo 15.

Endereos multicast atribudos As autoridades da Internet designaram alguns en-


dereos multicast para grupos especficos. Mencionamos dois aqui.
Categoria. Alguns endereos multicast so designados para al gum uso especial. Es-
ses endereos comeam com o prefixo 224.0.0. A Tabela 4.5 mostra alguns deles.

Tabela 4.5 Endereos de categoria


Endereo Grupo
224.0.0.0 Reservado
224.0.0.1 Todos os SISTEMAS nesta SUB-REDE
224.0.0.2 Todos os ROTEADORES nesta SUB-REDE
224.0.0.4 ROTEADORES DVMRP
224.0.0.5 OSPFIGP todos os ROTEADORES
224.0.0.6 OSPFIGP ROTEADORES designados
224.0.0.7 Roteadores ST
224.0.0.8 Hosts ST
224.0.0.9 Roteadores RIP2
224.0.0.10 Roteadores IGRP
224.0.0.11 Agentes mveis
SEO 4.3 OUTROS PROBLEMAS 101

Conferncias. Alguns endereos multicast so usados para conferncias e tele-


conferncias. Esses endereos comeam com o prefixo 224.0.1. A Tabela 4.6 mos-
tra alguns deles.

Tabela 4.6 Endereos para conferncias

Endereo Grupo
224.0.1.7 AUDIONEWS
224.0.1.10 IETF-1-LOW-AUDIO
224.0.1.11 IETF-1-AUDIO
224.0.1.12 IETF-1-VIDEO
224.0.1.13 IETF-2-LOW-AUDIO
224.0.1.14 IETF-2-AUDIO
224.0.1.15 IETF-2-VIDEO
224.0.1.16 MUSIC-SERVICE
224.0.1.17 SEANET-TELEMETRY
224.0.1.18 SEANET-IMAGE

Endereos broadcast
A comunicao broadcast de um para todos. A Internet s permite broadcast em
nvel local. J discutimos dois endereos broadcast usados em nvel local: o endereo
broadcast limitado (todos os valores 1) e o endereo broadcast direto (netid: especfi-
co; hostid: todos os valores 1).
Nenhuma comunicao broadcast permitida em nvel global. Isso significa que
um sistema (host ou roteador) no pode enviar uma mensagem para todos os hosts e
roteadores na Internet. Voc pode imaginar o trfego que resultaria sem essa restrio.

Um exemplo
A Figura 4.19 mostra uma parte de uma internet com cinco redes.
1. Uma rede local com endereo de rede 220.3.6.0 (classe C).
2. Uma rede local com endereo de rede 134.18.0.0 (classe B).
3. Uma rede local com endereo de rede 124.0.0.0 (classe A).
4. Uma rede remota ponto a ponto (linha fragmentada). Essa rede (uma linha T-1,
por exemplo) conecta apenas dois roteadores; no existem hosts. Nesse caso,
para economizar endereos, nenhum endereo de rede atribudo a esse tipo de
rede remota.
5. Uma rede remota comutada (como Frame Relay ou ATM) que pode ser conectada
a muitos roteadores. Mostramos trs. Um roteador conecta a rede remota rede
local da esquerda, outro conecta a rede remota rede local da direita e outro co-
necta a rede remota ao restante da Internet.
102 CAPTULO 4 Endereos IP: endereamento com classe

Figura 4.19 Exemplo de internet

134.18.10.88
220.3.6.1

220.3.6.0

134.18.0.0
134.18.68.44
200.78.6.14

200.78.6.92
Rede remota comutada
R1 200.78.6.0 R2

220.3.6.23

134.18.14.121
200.78.6.146 R3
220.3.6.3

134.18.8.21
Rede remota ponto a ponto
R5

Restante da Internet

R4
124.100.33.77
124.0.0.0

124.42.5.45 124.4.51.66

4.4 SUB-REDES E SUPER-REDES


Nas sees anteriores, discutimos os problemas associados ao endereamento com
classe. Especificamente, os endereos de rede disponveis para atribuio s organiza-
es esto quase se esgotando. Esse fato est ligado demanda por endereos sempre
crescente por parte de organizaes que querem conexo Internet. Nesta seo, dis-
cutiremos duas solues brevemente: sub-redes e super-redes.

Sub-redes
Nas sub-redes, uma rede dividida em vrias sub-redes menores, cada sub-rede com
seu prprio endereo.

Dois nveis de hierarquia


Conforme j aprendemos, um endereo IP tem 32 bits. Uma parte do endereo indica
a rede (netid) e outra parte indica o host (hostid) na rede. Isso significa que h uma
noo de hierarquia no endereamento IP. Para chegarmos a um host na Internet, de-
vemos primeiro atingir a rede, usando a primeira parte do endereo (netid).
SEO 4.4 SUB-REDES E SUPER-REDES 103

Ento, devemos atingir o host em si, usando a segunda parte (hostid). Em outras pala-
vras, os endereos IP so designados com dois nveis de hierarquia.

Os endereos IP so designados com dois nveis de hierarquia.

Entretanto, em muitos casos, esses dois nveis de hierarquia no so suficientes.


Por exemplo: imagine uma organizao com o endereo de rede 141.14.0.0 (um bloco
da classe B). A organizao tem endereamento hierrquico de dois nveis, mas, como
se v na Figura 4.20, no pode ter mais de uma rede fsica. Note que a mscara padro
(255.255.0.0) indica que todos os endereos tm 16 bits em comum. Os bits restantes
definem os diferentes endereos na rede. Note tambm que o endereo de rede o
primeiro endereo no bloco; a parte hostid composta apenas de valores iguais a 0 no
endereo de rede.

Figura 4.20 Uma rede com dois nveis de hierarquia (sem sub-redes)

141.14.0.1 141.14.0.2 141.14.192.2 141.14.255.253 141.14.255.254

Rede: 141.14.0.0 141.14.201.4

R1

Para o restante
da Internet

Com esse esquema, a organizao fica limitada a dois nveis de hierarquia. Os


hosts no podem ser organizados em grupos; todos esto no mesmo nvel. A organiza-
o tem uma nica rede com muitos hosts.
Uma soluo para esse problema a constituio de sub-redes, a diviso adicio-
nal de uma rede em redes menores, chamadas de sub-redes. Por exemplo: a Figura
4.21 mostra a rede da Figura 4.20 dividida em quatro sub-redes.
Nesse exemplo, o restante da Internet no sabe que a rede est dividida em sub-
redes fsicas: as sub-redes ainda aparecem como uma nica rede para o restante da
Internet. Um pacote destinado ao host 141.14.192.2 ainda atinge o roteador R1. En-
tretanto, quando o datagrama chega ao roteador R1, a interpretao do endereo IP
muda. O roteador R1 sabe que a rede 141.14.0.0 est fisicamente dividida em sub-
redes. Ele sabe que o pacote deve ser enviado para a sub-rede 141.14.192.0.

Trs nveis de hierarquia


A adio de sub-redes cria um nvel de hierarquia intermedirio no sistema de ende-
reamento IP. Agora, temos trs nveis: site, sub-rede e host. O site o primeiro nvel.
O segundo nvel a sub-rede. O host o terceiro nvel; ele define a conexo do host
com a sub-rede. Veja a Figura 4.22.
104 CAPTULO 4 Endereos IP: endereamento com classe

Figura 4.21 Uma rede com trs nveis de hierarquia (com sub-redes)

141.14.0.1 141.14.0.2 141.14.63.254 141.14.64.1 141.14.64.2 141.14.127.254

Sub-rede Sub-rede

141.14.44.12

141.14.88.9
141.14.0.0 141.14.64.0

R2 R3

141.14.192.3

141.14.128.3
141.14.192.1 141.14.192.2 141.14.255.254 141.14.128.1 141.14.128.2 141.14.191.254

Sub-rede Sub-rede

141.14.167.20
141.14.201.4

141.14.192.0 141.14.128.0

R1

Site: 141.14.0.0
Para o restante
da Internet

Figura 4.22 Endereos em uma rede com e sem sub-redes

141 14 192 2

Netid Hostid

a. Sem sub-redes

141 14 192 2

Site Subnetid Hostid

b. Com sub-redes
SEO 4.4 SUB-REDES E SUPER-REDES 105

Agora, o roteamento de um datagrama IP envolve trs etapas: envio para o site,


envio para a sub-rede e envio para o host.
Isso anlogo ao nmero de telefone de 10 dgitos nos Estados Unidos. Confor-
me mostra a Figura 4.23, um nmero de telefone dividido em trs nveis: cdigo de
rea, nmero da central e nmero da conexo.

Figura 4.23 Conceito de hierarquia em um nmero de telefone

( 408 ) 864 8902


Cdigo de rea Central Conexo

Mscaras de sub-rede
J discutimos a mscara padro. Ela usada quando uma rede no tem sub-redes.
A mscara padro usada para descobrir o primeiro endereo no bloco ou o ende-
reo de rede. Entretanto, quando uma rede tem sub-redes, a situao diferente.
Devemos ter uma mscara de sub-rede. A mscara de sub-rede tem mais valores 1.
A Figura 4.24 mostra as situaes nas duas redes anteriores (veja as Figuras 4.20
e 4.21). A mscara padro cria o endereo de rede; a mscara de sub-rede cria o
endereo de sub-rede.

Figura 4.24 Mscara padro e mscara de sub-rede

Mscara padro
255.255.0.0

141.14.72.24 141.14.0.0
E
Endereo IP Endereo de rede
a. Sem sub-redes

Mscara de sub-rede
255.255.192.0

141.14.72.24 141.14.64.0
E
Endereo IP Endereo de rede
b. Com sub-redes

Mscara de sub-rede contgua versus no contgua Nos primrdios do uso de sub-


redes, uma mscara de sub-rede no contgua poderia ter sido usada. Com o termo
no contgua queremos dizer sobre uma srie de bits que no so uma seqncia de
valores 1, seguidos de uma seqncia de valores 0, mas uma mistura entre valores 0
e 1. Atualmente, contudo, so usadas apenas mscaras contguas (uma seqncia de
valores 1, seguida de uma seqncia de valores 0).
106 CAPTULO 4 Endereos IP: endereamento com classe

Encontrando o endereo de sub-rede Dado um endereo IP, podemos descobrir


o endereo de sub-rede da mesma maneira que descobrimos o endereo de rede no
captulo anterior. Aplicamos a mscara no endereo.

Exemplo 15
Qual o endereo de sub-rede se o endereo de destino 200.45.34.56 e a mscara de
sub-rede 255.255.240.0?

Soluo
Aplicamos a operao lgica E no endereo e na mscara de sub-rede.
Endereo 11001000 00101101 00100010 00111000
Mscara de sub-rede 1111111 11111111 11110000 00000000
Endereo de sub-rede 11001000 00101101 00100000 00000000

O endereo de sub-rede 200.45.32.0.


Mscara padro e mscara de sub-rede O nmero de valores 1 em uma mscara
padro predeterminado (8, 16 ou 24). Em uma mscara de sub-rede, o nmero de
valores 1 maior do que o nmero de valores 1 na mscara padro correspondente.
Em outras palavras, para uma mscara de sub-rede, alteramos alguns dos valores 0
mais esquerda na mscara padro para valores 1, para fazer a mscara de sub-rede. A
Figura 4.25 mostra a diferena entre uma mscara padro de classe B e uma mscara
de sub-rede para o mesmo bloco.

Figura 4.25 Comparao entre uma mscara padro e uma mscara de sub-rede

255.255.0.0
Mscara padro 11111111 11111111 00000000 00000000
16
255.255.224.0
Mscara de sub-rede 11111111 11111111 111 00000 00000000
3 13

Nmero de sub-redes O nmero de sub-redes pode ser encontrado contando-se os


valores 1 extras adicionados mscara padro para fazer a mscara de sub-rede. Por
exemplo: na Figura 4.25, o nmero de valores 1 extras 3; portanto, o nmero de
sub-redes 23 ou 8.
Nmero de endereos por sub-rede O nmero de endereos por sub-rede pode ser
encontrado contando-se o nmero de valores 0 na mscara de sub-rede. Por exemplo:
na Figura 4.25, o nmero de valores 0 13; portanto, o nmero de endereos possveis
em cada sub-rede 213 = 8.192.

Endereos especiais em sub-redes


Com o uso de sub-redes, dois endereos em cada sub-rede so adicionados na lista
de endereos especiais que discutimos anteriormente. O primeiro endereo em cada
sub-rede (hostid com todos os valores 0) o endereo de sub-rede. O ltimo endereo
em cada sub-rede (hostid com todos os valores 1) reservado para broadcast limitado
dentro da sub-rede. Alguns outros endereos foram originalmente reservados como
endereos especiais, mas com o advento do endereamento sem classe, conforme ve-
remos em breve, essa idia est obsoleta.
SEO 4.4 SUB-REDES E SUPER-REDES 107

Notao CIDR
A notao CIDR tambm pode ser usada quando temos sub-redes. Usando essa notao,
um endereo em uma sub-rede pode ser definido com facilidade. Por exemplo: a nota-
o 141.14.92.3/16 mostra um endereo de classe B, mas o endereo 141.14.192.3/18
afirma que o endereo pertence sub-rede com a mscara 255.255.192.0. Desenvol-
veremos esse conceito quando discutirmos o endereamento sem classe, no prximo
captulo.

Super-redes
Embora os endereos de classes A e B estejam quase esgotados, ainda esto dispon-
veis endereos de classe C. Entretanto, o tamanho de um bloco de classe C com um
nmero mximo de 256 endereos pode no atender s necessidades de uma organiza-
o. Mesmo uma organizao de mdio porte poder precisar de mais endereos.
Uma soluo o uso de super-redes. Nas super-redes, uma organizao pode
combinar vrios blocos de classe C para criar um intervalo maior de endereos. Em
outras palavras, vrias redes so combinadas para criar uma super-rede. Fazendo isso,
uma organizao pode solicitar um conjunto de blocos de classe C, em vez de apenas
um. Por exemplo: uma organizao que precise de 1.000 endereos pode receber qua-
tro blocos de classe C. Ento, ela pode usar esses endereos em uma super-rede, como
se v na Figura 4.26.

Figura 4.26 Uma super-rede

Primeiro endereo Segundo endereo


de classe C de classe C

X.Y.32.255 X.Y.33.1
X.Y.32.2 X.Y.33.253
X.Y.32.1 X.Y.33.255

Para o restante Super-rede


da Internet X.Y.32.0

X.Y.35.254 X.Y.34.1
X.Y.35.253 X.Y.34.2
X.Y.35.1 X.Y.34.255

Quarto endereo Terceiro endereo


de classe C de classe C

Mscara de super-rede
Quando uma organizao recebe um bloco de endereos (classe A, B ou C), o primeiro en-
dereo no bloco e a mscara definem o bloco (o intervalo de endereos). Sempre conhece-
mos esse intervalo de endereos, pois a mscara sempre conhecida (mscara padro).
Quando uma organizao divide seu bloco em sub-redes, o primeiro endereo no
sub-bloco e a mscara de sub-rede definem completamente o sub-bloco (o intervalo
de endereos). Nesse caso, contudo, apenas o primeiro endereo no suficiente;
precisamos ter a mscara de sub-rede.
108 CAPTULO 4 Endereos IP: endereamento com classe

Analogamente, quando uma organizao combina vrios blocos em um super-


bloco, precisamos conhecer o primeiro endereo no bloco e a mscara de super-rede.
Aqui, tambm, apenas o primeiro endereo no pode definir o intervalo; precisamos
de uma mscara de super-rede para descobrir quantos blocos so combinados para
compor um super-bloco.

Nas sub-redes, precisamos do primeiro endereo da sub-rede e da mscara de sub-rede


para definirmos o intervalo de endereos.
Nas super-redes, precisamos do primeiro endereo da super-rede e da mscara de
super-rede para definirmos o intervalo de endereos.

Uma mscara de super-rede o inverso de uma mscara de sub-rede. Uma ms-


cara de sub-rede para a classe C tem mais valores 1 do que a mscara padro para
essa classe. Uma mscara de super-rede para a classe C tem menos valores 1 do que a
mscara padro para essa classe.
A Figura 4.27 mostra a diferena entre uma mscara de sub-rede e uma mscara
de super-rede. Uma mscara de sub-rede que divide um bloco em oito sub-blocos tem
trs valores 1 (23 = 8) a mais do que a mscara padro; uma mscara de super-rede
que combina oito blocos em um nico super-bloco tem trs valores 1 a menos do que
a mscara padro.

Figura 4.27 Comparao de mscaras de sub-rede, padro e de super-rede

Mscara de sub-rede Divide uma rede em 8 sub-redes


11111111 11111111 11111111 111 00000

3 valores
Sub-rede 1 a mais
Mscara padro
11111111 11111111 11111111 000 00000

3 valores
Super-rede 1 a menos
Mscara de super-rede
11111111 11111111 11111 000 000 00000
Combina 8 redes em uma super-rede

Notao CIDR
A notao CIDR tambm pode ser usada quando temos super-redes. Usando-se essa nota-
o, um endereo em uma super-rede pode ser definido com facilidade. Por exemplo: a no-
tao 141.14.192.3/24 mostra um endereo de classe C, mas o endereo 141.14.192.3/21
mostra que o endereo pertence a uma super-rede com a mscara 255.255.248.0.

Obsolescncia
Com o advento do endereamento sem classe, a noo de sub-redes e super-redes dos
endereos com classe est quase obsoleta. Discutimos aqui, brevemente, o conceito do
SEO 4.6 RESUMO 109

ponto de vista histrico para preparar o leitor para o endereamento sem classe no
prximo captulo.

A noo de sub-redes e super-redes dos endereos com classe est quase obsoleta.

4.5 TERMOS-chave
Bloco de endereos Host especfico nesta rede

CIDR (roteamento entre domnios sem Hostid


classe)
Mscara
Dispositivo multihomed
Mscara contgua
Endereamento com classe
Mscara de sub-rede
Endereamento sem classe
Mscara de super-rede
Endereo broadcast direto
Mscara no contgua
Endereo broadcast limitado
Mscara padro
Endereo de classe A
Netid
Endereo de classe B
Notao binria
Endereo de classe C
Notao com ponto decimal
Endereo de classe D

Endereo de classe E Notao hexadecimal

Endereo de rede Operao lgica E

Endereo de retorno Sub-rede

Endereo IP Super-rede

Espao de endereos Uso de sub-redes

Este host nesta rede Uso de super-redes

4.6 RESUMO
Na camada de rede, necessrio um sistema de identificao global que reconhece
exclusivamente cada host e roteador para o envio de um pacote de um host ao outro.
O endereo de Internet (ou endereo IP) composto por 32 bits (para IPv4) que
definem exclusiva e universalmente um host ou roteador na Internet.
A parte do endereo IP que identifica a rede chamada de netid.
A parte do endereo IP que identifica o host ou o roteador na rede chamada
de hostid.
110 CAPTULO 4 Endereos IP: endereamento com classe

Um endereo IP define a conexo de um dispositivo a uma rede.


Existem cinco classes de endereos IP. As classes A, B e C diferem no nmero de hosts
permitidos por rede. A classe D para comunicao multicast e a classe E reservada.
A classe de uma rede facilmente determinada examinando-se o primeiro byte.
Um dispositivo multihomed conectado a vrias redes e tem um endereo IP para
cada rede em que est conectado.
Para as classes A, B e C, um endereo broadcast direto (hostid com todos os va-
lores 1) usado por um roteador para enviar um pacote a todos os hosts em uma
rede especfica.
Um endereo broadcast limitado (com todos os valores 1) usado por um host
para enviar um pacote para todos os hosts em sua rede.
Um endereo IP de origem com todos os valores iguais a 0 usado por um host na
inicializao, caso ele no saiba seu endereo IP.
Um endereo IP de destino com um netid com todos os valores iguais a 0 usado
por um host para enviar um pacote para outro host na mesma rede.
Um endereo de retorno com o primeiro byte igual a 127 usado por um host para
testar seu software interno.
Os endereos de classe A, B ou C so usados principalmente para comunicao unicast.
Os endereos da classe D so usados para comunicao multicast.
A Internet no suporta comunicao broadcast em nvel global.
O uso de sub-redes divide uma rede grande em vrias redes menores.
O uso de sub-redes adiciona um nvel de hierarquia intermedirio no endereamento IP.
Os endereos das classes A, B e C podem ser usados em sub-redes.
Mascaramento de sub-rede um processo que extrai o endereo de sub-rede de
um endereo IP.
Um endereo de rede ou sub-rede obtido pela aplicao da operao lgica E em
nvel de bit no endereo IP e na mscara.
O conceito de endereos especiais no endereamento IP leva s sub-redes.
Uma mscara contgua (uma seqncia de valores 1, seguida de uma seqncia de
valores 0) altamente recomendada.
As super-redes combinam vrias redes em uma rede nica e grande.

4.7 CONJUNTO DE PRTICA

Exerccios
1. Qual o espao de endereos em cada um dos sistemas a seguir?
a. um sistema com endereos de 8 bits
b. um sistema com endereos de 16 bits
c. um sistema com endereos de 64 bits
2. Um espao de endereos tem um total de 1.024 endereos. Quantos bits so ne-
cessrios para representar um endereo?
SEO 4.7 CONJUNTO DE PRTICA 111

3. Um espao de endereos usa trs smbolos: 0, 1 e 2 representam endereos. Se


cada endereo for constitudo de 10 smbolos, quantos endereos esto dispon-
veis nesse sistema?
4. Mude os endereos IP a seguir da notao com ponto decimal para a notao bi-
nria:
a. 114.34.2.8
b. 129.14.6.8
c. 208.34.54.12
d. 238.34.2.1
e. 241.34.2.8
5. Mude os endereos IP a seguir da notao com ponto decimal para a notao he-
xadecimal:
a. 114.34.2.8
b. 129.14.6.8
c. 208.34.54.12
d. 238.34.2.1
e. 241.34.2.8
6. Mude os endereos IP a seguir da notao hexadecimal para a notao binria:
a. 0x1347FEAB
b. 0xAB234102
c. 0x0123A2BE
d. 0x00001111
7. Quantos dgitos so necessrios para definir o netid na notao hexadecimal em
cada uma das classes a seguir?
a. Classe A
b. Classe B
c. Classe C
8. Mude os endereos IP a seguir da notao binria para a notao com ponto decimal:
a. 01111111 11110000 01100111 01111101
b. 10101111 11000000 11111000 00011101
c. 11011111 10110000 00011111 01011101
d. 11101111 11110111 11000111 00011101
e. 11110111 11110011 10000111 11011101
9. Descubra a classe dos endereos IP a seguir:
a. 208.34.54.12
b. 238.34.2.1
c. 114.34.2.8
d. 129.14.6.8
e. 241.34.2.8
112 CAPTULO 4 Endereos IP: endereamento com classe

10. Descubra a classe dos endereos IP a seguir:


a. 11110111 11110011 10000111 11011101
b. 10101111 11000000 11110000 00011101
c. 11011111 10110000 00011111 01011101
d. 11101111 11110111 11000111 00011101
e. 01111111 11110000 01100111 01111101
11. Descubra o netid e o hostid dos endereos IP a seguir:
a. 114.34.2.8
b. 132.56.8.6
c. 208.34.54.12
12. Um host com endereo IP 128.23.67.3 envia uma mensagem para um host com
endereo IP 193.45.23.7. A mensagem passa por algum roteador? Suponha que
no haja sub-redes.
13. Um host com endereo IP 128.23.67.3 envia uma mensagem para um host com
endereo IP 128.45.23.7. A mensagem passa por algum roteador? Suponha que
no haja sub-redes.
14. Um host com endereo IP 128.23.67.3 envia uma mensagem para um host com
endereo IP 128.23.23.7. A mensagem passa por algum roteador? Suponha que
no haja sub-redes.
15. Desenhe o diagrama de uma rede com endereo 8.0.0.0 que esteja conectada por
meio de um roteador a uma rede com endereo IP 131.45.0.0. Escolha endereos
IP para cada interface do roteador. Mostre tambm alguns hosts em cada rede,
com seus endereos IP. Qual a classe de cada rede?
16. Um roteador tem o endereo IP 108.5.18.22. Ele envia um pacote por broadcast
direto para todos os hosts nessa rede. Quais so os endereos IP de origem e des-
tino usados nesse pacote?
17. Um host com endereo IP 108.67.18.70 envia um pacote por broadcast limitado
para todos os hosts na mesma rede. Quais so os endereos IP de origem e destino
usados nesse pacote?
18. Um host com endereo IP 185.67.89.34 precisa de um teste de retorno. Quais so
os endereos de origem e destino?
19. Um host com endereo IP 123.27.19.24 envia uma mensagem para um host com
endereo IP 123.67.89.56 usando o endereo especial host especfico nesta rede.
Quais so os endereos de origem e destino?
20. Um host na classe C que no conhece seu endereo IP quer enviar uma mensagem
para um servidor de inicializao para descobrir seu endereo. Quais so os ende-
reos de origem e destino?
21. Podemos ter um endereo como x.y.z.t/32? Explique.
22. Na classe A, o primeiro endereo em uma rede (endereo de rede) 20.0.0.0. Qual
o 220.000o endereo? Dica: use o sistema de numerao de base 256, discutido
no Apndice B.
23. Em uma rede, o endereo de um computador 201.78.24.56 e o endereo de
outro 201.78.120.202. Quantos endereos intermedirios existem? Dica: use o
sistema de numerao de base 256, discutido no Apndice B.
SEO 4.7 CONJUNTO DE PRTICA 113

24. Em uma sub-rede de classe A, sabemos o endereo IP de um dos hosts e a msca-


ra, conforme dado abaixo:
Endereo IP: 25.34.12.56
Mscara: 255.255.0.0
Qual o primeiro endereo (endereo de sub-rede)?
25. Em uma sub-rede de classe B, sabemos o endereo IP de um dos hosts e a msca-
ra, conforme dado abaixo:
Endereo IP: 125.134.112.66
Mscara: 255.255.224.0
Qual o primeiro endereo (endereo de sub-rede)?
26. Em uma sub-rede de classe C, sabemos o endereo IP de um dos hosts e a msca-
ra, conforme dado abaixo:
Endereo IP: 182.44.82.16
Mscara: 255.255.255.192
Qual o primeiro endereo (endereo de sub-rede)?
27. Descubra a mscara contgua em cada caso:
a. 1.024 sub-redes na classe A
b. 256 sub-redes na classe B
c. 32 sub-redes na classe C
d. 4 sub-redes na classe C
28. Qual o nmero mximo de sub-redes em cada caso?
a. Classe A; mscara 255.255.192.0
b. Classe B; mscara 255.255.192.0
c. Classe C; mscara 255.255.255.192
d. Classe C; mscara 255.255.255.240

Atividades de pesquisa
29. Sua escola ou organizao est usando um endereo com classe? Se sim, descubra
a classe do endereo.
30. Encontre todos os RFCs que tratam de endereos IP.
31. Encontre todos os RFCs que tratam de um endereo de retorno.
32. Encontre todos os RFCs que tratam de endereos privados.
33. Encontre todos os RFCs que tratam de um endereo broadcast direto.
34. Encontre todos os RFCs que tratam de endereos multicast.
SEO 5.1 BLOCOS DE COMPRIMENTO VARIVEL 115

Captulo 5

Endereos IP:
Endereamento sem classe
O uso do endereamento com classe gerou muitos problemas. At meados dos anos
90, um intervalo de endereos significava um bloco de endereos nas classes A, B ou
C. O nmero mnimo de endereos concedidos a uma organizao era 256 (classe C);
o mximo era 16.777.216 (classe A). Entre esses limites, uma organizao podia ter
um bloco de classe B ou vrios blocos de classe C. Essas atribuies de endereo eram
sempre em mltiplos de 256. Entretanto, o que acontecia com uma pequena empresa
que precisasse de apenas 16 endereos? Ou com uma famlia que precisasse de apenas
dois endereos?
Durante os anos 90, os provedores de servios de Internet (ISPs) estavam em
evidncia. Um ISP uma empresa que fornece acesso Internet para indivduos,
pequenas empresas e organizaes de mdio porte que no querem criar um site e
fornecer servios de Internet (como os servios de e-mail) a seus funcionrios. Um
ISP pode fornecer esses servios, pois recebe um grande intervalo de endereos e,
ento, subdivide-os (em grupos de 2, 4, 8, 16 etc.), fornecendo um intervalo a uma
famlia ou a uma pequena empresa. Os clientes so conectados no ISP por meio de um
modem de discagem, DSL ou modem a cabo. Entretanto, cada cliente precisa de um
endereo IP (veremos outras solues, como os endereos privados e a transformao
de endereos de redes, no Captulo 26).
Para facilitar essa evoluo e resolver os problemas do endereamento com clas-
se, em 1996, as autoridades da Internet anunciaram uma nova arquitetura, chamada
de endereamento sem classe, que, finalmente, tornaria o endereamento com classe
obsoleto.

5.1 Blocos de comprimento varivel


No endereamento sem classe, so atribudos blocos de comprimento varivel que
no pertencem a nenhuma classe. Podemos ter um bloco de 2 endereos, 4 endereos,
128 endereos, e assim por diante. Existem algumas restries (que discutiremos em
breve), mas, em geral, um bloco pode variar de muito pequeno a muito grande.
Nessa arquitetura, o espao de endereos inteiro (232 endereos) dividido em
blocos de tamanhos diferentes. Uma organizao recebe um bloco conveniente para
seus objetivos. A Figura 5.1 mostra a arquitetura do endereamento sem classe. Com-
pare essa figura com a Figura 4.2 do Captulo 4.
115
116 CAPTULO 5 Endereos IP: endereamento sem classe

Figura 5.1 Blocos de comprimento varivel

Espao de endereo

Blocos de tamanhos diferentes

Restries
Conforme veremos, o endereamento sem classe resolve muitos problemas. Entretan-
to, so necessrias restries para fazer essa arquitetura funcionar.

Nmero de endereos em um bloco


H apenas uma restrio para o nmero de endereos em um bloco: deve ser uma
potncia de dois (2, 4, 8...). Por exemplo, uma famlia pode receber um bloco de 2 (21)
endereos; uma pequena empresa pode receber um de 16 (24) endereos e uma grande
organizao pode receber um bloco de 1.024 (210) endereos.

Primeiro endereo
O primeiro endereo deve ser divisvel pelo nmero de endereos. Por exemplo: se
um bloco contm 4 endereos, o primeiro deve ser divisvel por 4. Se o bloco contm
16 endereos, o primeiro deve ser divisvel por 16.
Se o bloco tem 256 endereos ou menos, precisamos verificar apenas o byte mais
direita. Se ele tem 65.536 endereos ou menos, precisamos verificar apenas os dois
bytes mais direita, e assim por diante.

Exemplo 1
Qual(is) das seguintes alternativas pode(m) ser o endereo inicial de um bloco que
contm 16 endereos?
a. 205.16.37.32
b. 190.16.42.44
c. 17.17.33.80
d. 123.45.24.52

Soluo
Apenas dois so qualificados (a e c). O endereo 205.16.37.32 qualificado porque 32
divisvel por 16. O endereo 17.17.33.80 qualificado porque 80 divisvel por 16.

Exemplo 2
Qual(is) das seguintes alternativas pode(m) ser o endereo inicial de um bloco que
contm 256 endereos?
a. 205.16.37.32
b. 190.16.42.0
c. 17.17.32.0
d. 123.45.24.52
SEO 5.1 BLOCOS DE COMPRIMENTO VARIVEL 117

Soluo
Neste caso, o byte mais direita deve ser 0. Como mencionamos no Captulo 4, os en-
dereos IP usam aritmtica de base 256. Quando o byte mais direita 0, o endereo
total divisvel por 256. Somente dois endereos so qualificados (b e c).

Exemplo 3
Qual(is) das seguintes alternativas pode(m) ser o endereo inicial de um bloco que
contm 1.024 endereos?
a. 205.16.37.32
b. 190.16.42.0
c. 17.17.32.0
d. 123.45.24.52

Soluo
Neste caso, precisamos verificar dois bytes, pois 1.024 = 4 x 256. O byte mais direita
deve ser divisvel por 256. O segundo byte (a partir da direita) deve ser divisvel
por 4. Apenas um endereo est qualificado (c).

Mscara
No endereamento com classe, a mscara de cada bloco implcita. A mscara para um
bloco de classe A 255.0.0.0 (/8). A mscara para um bloco de classe B 255.255.0.0
(/16). A mscara para um bloco de classe C 255.255.255.0 (/24). Quando dado um
endereo, primeiro podemos descobrir a sua classe (usando o primeiro byte); ento, po-
demos aplicar a mscara para descobrir o endereo inicial e o intervalo de endereos.
No endereamento sem classe, por outro lado, quando dado um endereo, o
bloco ao qual o endereo pertence no pode ser descoberto, a no ser que tenhamos
a mscara. Em outras palavras, no endereamento sem classe, o endereo deve ser
acompanhado pela mscara. Na notao CIDR, a mscara dada com o nmero de
valores 1. Na arquitetura de endereamento sem classe, um endereo normalmente
dado como mostra a Figura 5.2.

Figura 5.2 Formato de endereo no endereamento sem classe

x.y.z.t/n
O n aps a barra define o nmero de bits que so os mesmos em todo endereo
no bloco. Assim, se n 20, isso significa que os 20 bits que esto mais esquerda so
idnticos em cada endereo, com 12 bits diferentes. A partir dessas informaes, po-
demos descobrir facilmente o nmero de endereos no bloco e o ltimo endereo.

Prefixo e comprimento do prefixo Dois termos usados freqentemente no endere-


amento sem classe so o prefixo e o comprimento do prefixo. Prefixo outro nome
para a parte comum do intervalo de endereos (semelhante ao netid). Comprimento do
prefixo o tamanho do prefixo (n, na notao CIDR). H uma relao de um para um
entre uma mscara e um comprimento do prefixo, como mostra a Tabela 5.1.
118 CAPTULO 5 Endereos IP: endereamento sem classe

Tabela 5.1 Comprimentos de prefixo

/n Mscara /n Mscara /n Mscara /n Mscara


/1 128.0.0.0 /9 255.128.0.0 /17 255.255.128.0 /25 255.255.255.128
/2 192.0.0.0 /10 255.192.0.0 /18 255.255.192.0 /26 255.255.255.192
/3 224.0.0.0 /11 255.224.0.0 /19 255.255.224.0 /27 255.255.255.224
/4 240.0.0.0 /12 255.240.0.0 /20 255.255.240.0 /28 255.255.255.240
/5 248.0.0.0 /13 255.248.0.0 /21 255.255.248.0 /29 255.255.255.248
/6 252.0.0.0 /14 255.252.0.0 /22 255.255.252.0 /30 255.255.255.252
/7 254.0.0.0 /15 255.254.0.0 /23 255.255.254.0 /31 255.255.255.254
/8 255.0.0.0 /16 255.255.0.0 /24 255.255.255.0 /32 255.255.255.255

Note que as entradas em destaque so as mscaras-padro das classes A, B e C.


Isso significa que o endereamento com classe um caso especial do endereamento
sem classe na notao CIDR.

O endereamento com classe um caso especial do endereamento sem classe.

Sufixo e comprimento do sufixo Dois termos usados ocasionalmente no endereamento


sem classe so o sufixo e o comprimento do sufixo. O sufixo a parte varivel (semelhante
ao hostid). O comprimento do sufixo o tamanho do sufixo (32 - n) na notao CIDR.

Descobrindo o bloco
No endereamento sem classe, uma organizao recebe um bloco de endereos. O
tamanho do bloco no fixo; ele varia de acordo com as necessidades da organizao.
Entretanto, quando dado um endereo sem classe, podemos descobrir o bloco.
possvel saber o nmero de endereos, alm do primeiro e do ltimo endereo.

Descobrindo o primeiro endereo


No endereamento sem classe, o comprimento do prefixo a mscara. Como no en-
dereamento sem classe h a garantia de que os endereos so contguos e o prefixo
determina o nmero de valores 1, podemos usar a operao lgica E na mscara e
no endereo para descobrir o primeiro endereo. Basta manter os n primeiros bits e
alterar o restante para 0.

Exemplo 4
Qual o primeiro endereo do bloco em que um dos endereos
167.199.170.82/27?

Soluo
O comprimento do prefixo 27, o que significa que devemos manter os primeiros 27
bits como esto e alterar os bits restantes (5) para 0. O processo o seguinte:

Endereo binrio: 10100111 11000111 10101010 01010010


Manter os 27 bits esquerda: 10100111 11000111 10101010 01000000
Resultado na notao CIDR: 167.199.170.64/27
SEO 5.1 BLOCOS DE COMPRIMENTO VARIVEL 119

Primeiro atalho Podemos usar o atalho a seguir para descobrir o primeiro endereo:
1. Divida o comprimento do prefixo em quatro grupos (correspondendo aos quatro
bytes em um endereo) e descubra o nmero de valores 1 em cada grupo.
2. Se o nmero de valores 1 em um grupo for 8, o byte correspondente no primeiro
endereo o mesmo (nenhuma alterao).
3. Se o nmero de valores 1 no grupo for zero (nenhum 1), o byte correspondente no
primeiro endereo 0.
4. Se o nmero de valores 1 em um grupo estiver entre zero e oito, mantemos os bits
correspondentes a esse grupo.

Exemplo 5
Qual o primeiro endereo do bloco em que um dos endereos 140.120.84.24/20?
Soluo
A Figura 5.3 mostra a soluo. O primeiro, segundo e quarto bytes so fceis; para o
terceiro byte, mantemos os bits correspondentes ao nmero de valores 1 nesse grupo.
O primeiro endereo 140.120.80.0/20.

Figura 5.3 Exemplo 5

Endereo IP
140 120 84 24

/n
8 8 4 0

140 120 80 0
Primeiro endereo

84 0 1 0 1 0 1 0 0
Manter os 4 bits esquerda 0 1 0 1 0 0 0 0

Resultado em decimal: 80

Segundo atalho Para evitar o uso de nmeros binrios, fornecemos um mtodo alter-
nativo para um byte que no composto apenas por valores 1 e 0. Escrevemos o byte no
endereo como uma soma de potncias de 2 (128, 64, 32, 16, 8, 4, 2, 1). Se estiver faltando
uma potncia, inserimos um 0 como um espao reservado. Ento, escolhemos as m potn-
cias mais altas, em que m o nmero correspondente ao comprimento do prefixo.

Exemplo 6
Descubra qual o primeiro endereo do bloco em que um dos endereos
140.120.84.24/20.
Soluo
O primeiro, segundo e quarto bytes so encontrados conforme o exemplo anterior.
Para descobrirmos o terceiro byte, escrevemos 84 como a soma das potncias de 2 e
selecionamos apenas as 4 mais esquerda (m 4), como mostra a Figura 5.4. O pri-
meiro endereo 140.120.80.0/20.
120 CAPTULO 5 Endereos IP: endereamento sem classe

Figura 5.4 Exemplo 6

128 64 32 16 8 4 2 1

Escrever 84 como a soma de: 0 64 0 16 0 4 0 0

Selecionar apenas as 4
0 64 0 16
mais esquerda:
Somar para encontrar o resultado: 80

Descobrindo o nmero de endereos no bloco


Descobrir o nmero de endereos no bloco muito simples. O nmero total de ende-
reos no bloco 232n.

Exemplo 7
Descubra qual o nmero de endereos no bloco em que um dos endereos
140.120.84.24/20.
Soluo
O comprimento do prefixo 20. O nmero de endereos no bloco 232-20 ou 212; ou
seja, 4.096. Note que esse um bloco grande, com 4.096 endereos.

Descobrindo o ltimo endereo no bloco


Fornecemos dois mtodos que descobrem o ltimo endereo no bloco. No primeiro
mtodo, somamos o nmero de endereos no bloco menos 1 ao primeiro endereo,
para descobrirmos o ltimo endereo. Note que subtramos 1 porque o primeiro e o l-
timo endereos so includos no nmero de endereos. No segundo mtodo, somamos
o primeiro endereo ao complemento da mscara, que encontrado alterando todos
os valores 0 para 1 e todos os valores 1 para 0.

Exemplo 8
Usando o primeiro mtodo, descubra o ltimo endereo no bloco em que um dos en-
dereos 140.120.84.24/20.
Soluo
Descobrimos, nos exemplos anteriores, que o primeiro endereo 140.120.84.24/20
e o nmero de endereos 4.096. Para descobrirmos o ltimo endereo, precisamos
somar 4.095 (4.096-1) ao primeiro endereo. Para mantermos o formato em notao
decimal com ponto, precisamos representar 4.095 na base 256 (consulte o Apndice
B) e fazer o clculo na base 256. Escrevemos 4.095 como 15.255. Ento, somamos
o primeiro endereo a esse nmero (na base 255) para obtermos o ltimo endereo,
como mostrado a seguir:

140 . 120 . 80 . 0
15 . 255
140 . 120 . 95 . 255
O ltimo endereo 140.120.95.255/20.

Exemplo 9
Usando o segundo mtodo, descubra o ltimo endereo no bloco em que um dos en-
dereos 140.120.84.24/20.
SEO 5.1 BLOCOS DE COMPRIMENTO VARIVEL 121

Soluo
A mscara tem 20 valores com o nmero 1 e 12 valores com o nmero 0. O com-
plemento da mscara tem 20 valores com o nmero 0 e 12 valores com o nmero
1. Em outras palavras, o complemento da mscara 00000000 00000000 00001111
11111111 ou 0.0.15.255. Somamos o complemento da mscara ao endereo inicial
para descobrirmos o ltimo endereo.

140 . 120 . 80 . 0
0 . 0 . 15 . 255
140 . 120 . 95 . 255
O ltimo endereo 140.120.95.255/20.
Exemplo 10
Descubra o bloco que contm um dos endereos com a seqncia 190.87.140.202/29.
Soluo
Seguimos o procedimento dos exemplos anteriores para descobrirmos o nmero de
endereos, alm do primeiro e do ltimo endereos. Para descobrir o primeiro ende-
reo, observamos que a mscara (/29) tem cinco valores 1 no ltimo byte. Portanto,
escrevemos o ltimo byte como potncias de 2 e mantemos apenas os cinco nmeros
mais esquerda, como mostrado a seguir:
202 128 + 64 + 0 + 0 + 8 + 0 + 2 + 0
Os 5 nmeros mais esquerda so 128 + 64 + 0 + 0 + 8
O primeiro endereo 190.87.140.200/29
O nmero de endereos 232-29 ou 8. Para descobrir o ltimo endereo, usamos o com-
plemento da mscara. A mscara tem 29 valores 1; o complemento tem trs valores com
o nmero 1. O complemento 0.0.0.7. Se somarmos ao primeiro endereo, obteremos
190.87.140.207/29. Em outras palavras, o primeiro endereo 190.87.140.200/29 e o
ltimo 190.87.140.207/20. Existem apenas 8 endereos nesse bloco.
Exemplo 11
Faa uma configurao de rede para o bloco do exemplo anterior.
Soluo
A organizao que recebeu o bloco no exemplo anterior pode atribuir os endereos
no bloco para os hosts de sua rede. Entretanto, o primeiro endereo precisa ser usado
como endereo de rede; j o ltimo mantido como um endereo especial (endereo
broadcast limitado). A Figura 5.5 mostra como o bloco pode ser usado por uma orga-
nizao. Note que o ltimo endereo termina com 207, que diferente do 255 visto
no endereamento com classe.

No endereamento sem classe, o ltimo endereo no bloco no termina


necessariamente com 255.

Bloco concedido
O bloco de endereos, conforme veremos em breve, concedido por um ISP. O bloco
concedido definido pelo primeiro endereo e pelo comprimento do prefixo. Essa
notao CIDR, como vimos, determina totalmente o bloco. Assim, em nosso exemplo
anterior, o bloco definido como 190.87.140.200/29.
Na notao CIDR, o bloco concedido definido pelo primeiro endereo e pelo
comprimento do prefixo.
122 CAPTULO 5 Endereos IP: endereamento sem classe

Figura 5.5 Exemplo 11

Organizao da rede

Endereo de rede: 190.87.140.200/29


190.87.140.201/29

190.87.140.202/29
Bloco: 8 endereos
190.87.140.203/29
190.87.140.200/29

190.87.140.204/29

190.87.140.205/29 190.87.140.207/29

190.87.140.206/29

190.87.140.207/29
(endereo especial)

5.2 Sub-redes
Podemos, evidentemente, usar sub-redes com endereamento sem classe. Quando
uma organizao recebe um bloco de endereos, ela pode criar sub-redes para atender
s suas necessidades. O administrador da rede pode projetar uma mscara para cada
sub-rede. O comprimento do prefixo (n) aumenta para definir a extenso do prefixo
da sub-rede.

Descobrindo a mscara da sub-rede


O nmero de sub-redes desejado define o prefixo da sub-rede. Se o nmero de sub-
redes s, o nmero de valores 1 extra no comprimento do prefixo log2s, em que s =
2nmero de valores 1 extra. Note que, se quisermos sub-redes de comprimento fixo (cada sub-
rede com o mesmo nmero de endereos), o nmero de sub-redes precisar ser uma
potncia de 2.

Nas sub-redes de comprimento fixo, o nmero de sub-redes uma potncia de 2.

Exemplo 12
Uma organizao recebe o bloco 130.34.12.64/26. Ela precisa de 4 sub-redes. Qual
o comprimento do prefixo da sub-rede?
Soluo
Precisamos de 4 sub-redes, o que significa que devemos adicionar mais dois valores 1
(log2 4 = 2) no prefixo do site. Ento, o prefixo da sub-rede /28.
SEO 5.2 SUB-REDES 123

Descobrindo o endereo da sub-rede


Aps descobrirmos a mscara da sub-rede, fcil encontrar o intervalo de endereos
em cada uma.

Exemplo 13
Quais so os endereos da sub-rede e o intervalo entre eles para cada sub-rede no
exemplo anterior?
Soluo
A Figura 5.6 mostra uma configurao.

Figura 5.6 Exemplo 13

130.34.12.81/28 130.34.12.94/28 130.34.12.97/28 130.34.12.110/28

Sub-rede Sub-rede
130.34.12.80/28 130.34.12.90/28 130.34.12.96/28 130.34.12.105/28

R2 R3

130.34.12.121/28
130.34.12.71/28

130.34.12.65/28 130.34.12.78/28 130.34.12.113/28 130.34.12.126/28

Sub-rede Sub-rede
130.34.12.64/28 R1 130.34.12.112/28
130.34.12.70/28 130.34.12.120/28

Site: 130.34.12.64/26 Qualquer pacote com endereo


de destino de 130.34.12.64 a
130.34.12.128 enviado para
Para o restante o roteador R1.
da Internet

O site tem 23226 = 64 endereos. Cada sub-rede tem 23228 = 16 endereos. Agora, va-
mos descobrir o primeiro e o ltimo endereo em cada sub-rede.
1. O primeiro endereo na primeira sub-rede 130.34.12.64/28, usando o procedi-
mento mostrado nos exemplos anteriores. Note que o primeiro endereo da pri-
meira sub-rede o endereo inicial do bloco. O ltimo endereo da sub-rede pode
ser encontrado somando 15 (16 1) ao primeiro endereo. O ltimo endereo
130.34.12.79/28.
2. O primeiro endereo na segunda sub-rede 130.34.12.80/28; ele encontrado
somando 1 ao ltimo endereo da sub-rede anterior. Novamente, somando 15 ao
primeiro endereo, obtemos o ltimo endereo, 130.34.12.95/28.
3. Analogamente, verificamos que o primeiro endereo da terceira sub-rede
130.34.12.96/28 e o ltimo 130.34.12.111/28.
124 CAPTULO 5 Endereos IP: endereamento sem classe

4. Analogamente, verificamos que o primeiro endereo da quarta sub-rede


130.34.12.112/28 e o ltimo 130.34.12.127/28.

Sub-redes de comprimento varivel


Na seo anterior, todas as sub-redes tinham a mesma mscara (o mesmo n). Tam-
bm podemos projetar sub-redes com mscaras de comprimento varivel. Em outras
palavras, podemos projetar sub-redes com tamanhos diferentes (sub-redes de com-
primento varivel). Isso permite que uma organizao atribua endereos com base
nas necessidades da sub-rede. O procedimento o mesmo discutido anteriormente.
Mostraremos o conceito com um exemplo.

Exemplo 14
Uma organizao recebe um bloco de endereos com o endereo inicial 14.24.74.0/24.
Existem 232-24 = 256 endereos nesse bloco. A organizao precisa ter 11 sub-redes,
conforme os itens a seguir:
a. duas sub-redes, cada uma com 64 endereos.
b. duas sub-redes, cada uma com 32 endereos.
c. trs sub-redes, cada uma com 16 endereos.
d. quatro sub-redes, cada uma com 4 endereos.
Projete as sub-redes.
Soluo
A Figura 5.7 mostra uma configurao.

Figura 5.7 Exemplo 14

16 endereos
Sub-rede
14.24.74.224/28
4 endereos
16 endereos
Sub-rede
Sub-rede
14.24.74.240/30
4 endereos 14.24.74.208/28 32 endereos 32 endereos
Sub-rede Sub-rede Sub-rede
14.24.74.244/30 16 endereos 14.24.74.128/27 14.24.74.160/27
4 endereos Sub-rede
Sub-rede 14.24.74.192/28
14.24.74.248/30
4 endereos 64 endereos 64 endereos
Sub-rede Sub-rede Sub-rede
14.24.74.252/30 14.24.74.0/26 14.24.74.64/26

Site: 14.24.74.0/24

Para o restante
da Internet

1. Usamos os primeiros 128 endereos para as duas primeiras sub-redes, cada uma
com 64 endereos. Note que a mscara de cada rede /26. O endereo de sub-rede
de cada uma dado na figura.
2. Usamos os 64 endereos seguintes para as duas prximas sub-redes, cada uma
com 32. Note que a mscara de cada rede /27. O endereo de sub-rede de cada
uma dado na figura.
SEO 5.2 SUB-REDES 125

3. Usamos os prximos 48 endereos para as trs sub-redes seguintes, cada uma


com 16. Note que a mscara de cada rede /28. O endereo de sub-rede de cada
uma dado na figura.
4. Usamos os ltimos 16 endereos para as ltimas quatro sub-redes, cada uma com
4. Note que a mscara de cada rede /30. O endereo de sub-rede de cada uma
dado na figura.

Exemplo 15
Como outro exemplo, suponha que uma empresa tenha trs escritrios: Central, Leste
e Oeste. O escritrio Central est conectado aos escritrios Leste e Oeste por meio de
linhas privadas de rede remota ponto a ponto. A empresa recebe um bloco de 64 ende-
reos, com o endereo inicial 70.12.100.128/26. A gerncia decidiu alocar 32 endereos
ao escritrio Central e dividir o restante dos endereos entre os outros dois. A Figura
5.8 mostra a configurao projetada pela gerncia.

Figura 5.8 Exemplo 15

70.12.100.177/28

70.12.100.131/27

70.12.100.157/27
70.12.100.161/28
70.12.100.176/28

70.12.100.160/28
Sub-rede

Sub-rede
70.12.100.189/28 70.12.100.173/28
Rede remota Rede remota
70.12.100.190/28

70.12.100.174/28
70.12.100.130/27 70.12.100.158/27
Sub-rede 70.12.100.129/27
70.12.100.128/27

Site: 70.12.100.128/26
Todos os endereos
de 70.12.100.128 a 70.12.100.191
so enviados para este site

A empresa ter trs sub-redes, uma Central, uma Leste e outra Oeste. Confira a
lista dos sub-blocos alocados para cada rede:
a. O escritrio Central usa o endereo de rede 70.12.100.128/27. Esse o pri-
meiro endereo, e a mscara /27 mostra que existem 32 endereos nessa rede.
Note que trs desses endereos so usados para os roteadores e que a empresa
reservou o ltimo endereo no sub-bloco. Os endereos nessa sub-rede vo de
70.12.100.128/27 a 70.12.100.159/27. Observe que a interface do roteador que
conecta a sub-rede Central rede remota no precisa de nenhum endereo, pois
se trata de uma conexo ponto a ponto.
b. O escritrio Oeste usa o endereo de rede 70.12.100.160/28. A mscara /28 mos-
tra que existem apenas 16 endereos nessa rede. Note que um desses endereos
usado para o roteador e que a empresa reservou o ltimo endereo no sub-bloco.
Os endereos nessa sub-rede vo de 70.12.100.160/28 a 70.12.100.175/28. Ob-
serve que a interface do roteador que conecta a sub-rede Oeste rede remota no
precisa de nenhum endereo, pois se trata de uma conexo ponto a ponto.
c. O escritrio Leste usa o endereo de rede 70.12.100.176/28. A mscara /28
mostra que existem apenas 16 endereos nessa rede. Note que um desses
126 CAPTULO 5 Endereos IP: endereamento sem classe

endereos usado para o roteador e que a empresa reservou o ltimo ende-


reo no sub-bloco. Os endereos nessa sub-rede vo de 70.12.100.176/28 a
70.12.100.191/28. Observe tambm que a interface do roteador que conecta a
sub-rede Leste rede remota no precisa de nenhum endereo, pois se trata de
uma conexo ponto a ponto.

5.3 Alocao de endereos


A prxima questo no endereamento sem classe a alocao de endereos. Como os
blocos so alocados? A responsabilidade final pela alocao de endereos de uma
autoridade global chamada ICANN (Internet Corporation for Assigned Names and
Addresses). Entretanto, a ICANN normalmente no aloca endereos para organiza-
es individuais. Ela designa um grande bloco de endereos para um ISP. Cada ISP,
por sua vez, divide seu bloco designado em sub-blocos menores e os concede aos seus
clientes. Em outras palavras, um ISP recebe um bloco grande para ser distribudo aos
seus usurios de Internet. Isso chamado de agregao de endereos: muitos blocos
de endereos so agregados em um nico bloco e concedidos a um ISP.

Exemplo 16
Um ISP recebe um bloco de endereos que comea com 190.100.0.0/16 (65.536 ende-
reos). O ISP precisa distribuir esses endereos por trs grupos de clientes:
a. O primeiro grupo tem 64 clientes; cada um precisa de 256 endereos.
b. O segundo grupo tem 128 clientes; cada um precisa de 128 endereos.
c. O terceiro grupo tem 128 clientes; cada um precisa de 64 endereos.
Projete os sub-blocos e descubra quantos endereos ainda esto disponveis aps es-
sas alocaes.
Soluo
A Figura 5.9 mostra a situao.

Figura 5.9 Exemplo 16

ISP
Grupo 1: Cliente 001: 190.100.0.0/24
190.100.0.0 a 190.100.63.255
Cliente 064: 190.100.63.0/24
Endereos concedidos:

Grupo 2: Cliente 001: 190.100.64.0/25


190.100.64.0 a 190.100.127.255
190.100.255.255

Cliente 128: 190.100.127.128/25


190.100.0.0

De e Para
a

a Internet
Grupo 3: Cliente 001: 190.100.128.0/26
190.100.128.0 a 190.100.159.255
Cliente 128: 190.100.159.192/26

Disponveis:
190.100.160.0 a 190.100.255.255
SEO 5.4 TERMOS-CHAVE 127

1. Grupo 1
Para esse grupo, cada cliente precisa de 256 endereos. Isso significa que o com-
primento do sufixo 8 (28 = 256). Ento, o comprimento do prefixo 32 - 8 = 24.
Os endereos so:
1 cliente: 190.100.0.0/24 190.100.0.255/24
2 cliente: 190.100.1.0/24 190.100.1.255/24



64 cliente :190.100.63.0/24 190.100.63.255/24
Total = 64 256 = 16.384
2. Grupo 2
Para esse grupo, cada cliente precisa de 128 endereos. Isso significa que o com-
primento do sufixo 7 (27 = 128). Ento, o comprimento do prefixo 32 - 7 = 25.
Os endereos so:
1 cliente: 190.100.64.0/25 190.100.64.127/25
2 cliente: 190.100.64.128/25 190.100.64.255/25



128 cliente :190.100.127.128/25 190.100.127.255/25
Total = 128 128 = 16.384
3. Grupo 3
Para esse grupo, cada cliente precisa de 64 endereos. Isso significa que o com-
primento do sufixo 6 (26 = 64). Ento, o comprimento do prefixo 32 - 6 = 26.
Os endereos so:
1 cliente: 190.100.128.0/26 190.100.128.63/26
2 cliente: 190.100.128.64/26 190.100.128.127/26



128 cliente :190.100.159.192/26 190.100.159.255/26
Total = 128 64 = 8.192
mero de endereos concedidos ao ISP: 65.536
N
Nmero de endereos alocados pelo ISP: 40.960
Nmero de endereos disponveis: 24.576

5.4Termos-chave
Agregao de endereos Mscara de sub-rede
Comprimento do prefixo Prefixo
Comprimento do sufixo Sub-redes de comprimento varivel
Endereamento sem classe Sufixo
128 CAPTULO 5 Endereos IP: endereamento sem classe

5.5 Resumo
No endereamento sem classe, podemos dividir o espao de endereos em blocos
de comprimento varivel.
Existem trs restries no endereamento sem classe:
a. O nmero de endereos precisa ser uma potncia de 2.
b. A mscara necessita ser includa no endereo para definir o bloco.
c. O endereo inicial deve ser divisvel pelo nmero de endereos no bloco.
No endereamento sem classe, a mscara expressa como o comprimento do pre-
fixo (/n) na notao CIDR.
Para descobrirmos o primeiro endereo de um bloco, precisamos aplicar a mscara
em um dos endereos.
Para descobrirmos o nmero de endereos no bloco, calculamos 232-n, em que n
o comprimento do prefixo.
Para descobrirmos o ltimo endereo no bloco, somamos o primeiro endereo ao
nmero de endereos e subtramos o nmero um.
Podemos ter sub-redes de comprimento fixo e de comprimento varivel. Nas sub-
redes de comprimento fixo, o nmero de endereos em cada sub-rede o mesmo.
Nas sub-redes de comprimento varivel, o nmero de endereos em cada sub-rede
pode ser diferente.
Nas sub-redes de comprimento fixo, o nmero de sub-redes precisa ser uma potn-
cia de 2. No existe essa restrio nas sub-redes de comprimento varivel.
O uso de sub-redes aumenta o valor de n.
A autoridade global para alocao de endereos a ICANN. Normalmente, a
ICANN concede grandes blocos de endereos aos ISPs, que, por sua vez, conce-
dem pequenos sub-blocos aos clientes individuais.

5.6 Conjunto de prtica


Exerccios
1. Em um bloco de endereos, sabemos que o endereo IP de um host 25.34.12.56/16.
Quais so o primeiro endereo (endereo de rede) e o ltimo endereo (endereo
broadcast limitado) desse bloco?
2. Em um bloco de endereos, sabemos que o endereo IP de um host
182.44.82.16/26. Quais so o primeiro endereo (endereo de rede) e o ltimo
endereo (endereo broadcast limitado) desse bloco?
3. Nas sub-redes de comprimento fixo, descubra o nmero de valores 1 que devem
ser adicionados mscara, caso o nmero de sub-redes desejado seja ______:
a. 2
b. 62
c. 122
d. 250
SEO 5.6 CONJUTO DE PRTICA 129

4. Qual o nmero mximo de sub-redes se o comprimento do prefixo de um bloco


for:
a. 18
b. 10
c. 27
d. 31
5. Uma organizao recebe o bloco 16.0.0.0/8. O administrador quer criar 500 sub-
redes de comprimento fixo.
a. Descubra a mscara de sub-rede.
b. Descubra o nmero de endereos em cada sub-rede.
c. Descubra o primeiro e o ltimo endereo na primeira sub-rede.
d. Descubra o primeiro e o ltimo endereo na ltima sub-rede (sub-rede 500).
6. Uma organizao recebe o bloco 130.56.0.0/16. O administrador quer criar 1.024
sub-redes.
a. Descubra a mscara de sub-rede.
b. Descubra o nmero de endereos em cada sub-rede.
c. Descubra o primeiro e o ltimo endereo na primeira sub-rede.
d. Descubra o primeiro e o ltimo endereo na ltima sub-rede (sub-rede 1.024).
7. Uma organizao recebe o bloco 211.17.180.0/24. O administrador quer criar 32
sub-redes.
a. Descubra a mscara de sub-rede.
b. Descubra o nmero de endereos em cada sub-rede.
c. Descubra o primeiro e o ltimo endereo na primeira sub-rede.
d. Descubra o primeiro e o ltimo endereo na ltima sub-rede (sub-rede 32).
8. Escreva a mscara a seguir em notao de barra (/n):
a. 255.255.255.0
b. 255.0.0.0
c. 255.255.224.0
d. 255.255.240.0
9. Descubra o intervalo de endereos nos blocos a seguir:
a. 123.56.77.32/29
b. 200.17.21.128/27
c. 7.34.16.0/23
d. 180.34.64.64/30
10. Um ISP recebe um bloco de endereos que comea com 150.80.0.0/16. Ele quer
distribuir esses blocos por 1.000 clientes, conforme as descries a seguir:
a. O primeiro grupo tem 200 empresas de mdio porte; cada uma precisa de 128
endereos.
b. O segundo grupo tem 400 pequenas empresas; cada uma precisa de 16 endereos.
c. O terceiro grupo tem 2.000 famlias; cada uma precisa de 4 endereos.
Projete os sub-blocos e fornea a notao de barra para cada sub-bloco. Descubra
quantos endereos ainda esto disponveis aps essas alocaes.
130 CAPTULO 5 Endereos IP: endereamento sem classe

11. Um ISP recebe um bloco de endereos que comea com 120.60.4.0/20. Ele quer
distribuir esses blocos por 100 organizaes, cada uma receber apenas 8 ende-
reos. Projete os sub-blocos e fornea a notao de barra para cada sub-bloco.
Descubra quantos endereos ainda estaro disponveis aps essas alocaes.
12. Um ISP tem um bloco de 1.024 endereos. Se ele precisa dividir os endereos por
1.024 clientes, o uso de sub-redes necessrio? Explique sua resposta.

Atividades de pesquisa
13. Encontre RFCs que definam o endereamento sem classe.
14. Descubra o bloco de endereos atribudo sua empresa ou instituio.
15. Se voc est usando um ISP para se conectar Internet a partir de sua casa, des-
cubra o nome do ISP e o bloco de endereos atribudo a ele.
16. Algumas pessoas dizem que podemos considerar o espao de endereos inteiro como
um nico bloco no qual cada intervalo um sub-bloco desse nico bloco. Elabore essa
idia. O que acontecer com as sub-redes se aceitarmos esse conceito?
SEO 6.2 ENCAMINHAMENTO 131

Captulo 6

Envio, encaminhamento e
roteamento de pacotes IP
Este captulo descreve o envio, encaminhamento e roteamento de pacotes IP para seus
destinos. O envio refere-se maneira como um pacote manipulado pelas redes sub-
jacentes sob o controle da camada de rede. Sero discutidos conceitos como servios
sem conexo e orientados conexo e envio direto e indireto. O encaminhamento
o modo como um pacote enviado para a prxima estao (ou estaes). Discutire-
mos vrios mtodos de encaminhamento. O roteamento refere-se maneira como as
tabelas de roteamento so criadas para ajudar no encaminhamento. Discutiremos dois
tipos: esttico e dinmico.

6.1 Envio
A camada de rede supervisiona a manipulao dos pacotes pelas redes fsicas sub-
jacentes. Definimos essa manipulao como o envio de um pacote. Dois conceitos
importantes so o tipo de conexo e o envio direto versus indireto.

Tipos de conexo
O envio de um pacote na camada de rede feito com um servio orientado a conexes
ou um servio sem conexo.

Servio orientado a conexes


Em um servio orientado a conexes, o protocolo da camada de rede local estabelece
primeiramente uma conexo com o protocolo da camada de rede no site remoto, antes
de enviar um pacote de dados. Quando a conexo estabelecida, pode ser enviada
uma seqncia de pacotes da origem ao destino, um aps o outro. Nesse caso, existe
uma relao entre os pacotes. Eles so enviados pelo mesmo caminho, em ordem
seqencial. Um pacote logicamente conectado ao pacote que est viajando antes
dele e tambm ao pacote que est viajando depois. Quando todos os pacotes de uma
mensagem forem enviados, a conexo terminada.
Em um servio orientado a conexes, a deciso sobre a rota de uma seqncia
de pacotes com os mesmos endereos de origem e destino pode ser tomada apenas

131
132 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

uma vez, quando a conexo estabelecida. Os roteadores no recalculam a rota dos


pacotes individualmente.

Servio sem conexo


Em um servio sem conexo, o protocolo da camada de rede trata cada pacote inde-
pendentemente, sem nenhuma relao com outro pacote. Os pacotes de uma mensa-
gem podem percorrer o mesmo caminho at seu destino ou no. No servio sem cone-
xo, a deciso sobre a rota de um pacote tomada individualmente por cada roteador.
O protocolo IP sem conexo; ou seja, fornece um servio sem conexo.

O protocolo IP sem conexo.

Envio direto versus indireto


O envio de um pacote ao seu destino feito por meio de dois mtodos diferentes:
direto e indireto.

Envio direto
Em um envio direto, o destino do pacote um host conectado mesma rede fsica do
remetente. O envio direto ocorre quando a origem e o destino do pacote esto locali-
zados na mesma rede fsica ou se o envio acontece entre o ltimo roteador e o host de
destino (veja a Figura 6.1).

Figura 6.1 Envio direto

Host
Envio direto

Envio
Rede direto

Para o restante
da Internet

O remetente pode determinar facilmente se o envio direto. Ele pode extrair o


endereo de rede do destino (usando a mscara) e compar-lo com os endereos das
redes nas quais est conectado. Se for encontrada uma correspondncia, o envio
direto.
No envio direto, o remetente usa o endereo IP de destino para descobrir o ende-
reo fsico final. Ento, o software de IP fornece para a camada de enlace de dados o
endereo IP de destino com o endereo fsico de destino para envio real. Esse processo
chamado de mapeamento do endereo IP no endereo fsico. Embora esse mapea-
mento possa ser feito descobrindo-se uma correspondncia em uma tabela, veremos no
Captulo 7 que um protocolo chamado ARP (Address Resolution Protocol) faz o mape-
amento de um endereo IP no endereo fsico correspondente de forma dinmica.
SEO 6.2 ENCAMINHAMENTO 133

Envio indireto
Se o host de destino no est na mesma rede do remetente, o pacote enviado indire-
tamente. Em um envio indireto, o pacote vai de roteador a roteador at chegar a um
que esteja conectado mesma rede fsica de seu destino (veja a Figura 6.2).

Figura 6.2 Envio indireto

Host (origem)

Rede

Envio indireto Roteador

Rede

Envio indireto Roteador

Rede

Envio direto

Host (destino)

Note que a transmisso sempre envolve um envio direto, que no zero, ou mais
envios indiretos. Note tambm que o ltimo envio sempre um envio direto.
Em um envio indireto, o remetente usa o endereo IP de destino e uma tabela de
roteamento para descobrir o endereo IP do prximo roteador para o qual o pacote
deve ser enviado. Dessa forma, o remetente usa ARP para descobrir o endereo fsico
do prximo roteador. Note que, no envio direto, o mapeamento de endereo acontece
entre o endereo IP do destino e o endereo fsico do destino. Em um envio indireto, o
mapeamento de endereo entre o endereo IP do prximo roteador e o seu endereo
fsico.

6.2 Encaminhamento
Encaminhar significa colocar o pacote na rota para seu destino. O encaminhamento
exige que um host ou um roteador tenha uma tabela de roteamento. Quando um host
tem um pacote para enviar ou quando um roteador recebeu um pacote para ser enca-
minhado, ele examina essa tabela para descobrir a rota at o destino. Entretanto, atual-
mente essa soluo simples impossvel, em uma rede interligada como a Internet,
134 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

pois o nmero de entradas necessrias na tabela de roteamento tornaria as pesquisas


da tabela ineficientes.

Tcnicas de encaminhamento
Diversas tcnicas podem tornar o tamanho da tabela de roteamento gerencivel e tra-
tam de problemas como a segurana. Discutiremos esses mtodos brevemente.

Mtodo do prximo hop


Uma tcnica para reduzir o contedo de uma tabela de roteamento chamada de
mtodo do prximo hop. Nessa tcnica, a tabela de roteamento contm apenas o en-
dereo do prximo hop, em vez de informaes sobre a rota completa. As entradas de
uma tabela de roteamento devem ser consistentes entre si. A Figura 6.3 mostra como
as tabelas de roteamento podem ser simplificadas com o uso dessa tcnica.

Figura 6.3 Mtodo do prximo hop

Tabela de roteamento do host A Tabela de roteamento de R1 Tabela de roteamento de R2


Destino Rota Destino Rota Destino Rota
Host B R1, R2, Host B Host B R2, Host B Host B Host B
a. Tabelas de roteamento baseadas na rota

Host A Host B

R1 R2
Rede Rede Rede

Tabela de roteamento do host A Tabela de roteamento de R1 Tabela de roteamento de R2


Destino Prximo hop Destino Prximo hop Destino Prximo hop
Host B R1 Host B R2 Host B
b. Tabelas de roteamento baseadas no prximo hop

Mtodo da rede especfica


Uma segunda tcnica para reduzir a tabela de roteamento e simplificar o processo de
pesquisa chamada de mtodo da rede especfica. Aqui, em vez de ter uma en-
trada para cada host de destino conectado mesma rede fsica, temos apenas uma
entrada que define o endereo da rede de destino em si. Em outras palavras, tratamos
todos os hosts conectados na mesma rede como uma nica entidade. Por exemplo,
se 1.000 hosts esto ligados na mesma rede, existe apenas uma entrada na tabela de
roteamento, em vez de 1.000. A Figura 6.4 mostra o conceito.

Mtodo do host especfico


No mtodo do host especfico, o endereo do host de destino dado na tabela de rote-
amento. O raciocnio por trs desse mtodo o inverso do mtodo da rede especfica.
Aqui, a eficincia sacrificada para obter outras vantagens; embora no seja eficiente
SEO 6.2 ENCAMINHAMENTO 135

Figura 6.4 Mtodo da rede especfica

Tabela de roteamento do host S


baseada no mtodo do host especfico
Destino Prximo hop Tabela de roteamento do host S baseada
A R1 no mtodo da rede especfica
B R1
Destino Prximo hop
C R1
D R1 N2 R1
S B C
A D

N1 N2
R1

colocar o endereo do host na tabela de roteamento, existem ocasies em que o admi-


nistrador quer ter mais controle sobre o roteamento. Por exemplo, na Figura 6.5, se o
administrador quer que todos os pacotes que chegam do host B sejam enviados para o
roteador R3, em vez do R1, uma nica entrada na tabela de roteamento do host A pode
definir a rota explicitamente.

Figura 6.5 Roteamento pelo host especfico

Tabela de roteamento do host A


Destino Prximo hop
Host B R3
N2 R1
Host A N3 R3
...... ......

N1

R1 R3

N2 N3
R2

Host B

O roteamento pelo host especfico usado para propsitos como a verificao da


rota ou para fornecer medidas de segurana.
136 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

Mtodo-padro
Outra tcnica para simplificar o roteamento chamada de mtodo-padro. Na Figura
6.6, o host A est conectado a uma rede com dois roteadores. O roteador R1 direciona
os pacotes para os hosts conectados rede N2. Entretanto, para o restante da Internet,
usado o roteador R2. Assim, em vez de listar todas as redes na Internet inteira, o
host A pode ter apenas uma entrada, chamada de padro (normalmente definida como
endereo de rede 0.0.0.0).

Figura 6.6 Roteamento-padro

Tabela de roteamento do host A


Destino Prximo Hop
N2 R1
...... ......
Host A
Padro R2

R1
N1 N2

Roteador-
R2
padro

Restante da Internet

Encaminhamento no endereamento com classe


Conforme mencionamos no captulo anterior, o endereamento com classe tem vrias
desvantagens. Entretanto, a existncia de uma mscara-padro em um endereo com
classe torna o processo de encaminhamento simples. Nesta seo, mostraremos pri-
meiro o contedo de uma tabela de roteamento e o mdulo de encaminhamento para
a situao na qual no h uso de sub-redes. Em seguida, mostraremos como o mdulo
muda se h sub-redes envolvidas.

Encaminhamento sem sub-redes


No endereamento com classe, a maioria dos roteadores na Internet global no est
envolvida em sub-redes. O uso de sub-redes acontece dentro da organizao. Um
mdulo de encaminhamento tpico nesse caso pode ser projetado usando-se trs
tabelas, uma para cada classe unicast (A, B, C). Se o roteador suporta multicast,
outra tabela pode ser adicionada para tratar dos endereos de classe D. Ter trs ta-
belas diferentes torna a pesquisa mais eficiente. Cada tabela de roteamento tem, no
mnimo, trs colunas:
1. O endereo da rede de destino informa onde o host de destino est localizado.
Note que usamos encaminhamento de rede especfica e no o raramente usado
encaminhamento de host especfico.
SEO 6.2 ENCAMINHAMENTO 137

2. O endereo do prximo hop informa para qual roteador o pacote deve ser enviado
por meio de um envio indireto. Essa coluna fica vazia para um envio direto.
3. O nmero da interface define a porta de sada por onde o pacote enviado. Nor-
malmente, um roteador conectado a vrias redes. Cada conexo tem uma porta
ou interface de numerao diferente. Mostraremos como m0, m1 etc.

A Figura 6.7 mostra um mdulo simplificado.

Figura 6.7 Mdulo de encaminhamento simplificado no endereo com classe sem sub-rede

Erro
Classe A
Mdulo de encaminhamento D ou E Endereo Endereo do Nmero da
de rede prximo hop interface
Descobre ............. ............. .............
a classe ............. ............. .............
A, B ou C
Classe B
Endereo Endereo do Nmero da
Extrai o Extrai o Pesquisa de rede prximo hop interface
Pacote endereo de endereo ............. ............. .............
destino de rede a tabela
............. ............. .............
Endereo do prximo
hop e Classe C
nmero da interface Endereo Endereo do Nmero da
de rede prximo hop interface
............. ............. .............
Para o ARP ............. ............. .............

Em sua forma mais simples, o mdulo de encaminhamento segue estes passos:


1. O endereo de destino do pacote extrado.
2. Uma cpia do endereo de destino usada para descobrir a classe do endereo.
Isso feito deslocando-se a cpia do endereo 28 bits para a direita. O resultado
um nmero de 4 bits entre 0 e 15. Se o resultado for de:
a. 0 a 7, a classe A.
b. 8 a 11, a classe B.
c. 12 ou 13, a classe C.
d. 14, a classe D.
e. 15, a classe E.
3. O resultado do passo 2 para a classe A, B ou C e o endereo de destino so usados
para extrair o endereo de rede. Isso feito por meio do mascaramento (alterao para
valores 0) dos 8, 16 ou 24 bits mais direita, de acordo com a classe.
4. A classe do endereo e o endereo de rede so usados para descobrir a informao
do prximo hop. A classe determina a tabela a ser pesquisada. O mdulo procura
o endereo de rede nessa tabela. Se for encontrada uma correspondncia, o ende-
reo do prximo hop e o nmero da interface da porta de sada so extrados da
tabela. Se nenhuma correspondncia for encontrada, usado o padro.
138 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

5. O mdulo ARP (Captulo 7) usa o endereo do prximo hop e o nmero da in-


terface para descobrir o endereo fsico do prximo roteador. Ento, ele pede
camada de enlace de dados para que envie o pacote ao prximo hop.

Exemplo 1
A Figura 6.8 mostra uma parte imaginria da Internet. Apresenta, ainda, as tabelas de
roteamento do roteador R1.

Figura 6.8 Configurao de roteamento, Exemplo 1

170.14.0.0 145.80.0.0

170.14.5.165 m2 m1
R1 145.80.7.11
m0
111.25.19.20
Restante 111.30.31.18
da 111.0.0.0
111.0.0.0
m0 m1
Internet R2
Roteador- 111.15.17.32
padro
m1
R3
m0
192.16.7.5

192.16.7.0

Soluo
A Figura 6.9 mostra as trs tabelas usadas pelo roteador R1. Note que algumas entra-
das na coluna do endereo do prximo hop esto vazias, pois, nesses casos, o desti-
no est na mesma rede na qual o roteador est conectado (envio direto). Por isso, o
endereo do prximo hop usado pelo ARP simplesmente o endereo de destino do
pacote, conforme veremos no Captulo 7.

Figura 6.9 Tabelas do Exemplo 1

Classe A Classe B
Endereo Endereo do Interface Endereo Endereo do Interface
de rede prximo hop de rede prximo hop
111.0.0.0 ------------ m0 145.80.0.0 ------------ m1
170.14.0.0 ------------ m2
Classe C
Endereo Endereo do Interface
de rede prximo hop Padro: 111.30.31.18, m0
192.16.7.0 111.15.17.32 m0

Exemplo 2
Na Figura 6.8, o roteador R1 recebe um pacote com endereo de destino 192.16.7.14.
Mostre como o pacote encaminhado.
SEO 6.2 ENCAMINHAMENTO 139

Soluo
O endereo de destino binrio 11000000 00010000 00000111 00001110. Uma
cpia do endereo deslocada 28 bits direita. O resultado 00000000 00000000
00000000 00001100 ou 12. A rede de destino de classe C. O endereo de rede
extrado pelo mascaramento dos 24 bits mais esquerda do endereo de destino; o
resultado 192.16.7.0. A tabela da classe C pesquisada. O endereo de rede en-
contrado na primeira linha. O endereo do prximo hop 111.15.17.32 e a interface m0
so passados para o ARP.

Exemplo 3
Na Figura 6.8, o roteador R1 recebe um pacote com endereo de destino 167.24.160.5.
Mostre como o pacote encaminhado.

Soluo
O endereo de destino binrio 10100111 00011000 10100000 00000101. Uma
cpia do endereo deslocada 28 bits direita. O resultado 00000000 00000000
00000000 00001010 ou 10. A classe B. O endereo de rede pode ser encontrado pelo
mascaramento dos 16 bits do endereo de destino; o resultado 167.24.0.0. A tabela
da classe B pesquisada. Nenhum endereo de rede correspondente encontrado. O
pacote precisa ser encaminhado para o roteador-padro (a rede est em algum outro
lugar na Internet). O endereo do prximo hop 111.30.31.18 e o nmero da interface
m0 so passados para o ARP.

Encaminhamento com sub-redes


No endereamento com classe, o uso de sub-redes acontece dentro da organizao.
Os roteadores que manipulam as sub-redes esto na fronteira do site da organizao
ou dentro dos limites dele. Se a organizao estiver usando sub-redes de comprimento
varivel, precisaremos de vrias tabelas; caso contrrio, precisaremos de apenas uma.
A Figura 6.10 mostra um mdulo simplificado para sub-rede de comprimento fixo.

Figura 6.10 Mdulo de encaminhamento simplificado no endereo com classe e com sub-redes

Mscara

Mdulo de encaminhamento
Endereo de Endereo do Nmero da
Extrai o Extrai o sub-rede prximo hop interface
endereo da Pesquisa
Pacote endereo de ............. ............. .............
sub-rede a tabela
destino ............. ............. .............
Endereo do prximo
hop e
nmero da interface

Para o ARP
1. O mdulo extrai o endereo de destino do pacote.
2. O endereo de destino e a mscara so usados para extrair o endereo da sub-rede.
3. A tabela pesquisada usando-se o endereo da sub-rede para descobrir o endereo
do prximo hop e o nmero da interface. Se nenhuma correspondncia for encon-
trada, o padro ser usado.
4. O endereo do prximo hop e o nmero da interface so fornecidos ao ARP.
140 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

Exemplo 4
A Figura 6.11 mostra um roteador conectado em quatro sub-redes.

Figura 6.11 Configurao do Exemplo 4

Endereo de Endereo do Nmero


sub-rede prximo hop da interface
145.14.0.0 ---------- m0
145.14.64.0 ---------- m1
145.14.128.0 ---------- m2
145.14.192.0 ---------- m3
0.0.0.0 roteador-padro m4
Restante
da x.y.z.t/n m4
Mscara de sub-rede: /18
Internet m0
m3 m2 m1

145.14.192.1/18 145.14.0.1/18

145.14.192.0/18 145.14.0.0/18

145.14.128.1/18 145.14.64.1/18

145.14.128.0/18 145.14.64.0/18

Site: 145.14.0.0/16

Note alguns pontos. Primeiro, o endereo do site 145.14.0.0/16 (um endere-


o de classe B). Todo pacote com endereo de destino no intervalo de 145.14.0.0
a 145.14.255.255 enviado para a interface m4 e distribudo pelo roteador para a
sub-rede de destino. Segundo, usamos o endereo x.y.z.t/n para a interface m4, pois
no sabemos em qual rede esse roteador est conectado. Terceiro, a tabela tem uma
entrada-padro para pacotes que devem ser enviados para fora do site. O roteador est
configurado para aplicar a mscara de sub-rede /18 em qualquer endereo de destino.

Exemplo 5
O roteador da Figura 6.11 recebe um pacote com endereo de destino 145.14.32.78.
Mostre como o pacote encaminhado.
Soluo
A mscara /18. Aps a aplicao da mscara, o endereo de sub-rede 145.14.0.0.
O pacote enviado para o ARP com o endereo do prximo hop 145.14.32.78 e a
interface de sada m0.

Exemplo 6
Um host na rede 145.14.0.0, na Figura 6.11, tem um pacote para enviar ao host com
endereo 7.22.67.91. Mostre como o pacote direcionado.
Soluo
O roteador recebe o pacote e aplica a mscara (/18). O endereo de rede 7.22.64.0.
A tabela pesquisada e o endereo no encontrado. O roteador usa o endereo do
roteador-padro (no mostrado na figura) e lhe envia o pacote.
SEO 6.2 ENCAMINHAMENTO 141

Encaminhamento no endereamento sem classe


No endereamento sem classe, o espao de endereos inteiro uma nica entidade;
no existem classes. Isso significa que o encaminhamento exige apenas uma linha de
informao para cada bloco envolvido. A tabela precisa ser pesquisada com base no
endereo de rede (primeiro endereo no bloco). Infelizmente, o endereo de destino
no pacote no fornece nenhum indcio sobre o endereo de rede (como acontece no
endereamento com classe).
Para resolver o problema, precisamos incluir a mscara (/n) na tabela; precisa-
mos, ainda, ter uma coluna extra que inclua a mscara do bloco correspondente. Em
outras palavras, embora uma tabela de roteamento com classe possa ser projetada com
trs colunas, uma tabela de roteamento sem classe precisa de pelo menos quatro.

No endereamento com classe, podemos ter uma tabela de roteamento com trs colunas;
no endereamento sem classe, precisamos de pelo menos quatro colunas.

A Figura 6.12 mostra um mdulo de encaminhamento simples para enderea-


mento sem classe. Note que a extrao do endereo de rede feita ao mesmo tempo
em que a pesquisa da tabela, pois no h nenhuma informao inerente ao endereo
de destino que possa ser usada para a extrao do endereo de rede.

Figura 6.12 Mdulo de encaminhamento simplificado no endereo sem classe

Mdulo de encaminhamento Mscara Endereo Endereo do


Interface
(/n) de rede prximo hop
Extrai o
Pesquisa
Pacote endereo ............. ............. ............. .............
a tabela
de destino ............. ............. ............. .............
............. ............. ............. .............
Endereo do prximo ............. ............. ............. .............
hop e
nmero da interface

Para o ARP

Exemplo 7
Faa uma tabela de roteamento para o roteador R1 usando a configurao da Figura 6.13.

Soluo
A Tabela 6.1 mostra a tabela correspondente.

Exemplo 8
Mostre o processo de encaminhamento de um pacote que chega ao R1, na Figura 6.13,
com o endereo de destino 180.70.65.140.

Soluo
O roteador executa os seguintes passos:
1. A primeira mscara (/26) aplicada ao endereo de destino. O resultado
180.70.65.128, que no combina com o endereo de rede correspondente.
142 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

Figura 6.13 Configurao para o Exemplo 7

180.70.65.128/25

180.70.65.135/25
m0
m1
201.4.16.0/22 201.4.22.0/24
201.4.16.2/22 201.4.22.3/24
m2 R1
180.70.65.194/26

180.70.65.192/26

180.70.65.200/26
Restante da
Internet

Tabela 6.1 Tabela de roteamento do roteador R1 na Figura 6.13

Mscara Endereo de rede Prximo hop Interface


/26 180.70.65.192 - m2
/25 180.70.65.128 - m0
/24 201.4.22.0 - m3
/22 201.4.16.0 .... m1
Padro Padro 180.70.65.200 m2

2. A segunda mscara (/25) aplicada ao endereo de destino. O resultado


180.70.65.128, que combina com o endereo de rede correspondente. O endereo
do prximo hop (o endereo de destino do pacote, neste caso) e o nmero da in-
terface m0 so passados para o ARP para mais processamento.

Exemplo 9
Mostre o processo de encaminhamento de um pacote que chega ao R1, na Figura 6.13,
com o endereo de destino 201.4.22.35.

Soluo
O roteador executa os seguintes passos:
1. A primeira mscara (/26) aplicada ao endereo de destino. O resultado
201.4.22.0, que combina com o endereo de rede correspondente (linha 1).
2. A segunda mscara (/25) aplicada ao endereo de destino. O resultado
201.4.22.0, que no combina com o endereo de rede correspondente (linha 2).
3. A terceira mscara (/24) aplicada ao endereo de destino. O resultado
201.4.22.0, que combina com o endereo de rede correspondente. O endereo de
destino do pacote e o nmero da interface m3 so passados para o ARP.
SEO 6.2 ENCAMINHAMENTO 143

Exemplo 10
Mostre o processo de encaminhamento de um pacote que chega R1, na Figura 6.13,
com o endereo de destino 18.24.32.78.
Soluo
Desta vez, todas as mscaras so aplicadas ao endereo de destino, mas nenhum ende-
reo de rede correspondente encontrado. Quando chegar ao fim da tabela, o mdulo
fornecer o endereo do prximo hop 180.70.65.200 e o nmero da interface m2
para o ARP. Provavelmente, esse um pacote de sada que precisa ser enviado, via
roteador-padro, para algum outro lugar na Internet.

Exemplo 11
Agora, vamos dar um exemplo diferente. Podemos descobrir a configurao de um ro-
teador conhecendo apenas sua tabela de roteamento? A tabela de roteamento do
roteador R1 dada na Tabela 6.2. Podemos descrever sua topologia?

Tabela 6.2 Tabela de roteamento para o Exemplo 11

Endereo do Nmero da
Mscara Endereo de rede
prximo hop interface
/26 140.6.12.64 180.14.2.5 m2
/24 130.4.8.0 190.17.6.2.0 m1
/16 110.70.0.0 --------------- m0
/16 180.14.0.0 --------------- m2
/16 190.17.0.0 --------------- m1
Padro Padro 110.70.4.6 m0

Soluo
Conhecemos alguns dados, mas no temos o necessrio para uma topologia definitiva. Sa-
bemos que o roteador R1 tem trs interfaces: m0, m1 e m2. Sabemos tambm que existem
trs redes diretamente conectadas ao roteador R1. Conhecemos duas redes indiretamente
conectadas ao R1. Deve haver pelo menos trs outros roteadores envolvidos (veja a coluna
do prximo hop). Descobrimos a quais redes esses roteadores esto conectados, exami-
nando seus endereos IP. Portanto, podemos coloc-los em seus lugares apropriados. E,
finalmente, sabemos que um roteador, o padro, est conectado ao restante da Internet.
Mas ainda faltam algumas informaes. No sabemos se a rede 130.4.8.0 est diretamente
conectada ao roteador R2 ou por meio de uma rede ponto a ponto (WAN) e outro roteador.
No temos certeza de que a rede 140.6.12.64 est conectada diretamente ao roteador R3
ou por meio de uma rede ponto a ponto (WAN) e outro roteador. Normalmente, as redes
ponto a ponto no tm uma entrada na tabela de roteamento, pois nenhum host conecta-
do a elas. A Figura 6.14 mostra nossa topologia hipottica.

Agregao de endereo
Quando usamos endereamento com classe, existe apenas uma entrada na tabela de
roteamento para cada site fora da organizao. A entrada define o site mesmo que ele
tenha sub-redes. Quando um pacote chega ao roteador, ele verifica a entrada corres-
pondente e encaminha o pacote dessa maneira.
Quando usamos endereamento sem classe, provvel que o nmero de entra-
das na tabela de roteamento aumente. Isso porque o objetivo do endereamento sem
144 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

Figura 6.14 Topologia sugerida para o Exemplo 6

Desconhecido
190.17.6.2
130.4.8.0/24 190.17.0.0/16
R2
m1
R1 110.70.0.0/16
m0

R3 m2 110.70.4.6
Desconhecido
140.6.12.64/26 180.14.0.0/16 R4
180.14.2.5

Restante
da Internet

classe dividir o espao de endereos inteiro em blocos fceis de manejar. O maior


tamanho da tabela resulta em um aumento na quantidade de tempo necessria para
pesquis-la.
Para atenuar o problema, foi concebida a noo de agregao de endereos. Na
Figura 6.15, temos dois roteadores.

Figura 6.15 Agregao de endereos

Organizao 1 140.24.7.0/26

Organizao 2 140.24.7.64/26
m1 m0
m4 m0 m1

m2 R1 R2
Organizao 3 140.24.7.128/26 m3
Algum lugar
na Internet

Organizao 4 140.24.7.192/26

Mscara Endereo Endereo do Mscara Endereo Endereo do


Interface Interface
de rede prximo hop de rede prximo hop
/26 140.24.7.0 ---------- m0 /24 140.24.7.0 ---------- m0
/26 140.24.7.64 ---------- m1 /0 0.0.0.0 roteador-padro m1
/26 140.24.7.128 ---------- m2
Tabela de roteamento para R2
/26 140.24.7.192 ---------- m3
/0 0.0.0.0 roteador-padro m4
Tabela de roteamento para R1

R1 est conectado s redes de quatro organizaes, cada uma usando 64 en-


dereos. R2 est em algum lugar distante de R1. R1 tem uma tabela de roteamento
mais longa, porque cada pacote precisa ser direcionado corretamente organizao
SEO 6.2 ENCAMINHAMENTO 145

apropriada. R2, por outro lado, pode ter uma tabela de roteamento muito pequena.
Para R2, todo pacote com destino 140.24.7.0 a 140.24.7.255 enviado da interface
m0, independentemente do nmero da organizao. Isso chamado de agregao de
endereos, pois os blocos de endereos de quatro organizaes so agregados a um
nico bloco maior. R2 teria uma tabela de roteamento mais longa se cada organizao
tivesse endereos que no pudessem ser agregados a um nico bloco.
Note que, embora a noo de agregao de endereos seja semelhante noo de
sub-redes, no temos um site comum aqui; a rede de cada organizao independente.
Alm disso, podemos ter vrios nveis de agregao.

Correspondncia da mscara mais longa


O que acontece se uma das organizaes na figura anterior no estiver geografica-
mente prxima das outras trs? Por exemplo, se a organizao 4 no puder ser co-
nectada ao roteador R1 por algum motivo, ainda podemos usar a noo de agregao
de endereos e ainda atribuir o bloco 140.24.7.192/26 organizao 4? A resposta
sim, porque o roteamento no endereamento sem classe usa outro princpio, a corres-
pondncia da mscara mais longa. Esse princpio diz que a tabela de roteamento
classificada da mscara mais longa para a mscara mais curta. Em outras palavras, se
existem trs mscaras, /27, /26 e /24, a mscara /27 deve ser a primeira entrada e /24
deve ser a ltima. Vamos ver se esse princpio resolve a situao na qual a organizao
4 est separada das outras trs. A Figura 6.16 mostra a situao.

Figura 6.16 Correspondncia da mscara mais longa

Endereo Endereo do
Mscara Interface
de rede prximo hop
/26 140.24.7.192 ---------- m1
Organizao 1 140.24.7.0/26 /24 140.24.7.0 ---------- m0
/?? ??????? ????????? m1
/0 0.0.0.0 roteador-padro m2
Organizao 2 140.24.7.64/26 Tabela de roteamento para R2
m1 m0
m3 m0 m2

m2 R1 R2 m1
Organizao 3 140.24.7.128/26

Endereo Endereo do m2
Mscara Interface
de rede prximo hop Para as outras redes R3
---------- m1
/26 140.24.7.0 m0
m0
/26 140.24.7.64 ---------- m1
/26 140.24.7.128 ---------- m2
/0 0.0.0.0 roteador-padro m3 140.24.7.192/26
Tabela de roteamento para R1 Organizao 4

Endereo Endereo do
Mscara Interface
de rede prximo hop
/26 140.24.7.192 ---------- m0
/?? ??????? ????????? m1
/0 0.0.0.0 roteador-padro m2
Tabela de roteamento para R3
146 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

Suponha que chegue um pacote organizao 4 com endereo de destino


140.24.7.200. A primeira mscara no roteador R2 aplicada e fornece o endereo
de rede 140.24.7.192. O pacote direcionado corretamente da interface m1 e chega
organizao 4. Entretanto, se a tabela de roteamento no fosse armazenada com o
prefixo mais longo primeiro, a aplicao da mscara /24 resultaria no roteamento in-
correto do pacote para o roteador R1.

Roteamento hierrquico
Para resolver o problema das tabelas de roteamento gigantescas, podemos criar a idia
de hierarquia nessas tabelas. No Captulo 1, mencionamos que atualmente a Internet
tem um sentido hierrquico. Dissemos que a Internet dividida em ISPs internacionais
e nacionais. Os ISPs nacionais so divididos em ISPs regionais e os ISPs regionais so
divididos em ISPs locais. Se a tabela de roteamento tiver um sentido de hierarquia como
a arquitetura da Internet, a tabela de roteamento poder ter um tamanho menor.
Vamos estudar o caso de um ISP local. Um ISP local pode receber um nico
porm, grande bloco de endereos com determinado comprimento de prefixo. O
ISP local pode dividir esse bloco em blocos menores de tamanhos diferentes e de-
sign-los aos usurios individuais e organizaes, tanto grandes como pequenas. Se
o bloco designado ao ISP local comea com a.b.c.d/n, o ISP pode criar blocos que
comecem com e.f.g.h/m, em que m pode variar para cada cliente e maior do que n.
Como isso reduz o tamanho da tabela de roteamento? O restante da Internet no
precisa saber dessa diviso. Todos os clientes do ISP local so definidos como a.b.c.d/n
para o restante da Internet. Todo pacote destinado a um dos endereos desse bloco gran-
de direcionado ao ISP local. Existe apenas uma entrada em cada roteador do mundo
para todos esses clientes. Todos eles pertencem ao mesmo grupo. Evidentemente, den-
tro do ISP local, o roteador deve reconhecer os sub-blocos e direcionar o pacote para
o cliente destinatrio. Se um dos clientes uma grande organizao, ele tambm pode
criar outro nvel de hierarquia, fazendo sub-redes e dividindo seu sub-bloco em sub-
blocos menores (ou sub-sub-blocos). No roteamento sem classe, os nveis de hierarquia
so ilimitados, desde que sigamos as regras do endereamento sem classe.

Exemplo 12
Como exemplo de roteamento hierrquico, vamos considerar a Figura 6.17. Um ISP
regional recebe 16.384 endereos, comeando a partir de 120.14.64.0. O ISP original
decidiu dividir esse bloco em quatro sub-blocos, cada um com 4.096 endereos. Trs
desses sub-blocos so atribudos a trs ISPs locais; o segundo sub-bloco reservado
para uso futuro. Note que a mscara de cada bloco /20, pois o bloco original com
mscara /18 est dividido em 4 blocos.
O primeiro ISP local dividiu seu sub-bloco designado em 8 blocos menores e atri-
buiu cada um deles a um ISP pequeno. Cada ISP pequeno fornece servios para 128
residncias (H001 a H128), que usam, cada uma, quatro endereos. Note que a mscara
de cada ISP pequeno agora /23, pois o bloco est subdividido em 8 blocos. Cada resi-
dncia tem a mscara /30, porque cada uma tem apenas 4 endereos (23230 d 4).
O segundo ISP local dividiu seu bloco em 4 e atribuiu o endereo a 4 grandes
organizaes (LOrg01 a LOrg04). Note que cada grande organizao tem 1.024 ende-
reos e a mscara /22.
O terceiro ISP local dividiu seu bloco em 16 e atribuiu cada um a uma pequena
organizao (SOrg01 a SOrg15). Cada pequena organizao tem 256 endereos e a
mscara /24.
H um sentido de hierarquia nessa configurao. Todos os roteadores da Internet
enviam um pacote com endereo de destino 120.14.64.0 a 120.14.127.255 ao ISP
SEO 6.2 ENCAMINHAMENTO 147

Figura 6.17 Roteamento hierrquico com ISPs

120.14.64.0/30
H 001 ISP 120.14.64.0/23
pequeno
H 128 1 Total 512
ISP 120.14.64.0/20
local 1 Total 4096
120.14.78.0/30
H 001 ISP 120.14.78.0/23
pequeno
H 128 Total 512

Para o restante da Internet


8
120.14.80.0/20
No utilizado
Total 4096

ISP 120.14.64.0/18
regional Total 16384
120.14.96.0/22
LOrg 01
ISP 120.14.96.0/20
local 2 Total 4096
LOrg 04

120.14.112.0/24
SOrg 01
ISP 120.14.112.0/20
SOrg 16
local 3 Total 4096

regional. O ISP regional envia todo pacote com endereo de destino 120.14.64.0 a
120.14.79.255 para o ISP local 1. O ISP local 1 envia todo pacote com endereo de
destino 120.14.64.0 a 120.14.64.3 ao H001.

Roteamento geogrfico
Para diminuir ainda mais o tamanho da tabela de roteamento, precisamos estender o
roteamento hierrquico para incluir o roteamento geogrfico. Devemos dividir o es-
pao de endereos inteiro em poucos blocos grandes. Atribumos um bloco Amrica
do Norte, um bloco Europa, um bloco sia, um bloco frica etc. Os roteadores
dos ISPs que esto fora da Europa tero em suas tabelas de roteamento apenas uma
entrada para pacotes dirigidos Europa. Os roteadores dos ISPs que esto fora da
Amrica do Norte tero em suas tabelas de roteamento apenas uma entrada para paco-
tes dirigidos Amrica do Norte. E assim por diante.

Algoritmos de pesquisa de tabela de roteamento


Os algoritmos no endereamento com classe que pesquisam as tabelas de roteamento
devem ser alterados para tornar o roteamento sem classe mais eficiente. Isso inclui
os algoritmos que atualizam tabelas de roteamento. Vamos discutir essa questo da
atualizao no Captulo 14.
Pesquisa no endereamento com classe No endereamento com classe, a tabela
de roteamento organizada como uma lista. Entretanto, para tornar a pesquisa mais
eficiente, a tabela de roteamento pode ser dividida em trs (s vezes chamadas de
depsitos), uma para cada classe. Quando o pacote chega, o roteador aplica a mscara-
padro (que inerente ao prprio endereo) para descobrir o depsito correspondente
(A, B ou C). Ento, o roteador pesquisa o depsito correspondente, em vez da tabela
inteira. Alguns roteadores at atribuem 8 depsitos para a classe A, 4 depsitos para
a classe B e 2 depsitos para a classe C, com base no resultado do processo de desco-
berta de classe.
148 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

Pesquisa no endereamento sem classe No endereamento sem classe, no h


nenhuma informao de rede no endereo de destino. O mtodo de pesquisa mais
simples, porm no o mais eficiente, chamado de correspondncia mais longa
(conforme discutimos anteriormente). A tabela de roteamento pode ser dividida em
depsitos, um para cada prefixo. O roteador primeiramente tenta o prefixo mais longo.
Se o endereo de destino for encontrado nesse depsito, a pesquisa est terminada. Se
o endereo no for encontrado, o prximo prefixo pesquisado e assim por diante.
evidente que esse tipo de pesquisa demora muito tempo.
Uma soluo alterar a estrutura de dados usada para pesquisa. Em vez de uma
lista, outras estruturas de dados (como uma rvore ou uma rvore binria) podem ser
usadas. Uma candidata uma trie (um tipo especial de rvore). Entretanto, essa dis-
cusso est fora dos objetivos deste livro.

Combinao
Devemos mencionar aqui que todos os roteadores modernos so baseados no endere-
amento sem classe. Todos eles incluem a mscara na tabela de roteamento. At que o
endereamento com classe seja totalmente eliminado da Internet, ele ser tratado como
um caso especial do endereamento sem classe usando as mscaras /24, /16 e /8.

6.3 Roteamento
O roteamento trata dos problemas da criao e manuteno de tabelas de roteamento.

Tabelas de roteamento estticas versus dinmicas


Um host ou um roteador tem uma tabela de roteamento com uma entrada para cada
destino, ou uma combinao de destinos, para direcionar pacotes IP. A tabela de ro-
teamento pode ser esttica ou dinmica.

Tabela de roteamento esttica


Uma tabela de roteamento esttica contm informaes inseridas manualmente. O
administrador insere a rota para cada destino na tabela. Quando uma tabela criada,
ela no pode ser atualizada automaticamente quando h uma alterao na Internet. A
tabela deve ser alterada manualmente pelo administrador.
Uma tabela de roteamento esttica pode ser usada em uma pequena Internet que
no mude com muita freqncia ou em uma Internet experimental para diagnstico e
soluo de problemas. No uma boa estratgia usar uma tabela de roteamento est-
tica em uma rede enorme como a Internet.

Tabela de roteamento dinmica


Uma tabela de roteamento dinmica atualizada periodicamente com um dos pro-
tocolos de roteamento dinmico, como RIP, OSPF ou BGP (consulte o Captulo 14).
Quando h uma alterao na Internet, como o desligamento de um roteador ou a que-
bra de um link, os protocolos de roteamento dinmico atualizam automaticamente
todas as tabelas nos roteadores (e, conseqentemente, no host).
SEO 6.3 ROTEAMENTO 149

Os roteadores de uma rede enorme como a Internet precisam ser atualizados


dinamicamente para ter um envio eficiente dos pacotes IP. Discutiremos os trs proto-
colos de roteamento dinmico em detalhes no Captulo 14.

Tabela de roteamento
Conforme mencionado anteriormente, uma tabela de roteamento para o endereamen-
to sem classe tem, no mnimo, quatro colunas. Entretanto, alguns roteadores atuais
tm at mais colunas. Devemos estar cientes de que o nmero de colunas depende do
fornecedor, e nem todas as colunas so encontradas em todos os roteadores. A Figura
6.18 mostra algumas colunas comuns nos roteadores atuais.

Figura 6.18 Campos comuns em uma tabela de roteamento

Endereo Contagem
Endereo
Mscara do prximo Interface Flags de Uso
de rede
hop referncia

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

Mscara. Esse campo define a mscara aplicada para a entrada.


Endereo de rede. Esse campo define o endereo de rede para o qual o pacote
finalmente enviado. No caso do roteamento de host especfico, esse campo define
o endereo do host de destino.
Endereo do prximo hop. Esse campo define o endereo do roteador do prxi-
mo hop para o qual o pacote ser enviado.
Interface. Esse campo mostra o nome da interface.
Flags. Esse campo define at cinco flags. Flags so chaves liga/desliga que signifi-
cam presena ou ausncia. Os cinco flags so U (up funcionando), G (gateway), H
(host-specific host especfico), D (added by redirection adicionado pelo redire-
cionamento) e M (modified by redirection modificado pelo redirecionamento).
a. U (funcionando). O flag U indica que o roteador est em operao e em exe-
cuo. Se esse flag no estiver presente, significa que o roteador est fora de
operao. O pacote no pode ser encaminhado e descartado.
b. G (gateway). O flag G significa que o destino est em outra rede. O pacote
enviado ao roteador do prximo hop para envio (envio indireto). Quando esse
flag est ausente, significa que o destino est nesta rede (envio direto).
c. H (host especfico). O flag H indica que a entrada no campo de endereo de
rede um endereo de host especfico. Quando ele est ausente, significa que
o endereo apenas de rede do destino.
d. D (adicionado pelo redirecionamento). O flag D indica que as informaes
de roteamento para esse destino foram adicionadas na tabela de roteamento do
host por uma mensagem de redirecionamento do protocolo ICMP. Discutire-
mos o redirecionamento e o protocolo ICMP no Captulo 9.
e. M (modificado pelo redirecionamento). O flag M indica que as informaes
de roteamento para esse destino foram modificadas por uma mensagem de re-
direcionamento do protocolo ICMP. Discutiremos o redirecionamento e o pro-
tocolo ICMP no Captulo 9.
150 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

Contagem de referncia. Esse campo fornece o nmero de usurios que esto utili-
zando essa rota no momento. Por exemplo, se cinco pessoas ao mesmo tempo esto
se conectando ao mesmo host a partir deste roteador, o valor desta coluna 5.
Uso. Esse campo mostra o nmero de pacotes transmitidos por meio deste rotea-
dor para o destino correspondente.

Exemplo 13
Um utilitrio que pode descobrir o contedo de uma tabela de roteamento para um
host ou roteador o netstat do Unix ou do Linux. O exemplo a seguir mostra a lista-
gem do contedo do servidor-padro. Usamos duas opes, r e n. A opo r indica que
estamos interessados na tabela de roteamento, e a opo n indica que estamos procu-
rando endereos numricos. Note que essa uma tabela de roteamento para um host
e no para um roteador. Embora tenhamos discutido a tabela de roteamento para um
roteador por todo o captulo, um host tambm precisa de uma tabela de roteamento.

$ netstat -rn
Kernel IP routing table
Destination Gateway Mask Flags Iface
153.18.16.0 0.0.0.0 255.255.240.0 U eth0
127.0.0.0 0.0.0.0 255.0.0.0 U lo
0.0.0.0 153.18.31.254 0.0.0.0 UG eth0

Observe tambm que a ordem das colunas diferente da que mostramos. Aqui, a
coluna Destination (destino) define o endereo de rede. O termo gateway, usado pelo
Unix, sinnimo de roteador. Essa coluna define na verdade o endereo do prximo
hop. O valor 0.0.0.0 mostra que o envio direto. A ltima entrada tem o flag G, que
significa que o destino pode ser atingido por meio de um roteador (roteador-padro).
A entrada Iface define a interface. O host tem apenas uma interface real, eth0, que sig-
nifica interface 0 conectada a uma rede Ethernet. A segunda interface, lo, na verdade
uma interface de retorno virtual, indicando que o host aceita pacotes com endereo de
retorno 127.0.0.0.
Mais informaes sobre o endereo IP e o endereo fsico do servidor podem ser
encontradas usando o comando ifconfig na interface dada (eth0).
$ ifconfig eth0
eth0 Link encap: Ethernet HWaddr 00:B0:D0:DF:09:5D
inet addr:153.18.17.11 Bcast:153.18.31.255 Mask:255.255.240.0

A partir dessas informaes, podemos deduzir a configurao do servidor, con-


forme a Figura 6.19.

Figura 6.19 Configurao do servidor para o Exemplo 13

eth0
00:B0:D0:DF:09:5D
153.18.17.11/20

153.18.31.254/20
153.18.16.0/20 Restante da Internet
Roteador-
padro
SEO 6.4 ESTRUTURA DE UM ROTEADOR 151

Note que o comando ifconfig fornece o endereo IP e o endereo fsico (hardware)


da interface.

6.4 Estrutura de um roteador


Em nossa discusso sobre encaminhamento e roteamento, representamos um roteador
como uma caixa preta que aceita os pacotes recebidos por uma das portas de entrada
(interfaces), usa uma tabela de roteamento para descobrir a porta de sada da qual parte o
pacote e o envia a partir dessa porta de sada. Nesta seo, abriremos a caixa preta e olhare-
mos dentro. Entretanto, nossa discusso no ser muito detalhada; livros inteiros j foram
escritos sobre roteadores. Forneceremos apenas uma viso geral para o leitor.

Componentes
Podemos dizer que um roteador tem quatro componentes: portas de entrada, portas
de sada, o processador de roteamento e a estrutura de comutao, como obser-
vado na Figura 6.20.

Figura 6.20 Componentes do roteador

Processador de
roteamento
Portas de entrada Portas de sada
Porta 1 Porta 1

Porta 2 Porta 2
Estrutura de comutao


Porta N Porta N

Portas de entrada
Uma porta de entrada executa as funes das camadas fsica e de enlace de dados
do roteador. Os bits so construdos a partir do sinal recebido e o pacote desencap-
sulado do quadro. Erros so detectados e corrigidos. O pacote est pronto para ser
encaminhado pela camada de rede. Alm de um processador de camada fsica e de
um processador de enlace de dados, a porta de entrada tem buffers (filas) para conter
os pacotes antes que eles sejam direcionados estrutura de comutao. A Figura 6.21
mostra um diagrama esquemtico de uma porta de entrada.

Portas de sada
Uma porta de sada executa as mesmas funes da porta de entrada, mas na ordem
inversa. Primeiro, os pacotes de sada so enfileirados, ento o pacote encapsulado
em um frame e, finalmente, as funes da camada fsica so aplicadas ao frame para
152 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

Figura 6.21 Porta de entrada

Processador da Processador da camada


camada fsica de enlace de dados
Fila
Porta de entrada

criar o sinal a ser enviado na linha. A Figura 6.22 mostra um diagrama esquemtico
de uma porta de sada.

Figura 6.22 Porta de sada

Processador da camada Processador da


de enlace de dados camada fsica
Fila
Porta de sada

Processador de roteamento
O processador de roteamento executa as funes da camada de rede. O endereo de
destino usado para descobrir o endereo do prximo hop e, ao mesmo tempo, o
nmero da porta de sada pela qual o pacote enviado. s vezes, essa atividade re-
ferida como pesquisa de tabela, pois o processador de roteamento pesquisa a tabela de
roteamento. Nos roteadores mais recentes, essa funo do processador de roteamento
est sendo transferida para as portas de entrada, para facilitar e acelerar o processo.

Estruturas de comutao
A tarefa mais difcil em um roteador mover o pacote da fila de entrada para a fila
de sada. A velocidade com que isso ocorre afeta o tamanho da fila de entrada/sada
e o atraso global no envio do pacote. No passado, quando, na prtica, um roteador
era um computador dedicado, a memria da mquina ou um barramento era usado
como estrutura de comutao. A porta de entrada armazenava o pacote na memria;
a porta de sada obtinha o pacote da memria. Hoje, os roteadores so mecanismos
especializados que utilizam uma variedade de estruturas de comutao. Discutiremos
brevemente aqui algumas dessas estruturas.
Comutador de barras horizontais O tipo mais simples de estrutura de comutao
o comutador de barras horizontais, ilustrado na Figura 6.23. Um comutador de
barras horizontais conecta n entradas a n sadas em uma grade, usando microcomu-
tadores eletrnicos em cada cruzamento.
Comutador banyan (figueira) Mais realista do que o comutador de barras horizon-
tais o comutador banyan (figueira em ingls), nome dado por causa da rvore. Um
comutador banyan possui vrios estgios, com microcomutadores em cada um, que di-
recionam os pacotes com base na porta de sada, representados como uma seqncia
binria. Para n entradas e n sadas, temos log2(n) estgios com n/2 microcomutadores
em cada um. O primeiro estgio direciona o pacote com base no bit de ordem mais alta
da seqncia binria. O segundo estgio direciona os pacotes com base no segundo bit
SEO 6.4 ESTRUTURA DE UM ROTEADOR 153

Figura 6.23 Comutador de barras horizontais

1
Entrada
2

0 1 2 3
Sada

de ordem mais alta e assim por diante. A Figura 6.24 mostra um comutador banyan
com oito entradas e oito sadas. O nmero de estgios log2(8) = 3.

Figura 6.24 Um comutador banyan

Bit da Bit do Bit da


esquerda meio direita

0 0 0 0 0
A-1 B-1 C-1
1 1 1 1 1
2 0 0 0 2
A-2 B-2 C-2
3 1 1 1 3
4 0 0 0 4
A-3 B-3 C-3
5 1 1 1 5
6 0 0 0 6
A-4 B-4 C-4
7 1 1 1 7

A Figura 6.25 mostra o funcionamento. Na parte A, um pacote chegou porta de


entrada 1 e deve ir porta de sada 6 (110 em binrio). O primeiro microcomutador
(A-2) direciona o pacote com base no primeiro bit (1); o segundo microcomutador
(B-4) envia o pacote com base no segundo bit (1) e o terceiro microcomutador (C-4)
direciona o pacote com base no terceiro bit (0). Na parte B, um pacote chegou porta
de entrada 5 e deve ir porta de sada 2 (010 em binrio). O primeiro microcomutador
(A-2) direciona o pacote com base no primeiro bit (0), o segundo microcomutador
(B-2) envia o pacote com base no segundo bit (1) e o terceiro microcomutador (C-2)
direciona o pacote com base no terceiro bit (0).

Comutador Batcher-banyan O problema do comutador banyan a possibilidade


de coliso interna, mesmo quando dois pacotes no esto indo em direo mesma
porta de sada. Podemos resolver esse problema classificando os pacotes recebidos
com base em suas portas de destino.
K. E. Batcher projetou um comutador que vem antes do comutador banyan e
classifica os pacotes recebidos de acordo com seus destinos. A combinao chamada
154 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

Figura 6.25 Exemplos de roteamento em um comutador banyan

0 0 0 0 0 0 0 0 0 0
A-1 B-1 C-1 A-1 B-1 C-1
1 1 1 1 1 1 1 1 1 1
2 0 0 0 2 2 0 0 0 2
A-2 B-2 C-2 A-2 B-2 C-2
3 1 1 1 3 3 1 1 1 3
4 0 0 0 4 4 0 0 0 4
A-3 B-3 C-3 A-3 B-3 C-3
5 1 1 1 5 5 1 1 1 5
6 0 0 0 6 6 0 0 0 6
A-4 B-4 C-4 A-4 B-4 C-4
7 1 1 1 7 7 1 1 1 7
a. Entrada 1 enviando para a sada 6 (110) b. Entrada 5 enviando para a sada 2 (010)

de comutador Batcher-banyan. O comutador de classificao usa tcnicas de mescla-


gem por hardware, mas no discutiremos os detalhes aqui. Normalmente, outro mdulo
de hardware chamado de armadilha (trap captura) adicionado entre o comutador
Batcher e o comutador banyan (veja a Figura 6.26). O mdulo de captura impede
que pacotes duplicados (com o mesmo destino de sada) passem simultaneamente ao
comutador banyan. Apenas um pacote para cada destino permitido a cada pulso; se
houver mais de um, eles esperam pelo prximo pulso.

Figura 6.26 Comutador Batcher-banyan

0 0 0 0 0
A-1 B-1 C-1
1 1 1 1 1
2 0 0 0 2
A-2 B-2 C-2
3 Comutador Mdulo de 1 1 1 3
4 Batcher captura 0 0 0 4
A-3 B-3 C-3
5 1 1 1 5
6 0 0 0 6
A-4 B-4 C-4
7 1 1 1 7
Comutador banyan

6.5 Termos-chave
Agregao de endereos Cruzamento
Comando ifconfig Encaminhamento
Comando netstat Endereo do prximo hop
Comutador banyan Envio
Comutador Batcher-banyan Envio direto
Comutador de barras horizontais Envio indireto
Correspondncia da mscara mais longa Estrutura de comutao
SEO 6.6 RESUMO 155

Mtodo-padro Processador de roteamento


Mtodo da rede especfica Roteamento
Mtodo de roteamento dinmico Roteamento hierrquico
Mtodo do host especfico Servio orientado a conexes
Mtodo do prximo hop Servio sem conexo
Portas de entrada Tabela de roteamento dinmica
Portas de sada Tabela de roteamento esttica

6.6 Resumo
Em um servio orientado a conexes, o protocolo da camada de rede local pri-
meiramente estabelece uma conexo com o protocolo da camada de rede no site
remoto, antes de enviar um pacote.
Em um servio sem conexo, o protocolo da camada de rede trata cada pacote
independentemente, ou seja, nenhum pacote tem relao com outro. Os pacotes de
uma mensagem podem ou no percorrer o mesmo caminho at seus destinos. O IP
um protocolo sem conexo.
O envio de um pacote chamado de direto se o remetente (host ou roteador) e o
destinatrio esto na mesma rede.
O envio de um pacote chamado de indireto se o remetente (host ou roteador) e o
destinatrio esto em redes diferentes.
No mtodo do prximo hop, em vez de constar uma lista completa das paradas
que o pacote deve fazer, listado apenas o endereo do prximo hop na tabela de
roteamento.
No mtodo da rede especfica, todos os hosts em uma rede compartilham uma
nica entrada na tabela de roteamento.
No mtodo do host especfico, o endereo IP completo de um host fornecido na
tabela de roteamento.
No mtodo-padro, um roteador designado para receber todos os pacotes sem
correspondncia na tabela de roteamento.
A tabela de roteamento do encaminhamento com classe pode ter trs colunas.
A tabela de roteamento do endereamento sem classe precisa de, pelo menos, qua-
tro colunas.
O nmero de colunas em uma tabela de roteamento depende do fornecedor.
A agregao de endereos simplifica o processo de encaminhamento no enderea-
mento sem classe.
A correspondncia com a mscara mais longa exigida no endereamento sem classe.
O endereamento sem classe exige roteamento hierrquico e geogrfico para evi-
tar tabelas de roteamento imensas.
Os algoritmos de pesquisa para o endereamento com classe no so eficientes
para o endereamento sem classe.
As entradas de uma tabela de roteamento esttica so atualizadas manualmente
por um administrador.
As entradas de uma tabela de roteamento dinmica so atualizadas automatica-
mente por um protocolo de roteamento.
Normalmente, um roteador constitudo de quatro componentes: portas de entra-
da, portas de sada, o processador de roteamento e a estrutura de comutao.
156 CAPTULO 6envio, encaminhamento e roteamento de pacotes ip

6.7 Conjunto de prtica

Exerccios
1. Um host com endereo IP 137.23.56.23/16 envia um pacote a um host com ende-
reo IP 137.23.67.9/16. O envio direto ou indireto? Suponha que no existam
sub-redes.
2. Um host com endereo IP 137.23.56.23/16 envia um pacote a um host com en-
dereo IP 142.3.6.9/24. O envio direto ou indireto? Suponha que no existam
sub-redes.
3. Na Figura 6.8, encontre a tabela de roteamento para o roteador R2.
4. Na Figura 6.8, encontre a tabela de roteamento para o roteador R3.
5. Um pacote chega ao roteador R1 na Figura 6.8 com endereo de destino
192.16.7.42. Mostre como ele encaminhado.
6. Um pacote chega ao roteador R1 na Figura 6.8 com endereo de destino
145.80.14.26. Mostre como ele encaminhado.
7. Um pacote chega ao roteador R1 na Figura 6.8 com endereo de destino
147.26.50.30. Mostre como ele encaminhado.
8. Um pacote chega ao roteador na Figura 6.11 com endereo de destino
145.14.192.71. Mostre como ele encaminhado.
9. Um pacote chega ao roteador na Figura 6.11 com endereo de destino 135.11.80.21.
Mostre como ele encaminhado.
10. Um pacote chega ao roteador R1 na Figura 6.13 com endereo de destino
201.4.16.70. Mostre como ele encaminhado.
11. Um pacote chega ao roteador R1 na Figura 6.13 com endereo de destino
202.70.20.30. Mostre como ele encaminhado.
12. Mostre uma tabela de roteamento para um host que est totalmente isolado.
13. Mostre uma tabela de roteamento para um host que est conectado a uma rede
local sem estar conectado Internet.
14. Descubra a topologia da rede em que a Tabela 6.3 a tabela de roteamento para o
roteador R1.

Tabela 6.3 Tabela de roteamento para o Exerccio 14


Endereo Endereo do
Mscara de rede prximo hop Interface
/27 202.14.17.224 ---- m1
/18 145.23.192.0 ---- m0
padro padro 130.56.12.4 m2

15. Na Figura 6.16, o roteador R1 pode receber um pacote com endereo de destino
140.24.7.194? Explique sua resposta.
16. Na Figura 6.16, o roteador R1 pode receber um pacote com endereo de destino
140.24.7.42? Explique sua resposta.
17. Mostre a tabela de roteamento do ISP regional na Figura 6.17.
18. Mostre a tabela de roteamento do ISP local 1 na Figura 6.17.
SEO 6.7 CONJUNTO DE PRTICA 157

19. Mostre a tabela de roteamento do ISP local 2 na Figura 6.17.


20. Mostre a tabela de roteamento do ISP local 3 na Figura 6.17.
21. Mostre a tabela de roteamento do ISP pequeno 1 na Figura 6.17.

Atividades de pesquisa
22. Se voc tem acesso ao Unix (ou Linux), use netstat para encontrar a tabela de
roteamento do servidor no qual est conectado.
23. Se voc tem acesso ao Unix (ou Linux), use ifconfig para encontrar especificaes
da interface do servidor no qual est conectado.
24. Descubra como seu ISP usa os princpios de agregao de endereos e de corres-
pondncia da mscara mais longa.
25. Descubra se seu endereo IP faz parte ou no da alocao geogrfica de endereos.
26. Encontre os RFCs da agregao de endereos.
27. Encontre os RFCs da correspondncia do prefixo mais longo.
28. Se voc estiver usando um roteador, descubra o nmero e os nomes das colunas
da tabela de roteamento.
29. A Cisco um dos principais fabricantes de roteadores. Encontre informaes so-
bre os diferentes tipos de roteadores fabricados por essa empresa.
SEO 2.1 O MODELO OSI 159

Captulo 7

ARP e RARP
Uma Internet constituda de uma combinao de redes fsicas conectadas por dispo-
sitivos de interligao em rede, como os roteadores. Um pacote enviado por um host
de origem pode passar por vrias redes fsicas diferentes, antes de finalmente chegar
ao host de destino.
Os hosts e roteadores so reconhecidos em nvel de rede por seus endereos
lgicos. Um endereo lgico um endereo de rede interligada. Sua jurisdio
universal. Um endereo lgico nico universalmente. Ele tem esse nome porque
normalmente implementado no software. Todo protocolo que trata com interligao
de redes exige endereos lgicos. No conjunto de protocolos TCP/IP, os endereos
lgicos so chamados de endereos IP e tm 32 bits.
Contudo, os pacotes passam por redes fsicas para chegar a esses hosts e roteado-
res. No nvel fsico, os hosts e roteadores so reconhecidos por seus endereos fsicos.
Um endereo fsico um endereo local. Sua jurisdio uma rede local. Ele deve ser
exclusivo de forma local, mas no necessariamente de forma universal. Ele tem esse
nome porque normalmente (mas nem sempre) implementado no hardware. Exem-
plos de endereos fsicos so os endereos MAC de 48 bits no protocolo Ethernet, que
vm impressos na NIC instalada no host ou roteador.
O endereo fsico e o endereo lgico so dois identificadores diferentes. Pre-
cisamos de ambos, pois uma rede fsica, como a Ethernet, pode ter simultaneamente
dois protocolos diferentes na camada de rede, como IP e IPX (Novell). Do mesmo
modo, um pacote em uma camada de rede, como IP, pode passar por diferentes redes
fsicas, como Ethernet e LocalTalk (Apple).
Isso significa que o envio de um pacote para um host ou roteador exige dois
nveis de endereamento: lgico e fsico. Precisamos ser capazes de mapear um en-
dereo lgico em seu endereo fsico correspondente e vice-versa. Isso pode ser feito
usando-se mapeamento esttico ou dinmico.
Mapeamento esttico significa criar uma tabela que associa um endereo lgico
a um endereo fsico. Essa tabela armazenada em cada mquina na rede. Cada uma
delas que conhea, por exemplo, o endereo IP de outra mquina, mas no seu endere-
o fsico, poder procur-lo na tabela. Isso tem algumas limitaes, pois os endereos
fsicos podem mudar das seguintes maneiras:
1. Uma mquina poderia mudar sua NIC, resultando em um novo endereo fsico.

159
160 CAPTULO 7arp e rarp

2. Em algumas redes locais, como a LocalTalk, o endereo fsico muda sempre que
o computador ligado.
3. Um computador mvel pode mudar de uma rede fsica para outra, resultando em
uma alterao em seu endereo fsico.
Para implementar essas alteraes, uma tabela de mapeamento esttico deve ser atua-
lizada periodicamente. Essa sobrecarga poderia afetar o desempenho da rede.
No mapeamento dinmico, sempre que uma mquina conhece um dos dois en-
dereos (lgico ou fsico), ela pode usar um protocolo para descobrir o outro.
Dois protocolos foram projetados para realizar o mapeamento dinmico: ARP
(Address Resolution Protocol) e RARP (Reverse Address Resolution Protocol). O
primeiro faz o mapeamento de um endereo lgico em um endereo fsico; o segundo
faz o mapeamento de um endereo fsico em um endereo lgico. A Figura 7.1 mostra
a idia.

Figura 7.1 ARP e RARP

Endereo lgico Endereo lgico

ARP RARP

Endereo fsico Endereo fsico

O ARP e o RARP usam endereos fsicos unicast e broadcast. Discutimos os en-


dereos fsicos unicast e broadcast no Captulo 3. Mencionamos, por exemplo, que a
Ethernet usa o endereo com todos os valores 1 (FF:FF:FF:FF:FF:FF) como endereo
broadcast.
A Figura 7.2 mostra a posio dos protocolos ARP e RARP no conjunto de pro-
tocolos TCP/IP.

Figura 7.2 Posio dos protocolos ARP e RARP no conjunto de protocolos TCP/IP

IGMP ICMP
Camada
de rede IP
ARP RARP

7.1 ARP
Sempre que um host ou roteador tem um datagrama IP para enviar para outro host ou
roteador, ele tem o endereo lgico (IP) do destinatrio. Mas o datagrama IP deve ser
encapsulado em um frame para passar pela rede fsica. Isso significa que o remetente
SEO 7.1 ARP 161

precisa do endereo fsico do destinatrio. Um mapeamento combina um endereo


lgico com um endereo fsico.
Conforme j dissemos, isso pode ser feito esttica ou dinamicamente. A associa-
o entre endereos lgicos e fsicos pode ser armazenada estaticamente em uma tabe-
la. O remetente pode examinar a tabela e descobrir o endereo fsico correspondente
a um endereo lgico. Mas, conforme j discutimos, essa no uma boa soluo.
Sempre que um endereo fsico alterado, a tabela precisa ser atualizada. Atualizar
tabelas em todas as mquinas em intervalos freqentes uma tarefa muito rdua.
Entretanto, o mapeamento pode ser feito dinamicamente, o que significa que o
remetente pede ao destinatrio para que anuncie seu endereo fsico, quando necess-
rio. O protocolo ARP foi projetado com esse propsito.
O protocolo ARP associa um endereo IP ao seu endereo fsico. Em uma rede
fsica tpica, como uma rede local, cada dispositivo em um link identificado por um
endereo fsico ou de estao que, normalmente, vem impresso na NIC.
Sempre que um host ou roteador precisa descobrir o endereo fsico de outro
host ou roteador em sua rede, ele envia um pacote de consulta ARP. O pacote inclui
o endereo fsico e o endereo IP do remetente, alm do endereo IP do destinatrio.
Como o remetente no conhece o endereo fsico do destinatrio, feita uma consulta
por broadcast na rede (veja a Figura 7.3).

Figura 7.3 Operao ARP

Procurando o endereo fsico de um


n com endereo 141.23.56.23

Pedido
Sistema A Sistema B

a. O pedido ARP enviado por broadcast

O endereo fsico do n
A4:6E:F4:59:83:AB

Resposta
Sistema A Sistema B

b. A resposta ARP unicast

Todo host ou roteador na rede recebe e processa o pacote de pedido ARP, mas
apenas o destinatrio pretendido reconhece seu endereo IP e envia de volta um pa-
cote de resposta ARP. O pacote de resposta contm os endereos IP e fsico do des-
tinatrio. O pacote enviado por unicast para o remetente, usando o endereo fsico
recebido no pacote de consulta.
Na Figura 7.3a, o sistema da esquerda (A) tem um pacote que precisa ser enviado
para outro sistema (B) com o endereo IP 141.23.56.23. O sistema A precisa passar
162 CAPTULO 7arp e rarp

o pacote para sua camada de enlace de dados para o envio real, mas no reconhece
o endereo fsico do destinatrio. Ele usa os servios do protocolo ARP, pedindo a
ele para que envie um pacote de pedido ARP por broadcast, para solicitar o endereo
fsico de um sistema com o endereo IP 141.23.56.23.
Esse pacote recebido por todos os sistemas presentes na rede fsica, mas apenas
o sistema B responder, como mostra a Figura 7.3b. O sistema B envia um pacote de
resposta ARP que inclui seu endereo fsico. Agora o sistema A pode enviar todos os
pacotes que possui para esse destino, usando o endereo fsico recebido.

Formato de pacote
A Figura 7.4 mostra o formato de um pacote ARP.

Figura 7.4 Pacote ARP

Tipo de hardware Tipo de protocolo

Comprimento Comprimento Operao


de hardware de protocolo Pedido 1, Resposta 2

Endereo de hardware do remetente


(Por exemplo, 6 bytes para Ethernet)

Endereo de protocolo do remetente


(Por exemplo, 4 bytes para IP)

Endereo de hardware de destino


(Por exemplo, 6 bytes para Ethernet)
(Isso no preenchido em um pedido)

Endereo de protocolo de destino


(Por exemplo, 4 bytes para IP)

Os campos so os seguintes:
Tipo de hardware. um campo de 16 bits que define o tipo da rede em que o pro-
tocolo ARP est funcionando. Cada rede local recebeu um valor inteiro baseado
em seu tipo. Por exemplo, a Ethernet recebeu o tipo 1. O protocolo ARP pode ser
usado em qualquer rede fsica.
Tipo de protocolo. um campo de 16 bits que define o protocolo. Por exemplo,
o valor desse campo para o protocolo IPv4 080016. O protocolo ARP pode ser
usado com qualquer protocolo de nvel mais alto.
Comprimento de hardware. um campo de 8 bits que define o comprimento do
endereo fsico, em bytes. Por exemplo, para a Ethernet, o valor 6.
Comprimento de protocolo. um campo de 8 bits que define o comprimento do
endereo lgico, em bytes. Por exemplo, para o protocolo IPv4, o valor 4.
Operao. um campo de 16 bits que define o tipo de pacote. Dois tipos de pa-
cote so definidos: pedido ARP (1) e resposta ARP (2).
SEO 7.1 ARP 163

Endereo de hardware do remetente. um campo de comprimento varivel que


define o endereo fsico do remetente. Por exemplo, para a Ethernet, esse campo
tem 6 bytes de comprimento.
Endereo de protocolo do remetente. um campo de comprimento varivel que
define o endereo lgico (por exemplo, IP) do remetente. Para o protocolo IP, esse
campo tem 4 bytes de comprimento.
Endereo de hardware de destino. um campo de comprimento varivel que define
o endereo fsico do destino. Por exemplo, para a Ethernet, esse campo tem 6 bytes de
comprimento. Para uma mensagem de pedido ARP, esse campo constitudo apenas
de valores 0, porque o remetente no conhece o endereo fsico do destino.
Endereo de protocolo de destino. um campo de comprimento varivel que
define o endereo lgico (por exemplo, IP) do destino. Para o protocolo IPv4, esse
campo tem 4 bytes de comprimento.

Encapsulamento
Um pacote ARP encapsulado diretamente em um frame de enlace de dados. Por
exemplo, na Figura 7.5, um pacote ARP encapsulado em um frame Ethernet. Note
que o campo Tipo indica que o dado transportado pelo frame um pacote ARP.

Figura 7.5 Encapsulamento de pacote ARP

Pacote de pedido ou resposta ARP

Tipo: 0x0806

Prembulo Endereo de Endereo


Tipo Dados CRC
e SFD destino de origem
8 bytes 6 bytes 6 bytes 2 bytes 4 bytes

Operao
Vamos ver como o protocolo ARP funciona em uma Internet tpica. Descreveremos
primeiro as etapas envolvidas. Em seguida, discutiremos os quatro casos nos quais um
host ou roteador precisa usar ARP.

Etapas envolvidas
Estas so as etapas envolvidas em um processo ARP:
1. O remetente conhece o endereo IP de destino. Veremos como o remetente obtm
isso em breve.
2. O IP pede ao ARP para que crie uma mensagem de pedido ARP, preenchendo o
endereo fsico e o endereo IP do remetente e o endereo IP de destino. O campo
de endereo fsico do destino preenchido com valores 0.
3. A mensagem passada para a camada de enlace de dados, na qual encapsulada
em um frame, usando o endereo fsico do remetente como endereo de origem e
o endereo fsico broadcast como endereo de destino.
4. Todo host ou roteador recebe o frame. Como o frame contm um endereo de des-
tino broadcast, todas as estaes removem a mensagem e a passam para o ARP.
164 CAPTULO 7arp e rarp

Todas as mquinas, exceto a de destino, eliminam o pacote. A mquina de destino


reconhece o endereo IP.
5. A mquina de destino envia uma mensagem de resposta ARP que contm seu
endereo fsico. A mensagem enviada por unicast.
6. O remetente recebe a mensagem de resposta. Agora ele conhece o endereo fsico
da mquina de destino.
7. O datagrama IP, que transporta dados para a mquina de destino, agora encap-
sulado em um frame e enviado por unicast ao destino.

Quatro casos diferentes


A seguir, esto quatro casos diferentes nos quais os servios do protocolo ARP podem
ser usados (veja a Figura 7.6).

Figura 7.6 Quatro casos usando ARP

Endereo IP do destino: Endereo IP de destino:


endereo de destino no datagrama IP endereo IP de um roteador

Remetente Remetente

Host
Host Host Roteador
Rede local Rede local
Destinatrio Destinatrio
Caso 1. Um host tem um pacote para Caso 2. Um host quer enviar um
enviar a outro host na mesma rede. pacote a outro host em outra rede.
Ele deve primeiro ser enviado a um roteador.

Endereo IP de destino: endereo IP do Endereo IP de destino:


roteador apropriado, encontrado endereo de destino no datagrama IP
na tabela de roteamento
Remetente Remetente
Host
Roteador Roteador Roteador
Rede local Rede local
Destinatrio Destinatrio
Caso 3. Um roteador recebe um pacote Caso 4. Um roteador recebe um pacote
para ser enviado a um host em outra rede. para ser enviado a um host na mesma rede.
Ele deve primeiro ser enviado para
o roteador apropriado.

1. O remetente um host e quer enviar um pacote para outro host na mesma rede.
Nesse caso, o endereo lgico que deve ser mapeado em um endereo fsico o
endereo IP de destino no cabealho do datagrama.
2. O remetente um host e quer enviar um pacote para outro host em outra rede.
Nesse caso, o host examina sua tabela de roteamento e descobre o endereo IP
do prximo hop (roteador) para esse destino. Se ele no tiver uma tabela de ro-
teamento, procurar o endereo IP do roteador-padro. O endereo IP do roteador
torna-se o endereo lgico que deve ser mapeado em um endereo fsico.
SEO 7.1 ARP 165

3. O remetente um roteador que recebeu um datagrama destinado a um host em


outra rede. Ele verifica sua tabela de roteamento e descobre o endereo IP do pr-
ximo roteador. O endereo IP do prximo roteador torna-se o endereo lgico que
deve ser mapeado em um endereo fsico.
4. O remetente um roteador que recebeu um datagrama destinado a um host na
mesma rede. O endereo IP de destino do datagrama torna-se o endereo lgico
que deve ser mapeado em um endereo fsico.

Um pedido ARP enviado por broadcast;


uma resposta ARP enviada por unicast.

Exemplo 1
Um host com endereo IP 130.23.43.20 e endereo fsico B2:34:55:10:22:10 tem
um pacote para enviar a outro host com endereo IP 130.23.43.25 e endereo fsico
A4:6E:F4:59:83:AB, at ento desconhecido do primeiro host. Os dois hosts esto na
mesma rede Ethernet. Mostre os pacotes de pedido e de resposta ARP encapsulados
em frames Ethernet.

Soluo
A Figura 7.7 mostra os pacotes de pedido e de resposta ARP. Note que, nesse caso, o
campo de dados ARP tem 28 bytes e que os endereos individuais no cabem no limi-

Figura 7.7 Exemplo 1

130.23.43.20 130.23.43.25
B2:34:55:10:22:10 A4:6E:F4:59:83:AB
Sistema A Sistema B
0x0001 0x0800
0x06 0x04 0x0001
0xB23455102210
0x82172B14 130.23.43.20
0x000000000000
0x82172B19 130.23.43.25

Dados Prembulo
CRC 0x0806 0xB23455102210 0xFFFFFFFFFFFF
28 bytes e SFD
Pedido ARP

0x0001 0x0800
0x06 0x04 0x0002
0xA46EF45983AB
0x82172B19
0xB23455102210
0x82172B14

Prembulo
0xB23455102210 0xA46EF45983AB 0x0806 Dados CRC
e SFD
Resposta ARP (de B para A)
166 CAPTULO 7arp e rarp

te de 4 bytes. por isso que no mostramos os limites normais de 4 bytes para esses
endereos. Note tambm que os endereos IP so mostrados em hexadecimal. Para
obter informaes sobre a notao binria e hexadecimal, consulte o Apndice B.

ARP sobre ATM


O protocolo ARP tambm usado quando um pacote IP quer passar por uma rede
ATM. Falaremos sobre esse aspecto do protocolo ARP quando discutirmos IP sobre
ATM no Captulo 23.

ARP proxy
Uma tcnica chamada de ARP proxy usada para criar um efeito de sub-rede. Um
ARP proxy um ARP que atua em nome de um conjunto de hosts. Quando um rote-
ador executando um ARP proxy recebe um pedido ARP procurando o endereo IP de
um desses hosts, o roteador envia uma resposta ARP anunciando seu prprio endereo
de hardware (fsico). Depois que o roteador recebe o pacote IP real, ele o envia para o
host ou roteador apropriado.
Vamos dar um exemplo. Na Figura 7.8, o ARP instalado no host da direita s
responder a um pedido ARP cujo endereo IP de destino seja 141.23.56.23.

Figura 7.8 ARP proxy

141.23.56.21 141.23.56.22 141.23.56.23


O roteador ARP proxy responde
a todo pedido ARP recebido dos
destinos 141.23.56.21, Sub-rede adicionada
141.23.56.22 e 141.23.56.23.
Roteador
ARP proxy
Pedido

Roteador ou host

Entretanto, talvez o administrador precise criar uma sub-rede, sem alterar o sis-
tema inteiro para reconhecer endereos de sub-rede. Uma soluo adicionar um
roteador executando um ARP proxy. Nesse caso, o roteador atuar em nome de todos
os hosts instalados na sub-rede. Ao receber um pedido ARP com um endereo IP
de destino que corresponda ao endereo de um de seus protegidos (141.23.56.21,
141.23.56.22 e 141.23.56.23), ele envia uma resposta ARP e anuncia o seu endereo
de hardware como de destino. Quando o roteador recebe o pacote IP, ele o envia para
o host apropriado.

7.2 Pacote ARP


Nesta seo, mostraremos um exemplo de pacote de software ARP simplificado. O
objetivo apresentar os componentes de um pacote ARP hipottico e as relaes entre
os componentes.
SEO 7.2 PACOTE ARP 167

Podemos dizer que esse pacote ARP envolve cinco componentes: uma tabela de
cache, filas, um mdulo de sada, um mdulo de entrada e um mdulo de controle de
cache. A Figura 7.9 mostra esses cinco componentes e suas interaes. O pacote recebe
um datagrama IP que precisa ser encapsulado em um frame, o qual necessita do endere-
o fsico (hardware) do destino. Se o pacote ARP encontrar esse endereo, ele enviar o
pacote IP e o endereo fsico camada de enlace de dados para transmisso.

Figura 7.9 Componentes do ARP

Pacote IP

Camada IP
ARP
Mdulo de sada

Pacote IP
Mdulo de controle

Tabela de cache Filas


de cache

Pacote IP

Mdulo de entrada

Pacote ARP Pacote ARP Pacote ARP Pacote IP com Pacote ARP Pacote IP com
(pedido) (pedido ou resposta) (resposta) endereo de (pedido) endereo de
hardware solucionado hardware solucionado
Camada de enlace de dados

Tabela de cache
Normalmente, um remetente tem mais de um datagrama IP para enviar para o mesmo
destino. ineficiente usar o protocolo ARP para cada datagrama destinado ao mesmo
host ou roteador. A soluo a tabela de cache. Quando um host ou roteador recebe
o endereo fsico correspondente a um datagrama IP, ele pode ser salvo na tabela de
cache. Esse endereo pode ser usado para os datagramas destinados ao mesmo desti-
natrio dentro dos prximos minutos. Contudo, como o espao na tabela de cache
muito limitado, os mapeamentos na cache no so mantidos por muito tempo.
168 CAPTULO 7arp e rarp

A tabela de cache implementada como um grupo de entradas. Em nosso pacote,


cada entrada contm os seguintes campos:
Estado. Essa coluna mostra o estado da entrada. Ele pode ter trs valores: LIVRE,
PENDENTE ou RESOLVIDO. O estado LIVRE significa que o tempo de vida dessa
entrada expirou. O espao pode ser usado por uma nova entrada. O estado PENDEN-
TE significa que foi enviado um pedido para essa entrada, mas a resposta ainda no
foi recebida. O estado RESOLVIDO significa que a entrada est concluda. Agora, a
entrada tem o endereo fsico (hardware) do destino. Os pacotes que esto esperando
para serem enviados a esse destino podem usar as informaes dessa entrada.
Tipo de hardware. Esse campo igual ao campo correspondente no pacote ARP.
Tipo de protocolo. Esse campo igual ao campo correspondente no pacote ARP.
Comprimento de hardware. Esse campo igual ao campo correspondente no
pacote ARP.
Comprimento de protocolo. Esse campo igual ao campo correspondente no
pacote ARP.
Nmero da interface. Um roteador (ou um host multihomed) pode ser conectado
em diferentes redes, cada uma com um nmero de interface distinto. Cada rede
pode ter diferentes tipos de hardware e protocolo.
Nmero da fila. O ARP usa filas numeradas para enfileirar os pacotes que esto
esperando pela soluo de endereo. Os pacotes direcionados ao mesmo destino
normalmente so colocados na mesma fila.
Tentativas. Essa coluna mostra o nmero de vezes que um pedido ARP foi envia-
do para essa entrada.
Tempo-limite. Essa coluna mostra o tempo de vida de uma entrada, em segundos.
Endereo de hardware. Essa coluna mostra o endereo de hardware do destino.
Ela permanece vazia at o endereo ser solucionado por uma resposta ARP.
Endereo de protocolo. Essa coluna mostra o endereo IP do destino.

Filas
Nosso pacote ARP mantm um conjunto de filas, uma para cada destino, para manter
os pacotes IP enquanto o ARP tenta solucionar o endereo de hardware. O mdulo
de sada envia os pacotes no-solucionados para a fila correspondente. O mdulo de
entrada remove um pacote de uma fila e o envia, com o endereo fsico solucionado,
para a camada de enlace de dados, que realizar a transmisso.

Mdulo de sada
O mdulo de sada espera um pacote IP do software de IP. Ele verifica a tabela de
cache para descobrir uma entrada correspondente para o endereo IP de destino des-
se pacote. O endereo IP de destino do pacote IP deve corresponder ao endereo de
protocolo da entrada.
Se a entrada for encontrada e seu estado for RESOLVIDO, o pacote passado,
junto ao endereo de hardware do destino, para a camada de enlace de dados, que
realizar a transmisso.
Se a entrada for encontrada e seu estado for PENDENTE, o pacote espera at que
o endereo de hardware do destino seja encontrado. Como o estado PENDENTE, j
existe uma fila criada para esse destino. O mdulo envia o pacote para essa fila.
SEO 7.2 PACOTE ARP 169

Se nenhuma entrada for encontrada, o mdulo cria uma fila e coloca nela o paco-
te. Uma nova entrada com o estado PENDENTE criada para esse destino e o valor
do campo TENTATIVAS configurado como 1. Ento, um pacote de pedido ARP
enviado por broadcast.

Mdulo de sada

1. Fica suspenso at que um pacote IP seja recebido do software de IP.


2.Verifica a tabela de cache para ver se h uma entrada correspondente
para o destino desse pacote IP.
3. Se (a entrada for encontrada)
1. Se (o estado for RESOLVIDO)
1. Extrai o valor do endereo de hardware da entrada.
2.Envia o pacote e o endereo de hardware para a cama-
da de enlace de dados.
3. Retorna.
2. Se (o estado for PENDENTE)
1. Enfileira o pacote na fila correspondente.
2. Retorna.
4. Se (a entrada no for encontrada)
1.Cria uma entrada na cache com o estado configurado como PEN-
DENTE e com o campo TENTATIVAS configurado como 1.
2. Cria uma fila.
3. Enfileira o pacote.
4. Envia um pedido ARP.
5. Retorna.

Mdulo de entrada
O mdulo de entrada espera at que um pacote ARP (pedido ou resposta) chegue.
Ele verifica a tabela de cache para encontrar uma entrada correspondente a esse pacote
ARP. O endereo de protocolo do destino deve corresponder ao endereo de protocolo
da entrada.
Se a entrada for encontrada e seu estado for PENDENTE, o mdulo a atualiza,
copiando o endereo de hardware de destino do pacote no campo de endereo de
hardware da entrada e alterando o estado para RESOLVIDO. O mdulo tambm con-
figura o valor do TEMPO-LIMITE dessa entrada. Ento, ele retira os pacotes da fila
correspondente e os envia, junto ao endereo de hardware, para a camada de enlace
de dados, que far a transmisso.
Se a entrada for encontrada e tiver como estado RESOLVIDO, o mdulo ainda a
atualiza. Isso porque o endereo de hardware de destino pode ter sido alterado.
O valor do campo TEMPO-LIMITE tambm redefinido.
Se a entrada no for encontrada, o mdulo cria uma nova e a adiciona na tabela.
O protocolo exige que toda informao recebida seja adicionada na tabela para uso
futuro. O estado configurado como RESOLVIDO e o TEMPO-LIMITE definido.
Agora, o mdulo verifica se o pacote ARP que chegou um pedido. Se for, ele
criar imediatamente uma mensagem de resposta ARP e a enviar para o remetente.
170 CAPTULO 7arp e rarp

O pacote de resposta ARP criado alterando o valor do campo operao de Pedido


para Resposta e pelo preenchimento do endereo de hardware de destino.

Mdulo de entrada

1. Fica suspenso at a chegada de um pacote ARP (pedido ou resposta).


2.Verifica a tabela de cache para encontrar uma entrada correspondente
para esse pacote ARP.
3. Se (a entrada for encontrada)
1. Atualiza a entrada.
2. Se (o estado for PENDENTE)
1. Enquanto a fila no estiver vazia.
1. Retira um pacote da fila.
2.Envia o pacote e o endereo de hardware ca-
mada de enlace de dados.
4. Se (no for encontrada)
1. Cria uma entrada.
2. Adiciona a entrada na tabela.
5. Se (o pacote for um pedido)
1. Envia uma resposta ARP.
6. Retorna.

Mdulo de controle de cache


O mdulo de controle de cache responsvel por manter a tabela de cache. Ele veri-
fica periodicamente (por exemplo, a cada 5 s) a tabela de cache, entrada por entrada.
Se o estado da entrada for LIVRE, ele continua na prxima entrada. Se o estado
for PENDENTE, o mdulo incrementa 1 ao valor do campo Tentativas. Ento, ele
verifica o valor. Se for maior do que o nmero mximo de tentativas permitidas, o
estado ser alterado para LIVRE e a fila correspondente ser destruda. Entretanto, se
o nmero de tentativas for menor do que o mximo, o mdulo criar e enviar outro
pedido ARP.
Se o estado da entrada for RESOLVIDO, o mdulo decrementa o valor do cam-
po tempo-limite da quantidade de tempo decorrido desde a ltima verificao. Se
esse valor for menor ou igual a zero, o estado ser alterado para LIVRE e a fila ser
destruda.

Mdulo de controle de cache


1. Fica suspenso at que o cronmetro peridico dispare.
2. Para cada entrada na tabela de cache
1. Se (o estado for LIVRE)
1. Continua.
2. Se (o estado for PENDENTE)
1. Incrementa 1 ao valor de tentativas.
SEO 7.2 pacote arp 171

Mdulo de controle de cache (continuao)

2. Se (o nmero de tentativas for maior do que o mximo)


1. Altera o estado para LIVRE.
2. Destri a fila correspondente.
3. Seno
1. Envia um pedido ARP.
4. Continua.
3. Se (o estado for RESOLVIDO)
1.Decrementa o valor do tempo-limite do valor do tem-
po decorrido.
2. Se (o tempo-limite for menor ou igual a zero)
1. Altera o estado para LIVRE.
2. Destri a fila correspondente.
3. Retorna.

Mais exemplos
Nesta seo, mostraremos alguns exemplos da operao ARP e as alteraes na tabela de ca-
che. A Tabela 7.1 mostra alguns campos da tabela de cache no incio de nossos exemplos.
Tabela 7.1 Tabela de cache original usada para os exemplos

Tempo-
Estado Fila Tentativa End. de protocolo End. de hardware
limite
R 5 900 180.3.6.1 ACAE32457324
P 2 2 129.34.4.8
P 14 5 201.11.56.7
R 8 450 114.5.7.89 457342ACAE32
P 12 1 220.55.5.7
L
R 9 60 19.1.7.82 4573E3242ACA
P 18 3 188.11.8.71

Exemplo 2
O mdulo de sada ARP recebe um datagrama IP (da camada IP) com o endereo de
destino 114.5.7.89. Ele verifica a tabela de cache e descobre que existe uma entrada
para esse destino, com o estado RESOLVIDO (R, na tabela). Ele extrai o endereo
de hardware, que 457342ACAE32, e envia o pacote e o endereo para a camada de
enlace de dados para transmisso. A tabela de cache permanece a mesma.

Exemplo 3
Vinte segundos depois, o mdulo de sada ARP recebe um datagrama IP (da camada
IP) com o endereo de destino 116.1.7.22. Ele verifica a tabela de cache e no encon-
tra esse destino na tabela. O mdulo adiciona uma entrada na tabela, com o estado
172 CAPTULO 7arp e rarp

PENDENTE e o valor de tentativa 1. Ele cria uma nova fila para esse destino na qual
dinclui o pacote. Ento, ele envia um pedido ARP para a camada de enlace de dados
para esse destino. A nova tabela de cache est mostrada na Tabela 7.2.

Tabela 7.2 Tabela de cache atualizada para o Exemplo 3

End. de End. de
Estado Fila Tentativa Tempo-limite
protocolo hardware
R 5 900 180.3.6.1 ACAE32457342
P 2 2 129.34.4.8
P 14 5 201.11.56.7
R 8 450 114.5.7.89 457342ACAE32
P 12 1 220.55.5.7
P 23 1 116.1.7.22
R 9 60 19.1.7.82 4573E3242ACA
P 18 3 188.11.8.71

Exemplo 4
Quinze segundos depois, o mdulo de entrada ARP recebe um pacote ARP com ende-
reo de protocolo (IP) de destino 188.11.8.71. O mdulo verifica a tabela e encontra
esse endereo. Ele altera o estado da entrada para RESOLVIDO e configura o valor do
tempo-limite para 900. Ento, o mdulo adiciona o endereo de hardware de destino
(E34573242ACA) na entrada. Agora, ele acessa a fila 18 e envia todos os pacotes
dessa fila, um por um, para a camada de enlace de dados. A nova tabela de cache est
mostrada na Tabela 7.3.

Tabela 7.3 Tabela de cache atualizada para o Exemplo 4

End. de
Estado Fila Tentativa Tempo-limite End. de hardware
protocolo
R 5 900 180.3.6.1 ACAE32457342
P 2 2 129.34.4.8
P 14 5 201.11.56.7
R 8 450 114.5.7.89 457342ACAE32
P 12 1 220.55.5.7
P 23 1 116.1.7.22
R 9 60 19.1.7.82 4573E3242ACA
R 18 900 188.11.8.71 E34573242ACA

Exemplo 5
Vinte e cinco segundos depois, o mdulo de controle de cache atualiza cada entrada.
Os valores de tempo-limite das trs primeiras entradas solucionadas so decremen-
tados por 60. O valor de tempo-limite da ltima entrada solucionada decrementado
por 25. O estado da penltima entrada alterado para LIVRE, pois o tempo-limite
SEO 7.3 RARP 173

zero. Para uma das trs entradas pendentes, o valor do campo Tentativas incremen-
tado por um. Aps o incremento, o valor de Tentativas de uma entrada (a que tem o
endereo IP 201.11.56.7) maior do que o mximo; o estado alterado para LIVRE,
a fila excluda e uma mensagem ICMP enviada para o destino original (consulte o
Captulo 9). Veja a Tabela 7.4.

Tabela 7.4 Tabela de cache atualizada para o Exemplo 5

End. de
Estado Fila Tentativa Tempo-limite End. de hardware
protocolo
R 5 840 180.3.6.1 ACAE32457342
P 2 3 129.34.4.8
L
R 8 390 114.5.7.89 457342ACAE32
P 12 2 220.55.5.7
P 23 2 116.1.7.22
L
R 18 875 188.11.8.71 E34573242ACA

7.3 RARP
O protocolo RARP descobre o endereo lgico de uma mquina que s conhece seu
endereo fsico. Cada host ou roteador recebe um ou mais endereos lgicos (IP), que
so exclusivos e independentes do endereo fsico (hardware) da mquina. Para criar
um datagrama IP, um host ou roteador precisa conhecer seu prprio endereo IP (ou
endereos). O endereo IP de uma mquina normalmente lido a partir de seu arquivo
de configurao armazenado em disco.
Contudo, uma mquina sem disco normalmente inicializada a partir da me-
mria ROM, que possui informaes mnimas de inicializao. A memria ROM
instalada pelo fabricante. Ela no pode incluir o endereo IP, pois os endereos IP so
atribudos pelo administrador de rede.
A mquina pode obter seu endereo fsico (lendo sua NIC, por exemplo), que
exclusivo de forma local. Ento, ela pode usar o endereo fsico para obter o endereo
lgico com o protocolo RARP. Um pedido RARP criado e enviado por broadcast na
rede local. Outra mquina na rede local que conhea todos os endereos IP retornar
com uma resposta RARP. A mquina solicitante deve estar executando um programa
cliente RARP; a mquina que vai responder deve estar executando um programa ser-
vidor RARP (veja a Figura 7.10).

Os pacotes de pedido RARP so enviados por broadcast; os pacotes de resposta


RARP so enviados por unicast.

Na Figura 7.10a, o host sem disco esquerda inicializado. Para obter seu endere-
o IP, ele envia um pedido RARP por broadcast para todos os sistemas da rede.
Esse pacote recebido por todo host (ou roteador) da rede fsica, mas apenas o
servidor RARP da direita responder, conforme mostrado na Figura 7.10b. O servidor
envia um pacote de resposta RARP que inclui o endereo IP do solicitante.
174 CAPTULO 7arp e rarp

Figura 7.10 Operao RARP

Meu endereo fsico


A4:6E:A5:57:82:36. Estou
procurando meu endereo IP.

Pedido
Host Servidor RARP

a. O pedido RARP enviado por broadcast

Seu endereo IP :
141.14.56.21

Resposta
Host Servidor RARP

b. A resposta RARP enviada por unicast

Formato do pacote
O formato do pacote RARP exatamente o mesmo do pacote ARP, exceto o valor do cam-
po Operao que trs (pedido RARP) ou quatro (resposta RARP). Veja a Figura 7.11.

Figura 7.11 Pacote RARP

Tipo de hardware Tipo de protocolo

Comprimento de Comprimento Operao


hardware de protocolo Pedido 3, Resposta 4

Endereo de hardware do remetente


(Por exemplo, 6 bytes para Ethernet)

Endereo de protocolo do remetente


(Por exemplo, 4 bytes para IP)
(Isso no preenchido em um pedido)
Endereo de hardware de destino
(Por exemplo, 6 bytes para Ethernet)
(Isso no preenchido em um pedido)
Endereo de protocolo de destino
(Por exemplo, 4 bytes para IP)
(Isso no preenchido em um pedido)
SEO 7.4 TERMOS-CHAVE 175

Encapsulamento
Um pacote RARP encapsulado diretamente em um frame de enlace de dados. Por exem-
plo, a Figura 7.12 mostra um pacote RARP encapsulado em um frame Ethernet. Note que
o campo Tipo mostra que o dado transportado pelo frame um pacote RARP.

Figura 7.12 Encapsulamento de pacote RARP

Pacote de pedido ou resposta RARP

Tipo: 0x8035

Prembulo Endereo Endereo


Tipo Dados CRC
e SFD de destino de origem
8 bytes 6 bytes 6 bytes 2 bytes 4 bytes

Servidor RARP
O servidor RARP fornece o mapeamento de um endereo fsico para um endereo lgi-
co. O mapeamento armazenado em um arquivo de disco. O ponto interessante (e um
tanto complicado) que o servidor normalmente implementado na camada de aplica-
tivo e os arquivos usados por um servidor so acessados nesse nvel. O servidor RARP
implementado na camada de enlace de dados. Para acessar um arquivo, um servidor
RARP precisa da ajuda de um sistema operacional subjacente, como o Unix.
Outro problema de um servidor RARP que, s vezes, ele pode estar parado.
Para fornecer uma resposta RARP a computadores sem disco, um administrador nor-
malmente instalar mais de um servidor RARP. Se todos os servidores estiverem fun-
cionando, vrias respostas RARP estaro passando pela rede ao mesmo tempo e isso
pode gerar trfego pesado.

Solues alternativas para o RARP


Quando um computador sem disco inicializado, ele precisa de mais informaes,
alm de seu endereo IP. Normalmente, ele precisa conhecer sua mscara de sub-rede,
o endereo IP de um roteador e o endereo IP de um servidor de nomes. O RARP no
pode fornecer essas informaes extras. Novos protocolos foram desenvolvidos para
fornec-las. No Captulo 16, discutiremos dois protocolos, BOOTP e DHCP, que po-
dem ser usados no lugar do RARP.

7.4 Termos-chave
ARP (Address Resolution Protocol) Mapeamento esttico
ARP proxy Mdulo de controle de cache
Encapsulamento Mdulo de entrada
Endereo fsico Mdulo de sada
Endereos lgico RARP (Reverse Address Resolution
Endereos IP Protocol)
Fila Tabela de cache
Mapeamento dinmico
176 CAPTULO 7arp e rarp

7.5 Resumo
O envio de um pacote para um host ou roteador exige dois nveis de endereos:
lgico e fsico.
Um endereo lgico identifica um host ou roteador em nvel de rede. O protocolo
TCP/IP chama esse endereo lgico de endereo IP.
Um endereo fsico identifica um host ou roteador em nvel fsico.
O mapeamento de um endereo lgico em um endereo fsico pode ser esttico
ou dinmico.
O mapeamento esttico envolve uma lista de correspondncias de endereo fsico
e lgico; a manuteno da lista exige alta sobrecarga.
O ARP (Address Resolution Protocol) um mtodo de mapeamento dinmico que
descobre um endereo fsico, aps fornecido um endereo lgico.
Um pedido ARP enviado por broadcast a todos os dispositivos da rede.
Uma resposta ARP enviada por unicast para o host que est solicitando o
mapeamento.
No ARP proxy, um roteador representa um conjunto de hosts. Quando um pedido
ARP procura o endereo fsico de qualquer host nesse conjunto, o roteador envia
seu prprio endereo fsico. Isso cria um efeito de sub-rede.
O pacote de software ARP consiste em cinco componentes: uma tabela de cache, fi-
las, um mdulo de sada, um mdulo de entrada e um mdulo de controle de cache.
A tabela de cache tem um grupo de entradas, usadas e atualizadas por mensagens
ARP.
Uma fila contm pacotes que vo para o mesmo destino.
O mdulo de sada recebe um pacote da camada IP e o envia para a camada de
enlace de dados ou para uma fila.
O mdulo de entrada usa um pacote ARP para atualizar a tabela de cache. O m-
dulo de entrada tambm pode enviar uma resposta ARP.
O mdulo de controle de cache mantm a tabela de cache, atualizando os campos
de entrada.
O RARP (Reverse Address Resolution Protocol) uma forma de mapeamento
dinmico, pois determinado endereo fsico associado a um endereo lgico.

7.6 Conjunto de prtica


Exerccios
1. O tamanho do pacote ARP fixo? Explique.
2. O tamanho do pacote RARP fixo? Explique.
3. Qual o tamanho de um pacote ARP quando o protocolo IP e o hardware
Ethernet?
4. Qual o tamanho de um pacote RARP quando o protocolo IP e o hardware
Ethernet?
5. Qual o tamanho de um frame Ethernet que transporta um pacote ARP?
6. Qual o tamanho de um frame Ethernet que transporta um pacote RARP?
SEO 7.6 CONJUNTO DE PRTICA 177

7. Qual o endereo broadcast para Ethernet?


8. Um roteador com endereo IP 125.45.23.12 e endereo fsico Ethernet
23:45:AB:4F:67:CD recebeu um pacote para um destino de host com endere-
o IP 125.11.78.10 e endereo fsico Ethernet AA:BB:A2:4F:67:CD. Mostre as
entradas no pacote de pedido ARP enviado pelo roteador. Suponha que no haja
sub-redes.
9. Mostre as entradas no pacote ARP enviado na resposta do Exerccio 8.
10. Encapsule o resultado do Exerccio 8 em um frame de enlace de dados. Preencha
todos os campos.
11. Encapsule o resultado do Exerccio 9 em um frame de enlace de dados. Preencha
todos os campos.
12. Um roteador com endereo IP 195.5.2.12 e endereo fsico Ethernet
AA:25:AB:1F:67:CD recebeu um pacote para um destino com endereo IP
185.11.78.10. Quando o roteador verifica sua tabela de roteamento, descobre que
o pacote deve ser enviado a um roteador com endereo IP 195.5.2.6 e endereo f-
sico Ethernet AD:34:5D:4F:67:CD. Mostre as entradas no pacote de pedido ARP
enviado pelo roteador. Suponha que no haja sub-redes.
13. Mostre as entradas no pacote ARP enviado na resposta para o Exerccio 12.
14. Encapsule o resultado do Exerccio 12 em um frame de enlace de dados. Preencha
todos os campos.
15. Encapsule o resultado do Exerccio 13 em um frame de enlace de dados. Preencha
todos os campos.
16. Um host sem disco com endereo fsico Ethernet 98:45:23:4F:67:CD foi iniciali-
zado. Mostre as entradas no pacote RARP enviado por esse host.
17. Mostre as entradas no pacote RARP enviado na resposta para o Exerccio 16. Su-
ponha que o endereo IP do host solicitante seja 200.67.89.33. Escolha endereos
fsico e lgico apropriados para o servidor. Suponha que o servidor est na mesma
rede que o host solicitante.
18. Encapsule o resultado do Exerccio 16 em um frame de enlace de dados. Preencha
todos os campos.
19. Encapsule o resultado do Exerccio 17 em um frame de enlace de dados. Preencha
todos os campos.

Atividades de pesquisa
20. Encontre os RFCs que descrevem o protocolo ARP.
21. Encontre os RFCs que descrevem o protocolo RARP.
22. Encontre o nome do arquivo que armazena o mapeamento de endereos fsico e
lgico para o servidor RARP no Unix.
SEO 8.1 DATAGRAMA 179

Captulo 8

Protocolo de Internet (IP)

O protocolo de Internet (IP Internet Protocol, em ingls) o mecanismo de transmis-


so usado pelos protocolos TCP/IP. A Figura 8.1 mostra a posio do IP no conjunto.

Figura 8.1 Posio do IP no conjunto de protocolos TCP/IP

Camada de SMTP FTP TFTP DNS SNMP BOOTP


aplicaes

Camada de SCTP TCP UDP


transporte

IGMP ICMP
Camada
IP
de rede
ARP RARP

Camada de
enlace de
dados
Tecnologia de rede local ou remota subjacente
Camada
fsica

O IP um protocolo de datagrama sem conexo e no-confivel um servio


de envio pelo melhor esforo. O termo melhor esforo significa que o IP no fornece
nenhuma verificao nem monitoramento de erros. O IP presume a no-confiabilidade
das camadas subjacentes e faz o possvel para que a transmisso chegue ao seu desti-
no, mas sem garantias.

179
180 CAPTULO 8 Protocolo de internet (ip)

Se a confiabilidade for importante, o IP dever ser combinado com um protocolo


confivel, como o TCP. Um exemplo de servio de envio pelo melhor esforo mais
comumente entendido a agncia dos Correios. Os Correios fazem o possvel para
entregar a correspondncia, mas nem sempre conseguem. Se uma carta no-registrada
perdida, fica por conta do remetente ou do destinatrio descobrir a perda e resolver
o problema. A agncia dos Correios no monitora todas as cartas, inviabilizando a
notificao de um remetente sobre uma perda ou dano.
O IP tambm um protocolo sem conexo para uma rede de troca de pacotes que
use a estratgia do datagrama (consulte o Captulo 6). Isso significa que cada datagra-
ma manipulado independentemente e pode seguir uma rota diferente at o destino.
Isso implica que os datagramas enviados pela mesma origem ao mesmo destino pos-
sam chegar fora de ordem. Alm disso, alguns podem ser perdidos ou corrompidos
durante a transmisso. Novamente, o IP conta com um protocolo de nvel mais alto
para cuidar de todos esses problemas.

8.1 Datagrama
Na camada IP, os pacotes so chamados de datagramas. A Figura 8.2 mostra o formato
do datagrama IP. Um datagrama um pacote de comprimento varivel que consiste em
duas partes: cabealho e dados. O cabealho tem de 20 bytes a 60 bytes de comprimento
e contm informaes essenciais para roteamento e envio. No TCP/IP costume mos-
trar o cabealho em sees de 4 bytes. Vamos ver uma breve descrio de cada campo.

Figura 8.2 Datagrama IP

20-65536 bytes

20-60 bytes

Cabealho Dados

VER HLEN DS Comprimento total


4 bits 4 bits 8 bits 16 bits
Identificao Flags Deslocamento de fragmentao
16 bits 3 bits 13 bits
Tempo de vida Protocolo Soma de verificao do cabealho
8 bits 8 bits 16 bits

Endereo IP da origem

Endereo IP do destino

Opo
SEO 8.1 DATAGRAMA 181

Verso (VER). Esse campo de 4 bits define a verso do protocolo IP. Atualmen-
te, a verso a 4. Entretanto, no futuro, a verso 6 (ou IPng) poder substituir
totalmente a verso 4. Esse campo diz ao software de IP que est em execuo na
mquina de processamento do datagrama o formato da verso 4. Todos os campos
devem ser interpretados conforme especificado na quarta verso do protocolo. Se
a mquina estiver usando alguma outra verso de IP, o datagrama ser descartado,
em vez de ser interpretado incorretamente.
Comprimento do cabealho (HLEN). Esse campo de 4 bits define o compri-
mento total do cabealho do datagrama, em palavras de 4 bytes. Esse campo
necessrio porque o comprimento do cabealho varivel (entre 20 bytes e 60
bytes). Quando no existem opes, o comprimento do cabealho de 20 bytes e
o valor desse campo 5 (5 x 4 = 20). Quando o campo opo est em seu tamanho
mximo, o valor 15 (15 x 4 = 60).
Servios diferenciados (DS). A IETF alterou a interpretao e o nome desse cam-
po de 8 bits. Anteriormente chamado de tipo de servio, agora chamado de
servios diferenciados. Mostramos as duas interpretaes na Figura 8.3.

Figura 8.3 Tipo de servio ou servios diferenciados

D: Minimizar atraso R: Maximizar confiabilidade


T: Maximizar velocidade C: Minimizar custo
de processamento (throughput)

D T R C
Precedncia Bits TOS
Tipo de servio

Cdigo exclusivo

Servios diferenciados

1. Tipo de servio
Nesta interpretao, os 3 primeiros bits so chamados de bits de precedncia. Os
4 bits seguintes so chamados de bits TOS e o ltimo bit no usado.
a. Precedncia um subcampo de 3 bits que varia de 0 (000 em binrio) a 7
(111 em binrio). A precedncia define a prioridade do datagrama em questes
como o congestionamento. Se um roteador est congestionado e precisa des-
cartar alguns datagramas, so descartados primeiro os de menor precedncia.
Alguns datagramas na Internet so mais importantes do que outros. Por exem-
plo: um datagrama usado para gerenciamento de rede muito mais urgente e
importante do que um datagrama que contm informaes opcionais para um
grupo.

O subcampo precedncia fazia parte da verso 4, mas nunca foi usado.


182 CAPTULO 8 Protocolo de internet (ip)

b. Bits TOS um subcampo de 4 bits, cada um com um significado especial. Em-


bora um bit possa ser 0 ou 1, somente um dos bits pode ter o valor 1 em cada
datagrama. Os padres de bit e suas interpretaes so informados na Tabela
8.1. Com apenas um bit ativado por vez, podemos ter cinco tipos de servios
diferentes.

Tabela 8.1 Tipos de servio

Bits TOS Descrio


0000 Normal (padro)
0001 Minimizar custo
0010 Maximizar confiabilidade
0100 Maximizar velocidade de processamento
1000 Minimizar atraso

Os programas aplicativos podem solicitar um tipo de servio especfico. Os


padres de alguns aplicativos so mostrados na Tabela 8.2.

Tabela 8.2 Tipos de servio-padro

Protocolo Bits TOS Descrio


ICMP 0000 Normal
BOOTP 0000 Normal
NNTP 0001 Minimizar custo
IGP 0010 Maximizar confiabilidade
SNMP 0010 Maximizar confiabilidade
TELNET 1000 Minimizar atraso
FTP (dados) 0100 Maximizar velocidade de processamento
FTP (controle) 1000 Minimizar atraso
TFTP 1000 Minimizar atraso
SMTP (comando) 1000 Minimizar atraso
SMTP (dados) 0100 Maximizar velocidade de processamento
DNS (consulta UDP) 1000 Minimizar atraso
DNS (consulta TCP) 0000 Normal
DNS (zona) 0100 Maximizar velocidade de processamento

A partir da tabela anterior, fica claro que as atividades interativas, as que exigem
ateno imediata e as que exigem resposta imediata, precisam de atraso mnimo. As
atividades que enviam dados em massa exigem velocidade de processamento mxi-
ma; as de gerenciamento precisam de mxima confiabilidade; e as de segundo plano
precisam de custo mnimo.
SEO 8.1 DATAGRAMA 183

2. Servios diferenciados
Nesta interpretao, os 6 primeiros bits compem o subcampo cdigo exclusivo
e os dois ltimos bits no so usados. Esse subcampo pode ser usado de duas
maneiras diferentes:
a. Quando os 3 bits mais direita so 0, os 3 bits mais esquerda so interpreta-
dos como os bits de precedncia na interpretao de tipo de servio. Em outras
palavras, compatvel com a antiga interpretao.
b. Quando os 3 bits mais direita no so todos 0, os 6 bits definem 64 servios
com base na atribuio de prioridade das autoridades da Internet ou locais, de
acordo com a Tabela 8.3. A primeira categoria contm 32 tipos de servio; a
segunda e a terceira contm 16 cada uma. A primeira categoria (nmeros 0, 2,
4,..., 62) atribuda pelas autoridades da Internet (IETF). A segunda categoria
(3, 7, 11, 15,..., 63) pode ser usada pelas autoridades locais (organizaes). A
terceira categoria (1, 5, 9,..., 61) temporria e pode ser usada para propsitos
experimentais. Note que os nmeros no so contguos. Se fossem, a primeira
categoria variaria entre 0 e 31, a segunda entre 32 e 47 e a terceira entre 48 e
63. Isso seria incompatvel com a interpretao TOS, pois XXX000 (que inclui
0, 8, 16, 24, 32, 40, 48 e 56) cairia em todas as trs categorias. Em vez disso,
nesse mtodo de atribuio, todos os servios pertencem categoria 1. Note
que essas atribuies ainda no foram finalizadas.
Tabela 8.3 Valores de cdigos exclusivos

Categoria Cdigo exclusivo Autoridade de atribuio


1 XXXXX0 Internet
2 XXXX11 Local
3 XXXX01 Temporria ou experimental

Comprimento total. Esse um campo de 16 bits que define o comprimento total


(cabealho mais dados) do datagrama IP, em bytes. Para descobrir o comprimento
dos dados provenientes da camada superior, subtraia o comprimento do cabealho
do comprimento total. O comprimento do cabealho pode ser encontrado multipli-
cando-se o valor do campo HLEN por quatro.

comprimento dos dados = comprimento total comprimento do cabealho

Como o comprimento do campo de 16 bits, o comprimento total do datagrama


IP limitado a 65.535 (216 1) bytes, dos quais de 20 bytes a 60 bytes so o cabe-
alho e o restante so dados da camada superior.

O campo comprimento total define o comprimento total do


datagrama, incluindo o cabealho.

Embora um tamanho de 65.535 bytes possa parecer grande, o tamanho do data-


grama IP pode aumentar no futuro prximo, medida que as tecnologias subjacen-
tes permitirem ainda mais velocidade de processamento (mais largura de banda).
Quando discutirmos a fragmentao, na prxima seo, veremos que algumas
redes fsicas no so capazes de encapsular um datagrama de 65.535 bytes em seus
quadros. O datagrama precisa ser fragmentado para poder passar por essas redes.
184 CAPTULO 8 Protocolo de internet (ip)

Algum poderia perguntar por que precisamos desse campo, afinal. Quando
uma mquina (roteador ou host) recebe um quadro, ela elimina o cabealho e o
trailer, deixando o datagrama. Por que incluir um campo extra desnecessrio? A
resposta que, em muitos casos, no precisamos realmente do valor desse campo.
Contudo, existem ocasies em que o datagrama no o nico item encapsulado em
um quadro; pode ser que um preenchimento tenha sido adicionado. Por exemplo, o
protocolo Ethernet tem restrio mnima e mxima para o tamanho dos dados que
podem ser encapsulados em um quadro (46 bytes a 1.500 bytes). Se o tamanho de
um datagrama IP menor do que 46 bytes, algum preenchimento ser adicionado
para atender a esse requisito. Nesse caso, quando uma mquina desencapsula o
datagrama, precisa verificar o campo comprimento total para determinar o quanto
realmente so dados e o quanto preenchimento (veja a Figura 8.4).

Figura 8.4 Encapsulamento de um pequeno datagrama em um quadro Ethernet

Comprimento: mnimo 46 bytes

L2 L2
Dados < 46 bytes Preenchimento
Cabealho Trailer

Identificao. Esse campo usado na fragmentao (discutida na prxima seo).


Flags. Esse campo usado na fragmentao (discutida na prxima seo).
Deslocamento de fragmentao. Esse campo usado na fragmentao (discutida
na prxima seo).
Tempo de vida. Um datagrama tem um tempo de vida limitado em sua trajetria
em uma Internet. Esse campo foi originalmente projetado para conter uma indica-
o de tempo que era decrementada por cada roteador visitado. O datagrama era
descartado quando o valor se tornava zero. Entretanto, para esse esquema, todas
as mquinas devem ter relgios sincronizados e devem saber quanto tempo leva
para um datagrama ir de uma mquina a outra. Atualmente, esse campo usado
principalmente para controlar o nmero mximo de hops (roteadores) visitados
pelo datagrama. Quando um host de origem envia o datagrama, ele armazena um
nmero nesse campo. Esse valor aproximadamente duas vezes o nmero mxi-
mo de rotas entre quaisquer dois hosts. Cada roteador que processa o datagrama
decrementa esse nmero por um. Se esse valor, aps ser decrementado, for zero, o
roteador descartar o datagrama.
Esse campo necessrio porque as tabelas de roteamento na Internet podem
se corromper. Um datagrama pode viajar por dois ou mais roteadores por um
longo tempo, sem jamais ser enviado para o host de destino. Esse campo limita o
tempo de vida de um datagrama.
Outro uso desse campo para limitar intencionalmente a viagem do pacote.
Por exemplo, se a origem quer confinar o pacote na rede local, pode armazenar o
valor 1 nesse campo. Quando o pacote chegar ao primeiro roteador, esse valor
decrementado para 0 e o datagrama descartado.
SEO 8.1 DATAGRAMA 185

Protocolo. Esse campo de 8 bits define o protocolo de nvel mais alto que usa os
servios da camada IP. Um datagrama IP pode encapsular dados de vrios proto-
colos de nvel mais alto, como TCP, UDP, ICMP e IGMP. Esse campo especifica
o protocolo de destino em que o datagrama IP deve ser enviado. Em outras pala-
vras, como o protocolo IP faz a multiplexao e a desmultiplexao dos dados de
diferentes protocolos de nvel mais alto, o valor desse campo ajuda no processo de
desmultiplexao, quando o datagrama chega ao seu destino (veja a Figura 8.5).

Figura 8.5 Multiplexao

Camada de transporte TCP UDP

ICMP IGMP OSPF


Camada de rede
Cabealho

O valor desse campo para diferentes protocolos de nvel mais alto mostrado na
Tabela 8.4.

Tabela 8.4 Protocolos

Valor Protocolo
1 ICMP
2 IGMP
6 TCP
17 UDP
89 OSPF

Soma de verificao. O conceito de soma de verificao e seu clculo sero dis-


cutidos posteriormente neste captulo.
Endereo de origem. Esse campo de 32 bits define o endereo IP da origem. Ele
deve permanecer inalterado durante o tempo em que o datagrama IP viajar do host
de origem at o host de destino.
Endereo de destino. Esse campo de 32 bits define o endereo IP do destino. Ele
deve permanecer inalterado durante o tempo em que o datagrama IP viajar do host
de origem at o host de destino.

Exemplo 1
Um pacote IP chegou com os primeiros 8 bits mostrados a seguir:

01000010

O destinatrio descarta o pacote. Por qu?


186 CAPTULO 8 Protocolo de internet (ip)

Soluo
H um erro nesse pacote. Os 4 bits mais esquerda (0100) mostram a verso, que est
correta. Os 4 bits seguintes (0010) mostram o comprimento de cabealho errado (2 x
4 = 8). O nmero mnimo de bytes no cabealho deve ser 20. O pacote foi corrompido
na transmisso.

Exemplo 2
Em um pacote IP o valor de HLEN 1000 em binrio. Quantos bytes de opes esto
sendo transportados por esse pacote?
Soluo
O valor de HLEN 8, o que significa que o nmero total de bytes no cabealho 8 x
4 ou 32 bytes. Os 20 primeiros bytes so o cabealho de base, os 12 bytes seguintes
so as opes.

Exemplo 3
Em um pacote IP o valor de HLEN 516 e o valor do campo comprimento total
002816. Quantos bytes de dados esto sendo transportados por esse pacote?
Soluo
O valor de HLEN 5, o que significa que o nmero total de bytes no cabealho 5 x 4
ou 20 bytes (nenhuma opo). O comprimento total de 40 bytes, o que significa que
o pacote est transportando 20 bytes de dados (40 20).

Exemplo 4
Um pacote IP chegou com os primeiros dgitos hexadecimais mostrados a seguir:
45000028000100000102...
Por quantos hops esse pacote pode passar antes de ser eliminado? Os dados pertencem
a qual protocolo de camada superior?
Soluo
Para descobrirmos o campo tempo de vida, pulamos 8 bytes (16 dgitos hexadeci-
mais). O campo tempo de vida o nono byte, que 01. Isso significa que o pacote
pode passar por apenas um hop. O campo protocolo o byte seguinte (02), o que sig-
nifica que o protocolo de camada superior IGMP (consulte a Tabela 8.4).

8.2 Fragmentao
Um datagrama pode passar por diferentes redes. Cada roteador desencapsula o data-
grama IP do frame que recebe, o processa e, ento, o encapsula em outro frame. O
formato e o tamanho do frame recebido dependem do protocolo usado pela rede fsica
pela qual o frame acabou de passar. O formato e o tamanho do frame enviado depen-
dem do protocolo usado pela rede fsica pela qual o frame vai passar. Por exemplo,
se um roteador conecta uma rede local a uma rede remota, ele recebe um frame no
formato da rede local e envia um frame no formato da rede remota.

Unidade de transferncia mxima (MTU)


Cada protocolo da camada de enlace de dados tem seu prprio formato de frame na maio-
ria dos protocolos. Um dos campos definidos no formato o tamanho mximo do campo
dados. Em outras palavras, quando um datagrama encapsulado em um frame, o tamanho
SEO 8.2 FRAGMENTAO 187

total do datagrama deve ser menor do que esse tamanho mximo, que definido pelas
restries impostas pelo hardware e pelo software utilizados na rede (veja a Figura 8.6).

Figura 8.6 MTU

Datagrama IP

MTU
Cabealho Comprimento mximo dos dados que podem Trailer
ser encapsulados em um frame.

Frame

O valor da MTU difere de um protocolo de rede fsica para outro. A Tabela 8.5
mostra os valores para alguns protocolos.

Tabela 8.5 MTUs para algumas redes

Protocolo MTU
Hyperchannel 65.535
Token Ring (16 Mbps) 17.914
Token Ring (4 Mbps) 4.464
FDDI 4.352
Ethernet 1.500
X.25 576
PPP 296

Para tornar o protocolo IP independente da rede fsica, os projetistas decidiram


tornar o comprimento mximo do datagrama IP igual a 65.535 bytes. Isso torna a
transmisso mais eficiente, se usarmos um protocolo com uma MTU desse tamanho.
Contudo, para outras redes fsicas, devemos dividir o datagrama para que possa passar
por essas redes. Isso chamado de fragmentao.
A origem normalmente no fragmenta o pacote IP. Em vez disso, a camada de
transporte segmentar os dados em um tamanho que possa ser acomodado pelo IP e
pela camada de enlace de dados em uso.
Quando um datagrama fragmentado, cada fragmento tem seu prprio cabea-
lho, com a maioria dos campos repetida, mas alguns alterados. Um datagrama frag-
mentado pode ser fragmentado novamente, caso encontre uma rede com uma MTU
ainda menor. Em outras palavras, um datagrama pode ser fragmentado vrias vezes
antes de chegar ao seu destino.
Um datagrama pode ser fragmentado pelo host de origem ou por qualquer ro-
teador no caminho. Entretanto, a remontagem do datagrama feita apenas pelo host
de destino, pois cada fragmento se torna um datagrama independente. Embora o data-
grama fragmentado possa percorrer diferentes rotas e nunca possamos controlar nem
garantir por qual rota ele ir, todos os fragmentos pertencentes ao mesmo datagrama
devem finalmente chegar ao host de destino. Assim, lgico fazer a remontagem no
ponto final. Uma objeo ainda mais forte para a remontagem de pacotes durante a
transmisso a perda de eficincia que isso acarreta.
188 CAPTULO 8 Protocolo de internet (ip)

Quando um datagrama fragmentado, partes obrigatrias do cabealho devem


ser copiadas por todos os fragmentos. O campo opo pode ou no ser copiado, con-
forme veremos na prxima seo. O host ou roteador que fragmenta um datagrama
deve alterar os valores de trs campos: flags, deslocamento de fragmentao e compri-
mento total. O restante dos campos deve ser copiado. Evidentemente, o valor da soma
de verificao deve ser recalculado, independentemente da fragmentao.

Campos relacionados fragmentao


Os campos relacionados fragmentao e remontagem de um datagrama IP so os
campos identificao, flags e deslocamento de fragmentao.
Identificao. Esse campo de 16 bits identifica um datagrama proveniente do host
de origem. A combinao da identificao e do endereo IP da origem deve definir
um datagrama exclusivamente quando ele sai do host de origem. Para garantir a ex-
clusividade, o protocolo IP usa um contador para rotular os datagramas. O contador
inicializado com um nmero positivo. Quando o protocolo IP envia um datagrama,
ele copia o valor atual do contador no campo identificao e incrementa o contador
com um. Desde que o contador seja mantido na memria principal, a exclusividade
est garantida. Quando um datagrama fragmentado, o valor no campo identifica-
o copiado em todos os fragmentos. Em outras palavras, todos os fragmentos tm
o mesmo nmero de identificao, que tambm igual ao do datagrama original. O
nmero de identificao ajuda o destino na remontagem do datagrama. Ele sabe que
todos os fragmentos que tm o mesmo valor de identificao devem ser montados
em um nico datagrama.
Flags. Esse um campo de trs bits. O primeiro bit reservado. O segundo bit
chamado de no-fragmentar. Se seu valor for 1, a mquina no deve fragmentar o
datagrama. Se a mquina no consegue passar o datagrama por alguma rede fsica
disponvel, ela o descarta e envia uma mensagem de erro ICMP para o host de ori-
gem (consulte o Captulo 9). Se seu valor for 0, o datagrama pode ser fragmentado,
se necessrio. O terceiro bit chamado de mais fragmentos. Se seu valor for 1,
isso significa que o datagrama no o ltimo fragmento; existem mais fragmentos
depois deste. Se seu valor for 0, isso significa que esse o ltimo ou o nico frag-
mento (veja a Figura 8.7).

Figura 8.7 Campo flags

D: No-fragmentar
M: Mais fragmentos
D M

Deslocamento de fragmentao. Esse campo de 13 bits mostra a posio relati-


va desse fragmento com relao ao datagrama inteiro. Ele o deslocamento dos
dados no datagrama original, medido em unidades de 8 bytes. A Figura 8.8 mostra
um datagrama com um tamanho de dados de 4.000 bytes, dividido em trs frag-
mentos. Os bytes no datagrama original so numerados de 0 a 3.999. O primeiro
fragmento transporta os bytes de 0 a 1.399. O deslocamento desse datagrama
0/8 = 0. O segundo fragmento transporta os bytes de 1.400 a 2.799; o valor de
SEO 8.2 FRAGMENTAO 189

Figura 8.8 Exemplo de fragmentao

Offset 0000/8 0

0000 1399

Offset 0000/8 0
Offset 1400/8 175

1400 2799
Byte 0000 Byte 3999
Offset 2800/8 350

2800 3999

deslocamento desse fragmento 1400/8 = 175. Finalmente, o terceiro fragmento


transporta os bytes de 2.800 a 3.999. O valor de deslocamento desse fragmento
2800/8 = 350.
Lembre-se de que o valor do deslocamento medido em unidades de 8 bytes.
Isso feito porque o comprimento do campo de deslocamento de apenas 13 bits
e no pode representar uma seqncia de bytes maior do que 8.191. Isso obriga
os hosts ou roteadores que fragmentam datagramas a escolher o tamanho de cada
fragmento de modo que o primeiro nmero de byte seja divisvel por 8.
A Figura 8.9 mostra uma viso expandida dos fragmentos da figura anterior. Ob-
serve que o valor do campo identificao igual em todos os fragmentos. Observe o
valor do campo flags com o bit mais ativo para todos os fragmentos, exceto o ltimo.
Alm disso, mostrado o valor do campo deslocamento de cada fragmento.
A figura tambm mostra o que acontece se um fragmento novamente frag-
mentado. Nesse caso, o valor do campo deslocamento sempre relativo ao data-
grama original. Por exemplo: na figura, o segundo fragmento posteriormente
dividido em dois fragmentos de 800 bytes e 600 bytes, mas o deslocamento mostra
a posio dos fragmentos relativa aos dados originais.
evidente que, mesmo que cada fragmento siga um caminho diferente e che-
gue fora de ordem, o host de destino poder remontar o datagrama original a partir
dos fragmentos recebidos (se nenhum deles for perdido), usando a estratgia a
seguir:
a. O primeiro fragmento tem o valor do campo deslocamento igual a 0.
b. Divida o comprimento do primeiro fragmento por 8. O segundo fragmento tem
um valor de deslocamento igual a esse resultado.
c. Divida o comprimento total do primeiro e do segundo fragmentos por 8. O terceiro
fragmento tem um valor de deslocamento igual a esse resultado.
d. Continue o processo. O ltimo fragmento tem um valor de bit maior do que 0.

Exemplo 5
Um pacote chegou com o valor 0 no bit M. Esse o primeiro fragmento, o ltimo ou
um fragmento intermedirio? Podemos saber se o pacote foi fragmentado?
190 CAPTULO 8 Protocolo de internet (ip)

Figura 8.9 Exemplo de fragmentao detalhada

1420
14.567 1 000

Bytes 00001399 820


14.567 1 175
Fragmento 1
4020
14.567 0 000 1420 Bytes 14002199
14.567 1 175
Fragmento 2.1

620
Bytes 00003999 Bytes 14002799 14.567 1 275

Fragmento 2
Datagrama original
Bytes 22002799
1220
14.567 0 350 Fragmento 2.2

Bytes 28003999

Fragmento 3

Soluo
Se o bit M 0, significa que no existem mais fragmentos; esse o ltimo. Contudo,
no podemos dizer se o pacote original foi fragmentado ou no. Um pacote no-
fragmentado considerado o ltimo fragmento.

Exemplo 6
Um pacote chegou com o valor 1 no bit M. Esse o primeiro fragmento, o ltimo ou
um fragmento intermedirio? Podemos saber se o pacote foi fragmentado?

Soluo
Se o bit M 1, isso significa que existe pelo menos mais um fragmento. Esse frag-
mento pode ser o primeiro ou um intermedirio, mas no o ltimo. No sabemos se
o primeiro ou um intermedirio; precisamos de mais informaes (o valor do desloca-
mento de fragmentao). Veja tambm o prximo exemplo.

Exemplo 7
Um pacote chegou com o valor 1 no bit M e com o valor 0 para o deslocamento de frag-
mentao. Esse o primeiro fragmento, o ltimo ou um fragmento intermedirio?

Soluo
Como o bit M 1, ele o primeiro fragmento ou um intermedirio. Como o valor de
deslocamento 0, ele o primeiro fragmento.
SEO 8.3 OPES 191

Exemplo 8
Chegou um pacote no qual o valor de deslocamento 100. Qual o nmero do pri-
meiro byte? Podemos saber o nmero do ltimo byte?

Soluo
Para descobrirmos o nmero do primeiro byte, multiplicamos o valor do deslocamen-
to por 8. Isso significa que o nmero do primeiro byte 800. No podemos determinar
o nmero do ltimo byte, a no ser que saibamos o comprimento dos dados.

Exemplo 9
Chegou um pacote no qual o valor de deslocamento 100, o valor de HLEN 5 e o valor
do campo de comprimento total 100. Qual o nmero do primeiro e do ltimo byte?
Soluo
O nmero do primeiro byte 100 x 8 = 800. O comprimento total de 100 bytes e o com-
primento do cabealho de 20 bytes (5 x 4), o que significa que existem 80 bytes nesse
datagrama. Se o nmero do primeiro byte 800, o nmero do ltimo deve ser 879.

8.3 Opes
O cabealho do datagrama IP constitudo de duas partes: uma parte fixa e uma vari-
vel. A parte fixa tem 20 bytes de comprimento e foi discutida na seo anterior. A parte
varivel compreende as opes que podem ter no mximo 40 bytes.
As opes, conforme o nome implica, no so exigidas para um datagrama. Elas
podem ser usadas para teste e depurao da rede. Embora as opes no sejam uma
parte obrigatria do cabealho IP, o processamento de opes exigido do software de
IP. Isso significa que todas as implementaes devem ser capazes de tratar das opes,
caso elas estejam presentes no cabealho.

Formato
A Figura 8.10 mostra o formato de uma opo. Ela composta de um campo cdigo de
1 byte, um campo comprimento de 1 byte e um campo dados de tamanho varivel.

Cdigo
O campo cdigo tem 8 bits de comprimento e contm trs subcampos: copiar, classe
e nmero.
Copiar. Esse subcampo de 1 bit controla a presena da opo na fragmentao. Quan-
do seu valor 0, significa que a opo deve ser copiada apenas no primeiro fragmento.
Se seu valor 1, significa que a opo deve ser copiada em todos os fragmentos.
Classe. Esse subcampo de 2 bits define o propsito geral da opo. Quando seu valor
00, significa que a opo usada para controle de datagrama. Quando seu valor
10, significa que a opo usada para depurao e gerenciamento. Os outros dois
valores possveis (01 e 11) ainda no foram definidos.
Nmero. Esse subcampo de 5 bits define o tipo da opo. Embora 5 bits possam
definir at 32 tipos diferentes, atualmente apenas 6 tipos esto em uso. Eles sero
discutidos em uma seo posterior.
192 CAPTULO 8 Protocolo de internet (ip)

Figura 8.10 Formato de opo

Cdigo Comprimento Dados


8 bits 8 bits Comprimento varivel

Copiar Classe Nmero


1 bit 2 bits 5 bits
Copiar Nmero
0 Copia apenas no primeiro fragmento 00000 Fim da opo
1 Copia em todos os fragmentos 00001 Nenhuma operao
Classe 00011 Rota de origem livre
00 Controle de datagrama 00100 Indicao de tempo
01 Reservado 00111 Registrar rota
10 Depurao e gerenciamento 01001 Rota de origem restrita
11 Reservado

Comprimento
O campo comprimento define o comprimento total da opo, incluindo o campo
cdigo e o prprio campo comprimento. Esse campo no est presente em todos os
tipos de opo.

Dados
O campo dados contm os dados exigidos pelas opes especficas. Assim como o cam-
po comprimento, esse campo tambm no est presente em todos os tipos de opo.

Outros tipos
Conforme mencionado anteriormente, apenas seis opes esto sendo usadas atual-
mente. Duas delas so opes de 1 byte e no exigem os campos comprimento e
dados. Quatro delas so opes de vrios bytes; essas, sim, exigem os campos com-
primento e dados (veja a Figura 8.11).

Figura 8.11 Categorias de opes

Nenhuma operao
nico byte
Fim da opo

Opes
Registrar rota

Rota de origem restrita


Vrios bytes
Rota de origem livre

Indicao de tempo
SEO 8.3 OPES 193

Nenhuma operao
A opo nenhuma operao tem 1 byte e usada como preenchimento entre as op-
es. Por exemplo: ela pode ser usada para alinhar a opo seguinte em um limite de
16 bits ou de 32 bits (veja a Figura 8.12).

Figura 8.12 Opo nenhuma operao

Cdigo: 1
00000001

a. Opo nenhuma operao

Uma opo de 7 bytes


NO-OP NO-OP

Uma opo de 11 bytes Uma opo de 8 bytes

b. Usada para alinhar o incio de uma opo c. Usada para alinhar a prxima opo

Fim da opo
A opo fim da opo tambm tem 1 byte e usada para preenchimento no fim do
campo opo. Contudo, ela s pode ser usada como a ltima opo. Somente uma op-
o fim da opo pode ser usada. Depois dessa opo, o destinatrio procura os dados
de carga til. Isso significa que, se mais de 1 byte for necessrio para alinhar o campo
opo, algumas opes nenhuma operao devero ser usadas, seguidas de uma opo
fim da opo (veja a Figura 8.13).

Figura 8.13 Opo fim da opo

Opes
Cdigo: 0 END-OP
00000000
Dados
a. Fim da opo

b. Usada para preenchimento

Registrar rota
A opo registrar rota usada para registrar os roteadores de Internet que manipu-
lam o datagrama. Ela pode listar at nove endereos IP de roteador, pois o tamanho
mximo do cabealho de 60 bytes, o que deve incluir 20 bytes para o cabealho de
base. Isso implica que apenas 40 bytes so deixados para a parte da opo. A origem
cria campos de espao reservado na opo, para serem preenchidos pelos roteadores
visitados. A Figura 8.14 mostra o formato da opo registrar rota.
194 CAPTULO 8 Protocolo de internet (ip)

Figura 8.14 Opo registrar rota

Cdigo: 7 Comprimento
Ponteiro
00000111 (Comprimento total)
Primeiro endereo IP
(Preenchido quando iniciado)
Segundo endereo IP
(Preenchido quando iniciado)

ltimo endereo IP
(Preenchido quando iniciado)

Os campos cdigo e comprimento foram descritos anteriormente. O campo pon-


teiro um campo inteiro de deslocamento que contm o nmero de byte da primeira
entrada vazia. Em outras palavras, ele aponta para a primeira entrada disponvel.
A origem cria campos vazios para os endereos IP no campo dados da opo.
Quando o datagrama sai da origem, todos os campos esto vazios. O campo ponteiro
tem o valor 4, apontando para o primeiro campo vazio.
Quando o datagrama est viajando, cada roteador que o processa compara o valor
do ponteiro com o valor do comprimento. Se o valor do ponteiro for maior do que o
valor do comprimento, a opo est cheia e nenhuma alterao feita. Entretanto, se
o valor do ponteiro no for maior do que o valor do comprimento, o roteador insere
seu endereo IP de sada no prximo campo vazio (lembre-se de que um roteador tem
mais de um endereo IP). Nesse caso, o roteador adiciona o endereo IP de sua interfa-
ce, da qual o datagrama est saindo. Ento, o roteador incrementa o valor do ponteiro
com 4. A Figura 8.15 mostra as entradas medida que o datagrama vai da esquerda
para a direita, de um roteador para outro.

Figura 8.15 Conceito de registrar rota

7 15 4 7 15 8 7 15 12 7 15 16
140.10.6.3 140.10.6.3 140.10.6.3
200.14.7.9 200.14.7.9
138.6.22.26

67.34.30.6 138.6.25.40

67.0.0.0/24 138.6.0.0/16
67.14.10.22 138.6.22.26
140.10.6.3 200.14.7.14
140.10.0.0/16 200.14.7.0/24
140.10.5.4 200.14.7.9
SEO 8.3 OPES 195

Rota de origem restrita


A opo rota de origem restrita usada pela origem para predeterminar uma rota
para o datagrama, enquanto ele viaja pela Internet. A prescrio de uma rota pela
origem pode ser til por vrios motivos. O remetente pode escolher uma rota com
um tipo de servio especfico, como atraso mnimo ou velocidade de processamento
mxima. Como alternativa, ele pode escolher uma rota mais segura ou mais confivel
para o objetivo do remetente. Por exemplo: um remetente pode escolher uma rota de
modo que seu datagrama no passe pela rede de um concorrente.
Se um datagrama especifica uma rota de origem restrita, todos os roteadores
definidos na opo devem ser visitados pelo datagrama. Um roteador no deve ser
visitado se seu endereo IP no estiver listado no datagrama. Se o datagrama visita um
roteador que no est na lista, ele descartado e uma mensagem de erro gerada. Se
o datagrama chega ao destino e algumas das entradas no foram visitadas, ele tambm
descartado e uma mensagem de erro gerada.
Contudo, os usurios regulares da Internet normalmente no conhecem sua to-
pologia fsica. Conseqentemente, o roteamento de origem restrita no a escolha
da maioria dos usurios. A Figura 8.16 mostra o formato da opo rota de origem
restrita.

Figura 8.16 Opo de rota restrita

Cdigo: 137 Comprimento


Ponteiro
10001001 (Comprimento total)
Primeiro endereo IP
(Preenchido quando iniciado)
Segundo endereo IP
(Preenchido quando iniciado)

ltimo endereo IP
(Preenchido quando iniciado)

O formato semelhante opo registrar rota, com a exceo de que todos os


endereos IP so inseridos pelo remetente.
Quando o datagrama est viajando, cada roteador que o processa compara o valor
do ponteiro com o valor do comprimento. Se o valor do ponteiro for maior do que o
valor do comprimento, o datagrama visitou todos os roteadores predefinidos. O data-
grama no pode viajar mais; ele descartado e uma mensagem de erro gerada. Se o
valor do ponteiro no for maior do que o valor do comprimento, o roteador compara
o endereo IP de destino com seu endereo IP recebido: se eles forem iguais, o rotea-
dor processa o datagrama, troca o endereo IP apontado pelo ponteiro pelo endereo
de destino, incrementa o valor do ponteiro com 4 e encaminha o datagrama. Se eles
no forem iguais, ele descarta o datagrama e gera uma mensagem de erro. A Figura
8.17 mostra as aes executadas por cada roteador medida que o datagrama viaja da
origem ao destino.
196 CAPTULO 8 Protocolo de internet (ip)

Figura 8.17 Conceito de rota de origem restrita

Origem: 67.34.30.6 Origem: 67.34.30.6 Origem: 67.34.30.6 Origem: 67.34.30.6


Destino: 67.14.10.22 Destino:140.10.5.4 Destino: 200.14.7.14 Destino:138.6.25.40
137 15 4 137 15 8 137 15 12 137 15 16
140.10.5.4 67.14.10.22 67.14.10.22 67.14.10.22
200.14.7.14 200.14.7.14 140.10.5.4 140.10.5.4
138.6.25.40 138.6.25.40 138.6.25.40 200.14.7.14
67.34.30.6 138.6.25.40

67.0.0.0/24 138.6.0.0/16
67.14.10.22

140.10.0.0/16 200.14.7.0/8 200.14.7.14


140.10.5.4

Rota de origem livre


A opo rota de origem livre semelhante rota de origem restrita, mas mais
moderada. Cada roteador presente na lista deve ser visitado, mas o datagrama tam-
bm pode visitar outros roteadores. A Figura 8.18 mostra o formato da opo rota de
origem livre.

Figura 8.18 Opo rota de origem livre

Cdigo: 131 Comprimento


Ponteiro
10000011 (Comprimento total)
Primeiro endereo IP
(Preenchido quando iniciado)
Segundo endereo IP
(Preenchido quando iniciado)

ltimo endereo IP
(Preenchido quando iniciado)

Indicao de tempo
A opo indicao de tempo usada para registrar o tempo de processamento de
datagrama por um roteador. O tempo expresso em milissegundos a partir da meia-
noite, Hora Universal. Saber o tempo durante o qual um datagrama processado pode
ajudar os usurios e gerentes a monitorar o comportamento dos roteadores na Internet.
Podemos estimar o tempo que leva para um datagrama ir de um roteador ao outro.
Dissemos estimar porque, embora todos os roteadores possam usar a Hora Universal,
seus relgios locais podem no estar sincronizados.
Contudo, usurios no-privilegiados da Internet normalmente no conhecem sua
topologia fsica. A Figura 8.19 mostra o formato da opo indicao de tempo.
SEO 8.3 OPES 197

Figura 8.19 Opo indicao de tempo

Cdigo: 68 Comprimento Estouro Flags


01000100 Ponteiro 4 bits
(Comprimento total) 4 bits

Primeiro endereo IP

Segundo endereo IP

ltimo endereo IP

Nessa figura, a definio dos campos cdigo e comprimento so as mesmas de


antes. O campo estouro registra o nmero de roteadores que no poderia adicionar
suas indicaes de tempo porque no haveria mais campos disponveis. O campo
flags especifica as responsabilidades do roteador visitado. Se o valor do flag for 0,
cada roteador adiciona apenas a indicao de tempo no campo fornecido. Se o valor
do flag for 1, cada roteador deve adicionar seu endereo IP de sada e a indicao de
tempo. Se o valor for 3, os endereos IP so dados e cada roteador deve verificar o
endereo IP fornecido em relao ao seu prprio endereo IP recebido. Se houver uma
correspondncia, o roteador sobrescrever o endereo IP com seu endereo IP de sada
e adicionar a indicao de tempo (veja a Figura 8.20).

Figura 8.20 Uso de flag em indicao de tempo

Insere endereos IP Endereos IP fornecidos, insere


Insere apenas as indicaes de tempo e indicaes de tempo as indicaes de tempo
0 1 3
140.10.6.3

200.14.7.9
Flag: 0
138.6.22.26

Flag: 1 Flag: 3

A Figura 8.21 mostra as aes executadas por cada roteador quando um datagra-
ma viaja da origem ao destino. A figura presume o valor de flag 1.
198 CAPTULO 8 Protocolo de internet (ip)

Figura 8.21 Conceito de indicao de tempo

68 28 5 0 1 68 28 13 0 1 68 28 21 0 1 68 28 29 0 1
140.10.6.3 140.10.6.3 140.10.6.3
36000000 36000000 36000000
200.14.7.9 200.14.7.9
36000012 36000012
138.6.22.26
36000020

67.34.30.6 138.6.25.40

67.0.0.0/24 138.6.0.0/16
138.6.22.26
140.10.6.3
140.10.0.0/16 200.14.7.0.24
200.14.7.9

Exemplo 10
Quais das seis opes devem ser copiadas em cada fragmento?

Soluo
Examinamos o primeiro bit (mais esquerda) do cdigo de cada opo.
a. Nenhuma operao: o cdigo 00000001; no copiado
b. Fim da opo: o cdigo 00000000; no copiado
c. Registrar rota: o cdigo 00000111; no copiado
d. Rota de origem restrita: o cdigo 10001001; copiado
e. Rota de origem livre: o cdigo 10000011; copiado
f. Indicao de tempo: o cdigo 01000100; no copiado

Exemplo 11
Quais das seis opes so usadas para controle de datagrama e quais so usadas para
depurao e gerenciamento?

Soluo
Examinamos o segundo e o terceiro bits (mais esquerda) do cdigo.
a. Nenhuma operao: o cdigo 00000001; controle de datagrama
b. Fim da opo: o cdigo 00000000; controle de datagrama
c. Registrar rota: o cdigo 00000111; controle de datagrama
d. Rota de origem restrita: o cdigo 10001001; controle de datagrama
e. Rota de origem livre: o cdigo 10000011; controle de datagrama
f. Indicao de tempo: o cdigo 01000100; controle de depurao e gerenciamento

Exemplo 12
Um dos utilitrios disponveis no Unix para verificar o percurso dos pacotes IP o
ping. No prximo captulo, falaremos sobre o programa ping com mais detalhes. Nes-
se exemplo, queremos mostrar como se usa o programa, que verifica se um host est
SEO 8.3 OPES 199

disponvel. Usamos ping em um servidor do De Anza College, chamado de fhda.edu.


O resultado mostra que o endereo IP do host 153.18.8.1.
$ ping fhda.edu
PING fhda.edu (153.18.8.1) 56(84) bytes of data.
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq = 0 ttl=62 time=1.87 ms
...
O resultado tambm mostra o nmero de bytes usados.
Exemplo 13
Tambm podemos usar o utilitrio ping com a opo -R para implementar a opo
registrar rota.

$ ping -R fhda.edu
PING fhda.edu (153.18.8.1) 56(124) bytes of data.
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=0 ttl=62 time=2.70 ms
RR: voyager.deanza.fhda.edu (153.18.17.11)
Dcore_G0_3-69.fhda.edu (153.18.251.3)
Dbackup_V13.fhda.edu (153.18.191.249)
tiptoe.fhda.edu (153.18.8.1)
Dbackup_V62.fhda.edu (153.18.251.34)
Dcore_G0_1-6.fhda.edu (153.18.31.254)
voyager.deanza.fhda.edu (153.18.17.11)

O resultado mostra as interfaces e endereos IP.


Exemplo 14
O utilitrio traceroute tambm pode ser usado para monitorar a rota de um pacote.

$ traceroute fhda.edu
traceroute to fhda.edu (153.18.8.1), 30 hops max, 38 bytes packets
1 Dcore_G0_1-6.fhda.edu (153.18.31.254) 0.972 ms 0.902 ms 0.881 ms
2 Dbackup_V69.fhda.edu (153.18.251.4) 2.113 ms 1.996 ms 2.059 ms
3 tiptoe.fhda.edu (153.18.8.1) 1.791 ms 1.741 ms 1.751 ms
O resultado mostra os trs roteadores visitados.
Exemplo 15
O programa traceroute tambm pode ser usado para implementar roteamento de ori-
gem livre. A opo -g permite definir os roteadores a serem visitados, da origem ao
destino. O exemplo mostra como podemos enviar um pacote para o servidor fhda.edu
com o requisito de que o pacote deve visitar o roteador 153.18.251.4.

$ traceroute -g 153.18.251.4 fhda.edu


traceroute to fhda.edu (153.18.8.1), 30 hops max, 46 byte packets
1 Dcore_G0_1-6.fhda.edu (153.18.31.254) 0.976 ms 0.906 ms 0.889 ms
2 Dbackup_V69.fhda.edu (153.18.251.4) 2.168 ms 2.148 ms 2.037 ms

Exemplo 16
O programa traceroute tambm pode ser usado para implementar roteamento de
origem restrita. A opo -G obriga o pacote a visitar os roteadores definidos na linha
200 CAPTULO 8 Protocolo de internet (ip)

de comando. O exemplo seguinte mostra como podemos enviar um pacote para o


servidor fhda.edu e obrig-lo a visitar apenas o roteador 153.18.251.4.

$ traceroute -G 153.18.251.4 fhda.edu


traceroute to fhda.edu (153.18.8.1), 30 hops max, 46 byte packets
1 Dbackup_V69.fhda.edu (153.18.251.4) 2.168 ms 2.148 ms 2.037 ms

8.4 Soma de verificao


O mtodo de deteco de erros usado pela maioria dos protocolos TCP/IP chamado de
soma de verificao. A soma de verificao protege contra a deturpao que pode ocorrer
durante a transmisso de um pacote. uma informao redundante adicionada ao pacote.
A soma de verificao calculada no remetente e o valor obtido enviado com
o pacote. O destinatrio repete o mesmo clculo no pacote inteiro, incluindo a soma
de verificao. Se o resultado for satisfatrio (veja abaixo), o pacote aceito; caso
contrrio, ele rejeitado.

Clculo da soma de verificao no remetente


No remetente, o pacote dividido em sees de n bits (normalmente, n 16). Essas
sees so somadas usando aritmtica de complemento de um (consulte o Apndice
C), resultando em uma soma que tambm tem n bits de comprimento. Ento, a soma
complementada (todos os valores 0 alterados para valores 1 e todos os valores 1
alterados para 0) para produzir a soma de verificao.

Para criar a soma de verificao, o remetente faz o seguinte:


O pacote dividido em k sees, cada uma com n bits.
Todas as sees so somadas usando aritmtica de complemento de um.
O resultado complementado para produzir a soma de verificao.

Clculo da soma de verificao no destinatrio


O destinatrio divide o pacote recebido em k sees e soma todas elas. Ento, ele
complementa o resultado. Se o resultado final for 0, o pacote aceito; caso contrrio,
ele rejeitado.
A Figura 8.22 mostra graficamente o que acontece no remetente e no destinatrio.
Dissemos que, quando o destinatrio soma todas as sees e complementa o
resultado, deve obter o valor zero, caso no haja nenhum erro nos dados durante a
transmisso ou no processamento. Isso verdade por causa das regras da aritmtica
de complemento de um.
Suponha que obtivemos um nmero chamado T, quando somamos todas as se-
es no remetente. Quando complementamos o nmero na aritmtica de complemen-
to de um, obtemos o valor negativo do nmero. Isso significa que, se a soma de todas
as sees T, a soma de verificao T.
Quando o destinatrio recebe o pacote, ele soma todas as sees. Ele soma T e T
que, em complemento de um, 0 (menos zero). Quando o resultado complemen-
tado, 0 se torna 0. Assim, se o resultado final for 0, o pacote aceito; caso contrrio,
ele rejeitado (veja a Figura 8.23).
SEO 8.4 SOMA DE VERIFICAO 201

Figura 8.22 Conceito de soma de verificao

Remetente Destinatrio

Seo 1 n bits Seo 1 n bits

Seo 2 n bits Seo 2 n bits


.............. ..............
Soma de Todos Soma de
os n bits
verificao valores verificao
.............. ..............
Seo k n bits Seo k n bits
n bits
Soma de verificao
Soma n bits Pacote Soma n bits
Complemento Complemento
Se o resultado for 0, manter;
n bits n bits
caso contrrio, descartar.
Soma de verificao Resultado

Figura 8.23 Soma de verificao na aritmtica de complemento de um

TT=0

Remetente T T Destinatrio

Soma de verificao no pacote IP


A implementao da soma de verificao no pacote IP segue os mesmos princpios
discutidos anteriormente. Primeiro, o valor do campo soma de verificao configu-
rado como 0. Ento, o cabealho inteiro dividido em 16 sees e somado. O resulta-
do (soma) complementado e inserido no campo soma de verificao.
A soma de verificao no pacote IP cobre apenas o cabealho e no os dados.
Existem dois bons motivos para isso. Primeiramente, todos os protocolos de nvel
mais alto que encapsulam dados no datagrama IP tm um campo soma de verificao
que cobre o pacote inteiro. Portanto, a soma de verificao do datagrama IP no pre-
cisa verificar os dados encapsulados. Segundo, o cabealho do pacote IP muda a cada
roteador visitado, mas os dados no. Portanto, a soma de verificao inclui apenas a
parte que mudou. Se os dados fossem includos, cada roteador precisaria recalcular
a soma de verificao do pacote inteiro, o que significaria um aumento no tempo de
processamento.

Exemplo 17
A Figura 8.24 mostra um exemplo de clculo de soma de verificao para um cabe-
alho IP sem opes. O cabealho dividido em sees de 16 bits. Todas as sees
so somadas e a soma complementada. O resultado inserido no campo soma de
verificao.
202 CAPTULO 8 Protocolo de internet (ip)

Figura 8.24 Exemplo de clculo de soma de verificao em binrio

4 5 0 28
1 0 0
4 17 0
10.12.14.5
12.6.7.9
4, 5 e 0 01000101 00000000
28 00000000 00011100
1 00000000 00000001
0e0 00000000 00000000
4 e 17 00000100 00010001
0 00000000 00000000
10,12 00001010 00001100
14,5 00001110 00000101
12,6 00001100 00000110
7,9 00000111 00001001
Soma 01110100 01001110
Soma de verificao 10001011 10110001

Exemplo 18
Vamos fazer o mesmo exemplo em hexadecimal. Cada linha tem quatro dgitos hexade-
cimais. Calculamos primeiro a soma. Note que, se uma adio resultar em mais de um
dgito hexadecimal, o dgito mais direita torna-se o dgito da coluna atual e o resto
transportado para outras colunas. A partir da soma, fazemos a soma de verificao que
complementar a soma. Contudo, note que subtramos cada dgito de 15 em aritmtica
hexadecimal (exatamente como subtramos 1 na aritmtica binria). Isso significa que
o complemento de E (14) 1 e o complemento de 4 B (11). A Figura 8.25 mostra o
clculo. Note que o resultado (8BB1) exatamente o mesmo do Exemplo 17.

Figura 8.25 Exemplo de clculo de soma de verificao em hexadecimal

4 5 0 28
1 0 0
4 17 0
10.12.14.5
12.6.7.9
4, 5 e 0 4 5 0 0
28 0 0 1 C
1 0 0 0 1
0e0 0 0 0 0
4 e 17 0 4 1 1
0 0 0 0 0
10,12 0 A 0 C
14,5 0 E 0 5
12,6 0 C 0 6
7,9 0 7 0 9
Soma 7 4 4 E
Soma de verificao 8 B B 1
SEO 8.5 PACOTE IP 203

Consulte o Apndice C para ver uma descrio detalhada do clculo da soma


de verificao e do tratamento de transportes.

8.5Pacote IP
Nesta seo, apresentaremos um exemplo simplificado de um pacote IP hipottico.
Nosso objetivo mostrar as relaes entre os diferentes conceitos discutidos neste
captulo. A Figura 8.26 mostra oito componentes e suas interaes.

Figura 8.26 Componentes de pacote IP

Do protocolo da camada superior Para o protocolo da camada superior

IP Dados e
endereo de destino

Dados

Mdulo de adio
de cabealho
Pacote IP Tabela de
remontagem
Mdulo de
remontagem

Pacote IP
Tabela de
roteamento
Mdulo de
Pacote IP encaminhamento
Mdulo de
Pacote IP,
processamento
prximo Tabela de
hop, interface MTU
Mdulo de
fragmentao

Pacote IP Pacote IP,


prximo hop
Da camada de enlace de dados
Para a camada de enlace de dados

Embora o protocolo IP aceite vrias opes, omitimos o processamento de op-


es em nosso pacote para torn-lo mais fcil de entender neste nvel. Alm disso,
sacrificamos a eficincia em nome da simplicidade.
204 CAPTULO 8 Protocolo de internet (ip)

Podemos dizer que o pacote IP envolve oito componentes: um mdulo de adio


de cabealho, um de processamento, um de encaminhamento, um de fragmentao,
um de remontagem, uma tabela de roteamento, uma de MTU e uma de remontagem.
Alm disso, o pacote inclui filas de entrada e sada.
O empacotamento recebe um pacote da camada de enlace de dados ou de um
protocolo de nvel mais alto. Se o pacote vier de um protocolo de nvel mais alto, ele
enviado para a camada de enlace de dados para transmisso (a no ser que tenha o
endereo de retorno 127.X.Y.Z). Se o pacote vier da camada de enlace de dados, ele
enviado para essa camada para encaminhamento (em um roteador) ou enviado para
um protocolo de nvel mais alto, caso o endereo IP de destino do pacote seja igual ao
endereo IP da estao. Note que usamos vrias filas para e da camada de enlace de
dados, pois um roteador multihomed.

Mdulo de adio de cabealho


O mdulo de adio de cabealho recebe dados de um protocolo de camada su-
perior, com o endereo IP de destino. Ele encapsula os dados em um datagrama IP,
adicionando o cabealho IP.

Mdulo de adio de cabealho


Recebe: dados, endereo de destino
1. Encapsula os dados em um datagrama IP.
2. Calcula a soma de verificao e a insere no campo de soma de verificao.
3. Envia os dados para a fila correspondente.
4. Retorna.

Mdulo de processamento
O mdulo de processamento o centro do pacote IP. Em nosso pacote, o mdulo
de processamento recebe um datagrama de uma interface ou do mdulo de adio de
cabealho. Ele trata os dois casos de forma igual. Um datagrama deve ser processado
e direcionado, independentemente de onde veio.
O mdulo de processamento verifica primeiro se o datagrama um pacote de
retorno (com o endereo de destino 127.X.Y.Z) ou um pacote que chegou ao seu des-
tino. Em qualquer caso, o pacote enviado para o mdulo de remontagem.
Se o n for um roteador, ele decrementa o campo tempo de vida (TTL) por um.
Se esse valor for menor ou igual a zero, o datagrama descartado e uma mensagem
ICMP (consulte o Captulo 9) enviada para o remetente original. Se o valor de TTL
for maior do que zero aps o decremento, o mdulo de processamento envia o data-
grama para o mdulo de encaminhamento (veja a Figura 8.26).

Mdulo de processamento
1. Retira um datagrama de uma das filas de entrada.
2. Se (endereo de destino for 127.X.Y.Z ou corresponder a um dos endereos
locais)
1. Envia o datagrama para o mdulo de remontagem.
2. Retorna.
SEO 8.5 PACOTE IP 205

Mdulo de processamento (continuao)


3. Se (a mquina for um roteador)
1. Decrementa o TTL.
4. Se (TTL for menor ou igual a zero)
1. Descarta o datagrama.
2. Envia uma mensagem de erro ICMP.
3. Retorna.
5. Envia o datagrama para o mdulo de encaminhamento.
6. Retorna.

Filas
Nosso pacote usa dois tipos de filas: filas de entrada e filas de sada. As filas de en-
trada armazenam os datagramas provenientes da camada de enlace de dados ou dos
protocolos de nvel superior. As filas de sada armazenam os datagramas que vo para
a camada de enlace de dados ou para os protocolos de nvel superior. O mdulo de
processamento retira os datagramas das filas de entrada. Os mdulos de fragmentao
e remontagem adicionam os datagramas s filas de sada.

Tabela de roteamento
Discutimos a tabela de roteamento no Captulo 6. Ela usada pelo mdulo de encami-
nhamento para determinar o endereo do prximo hop do pacote.

Mdulo de encaminhamento
Discutimos o mdulo de encaminhamento no Captulo 6. Ele recebe um pacote IP
do mdulo de processamento. Se o pacote precisar ser encaminhado, ele ser passado
para esse mdulo. O mdulo descobre o endereo IP da prxima estao, com o n-
mero da interface para a qual o pacote deve ser enviado. Ento, ele envia o pacote com
essas informaes para o mdulo de fragmentao.

Tabela de MTU
A tabela de MTU usada pelo mdulo de fragmentao para descobrir a unidade de
transferncia mxima de uma interface em particular. A Figura 8.27 mostra o forma-
to de uma tabela de MTU.

Figura 8.27 Tabela de MTU

Nmero
MTU
da interface
........... ...........
........... ...........
........... ...........
206 CAPTULO 8 Protocolo de internet (ip)

Mdulo de fragmentao
Em nosso pacote, o mdulo de fragmentao recebe um datagrama IP do mdulo de
encaminhamento. O mdulo de encaminhamento obtm o datagrama IP, o endereo IP
da prxima estao (o destino em um envio direto ou o prximo roteador em um envio
indireto) e o nmero da interface pela qual o datagrama enviado.
O mdulo de fragmentao consulta a tabela de MTU para descobrir a MTU para
o nmero da interface especfica. Se o comprimento do datagrama for maior do que a
MTU, o mdulo de fragmentao fragmenta o datagrama, adiciona um cabealho em
cada fragmento e os envia para o pacote ARP (consulte o Captulo 7) para soluo de
endereo e envio.

Mdulo de fragmentao
Recebe: um pacote IP do mdulo de roteamento
1. Extrai o tamanho do datagrama.
2. Se (tamanho > MTU da rede correspondente)
1. Se [o bit D (no-fragmentar) for ativado]
1. Descarta o datagrama.
2. Envia uma mensagem de erro ICMP (consulte o Captulo 9).
3. Retorna.
2. Seno
1. Calcula o tamanho mximo.
2. Divide o datagrama em fragmentos.
3. Adiciona o cabealho em cada fragmento.
4. Adiciona as opes exigidas em cada fragmento.
5. Envia os datagramas.
6. Retorna.
3. Seno
1. Envia o datagrama.
4. Retorna.

Tabela de remontagem
A tabela de remontagem usada pelo mdulo de remontagem. Em nosso pacote, essa
tabela tem cinco campos: estado, endereo IP de origem, ID do datagrama, tempo-
limite e fragmentos (veja a Figura 8.28).
O valor do campo estado pode ser LIVRE ou EM USO. O campo endereo IP
define o endereo IP de origem do datagrama. ID do datagrama um nmero que
define exclusivamente um datagrama e todos os fragmentos pertencentes a ele. O
tempo-limite uma quantidade de tempo predeterminada durante a qual todos os frag-
mentos devem chegar. Finalmente, o campo fragmentos um ponteiro para uma lista
encadeada de fragmentos.
SEO 8.5 PACOTE IP 207

Figura 8.28 Tabela de remontagem

St.: Estado
S. A.: Endereo de origem T. O.: Tempo-limite
D. I.: ID do datagrama F.: Fragmentos
St. S. A. D. I. T. O. F.

Mdulo de remontagem
O mdulo de remontagem recebe do mdulo de processamento os fragmentos do da-
tagrama que chegaram aos seus destinos. Em nosso pacote, o mdulo de remontagem
trata um datagrama desfragmentado como um fragmento pertencente a um datagrama
com apenas um fragmento.
Como o protocolo IP sem conexo, no h garantia de que os fragmentos che-
guem em ordem. Alm disso, os fragmentos de um datagrama podem ser misturados
com os fragmentos de outro datagrama. Para monitorar essas situaes, o mdulo usa
uma tabela de remontagem com listas encadeadas associadas, conforme descrevemos
anteriormente.
A tarefa do mdulo de remontagem encontrar o datagrama ao qual um frag-
mento pertence, ordenar os fragmentos pertencentes ao mesmo datagrama e remontar
todos os fragmentos de um datagrama quando todos tiverem chegado. Se o tempo-
limite estabelecido tiver expirado e faltar qualquer fragmento, o mdulo descartar
os fragmentos.

Mdulo de remontagem
Recebe: um datagrama IP do mdulo de processamento
1. Se (o valor de deslocamento for zero e o bit M 0)
1. Envia o datagrama para a fila apropriada.
2. Retorna.
2. Procura a entrada correspondente na tabela de remontagem.
3. Se (no encontrou)
1. Cria uma nova entrada.
4. Insere o fragmento no lugar apropriado da lista encadeada.
1. Se (todos os fragmentos chegaram)
1. Remonta os fragmentos.
2. Envia o datagrama para o protocolo da camada superior correspondente.
3. Retorna.
2. Seno
1. Verifica o tempo-limite.
2. Se o (tempo-limite tiver expirado)
1. Descarta todos os fragmentos.
2. Envia uma mensagem de erro ICMP (consulte o Captulo 9).
5. Retorna.
208 CAPTULO 8 Protocolo de internet (ip)

8.6 Termos-CHAVE
Bits TOS Mdulo de fragmentao
Campo cdigo Mdulo de processamento
Campo comprimento Mdulo de remontagem
Campo dados Opo fim da opo
Campo ponteiro Opo indicao de tempo
Cdigo exclusivo Opo nenhuma operao
Comprimento do cabealho Opo registrar rota
Comprimento total Opo rota de origem livre
Datagramas Opo rota de origem restrita
Deslocamento de fragmentao Ping
Endereo de destino Precedncia
Endereo de origem Protocolo
Envio pelo melhor esforo Protocolo de Internet (IP)
Filas de entrada Servios diferenciados
Filas de sada Soma de verificao
Flags Tabela de remontagem
Fragmentao Tempo de vida
Identificao Tipo de servio
Mdulo de adio de cabealho Traceroute
Mdulo de encaminhamento Unidade de transferncia mxima (MTU)

8.7 Resumo
O IP um protocolo sem conexo e no-confivel, responsvel pelo envio da ori-
gem ao destino.
Na camada IP, os pacotes so chamados de datagramas.
Um datagrama consiste em um cabealho (de 20 bytes a 60 bytes) e dados.
O cabealho IP contm as seguintes informaes: nmero da verso, comprimen-
to do cabealho, servios diferenciados, comprimento do datagrama, nmero de
identificao, flags de fragmentao, deslocamento de fragmentao, tempo de
vida, protocolo, soma de verificao, endereo de origem, endereo de destino e
opes.
O comprimento mximo de um datagrama de 65.535 bytes.
A MTU o nmero mximo de bytes que um protocolo de enlace de dados pode
encapsular. As MTUs variam de protocolo a protocolo.
Fragmentao a diviso de um datagrama em unidades menores para acomodar
a MTU de um protocolo de enlace de dados.
SEO 8.8 CONJUNTO DE PRTICA 209

Os campos no cabealho IP relacionados fragmentao so o nmero de identifi-


cao, os flags de fragmentao e o deslocamento de fragmentao.
O cabealho do datagrama IP consiste em uma seo fixa de 20 bytes e em uma
seo de opes varivel com um mximo de 40 bytes.
A seo de opes do cabealho IP usada para teste e depurao da rede.
O cabealho de opes contm as seguintes informaes: um campo cdigo que
identifica a opo, o comprimento da opo e os dados especficos.
Cada uma das seis opes do protocolo IP tem uma funo especfica. Elas so as
seguintes: preenchimento entre opes para propsitos de alinhamento, preenchi-
mento, registro da rota tomada pelo datagrama, seleo de uma rota obrigatria
por parte do remetente, seleo de certas rotas que devem ser visitadas e registro
dos tempos de processamento nos roteadores.
Os utilitrios ping e traceroute do Unix podem ser usados para implementar algu-
mas das opes do IP.
O mtodo de deteco de erros usado pelo IP a soma de verificao.
A soma de verificao usa aritmtica de complemento de um para somar sees
de tamanhos iguais do cabealho IP. O resultado complementado armazenado no
campo soma de verificao. O destinatrio tambm usa aritmtica de complemen-
to de um para verificar o cabealho.
Um pacote IP pode consistir nos seguintes itens: um mdulo de adio de cabea-
lho, um mdulo de processamento, um mdulo de encaminhamento, um mdulo
de fragmentao, um mdulo de remontagem, uma tabela de roteamento, uma
tabela de MTU e uma tabela de remontagem.

8.8 Conjunto de prtica


Exerccios
1. Quais campos do cabealho IP mudam de um roteador para outro?
2. Calcule o valor de HLEN se o comprimento total for de 1.200 bytes, dos quais so
1.176 dados da camada superior.
3. A Tabela 8.5 lista as MTUs para muitos protocolos diferentes. As MTUs variam
de 296 a 65.535. Quais seriam as vantagens de ter uma MTU grande? Quais se-
riam as vantagens de ter uma MTU pequena?
4. Dado um datagrama fragmentado, com um deslocamento de 120, como voc de-
termina o primeiro e o ltimo nmero de byte?
5. Um datagrama IP deve passar pelo roteador 128.46.10.5. No h outras restries
sobre os roteadores a serem visitados. Desenhe as opes de IP com seus valores.
6. Qual o nmero mximo de roteadores que podem ser registrados se a opo
indicao de tempo tiver um valor de flag igual a 1? Por qu?
7. O valor do comprimento do cabealho em um pacote IP pode ser menor do que 5?
Quando ele exatamente 5?
8. O valor de HLEN em um datagrama IP 7. Quantos bytes de opo esto presentes?
9. O tamanho do campo opo de um datagrama IP de 20 bytes. Qual o valor de
HLEN? Qual o valor em binrio?
210 CAPTULO 8 Protocolo de internet (ip)

10. O valor do campo comprimento total em um datagrama IP 36 e o valor do cam-


po comprimento do cabealho 5. Quantos bytes de dados o pacote est transpor-
tando?
11. Um datagrama est transportando 1.024 bytes de dados. Se no h informaes
de opo, qual o valor do campo comprimento do cabealho? Qual o valor do
campo comprimento total?
12. Um host est enviando 100 datagramas para outro host. Se o nmero de identifica-
o do primeiro datagrama 1.024, qual o nmero de identificao do ltimo?
13. Um datagrama IP chega com deslocamento de fragmentao 0 e um bit M (bit
mais fragmentos) igual a 0. Esse o primeiro fragmento, um fragmento interme-
dirio ou o ltimo fragmento?
14. Um fragmento IP chega com um valor de deslocamento igual a 100. Quantos
bytes de dados foram originalmente enviados pela origem antes dos dados nesse
fragmento?
15. Um datagrama IP chegou com a seguinte informao no cabealho (em hexade-
cimal):
45 00 00 54 00 03 00 00 20 06 00 00 7C 4E 03 02 B4 0E 0F 02
a. Existe alguma opo?
b. O pacote est fragmentado?
c. Qual o tamanho dos dados?
d. usada uma soma de verificao?
e. Por quantos roteadores mais o pacote pode passar?
f. Qual o nmero de identificao do pacote?
g. Qual o tipo de servio?
16. Em um datagrama, o bit M zero, o valor de HLEN 5, o valor do comprimento
total 200 e o valor do deslocamento 200. Qual o nmero do primeiro byte
e o nmero do ltimo byte nesse datagrama? Esse o ltimo fragmento ou um
fragmento intermedirio?

Atividades de pesquisa
17. Use o utilitrio ping com a opo -R para verificar o roteamento de um pacote at
um destino. Interprete o resultado.
18. Use o utilitrio traceroute com a opo -g para implementar a opo rota de ori-
gem livre. Escolha alguns roteadores entre a origem e o destino. Interprete o re-
sultado e descubra se todos os roteadores definidos foram visitados.
19. Use o utilitrio traceroute com a opo -G para implementar a opo rota de
origem restrita. Escolha alguns roteadores entre a origem e o destino. Interprete o
resultado e descubra se todos os roteadores definidos foram visitados e se nenhum
roteador no-definido foi visitado.
20. Pesquise e encontre os RFCs relacionados aos protocolos IP. Qual deles define a
fragmentao?
21. Encontre os RFCs relacionados s opes do IP. Qual deles define a opo re-
gistrar rota? Qual deles define a opo rota de origem livre? Qual deles define a
opo rota de origem restrita?
SEO 2.1 O MODELO OSI 211

Captulo 9

ICMP (Internet Control


Message Protocol)
Conforme discutido no Captulo 8, o IP fornece envio de datagrama no-confivel e
sem conexo. Ele foi projetado dessa maneira para fazer uso eficiente de recursos de
rede. O protocolo IP um servio de envio do tipo melhor esforo, que transfere um
datagrama de sua fonte original at seu destino. Entretanto, ele tem duas deficincias:
a falta de controle de erro e a falta de mecanismos de ajuda.
O protocolo IP no tem nenhum mecanismo de relatrio nem de correo de
erros. O que acontece se algo der errado? O que acontece se um roteador precisar
descartar um datagrama porque no consegue encontrar um roteador para o destino
ou porque o campo de tempo de vida tem um valor zero? O que acontece se o host do
destino precisar descartar todos os fragmentos de um datagrama porque no os rece-
beu dentro de um limite de tempo predeterminado? Esses so exemplos de situaes
em que ocorreu um erro e o protocolo IP no tem nenhum mecanismo interno para
notificar o host original.
O protocolo IP tambm no possui um mecanismo para consultas de host e ge-
renciamento. s vezes, um host precisa determinar se um roteador ou outro host est
ativo. E, s vezes, um gerente de rede precisa de informaes de outro host ou ro-
teador.
O ICMP (Internet Control Message Protocol Protocolo de Mensagens de
Controle Internet) foi projetado para compensar as duas deficincias acima. Ele um
acompanhante do protocolo IP. A Figura 9.1 mostra a posio do ICMP em relao ao
IP e a outros protocolos da camada de rede.

Figura 9.1 Posio do ICMP na camada de rede

IGMP ICMP
Camada
IP
de rede
ARP RARP

O prprio ICMP um protocolo de camada de rede. Entretanto, suas mensagens


no so passadas diretamente para a camada de enlace de dados, como seria esperado.
Em vez disso, as mensagens so primeiramente encapsuladas dentro de datagramas
IP, antes de irem para a camada inferior (veja a Figura 9.2).
211
212 CAPTULO 9 ICMP (Internet Control Message Protocol)

Figura 9.2 Encapsulamento do ICMP

Mensagem
ICMP

Cabealho Dados
IP IP

Cabealho Dados Trailer


do frame do frame (se houver)

O valor do campo de protocolo no datagrama IP 1 para indicar que os dados IP


so uma mensagem ICMP.

9.1 Tipos de mensagens


As mensagens ICMP so divididas em duas categorias amplas: mensagens de relat-
rio de erro e mensagens de consulta, como se v na Figura 9.3.

Figura 9.3 Mensagens ICMP

Mensagens ICMP

Relatrio de erro Consulta

As mensagens de relatrio de erro informam sobre problemas que um roteador


ou um host (destino) podem encontrar ao processar um pacote IP.
As mensagens de consulta, que ocorrem em pares, ajudam um host ou um gerente
de rede a obter informaes especficas de um roteador ou de outro host. Por exemplo,
os ns podem descobrir seus vizinhos. Alm disso, os hosts podem descobrir e apren-
der a respeito de roteadores de sua rede, e os roteadores podem ajudar um n a redire-
cionar suas mensagens. A Tabela 9.1 lista as mensagens ICMP de cada categoria.

Tabela 9.1 Mensagens ICMP


Categoria Tipo Mensagem
3 Destino inacessvel
4 Extino da origem
Mensagens de
11 Tempo excedido
relatrio de erro
12 Problema de parmetro
5 Redirecionamento
SEO 9.3 RELATRIO DE ERROS 213

Tabela 9.1 Mensagens ICMP (continuao)

Categoria Tipo Mensagem


8 ou 0 Pedido ou resposta de eco

Mensagens 13 ou 14 Pedido ou resposta de indicao de tempo


de consulta 17 ou 18 Pedido ou resposta de mscara de endereo
10 ou 9 Solicitao ou anncio de roteador

9.2 Formato da mensagem


Uma mensagem ICMP tem um cabealho de 8 bytes e uma seo de dados de tama-
nho varivel. Embora o formato geral do cabealho seja diferente para cada tipo de
mensagem, os primeiros 4 bytes so comuns a todos. Como mostra a Figura 9.4, o
primeiro campo, tipo ICMP, define o tipo da mensagem. O campo de cdigo especifi-
ca o motivo do tipo de mensagem em particular. O ltimo campo comum o de soma
de verificao (a ser discutido posteriormente no captulo). O restante do cabealho
especfico para cada tipo de mensagem.
A seo de dados nas mensagens de erro transporta informaes para localizar o
pacote original que tinha o erro. Nas mensagens de consulta, a seo de dados trans-
porta informaes extras baseadas no tipo da consulta.

Figura 9.4 Formato geral das mensagens ICMP

8 bits 8 bits 8 bits 8 bits

Tipo Cdigo Soma de verificao


Restante do cabealho

Seo de dados

9.3 Relatrio de erros


Uma das principais responsabilidades do ICMP relatar erros. Embora a tecnologia
tenha produzido mdia de transmisso cada vez mais confivel, os erros ainda exis-
tem e devem ser tratados. O IP, conforme discutido no Captulo 8, um protocolo
no-confivel. Isso significa que a verificao e o controle de erros no so uma preo-
cupao do IP. O ICMP foi projetado, em parte, para compensar essa deficincia. En-
tretanto, o ICMP no corrige erros; ele simplesmente os relata. A correo de erros
assunto dos protocolos de nvel mais alto. As mensagens de erro so sempre enviadas
fonte original, pois as nicas informaes disponveis no datagrama sobre a rota so
os endereos IP da origem e do destino. O ICMP usa o endereo IP da origem para
enviar a mensagem de erro para a fonte (originador) do datagrama.
214 CAPTULO 9 ICMP (Internet Control Message Protocol)

O ICMP sempre relata as mensagens de erro para a fonte original.

Cinco tipos de erros so tratados: destino inacessvel, extino da origem, tempo


excedido, problemas de parmetro e redirecionamento (veja a Figura 9.5).

Figura 9.5 Mensagens de relatrio de erro

Relatrio
de erros

Destino Extino Tempo Problemas de


Redirecionamento
inacessvel da origem excedido parmetro

A seguir, pontos importantes sobre as mensagens de erro ICMP:


Nenhuma mensagem de erro ICMP ser gerada em resposta a um datagrama que
transporta uma mensagem de erro ICMP.
Nenhuma mensagem de erro ICMP ser gerada para um datagrama fragmentado
que no seja o primeiro fragmento.
Nenhuma mensagem de erro ICMP ser gerada para um datagrama com um ende-
reo multicast.
Nenhuma mensagem de erro ICMP ser gerada para um datagrama com um ende-
reo especial, como 127.0.0.0 ou 0.0.0.0.

Note que todas as mensagens de erro contm uma seo de dados que inclui o
cabealho IP do datagrama original, mais os primeiros 8 bytes de dados nesse data-
grama. O cabealho do datagrama original adicionado para fornecer fonte original,
que recebe a mensagem de erro, informaes sobre o datagrama em si. Os 8 bytes de
dados so includos porque, como veremos nos Captulos 11 e 12 sobre protocolos
UDP e TCP, os primeiros 8 bytes fornecem informaes sobre os nmeros de porta
(UDP e TCP) e o nmero de seqncia (TCP). Essas informaes so necessrias para
que a origem possa informar aos protocolos (TCP ou UDP) sobre o erro. O ICMP for-
ma um pacote de erro que, ento, encapsulado em um datagrama IP (veja a Figura 9.6).

Destino inacessvel
Quando um roteador no consegue direcionar um datagrama ou um host no consegue
enviar um datagrama, ele descartado e o roteador ou o host envia uma mensagem de
destino inacessvel de volta para o host de origem que iniciou o datagrama. A Figura
9.7 mostra o formato da mensagem de destino inacessvel. O campo de cdigo desse
tipo especifica o motivo do descarte do datagrama:
Cdigo 0. A rede est inacessvel, possivelmente devido a uma falha de hardware.
Esse tipo de mensagem s pode ser gerado por um roteador.
SEO 9.3 RELATRIO DE ERROS 215

Figura 9.6 Contedo do campo de dados das mensagens de erro

Datagrama recebido
Cabealho 8 Dados
IP bytes IP

Cabealho Cabealho 8
Pacote ICMP
ICMP IP bytes

Cabealho Cabealho Cabealho 8


Datagrama IP enviado
IP ICMP IP bytes

Figura 9.7 Formato do destino inacessvel

Tipo: 3 Cdigo: 0 a 15 Soma de verificao

No-utilizado (Todos os valores 0)

Parte do datagrama IP recebido, incluindo o cabealho IP mais os


primeiros 8 bytes dos dados do datagrama

Cdigo 1. O host est inacessvel. Isso tambm pode ser devido a uma falha de
hardware. Esse tipo de mensagem s pode ser gerado por um roteador.
Cdigo 2. O protocolo est inacessvel. Um datagrama IP pode transportar dados
pertencentes a protocolos de nvel mais alto, como UDP, TCP e OSPF. Se o host de
destino recebe um datagrama que deve ser enviado, por exemplo, para o protocolo
TCP, mas o protocolo TCP no est funcionando no momento, uma mensagem de
cdigo 2 enviada. Esse tipo de mensagem gerado apenas pelo host de destino.
Cdigo 3. A porta est inacessvel. O programa aplicativo (processo) para o qual
o datagrama destinado no est em execuo no momento.
Cdigo 4. necessria fragmentao, mas o campo DF (no-fragmentar) do da-
tagrama foi enviado. Em outras palavras, o remetente do datagrama especificou
que o datagrama no deve ser fragmentado, mas o roteamento impossvel sem
fragmentao.
Cdigo 5. O roteamento da origem no pode ser realizado. Em outras palavras,
um ou mais roteadores definidos na opo de roteamento da origem no podem
ser visitados.
Cdigo 6. A rede de destino desconhecida. Isso diferente do cdigo 0. No cdi-
go 0, o roteador sabe que a rede de destino existe, mas est inacessvel no momento.
Para o cdigo 6, o roteador no tem nenhuma informao sobre a rede de destino.
Cdigo 7. O host de destino desconhecido. Isso diferente do cdigo 1. No
cdigo 1, o roteador sabe que o host de destino existe, mas est inacessvel no mo-
mento. Para o cdigo 7, o roteador no sabe da existncia do host de destino.
216 CAPTULO 9 ICMP (Internet Control Message Protocol)

Cdigo 8. O host de origem est isolado.

Cdigo 9. A comunicao com a rede de destino proibida administrativamente.

Cdigo 10. A comunicao com o host de destino proibida administrativamente.

Cdigo 11. A rede est inacessvel para o tipo de servio especificado. Isso di-
ferente do cdigo 0. Aqui, o roteador poderia direcionar o datagrama se a origem
tivesse solicitado um tipo de servio disponvel.

Cdigo 12. O host est inacessvel para o tipo de servio especificado. Isso di-
ferente do cdigo 1. Aqui, o roteador poderia direcionar o datagrama se a origem
tivesse solicitado um tipo de servio disponvel.

Cdigo 13. O host est inacessvel porque o administrador colocou um filtro nele.

Cdigo 14. O host est inacessvel porque a precedncia de host foi violada. A
mensagem enviada por um roteador para indicar que a precedncia solicitada no
permitida para o destino.

Cdigo 15. O host est inacessvel porque sua precedncia foi reduzida. Essa men-
sagem gerada quando os operadores da rede impuseram um nvel de precedncia
mnimo para a operao da rede, mas o datagrama foi enviado com uma precedn-
cia abaixo desse nvel.
Note que as mensagens de destino inacessvel podem ser geradas por um roteador ou
pelo host de destino. As mensagens de cdigo 2 e de cdigo 3 s podem ser geradas
pelo host de destino; as mensagens dos cdigos restantes s podem ser geradas por
roteadores.

As mensagens de destino inacessvel, com cdigos 2 ou 3, s podem ser geradas pelo


host de destino.
As outras mensagens de destino inacessvel s podem ser geradas por roteadores.

Note que, mesmo que um roteador no relate uma mensagem de destino inaces-
svel, no significa necessariamente que o datagrama foi enviado. Por exemplo: se um
datagrama est passando por uma rede Ethernet, no h como um roteador saber se
ele foi enviado para o host de destino ou para o prximo roteador, pois a Ethernet no
fornece nenhum mecanismo de reconhecimento.

Um roteador no pode detectar todos os problemas que impedem o envio de um pacote.

Extino da origem
O protocolo IP sem conexo. No h nenhuma comunicao entre o host de origem,
que produz o datagrama, os roteadores que o encaminham e o host de destino, que
o processa. Uma das ramificaes dessa ausncia de comunicao a falta de um
controle de fluxo. O IP no tem um mecanismo de controle de fluxo incorporado no
SEO 9.3 RELATRIO DE ERROS 217

protocolo. A falta de controle de fluxo pode gerar um problema mais srio na operao
do IP: o congestionamento. O host de origem nunca sabe se os roteadores ou o host
de destino ficaram sobrecarregados com o datagrama. O host de origem nunca sabe se
est produzindo datagramas mais rapidamente do que podem ser encaminhados pelos
roteadores ou processados pelo host de destino.

No h nenhum mecanismo de controle de fluxo no protocolo IP.

A falta de controle de fluxo pode criar um congestionamento nos roteadores ou


no host de destino. Um roteador ou um host tem uma fila (buffer) de tamanho limitado
para os datagramas recebidos que esto esperando para serem encaminhados (no caso
de um roteador) ou processados (no caso de um host). Se os datagramas so recebidos
muito mais rapidamente do que podem ser encaminhados ou processados, a fila pode
estourar. Nesse caso, o roteador ou o host no tem escolha a no ser descartar alguns
dos datagramas.
A mensagem de extino da origem no ICMP foi projetada para adicionar uma
espcie de controle de fluxo no IP. Quando um roteador ou um host descarta um da-
tagrama devido a um congestionamento, envia uma mensagem de extino da origem
para o remetente do datagrama. Essa mensagem tem dois objetivos. Primeiro, infor-
mar origem que o datagrama foi descartado. Segundo, avis-la que h um congestio-
namento em algum lugar no caminho e que deve diminuir a velocidade (extinguir) do
processo de envio. O formato da extino da origem aparece na Figura 9.8.

Figura 9.8 Formato da extino da origem

Tipo: 4 Cdigo: 0 Soma de verificao

No-utilizado (Todos os valores 0)

Parte do datagrama IP recebido, incluindo o cabealho


IP mais os primeiros 8 bytes dos dados do datagrama

Uma mensagem de extino da origem informa origem que um datagrama foi


descartado devido a um congestionamento em um roteador ou no host de destino.
A origem deve diminuir a velocidade do envio de datagramas at que o
congestionamento seja resolvido.

Existem alguns pontos que merecem mais explicao. Primeiro, o roteador ou o


host de destino que passou pelo congestionamento envia para o host de origem uma
mensagem de extino da origem para cada datagrama descartado. Segundo, no h
nenhum mecanismo para informar origem que o congestionamento foi resolvido e
que pode retomar o envio de datagramas na velocidade anterior. A origem continua a
diminuir a velocidade at que mais nenhuma mensagem de extino da origem seja
recebida. Terceiro, o congestionamento pode ser criado por uma comunicao de um
para um ou de muitos para um. Em uma comunicao de um para um, apenas um nico
host de alta velocidade poderia criar datagramas mais rapidamente do que um roteador
ou o host de destino pudesse manipular. Nesse caso, as mensagens de extino da
218 CAPTULO 9 ICMP (Internet Control Message Protocol)

origem podem ser teis. Elas dizem origem para que diminua a velocidade. Em uma
comunicao de muitos para um, diversas origens criam datagramas que devem ser
manipulados por um roteador ou pelo host de destino. Nesse caso, cada origem pode
estar enviando datagramas em velocidades diferentes, alguns deles em baixa velo-
cidade e outros em alta velocidade. Nesse caso, a mensagem de extino da origem
talvez no seja muito til. O roteador ou o host de destino no tem idia de qual ori-
gem responsvel pelo congestionamento. Ele pode eliminar um datagrama de uma
origem muito lenta, em vez de eliminar o datagrama da origem que realmente criou o
congestionamento.

Uma mensagem de extino da origem enviada para cada datagrama descartado


devido ao congestionamento.

Tempo excedido
A mensagem de tempo excedido gerada em dois casos:
Como vimos no Captulo 6, os roteadores usam tabelas de roteamento para encon-
trar o prximo hop (prximo roteador) que deve receber o pacote. Se houver erros
em uma ou mais tabelas de roteamento, um pacote poder percorrer um loop ou
um ciclo, indo de um roteador ao prximo ou visitando uma srie de roteadores
infinitamente. Como vimos no Captulo 8, cada datagrama contm um campo cha-
mado de tempo de vida, que controla essa situao. Quando um datagrama passa
por um roteador, o valor desse campo decrementado por 1. Quando o valor do
tempo de vida chega a 0, aps o decremento, o roteador descarta o datagrama.
Entretanto, quando o datagrama descartado, uma mensagem de tempo excedido
deve ser enviada pelo roteador para a fonte original.

Quando um roteador decrementa um datagrama com um valor de tempo de vida


que chegou a zero, ele descarta o datagrama e envia uma mensagem de tempo
excedido para a fonte original.

Segundo, uma mensagem de tempo excedido tambm gerada quando todos os


fragmentos que constituem uma mensagem no chegam ao host de destino dentro de
certo limite de tempo. Quando o primeiro fragmento chega, o host de destino inicia
um cronmetro. Se todos os fragmentos no chegarem at o tempo expirar, o destino
os descarta e envia uma mensagem de tempo excedido para o remetente original.

Quando o destino no recebe todos os fragmentos em um tempo definido, ele os


descarta e envia uma mensagem de tempo excedido para a fonte original.

A Figura 9.9 mostra o formato da mensagem de tempo excedido. O cdigo 0


usado quando o datagrama descartado pelo roteador devido a um valor do campo
tempo de vida igual a zero. O cdigo 1 usado quando os fragmentos de um datagra-
ma que chegaram so descartados porque outros no foram recebidos dentro do limite
de tempo.
SEO 9.3 RELATRIO DE ERROS 219

Em uma mensagem de tempo excedido, o cdigo 0 usado apenas pelos roteadores,


para mostrar que o valor do campo tempo de vida zero. O cdigo 1 usado apenas
pelo host de destino, para mostrar que nem todos os fragmentos chegaram dentro de
um tempo definido.

Figura 9.9 Formato da mensagem de tempo excedido

Tipo: 11 Cdigo: 0 ou 1 Soma de verificao

No-utilizado (Todos os valores 0)

Parte do datagrama IP recebido, incluindo o cabealho IP


mais os primeiros 8 bytes dos dados do datagrama

Problema de parmetro
Qualquer ambigidade na parte do cabealho de um datagrama pode gerar srios pro-
blemas quando ele viaja pela Internet. Se um roteador ou o host de destino descobre
um valor ambguo ou ausente em qualquer campo do datagrama, ele o descarta e envia
uma mensagem de problema de parmetro de volta origem.

Uma mensagem de problema de parmetro pode ser gerada por um


roteador ou pelo host de destino.

A Figura 9.10 mostra o formato da mensagem de problema de parmetro. O


campo de cdigo, nesse caso, especifica o motivo do descarte do datagrama:
Cdigo 0. H um erro ou uma ambigidade em um dos campos de cabealho.
Nesse caso, o valor no campo de ponteiro aponta para o byte com problema. Por
exemplo: se o valor zero, ento o primeiro byte no um campo vlido.
Cdigo 1. A parte obrigatria de uma opo est faltando. Nesse caso, o ponteiro
no usado.

Figura 9.10 Formato da mensagem de problema de parmetro

Tipo: 12 Cdigo: 0 ou 1 Soma de verificao

Ponteiro No-utilizado (Todos os valores 0)

Parte do datagrama IP recebido, incluindo o cabealho


IP mais os primeiros 8 bytes dos dados do datagrama

Redirecionamento
Quando um roteador precisa enviar um pacote destinado a outra rede, ele necessita
conhecer o endereo IP do prximo roteador apropriado. O mesmo acontece quando
o remetente um host. Ento, tanto roteadores como hosts precisam ter uma tabela
220 CAPTULO 9 ICMP (Internet Control Message Protocol)

de roteamento para encontrar o endereo do roteador ou do prximo roteador. Os


roteadores tomam parte do processo de atualizao de roteamento, como veremos no
Captulo 14, e devem ser atualizados constantemente. O roteamento dinmico.
Entretanto, por eficincia, os hosts no tomam parte no processo de atualizao
de roteamento, pois em uma internet existem muito mais hosts do que roteadores. Atu-
alizar dinamicamente as tabelas de roteamento de hosts produz trfego inaceitvel.
Normalmente, os hosts usam roteamento esttico. Quando um host entra em ao, sua
tabela de roteamento tem um nmero de entradas limitado. Normalmente, ele conhece
apenas o endereo IP de um roteador, o roteador-padro. Por isso, o host pode enviar
um datagrama destinado a outra rede para o roteador errado. Nesse caso, o roteador
que receber o datagrama o encaminhar para o roteador correto. Entretanto, para atua-
lizar a tabela de roteamento do host, ele envia uma mensagem de redirecionamento.
Esse conceito de redirecionamento est exemplificado na Figura 9.11. O host A quer
enviar um datagrama ao host B. O roteador R2 obviamente a escolha de roteamento
mais eficiente, mas o host A no o escolheu. Em vez disso, o datagrama vai para R1.
R1, aps consultar sua tabela, verifica que o pacote deveria ter ido para R2. Ele envia
o pacote para R2 e, ao mesmo tempo, envia uma mensagem de redirecionamento ao
host A. Agora, a tabela de roteamento do host A pode ser atualizada.

Figura 9.11 Conceito de redirecionamento

Mensagem de A
redirecionamento

Pacote IP B
R1 R2
Rede local Rede local

Pacote IP Pacote IP

Normalmente, um host comea com uma pequena tabela de roteamento que


gradualmente ampliada e atualizada. Uma das ferramentas para fazer isso a
mensagem de redirecionamento.

O formato da mensagem de redirecionamento est detalhado na Figura 9.12.


Note que o endereo IP do destino apropriado dado na segunda linha.

Figura 9.12 Formato da mensagem de redirecionamento

Tipo: 5 Cdigo: 0 ou 3 Soma de verificao

Endereo IP do roteador de destino

Parte do datagrama IP recebido, incluindo o cabealho IP


mais os primeiros 8 bytes dos dados do datagrama
SEO 9.4 CONSULTA 221

Embora a mensagem de redirecionamento seja considerada uma mensagem de


relatrio de erro, ela diferente das outras mensagens de erro. Nesse caso, o roteador
no descarta o datagrama; ele o envia para o roteador apropriado. O campo de cdigo
da mensagem de redirecionamento limita o redirecionamento:
Cdigo 0. Redirecionamento para uma rota especfica da rede.
Cdigo 1. Redirecionamento para uma rota especfica do host.
Cdigo 2. Redirecionamento para uma rota especfica da rede, baseado em um
tipo de servio especificado.
Cdigo 3. Redirecionamento para uma rota especfica do host, baseado em um
tipo de servio especificado.

Uma mensagem de redirecionamento enviada de um roteador


para um host na mesma rede local.

9.4 Consulta
Alm do relatrio de erros, o ICMP tambm pode diagnosticar alguns problemas de
rede. Isso feito por meio das mensagens de consulta, um grupo de quatro diferentes
pares de mensagens, como se v na Figura 9.13. Nesse tipo de mensagem ICMP, um
n envia uma mensagem que respondida em um formato especfico pelo n de desti-
no. Note que, originalmente, foram definidos dois outros tipos de mensagens (pedido
de informaes e resposta de informaes), mas agora esto obsoletos. Eles foram
projetados para permitir que um host obtenha seu endereo de Internet na inicializa-
o; essa funo agora realizada pelo RARP (veja o Captulo 7) e pelo BOOTP (veja
o Captulo 16).

Figura 9.13 Mensagens de consulta

Consulta

Pedido e Pedido e resposta Pedido e resposta de Solicitao e


resposta de eco de indicao de tempo mscara de endereo anncio de roteador

Pedido e resposta de eco


As mensagens de pedido e resposta de eco so projetadas para propsitos de diag-
nstico. Os gerentes de rede e usurios utilizam esse par de mensagens para identificar
problemas na rede. A combinao de mensagens de pedido e resposta de eco determi-
na se dois sistemas (hosts ou roteadores) podem se comunicar.
Um host ou roteador pode enviar uma mensagem de pedido de eco para outro
host ou roteador. O host ou roteador que receber uma mensagem de pedido de eco cria
uma mensagem de resposta de eco e a retorna para o remetente original.
222 CAPTULO 9 ICMP (Internet Control Message Protocol)

Uma mensagem de pedido de eco pode ser enviada por um host ou roteador.
Uma mensagem de resposta de eco enviada pelo host ou roteador que recebe uma
mensagem de pedido de eco.

As mensagens de pedido e resposta de eco podem ser usadas para determinar se


h comunicao no nvel IP. Como as mensagens ICMP so encapsuladas em datagra-
mas IP, a recepo de uma mensagem de resposta de eco pela mquina que enviou o
pedido de eco a prova de que os protocolos IP no remetente e no receptor esto se
comunicando, usando o datagrama IP. Alm disso, a prova de que roteadores inter-
medirios esto recebendo, processando e encaminhando datagramas IP.

As mensagens de pedido e resposta de eco podem ser usadas


pelos gerentes de rede para verificar o funcionamento do protocolo IP.

As mensagens de pedido e resposta de eco tambm podem ser usadas por um host
para ver se outro host est acessvel. No nvel do usurio, isso feito pela execuo do
comando ping (Packet InterNet Groper). Atualmente, a maioria dos sistemas fornece
uma verso do comando ping que pode criar uma srie (em vez de apenas uma) de
mensagens de pedido e resposta de eco, fornecendo informaes estatsticas. Veremos
o uso desse programa no fim do captulo.

As mensagens de pedido e resposta de eco podem testar a acessibilidade de um host.


Normalmente, isso feito por meio da execuo do comando ping.

O pedido de eco, com a resposta de eco, pode determinar se um n est funcio-


nando corretamente ou no. enviada uma mensagem de pedido de eco ao n a ser
testado. O campo de dados opcional contm uma mensagem que deve ser repetida
exatamente pelo n que responder em sua mensagem de resposta de eco. A Figura
9.14 mostra o formato da mensagem de resposta e pedido de eco. Os campos de iden-
tificador e de nmero de seqncia no so formalmente definidos pelo protocolo e
podem ser usados arbitrariamente pelo remetente. Freqentemente, o identificador
igual ID de processo.

Figura 9.14 Mensagens de pedido e resposta de eco

8: Pedido de eco
0: Resposta de eco

Tipo: 8 ou 0 Cdigo: 0 Soma de verificao

Identificador Nmero de seqncia

Dados opcionais
Enviados pela mensagem de pedido; repetidos pela mensagem de resposta
SEO 9.4 CONSULTA 223

Pedido e resposta de indicao de tempo


Duas mquinas (hosts ou roteadores) podem usar as mensagens de pedido e resposta
de indicao de tempo para determinar o tempo de ida e volta necessrio para que um
datagrama IP viaje entre elas. Isso tambm pode ser usado para sincronizar os relgios
das duas mquinas. O formato dessas duas mensagens est detalhado na Figura 9.15.

Figura 9.15 Formato da mensagem de pedido e resposta de indicao de tempo

13: pedido
14: resposta

Tipo: 13 ou 14 Cdigo: 0 Soma de verificao

Identificador Nmero de seqncia

Indicao de tempo original

Indicao de tempo da recepo

Indicao de tempo da transmisso

Cada um dos trs campos de indicao de tempo tem 32 bits de comprimento.


Cada campo pode conter um nmero que representa o tempo medido em milissegun-
dos a partir da meia-noite, em Hora Universal (anteriormente chamada de Hora de
Greenwich). Note que 32 bits podem representar um nmero entre 0 e 4.294.967.295,
mas, nesse caso, uma indicao de tempo no pode ultrapassar 86.400.000 = 24 x 60
x 60 x 1000.
A origem cria uma mensagem de pedido de indicao de tempo. Ela preenche o
campo de indicao de tempo original com a Hora Universal indicada por seu relgio
no momento da sada. Os outros dois campos de indicao de tempo so preenchidos
com zeros.
O destino cria a mensagem de resposta de indicao de tempo. Ele copia o valor
da indicao de tempo original da mensagem de pedido no mesmo campo em sua
mensagem de resposta. Ento, ele preenche o campo de indicao de tempo de recep-
o com a Hora Universal indicada pelo seu relgio no momento em que a mensagem
de resposta enviada.
As mensagens de pedido e resposta de indicao de tempo podem ser usadas para
calcular o tempo em uma s direo, ou de ida e volta, exigido para que um datagrama
v de uma origem a um destino e volte novamente. As frmulas so:

tempo de envio = indicao de tempo de recepo indicao de tempo original


tempo de recepo = tempo retornado indicao de tempo de transmisso
tempo de ida e volta = tempo de envio + tempo de recepo

Note que os clculos do tempo de envio e de recepo s sero precisos se os


dois relgios nas mquinas de origem e destino estiverem sincronizados. Entretanto,
o clculo da viagem de ida e volta correto mesmo que os dois relgios no estejam
sincronizados, pois cada relgio contribui duas vezes para esse clculo, cancelando
assim qualquer diferena na sincronizao.
224 CAPTULO 9 ICMP (Internet Control Message Protocol)

As mensagens de pedido e resposta de indicao de tempo podem ser usadas para calcular
o tempo de ida e volta entre uma mquina de origem e uma mquina de destino, mesmo
que seus relgios no estejam sincronizados.

Por exemplo, dadas as informaes a seguir:


indicao de tempo original: 46
indicao de tempo de recepo: 59
indicao de tempo de transmisso: 60
tempo de retorno: 67

Podemos calcular o tempo de ida e volta como sendo de 20 milissegundos:


tempo de envio = 59 46 = 13 milissegundos
tempo de recepo = 67 60 = 7 milissegundos
tempo de ida e volta = 13 + 7 = 20 milissegundos

Dado o tempo em uma s direo real, as mensagens de pedido e resposta de in-


dicao de tempo tambm podem ser utilizadas para sincronizar os relgios nas duas
mquinas, usando-se a frmula a seguir:
Diferena de tempo = indicao de tempo de recepo
(campo de indicao de tempo original + durao de tempo em
uma s direo)

A durao de tempo em uma s direo pode ser obtida dividindo-se a durao


de tempo de ida e volta por dois (se tivermos certeza de que o tempo de envio igual
ao tempo de recepo) ou por outros meios. Por exemplo: podemos dizer que os dois
relgios do exemplo anterior esto 3 milissegundos fora de sincronismo, pois

Diferena de tempo = 59 (46 + 10) = 3

As mensagens de pedido e resposta de indicao de tempo podem ser usadas


para sincronizar dois relgios em duas mquinas, caso seja conhecida a durao
de tempo em uma s direo exata.

Pedido e resposta de mscara de endereo


Um host pode saber seu endereo IP, mas pode no conhecer a mscara correspon-
dente. Por exemplo, um host pode conhecer seu endereo IP como 159.31.17.24, mas
pode no saber que a mscara correspondente /24.
Para obter sua mscara, um host envia uma mensagem de pedido de endereo
de mscara para um roteador na rede local. Se o host conhecer o endereo do rotea-
dor, envia o pedido diretamente para o roteador. Se no conhecer, divulga a mensagem
publicamente. O roteador que est recebendo a mensagem de pedido de endereo de
mscara responde com uma mensagem de resposta de endereo de mscara, for-
necendo a mscara necessria para o host. Isso pode ser aplicado em seu endereo IP
completo para obter seu endereo de sub-rede.
O formato do pedido de mscara de endereo e da resposta de mscara de en-
dereo est mostrado na Figura 9.16. O campo de mscara de endereo preenchido
com zeros na mensagem de pedido. Quando o roteador envia a resposta de mscara de
endereo de volta para o host, esse campo contm a mscara real (valores 1 para netid
e subnetid e valores 0 para hostid).
SEO 9.4 CONSULTA 225

Figura 9.16 Formato da mensagem de pedido e resposta de mscara

17: Pedido
18: Resposta

Tipo: 17 ou 18 Cdigo: 0 Soma de verificao

Identificador Nmero de seqncia

Mscara de endereo

O mascaramento necessrio para estaes sem disco no momento da iniciali-


zao. Quando uma estao sem disco entra em ao pela primeira vez, pode solicitar
seu endereo IP completo usando o protocolo RARP (veja o Captulo 7); aps receber
seu endereo IP, ela pode usar o pedido e resposta de mscara de endereo para des-
cobrir qual parte do endereo define a sub-rede.
Outra maneira de obter informaes da mscara de sub-rede usando o protocolo
BOOTP, como veremos no Captulo 16.

Solicitao e anncio de roteador


Conforme discutimos na seo sobre mensagem de redirecionamento, um host que
queira enviar dados para um host em outra rede precisa conhecer o endereo de rotea-
dores conectados sua prpria rede. Alm disso, o host precisa saber se os roteadores
esto ativos e funcionando. As mensagens de solicitao e anncio de roteador
podem ajudar nessa situao. Um host pode publicar (ou multicast) uma mensagem
de solicitao de roteador. O roteador (ou roteadores) que recebe a mensagem de so-
licitao difunde publicamente suas informaes de roteamento usando a mensagem
de anncio de roteador. Um roteador tambm pode enviar mensagens de anncio de
roteador periodicamente, mesmo que nenhum host tenha solicitado. Note que, quando
um roteador envia um anncio, mostra no apenas sua prpria presena, mas tambm
a de todos os roteadores da rede que conhece. A Figura 9.17 mostra o formato da men-
sagem de solicitao de roteador.

Figura 9.17 Formato da mensagem de solicitao de roteador

Tipo: 10 Cdigo: 0 Soma de verificao

Identificador Nmero de seqncia

A Figura 9.18 mostra o formato da mensagem de anncio de roteador. O campo


tempo de vida mostra o nmero de segundos durante os quais as entradas so conside-
radas vlidas. Cada entrada de roteador no anncio contm pelo menos dois campos:
o endereo do roteador e o nvel de preferncia de endereo. O nvel de preferncia de
endereo define a classificao do roteador. Ele usado para selecionar um roteador
como padro. Se o nvel de preferncia de endereo for zero, esse roteador conside-
rado padro. Se o nvel de preferncia de endereo for 8000000016, o roteador nunca
deve ser selecionado como padro.
226 CAPTULO 9 ICMP (Internet Control Message Protocol)

Figura 9.18 Formato da mensagem de anncio de roteador

Tipo: 9 Cdigo: 0 Soma de verificao

Nmero de Tamanho da
Tempo de vida
endereos entrada de endereo

Endereo de roteador 1

Preferncia de endereo 1

Endereo de roteador 2

Preferncia de endereo 2

9.5 Soma de verificao


No Captulo 8, aprendemos o conceito e a noo de soma de verificao. No ICMP, a
soma de verificao calculada sobre a mensagem inteira (cabealho e dados).

Clculo da soma de verificao


O remetente segue estes passos, usando aritmtica de complemento de um:
1. O campo de soma de verificao configurado como zero.
2. A soma de todas as palavras de 16 bits (cabealho e dados) calculada.
3. A soma complementada para obter a soma de verificao.
4. A soma de verificao armazenada no campo correspondente.

Teste da soma de verificao


O receptor segue estes passos, usando aritmtica de complemento de um:
1. A soma de todas as palavras (cabealho e dados) calculada.
2. A soma complementada.
3. Se o resultado obtido no passo 2 for 16 vezes o nmero 0, a mensagem aceita;
caso contrrio, rejeitada.

Exemplo 1
A Figura 9.19 mostra um exemplo de clculo de soma de verificao para uma men-
sagem de pedido de eco simples (veja a Figura 9.14). Escolhemos o identificador
aleatoriamente como 1 e o nmero de seqncia como 9. A mensagem dividida em
palavras de 16 bits (2 bytes). As palavras so somadas e a soma complementada.
Agora, o remetente pode colocar esse valor no campo de soma de verificao.
SEO 9.6 FERRAMENTAS DE DEPURAO 227

Figura 9.19 Exemplo de clculo de soma de verificao

8 0 0
1 9
TESTE
8e0 00001000 00000000
0 00000000 00000000
1 00000000 00000001
9 00000000 00001001
TeE 01010100 01000101
SeT 01010011 01010100
Soma 10101111 10100011
Soma de verificao 01010000 01011100

9.6 Ferramentas de depurao


Existem vrias ferramentas que podem ser usadas na Internet para depurao. Pode-
mos descobrir se um host ou roteador est ativo e funcionando. Podemos investigar a
rota de um pacote. Apresentaremos duas ferramentas que usam ICMP para depurao:
ping e traceroute. Apresentaremos mais ferramentas em captulos futuros, aps ter-
mos discutido os protocolos correspondentes.

Ping
Podemos usar o programa ping para descobrir se um host est ativo e respondendo.
Usamos o programa ping no Captulo 8 para simular a opo de rota de registro. Discuti-
remos o programa ping com mais detalhes para vermos como ele utiliza pacotes ICMP.
O host de origem envia mensagens de pedido de eco ICMP (tipo: 8, cdigo: 0);
o destino, se estiver ativo, responde com mensagens de resposta de eco ICMP. O pro-
grama ping configura o campo de identificador na mensagem de pedido e resposta de
eco e inicia o nmero de seqncia em 0; esse nmero incrementado com 1 sempre
que uma nova mensagem enviada. Note que o programa ping pode calcular o tempo
de ida e volta. Ele insere o tempo de envio na seo de dados da mensagem. Quando o
pacote chega, ele subtrai o tempo da chegada do tempo da partida para obter o tempo
de ida e volta (RTT).

Exemplo 2
Usamos o programa ping para testar o servidor fhda.edu. O resultado est detalhado
a seguir:

$ ping fhda.edu
PING fhda.edu (153.18.8.1) 56 (84) bytes of data.
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=0 ttl=62 time=1.91 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=1 ttl=62 time=2.04 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=2 ttl=62 time=1.90 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=3 ttl=62 time=1.97 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=4 ttl=62 time=1.93 ms
228 CAPTULO 9 ICMP (Internet Control Message Protocol)

64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=5 ttl=62 time=2.00 ms


64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=6 ttl=62 time=1.94 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=7 ttl=62 time=1.94 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=8 ttl=62 time=1.97 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=9 ttl=62 time=1.89 ms
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=10 ttl=62 time=1.98 ms

--- fhda.edu ping statistics ---


11 packets transmitted, 11 received, 0% packet loss, time 10103 ms
rtt min/avg/max = 1.899/1.955/2.041 ms

O programa ping envia mensagens com nmeros de seqncia a partir de 0. Para


cada investigao, ele nos fornece o tempo RTT. O campo TTL (tempo de vida) no data-
grama IP que encapsula uma mensagem ICMP foi configurado como 62, o que significa
que o pacote no pode passar por mais de 62 hops. No incio, o programa ping define o
nmero de bytes de dados como 56 e o nmero total de bytes como 84. evidente que,
se somarmos 8 bytes do cabealho ICMP e 20 bytes do cabealho IP a 56, o resultado
ser 84. Entretanto, note que, a cada investigao, o programa ping define o nmero de
bytes como 64. Esse o nmero total de bytes no pacote ICMP (56 + 8).
O programa ping continua a enviar mensagens, se no o interrompermos usando
a tecla de interrupo (ctrl + c, por exemplo). Depois que interrompido, ele imprime
a estatstica das investigaes, que nos informa o nmero de pacotes enviados, o n-
mero de pacotes recebidos, o tempo total e o RTT mnimo, mximo e mdio. Alguns
sistemas podem imprimir mais informaes.

Exemplo 3
Para o segundo exemplo, queremos saber se o servidor de correio adelphia.net est
ativo e funcionando. O resultado est demonstrado a seguir:

$ ping mail.adelphia.net
PING mail.adelphia.net (68.168.78.100) 56 (84) bytes of data.
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=0 ttl=48 time=85.4 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=1 ttl=48 time=84.6 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=2 ttl=48 time=84.9 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=3 ttl=48 time=84.3 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=4 ttl=48 time=84.5 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=5 ttl=48 time=84.7 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=6 ttl=48 time=84.6 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=7 ttl=48 time=84.7 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=8 ttl=48 time=84.4 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=9 ttl=48 time=84.2 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=10 ttl=48 time=84.9 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=11 ttl=48 time=84.6 ms
64 bytes from mail adelphia.net (68.168.78.100): icmp_seq=12 ttl=48 time=84.5 ms

--- mail.adelphia.net ping statistics ---


14 packets transmitted, 13 received, 7% packet loss, time 13129 ms
rtt min/avg/mdev = 84.207/84.694/85.469
SEO 9.6 FERRAMENTAS DE DEPURAO 229

Note que, nesse caso, enviamos 14 pacotes, mas somente 13 retornaram. Pode-
ramos ter interrompido o programa antes que o ltimo pacote, com nmero de se-
qncia 13, fosse retornado.

Traceroute
O programa traceroute no Unix ou tracert no Windows pode ser usado para investigar
a rota de um pacote da origem at o destino. Vimos uma aplicao do programa tra-
ceroute para simular as opes de rota de origem livre e rota de origem restrita de um
datagrama IP, no captulo anterior. Neste captulo, usamos esse programa em conjunto
com pacotes ICMP.
O programa usa elegantemente duas mensagens ICMP, tempo excedido e destino
inacessvel, para descobrir a rota de um pacote. Esse um programa em nvel de apli-
cativo que usa os servios do UDP (veja o Captulo 11).
Vamos mostrar a idia do programa traceroute usando a Figura 9.20.

Figura 9.20 O funcionamento do programa traceroute

Host A Host B

R1 R2
Rede Rede Rede

Rede
Host C
Rede
R3

Dada a topologia, sabemos que um pacote do host A ao host B passa pelos rotea-
dores R1 e R2. Entretanto, na maioria das vezes, no conhecemos essa topologia. Po-
deria haver vrias rotas de A para B. O programa traceroute usa as mensagens ICMP
e o campo TTL (tempo de vida) do pacote IP para descobrir a rota.
1. O programa traceroute usa os passos a seguir, para descobrir o endereo do rote-
ador R1 e o tempo de ida e volta entre o host A e o roteador R1.
a. O aplicativo traceroute no host A envia um pacote ao destino B usando UDP; a
mensagem encapsulada em um pacote IP com um valor de TTL igual a 1. O
programa marca o tempo em que o pacote enviado.
b. O roteador R1 recebe o pacote e decrementa o valor de TTL para 0. Ento, ele
descarta o pacote (porque TTL 0). Entretanto, o roteador envia uma mensa-
gem de tempo excedido ICMP (tipo: 11; cdigo: 0) para mostrar que o valor de
TTL 0 e o pacote foi descartado.
c. O programa traceroute recebe as mensagens ICMP e usa o endereo de des-
tino do pacote IP encapsulando o ICMP para descobrir o endereo IP do
roteador R1.
230 CAPTULO 9 ICMP (Internet Control Message Protocol)

O programa tambm marca o tempo em que o pacote chegou. A diferena entre


esse tempo e o do passo A o tempo de ida e volta.
O programa traceroute repete os passos de A a C trs vezes, para obter um melhor
tempo mdio de ida e volta. O primeiro tempo de viagem pode ser muito maior do que
o segundo ou o terceiro, pois o programa ARP demora a descobrir o endereo fsico do
roteador R1. Para a segunda e a terceira viagens, o ARP tem o endereo em sua cache.
2. O programa traceroute repete os passos anteriores para descobrir o endereo do
roteador R2 e o tempo de ida e volta entre o host A e o roteador R2. Entretanto,
neste passo, o valor de TTL configurado como 2. Assim, o roteador R1 encami-
nha a mensagem, enquanto o roteador R2 a descarta e envia uma mensagem de
tempo excedido ICMP.
3. O programa traceroute repete o passo anterior para descobrir o endereo do host
B e o tempo de ida e volta entre o host A e o host B. Quando o host B recebe o
pacote, ele decrementa o valor de TTL, mas no descarta a mensagem, pois ela
chegou ao seu destino. Como uma mensagem ICMP pode ser enviada de volta
ao host A? O programa traceroute usa uma estratgia diferente aqui. A porta de
destino do pacote UDP definida como uma que no suportada pelo protocolo
UDP. Quando o host B recebe o pacote, no pode encontrar um programa aplica-
tivo para aceitar o envio. Ele descarta o pacote e envia uma mensagem ICMP de
destino inacessvel (tipo: 3; cdigo: 3) para o host A. Note que essa situao no
acontece no roteador R1 nem no R2, pois um roteador no verifica o cabealho
UDP. O programa traceroute registra o endereo de destino do datagrama IP que
chegou e toma nota do tempo de ida e volta. A recepo da mensagem de destino
inacessvel com o valor de cdigo 3 uma indicao de que a rota inteira foi en-
contrada e que no h necessidade de enviar mais pacotes.

Exemplo 4
Usamos o programa traceroute para descobrir a rota do computador voyager.deanza.
edu at o servidor fhda.edu. O resultado aparece a seguir:

$ traceroute fhda.edu
traceroute to fhda.edu (153.18.8.1), 30 hops max, 38 byte packets
1 Dcore.fhda.edu (153.18.31.254) 0.995 ms 0.899 ms 0.878 ms
2 Dbackup.fhda.edu (153.18.251.4) 1.039 ms 1.064 ms 1.083 ms
3 tiptoe.fhda.edu (153.18.8.1) 1.797 ms 1.642 ms 1.757 ms

A linha no-numerada aps o comando mostra que o destino 153.18.8.1. O va-


lor de TTL 30 hops. O pacote contm 38 bytes: 20 bytes de cabealho IP, 8 bytes de
cabealho UDP e 10 bytes de dados de aplicativo. Os dados de aplicativo so usados
pelo programa traceroute para monitorar os pacotes.
A primeira linha mostra o primeiro roteador visitado. O nome do roteador
Dcore.fhda.edu e seu endereo IP 153.18.31.254. O primeiro tempo de ida e volta
foi de 0,995 milissegundos, o segundo foi de 0,899 milissegundos e o terceiro foi de
0,878 milissegundos.
A segunda linha mostra o segundo roteador visitado. O nome do roteador
Dbackup.fhda.edu e seu endereo IP 153.18.251.4. Os trs tempos de ida e volta
tambm so mostrados.
SEO 9.6 FERRAMENTAS DE DEPURAO 231

A terceira linha mostra o host de destino. Sabemos que esse o host de destino
porque no existem mais linhas. O host de destino o servidor fhda.edu, mas ele
chamado de tiptoe.fhda.edu e seu endereo IP 153.18.8.1. Os trs tempos de ida e
volta tambm so mostrados.

Exemplo 5
Neste exemplo, ns traamos uma rota maior, a rota para xerox.com

Nesse exemplo, investigamos uma rota mais longa, a rota para xerox.com
$ traceroute xerox.com
traceroute to xerox.com (13.1.64.93), 30 hops max, 38 byte packets
1 Dcore.fhda.edu (153.18.31.254) 0.622 ms 0.891 ms 0.875 ms
2 Ddmz.fhda.edu (153.18.251.40) 2.132 ms 2.266 ms 2.094 ms
3 Cinic.fhda.edu (153.18.253.126) 2.110 ms 2.145 ms 1.763 ms
4 cenic.net (137.164.32.140) 3.069 ms 2.875 ms 2.930 ms
5 cenic.net (137.164.22.31) 4.205 ms 4.870 ms 4.197 ms
6 cenic.net (137.164.22.167) 4.250 ms 4.159 ms 4.078 ms
7 cogentco.com (38.112.6.225) 5.062 ms 4.825 ms 5.020 ms
8 cogentco.com (66.28.4.69) 6.070 ms 6.207 ms 5.653 ms
9 cogentco.com (66.28.4.94) 6.070 ms 5.928 ms 5.499 ms
10 cogentco.com (154.54.2.226) 6.545 ms 6.399 ms 6.535 ms
11 sbcglobal.net (151.164.89.241) 6.379 ms 6.370 ms 6.210 ms
12 sbcglobal.net (64.161.1.45) 6.908 ms 6.748 ms 7.359 ms
13 sbcglobal.net (64.161.1.29) 7.023 ms 7.040 ms 6.734 ms
14 snfc21.pbi.net (151.164.191.49) 7.656 ms 7.129 ms 6.866 ms
15 sbcglobal.net (151.164.243.58) 7.844 ms 7.545 ms 7.353 ms
16 pacbell.net (209.232.138.114) 9.857 ms 9.535 ms 9.603 ms
17 209.233.48.223 (209.233.48.223) 10.634 ms 10.771 ms 10.592 ms
18 alpha.Xerox.COM (13.1.64.93) 11.172 ms 11.048 ms 10.922 ms

Aqui existem 17 hops entre a origem e o destino. Note que alguns tempos de ida e
volta parecem incomuns. Pode ser que um roteador estava ocupado demais para pro-
cessar o pacote imediatamente.

Exemplo 6
Um ponto interessante que um host pode enviar um pacote traceroute para si mes-
mo. Isso pode ser feito especificando-se o host como destino. O pacote vai para o
endereo de retorno, conforme espervamos.

$ traceroute voyager.deanza.edu
traceroute to voyager.deanza.edu (127.0.0.1), 30 hops max, 38 byte packets
1 voyager (127.0.0.1) 0.178 ms 0.086 ms 0.055 ms

Exemplo 7
Por fim, usamos o programa traceroute para descobrir a rota entre fhda.edu e mhhe.com
(o servidor da McGraw-Hill). Observamos que no podemos descobrir a rota inteira.
Quando o programa traceroute no recebe uma resposta dentro de 5 segundos, ele im-
prime um asterisco para comunicar um problema e, ento, tenta o prximo hop.
232 CAPTULO 9 ICMP (Internet Control Message Protocol)

$ traceroute mhhe.com
traceroute to mhhe.com (198.45.24.104), 30 hops max, 38 byte packets
1 Dcore.fhda.edu (153.18.31.254) 1.025 ms 0.892 ms 0.880 ms
2 Ddmz.fhda.edu (153.18.251.40) 2.141 ms 2.159 ms 2.103 ms
3 Cinic.fhda.edu (153.18.253.126) 2.159 ms 2.050 ms 1.992 ms
4 cenic.net (137.164.32.140) 3.220 ms 2.929 ms 2.943 ms
5 cenic.net (137.164.22.59) 3.217 ms 2.998 ms 2.755 ms
6 SanJose1.net (209.247.159.109) 10.653 ms 10.639 ms 10.618 ms
7 SanJose2.net (64.159.2.1) 10.804 ms 10.798 ms 10.634 ms
8 Denver1.Level3.net (64.159.1.114) 43.404 ms 43.367 ms 43.414 ms
9 Denver2.Level3.net (4.68.112.162) 43.533 ms 43.290 ms 43.347 ms
10 unknown (64.156.40.134) 55.509 ms 55.462 ms 55.647 ms
11 mcleodusa1.net (64.198.100.2) 60.961 ms 55.681 ms 55.461 ms
12 mcleodusa2.net (64.198.101.202) 55.692 ms 55.617 ms 55.505 ms
13 mcleodusa3.net (64.198.101.142) 56.059 ms 55.623 ms 56.333 ms
14 mcleodusa4.net (209.253.101.178) 297.199 ms 192.790 ms 250.594 ms
15 eppg.com (198.45.24.246) 71.213 ms 70.536 ms 70.663 ms
16 * * *
17 * * *
...............

9.7 Pacote ICMP


Para darmos uma idia de como o ICMP pode manipular o envio e a recepo de mensa-
gens ICMP, apresentamos nossa verso de um pacote ICMP constitudo de dois mdulos:
um mdulo de entrada e um mdulo de sada. A Figura 9.21 mostra esses dois mdulos.

Figura 9.21 Pacote ICMP

Resultados de Mensagens de resposta Pedidos (de aplicativos) Pedidos


mensagens de erro enviadas enviadas para para enviar (do UDP ou TCP)
para protocolos processos que as solicitaram consultas para enviar mensagem de erro
Camadas
superiores

Mdulo de entrada ICMP Mdulo de sada

IP

Pacote ICMP Pacote ICMP Pacote ICMP Pedidos (do IP) para
(todos os tipos) (respostas e anncio) (pedidos, enviar mensagens
solicitao e erros) de erro

Mdulo de entrada
O mdulo de entrada manipula todas as mensagens ICMP recebidas. Ele ativado
quando um pacote ICMP enviado da camada IP. Se o pacote recebido for um pedido
ou uma solicitao, o mdulo cria uma resposta ou um anncio e envia.
SEO 9.7 PACOTE ICMP 233

Se o pacote recebido for uma mensagem de redirecionamento, o mdulo usa a


informao para atualizar a tabela de roteamento. Se o pacote recebido for uma men-
sagem de erro, o mdulo informa o protocolo sobre a situao que causou o erro.
O pseudocdigo est mostrado a seguir:

Mdulo de entrada
Recebe: um pacote ICMP da camada IP
1. Se (o tipo for qualquer um dos trs tipos de pedido)
1. Cria uma resposta.
2. Envia a resposta.
2. Se (o tipo for uma solicitao de roteador)
1. Se (a estao for um roteador)
1. Cria um anncio de roteador.
2. Envia o anncio.
3. Se (o tipo for uma das trs mensagens de resposta ou um anncio de
roteador)
1. Extrai as informaes da seo de dados do pacote.
2. Envia as informaes extradas para o processo que as solicitou.
4. Se (o tipo definir um redirecionamento)
1. Modifica a tabela de roteamento.
5. Se (o tipo definir uma mensagem de erro que no seja um redireciona-
mento)
1. Informa o protocolo de origem apropriado sobre a situao.
6. Retorna.

Mdulo de sada
O mdulo de sada responsvel por criar mensagens de pedido, solicitao ou erro
solicitadas por um protocolo de nvel mais alto ou pelo protocolo IP. O mdulo recebe
um pedido do IP, UDP ou TCP para enviar uma das mensagens de erro ICMP. Se o
pedido for do IP, o mdulo de sada precisa primeiro verificar se o pedido permitido.
Lembre-se de que uma mensagem ICMP no pode ser criada em quatro situaes: um
pacote IP que transporta uma mensagem de erro ICMP, um pacote IP fragmentado,
um pacote IP multicast ou um pacote IP com endereo IP 0.0.0.0 ou 127.X.Y.Z.
O mdulo de sada tambm pode receber um pedido de um programa aplicativo
para enviar uma das mensagens de pedido ou solicitao ICMP. O pseudocdigo est
mostrado a seguir:

Mdulo de sada
Recebe: uma demanda
1. Se (a demanda definir uma mensagem de erro)
1. Se (a demanda for do IP)
1. Se (a demanda for proibida)
1. Retorna.
234 CAPTULO 9 ICMP (Internet Control Message Protocol)

Mdulo de sada (continuao)


2. Se (o tipo definir uma mensagem de redirecionamento)
1. Se (a estao no for um roteador)
1. Retorna.
3. Cria a mensagem de erro usando o tipo, o cdigo e o pacote IP.
2. Se (a demanda definir um pedido ou uma solicitao)
1. Cria uma mensagem de pedido ou solicitao.
3. Envia a mensagem.
4. Retorna.

9.8 Termos-chave
ICMP (Internet Control Message Mensagens de consulta
Protocol) Protocolo de Mensagens Mensagens de pedido e resposta de eco
de Controle Internet
Mensagens de pedido e resposta de
Mensagem de destino inacessvel indicao de tempo
Mensagem de extino da origem Mensagens de relatrio de erro
Mensagem de pedido de endereo de Mensagens de solicitao e anncio de
mscara roteador
Mensagem de problema de parmetro Redirecionamento
Mensagem de resposta de endereo de Tempo de ida e volta (RTT)
mscara Traceroute
Mensagem de tempo excedido Tracert

9.9 Resumo
O ICMP (Internet Control Message Protocol) envia cinco tipos de mensagens de
relatrio de erro e quatro pares de mensagens de consulta para suportar o protocolo
IP (Internet Protocol) no-confivel e sem conexo.
As mensagens ICMP so encapsuladas em datagramas IP.
A mensagem de erro de destino inacessvel enviada para o host de origem quan-
do um datagrama no pode ser enviado.
A mensagem de erro de extino da origem enviada em um esforo para diminuir
o congestionamento.
A mensagem de tempo excedido notifica um host de origem de que o campo de
tempo de vida chegou a zero ou de que fragmentos de uma mensagem no chega-
ram durante um perodo de tempo definido.
A mensagem de problema de parmetro notifica um host de que h um problema
no campo de cabealho de um datagrama.
A mensagem de redirecionamento enviada para tornar a tabela de roteamento de
um host mais eficiente.
As mensagens de pedido e resposta de eco testam a conectividade entre dois sistemas.
SEO 9.10 CONJUNTO DE PRTICA 235

As mensagens de pedido e resposta de indicao de tempo podem determinar


o tempo de ida e volta (RTT) entre dois sistemas ou a diferena no tempo entre
dois sistemas.
As mensagens de pedido e resposta de mscara de endereo so usadas para obter
a mscara de sub-rede.
As mensagens de solicitao e anncio de roteador permitem aos hosts atualiza-
rem suas tabelas de roteamento.
A soma de verificao do ICMP calculada usando-se o cabealho e os campos de
dados da mensagem ICMP.
O programa ping (Packet InterNet Groper) um aplicativo que usa os servios do
ICMP para testar a acessibilidade de um host.
Um projeto de ICMP simples pode consistir em um mdulo de entrada que mani-
pula os pacotes ICMP recebidos e um mdulo de sada que manipula as exigncias
de servios ICMP.

9.10 Conjunto de prtica


Exerccios
1. O host A envia uma mensagem de pedido de indicao de tempo para o host B e
nunca recebe uma resposta. Discuta trs possveis causas e a ao a ser executada
correspondente.
2. Por que existe uma restrio na gerao de uma mensagem ICMP em resposta a
uma mensagem de erro ICMP falha?
3. O host A envia um datagrama ao host B. O host B nunca recebe o datagrama e o
host A nunca recebe notificao da falha. D duas explicaes diferentes do que
pode ter acontecido.
4. Qual o objetivo de incluir o cabealho IP e os primeiros 8 bytes de dados do
datagrama nas mensagens de relatrio de erro ICMP?
5. Qual o valor mximo do campo de ponteiro em uma mensagem de problema de
parmetro?
6. D um exemplo de uma situao na qual um host nunca receberia uma mensagem
de redirecionamento.
7. Faa uma tabela mostrando quais mensagens ICMP so enviadas por roteadores,
quais so enviadas por hosts que no so destinos e quais so enviadas pelos hosts
de destino.
8. O tempo de envio, o tempo de recepo ou o tempo de ida e volta calculado pode
ter um valor negativo? Por qu? D exemplos.
9. Por que o tempo em uma s direo para um pacote no apenas o tempo de ida
e volta dividido por dois?
10. Qual o tamanho mnimo de um pacote ICMP? Qual o tamanho mximo de um
pacote ICMP?
11. Qual o tamanho mnimo de um pacote IP que transporta um pacote ICMP? Qual
o tamanho mximo?
12. Qual o tamanho mnimo de um quadro Ethernet que transporta um pacote IP
que, por sua vez, transporta um pacote ICMP? Qual o tamanho mximo?
236 CAPTULO 9 ICMP (Internet Control Message Protocol)

13. Como podemos determinar se um pacote IP est transportando um pacote


ICMP?
14. Calcule a soma de verificao do seguinte pacote ICMP: tipo: pedido de eco;
identificador: 123; nmero de seqncia: 25; mensagem: Hello.
15. Um roteador recebe um pacote IP com endereo IP de origem 130.45.3.3 e en-
dereo IP de destino 201.23.4.6. O roteador no consegue encontrar o endereo
IP de destino em sua tabela de roteamento. Preencha os campos (o mximo que
puder) da mensagem ICMP enviada.
16. O TCP recebe um segmento com endereo de porta de destino 234. O TCP ve-
rifica e no consegue encontrar uma porta aberta para esse destino. Preencha os
campos da mensagem ICMP enviada.
17. Uma mensagem ICMP chegou com o cabealho (em hexadecimal):

03 0310 20 00 00 00 00

Qual o tipo da mensagem? Qual o cdigo? Qual o objetivo da mensagem?
18. Uma mensagem ICMP chegou com o cabealho (em hexadecimal):
05 00 11 12 11 0B 03 02

Qual o tipo da mensagem? Qual o cdigo? Qual o objetivo da mensagem?
Qual o valor dos ltimos 4 bytes? O que os ltimos bytes significam?
19. Um computador envia um pedido de indicao de tempo. Se seu relgio mostra
5:20:30 A.M. (Hora Universal), mostre as entradas da mensagem.
20. Repita o Exerccio 19 para a hora 3:40:30 P.M. (Hora Universal).
21. Um computador recebe um pedido de indicao de tempo de outro computador s
2:34:20 P.M. O valor da indicao de tempo original 52.453.000. Se o relgio
do remetente est 5 m atrasado, qual o tempo em uma s direo?
22. Um computador envia um pedido de indicao de tempo para outro computador.
Ele recebe a resposta de indicao de tempo correspondente a 3:46:07 A.M. Os
valores da indicao de tempo original, da indicao de tempo de recepo e
da indicao de tempo de transmisso so 13.560.000, 13.562.000 e 13.564.300,
respectivamente. Qual o tempo de viagem do envio? Qual o tempo de viagem
da recepo? Qual o tempo de ida e volta? Qual a diferena entre o relgio do
remetente e o relgio do receptor?
23. Se dois computadores esto afastados por 8 km, qual o tempo mnimo para que
uma mensagem v de um ao outro?

Atividades de pesquisa
24. Use o programa ping para testar seu prprio computador (retorno).
25. Use o programa ping para testar um host dentro do Brasil.
26. Use o programa ping para testar um host fora do Brasil.
27. Use traceroute (ou tracert) para descobrir a rota de seu computador at um com-
putador em uma faculdade ou universidade.
28. Mostre como voc pode descobrir o RTT entre dois roteadores usando o Exerccio 27.
29. Encontre os RFCs relacionados ao protocolo ICMP. Existe um RFC para cada tipo
de mensagem em particular?
SEO 10.3 O MODELO OSI 237

Captulo 10

IGMP (Internet Group Management


Protocol)

O protocolo IP pode estar envolvido em dois tipos de comunicao: unicast (de difu-
so no-seletiva) e multicast (difuso seletiva). A unicast a comunicao entre um
remetente e um receptor. uma comunicao de um para um. Entretanto, s vezes,
alguns processos precisam enviar a mesma mensagem para um grande nmero de re-
ceptores simultaneamente. Isso chamado de multicast, que uma comunicao de
um para muitos. A comunicao multicast tem muitas aplicaes. Por exemplo: v-
rios corretores podem ser informados simultaneamente de mudanas no preo de uma
ao, ou agentes de viagem podem ser informados do cancelamento de uma viagem.
Algumas outras aplicaes incluem aprendizado a distncia e vdeo sob demanda.
O IGMP (Internet Group Management Protocol) um dos protocolos neces-
srios, mas no suficientes (conforme veremos), envolvidos na comunicao multi-
cast. O IGMP um acompanhante do protocolo IP. A Figura 10.1 mostra a posio do
protocolo IGMP em relao aos outros protocolos na camada de rede.

Figura 10.1 Posio do IGMP na camada de rede

IGMP ICMP
Camada
de rede IP
ARP RARP

10.1 Gerenciamento de grupos


Para fazer comunicao multicast na Internet, precisamos de roteadores que sejam
capazes de direcionar pacotes multicast. As tabelas de roteamento desses roteadores
devem ser atualizadas usando-se um dos protocolos de roteamento multicast que dis-
cutiremos no Captulo 15.
O IGMP no um protocolo de roteamento multicast; ele um protocolo que
gerencia a participao como membro de um grupo. Em qualquer rede existem
237
238 CAPTULO 10 IGMP (Internet Group Management Protocol)

um ou mais roteadores multicast que distribuem pacotes multicast para hosts ou para
outros roteadores. O protocolo IGMP fornece aos roteadores multicast informaes
sobre o status da participao como membro de hosts (roteadores) conectados rede.
Um roteador multicast pode receber milhares de pacotes multicast todos os dias,
de grupos diferentes. Se um roteador no tem conhecimento sobre o status da partici-
pao como membro dos hosts, ele deve divulgar publicamente todos esses pacotes.
Isso gera muito trfego e consome largura de banda. Uma soluo melhor manter
uma lista de grupos na rede para os quais existe pelo menos um membro leal. O IGMP
ajuda o roteador multicast a criar e atualizar essa lista.

O IGMP um protocolo de gerenciamento de grupo. Ele ajuda um roteador multicast a


criar e atualizar uma lista de membros leais relacionada a cada interface do roteador.

10.2 Mensagens IGMP


O IGMP j passou por duas verses. Discutiremos o IGMPv2, a verso atual. O
IGMPv2 tem trs tipos de mensagens: a consulta, o relatrio de participao como
membro e o relatrio de desistncia. Existem dois tipos de mensagens de consulta:
geral e especial (veja a Figura 10.2).

Figura 10.2 Tipos de mensagem IGMP

IGMP
Mensagens

Relatrio de participao Relatrio de


Consulta
como membro desistncia

Geral Especial

Formato da mensagem
A Figura 10.3 mostra o formato de uma mensagem IGMP (verso 2).

Figura 10.3 Formato da mensagem IGMP

8 bits 8 bits 8 bits 8 bits

Tempo de
Tipo Soma de verificao
resposta mximo
Endereo de grupo nos relatrios de participao como membro e de desistncia e consulta especial; tudo 0 na consulta geral
SEO 10.3 Funcionamento do IGMP 239

Tipo. Esse campo de 8 bits define o tipo da mensagem, como mostrado na Tabela
10.1. O valor do tipo mostrado em notao hexadecimal e binria.
Tabela 10.1 Campo de tipo IGMP

Tipo Valor
Consulta geral ou especial 0x11 ou 00010001
Relatrio de participao como membro 0x16 ou 00010110
Relatrio de desistncia 0x17 ou 00010111

Tempo de resposta mximo. Esse campo de 8 bits define o perodo de tempo


durante o qual uma consulta deve ser respondida. O valor dado em dcimos de
segundo; por exemplo: se o valor for 100, significa 10 s. O valor diferente de 0 na
mensagem de consulta e configurado como 0 nos outros dois tipos de mensagem.
Veremos seu uso em breve.
Soma de verificao. Esse um campo de 16 bits que transporta a soma de verifi-
cao. A soma de verificao calculada sobre a mensagem de 8 bytes.
Endereo do grupo. O valor desse campo 0 para uma mensagem de consulta
geral. O valor define o groupid (endereo multicast do grupo) nas mensagens de
consulta especial, de relatrio de participao como membro e de relatrio de
desistncia.

10.3 Funcionamento do IGMP


O IGMP opera de forma local. Um roteador multicast conectado a uma rede tem uma
lista de endereos multicast dos grupos, com pelo menos um membro leal nessa rede
(veja a Figura 10.4).

Figura 10.4 Funcionamento do IGMP

Lista de grupos que


possuem membros leais
225.70.8.20
B Z 231.24.60.9
A

229.60.12.8
R
Rede Para outra rede

R1 R2

Para outras redes Para outra rede

Para cada grupo existe um roteador com a responsabilidade de distribuir os pa-


cotes multicast destinados a esse grupo. Isso significa que, se houver trs roteadores
multicast conectados a uma rede, suas listas de groupid sero mutuamente exclusivas.
240 CAPTULO 10 IGMP (Internet Group Management Protocol)

Por exemplo: na figura, apenas o roteador R distribui pacotes com o endereo multi-
cast 225.70.8.20.
Um host ou roteador multicast pode ter participao como membro em um grupo.
Quando um host tiver participao como membro, significa que um de seus proces-
sos (um programa aplicativo) recebe pacotes multicast de algum grupo. Quando um
roteador tiver participao como membro, significa que uma rede conectada a uma de
suas outras interfaces recebe esses pacotes multicast. Dizemos que o host ou o rotea-
dor tem interesse no grupo. Nos dois casos, o host e o roteador mantm uma lista de
groupids e transmitem seus interesses ao roteador de distribuio.
Por exemplo: na Figura 10.4, o roteador R o de distribuio. Existem dois ou-
tros roteadores multicast (R1 e R2) que, dependendo da lista de grupo mantida pelo
roteador R, poderiam ser os destinatrios do roteador R nessa rede. R1 e R2 podem ser
distribuidores para alguns desses grupos em outras redes, mas no nessa.

Ingresso em um grupo
Um host ou um roteador pode ingressar em um grupo. Um host mantm uma lista de
processos que participam como membro em um grupo. Quando um processo quer
ingressar em um novo grupo, ele envia seu pedido ao host. O host adiciona o nome
do processo e o nome do grupo solicitado em sua lista. Se essa for a primeira entrada
desse grupo em particular, o host envia uma mensagem de relatrio de participao
como membro. Se essa no for a primeira entrada, no h necessidade de enviar o
relatrio de participao como membro, pois o host j membro do grupo e j recebe
pacotes multicast dele.
Um roteador tambm mantm uma lista de groupids que mostra a participao
como membro das redes conectadas em cada interface. Quando h novo interesse em
um grupo para qualquer uma dessas interfaces, o roteador envia um relatrio de parti-
cipao como membro. Em outras palavras, um roteador atua como um host, mas sua
lista de grupos muito mais ampla, pois une todos os membros leais que esto conec-
tados a suas interfaces. Note que o relatrio de participao como membro enviado
de todas as interfaces, exceto daquela da qual vem o novo interesse.
A Figura 10.5 mostra um relatrio de participao como membro enviado por um
host ou por um roteador.

Figura 10.5Relatrio de participao como membro

Host ou roteador Relatrio de participao como membro


Roteador
0x16 0
Endereo de grupo

O protocolo exige que o relatrio de participao como membro seja enviado


duas vezes, um aps o outro, dentro de poucos instantes. Desse modo, se o primeiro
for perdido ou danificado, o segundo o substituir.

No IGMP, um relatrio de participao como membro


enviado duas vezes, um aps o outro.
SEO 10.3 Funcionamento do IGMP 241

Saindo de um grupo
Quando um host v que nenhum processo est interessado em um grupo especfico,
ele envia um relatrio de desistncia. Analogamente, quando um roteador v que ne-
nhuma das redes conectadas a suas interfaces est interessada em um grupo especfi-
co, ele envia um relatrio de desistncia sobre esse grupo.
Entretanto, quando um roteador multicast recebe um relatrio de desistncia, no
pode excluir esse grupo de sua lista imediatamente, pois o relatrio vem de apenas um
host ou roteador; pode haver outros hosts ou roteadores que ainda estejam interessa-
dos nesse grupo. Para certificar-se, o roteador envia uma mensagem de consulta espe-
cial e insere o groupid (endereo multicast) relacionado ao grupo. O roteador permite
um tempo determinado para a resposta de qualquer host ou roteador. Se durante esse
tempo nenhum interesse (relatrio de participao como membro) for recebido, o
roteador presumir que no existem membros leais na rede e excluir o grupo de sua
lista. A Figura 10.6 mostra o mecanismo de desistncia de um grupo.

Figura 10.6 Relatrio de desistncia

Host ou roteador Relatrio de desistncia


Roteador
0x17 0
Endereo de grupo

Host ou roteador Consulta especial


Roteador
0x11 100
Endereo de grupo

Host ou roteador Relatrio de participao como membro


Roteador
0x16 0
Endereo de grupo

Ou
Host ou roteador
Roteador
Nenhuma resposta

Monitorando a participao como membro


Um host ou roteador pode ingressar em um grupo enviando uma mensagem de re-
latrio de participao como membro. Eles podem sair de um grupo enviando uma
mensagem de relatrio de desistncia. Entretanto, no suficiente enviar esses dois
tipos de relatrios. Considere a situao na qual existe apenas um host interessado em
um grupo, mas ele desligado ou removido do sistema. O roteador multicast nunca
receber um relatrio de desistncia. Como isso tratado? O roteador multicast
responsvel por monitorar todos os hosts ou roteadores em uma rede local para ver se
eles querem continuar sua participao como membros de um grupo.
242 CAPTULO 10 IGMP (Internet Group Management Protocol)

O roteador envia periodicamente (por padro, a cada 125 s) uma mensagem de


consulta geral. Nessa mensagem, o campo de endereo de grupo configurado como
0.0.0.0. Isso significa que a consulta da continuao da participao como membro
serve para todos os grupos nos quais um host esteja envolvido e no apenas um.

A mensagem de consulta geral no define um grupo em particular.

O roteador espera uma resposta de cada grupo de sua lista; at grupos novos
podem responder. A mensagem de consulta tem um tempo de resposta mximo de 10 s
(na verdade, o valor do campo 100, mas isso em dcimos de segundo). Quando
um host ou roteador recebe a mensagem de consulta geral, responde com um relatrio
de participao como membro, caso esteja interessado em um grupo. Entretanto, se
houver um interesse comum (dois hosts, por exemplo, esto interessados no mesmo
grupo), apenas uma resposta enviada para esse grupo para evitar trfego desneces-
srio. Isso chamado de resposta adiada e ser discutido na prxima seo. Note
que a mensagem de consulta deve ser enviada por apenas um roteador (normalmente
chamado de roteador de consulta), tambm para evitar trfego desnecessrio. Discuti-
remos essa questo em breve. A Figura 10.7 mostra o mecanismo de consulta.

Figura 10.7 Mensagem de consulta geral

Host ou Roteador Consulta Geral


Roteador
0x11 100
0.0.0.0

Host ou Roteador Relatrio de Participao como Membro


Roteador
0x16 0
Endereo de grupo

Ou
Host ou Roteador
Roteador
Nenhuma Resposta

Resposta adiada
Para evitar trfego desnecessrio, o IGMP usa uma estratgia de resposta adiada.
Quando um host ou roteador recebe uma mensagem de consulta, no responde ime-
diatamente; ele atrasa a resposta. Cada host ou roteador usa um nmero aleatrio para
criar um cronmetro, que expira entre 1 segundo e 10 segundos. O tempo de expira-
o pode ser em passos de 1 segundo ou menos. Um cronmetro configurado para
cada grupo da lista. Por exemplo: o cronmetro do primeiro grupo pode expirar em 2
segundos, mas o do terceiro grupo pode expirar em 5 segundos. Cada host ou roteador
espera at que seu cronmetro tenha expirado para enviar uma mensagem de relatrio
de participao como membro. Durante esse tempo de espera, se o cronmetro de ou-
tro host ou roteador do mesmo grupo expirar, esse host ou roteador enviar um
SEO 10.3 Funcionamento do IGMP 243

relatrio de participao como membro. Como (conforme veremos em breve) o relatrio


divulgado publicamente, o host ou roteador que est esperando recebe o relatrio e sabe
que no h necessidade de enviar um relatrio duplicado para esse grupo; assim, a
estao que est esperando cancela seu cronmetro correspondente.

Exemplo 1
Imagine que existam trs hosts em uma rede, como se v na Figura 10.8.

Figura 10.8 Exemplo 1

Grupo Cronmetro Grupo Cronmetro Grupo Cronmetro


225.14.0.0 30 228.42.0.0 48 225.14.0.0 62
228.42.0.0 12 238.71.0.0 50 230.43.0.0 70
230.43.0.0 80
Para outras redes
A B C

Uma mensagem de consulta foi recebida no tempo 0; o tempo de atraso aleatrio


(em dcimos de segundo) de cada grupo mostrado ao lado do endereo do grupo.
Mostre a seqncia de mensagens de relatrio.

Soluo
Os eventos ocorrem nesta seqncia:
a. Tempo 12: O cronmetro de 228.42.0.0 no host A expira e enviado um relat-
rio de participao como membro, que recebido pelo roteador e por todos os
hosts, incluindo o host B, que cancela seu cronmetro para 228.42.0.0.
b. T empo 30: O cronmetro de 225.14.0.0 no host A expira e enviado um relatrio
de participao como membro, que recebido pelo roteador e por todos os hosts,
incluindo o host C, que cancela seu cronmetro para 225.14.0.0.
c. Tempo 50: O cronmetro de 238.71.0.0 no host B expira e enviado um relat-
rio de participao como membro, que recebido pelo roteador e por todos os
hosts.
d. Tempo 70: O cronmetro de 230.43.0.0 no host C expira e enviado um relatrio
de participao como membro, que recebido pelo roteador e por todos os hosts,
incluindo o host A, que cancela seu cronmetro para 230.43.0.0.
Note que, se cada host tivesse enviado um relatrio para cada grupo de sua lista, ha-
veria sete relatos; com essa estratgia, apenas quatro so enviados.

Roteador de consulta
As mensagens de consulta podem gerar muitas respostas. Para evitar trfego desne-
cessrio, o IGMP designa um roteador como roteador de consulta para cada rede.
Somente esse roteador designado envia a mensagem de consulta; os outros roteadores
so passivos (eles recebem respostas e atualizam suas listas).
244 CAPTULO 10 IGMP (Internet Group Management Protocol)

10.4 Encapsulamento
A mensagem IGMP encapsulada em um datagrama IP; depois disso, ele prprio
encapsulado em um frame. Veja a Figura 10.9.

Figura 10.9 Encapsulamento de pacote IGMP

8 bytes
Mensagem
IGMP

Cabealho Dados
IP IP

Cabealho Dados do Trailer


do frame frame (se houver)

Existem vrios problemas relacionados ao encapsulamento que precisamos


discutir aqui. Primeiro, discutiremos o problema no nvel IP e depois na camada de
enlace de dados.

Camada IP
Na camada IP, trs campos nos interessam: o campo de protocolo, o campo de TTL e
o endereo IP de destino.

Campo de protocolo
O valor do campo de protocolo 2 para o protocolo IGMP. Todo pacote IP que trans-
porta esse valor em seu campo de protocolo tem dados enviados para o protocolo
IGMP.

O pacote IP que transporta um pacote IGMP tem o valor 2 em seu campo de protocolo.

Campo de TTL
Quando a mensagem encapsulada no datagrama IP, o valor de TTL deve ser igual a
1. Isso necessrio porque o domnio do IGMP a rede local. Nenhuma mensagem
IGMP deve viajar alm da rede local. Um valor de TTL igual a 1 garante que a men-
sagem no deixe a rede local, pois esse valor decrementado para zero pelo prximo
roteador e, conseqentemente, o pacote descartado.

O pacote IP que transporta um pacote IGMP tem o valor 1 em seu campo de TTL.
SEO 10.4 Encapsulamento 245

Endereos IP de destino
A Tabela 10.2 mostra o endereo IP de destino para cada tipo de mensagem.

Tabela 10.2 Endereos IP de destino


Tipo Endereo IP de destino
Consulta 224.0.0.1 Todos os sistemas nessa sub-rede
Relatrio de participao O endereo multicast do grupo
como membro
Relatrio de desistncia 224.0.0.2 Todos os roteadores nessa sub-rede

Uma mensagem de consulta difundida seletivamente, usando o endereo mul-


ticast 224.0.0.1 (todos os sistemas nessa sub-rede; consulte a Tabela 4.5 no Captulo 4).
Todos os hosts e roteadores recebero a mensagem.
Um relatrio de participao como membro difundido seletivamente usando
um endereo de destino igual ao endereo multicast que est sendo relatado (groupid).
Toda estao (host ou roteador) que recebe o pacote pode determinar imediatamente
(a partir do cabealho) o grupo para o qual um relatrio foi enviado. Conforme discu-
tido anteriormente, os cronmetros dos relatos no enviados correspondentes podem,
ento, ser cancelados. As estaes no precisam abrir o pacote para descobrir o grou-
pid. Esse endereo duplicado em um pacote; ele faz parte da prpria mensagem e
tambm de um campo no cabealho IP. A duplicao evita erros.
Uma mensagem de relatrio de desistncia difundida seletivamente usando o endere-
o multicast 224.0.0.2 (todos os roteadores nessa sub-rede), de modo que os roteadores rece-
bam esse tipo de mensagem. Os hosts tambm recebem essa mensagem, mas a desprezam.

Camada de enlace de dados


Na camada de rede, a mensagem IGMP encapsulada em um pacote IP e tratada como
um pacote IP. Entretanto, como o pacote IP tem um endereo IP multicast, o protocolo
ARP no pode encontrar o endereo MAC (fsico) correspondente para encaminhar o
pacote na camada de enlace de dados. O que acontece em seguida depende de a camada
de enlace de dados subjacente suportar endereos multicast fsicos ou no.

Suporte para endereo fsico multicast


A maioria das redes locais suporta endereamento multicast fsico. A Ether-
net uma delas. Um endereo fsico Ethernet (endereo MAC) tem seis octetos
(48 bits) de comprimento. Se os primeiros 25 bits de um endereo Ethernet so
0000000100000000010111100, eles identificam um endereo multicast fsico para o
protocolo TCP/IP. Os 23 bits restantes podem ser usados para definir um grupo. Para
converter um endereo IP multicast em um endereo Ethernet, o roteador multicast
extrai os 23 bits menos significativos de um endereo IP de classe D e os insere em
um endereo fsico multicast Ethernet (veja a Figura 10.10).
Entretanto, o identificador de grupo de um endereo IP de classe D tem 28 bits
de comprimento, o que implica que 5 bits no so usados. Isso significa que 32 (25)
endereos multicast no nvel IP so mapeados em um nico endereo multicast. Em
outras palavras, o mapeamento de muitos para um, em vez de um para um. Se os 5
bits mais esquerda do identificador de grupo de um endereo de classe D no forem
todos 0, um host poder receber pacotes que, na verdade, no pertencem ao grupo no
246 CAPTULO 10 IGMP (Internet Group Management Protocol)

Figura 10.10 Mapeamento de endereo de classe D em endereo fsico Ethernet

Endereo de classe D de 32 bits

1110 23 bits do endereo multicast

5 bits no utilizados

0000000100000000010111100 23 bits do endereo fsico

Endereo Ethernet de 48 bits

qual est envolvido. Por isso, o host precisa verificar o endereo IP e descartar todos
os pacotes que no pertencem a ele.
Outras redes locais suportam o mesmo conceito, mas tm mtodos de mapea-
mento diferentes.

Um endereo fsico multicast Ethernet est no intervalo de


01:00:5E:00:00:00 a 01:00:5E:7F:FF:FF.

Exemplo 2
Mude o endereo IP multicast 230.43.14.7 para um endereo fsico multicast Ethernet.
Soluo
Podemos fazer isso em duas etapas:
a. Escrevemos os 23 bits mais direita do endereo IP em hexadecimal. Isso
pode ser feito alterando-se os 3 bytes mais direita para hexadecimal e, ento,
subtraindo 8 do dgito mais esquerda, se for maior ou igual a 8. Em nosso
exemplo, o resultado 2B:0E:07.
b. Somamos o resultado acima ao endereo multicast Ethernet inicial, que
01:00:5E:00:00:00. O resultado
01:00:5E:2B:0E:07

Exemplo 3
Mude o endereo IP multicast 238.212.24.9 para um endereo multicast Ethernet.
Soluo
a. Os trs bytes mais direita em hexadecimal so D4:18:09. Precisamos subtrair
8 do dgito mais esquerda, resultando em 54:18:09.
b. Somamos o resultado acima ao endereo multicast Ethernet inicial. O resultado

01:00:5E:54:18:09

Nenhum suporte para difuso multicast fsica


A maioria das redes remotas no suporta endereamento multicast fsico. Para enviar um
pacote multicast por essas redes, usado um processo chamado de uso de envelope. Com
SEO 10.5 Pacote IGMP 247

o uso de envelope, o pacote multicast encapsulado em um pacote unicast e enviado pela


rede, surgindo do outro lado como um pacote multicast (veja a Figura 10.11).

Figura 10.11 Uso de envelope

Datagrama IP multicast

Cabealho Dados

Cabealho Dados
Datagrama IP unicast

Utilitrio Netstat
Usamos o utilitrio netstat em captulos anteriores. Nesta seo, ele ser utilizado para
descobrir os endereos multicast com suporte por uma interface.

Exemplo 4
Usamos netstat com trs opes: -n, -r e -a. A opo -n fornece as verses numricas
dos endereos IP; a opo -r fornece a tabela de roteamento e a opo -a fornece todos
os endereos (unicast e multicast). Note que mostramos apenas os campos relativos
nossa discusso.

$ netstat -nra
Kernel IP routing table
Destination Gateway Mask Flags Iface
153.18.16.0 0.0.0.0 255.255.240.0 U eth0
169.254.0.0 0.0.0.0 255.255.0.0 U eth0
127.0.0.0 0.0.0.0 255.0.0.0 U lo
224.0.0.0 0.0.0.0 224.0.0.0 U eth0
0.0.0.0 153.18.31.254 0.0.0.0 UG eth0

Note que o endereo multicast est em negrito. Todo pacote com endereo multi-
cast de 224.0.0.0 a 239.255.255.255 mascarado e enviado para a interface Ethernet.

10.5 Pacote IGMP


Podemos mostrar como o IGMP pode tratar do envio e da recepo de pacotes IGMP
por meio de nossa verso simplificada de pacote IGMP.
O pacote mostra apenas os mdulos usados em um host IGMP. O roteador IGMP
deixado como exerccio. Em nosso projeto, um pacote IGMP envolve uma tabela
de grupos, um conjunto de cronmetros e quatro mdulos de software: um mdulo de
ingresso no grupo, um mdulo de desistncia do grupo, um mdulo de entrada e um
mdulo de sada. A Figura 10.12 mostra esses seis componentes e suas interaes.
248 CAPTULO 10 IGMP (Internet Group Management Protocol)

Figura 10.12 Pacote IGMP

Camada de aplicativo
Um pedido para Um pedido para
ingressar em um grupo sair de um grupo

I
G
M Mdulo de Mdulo de
P ingresso no grupo desistncia do grupo

Tabela
Cronmetros
de grupos

Mdulo Mdulo
de entrada de sada

Camada IP
Pacote IGMP Pacote
(consulta ou relatrio) IGMP (relatrio)

Tabela de grupos
A tabela de grupos fornece informaes sobre um endereo multicast que tenha pelo
menos um processo como membro. A tabela tem quatro campos: estado, nmero da
interface, endereo do grupo e contagem de referncia (veja a Figura 10.13).

Figura 10.13 Tabela de grupos

Estado N da interface Endereo do grupo Contagem de referncia

Estado. Esse campo define o estado da entrada. Ele pode ter um dos seguintes
valores: LIVRE, ATRASANDO ou OCIOSO. Se o estado for LIVRE, no resta
nenhum processo no grupo. Se o estado for ATRASANDO, um relatrio deve ser
SEO 10.5 Pacote IGMP 249

enviado para essa entrada quando o cronmetro expirar. Se o estado for OCIOSO,
no h nenhum cronmetro ativado para essa entrada.
Nmero da interface. Esse campo define a interface por meio da qual o pacote
multicast enviado e recebido.
Endereo do grupo. Esse o endereo multicast que define o grupo.
Contagem de referncia. Esse o nmero de processos que ainda esto interessa-
dos no grupo. Sempre que um processo ingressa no grupo, a contagem de referncia
incrementada. Sempre que um processo sai do grupo, a contagem de referncia
decrementada. Quando esse valor for 0, o estado alterado para LIVRE.

Cronmetros
Cada entrada no estado ATRASANDO na tabela tem um cronmetro para governar o
envio de relatrio. Cada cronmetro tem um tempo de expirao selecionado aleato-
riamente para impedir uma rajada de gerao de relatrio. Quando um tempo de expi-
rao termina, um sinal vai para o mdulo de sada, que, ento, gera um relatrio.

Mdulo de ingresso no grupo


Um processo que queira ingressar em um grupo ativa esse mdulo. O mdulo pesqui-
sa a tabela de grupos para encontrar uma entrada com o mesmo endereo multicast.
Se encontrar, o mdulo incrementa a contagem de referncia para mostrar que mais
um processo ingressou nesse grupo. Se o endereo multicast no for encontrado, o
mdulo cria uma nova entrada e ajusta a contagem de referncia para 1. Nesse caso,
o mdulo se comunica com o mdulo de sada e com a camada de enlace de dados.
Ele informa ao mdulo de sada para que envie um relatrio de participao como
membro e camada de enlace de dados para que atualize sua tabela de configurao
para que esse tipo de pacote multicast possa ser recebido.

Mdulo de ingresso no grupo


Recebe: um pedido de um processo para ingressar em um grupo
1. Procura a entrada correspondente na tabela.
2. Se (encontrou)
1. Incrementa a contagem de referncia.
3. Se (no encontrou)
1. Cria uma entrada com a contagem de referncia ajustada para 1.
2. Adiciona a entrada na tabela.
3. Solicita um relatrio de participao como membro do mdulo de
sada.
4. Diz camada de enlace de dados para que atualize sua tabela de
configurao.
4. Retorna.

Mdulo de desistncia do grupo


Um processo que queira sair de um grupo ativa esse mdulo. O mdulo pesquisa a
tabela de grupos para encontrar uma entrada com o mesmo endereo multicast. Se
encontrar, o mdulo decrementa a contagem de referncia. Se a contagem for zero, o
estado alterado para LIVRE e um relatrio de desistncia enviado.
250 CAPTULO 10 IGMP (Internet Group Management Protocol)

Mdulo de desistncia do grupo


Recebe: um pedido de um processo para sair de um grupo
1. Procura a entrada correspondente na tabela.
2. Se (encontrou)
1. Decrementa a contagem de referncia.
2. Se (contagem de referncia for zero)
1. Se (qualquer cronmetro para essa entrada)
1. Cancela o cronmetro.
2. Muda o estado para LIVRE.
3. Solicita um relatrio de desistncia do mdulo de sada.
3. Retorna.

Mdulo de entrada
O mdulo de entrada ativado por uma mensagem IGMP. Se a mensagem for uma
consulta, o mdulo inicia um cronmetro para cada entrada da tabela de grupos com
o estado OCIOSO e altera o estado para ATRASANDO. Para isso, o mdulo gera
um nmero aleatrio entre 0 e o tempo de atraso mximo e cria um cronmetro com
o tempo de expirao igual a esse nmero aleatrio. A gerao do nmero aleatrio
necessria para que relatrios sejam enviados pelo mdulo de sada em diferentes
momentos, para evitar congestionamento.
Se a mensagem recebida for um relatrio de participao como membro, o m-
dulo procura uma entrada correspondente em sua tabela. Se encontrar e o estado for
ATRASANDO, significa que outro host na rede enviou um relatrio de participao
como membro para esse grupo e no h necessidade de esse host enviar outro relat-
rio. O mdulo cancela o cronmetro e altera o estado para OCIOSO. Lembre-se de
que os hosts no recebem relatrios de desistncia.

Mdulo de entrada
Recebe: uma mensagem IGMP
1. Verifica o tipo da mensagem.
2. Se (consulta)
1. Inicia um cronmetro para cada entrada da tabela com o esta-
do OCIOSO.
2. Altera cada estado OCIOSO para o estado ATRASANDO.
3. Retorna.
3. Se (relatrio de participao como membro)
1. Procura a entrada correspondente na tabela.
2. Se (encontrou e o estado for ATRASANDO)
1. Cancela o cronmetro dessa entrada.
2. Altera o estado para OCIOSO.
4. Retorna.
SEO 10.7 Resumo 251

Mdulo de sada
O mdulo de sada ativado por um cronmetro expirado ou por um pedido de in-
gresso em grupo ou sada de um grupo. Ento, ele procura a entrada correspondente e,
se o estado for ATRASANDO, o mdulo cria um relatrio e o envia. Em seguida, ele
redefine o estado como OCIOSO.
Mdulo de sada
Recebe: um sinal de um cronmetro ou um pedido do mdulo de
ingresso ou de desistncia.
1. Se a mensagem vier de um cronmetro.
1. Se (encontrou e o estado for ATRASANDO)
1. Cria um relatrio de participao como membro.
2. Redefine o estado para OCIOSO.
2. Se a mensagem vier do mdulo de ingresso no grupo.
1. Cria um relatrio de participao como membro.
3. Se a mensagem vier do mdulo de desistncia do grupo.
1. Cria um relatrio de desistncia.
4. Envia a mensagem.
5. Retorna.

10.6 Termos-chave
Comunicao multicast Mensagem de consulta especial
Encapsulamento Mensagem de consulta geral
Endereo multicast Participao como membro de um grupo
Estratgia de resposta adiada Relatrio de desistncia

Groupid Relatrio de participao como membro

IGMP (Internet Group Management Roteador de consulta


Protocol) Roteadores multicast
Mensagens de consulta Uso de envelope

10.7 Resumo
Comunicao multicast o envio da mesma mensagem para mais de um receptor
simultaneamente.
O IGMP (Internet Group Management Protocol) ajuda os roteadores multicast a criar
e atualizar uma lista de membros leais relacionados a uma interface do roteador.
Os trs tipos de mensagem IGMP so: a mensagem de consulta, o relatrio de
participao como membro e o relatrio de desistncia.
O IGMP opera de forma local.
Um host ou roteador pode ter participao como membro em um grupo.
252 CAPTULO 10 IGMP (Internet Group Management Protocol)

Um host mantm uma lista de processos que tm participao como membro em


um grupo.
Um roteador mantm uma lista de groupids que mostram a participao como
membro de grupo de cada interface.
Um roteador ou host envia um relatrio de participao como membro para ingres-
sar em um grupo.
Um roteador ou host envia um relatrio de desistncia para sair de um grupo.
Um roteador envia uma mensagem de consulta geral para monitorar a participao
como membro de grupo.
A estratgia de resposta adiada evita trfego desnecessrio em uma rede local.
A mensagem IGMP encapsulada em um datagrama IP.
A maioria das redes locais, incluindo a Ethernet, suporta endereamento fsico
multicast.
As redes remotas que no suportam endereamento fsico multicast podem usar
um processo chamado de uso de envelope, para enviar pacotes multicast.
Um pacote IGMP pode consistir em uma tabela de grupos de host, um conjunto de
cronmetros e quatro mdulos de software: um mdulo de entrada, um mdulo de
sada, um mdulo de ingresso no grupo e um mdulo de desistncia do grupo.

10.8 Conjunto de prtica


Exerccios
1. Por que no h necessidade de a mensagem IGMP sair de sua prpria rede?
2. A lista de um roteador multicast contm quatro grupos (W, X, Y e Z). Existem
trs hosts na rede local. O host A tem trs membros leais pertencentes ao grupo
W e um membro leal pertencente ao grupo X. O host B tem dois membros leais
pertencentes ao grupo W e um membro leal pertencente ao grupo Y. O host C
no tem processos pertencentes a nenhum grupo. Mostre as mensagens IGMP
envolvidas no monitoramento.
3. Um endereo multicast de um grupo 231.24.60.9. Qual seu endereo Ethernet
de 48 bits para uma rede local usando TCP/IP?
4. Se um roteador tem 20 entradas em sua tabela de grupos, ele deve enviar periodi-
camente 20 consultas diferentes ou apenas uma? Explique sua resposta.
5. Se um host quer continuar a participar como membro de cinco grupos, ele deve
enviar cinco mensagens diferentes de relatrio de participao como membro
ou apenas uma?
6. Um roteador com endereo IP 202.45.33.21 e endereo Ethernet fsico
23:4A:45:12:EC:D1 envia uma mensagem IGMP de consulta geral. Mostre todas
as entradas na mensagem.
7. Encapsule a mensagem do Exerccio 6 em um pacote IP. Preencha todos os campos.
8. Encapsule a mensagem do Exerccio 7 em um frame Ethernet. Preencha todos os
campos.
9. Um host com endereo IP 124.15.13.1 e endereo Ethernet fsico 4A:22:45:
12:E1:E2 envia uma mensagem IGMP de relatrio de participao como membro
sobre o groupid 228.45.23.11. Mostre todas as entradas na mensagem.
10. Encapsule a mensagem do Exerccio 9 em um pacote IP. Preencha todos os campos.
SEO 10.8 Conjunto de prtica 253

11. Encapsule a mensagem do Exerccio 10 em um frame Ethernet. Preencha todos os


campos.
12. Um roteador em uma rede Ethernet recebeu um pacote multicast IP com groupid
226.17.18.4. Quando o host verifica sua tabela de grupos multicast, encontra esse
endereo.
Mostre como o roteador envia esse pacote para os destinatrios, encapsulando
o pacote IP em um frame Ethernet. Mostre todas as entradas do frame Ethernet.
O endereo IP de sada do roteador 185.23.5.6 e seu endereo fsico de sada
4A224512E1E2. O roteador precisa dos servios do ARP?
13. E se o roteador do Exerccio 12 no puder encontrar o groupid em sua tabela?
14. Refaa o Exerccio 12 com uma rede fsica que no suporte endereamento mul-
ticast fsico.
15. Um host com endereo IP 114.45.7.9 recebe uma consulta IGMP. Quando verifica sua
tabela de grupos, no encontra nenhuma entrada. Que ao o host deve executar? Ele
deve enviar alguma mensagem? Se assim for, mostre os campos do pacote.
16. Um host com endereo IP 222.5.7.19 recebe uma consulta IGMP. Quando verifica
sua tabela de roteamento, encontra duas entradas: 227.4.3.7 e 229.45.6.23. Que
ao o host deve executar? Ele deve enviar alguma mensagem? Se assim for, de
que tipo e quantas? Mostre os campos.
17. Um host com endereo IP 186.4.77.9 recebe um pedido de um processo para ingres-
sar em um grupo com groupid 230.44.101.34. Quando o host verifica sua tabela de
grupos, no encontra uma entrada para esse groupid. Que ao o host deve execu-
tar? Ele deve enviar alguma mensagem? Se assim for, mostre o campo do pacote.
18. Refaa o Exerccio 17 com o host encontrando uma entrada em sua tabela.
19. Um roteador com endereo IP 184.4.7.9 recebe um relatrio de um host que dese-
ja ingressar em um grupo com groupid 232.54.10.34. Quando o roteador verifica
sua tabela de grupos, no encontra uma entrada para esse groupid. Que ao o
roteador deve executar? Ele deve enviar alguma mensagem? Se assim for, mostre
os campos do pacote.
20. Refaa o Exerccio 19 com o roteador encontrando uma entrada em sua tabela.
21. Um roteador envia uma consulta e recebe apenas trs relatos sobre os groupids
225.4.6.7, 225.32.56.8 e 226.34.12.9. Quando ele verifica sua tabela de roteamen-
to, encontra cinco entradas: 225.4.6.7, 225.11.6.8, 226.34.12.9, 226.23.22.67 e
229.12.4.89. Que ao deve ser executada?
22. O contedo de uma mensagem IGMP em notao hexadecimal :

11 00 EE FF 00 00 00 00

Responda s perguntas a seguir:


a. Qual o tipo?
b. Qual a soma de verificao?
c. Qual o groupid?
23. O contedo de uma mensagem IGMP em notao hexadecimal :

16 00 F9 C0 E1 2A 13 14

Responda s perguntas a seguir:


a. Qual o tipo?
b. Qual a soma de verificao?
c. Qual o groupid?
254 CAPTULO 10 IGMP (Internet Group Management Protocol)

24. H um erro na representao hexadecimal de uma mensagem IGMP?


11 00 A0 11 E1 2A 13 14

25. H um erro na representao hexadecimal de uma mensagem IGMP?


17 00 A0 11 00 00 00 00

26. Quantos endereos multicast podem ser suportados pelo protocolo IP na Ethernet?
27. Quantos endereos multicast podem ser suportados pelo protocolo IP?
28. Qual o tamanho do espao de endereos perdido quando transformamos um
endereo IP multicast em um endereo multicast Ethernet?
29. Mude os endereos IP multicast a seguir para endereos multicast Ethernet. Quan-
tos deles especificam o mesmo endereo Ethernet?
a. 224.18.72.8
b. 235.18.72.8
c. 237.18.6.88
d. 224.88.12.8

Atividades de pesquisa
30. Modifique o pacote IGMP no texto para que tambm seja aplicvel a um rotea-
dor.
31. Faa algumas pesquisas sobre IGMPv1. Qual o tamanho do campo de tipo? H
algum campo na primeira verso que no esteja na segunda? As verses 1 e 2 so
compatveis? Se um roteador que suporta a verso 2 recebe uma mensagem na
verso 1, o que pode ser feito? Se um roteador que suporta a verso 1 recebe uma
mensagem na verso 2, o que pode ser feito?
32. Use netstat para descobrir se seu servidor suporta endereamento multicast.
33. Encontre os RFCs relacionados aos protocolos IGMP.
SEO 11.1 O MODELO OSI 255

Captulo 11

UDP
(User Datagram Protocol)
O conjunto de protocolos TCP/IP original especifica dois protocolos para a camada
de transporte: UDP e TCP. Enfocaremos primeiro o UDP, o mais simples dos dois.
Na seqncia, discutiremos o TCP, no Captulo 12. Um novo protocolo de camada de
transporte, o SCTP, foi projetado. O assunto ser explicado no Captulo 13.
A Figura 11.1 mostra a relao do UDP com os outros protocolos e camadas do
conjunto de protocolos TCP/IP: o UDP fica entre a camada de aplicativo e a camada
IP e, assim como o TCP, serve como intermedirio entre os programas aplicativos e
as operaes da rede.

Figura 11.1 Posio do UDP no conjunto de protocolos TCP/IP

Camada de
SMTP FTP TFTP DNS SNMP BOOTP
aplicativo

Camada de
SCTP TCP UDP
transporte

IGMP ICMP
Camada
IP
de rede
ARP RARP

Camada
de enlace
de dados Tecnologia de rede local
ou remota subjacente
Camada
fsica

255
256 CAPTULO 11 UDP (USER DATAGRAM PROTOCOL)

Normalmente, um protocolo da camada de transporte tem vrias responsabilidades.


Uma delas criar uma comunicao de processo para processo (um processo um pro-
grama aplicativo em execuo); o UDP usa nmeros de porta para fazer isso. Outra res-
ponsabilidade fornecer mecanismos de controle no nvel do transporte. O UDP executa
essa tarefa em um nvel muito mnimo. No h nenhum mecanismo de controle de fluxo
nem reconhecimento de pacotes recebidos. Contudo, at certo ponto, o UDP fornece con-
trole de erro. Se o UDP detecta um erro no pacote recebido, elimina-o silenciosamente.
A camada de transporte tambm fornece um mecanismo de conexo para os pro-
cessos. Os processos devem ser capazes de enviar fluxos de dados para a camada de
transporte. responsabilidade da camada de transporte na estao de envio estabele-
cer a conexo com o receptor, reduzir o fluxo em unidades transportveis, numer-las
e envi-las uma a uma. responsabilidade da camada de transporte na ponta receptora
esperar at que todas as diferentes unidades pertencentes ao mesmo processo tenham
chegado, verificar e transmitir as que estejam livres de erros e envi-las como um flu-
xo para o processo receptor. Depois que o fluxo inteiro tiver sido enviado, a camada
de transporte fecha a conexo. O UDP no faz nada disso. Ele s pode receber uma
unidade de dados dos processos e envi-la, de modo no-confivel, para o receptor.
A unidade de dados deve ser pequena o bastante para caber em um pacote UDP.
O UDP chamado de protocolo de transporte sem conexo e no-confivel. Ele
no acrescenta nada aos servios do IP, exceto quanto ao fornecimento de comunica-
o de processo para processo, em vez de comunicao de host a host. Alm disso, ele
realiza uma verificao de erros muito limitada.
Se o UDP to incapaz, por que um processo desejaria utiliz-lo? Com as desvanta-
gens vm algumas vantagens. O UDP um protocolo muito simples, acarretando uma so-
brecarga mnima. Se um processo quer enviar uma mensagem pequena e no se preocupa
muito com a confiabilidade, pode usar UDP. Enviar uma mensagem pequena usando UDP
requer muito menos interao entre o remetente e o receptor do que usando TCP.

11.1Comunicao processo a processo


(Process-to-process)
Antes de examinarmos o UDP, precisamos primeiro entender a comunicao de host
para host e a comunicao de processo para processo, alm da diferena entre elas.
O IP responsvel pela comunicao no nvel do computador (comunicao de
host para host). Como um protocolo da camada de rede, o IP s pode enviar a mensa-
gem para o computador de destino. Entretanto, esse um envio incompleto. A mensagem
ainda precisa ser entregue ao processo correto. a que um protocolo da camada de
transporte, como o UDP, entra em ao. O UDP responsvel pelo envio da mensa-
gem para o processo apropriado. A Figura 11.2 mostra os domnios do IP e do UDP.

Nmeros de porta
Embora existam vrias maneiras de obter comunicao de processo para processo, a
mais comum por meio do paradigma cliente-servidor. Um processo no host local,
chamado de cliente, precisa de servios de um processo que, normalmente, est no
host remoto, chamado de servidor.
Os dois processos (cliente e servidor) tm o mesmo nome. Por exemplo: para obter o
dia e a hora de uma mquina remota, precisamos de um processo cliente Daytime em exe-
cuo no host local e de um processo servidor Daytime em execuo na mquina remota.
SEO 11.1 COMUNICAO DE PROCESSO A PROCESSO 257

Figura 11.2 UDP versus IP

Processos Processos
(programas aplicativos em execuo) (programas aplicativos em execuo)

Internet

Domnio do protocolo IP

Domnio do protocolo UDP

Entretanto, atualmente, os sistemas operacionais suportam ambientes multiusurios


e multiprogramao. Um computador remoto pode executar vrios programas de servi-
dor ao mesmo tempo, assim como vrios computadores locais podem executar um ou
mais programas clientes ao mesmo tempo. Para a comunicao, devemos definir o
Host local
Processo local
Host remoto
Processo remoto
O host local e o host remoto so definidos usando endereos IP. Para definirmos os pro-
cessos, precisamos de outros identificadores, chamados de nmeros de porta. No con-
junto de protocolos TCP/IP, os nmeros de porta so valores inteiros entre 0 e 65.535.
O programa cliente define um nmero de porta a si mesmo, chamado de nmero
de porta efmero. A palavra efmero significa de vida curta e usada porque a vida
de um cliente normalmente rpida. Recomenda-se que um nmero de porta efmero
seja maior do que 1.023 para alguns programas cliente-servidor funcionarem correta-
mente (veja o Captulo 16).
O processo servidor tambm deve definir um nmero de porta a si mesmo. Entre-
tanto, esse nmero de porta no pode ser escolhido aleatoriamente. Se o computador
nas instalaes do servidor executa um processo servidor e atribui um nmero alea-
trio como nmero de porta, o processo nas instalaes do cliente que queira acessar
esse servidor e usar seus servios no saber o nmero de porta. Evidentemente, uma
soluo seria enviar um pacote especial e solicitar o nmero de porta de um servidor
especfico, mas isso geraria mais sobrecarga. O TCP/IP decidiu usar nmeros de por-
ta universais para servidores, que so chamados de nmeros de porta conhecidos.
Existem algumas excees a essa regra; por exemplo: existem clientes que recebem
nmeros de porta conhecidos. Todo processo cliente sabe o nmero de porta conheci-
do do processo servidor correspondente. Enquanto o processo cliente Daytime, discu-
tido anteriormente, puder usar o nmero de porta efmero (temporrio) 52.000 para se
identificar, o processo servidor Daytime deve usar o nmero conhecido (permanente)
de porta 13. A Figura 11.3 mostra esse conceito.
258 CAPTULO 11 UDP (USER DATAGRAM PROTOCOL)

Figura 11.3 Nmeros de porta

Cliente Servidor
Daytime Daytime

52.000 13

UDP UDP

Dados 13 52.000

13 52.000 Dados

Agora j deve estar claro que os endereos IP e os nmeros de porta desempenham


papis diferentes na seleo do destino dos dados. O endereo IP de destino define o
host dentre os diferentes hosts do mundo. Depois que o host selecionado, o nmero
de porta define um dos processos nesse host em particular (veja a Figura 11.4).

Figura 11.4 Endereos IP versus nmeros de porta

13
O nmero de porta
13 seleciona o processo

193.14.26.7

Cabealho IP
O endereo IP
193.14.26.7
seleciona o host
Cabealho UDP 13

Intervalos da ICANN
A ICANN dividiu os nmeros de porta em trs intervalos: conhecidos, registrados e
dinmicos (ou privados), como se v na Figura 11.5.
SEO 11.1 COMUNICAO DE PROCESSO A PROCESSO 259

Figura 11.5 Intervalos da ICANN

Registrados
0 1.023 49.152 65.535

1.024 49.151
Conhecidos Dinmicos ou privados

Portas conhecidas. As portas que vo de 0 a 1.023 so atribudas e controladas


pela ICANN. Essas so as portas conhecidas.
Portas registradas. As portas que vo de 1.024 a 49.151 no so atribudas nem contro-
ladas pela ICANN. Elas s podem ser registradas na ICANN para evitar duplicao.
Portas dinmicas. As portas que vo de 49.152 a 65.535 no so controladas nem
registradas. Esses nmeros podem ser usados como nmeros de porta temporrios
ou privados. A recomendao original era que os nmeros de porta efmeros para
clientes fossem escolhidos nesse intervalo. Entretanto, a maioria dos sistemas no
segue essa recomendao.

Os nmeros de porta conhecidos so menores do que 1.024.

Portas conhecidas para UDP


A Tabela 11.1 mostra alguns nmeros de porta conhecidos usados pelo UDP. Alguns
nmeros de porta podem ser usados tanto pelo UDP como pelo TCP. Vamos discuti-
los quando falarmos sobre TCP no Captulo 12.

Tabela 11.1 Portas conhecidas usadas com UDP

Porta Protocolo Descrio


7 Echo Repercute um datagrama recebido de volta ao remetente
9 Discard Descarta todo datagrama recebido
11 Users Usurios ativos
13 Daytime Retorna a data e a hora
17 Quote Retorna uma citao do dia
19 Chargen Retorna uma srie de caracteres
53 Nameserver Servio de nomes de domnio
67 Bootps Porta de servidor para download de informaes de partida
68 Bootpc Porta de cliente para download de informaes de partida
69 TFTP Trivial File Transfer Protocol
111 RPC Remote Procedure Call
123 NTP Network Time Protocol
161 SNMP Simple Network Management Protocol
162 SNMP Simple Network Management Protocol (interrupo)
260 CAPTULO 11 UDP (USER DATAGRAM PROTOCOL)

Exemplo 1
No Unix, as portas conhecidas so armazenadas em um arquivo chamado de /etc/
services. Cada linha nesse arquivo fornece o nome do servidor e o nmero de porta
conhecido. Podemos usar o utilitrio grep para extrair a linha correspondente ao apli-
cativo desejado. O exemplo a seguir mostra a porta para TFTP. Observe que o TFTP
pode usar a porta 69 no UDP ou no TCP.

$grep tftp /etc/services


tftp 69/tcp
tftp 69/udp

O SNMP usa dois nmeros de porta (161 e 162), cada um para um propsito dife-
rente, como veremos no Captulo 21.

$grep snmp /etc/services


snmp 161/tcp #Simple Net Mgmt Proto
snmp 161/udp #Simple Net Mgmt Proto
snmptrap 162/udp #Traps for SNMP

Endereos de soquete
Como vimos, o UDP precisa de dois identificadores: o endereo IP e o nmero de por-
ta, cada um em uma extremidade para estabelecer uma conexo. A combinao de um
endereo IP e um nmero de porta chamado de endereo de soquete. O endereo de
soquete do cliente define o processo cliente exclusivamente, assim como o endereo
de soquete do servidor define o processo servidor exclusivamente (veja a Figura 11.6).

Figura 11.6 Endereo de soquete

Endereo IP Nmero de porta


200.23.56.8 69

200.23.56.8 69
Endereo de soquete

Para usar os servios do UDP, precisamos de dois endereos de soquete: o ende-


reo de soquete do cliente e o do servidor. Essas quatro informaes fazem parte do
cabealho IP e do cabealho UDP. O cabealho IP contm os endereos IP; j o cabe-
alho UDP contm os nmeros de porta.

11.2 Datagrama de usurio


Os pacotes UDP, chamados de datagramas de usurio, tm um cabealho de tama-
nho fixo de 8 bytes. A Figura 11.7 mostra o formato de um datagrama de usurio.
SEO 11.2 DATAGRAMA DE USURIO 261

Figura 11.7 Formato do datagrama de usurio

8 bytes

Cabealho Dados

Nmero de porta de origem Nmero de porta de destino


16 bits 16 bits
Comprimento total Soma de verificao
16 bits 16 bits

Os campos so os seguintes:
Nmero de porta de origem. Esse o nmero de porta usado pelo processo em
execuo no host de origem. Ele tem 16 bits de comprimento, o que significa que
o nmero de porta pode variar de 0 a 65.535. Se o host de origem for o cliente (um
cliente enviando um pedido), o nmero de porta, na maioria dos casos, efmero,
solicitado pelo processo e escolhido pelo software UDP em execuo no host de
origem. Se o host de origem for o servidor (um servidor enviando uma resposta),
o nmero de porta, na maioria dos casos, conhecido.
Nmero de porta de destino. Esse o nmero de porta usado pelo processo em
execuo no host de destino. Ele tambm tem 16 bits de comprimento. Se o host de
destino for o servidor (um cliente enviando um pedido), o nmero de porta, na maio-
ria dos casos, conhecido. Se o host de destino for o cliente (um servidor enviando
uma resposta), o nmero de porta, na maioria dos casos, efmero. Nesse caso, o
servidor copia o nmero de porta efmero que recebeu no pacote do pedido.
Comprimento. Esse um campo de 16 bits que define o comprimento total do
datagrama de usurio, o cabealho mais os dados. Os 16 bits podem definir um
comprimento total de 0 a 65.535 bytes. Entretanto, o comprimento total precisa ser
muito menor, pois um datagrama de usurio UDP armazenado em um datagrama
IP com o comprimento total de 65.535 bytes.
Na verdade, o campo de comprimento em um datagrama de usurio UDP no
necessrio. Um datagrama de usurio encapsulado em um datagrama IP. Existe
um campo no datagrama IP que define o comprimento total. Existe outro campo
no datagrama IP que define o comprimento do cabealho. Portanto, se subtrairmos
o valor do segundo campo do primeiro, poderemos deduzir o comprimento do
datagrama UDP que encapsulado em um datagrama IP.

comprimento UDP = comprimento IP comprimento do cabealho IP

Entretanto, os projetistas do protocolo UDP acharam que seria mais eficiente o


destino UDP calcular o comprimento dos dados a partir das informaes forneci-
das no datagrama de usurio UDP, em vez de pedir ao software IP para que forne-
cesse essas informaes. Devemos lembrar que, quando o software IP envia o
datagrama de usurio UDP para a camada UDP, j eliminou o cabealho IP.
Soma de verificao. Esse campo usado para detectar erros em todo o datagrama de
usurio (cabealho e dados). A soma de verificao ser discutida na prxima seo.
262 CAPTULO 11 UDP (USER DATAGRAM PROTOCOL)

11.3Soma de verificao
J falamos, no Captulo 8, sobre o conceito da soma de verificao e a maneira como
ela calculada. Tambm mostramos como calcular a soma de verificao para o paco-
te IP e ICMP. Agora, mostraremos como isso feito para o UDP.
O clculo da soma de verificao do UDP diferente do IP e do ICMP. Aqui, a
soma de verificao inclui trs sees: um pseudocabealho, o cabealho UDP e os
dados provenientes da camada de aplicativo.
O pseudocabealho a parte do cabealho do pacote IP na qual o datagrama de usurio
deve ser encapsulado com alguns campos preenchidos com valores 0 (veja a Figura 11.8).

Figura 11.8 Pseudocabealho para clculo da soma de verificao

Pseudocabealho
Endereo IP de origem de 32 bits

Endereo IP de destino de 32 bits

Todos os Protocolo de Comprimento total


valores 0 8 bits (17) UDP de 16 bits
Endereo de porta da origem Endereo de porta do destino
Cabealho

16 bits 16 bits
Comprimento total UDP Soma de verificao
16 bits 16 bits

Dados
(Deve ser adicionado preenchimento para tornar os
dados um mltiplo de 16 bits)

Se a soma de verificao no incluir o pseudocabealho, um datagrama de usurio


poder chegar so e salvo. Entretanto, se o cabealho IP for corrompido, poder ser
enviado para o host errado.
O campo de protocolo adicionado para garantir que o pacote pertena ao UDP,
e no ao TCP. Veremos posteriormente que, se um processo pode usar UDP ou TCP,
o nmero de porta de destino pode ser o mesmo. O valor do campo de protocolo do
UDP 17. Se esse valor for alterado durante a transmisso, o clculo da soma de ve-
rificao no receptor detectar, e o UDP eliminar o pacote. Ele no enviado para o
protocolo errado.
Observe as semelhanas entre os campos de pseudocabealho e os ltimos 12
bytes do cabealho IP.

Clculo da soma de verificao no remetente


O remetente segue estas oito etapas para calcular a soma de verificao:
1. Adiciona o pseudocabealho no datagrama de usurio UDP.
2. Preenche o campo de soma de verificao com zeros.
3. Divide os bits totais em palavras de 16 bits (2 bytes).
4. Se o nmero total de bytes no for par, adiciona 1 byte de preenchimento (tudo 0).
O preenchimento serve apenas para calcular a soma de verificao e ser descar-
tado depois.
SEO 11.3 SOMA DE VERIFICAO 263

5. Soma todas as sees de 16 bits usando aritmtica de complemento de um.


6. Complementa o resultado (altera todos os valores 0 para valores 1, e todos os valores
1 para 0), que um nmero de 16 bits, e o insere no campo de soma de verificao.
7. Elimina o pseudocabealho e qualquer preenchimento adicionado.
8. Envia o datagrama de usurio UDP para o software IP para encapsulamento.
Note que a ordem das linhas no pseudocabealho no faz nenhuma diferena no cl-
culo da soma de verificao. Alm disso, somar valores 0 no altera o resultado. Por
isso, o software que calcula a soma de verificao pode adicionar facilmente o cabea-
lho IP inteiro (20 bytes) no datagrama UDP, configurar os primeiros bytes como zero,
preencher o campo de TTL como zero, substituir a soma de verificao do IP pelo
comprimento UDP e calcular a soma de verificao. O resultado seria o mesmo.

Clculo da soma de verificao no receptor


O receptor segue estas seis etapas para calcular a soma de verificao:
1. Adiciona o pseudocabealho no datagrama de usurio UDP.
2. Adiciona preenchimento, se necessrio.
3. Divide os bits totais em sees de 16 bits.
4. Soma todas as sees de16 bits usando aritmtica de complemento de um.
5. Complementa o resultado.
6. Se o resultado for composto apenas de valores 0, elimina o pseudocabealho e
qualquer preenchimento adicionado e aceita o datagrama de usurio. Se o resul-
tado for qualquer outra coisa, descarta o datagrama de usurio.

Um exemplo
A Figura 11.9 mostra o clculo da soma de verificao para um datagrama de usurio
muito pequeno, com apenas 7 bytes de dados. Como o nmero de bytes de dados
mpar, adicionado preenchimento para o clculo da soma de verificao. O pseudo-
cabealho, assim como o preenchimento, sero eliminados quando o datagrama de
usurio for enviado ao IP.

Figura 11.9 Clculo da soma de verificao de um datagrama de usurio UDP simples

10011001 00010010 153.18


00001000 01101001 8.105
10101011 00000010 171.2
00001110 00001010 14.10
153.18.8.105 00000000 00010001 0 e 17
171.2.14.10 00000000 00001111 15
00000100 00111111 1087
Tudo 0 17 15 00000000 00001101 13
1087 13 00000000 00001111 15
00000000 00000000 0 (soma de verificao)
15 Tudo 0 01010100 01000101 TeE
01010011 01010100 SeT
T E S T 01001001 01001110 IeN
I N G Tudo 0 01000111 00000000 G e 0 (preenchimento)

10010110 11101011 Soma


01101001 00010100 Soma de verificao
264 CAPTULO 11 UDP (USER DATAGRAM PROTOCOL)

Uso opcional da soma de verificao


O clculo da soma de verificao e sua incluso em um datagrama de usurio so opcionais.
Se a soma de verificao no for calculada, o campo preenchido com valores 0. Algum
poderia perguntar: quando o software UDP no computador de destino recebe um datagrama
de usurio com um valor de soma de verificao igual a zero, como determinar se a soma de
verificao no foi usada ou se foi e aconteceu de o resultado ser composto apenas de valores
0? A resposta muito simples. Se a origem calcular a soma de verificao e acontecer de o
resultado ser composto apenas de valores 0, ele deve ser complementado. Portanto, o que
enviado tudo 1. Note que uma soma de verificao calculada nunca pode ser composta
apenas de valores 0, pois isso faz com que a soma seja composta apenas de valores 1, o que
impossvel na aritmtica de complemento de dois (consulte o Apndice C).

11.4 Funcionamento do UDP


O UDP usa conceitos comuns para a camada de transporte. Esses conceitos sero
discutidos brevemente aqui e, depois, expandidos no prximo captulo, que discute
sobre o protocolo TCP.

Servios sem conexo


Conforme mencionado anteriormente, o UDP fornece um servio sem conexo. Isso
significa que cada datagrama de usurio enviado pelo UDP um datagrama independen-
te. No h nenhuma relao entre os diferentes datagramas de usurio, mesmo que se-
jam provenientes do mesmo processo de origem e estejam indo para o mesmo programa
de destino. Os datagramas de usurio no so numerados. Alm disso, no h nenhum
estabelecimento de conexo e nenhum trmino de conexo, como acontece no TCP. Isso
significa que cada datagrama de usurio pode percorrer um caminho diferente.
Uma das ramificaes do fato de ser sem conexo que o processo que utiliza
UDP no pode enviar um fluxo de dados para o UDP e esperar que ele os divida em
diferentes datagramas de usurios relacionados. Em vez disso, cada pedido deve ser
pequeno o suficiente para caber em um nico datagrama de usurio. Somente os pro-
cessos que enviam mensagens curtas devem usar UDP.

Controle de fluxo e de erro


O UDP um protocolo de transporte muito simples e no-confivel. No h nenhum
controle de fluxo e, portanto, nenhum mecanismo de janela. O receptor pode transbor-
dar com as mensagens recebidas.
No h nenhum mecanismo de controle de erro no UDP, exceto a soma de verifica-
o. Isso significa que o remetente no sabe se uma mensagem foi perdida ou duplica-
da. Quando o receptor detecta um erro por meio da soma de verificao, o datagrama
de usurio descartado silenciosamente.
A falta de controle de fluxo e de controle de erro significa que o processo que
est usando UDP deve fornecer esses mecanismos.

Encapsulamento e desencapsulamento
Para enviar uma mensagem de um processo ao outro, o protocolo UDP encapsula e
desencapsula mensagens (veja a Figura 11.10).

Encapsulamento
Quando um processo tem uma mensagem para enviar por meio de UDP, passa a mensa-
gem para o UDP, junto a um par de endereos de soquete e o comprimento dos dados.
SEO 11.4 FUNCIONAMENTO DO UDP 265

Figura 11.10 Encapsulamento e desencapsulamento

Processo Processo

Mensagem Mensagem

Cabealho Dados Cabealho Dados


UDP UDP UDP UDP

Cabealho Cabealho
Dados IP Dados IP
IP IP

Cabealho Cabealho
Dados do frame Dados do frame
do frame do frame

a. Encapsulamento b. Desencapsulamento

O UDP recebe os dados e adiciona o cabealho UDP. Ento, o UDP passa o data-
grama de usurio para o IP com os endereos de soquete. O IP adiciona seu prprio
cabealho, usando o valor 17 no campo de protocolo, indicando que os dados vm do
protocolo UDP. Ento, o datagrama IP passado para a camada de enlace de dados.
A camada de enlace de dados recebe o datagrama IP, adiciona seu prprio cabealho
(e possivelmente um trailer) e passa para a camada fsica. A camada fsica codifica os
bits em sinais eltricos ou ticos e envia para a mquina remota.

Desencapsulamento
Quando a mensagem chega ao host de destino, a camada fsica decodifica os sinais
em bits e passa para a camada de enlace de dados. A camada de enlace de dados usa
o cabealho (e o trailer) para verificar os dados. Se no houver erros, o cabealho e o
trailer so eliminados e o datagrama passado para o IP. O software IP faz sua prpria
verificao. Se no houver erros, o cabealho eliminado e o datagrama de usurio
passado para o UDP com os endereos IP do remetente e do receptor. O UDP usa a
soma de verificao para verificar todo o datagrama de usurio. Se no houver erros,
o cabealho eliminado e os dados do aplicativo, junto ao endereo de soquete do
remetente, so passados para o processo. O endereo de soquete do remetente tambm
passado para o processo caso ele precise responder mensagem recebida.

Enfileiramento
Falamos sobre portas sem discutirmos sua implementao real. No UDP, filas so
associadas s portas (veja a Figura 11.11).
Nas instalaes do cliente, quando um processo comea, ele solicita um nmero
de porta ao sistema operacional. Algumas implementaes criam uma fila de entrada
e uma fila de sada associadas a cada processo. Outras implementaes criam apenas
uma fila de entrada associada a cada processo.
266 CAPTULO 11 UDP (USER DATAGRAM PROTOCOL)

Figura 11.11 Filas no UDP

Cliente Servidor
Daytime Daytime

Fila de Fila de Fila de Fila de


sada entrada sada entrada

UDP Porta 52000 UDP Porta 13

Note que, mesmo que um processo