Vous êtes sur la page 1sur 418

Arquitetura e

Protocolos de Rede TCP-IP


Gldson Elias Luiz Carlos Lobato

A RNP Rede Nacional de Ensino e Pesquisa qualificada como uma Organizao Social (OS), sendo ligada ao Ministrio da Cincia, Tecnologia e Inovao (MCTI) e responsvel pelo Programa Interministerial RNP, que conta com a participao dos ministrios da Educao (MEC), da Sade (MS) e da Cultura (MinC). Pioneira no acesso Internet no Brasil, a RNP planeja e mantm a rede Ip, a rede ptica nacional acadmica de alto desempenho. Com Pontos de Presena nas 27 unidades da federao, a rede tem mais de 800 instituies conectadas. So aproximadamente 3,5 milhes de usurios usufruindo de uma infraestrutura de redes avanadas para comunicao, computao e experimentao, que contribui para a integrao entre o sistema de Cincia e Tecnologia, Educao Superior, Sade e Cultura.

Ministrio da Cultura Ministrio da Sade Ministrio da Educao Ministrio da Cincia, Tecnologia e Inovao

Arquitetura e

Protocolos de Rede TCP-IP

Gldson Elias Luiz Carlos Lobato

Arquitetura e

Protocolos de Rede TCP-IP


Gldson Elias Luiz Carlos Lobato

Rio de Janeiro Escola Superior de Redes 2013

Copyright 2013 Rede Nacional de Ensino e Pesquisa RNP Rua Lauro Mller, 116 sala 1103 22290-906 Rio de Janeiro, RJ Diretor Geral

Nelson Simes
Diretor de Servios e Solues

Jos Luiz Ribeiro Filho

Escola Superior de Redes


Coordenao

Luiz Coelho
Edio

Pedro Sangirardi
Coordenao Acadmica de Administrao e Projeto de Redes

Luiz Carlos Lobato

Equipe ESR (em ordem alfabtica)

Celia Maciel, Cristiane Oliveira, Derlina Miranda, Edson Kowask, Elimria Barbosa, Evellyn Feitosa, Felipe Nascimento, Lourdes Soncin, Luciana Batista, Renato Duarte, Srgio Souza e Yve Abel Marcial.
Capa, projeto visual e diagramao

Tecnodesign
Verso

2.2.1

Este material didtico foi elaborado com fins educacionais. Solicitamos que qualquer erro encontrado ou dvida com relao ao material ou seu uso seja enviado para a equipe de elaborao de contedo da Escola Superior de Redes, no e-mail info@esr.rnp.br. A Rede Nacional de Ensino e Pesquisa e os autores no assumem qualquer responsabilidade por eventuais danos ou perdas, a pessoas ou bens, originados do uso deste material. As marcas registradas mencionadas neste material pertencem aos respectivos titulares. Distribuio

Escola Superior de Redes

Rua Lauro Mller, 116 sala 1103 22290-906 Rio de Janeiro, RJ http://esr.rnp.br info@esr.rnp.br

Dados Internacionais de Catalogao na Publicao (CIP) E42a Elias, Gldson. Arquitetura e protocolo de rede TCP-IP / Gldson Elias, Luiz Carlos Lobato. 2. ed. Rio de Janeiro: RNP/ESR, 2013. 414 p. : il. ; 28 cm. Bibliografia: p. 393-395. ISBN 978-85-63630-18-6

Arquitetura e protocolo de rede TCP-IP / Gldson Elias, Luiz Carlos Lobato. 2. ed. Rio de Janeiro: RNP/ESR, 2013. CDD 004.6

Sumrio
1. Conceitos bsicos de redes
Redes de computadores1 Tipos de redes2 Redes par-a-par3 Redes cliente-servidor4 Vantagens da rede cliente-servidor5 Tipos de conexes6 Conexo ponto-a-ponto6 Conexo multiponto7 Topologias de redes7 Topologia Barramento8 Topologia Anel9 Topologia Estrela10 Redes LAN, MAN e WAN11 LAN11 MAN12 WAN13 Meios de comunicao15 Cabo metlico15 Cabo coaxial15 Cabo par tranado17 Cabo fibra ptica19 Cabeamento estruturado22 Redes sem fio24 Componentes da WLAN24 Padres WLAN IEEE 802.1126 iii

Equipamentos de rede27 Placas de rede27 Exerccio de fixao 1 Identificando as informaes da interface de rede29 Concentradores 29 Switches30 Roteadores32 Roteiro de Atividades 135 Atividade 1.1 Montagem de uma rede par-a-par35 Atividade 1.2 Conectando a rede ao switch do laboratrio37 Atividade 1.3 Teste de conectividade do grupo com a internet37 Atividade 1.4 Anlise da troca de pacotes na rede38 Atividade 1.5 Montagem de uma rede sem fio ponto-a-ponto40

2. Arquitetura de protocolos
Conceito de protocolo45 Arquitetura em camadas45 Conceito de camada46 Conceito de interface46 Modelo de Referncia OSI 46 Histrico do modelo OSI47 Objetivos de um sistema aberto47 Estrutura em camadas 47 Camadas do modelo OSI48 Camada fsica49 Camada de enlace de dados50 Camada de rede51 Camada de transporte52 Camada de sesso53 Camada de apresentao53 Camada de aplicao54 Encapsulamento de dados54 Comunicao par-a-par55 Arquitetura TCP/IP56 Histrico56 Famlia de protocolos TCP/IP59 Tecnologia de inter-redes60

iv

Camadas da arquitetura TCP/IP62 Camada de aplicao63 Camada de transporte63 Camada de rede64 Camada de interface de rede 64 Encapsulamento64 Exerccio de fixao 1 Demonstrao do processo de encapsulamento66 Desencapsulamento68 Interao dos protocolos69 Endereos fsicos e lgicos71 Comparao das arquiteturas TCP/IP e OSI72 Roteiro de Atividades 273 Atividade 2.1 Captura de pacotes73 Atividade 2.2 Caminhos de rede74 Atividade 2.3 Estaes multihomed75 Atividade 2.4 Modelo OSI75

3. Endereamento IP (parte 1)
Endereo IPv477 Notao decimal77 Atribuio de endereos78 Hierarquia de endereamento78 Regras de atribuio de endereos78 Classes de endereos79 Endereos especiais81 Exerccio de fixao 1 Classes de endereamento82 Espao de endereamento e endereos permitidos83 Mscara de rede83 Exerccio de fixao 2 Formatos de representao84 Resoluo de endereos85 Tcnicas de resoluo de endereos86 Protocolo ARP86 Tabela ARP87 Protocolos para configurao automtica de endereos IP88 Protocolo DHCP89

Mecanismos de entrega90 Entrega direta 90 Entrega indireta 90 Desperdcio de endereos92 Sub-redes93 Arquiteturas de endereamento94 Diferenas entre arquiteturas 95 Endereamento de sub-redes95 Regras de atribuio de endereos96 Endereos de sub-rede e broadcast direto97 Mscara de sub-rede98 Protocolo DHCP99 Clculo de mscara de sub-redes101 Mtodo BOX102 Mtodo binrio104 Mtodo decimal106 Exerccio de fixao 3 Verificando o endereo IP107 Roteiro de Atividades 3109 Atividade 3.1 Validade de endereos109 Atividade 3.2 Atribuio de endereos109 Atividade 3.3 Expanso da rede110 Atividade 3.4 Configurao de endereos IPv4111 Atividade 3.5 Entrega direta e indireta112 Atividade 3.6 Protocolo ARP113 Atividade 3.7 Tabela ARP114 Atividade 3.8 Modificando a tabela ARP115 Atividade 3.9 Servidores DHCP115

4. Endereamento IP (parte 2)
Super-redes117 CIDR119 Blocos de endereos119 Hierarquia de endereamento 120 Mscara do bloco120 Endereo de bloco e de broadcast121 Espao de endereamento e endereos permitidos122

vi

Regras de atribuio de endereos123 Subdiviso de blocos124 Agregao de blocos126 Mscaras de tamanho fixo127 Mscaras de tamanho varivel 130 Algoritmo de atribuio de blocos 132 Exerccio de fixao 1 Mscara de tamanho varivel135 Contiguidade de sub-redes135 Agregao de rotas136 Endereos privados137 Endereos pblicos x privados138 Endereos privados motivao 138 Exemplo NAT140 Tipos de NAT142 NAT Esttico142 NAT Dinmico144 PAT146 Endereos IPv6152 Formato do endereo IPv6153 Distribuio de endereos IPv6153 Implantao do IPv6154 Representao do endereo IPv6154 Tipos de endereos IPv6155 Transio de IPv4 para IPv6155 Ausncia de NAT no IPv6156 Roteiro de Atividades 4159 Atividade 4.1 Configurao do exemplo 1 de VLSM159 Atividade 4.2 Estudo de caso160 Atividade 4.3 Configurao de NAT Esttico e Dinmico161

5. Protocolos de enlace
Fundamentos dos protocolos de enlace 167 Rede local virtual (VLAN)167 Conceito de VLAN168 Operao de VLAN em sub-redes IP169 VLAN esttica172 VLAN dinmica172

vii

VLAN Tagging173 IEEE 802.1Q174 IEEE 802.1ad (QinQ) 175 GARP VLAN Registration Protocol (GVRP) 176 VLAN Trunking Protocol (VTP)177 Configurando VLANs178 Configurao de VLANs estticas178 Acessando e gerenciando o switch181 Configurando trunking181 Roteamento Inter-VLAN182 Spanning Tree Protocol (STP)185 Protocolo Spanning Tree185 Loops na rede185 Broadcast de camada 2187 Conceitos chave em STP188 Sequncia de deciso de 5 passos190 Convergncia STP190 Eleio da root bridge191 Estados de porta Spanning Tree200 Temporizadores STP200 Rapid Spanning Tree Protocol (RSTP)201 RSTP versus STP202 Estados de portas RSTP202 Portas RSTP202 Protocolo PPP204 Camada de enlace da WAN204 Point-to-Point Protocol (PPP) 205 Fases PPP207 Configurando PPP Multilink (MLP)211 Digital Subscriber Line (DSL) 212 Intervalo de frequncia de DSL212 Implementaes de DSL213 ADSL214 Dados sobre ADSL com bridging215 PPPoE216 Roteiro de Atividades 5219 Atividade 5.1 Configurao de VLANs219 Atividade 5.2 Configurao do protocolo PPP231 viii

6. Camada de rede
Funcionalidades da camada de rede239 Roteamento de redes240 Protocolos da camada de rede241 Protocolo IP241 Campos do datagrama242 Fragmentao e remontagem245 Controle de fragmentao 246 Processo de remontagem 248 Processamento de datagramas249 Protocolo ICMP254 Comando ping256 Comando traceroute256 Exemplo de traceroute em Windows258 Captura de pacotes do primeiro hop259 Roteiro de Atividades 6265 Atividade 6.1 Campo TTL265 Atividade 6.2 Funcionamento do TTL266 Atividade 6.3 Remontagem no destino269 Atividade 6.4 Descobrindo a MTU269 Atividade 6.5 Descobrindo tamanhos de datagramas269 Atividade 6.6 Fragmentao270

7. Roteamento
Roteamento TCP/IP271 Algoritmo de roteamento272 Mtricas de roteamento273 Mtrica da rota274 Tabela de roteamento274 Protocolo de roteamento275 Representao de rotas278 Rotas para estaes280 Rota padro (default)280 Rotas nulas282 Listando tabelas de roteamento283 Exerccio de fixao 1 Anlise de tabela de rotas284

ix

Estratgias de roteamento285 Roteamento esttico285 Roteamento dinmico286 Roteamento hbrido287 Arquiteturas de roteamento288 Arquitetura classful 288 Arquitetura classless 289 Protocolos de roteamento padro290 Protocolo RIP 291 Protocolo OSPF 292 Protocolo BGP 293 Roteiro de Atividades 7295 Atividade 7.1 Estratgia de roteamento295 Atividade 7.2 Estratgia de roteamento (2)296 Atividade 7.3 Rotas estticas296 Atividade 7.4 Rotas RIP300 Atividade 7.5 Rotas OSPF301

8. Camada de transporte
Fundamentos da camada de transporte 303 Servio de datagramas304 Servio de circuito virtual304 Identificao de processos305 Protocolos da camada de transporte307 Protocolo UDP307 Protocolo TCP311 Mecanismos de controle317 Exerccio de fixao 1 Abertura de conexo TCP321 Exerccio de fixao 2 Envio de dados em conexo TCP326 Exerccio de fixao 3 Fechamento de conexo TCP330 Roteiro de Atividades 8333 Atividade 8.1 Portas TCP e UDP333 Atividade 8.2 Campo com tamanho do cabealho333 Atividade 8.3 Portas, conexes e endpoints333

Atividade 8.4 Portas UDP333 Atividade 8.5 Portas TCP334

9. Camada de aplicao
Fundamentos e protocolos da camada de aplicao335 Modelo cliente-servidor336 Identificao de clientes e servidores337 Negociao de portas338 Atribuio de portas339 Interface socket339 Estados de um socket 340 Tratamento de endpoints341 Implementao343 Clientes e servidores UDP344 Clientes e servidores TCP346 Servidores de aplicao348 Servidor iterativo 348 Servidor concorrente 349 Compartilhamento de portas 350 Gerenciamento de conexes TCP351 Multiplicidade de servios 352 Roteiro de Atividades 9355 Atividade 9.1 Servios e portas355 Atividade 9.2 Monitorando portas TCP355 Atividade 9.3 Portas TCP e UDP356 Atividade 9.4 Processamento de segmentos TCP357 Atividade 9.5 Servidores iterativos e concorrentes357

10. Protocolos de aplicao


Protocolos da camada de aplicao359 DNS 360 Hierarquia de nomes361 Delegao de autoridade 363 Autoridade Raiz 364 Consulta ao DNS364

xi

Servidor de nomes 365 Cliente (Resolver)366 Servidor Bind366 Servidor primrio e secundrio366 Requisies iterativa e recursiva367 Tipos de servidores368 Tipos de respostas369 Mecanismo de cache369 Processamento de requisies 370 SMTP 372 Componentes 372 Protocolo SMTP373 Modelo de interao 375 Estrutura da mensagem 377 HTTP 377 Protocolo HTTP379 Tipos de conexes 379 Servio de Acesso Remoto Seguro382 Componentes382 Modelo de interao383 Roteiro de Atividades 10387 Atividade 10.1 Captura de pacotes UDP do servio DNS387 Atividade 10.2 Requisies iterativas e recursivas389 Atividade 10.3 Servidores raiz389 Atividade 10.4 Consultas DNS389 Atividade 10.5 Servio SSH390

Bibliografia 393

xii

Escola Superior de Redes


A Escola Superior de Redes (ESR) a unidade da Rede Nacional de Ensino e Pesquisa (RNP) responsvel pela disseminao do conhecimento em Tecnologias da Informao e Comunicao (TIC). A ESR nasce com a proposta de ser a formadora e disseminadora de competncias em TIC para o corpo tcnico-administrativo das universidades federais, escolas tcnicas e unidades federais de pesquisa. Sua misso fundamental realizar a capacitao tcnica do corpo funcional das organizaes usurias da RNP, para o exerccio de competncias aplicveis ao uso eficaz e eficiente das TIC. A ESR oferece dezenas de cursos distribudos nas reas temticas: Administrao e Projeto de Redes, Administrao de Sistemas, Segurana, Mdias de Suporte Colaborao Digital e Governana de TI. A ESR tambm participa de diversos projetos de interesse pblico, como a elaborao e execuo de planos de capacitao para formao de multiplicadores para projetos educacionais como: formao no uso da conferncia web para a Universidade Aberta do Brasil (UAB), formao do suporte tcnico de laboratrios do Proinfo e criao de um conjunto de cartilhas sobre redes sem fio para o programa Um Computador por Aluno (UCA).

A metodologia da ESR
A filosofia pedaggica e a metodologia que orientam os cursos da ESR so baseadas na aprendizagem como construo do conhecimento por meio da resoluo de problemas tpicos da realidade do profissional em formao. Os resultados obtidos nos cursos de natureza terico-prtica so otimizados, pois o instrutor, auxiliado pelo material didtico, atua no apenas como expositor de conceitos e informaes, mas principalmente como orientador do aluno na execuo de atividades contextualizadas nas situaes do cotidiano profissional. A aprendizagem entendida como a resposta do aluno ao desafio de situaes-problema semelhantes s encontradas na prtica profissional, que so superadas por meio de an lise, sntese, julgamento, pensamento crtico e construo de hipteses para a resoluo do problema, em abordagem orientada ao desenvolvimento de competncias. Dessa forma, o instrutor tem participao ativa e dialgica como orientador do aluno para as atividades em laboratrio. At mesmo a apresentao da teoria no incio da sesso de aprendizagem no considerada uma simples exposio de conceitos e informaes. O instrutor busca incentivar a participao dos alunos continuamente.

xiii

As sesses de aprendizagem onde se do a apresentao dos contedos e a realizao das atividades prticas tm formato presencial e essencialmente prtico, utilizando tcnicas de estudo dirigido individual, trabalho em equipe e prticas orientadas para o contexto de atuao do futuro especialista que se pretende formar. As sesses de aprendizagem desenvolvem-se em trs etapas, com predominncia de tempo para as atividades prticas, conforme descrio a seguir: Primeira etapa: apresentao da teoria e esclarecimento de dvidas (de 60 a 90 minutos). O instrutor apresenta, de maneira sinttica, os conceitos tericos correspondentes ao tema da sesso de aprendizagem, com auxlio de slides em formato PowerPoint. O instrutor levanta questes sobre o contedo dos slides em vez de apenas apresent-los, convidando a turma reflexo e participao. Isso evita que as apresentaes sejam montonas e que o aluno se coloque em posio de passividade, o que reduziria a aprendizagem. Segunda etapa: atividades prticas de aprendizagem (de 120 a 150 minutos). Esta etapa a essncia dos cursos da ESR. A maioria das atividades dos cursos assncrona e realizada em duplas de alunos, que acompanham o ritmo do roteiro de atividades proposto no livro de apoio. Instrutor e monitor circulam entre as duplas para solucionar dvidas e oferecer explicaes complementares. Terceira etapa: discusso das atividades realizadas (30 minutos). O instrutor comenta cada atividade, apresentando uma das solues possveis para resolv-la, devendo ater-se quelas que geram maior dificuldade e polmica. Os alunos so convidados a comentar as solues encontradas e o instrutor retoma tpicos que tenham gerado dvidas, estimulando a participao dos alunos. O instrutor sempre estimula os alunos a encontrarem solues alternativas s sugeridas por ele e pelos colegas e, caso existam, a coment-las.

Sobre o curso
O curso fornece uma viso geral dos conceitos bsicos de redes, noes de meios de comunicao, equipamentos de rede e redes sem fio. Aprofunda conceitos de NAT e VLANs, incluindo a configurao de VLANs atravs de atividades prticas. Oferece uma viso aprofundada da arquitetura de rede TCP/IP, sua pilha de protocolos e servios oferecidos, abordando ainda: projeto de endereamento IP; clculo de mscaras de sub-redes e super-redes; VLSM e CIDR; roteamento esttico e dinmico; protocolos TCP e UDP; modelo cliente-servidor e interface socket; servios DNS, Mail e Web. Ao final do curso, o aluno ser capaz de projetar uma rede TCP/IP e de conect-la internet.

A quem se destina
O pblico-alvo do curso composto por profissionais de redes (segmento corporativo) e estudantes de informtica (formandos em Cincia da Computao/ Informtica), interessados em obter um maior domnio da arquitetura TCP/IP, condio fundamental para a formao de especialistas em gerncia e segurana de redes de computadores.

xiv

Convenes utilizadas neste livro


As seguintes convenes tipogrficas so usadas neste livro: Itlico Indica nomes de arquivos e referncias bibliogrficas relacionadas ao longo do texto.

Largura constante
Indica comandos e suas opes, variveis e atributos, contedo de arquivos e resultado da sada de comandos.

Contedo de slide
Indica o contedo dos slides referentes ao curso apresentados em sala de aula.

Smbolo
Indica referncia complementar disponvel em site ou pgina na internet.

Smbolo
Indica um documento como referncia complementar.

Smbolo
Indica um vdeo como referncia complementar.

Smbolo
Indica um arquivo de adio como referncia complementar.

Smbolo
Indica um aviso ou precauo a ser considerada.

Smbolo
Indica questionamentos que estimulam a reflexo ou apresenta contedo de apoio ao entendimento do tema em questo.

Smbolo
Indica notas e informaes complementares como dicas, sugestes de leitura adicional ou mesmo uma observao.

Permisses de uso
Todos os direitos reservados RNP. Nada nesta licena prejudica ou restringe os direitos morais do autor. Agradecemos sempre citar esta fonte quando incluir parte deste livro em outra obra. Exemplo de citao: ELIAS; G.; LOBATO, L. C. Arquitetura e Protocolos de Rede TCP-IP. Rio de Janeiro: Escola Superior de Redes, RNP, 2013.

xv

Comentrios e perguntas
Para enviar comentrios e perguntas sobre esta publicao: Escola Superior de Redes RNP Endereo: Av. Lauro Mller 116 sala 1103 Botafogo Rio de Janeiro RJ 22290-906 E-mail: info@esr.rnp.br

Sobre os autores
Gldson Elias recebeu o ttulo de Doutor em Cincia da Computao do Centro de Informtica (Cin) da Universidade Federal de Pernambuco (UFPE), em junho de 2002. De 1993 at o presente, professor adjunto no Departamento de Informtica e Matemtica Aplicada (DIMAp) da Universidade Federal do Rio Grande do Norte (UFRN). No perodo de 1993 a 1996, foi responsvel (Coordenador Tcnico dos Projetos: A Rede de Pesquisa da UFRN; Implantao do Ponto de Presena da RNP no Rio Grande do Norte; e Internet/RN Integrao da Comunidade Cientfica do Rio Grande do Norte) pela implantao da Internet no Estado do Rio Grande do Norte e na Universidade Federal do Rio Grande do Norte. Estas atividades esto inseridas no contexto do projeto da Rede Nacional de Pesquisa, que implantou a Internet no Brasil, do qual foi participante ativo, tendo atuado na sede do projeto em Campinas de 1991 a 1993. Em ensino, o Prof. Gldson Elias leciona na graduao e ps-graduao em diferentes cursos, por exemplo: redes de computadores, redes de alta velocidade, gerncia de redes, redes mveis e sem fio, arquitetura TCP/IP, roteamento TCP/ IP, middleware, e sistemas operacionais. Participa como pesquisador colaborador de projetos de pesquisa com outras instituies, a saber: InfraVida (UFPE) desenvolvendo um sistema de videoconferncia com aplicao em telemedicina; e I2TV/HiTV (UFPB) desenvolvendo um middleware para televiso digital interativa. Atua no Grupo de Trabalho RNP de Vdeo Digital 2003/2004, na coordenao local da equipe de Natal. Luiz Carlos Lobato formado em Engenharia Eletrnica pelo ITA, com ps-graduao em Negcios e Servios de Telecomunicaes pelo CEFET-RJ. Possui certificao de redes Cisco CCNA. Gerente da Diviso de Suporte Tcnico da Telebrs at a privatizao das Telecomunicaes, sendo responsvel pela operao e gerncia da Rede de Dados do Sistema Telebrs. Aps a privatizao atuou como Coordenador de Cursos de Tecnologia de Redes (Graduao Superior) em diversas faculdades. colaborador da Escola Superior de Redes desde 2008, tendo elaborado material de treinamento e lecionado diversos cursos na rea de Redes. Atualmente Coordenador Acadmico de Administrao e Projeto de Redes da ESR.

xvi

1
Conceitos bsicos de redes
objetivos
Apresentar os conhecimentos bsicos para entender como as redes de computadores interagem, e como podem ser organizadas e interligadas para serem aproveitadas para prover os mais variados servios.

conceitos

Introduo a redes de computadores, conceitos bsicos e terminologia; interconexo de redes, equipamentos que a possibilitam, categorias e topologias de redes mais usuais e meios de comunicao utilizados na maioria das redes.

Redes de computadores
Uma rede de computador uma interconexo de estaes de trabalho, perifricos, terminais e outros dispositivos. Caractersticas de uma rede: 11 Dois ou mais computadores interligados. 11 Meio fsico de comunicao (hardware e software). 11 Aplicativos para transferncia de informao. Existem diversas definies para uma rede de computadores. Segundo William Stallings,

quando dois ou mais computadores esto interconectados via uma rede de comunicao, o conjunto das estaes de computadores chamado de rede de computadores. J a organizao internacional de padronizao ISO define uma rede de computadores na norma ISO/IEC 7498-1: Um conjunto de um ou mais computadores, o software associado, perifricos, terminais, operadores humanos, processos fsicos, meios de transferncia de informao, entre outros componentes, formando um conjunto autnomo capaz de executar o processamento e a transferncia de informaes. Todas as definies tm algumas caractersticas em comum, a saber: 11 Dois ou mais computadores interligados; 11 Meio fsico de comunicao (com fio, sem fio, metlico, fibra etc); 11 Vrios tipos de equipamentos (estaes de usurios, servidores, concentradores etc); 11 Software para comunicao entre os equipamentos (protocolos); 11 Software de aplicao, para transferncia de informao.
Captulo 1 - Conceitos bsicos de redes

De maneira geral, podemos dizer que os componentes de uma rede so: 11 Estaes de trabalho de usurios, que podem ser de vrios tipos: desktops, laptops, dispositivos mveis em geral: celulares, tablets etc; 11 Meios de comunicao de qualquer tipo para interconexo dos equipamentos de rede; 11 Equipamentos de rede que compem a infraestrutura da rede: hubs, switches, roteadores, etc. importante ressaltar que a rede no um fim em si mesmo, isto , ningum monta uma rede simplesmente para interligar equipamentos fisicamente, sem que haja algum tipo de transferncia de informao. A motivao bsica para a criao de redes a transferncia de informaes entre os equipamentos que a compem. A transferncia de informaes pode ser feita de vrias maneiras, dependendo das necessidades dos usurios, das aplicaes desenvolvidas, dos protocolos de redes e da infraestrutura fsica propriamente dita da rede. Em resumo, podemos conceituar uma rede como uma interconexo de estaes de trabalho, perifricos, terminais e outros dispositivos.

Para que servem as redes?


As redes fazem parte do nosso dia a dia, permitindo o acesso a partir de nossos celulares, tablets e notebooks, seja ela a rede da nossa organizao ou os servios da internet. Cabe organizao prover a infraestrutura de rede de acesso sobre a qual so disponibilizados os servios e aplicaes corporativas. As redes servem para: 11 Permitir aos usurios acesso remoto a servios e aplicaes como: correio eletrnico, internet banking e comrcio eletrnico, para citar os mais comuns. 11 Permitir a comunicao entre os usrios, como os servios de voz sobre IP e videoconferncia, entre tantos outros. 11 Compartilhar recursos especializados como impressoras, disco e processamento (exemplo: grids computacionais).

Tipos de redes
Mesmo com essas semelhanas, as redes podem ser divididas em duas categorias mais amplas:
Arquitetura e Protocolos de Rede TCP-IP

11 Redes par-a-par. 11 Redes cliente-servidor.

Figura 1.1 Redes par-a-par e cliente-servidor.

A distino entre as redes par-a-par (peer-to-peer) e as redes cliente-servidor importante, pois cada uma possui capacidades diferentes. O tipo de rede a ser implementada depende de caractersticas que incluem as relacionadas a seguir.

Redes par-a-par
11 Cada computador funciona como cliente e servidor. 11 Redes relativamente simples. 11 Nvel de suporte administrativo disponvel. 11 Sem hierarquia. 11 Sem servidores dedicados. 11 Todos os computadores podem ser cliente e servidor. 11 Construdas com os servios do sistema operacional. 11 Mais simples e baratas do que as redes cliente-servidor. 11 Tambm chamadas de grupos de trabalho. 11 Tipicamente tm menos de 10 computadores. 11 Todos os usurios esto localizados na mesma rea geral. 11 A segurana no uma questo importante. 11 A empresa e a rede tero um crescimento limitado em um futuro previsvel. Em uma rede par-a-par, no existem servidores dedicados ou hierarquia entre os computadores. Todos os computadores so iguais e, portanto, chamados pares. Normalmente, cada

computador funciona tanto como cliente quanto como servidor, e nenhum deles designado para ser um servidor para toda a rede. O usurio de qualquer computador determina os dados de seu computador que so compartilhados na rede. As redes par-a-par so relativamente simples. Uma vez que cada computador funciona como cliente e servidor, no h necessidade de um servidor central complexo ou de outros componentes para uma rede de grande capacidade. As redes par-a-par podem ser mais baratas do que as redes cliente-servidor.
Grupo de trabalho Pelo termo subentende-se um pequeno grupo de pessoas. Uma rede par-a-par, tipicamente, tem pouco menos de 10 computadores.

As redes par-a-par tambm so chamadas de grupos de trabalho. Em uma rede par-a-par, o software de comunicao de rede no requer o mesmo nvel de desempenho e segurana de um software de comunicao de rede projetado para servidores dedicados. Os servidores dedicados funcionam apenas como servidores e no so utilizados como um cliente ou uma estao de trabalho. Eles sero discutidos com mais detalhes posteriormente. Em sistemas operacionais como Microsoft Windows, desde a verso 2000, bem como nos sistemas Unix/Linux, as redes par-a-par so construdas dentro do sistema operacional, sem a exigncia de nenhum outro software para configurar uma rede deste tipo. Em um ambiente par-a-par tpico, vrias questes de rede possuem solues de implementao padronizadas, que incluem: 11 Computadores localizados nas mesas dos usurios; 11 Usurios que atuam como seus prprios administradores e planejam sua prpria segurana; 11 Utilizao de um sistema simples de cabeamento de fcil visualizao, que conecta computador a computador na rede.
Captulo 1 - Conceitos bsicos de redes

As redes par-a-par so uma boa escolha para ambientes com as seguintes caractersticas: 11 Menos de 10 usurios; 11 Todos os usurios esto localizados na mesma rea geral; 11 A segurana no uma questo importante; 11 A empresa e a rede tero um crescimento limitado em um futuro previsvel.

Requisitos do computador para rede par-a-par


Em um ambiente par-a-par, cada computador deve: 11 Utilizar uma porcentagem significativa de seus recursos para suportar o usurio local (o usurio no computador). 11 Utilizar recursos adicionais para suportar cada usurio remoto (o usurio que est acessando o computador via a rede) que estiver acessando seus recursos.

Em uma rede par-a-par, cada usurio administra seu prprio computador, uma vez que no existe servidor de rede e, portanto, tambm no h necessidade de administrao centralizada, nem da figura do administrador de rede. Assim, cada usurio configura os recursos de seu computador que estaro disponveis para os demais usurios da rede: discos, pastas, impressoras, entre outros, definindo se o acesso vai ser livre para todos ou mediante senha, e assim por diante. Ento, parte dos recursos de seu computador ser usada pelos demais membros da rede, e parte usada pelo prprio usurio. Essa proporo de utilizao de recursos fica a critrio de cada usurio. Usurios mais conservadores podero liberar pouco ou nenhum recurso para a rede, enquanto usurios mais liberais podero liberar mais recursos para a rede.

Redes cliente-servidor
11 Servidores dedicados. 11 Estaes clientes no oferecem servios rede. 11 Usadas em ambientes com mais de 10 usurios. Podem ser necessrios vrios servidores: 11 Servidores de Arquivo e Impresso. 11 Servidores de Aplicaes. 11 Servidores de Correio. 11 Servidores de Fax. 11 Servidores de Comunicao.
Arquitetura e Protocolos de Rede TCP-IP

Em um ambiente com mais de 10 usurios, uma rede par-a-par, com os computadores operando como servidores e clientes, provavelmente no ser adequada. Portanto, a maior parte das redes possui servidores dedicados. Um servidor dedicado aquele que funciona apenas como servidor e no utilizado como cliente ou estao de trabalho. Os servidores so dedicados porque so otimizados para processar rapidamente as requisies dos clientes da rede e para garantir a segurana dos arquivos e pastas. As redes baseadas em servidor tornaram-se o modelo padro para a comunicao de rede e sero utilizadas como exemplos bsicos. Conforme aumentam o tamanho e o trfego das redes, mais de um servidor necessrio na rede. Como a diversidade de tarefas que os servidores devem desempenhar variada

e complexa, a distribuio de tarefas entre vrios servidores garante que cada tarefa seja desempenhada da maneira mais eficiente possvel. Os servidores de grandes redes se tornaram especializados para acomodar as necessidades crescentes dos usurios. Em uma rede tpica baseada em servidor, os diferentes tipos de servidores incluem os que sero analisados a seguir.

Servidores de arquivo e impresso


Os servidores de arquivo e impresso gerenciam o acesso do usurio e a utilizao dos recursos de arquivos e impressora. Por exemplo, se voc estivesse executando um aplicativo de processamento de texto, o aplicativo seria executado no seu computador e o documento seria armazenado no servidor de arquivos e impresso, mas transferido e carregado na memria de seu computador para que voc possa utiliz-lo localmente.

Servidores de aplicaes
Os servidores de aplicaes executam as funes de servidor, disponibilizando dados para os clientes. Por exemplo, os servidores armazenam enorme quantidade de dados que esto estruturados para facilitar sua recuperao. Servidores de aplicaes so diferentes de um servidor de arquivo e impresso, em que os dados ou o arquivo so carregados para o computador que fez a requisio. Com um servidor de aplicao, o banco de dados fica no servidor e apenas os resultados requeridos so carregados no computador que fez a requisio. Uma aplicao cliente executada localmente tem acesso aos dados no servidor de aplicao. Em vez de todo o banco de dados ser carregado do servidor para o seu computador local, apenas os resultados da sua consulta so carregados nele.

Servidores de correio
Os servidores de correio gerenciam mensagens eletrnicas entre os usurios da rede.

Servidores de fax
Os servidores de fax gerenciam o trfego de fax para dentro e para fora da rede, compartilhando uma ou mais placas de fax modem.

Servidores de comunicao
Os servidores de comunicao manipulam o fluxo de dados (por exemplo, arquivos, men sagens, programas, etc.) entre a prpria rede do servidor e outras redes, computadores mainframe ou usurios remotos, atravs da utilizao de modems e linhas telefnicas para discar para o servidor.
Captulo 1 - Conceitos bsicos de redes

Vantagens da rede cliente-servidor


11 Compartilhamento de recursos. 11 Compartilhamento de dados. 11 Redundncia. 11 Escalabilidade. 11 Computador cliente mais simples.

Vantagens da rede cliente-servidor: 11 Compartilhamento de recursos um servidor projetado para fornecer acesso a muitos arquivos e impressoras, ao mesmo tempo em que mantm o desempenho e a segurana para o usurio. 11 Compartilhamento de dados o compartilhamento de dados baseado em servidor pode ser administrado e controlado de forma centralizada. Em geral, os recursos so centralizados e mais fceis de localizar e suportar do que os recursos distribudos em diversos computadores. 11 Redundncia atravs de sistemas de redundncia, os dados em qualquer servidor podem ser duplicados e mantidos on-line para que, mesmo se algo acontecer aos dados na rea de armazenamento de dados principal, uma cpia de backup dos dados possa ser usada para recuper-los. 11 Escalabilidade uma rede baseada em servidor pode dar suporte a milhares de usurios, pois os utilitrios de monitorao e gerenciamento de rede possibilitam a operao da rede para um grande nmero de usurios. Este tipo de rede jamais poderia ser gerenciada como uma rede par-a-par. 11 Computador cliente mais simples o hardware do computador cliente pode ser limitado s necessidades do usurio, pois os clientes no precisam de RAM adicional e armazenamento em disco para fornecer servios do servidor.

Tipos de conexes
11 Conexo ponto-a-ponto. 11 Conexo multiponto.

Existem dois tipos bsicos de conexo entre redes: ponto-a-ponto e multiponto; da combinao destas duas surgem as demais topologias que sero aqui abordadas.

Conexo ponto-a-ponto
11 Conexo entre dois pontos. 11 Enlace dedicado. 11 Sem escalabilidade.

Este o tipo mais simples de ligao entre redes, em que os equipamentos so conectados entre si por uma nica linha de comunicao. Quando algum deles tiver algo a transmitir, a linha estar disponvel.
Arquitetura e Protocolos de Rede TCP-IP

Figura 1.2 Exemplo de conexo ponto-a-ponto.

Esse tipo de conexo no adequado para maior quantidade de equipamentos, como podemos ver na prxima figura, que reproduz as conexes ponto-a-ponto para 4 equipamentos.

Figura 1.3 Exemplo de mltiplas conexes ponto-a-ponto.

Observe que so necessrias 6 linhas para interligar todos os equipamentos entre si. O clculo para n estaes feito atravs da frmula: nmero de conexes = n(n-1)/2. No nosso exemplo, o nmero de conexes = 4(4-1)/2 = 6. Imagine agora o caso de uma centena ou mais de equipamentos interligados dessa forma; o mesmo problema que os projetistas de redes telefnicas tiveram que resolver. Essa soluo no tem escalabilidade. A soluo adotada pelos projetistas de redes telefnicas foi uma das topologias clssicas que sero abordadas adiante neste curso. Antes disso, vamos apresentar outro tipo de conexo que no apresenta problemas de escalabilidade.

Conexo multiponto
11 Muitos pontos ligados ao mesmo meio fsico. 11 Mensagens propagadas por difuso. 11 Escalabilidade. Este tipo de conexo permite que todas as estaes se comuniquem entre si diretamente, e no apresenta os problemas de escalabilidade da conexo ponto-a-ponto. Existe apenas um nico meio de comunicao interligando todas as estaes, atravs de muitos pontos

de conexo, um para cada estao; da o nome de multiponto. A principal caracterstica de conexes multiponto permitir a conexo de uma grande quantidade de estaes.

Ponto de
Figura 1.4 Conexo multiponto.

Meio fsico

conexo

As topologias clssicas e suas derivadas so tipos especiais de redes que usam as caractersticas dos dois tipos bsicos (ponto-a-ponto e multiponto).

Topologias de redes
11 Barramento. 11 Anel. 11 Estrela.

Captulo 1 - Conceitos bsicos de redes

A topologia a forma de ligao dos equipamentos em uma rede. A topologia se refere ao nvel fsico e ao meio de conexo entre os dispositivos, sendo dependente do projeto de suas funes, da confiabilidade e do seu custo de manuteno. Ao se planejar uma rede, muitos fatores devem ser considerados. Um dos fatores mais importantes o tipo de participao dos ns. Um n pode ser fornecedor ou usurio de recursos, ou uma mescla de ambos os tipos.

Topologia Barramento
11 Conexes multiponto. 11 Mensagens propagadas por difuso. 11 Controle de acesso ao meio centralizado ou descentralizado. 11 Escalabilidade. 11 Limitada fisicamente pelo tamanho do barramento. 11 Boa tolerncia a falhas. Neste tipo de topologia todos os ns (estaes) se ligam ao mesmo meio de transmisso. A barra geralmente compartilhada em tempo e frequncia, permitindo a transmisso de informaes. O trfego das informaes bidirecional e cada n conectado barra pode escutar todas as informaes transmitidas. Esta caracterstica facilita as aplicaes que requerem a propagao das mensagens por difuso.

Figura 1.5 Topologia Barramento.

Observe que essa topologia uma simples aplicao do tipo bsico multiponto, normalmente usada com cabeamento coaxial, que requer o uso de terminadores nas extremidades do barramento para casar a impedncia e evitar a reflexo do sinal eltrico. O barramento pode ser um simples segmento de rede interligando as estaes dos usurios ou um backbone que interliga diversos segmentos de rede. Existe uma variedade de mecanismos para o controle de acesso ao barramento, que podem ser centralizados ou descentralizados. A tcnica adotada para acesso rede a multiplexao no tempo. No controle centralizado, o direito de acesso determinado por uma estao especial da rede. Em um ambiente de controle descentralizado, a responsabilidade de acesso distribuda entre todos os ns.
Arquitetura e Protocolos de Rede TCP-IP

Backbone A interconexo central de uma rede pode ser entendida como uma espinha dorsal de conexes que interliga pontos distribudos da rede, formando uma grande via de trfego de informaes.

Nas topologias em barramento, as falhas nas estaes no causam a parada total do sistema, que no entanto pode ser causada por falhas no barramento. O desempenho de um sistema em barramento determinado pelo meio de transmisso, nmero de ns conectados, controle de acesso e tipo de trfego, entre outros fatores. O tempo de resposta pode ser altamente dependente do protocolo de acesso utilizado.

Topologia Anel
11 Conexes ponto-a-ponto. 11 Mensagens propagadas de uma estao para outra. 11 Controle de acesso ao meio determinstico. 11 Pouca tolerncia a falhas. Uma rede em anel consiste de estaes conectadas atravs de um caminho fechado.

Nesta configurao, redes em anel so capazes de transmitir e receber dados em qualquer direo, mas as configuraes mais usuais so unidirecionais, de forma a tornar menos sofisticados os protocolos de comunicao que asseguram a entrega da mensagem ao destino corretamente e em sequncia. Observe que esta topologia nada mais do que uma sucesso de conexes ponto-a-ponto entre as estaes, de maneira a formar um anel.

Figura 1.6 Topologia Anel.

Quando uma mensagem enviada por um n, ela entra no anel e circula at ser retirada pelo n destino, ou ento at voltar ao n fonte, dependendo do protocolo empregado. O ltimo procedimento mais desejvel porque permite o envio simultneo de um pacote para mltiplas estaes. Outra vantagem permitir que determinadas estaes possam receber pacotes enviados por qualquer outra estao da rede, independentemente de qual seja o n destino. Os maiores problemas desta topologia so relativos sua baixa tolerncia a falhas. Qual quer controle de acesso empregado pode ser perdido por problemas de falha, podendo ser difcil determinar com certeza se este controle foi perdido ou decidir o n que deve recri-lo. Erros de transmisso e processamento podem fazer com que uma mensagem continue eternamente a circular no anel. A utilizao de uma estao de monitoramento contorna estes problemas. Outras funes desta estao seriam: iniciar o anel, enviar pacotes de ou outra qualquer que assuma essas funes em algum momento. Esta configurao requer que cada n seja capaz de remover seletivamente mensagens da rede ou pass-las adiante para o prximo n. Nas redes unidirecionais, se uma linha entre dois ns cair, todo o sistema sair do ar at que o problema seja resolvido. Se a rede for bidirecional, nenhum n ficar inacessvel, j que poder ser atingido pelo outro lado.
Captulo 1 - Conceitos bsicos de redes

teste e diagnstico e outras tarefas de manuteno. A estao monitora pode ser dedicada

Topologia Estrela
11 Conexes ponto-a-ponto. 11 Mensagens propagadas atravs do n central. 11 Controle de acesso ao meio centralizado ou descentralizado. 11 Boa tolerncia a falhas. 11 O n central chamado de barramento colapsado.

Neste tipo de rede, todos os usurios comunicam-se com um n central, por onde so transmitidas todas as mensagens. Atravs do n central, os usurios podem transmitir mensagens entre si. O n central funciona como um comutador de mensagens para transmisso dos dados entre eles. Observe que essa topologia tambm uma combinao de conexes ponto-a-ponto, s que todas as conexes convergem para o n central.

Figura 1.7 Topologia Estrela.

O arranjo em estrela a melhor escolha se o padro de comunicao da rede for de um conjunto de estaes secundrias que se comunicam com o n central. As situaes onde isto mais comum so aquelas em que o n central est restrito s funes de comutao de mensagens. O n central pode realizar outras funes alm da comutao e processamento das mensagens. Por exemplo, pode compatibilizar a velocidade de comunicao entre o transmissor e o receptor. Se os dispositivos fonte e destino utilizarem diferentes protocolos, o n central pode atuar como um conversor, permitindo a comunicao entre duas redes de fabricantes diferentes. No caso de ocorrer falha em uma estao ou no elo de ligao com o n central, apenas
Arquitetura e Protocolos de Rede TCP-IP

esta estao ficar fora de operao. Entretanto, se uma falha ocorrer no n central, todo o sistema poder ficar fora do ar. A soluo deste problema seria a redundncia do n central, mas isto acarretaria um aumento considervel dos custos. A expanso de uma rede deste tipo s pode ser feita at certo limite, imposto pelo n central: em termos de capacidade de comutao, nmero de circuitos concorrentes que podem ser gerenciados e nmero de ns que podem ser servidos. O desempenho de uma rede em estrela depende da quantidade de tempo requerido pelo n central para processar e encaminhar mensagens, e da carga de trfego de mensagens, ou seja, o desempenho limitado pela capacidade de processamento do n central. A maioria dos sistemas de computao com funes de comunicao possui um software que implementa esta configu rao que facilita o controle da rede.

10

Comparao entre topologias


O quadro seguinte resume os pontos positivos e negativos de cada topologia descrita at aqui. Tipos de topologia Topologia Estrela Pontos positivos 11Mais tolerante a falhas. 11Facilidade para instalar usurios. 11Monitoramento centralizado. Topologia Anel (Token Ring) 11Requer menos cabos. 11Razoavelmente fcil de instalar. 11Desempenho uniforme. Topologia Barramento 11Simples e fcil de instalar. 11Requer menos cabos. 11Fcil de entender. Pontos negativos 11Custo de instalao maior porque usa mais cabos.

11Se uma estao para, todas param.

11Os problemas so difceis de isolar. 11A rede fica mais lenta em perodos de uso intenso.

Figura 1.8 Comparao entre topologias de rede.

11Os problemas so difceis de isolar.

Redes LAN, MAN e WAN


Uma rede de comunicao pode ser classificada segundo um ou mais critrios. Podemos classificar as redes de acordo com:
Topologia hbrida Combinao de duas ou mais topologias de qualquer tipo.

11 Topologia(barramento, anel, estrela, hbrida). 11 Meio fsico(cobre, fibra ptica, micro-ondas, infravermelho). 11 Tecnologia de suporte (comutao de pacotes, comutao de circuitos, assncronas, plesicronas, sncronas etc). 11 Segundo oambiente ao qual se destinam(redes de escritrio, redes industriais, redes militares, redes de sensores etc). No entanto, a classificao mais comum baseia-se na rea geogrfica ou organizacional e a entram os termos que normalmente ouvimos: LAN, MAN, WAN, PAN etc. Vamos apresentar as definies mais comuns.

LAN
11 Cabeamento em distncias de at 10 km. 11 Alta taxa de transmisso (Mbps, Gbps). 11 Baixa taxa de erros.

11 Propriedade privada. 11 Topologia bsica (barramento, anel, estrela). Redes LAN(LocalArea Networks) tambm so designadas como redes locais. Tipo de rede mais comum, uma vez que permite interligar computadores, servidores e outros equipamentos de rede em uma rea geogrfica limitada, como uma sala de aula, residncia, escritrio etc.

Captulo 1 - Conceitos bsicos de redes

11 Baixo custo de cabeamento.

11

Corporate rewall

Internet

Caractersticas: 11 Cabeamento em distncias de at 10 km, dependendo do tipo de cabo usado (par metlico, fibra ptica, sem fio etc); 11 Alta taxa de transmisso (Mbps, Gbps), em funo das curtas distncias e do tipo de cabeamento que permite taxas elevadas de transmisso; 11 Baixa taxa de erros, uma consequncia das curtas distncias e da qualidade do cabeamento; 11 Baixo custo de cabeamento, em funo das distncias envolvidas, uma vez que o custo do cabeamento diretamente proporcional distncia; 11 Propriedade privada, devido facilidade de cabear pequenas distncias, usualmente dentro das instalaes de uma empresa ou de uma residncia;
Arquitetura e Protocolos de Rede TCP-IP

Figura 1.9 Redes LAN.

11 Topologia bsica (barramento, anel ou estrela).

MAN
11 Cabeamento em distncias de at 100 km. 11 Alta taxa de transmisso (Mbps, Gbps). 11 Baixa taxa de erros. 11 Custo de cabeamento mdio. 11 Propriedade privada ou pblica. 11 Topologia em anel.

12

Redes MAN (Metropolitan Area Networks) so redes de comunicao que cobrem uma rea do tamanho de uma cidade ou bairro. Permitem a interligao de redes e equipamentos numa rea metropolitana, como em locais situados em diversos pontos de uma cidade.
LAN

LAN

LAN

NPE

Metropolitan Area Network

NPE

MAN

MAN
LAN

LAN
Figura 1.10 Redes MAN.

NPE

NPE

Caractersticas: 11 Cabeamento em distncias de at 100 km, para cobrir um bairro, uma cidade pequena ou um campus universitrio; 11 Alta velocidade de transmisso (Mbps, Gbps), como no caso das LANs; 11 Baixa taxa de erros, como tambm ocorre com as LANS; 11 Custo de cabeamento mdio, uma vez que as distncias envolvidas so maiores do que numa rede local; 11 Propriedade privada ou pblica, dependendo de quem construiu a rede; numa rede local sempre a prpria empresa, mas em uma rede MAN pode ser um servio oferecido por terceiros, em funo dos custos de infraestrutura; 11 Topologia em anel, mais econmica para as distncias metropolitanas. As redes MANs atuais esto usando a tecnologia Ethernet de LANs, porque as fibras pticas permitem alcanar distncias maiores com alta taxa de transmisso (dezenas de Gbps) a um custo inferior ao das redes WANs nas mesmas condies. Essas redes so chamadas redes Metro Ethernet. Graas facilidade de instalao de fibras pticas e ao seu baixo custo, as redes esto da distncia fique rapidamente ultrapassada. Para diferenciar as redes entre si, a tecnologia utilizada mais importante do que a distncia entre os enlaces.
Captulo 1 - Conceitos bsicos de redes

alcanando distncias cada vez maiores, fazendo com que a simples classificao em funo

WAN
11 Cabeamento de longas distncias (sem limite). 11 Baixa a alta taxa de transmisso (Kbps, Mbps, Gbps). 11 Taxa de erros maior do que nas LANs. 11 Alto custo de cabeamento. 11 Propriedade pblica.

13

Redes WAN (Wide Area Netwoks) permitem a interligao de redes locais, metropolitanas e equipamentos de rede, em uma grande rea geogrfica, como um pas ou continente.

Figura 1.11 Redes WAN.

Caractersticas: 11 Cabeamento de longas distncias (sem limite), devido maior abrangncia geogrfica; 11 Taxa de transmisso pode ser de baixa a alta (Kbps, Mbps, Gbps), em funo dos diferentes tipos de meios fsicos adotados e das distncias envolvidas; 11 Taxa de erros superior a das LANs, em funo do tipo de meio fsico adotado e das distncias envolvidas; 11 Alto custo de cabeamento, por causa da abrangncia geogrfica; 11 Propriedade pblica, devido ao alto custo dos investimentos em infraestrutura. As redes WAN projetadas para o servio de dados tm velocidades muito altas, da ordem de Gigabits por segundo (Gbps), graas s facilidades de instalao de fibras pticas e reduo do custo dos equipamentos de grande capacidade de transmisso. Tais redes se
Arquitetura e Protocolos de Rede TCP-IP

w
Consulte a verso atual do mapa em http://www.rnp.br/ backbone/

justificam pela velocidade de transferncia de dados e pela possibilidade de compartilha mento dos enlaces de alta velocidade entre muitos usurios. Desta forma, possvel encontrar WANs com velocidades muito altas (da ordem de dezenas de Gbps), superando as velocidades usuais de LANs (Mbps, Gbps). Normalmente essas WANs de velocidade muito alta so usadas nos backbones das operadoras de telecomunicaes que prestam servios de dados para o pblico em geral, normalmente usando a arquitetura TCP/IP.

14

Meios de comunicao
Cabo metlico: 11 Cabo coaxial. 11 Cabo par tranado. Cabo fibra ptica. Cabeamento estruturado. Redes sem fio. O projeto de cabeamento de uma rede, que faz parte do meio fsico usado para interligar

computadores, um fator de extrema importncia para o bom desempenho de uma rede. Esse projeto envolve aspectos sobre a taxa de transmisso, largura de banda, facilidade de instalao, imunidade a rudos, confiabilidade, custos de interfaces, exigncias geogrficas, conformidade com padres internacionais e disponibilidade de componentes.

Cabo metlico
Cabo coaxial: 11 Cabo fino 10Base2 com conector BNC. 11 Cabo grosso 10Base5. 11 Obsoleto substitudo pelo par tranado e fibra ptica. Cabo par tranado: 11 Quatro pares tranados dois a dois. 11 Conector RJ-45 (8 fios). 11 Velocidades de 10 Mbps at 10 Gbps. 11 Facilidade de manuteno.

Nessa categoria encontram-se atualmente dois tipos de cabos: coaxial e par tranado, sendo que o coaxial est praticamente fora de uso para redes locais, mas ainda muito utilizado nas instalaes de TV a cabo.

Cabo coaxial
11 Velocidade de 10 Mbps. 11 Distncia mxima do segmento: 185m ou 500m. 11 Obsoleto, devido dificuldade de manuteno.

que a permitida pelos cabos de par tranado sem blindagem (UTP), embora sejam mais caros e menos flexveis que estes. O cabo coaxial foi o primeiro cabo disponvel no mercado. At alguns anos atrs era o meio de transmisso mais moderno que existia em termos de transporte de dados. Em redes locais so usados dois tipos de cabos coaxiais: 10Base5 e 10Base2. Os cabos 10Base2, tambm chamados de cabos coaxiais finos (ou cabos Thinnet) so os cabos coaxiais usados em redes Ethernet para a conexo de estaes dos usurios. Seu dimetro de apenas 0.18 polegadas, cerca de 4.7 milmetros, o que os torna razoavelmente flexveis. Segundo a norma IEEE802.3 de redes Ethernet, o comprimento mximo do cabo coaxial fino

Captulo 1 - Conceitos bsicos de redes

Os cabos coaxiais permitem que os dados sejam transmitidos atravs de uma distncia maior

15

de 185m e as estaes a ele conectadas constituem um segmento Ethernet. Podem ser necessrios vrios segmentos para conectar todas as estaes de uma rede local, dependendo da quantidade de estaes e das distncias envolvidas. Os cabos 10Base5, tambm chamados de cabos coaxiais grossos (ou cabos Thicknet), possuem cerca de 0,4 polegadas ou quase 1 centmetro de dimetro, e por isso so caros e difceis de instalar, devido baixa flexibilidade. Tambm podem ser usados vrios segmentos para conectar todas as estaes de uma rede local, dependendo da quantidade de estaes e das distncias envolvidas. possvel conectar segmentos 10Base2 e 10Base5, desde que atendendo regra 5-4-3, alcanando distncias entre 925m e 2500m. A regra 5-4-3 diz que uma rede Ethernet com cabo coaxial fino pode conter 5 segmentos unidos por 4 repetidores, mas somente 3 desses segmentos podem ser povoados por estaes. Os outros dois segmentos restantes so usados como ligaes entre repetidores. Repetidores podem ser usados para interligar segmentos Ethernet e estender a rede para um comprimento total de 925 metros at 2500 metros. A Figura 1.12 exemplifica essa regra.

Trunk segment 1 Repeater 1 Trunk segment 2 Trunk segment 3 Repeater 2 Repeater 3

Trunk segment 4 Repeater 4 Trunk segment 5 Os cabos coaxiais so constitudos de 4 camadas: 11 Um condutor interno, o fio de cobre que transmite os dados; 11 Uma camada isolante de plstico, chamada de dieltrico, que envolve o cabo interno; 11 Uma malha de metal que protege as duas camadas internas e conduz o aterramento eltrico; 11 Uma nova camada de revestimento, chamada de jaqueta, conforme mostra a figura a seguir.
Figura 1.12 Regra 5-4-3.

Arquitetura e Protocolos de Rede TCP-IP

Jaqueta

Malha de metal

Isolamento interno (dieltrico)

Fio de cobre

Figura 1.13 Estrutura do cabo coaxial.

Para conectar as estaes dos usurios ao cabo coaxial fino so usados conectores do tipo BNC, mostrados na figura a seguir. O T BNC usado para conectar as estaes ao cabo coaxial. O terminador usado nas duas pontas do segmento do cabo coaxial para casamento de impedncia e para eliminar a reflexo do sinal eltrico.

16

Conector T

Figura 1.14 Conectores T BNC.

Terminador

Conector BNC

O nmero 10 na sigla 10Base2 significa que os cabos podem transmitir dados a uma velocidade de 10 Mbps; Base significa banda base e se refere ao tipo de transmisso digital com uma nica frequncia portadora, na qual somente uma estao transmite de cada vez, e o nmero 2, que teoricamente significaria 200 metros, na prtica apenas um arredondamento, pois nos cabos 10Base2 a distncia mxima utilizvel de 185 metros. O mesmo vale para o cabo 10Base5, com a diferena de que a distncia mxima de 500 metros.

Cabo par tranado


11 Velocidade de 10 Mbps/10 Gbps. 11 Topologia fsica estrela. 11 Topologia lgica barramento. 11 Exige concentrador. 11 Facilidade de manuteno.

Os cabos par tranado so os mais usados, pois tm um melhor custo benefcio. Podem ser comprados em lojas de informtica, feitos sob medida ou ainda produzidos pelo prprio usurio, e ainda tm velocidade 10 vezes maior do que os cabos coaxiais, no mnimo. O cabo par tranado surgiu da necessidade de se ter cabos mais flexveis e com maior velocidade de transmisso. Ele vem substituindo os cabos coaxiais desde o incio da dcada de 90. Hoje em dia rara a utilizao de cabos coaxiais em novas instalaes de rede, apesar do custo adicional decorrente da utilizao de hubs ou switches. O custo do cabo mais baixo e a instalao mais simples. O nome par tranado no exatamente a traduo do termo original (que seria par torcido, do ingls twisted pair). Os cabos coaxiais usam uma malha de metal que protege o cabo de dados contra interferncias externas; os cabos de par tranado, por sua vez, usam um tipo de proteo mais sutil: o entrelaamento dos cabos cria um campo eletromagntico que oferece uma razovel proteo contra interferncias externas. Estes cabos so constitudos justamente por 4 pares de cabos torcidos par-a-par, conforme mostra a figura a seguir.

Figura 1.15 Cabo par tranado.

As chamadas categorias em sistemas de cabeamento em par tranado seguem padres determinados e normatizados pela ANSI/EIA (American National Standards Institute/ Electronic Industries Alliance), que define diversas categorias (tipos de cabo, velocidades, junes, conectores etc) e seus usos. A tabela a seguir resume as categorias de cabos do tipo par tranado mais usadas e suas caractersticas.

Captulo 1 - Conceitos bsicos de redes

17

Categoria CAT 1

Taxa mxima de transmisso At 1 Mbps (1 MHz)

Aplicao usual Voz Analgico (POTS) ISDN (Integrated Services Digital Network) Basic Rate Interface Fiao tipo fio de telefone Utilizado em sistemas de cabeamento IBM Token Ring Voz e dados em rede 10BASE-T Ethernet Usado em redes Token Ring de 16 Mbps 100 Mbps TPDDI 155 Mbps ATM No mais utilizado, substitudo pelo CAT 5E 100 Mbps TPDDI 155 Mbps ATM Gigabit Ethernet Aplicaes de banda larga super-rpidas Suporta completamente 10 Gigabit Ethernet (10GBASE-T) Vdeo em Full-motion Telerradiologia Redes especializadas de governo Redes especializadas de manufatura Redes especializadas de ensino Sistema blindado

CAT 2 CAT 3 CAT 4 CAT 5

4 Mbps 10 / 16 Mbps 16 / 20 Mbps 100 Mbps 1 Gbps (4 pares) 1 Gbps (10 Gbps prottipo) At 400 MHz At 625 MHz (testado em campo at 500 MHz) 600-700 MHz 1.2 GHz em pares com conector Siemon

CAT 5E

CAT 6 CAT 6A CAT 7

Observaes sobre a tabela: 11 As categorias 3 e 5 ainda so grande maioria das instalaes existentes. 11 Com a queda nos preos de equipamentos que suportam Gigabit Ethernet, os padres CAT6 e CAT6A tm sido os preferidos para novas instalaes, pois j oferecem suporte aos padres Gigabit e 10 Gigabit Ethernet. A utilizao do cabo par tranado tem suas vantagens e desvantagens. Veremos em seguida as principais.

Figura 1.16 Categorias de cabos par tranado.

Vantagens
11 Preo mesmo com a obrigao da utilizao de outros equipamentos na rede, a relao custo benefcio melhor. 11 Flexibilidade como bastante flexvel, ele pode ser facilmente passado por dentro de condutes embutidos em paredes.
Arquitetura e Protocolos de Rede TCP-IP

11 Facilidade de manuteno cada estao conectada ao concentrador com seu prprio cabo, de forma independente das demais estaes. 11 Velocidade atualmente esse cabo trabalha com taxas de transferncia de 10 Mbps (categoria 3), 100 Mbps (categorias 5 e 5E), 1 Gbps (categorias 5 e 6) e de 10 Gbps (categorias 6 e 6A).

Desvantagens
11 Comprimento sua principal desvantagem o limite de comprimento do cabo, de aproximadamente 100m entre a estao e o concentrador. 11 Interferncia baixa imunidade interferncia eletromagntica, fator preocupante em ambientes industriais.

18

A montagem do cabo par tranado relativamente simples. Alm do cabo, voc precisar de um conector RJ-45 de presso para cada extremidade do cabo e de um alicate de presso para conectores RJ-45, tambm chamado de alicate crimpador. Assim como ocorre com o cabo coaxial, fica difcil passar o cabo por condutes e por estruturas usadas para ocultar o cabo, depois que os conectores RJ-45 esto instalados. Por isso, o cabo deve ser passado antes da instalao dos conectores, sendo cortado no comprimento desejado. Lembre-se de deixar uma folga de alguns centmetros, j que o micro poder posteriormente precisar mudar de lugar. Alm disso, voc poder errar na hora de instalar o conector RJ-45, fazendo com que seja preciso cortar alguns poucos centmetros do cabo para instalar novamente outro conector. Para a utilizao de alguns poucos cabos, vale a pena compr-los prontos. J para quem vai precisar de muitos cabos, ou para quem vai trabalhar com instalao e manuteno de redes, mais vantajoso ter os recursos necessrios para construir os cabos. Devem ser comprados os conectores RJ-45, rolos de cabo, um alicate para fixao do conector e um testador de cabos. Vale a pena destacar que a montagem manual de uma rede de par tranado vivel em ambiente de uma LAN pequena ou rede domstica. Em redes corporativas, necessrio utilizar ferramentas e equipamentos especiais de infraestrutura fsica, como ser visto adiante quando tratarmos de cabeamento estruturado.

Cabo fibra ptica


11 Velocidade 1 Gbps/10 Gbps/ 40 Gbps/100 Gbps. 11 Conexes ponto-a-ponto. 11 Redes LAN e MAN Ethernet. 11 Imune a rudo eletromagntico. Ao contrrio dos cabos coaxiais e de par tranado, que nada mais so do que fios de cobre

que transportam sinais eltricos, a fibra ptica transmite luz e por isso totalmente imune a qualquer tipo de interferncia eletromagntica. Alm disso, como os cabos so feitos de plstico e fibra de vidro (ao invs de metal), so resistentes corroso. O cabo de fibra ptica formado por um ncleo extremamente fino de vidro, ou mesmo de um tipo especial de plstico. Uma nova cobertura de fibra de vidro, bem mais grossa, envolve e protege o ncleo. Em seguida h uma camada de plstico protetora chamada de cladding, uma nova camada de isolamento e finalmente uma capa externa chamada bainha, conforme mostra a figura a seguir.

Figura 1.17 Estrutura do cabo de fibra ptica.

Bainha

Isolamento

Cladding

Cobertura de bra

Ncleo

A transmisso de dados por fibra ptica realizada pelo envio de um sinal de luz codificado, dentro do domnio de frequncia do espectro visvel. As fontes de transmisso de luz podem ser diodos emissores de luz (LED) ou lasers semicondutores. O cabo ptico com transmisso de raio laser o mais eficiente em potncia, devido sua espessura reduzida. J os cabos com diodos emissores de luz so muito baratos, alm de mais adaptveis temperatura ambiente e de terem um ciclo de vida maior que o do laser. O princpio de propagao da luz em fibras pticas est demonstrado na figura a seguir.

Captulo 1 - Conceitos bsicos de redes

19

O Princpio de Propagao em Fibras pticas


Revestimento primrio Casca Ncleo Revestimento Casca Ncleo primrio O raio de luz com ngulo menor que o crtico absorvido pela casca ngulo de incidncia ngulo de reexo
Figura 1.18 Princpio de progao da luz em fibras pticas.

A luz propagada pela reexo interna total

Existem dois tipos de fibra ptica: monomodo e multimodo. A primeira usada principal mente em telecomunicaes, devido s grandes distncias que consegue alcanar. A segunda usada em redes locais sem requisitos severos de distncia, e so mais baratas do que as monomodo. A diferena entre elas est no modo de propagao da luz, conforme mostrado nas figuras a seguir.

Casca Eixo Ncleo Casca Fibra Monomodo Ncleo - entre 8 9 microns Casca - 125 microns Ncleo Casca

Figura 1.19 Fibra ptica monomodo.

Casca Eixo Ncleo Casca Raio refratado Ncleo - 50 ou 62,5 microns Casca - 125 microns Fibra Gradual Multimodo Ncleo Casca
Figura 1.20 Fibra ptica multimodo

Apesar de alcanar distncias muito maiores do que os cabos metlicos, a fibra ptica tambm sofre do fenmeno de atenuao do sinal luminoso, por causa da absoro de luz pela casca e imperfeies do material (slica). Algumas frequncias de luz sofrem mais atenuao do que outras. A figura a seguir mostra os comprimentos de onda mais usados e as atenuaes mximas permitidas pela recomendao.

20

Arquitetura e Protocolos de Rede TCP-IP

7 6

Primeira Janela

Segunda Janela

Terceira Janela

Atenuao (dB/km)
Figura 1.21 Comprimentos de onda mais usados em fibras pticas.

5 4 3 2 1 0 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800

Comprimento de Onda (nm)


A fibra ptica tem inmeras vantagens sobre os condutores de cobre, sendo as principais: 11 Maior alcance; 11 Maior velocidade; 11 Imunidade a interferncias eletromagnticas. O custo do metro de cabo de fibra ptica no elevado em comparao com os cabos convencionais. Entretanto, seus conectores so bastante caros, assim como a mo de obra necessria para a sua montagem. A montagem desses conectores requer, alm de um curso especializado, o uso de instrumentos como microscpios, ferramentas especiais para corte e polimento, mquinas de fuso de fibra, medidores e outros aparelhos sofisticados. A Figura 1.22 mostra os principais padres de fibra ptica. Os termos OS1 e OS2 so classificaes de fibras pticas monomodo, onde OS2 tem menor atenuao. Existem outros tipos de fibras especificadas no documento Understanding OM1,OM2,OM3, OS1,OS2 Fiber.pdf.

Figura 1.22 Padres de fibra ptica.

Padro 100BASE-SX 100BASE-FX 100BASE-BX 100BASE-LX10 1000BASE-SX 1000BASE-LX 1000BASE-LX10 1000BASE-BX10 1000BASE-ZX

Taxa 100Mb/s 100Mb/s 100Mb/s 100Mb/s 1Gb/s 1Gb/s 1Gb/s 1Gb/s 1Gb/s

Comprimento de onda 850nm 1310nm 1310/1550nm 1310nm 850nm 1310nm 850nm 1310/1490nm 1550nm

OS1

OS2

10-40Km 10Km

10-40Km 10Km

5Km 10Km 10Km 70Km

5Km 10Km 10Km 70Km

Captulo 1 - Conceitos bsicos de redes

21

Padro 10GBASE-SR/SW 10GBASE-LR/LW 10GBASE-LRM 10GBASE-LX4 10GBASE-ER/EW 10GBASE-ZR/ZW 40GBASE-SR4 40GBASE-LR4 100GBASE-SR10 100GBASE-LR4 100GBASE-LR10 100GBASE-ER4

Taxa 10Gb/s 10Gb/s 10Gb/s 10Gb/s 10Gb/s 10Gb/s 40Gb/s 40Gb/s 100Gb/s 100Gb/s 100Gb/s 100Gb/s

Comprimento de onda 850nm 1310nm 1310nm 1310nm 1550nm 1550nm 850nm 1310nm 850nm 1295/1310nm 1310nm 1295/1310nm

OS1

OS2

4,2Km

10Km

4,2Km 8,9Km

10Km 22,25Km 80Km

4.7Km

10Km

8.3Km 8.3Km 16Km

10Km 10Km 40Km

Cabeamento estruturado
11 Norma ANSI/TIA/EIA-568-B. 11 Norma NBR 14565 ABNT 2001. 11 Cabeamento do prdio inteiro. 11 Patch panel. Montar uma rede domstica bem diferente de montar uma rede local de 100 pontos em uma empresa de mdio porte. No apenas porque o trabalho mais complexo, mas tambm porque existem normas mais estritas a cumprir.

O padro para instalao de redes locais em prdios o ANSI/TIA/EIA-568-B, que especifica normas para a instalao do cabeamento, topologia da rede e outros quesitos, chamados genericamente de cabeamento estruturado. No Brasil, temos a norma NBR 14565, publicada pela ABNT em 2001. A ideia central do cabeamento estruturado cabear todo o prdio de forma a colocar pontos de rede em todos os locais onde eles possam ser necessrios. Todos os cabos vo para um ponto central, onde ficam os switches e outros equipamentos de rede. Os pontos no pre Arquitetura e Protocolos de Rede TCP-IP

cisam ficar necessariamente ativados, mas a instalao fica pronta para quando precisar ser usada. A longo prazo, sai mais barato instalar todo o cabeamento de uma vez, de preferncia antes do local ser ocupado, do que fazer modificaes a cada vez que for preciso adicionar um novo ponto de rede. Alm dos switches, um equipamento muito usado para a concentrao dos cabos o painel de conexo (patch panel), um intermedirio entre as tomadas de parede e outros pontos de conexo e os switches da rede. Os cabos vindos dos pontos individuais so numerados e instalados em portas correspondentes do patch panel e as portas utilizadas so ento ligadas aos switches. Veja o detalhe do patch panel na figura a seguir.

22

Figura 1.23 Patch panel.

Alm de melhorarem a organizao dos cabos, os patch panels permitem o uso de um nmero muito maior de pontos de rede do que de portas nos switches. A ideia que todo o escritrio ou andar do prdio seja cabeado, com todas as tomadas ligadas ao patch panel. No caso de um escritrio novo, provavelmente poucas tomadas sero usadas no incio, permitindo o uso de um nico switch. Conforme mais tomadas sejam usadas, so adicionados novos switches e outros componentes de rede, conforme a necessidade. Outra vantagem que com os cabos concentrados no patch panel, tarefas como desativar um ponto ou lig-lo a outro segmento da rede (ligando-o a outro switch ou roteador) ficam muito mais simples. Os patch panels so apenas suportes, sem componentes eletrnicos. Por isso so relativamente baratos, normalmente instalados em bastidores (racks), junto com os switches e outros equipamentos. Os switches so ligados s portas do patch panel atravs de cabos de rede curtos, chamados de cabos de conexo (patch cords).

Cabeamento horizontal
Temos em seguida a rede secundria, que na norma internacional chamada de cabeamento horizontal (horizontal cabling), sendo composta pelos cabos que ligam o armrio de telecomunicaes s tomadas onde so conectados os computadores da rede. Estes so os cabos permanentes, instalados como parte do cabeamento inicial e usados ainda por muito tempo. Veja a figura a seguir.
Cabeamento secundrio

Figura 1.24 Cabeamento estruturado. Fonte: Morimoto, Carlos E. Redes, Guia Prtico. GDH Press e Sul Editores, 2008

Armrio de telecomunicaes

rea de trabalho

Captulo 1 - Conceitos bsicos de redes

Pontos de rede

23

Como possvel notar, este sistema prev o uso de trs segmentos de cabo: 11 O patch cord ligando o switch ao patch panel; 11 O cabo da rede secundria, ligando o patch panel tomada na rea de trabalho; 11 O cabo entre a tomada e o computador.

Cabeamento vertical
O cabeamento vertical (ou backbone) prov a ligao dos armrios de telecomunicaes com a sala central de equipamentos, sendo constitudo dos meios de transmisso, seus conectores e terminaes. Para este subsistema recomendado utilizar: 11 Fibra ptica multimodo de 62.5/125 microns; 11 Par tranado UTP de 100 Ohms; 11 Par tranado STP de 150 Ohms. Para outras aplicaes so indicados os cabos: 11 Fibra ptica multimodo tipo 50/125 ou 100/140 microns; 11 Fibra ptica monomodo; 11 Par tranado STP de 100 Ohms.

Redes sem fio


Rede sem fio um conjunto de equipamentos de rede conectados por ondas eletromagnticas. O meio de comunicao o ar, ao invs de fios. Uma rede sem fio dispensa cabeamento, tomadas, conectores, dutos, calhas etc. Tambm conhecida por WLAN (ou Wireless LAN). A motivao para o uso de rede sem fio pode ser: 11 Mobilidade WLANs permitem aos usurios o acesso informao de qualquer lugar da organizao, sem necessidade de procurar um ponto de rede para se conectar, aumentando a flexibilidade e a produtividade. 11 Confiabilidade menos fios e conectores significam menos pontos de falha e, portanto, menos problemas para usurios e gerentes de rede. 11 Facilidade de instalao WLANs no precisam de caras e demoradas instalaes de cabeamento, especialmente em reas que no tenham sido construdas com a previso de cabeamento estruturado; dispensam fios pendurados no forro ou nas paredes ou, ainda pior, espalhados pelo cho. 11 Custo o custo da instalao de uma WLAN pode ser menor do que o de uma soluo cabeada, principalmente em ambientes que sofrem frequentes mudanas de layout.
Arquitetura e Protocolos de Rede TCP-IP

11 Escalabilidade sistemas WLAN so facilmente configurados e remanejados para suportar uma variedade de ambientes de rede, tanto de pequenas como de grandes empresas.

Componentes da WLAN
11 Estaes de trabalho e dispositivos sem fio. 11 Pontos de acesso.

A Figura 1.21 representa uma rede sem fio tpica, onde o roteador sem fio o ponto central de conexo dos equipamentos que usam a interface de rede sem fio (wireless NIC).

24

Esse roteador chamado de Ponto de Acesso (Access Point). Os computadores e notebooks na figura representam as estaes de trabalho dos usurios que requerem mobilidade e, portanto, no devem ser conectados a pontos fixos de rede, como ocorre com os desktops.

WLAN de pequeno porte


11 Rede sem cabeamento. 11 Encontrada em casas e pequenas empresas. Em instalaes pequenas, podemos encontrar backbones WLAN sem rede cabeada, como na Figura 1.25.

PC com NIC de rede sem o

Notebook com NIC de rede sem o

Internet Modem ADSL Roteador sem o

Figura 1.25 Backbone WLAN.

Notebook com NIC de rede sem o

Notebook com NIC de rede sem o

Esse tipo de instalao no usual, principalmente no ambiente corporativo. Os usurios se conectam atravs de um ponto de acesso (access point), que atua como um switch ou roteador. Cada ponto de acesso pode conectar vrios usurios, teoricamente no havendo limite de conexes. Na prtica, o limite a largura de banda disponvel para os usurios.

WLAN corporativa
Integrada rede cabeada da empresa.

A placa de rede sem fio tratada pelo sistema operacional (Windows, Linux ou outro) como se fosse uma placa de rede Ethernet comum, simplificando assim a instalao e configurao. mais comum a ocorrncia de um misto de rede cabeada e WLAN, conforme mostrado na Figura 1.26.

Captulo 1 - Conceitos bsicos de redes

25

PC com NIC de rede sem o

Roteador banda larga

Modem ADSL Internet

Switch Ethernet Roteador sem o

PCs com NIC par tranado


O backbone da rede no exige mobilidade e pode ser cabeado, mesmo porque as exigncias de velocidade e capacidade podem exceder as especificaes de uma WLAN. Os usurios, que exigem mobilidade, podem ser conectados via WLAN, integrando assim o melhor dos dois mundos. O ponto de acesso permite conexo rede cabeada como se fosse um switch ou roteador.

Figura 1.26 Rede integrada LAN e WLAN.

Padres WLAN IEEE 802.11


11 802.11b. 11 802.11g. 11 802.11a. 11 802.11n. Todos os padres mostrados operam com tcnicas de transmisso especficas como, por exemplo, Direct Sequence Spread Spectrum DSSS (Espalhamento Espectral por Sequncia

Direta), tcnica desenvolvida para fins militares, com o objetivo de confundir a deteco de sinal por terceiros. O sinal resultante se assemelha a um rudo radioeltrico. A frequncia de 2.4 GHz,
Arquitetura e Protocolos de Rede TCP-IP

embora tenha maior alcance do que a de 5.8 GHz, est mais sujeita a interferncias de outros dispositivos como telefones sem fio, fornos de micro-ondas e controles remotos diversos. Devido compatibilidade entre os padres 802.11b e 802.11g, comum encontrar notebooks e placas de rede sem fio que suportam os dois padres. O padro 802.11n relativamente mais recente e os equipamentos que o suportam so mais caros e difceis de encontrar.

26

Padro IEEE 802.11b 802.11g 802.11a

Frequncia de operao 2400-2483,5 MHz

Tcnica de modulao DSSS DSSS, OFDM

Velocidade 11 Mbps 54 Mbps 54 Mbps

5150-5350 MHz 5470-5725 MHz 5725-5850 MHz

OFDM

802.11n
Figura 1.27 Padres WLAN IEEE 802.11.

2400-2483,5 MHz 5150-5350 MHz 5470-5725 MHz 5725-5850 MHz

MIMO-OFDM

600 Mbps

Nos padres 802.11b e 802.11g, as frequncias das portadoras variam de 2,401 a 2,473 GHz e so divididas em 11 canais sobrepostos, sendo ortogonais apenas os canais 1, 6 e 11, cada um com largura de banda de 22 MHz e banda de guarda (espao entre os canais) de 3 MHz. A figura seguinte mostra essa distribuio de frequncias pelos diversos canais. No caso de mais de um equipamento operando no mesmo local, recomendvel que cada equipamento utilize um canal ortogonal diferente dos demais, tanto quanto possvel. Desta forma a interferncia entre eles ser mnima.

10

11

Frequncia (GHz) 2,412


Figura 1.28 Canais de transmisso WLAN.

2,437

2,462

Equipamentos de rede
11 Placas de rede. 11 Concentradores. 11 Switches. 11 Roteadores. Os equipamentos de rede so especficos para operar em rede, no fazendo parte do hardware padro das estaes de trabalho, em geral. Mesmo as interfaces de rede, que j vm normalmente embutidas nos computadores IBM-PC e notebooks, so consideradas

funcionalidade da estao de trabalho ser comprometida, exceto, claro, o acesso rede. A funo principal desses equipamentos de redes permitir o acesso rede e o suporte da infraestrutura necessria para o bom funcionamento da rede.

Placas de rede
Interface Dispositivo fsico ou lgico que faz a adaptao entre dois sistemas.

As interfaces de rede so fisicamente materializadas atravs das placas de rede, tambm conhecidas como NIC (Network Interface Card Carto de Interface de Rede). A placa de rede o hardware que permite aos computadores conversarem entre si atravs da rede.

Captulo 1 - Conceitos bsicos de redes

como perifricos opcionais pelo sistema operacional. Se no estiverem presentes, nenhuma

27

Sua funo controlar todo o envio e recebimento de dados atravs da rede. Alm da arquitetura usada, as placas de rede venda no mercado diferenciam-se tambm pela taxa de transmisso, cabos de rede suportados e barramento utilizado. Cada arquitetura de rede exige um tipo especfico de placa de rede; voc jamais poder usar uma placa de rede Token Ring em uma rede Ethernet, pois ela simplesmente no conseguir comunicar-se com as demais. As placas de rede mais usadas so as placas Ethernet. Elas adotam um esquema de endereamento especfico para identificar os computadores na rede local Ethernet, chamado de endereo MAC (MAC Address). 11 Cada placa Ethernet tem um nico endereo MAC. 11 Endereos MAC proveem uma forma dos computadores se identificarem, fornecendo um nome nico e permanente . Os 3 primeiros octetos identificam o fabricante (OUI) e os 3 ltimos a placa de rede propria mente dita. O fabricante assume o compromisso de no repetir endereos.

Endereos MAC
Gravados na memria ROM da placa de rede, identificam origem e destino do quadro Ethernet. Tm 48 bits expressos em hexadecimal: 11 24 bits OUI. 11 24 bits nmero serial. Endereos MAC so chamados s vezes de Burned-in Addresses (BIAs), porque so queimados na memria ROM da placa de rede e copiados na RAM quando a NIC inicializa.

Possuem 48 bits em comprimento, expressos como 12 dgitos em hexadecimal; os primeiros 6 dgitos hexadecimais so administrados pelo IEEE e identificam o fabricante, sendo chamados de Organizational Unique Identifier (OUI); os 6 dgitos hexadecimais restantes traduzem o nmero serial da placa de rede. O protocolo Ethernet usa endereo MAC para identificar origem e destino do quadro Ethernet. Quando um computador envia um quadro Ethernet, ele inclui o endereo MAC na sua placa de rede (NIC) como o endereo MAC de origem. Analogia: como se, ao enviar uma carta, usssemos apenas um nome, ao invs de um endereo estruturado com CEP. Desvantagens dos endereos MAC: 11 No identificam a rede, apenas o equipamento. 11 No so estruturados hierarquicamente e so considerados flat address space.
Arquitetura e Protocolos de Rede TCP-IP

11 Devido a essa caracterstica, no so roteveis de uma rede para outra.

Quadro Ethernet
A figura a seguir mostra os campos do quadro Ethernet, destacando os campos de endereo.

8 Prembulo

6 Endereo destino

6 Endereo origem

2 Tipo

46-1500 Dados

4 FCS
Figura 1.29 Quadro Ethernet.

28

Descrio dos campos: 11 Prembulo sequncia de 8 octetos com a finalidade especfica de sincronizar os relgios (clock) do receptor com o do transmissor; os primeiros 7 octetos tm o mesmo contedo (em binrio): 10101010 e o oitavo octeto (Start Field Delimiter) tem o seguinte contedo (em binrio): 10101011; 11 Endereo destino endereo MAC da estao de destino do quadro; quando o quadro se destina a todas as estaes da rede local (broadcast) o endereo (em hexadecimal): ff:ff:ff:ff:ff:ff; 11 Endereo origem endereo MAC da estao que enviou o quadro; 11 Tipo indica o protocolo de camada de rede que est sendo encapsulado no quadro; os valores mais comuns nesse campo so (em hexadecimal): 0x8000 (protocolo IP Internet Protocol) e 0x0806 (protocolo ARP Address Resolution Protocol); 11 Dados campo que contm os dados recebidos da camada de rede, como por exemplo um datagrama IP; o tamanho mnimo desse campo de 46 octetos e o mximo de 1500 octetos; 11 Frame Check Sequence (FCS) campo de verificao de erros; se algum bit do quadro estiver corrompido, este campo indicar que o quadro est errado, mas no indicar o erro. Portanto, o quadro ser descartado na impossibilidade de corrigi-lo.

Exerccio de fixao 1 e Identificando as informaes da interface de rede


No prompt de comando do Windows, utilize o comando ipconfig /all e identifique as informa es da interface de rede do desktop da sala de aula. Descrio do adaptador fsico: Endereo fsico: Endereo IP: Mscara de rede: Gateway padro: Faa a mesma consulta ao Linux da mquina virtual CORE disponibilizado no desktop. Para isto utilize o comando ifconfig. Caso possua outro dispositivo com tecnologia wireless, como celular ou tablet, procure identificar estas informaes no seu aparelho.

11 Todos os dispositivos conectados ao concentrador esto no mesmo domnio de coliso. 11 Dispositivos compartilham banda sob demanda.

Concentradores (hubs) so pontos de conexo para dispositivos em uma rede, que contm mltiplas portas e so usados para conectar segmentos de uma LAN. Quando um pacote chega a uma porta, este copiado para as outras portas; assim, todos os segmentos podem ver todos os pacotes. Um hub passivo simplesmente serve de conduto para os dados, habilitando-o a ir de um dispositivo (ou segmento) para outro.

Captulo 1 - Conceitos bsicos de redes

Concentradores

29

Figura 1.30 Analogia para o funcionamento de um hub.

Todos os dispositivos conectados em um concentrador esto no mesmo domnio de coliso; o domnio de coliso definido como um conjunto de equipamentos, em que apenas um pode transmitir de cada vez. Os equipamentos conectados a um hub, independente da quantidade de portas, esto todos no mesmo domnio de coliso. A banda disponvel dividida pelos dispositivos conectados. Enquanto A fala com B, C no pode falar com D: um nico domnio de coliso. Por esse motivo, equipamentos do tipo hub no so recomendados nos dias de hoje. A Figura 1.30 compara concentradores (hubs) com uma autoestrada de uma nica faixa de rolamento e com mltiplos pontos de acesso (entradas e sadas). Quanto mais pontos de entrada na autoestrada, maior a probabilidade de ocorrer uma coliso. Analogamente, quanto maior for o nmero de estaes terminais (hosts) conectadas em um concentrador (hub) tentando acessar o meio fsico, maior ser a probabilidade de ocorrerem colises.

Switches
11 Cada segmento de rede tem seu prprio domnio de coliso. 11 Cada porta do switch um domnio de coliso. 11 O switch capaz de ler os endereos MAC de origem e destino. Para reduzir o nmero de colises, um switch pode ser dividido em vrios segmentos, cada um definindo um domnio de coliso distinto. Um switch de 24 portas possui 24 domnios de coliso.

30

Arquitetura e Protocolos de Rede TCP-IP

2
Figura 1.31 Esquema de operao de switch.

3 4

Funcionamento do switch
A grande vantagem do switch, em relao ao hub, decorre do fato do switch ser capaz de ler os endereos MAC de origem e destino no quadro Ethernet, enquanto o hub no l os endereos MAC, apenas repete os quadros que entram por uma porta para todas as demais. Switch Ethernet o equipamento que realiza a funo de comutao de quadros na camada de enlace. Em redes Ethernet, os quadros da LAN so transferidos atravs da rede, com base nos endereos de origem e destino contidos no cabealho MAC do quadro. Essencialmente, a mesma coisa que bridging, mas sempre empregando hardware dedicado para realizar a comutao (switching).

Switch Memria

Figura 1.32 Analogia do funcionamento de switches.

A Figura 1.32 compara um switch a uma autoestrada. Compare com a figura do concen trador (hub), observando as diferenas e semelhanas. Note que a estrada tem vrias faixas de rolamento, uma para cada domnio de coliso.

Captulo 1 - Conceitos bsicos de redes

31

Roteadores
Roteadores so dispositivos de rede mais tradicionais, como de backbone das intranets e da internet. Eles tomam decises baseadas nos endereos de rede. Atualmente comum que switches desempenhem funes de roteador. Principais funes: 11 Seleo dos melhores caminhos de sada para os pacotes de entrada. 11 Roteamento destes pacotes para a interface de sada apropriada. Roteador o dispositivo responsvel pelo encaminhamento de pacotes de comunicao em uma rede ou entre redes. Tipicamente, uma instituio, ao se conectar internet, dever

adquirir um roteador para conectar sua rede local (LAN) ao ponto de presena mais prximo. Roteadores escolhem os melhores caminhos atravs da construo de tabelas de roteamento e da troca de informaes de rede com outros roteadores da rede. Esta troca, que pode ser realizada de vrias formas e com diferentes algoritmos, caracteriza os protocolos de roteamento. Exemplos de protocolos de roteamento: RIPv1, RIPv2, OSPF, EIGRP, BGP, IS-IS. Um exemplo simples de roteador o roteador sem fio usado em instalaes de pequeno porte, tambm conhecido como roteador domstico, que tem uma porta WAN (que se conecta internet atravs de um provedor) e uma porta LAN para conectar a rede local do usurio. Essa rede local do usurio pode ser sem fio, atravs de adaptadores de redes sem fio (NIC ou adaptadores USB) ou com fio, conectada atravs do switch embutido no prprio roteador (usualmente com 4 portas LAN).
E1

N5

N1

R3

R4

N4

E2

R2 R1 N2 N3

Figura 1.33 Escolha do melhor caminho pelo roteador.

possvel configurar manualmente (estaticamente) tabelas de roteamento, mas em geral elas so mantidas e atualizadas dinamicamente pelos protocolos de roteamento, que trocam informaes sobre a topologia de rede com outros roteadores vizinhos. O estudo
Arquitetura e Protocolos de Rede TCP-IP

avanado de protocolos de roteamento no faz parte do programa deste curso. Roteadores mantm tabelas de roteamento construdas a partir da troca de informaes entre roteadores vizinhos. Antes de qualquer roteamento, o administrador deve confi gurar o roteador para adquirir, esttica ou dinamicamente, informaes que popularo sua tabela de roteamento. Funes dos roteadores: 11 Determinao do melhor caminho; 11 Endereamento lgico; 11 Conexo com servios WAN.

32

Um tipo comum de roteador o ponto de acesso sem fio.

Tabelas de roteamento
11 Endereamento lgico permite hierarquizao das redes. 11 Requer configurao: no plug and play. 11 Usa informao configurada para identificar os melhores caminhos.

Rede 1.0

Rede 4.0

1.3 1.1 E0

2.1 S0 Rede 2.0

2.2 S0

4.3 E0 4.1

Tabela de roteamento NET 1.2 1 2 4


Figura 1.34 Tabelas de roteamento.

Tabela de roteamento NET 1 2 4 INT S0 S0 E0 Mtrica 1 0 0 4.2

INT E0 S0 S0

Mtrica 0 0 1

As tabelas de roteamento da figura anterior mostram o caminho para chegar s redes. Cada interface do roteador fica numa rede diferente. As interfaces conectadas s LANs so chamadas E0, E1 ..., enquanto as conectadas s WANs so chamadas S0, S1 etc. A mtrica fornece uma ideia da distncia at a rede, isto , da quantidade de roteadores no caminho at o destino. Essa mtrica chamada de Vetor Distncia e mede a quantidade de saltos (hops) at o destino final. Veremos mais adiante que o endereamento lgico em redes TCP/IP usa o endereo IP no formato de notao decimal pontuada como, por exemplo, 200.130.26.201, onde cada nmero representa um octeto, totalizando 4 octetos ou 32 bits. O esquema de endereamento IP adota uma abordagem hierrquica que identifica a rede e a estao dentro da rede, utilizando a mscara de rede para separar a identificao da rede da identificao da estao. A mscara de rede tambm adota o formato de notao decimal pontuada, tendo bits 1 no identificar de rede e bits 0 no identificador de estao. Por exemplo, a mscara 255.255.255.0 indica que o identificador de rede possui 24 bits e o identificador de estao possui 8 bits. Veremos tambm que o roteador que encaminha pacotes para outras redes denominado gateway padro, sendo tambm identificado com um endereo IP.
Captulo 1 - Conceitos bsicos de redes

33

34

Arquitetura e Protocolos de Rede TCP-IP

Roteiro de Atividades 1
Atividade 1.1 Montagem de uma rede par-a-par
Cada bancada montar uma rede local par-a-par utilizando um switch do tipo mostrado na figura seguinte. O modelo pode variar de um fabricante para outro, mas o importante so as 8 portas LAN mostradas na figura. As bancadas sero respectivamente denominadas: grupo1, grupo2, ..., grupo6 (mximo de 6 grupos).

Figura 1.35 Portas LAN do switch.

TODOS os equipamentos devem estar DESLIGADOS durante a montagem da rede.


1. O primeiro passo desconectar as mquinas da bancada da rede local do laboratrio

e conect-las s portas LAN do switch, em qualquer ordem. Use os cabos par tranado fornecidos pelo instrutor.
2. Depois de conferir todas as conexes, ligue todos os equipamentos. Observe se os leds

do switch que correspondem s portas LAN utilizadas esto acesos. Isso significa que o cabo est corretamente conectado.
3. A configurao dos endereos IPv4 deve ser feita manualmente.

O endereo IP que ser usado deve ser escolhido da tabela abaixo, de acordo com o grupo ao qual sua bancada pertence. A mscara de sub-rede ser sempre 255.255.255.0 e o gateway padro ser sempre 192.168.1.254. Nome do grupo grupo1 Faixa de endereos IPv4 192.168.1.1 a 192.168.1.10 Endereo por aluno (Windows e Linux) Aluno1: 192.168.1.1 e 192.168.1.2 Aluno2: 192.168.1.3 e 192.168.1.4 Aluno3: 192.168.1.5 e 192.168.1.6 Aluno4: 192.168.1.7 e 192.168.1.8
Captulo 1 - Conceitos bsicos de redes

Aluno5: 192.168.1.9 e 192.168.1.10 grupo2 192.168.1.11 a 192.168.1.20 Aluno1: 192.168.1.11 e 192.168.1.12 Aluno2: 192.168.1.13 e 192.168.1.14 Aluno3: 192.168.1.15 e 192.168.1.16 Aluno4: 192.168.1.17 e 192.168.1.18 Aluno5: 192.168.1.19 e 192.168.1.20 grupo3 192.168.1.21 a 192.168.1.30 Aluno1: 192.168.1.21 e 192.168.1.22 Aluno2: 192.168.1.23 e 192.168.1.24 Aluno3: 192.168.1.25 e 192.168.1.26 Aluno4: 192.168.1.27 e 192.168.1.28 Aluno5: 192.168.1.29 e 192.168.1.30

35

Nome do grupo grupo4

Faixa de endereos IPv4 192.168.1.31 a 192.168.1.40

Endereo por aluno (Windows e Linux) Aluno1: 192.168.1.31 e 192.168.1.32 Aluno2: 192.168.1.33 e 192.168.1.34 Aluno3: 192.168.1.35 e 192.168.1.36 Aluno4: 192.168.1.37 e 192.168.1.38 Aluno5: 192.168.1.39 e 192.168.1.40

grupo5

192.168.1.41 a 192.168.1.50

Aluno1: 192.168.1.41 e 192.168.1.42 Aluno2: 192.168.1.43 e 192.168.1.44 Aluno3: 192.168.1.45 e 192.168.1.46 Aluno4: 192.168.1.47 e 192.168.1.48 Aluno5: 192.168.1.49 e 192.168.1.50

grupo6

192.168.1.51 a 192.168.1.60

Aluno1: 192.168.1.51 e 192.168.1.52 Aluno2: 192.168.1.53 e 192.168.1.54 Aluno3: 192.168.1.55 e 192.168.1.56 Aluno4: 192.168.1.57 e 192.168.1.58 Aluno5: 192.168.1.59 e 192.168.1.60

4. Verifique no Windows ou no Linux se a configurao do endereo IP foi realizada com sucesso.

Verifique no Painel de Controle do Windows se o firewall est desabilitado. Esse passo importante, porque se o firewall estiver ativo, os testes de conectividade sero prejudicados.
5. Teste a conectividade com as mquinas do seu grupo que esto ligadas ao switch de sua

bancada, com o comando ping. No exemplo a seguir, assumindo que o endereo IP: 192.168.1.2 pertence sua bancada.

C:\>ping 192.168.1.2 Disparando contra 192.168.1.2 com 32 bytes de dados: Resposta de 192.168.1.2: bytes=32 tempo=1ms TTL=128 Resposta de 192.168.1.2: bytes=32 tempo=16ms TTL=128 Resposta de 192.168.1.2: bytes=32 tempo<1ms TTL=128 Resposta de 192.168.1.2: bytes=32 tempo=16ms TTL=128 Estatsticas do Ping para 192.168.1.2:
Arquitetura e Protocolos de Rede TCP-IP

Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda), Aproximar um nmero redondo de vezes em milissegundos: Mnimo = 0ms, Mximo = 16ms, Mdia = 8ms
Como podemos verificar, o ping funcionou, indicando que existe conectividade entre as mquinas de sua bancada.
6. Teste a conectividade com as mquinas de outro grupo que esto ligadas ao switch de

outra bancada, com o comando ping, conforme exemplificado a seguir, assumindo que o endereo IP: 192.168.1.11 pertence outra bancada. Aguarde at que a outra bancada esteja com a configurao pronta. O resultado deve ser parecido com a listagem a seguir.

36

C:\>ping 192.168.11.1 Disparando contra 192.168.11.1 com 32 bytes de dados: Esgotado o tempo limite do pedido. Esgotado o tempo limite do pedido. Esgotado o tempo limite do pedido. Esgotado o tempo limite do pedido. Estatsticas do Ping para 192.168.11.1: Pacotes: Enviados = 4, Recebidos = 0, Perdidos = 4 (100% de perda),
Como podemos verificar, o ping NO funcionou, indicando que no existe conectividade com as mquinas das outras bancadas. Por qu?

Atividade 1.2 Conectando a rede ao switch do laboratrio


Nesta atividade conectaremos a rede do grupo rede do laboratrio, formando uma nica rede na sala de aula.
1. Conecte uma porta LAN do switch num ponto de rede do laboratrio. Aproveite o ponto

livre de uma das mquinas da bancada. A ligao deve ficar semelhante mostrada na figura seguinte.

Rede local do laboratrio

Aguarde at que todas as demais bancadas faam o mesmo. O instrutor deve coordenar essa atividade. Repita o teste de conectividade entre os grupos.

Atividade 1.3 Teste de conectividade do grupo com a internet


Para conexo com a internet, ser necessrio configurar o endereo do Servidor DNS prefe rencial com o endereo IP fornecido pelo instrutor. O servidor DNS, tambm chamado de servidor de nomes, traduz os nomes dos equipamentos em endereos IP, para que os usurios no precisem decorar os endereos dos servidores que pretendem acessar. Por exemplo, mais fcil decorar www.google.com do que o endereo IP: 74.125.234.112.

Captulo 1 - Conceitos bsicos de redes

Figura 1.36 Rede local par-a-par.

B Bancada

37

1. Verifique a conectividade com a internet, atravs do mesmo comando ping, conforme

abaixo (podem ser escolhidos outros endereos na internet).

C:\>ping esr.rnp.br Disparando contra esr.rnp.br [200.130.35.73] com 32 bytes de dados: Resposta de 200.130.35.73: bytes=32 tempo=23ms TTL=61 Resposta de 200.130.35.73: bytes=32 tempo=1ms TTL=61 Resposta de 200.130.35.73: bytes=32 tempo=1ms TTL=61 Resposta de 200.130.35.73: bytes=32 tempo=1ms TTL=61 Estatsticas do Ping para 200.130.35.73: Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda), Aproximar um nmero redondo de vezes em milissegundos: Mnimo = 1ms, Mximo = 23ms, Mdia = 6ms
2. Observe que usamos o nome no lugar do endereo IP, mas mesmo assim funcionou. Por qu?

Atividade 1.4 Anlise da troca de pacotes na rede


Nesta atividade, usaremos o software Wireshark, que pode ser obtido gratuitamente em: http://www.wireshark.org O software pertence a uma categoria especfica de ferramentas de rede chamada Network Protocol Analyzer (Analisador de Protocolo de Rede ou sniffer). O Wireshark captura pacotes IP na interface de rede do equipamento onde est sendo executado. Se o equipamento tiver vrias interfaces de rede, necessrio especificar em QUAL interface de rede ser realizada a captura de pacotes IP.
1. A tela inicial do Wireshark est mostrada a seguir, na qual aparece como feita a escolha
Figura 1.37 Tela inicial do Wireshark.

da interface de rede para iniciar a captura, bastando clicar no primeiro cone esquerda na barra de ferramentas superior.
Arquitetura e Protocolos de Rede TCP-IP

38

No nosso caso, foi escolhida a interface de rede com o endereo IP: 192.168.1.101. Para isso, basta clicar no boto Start da interface escolhida. As demais so interfaces virtuais para outras finalidades que no se aplicam aqui.
2. Vamos agora repetir o teste de conectividade entre as estaes, usando a mesma janela

DOS. O resultado apresentado a seguir corresponde a um ping da estao com endereo IP 192.168.1.101 para a estao com endereo IP: 192.168.1.102.

C:\>ping 192.168.1.102 Disparando contra 192.168.1.102 com 32 bytes de dados: Resposta de 192.168.1.102: bytes=32 tempo=7ms TTL=128 Resposta de 192.168.1.102: bytes=32 tempo<1ms TTL=128 Resposta de 192.168.1.102: bytes=32 tempo<1ms TTL=128 Resposta de 192.168.1.102: bytes=32 tempo<1ms TTL=128 Estatsticas do Ping para 192.168.1.102: Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda), Aproximar um nmero redondo de vezes em milissegundos:
Figura 1.38 Janela de captura do Wireshark aberta na estao de origem do ping.

Mnimo = 0ms, Mximo = 7ms, Mdia = 1ms


Na janela de captura do Wireshark aberta na estao de origem do ping, podemos ver o resultado mostrado a seguir. Esse resultado varia de acordo com o instante em que o comando ping executado.

importante observar os seguintes pontos: 11 Na janela Filter:, foi digitado o nome do protocolo que desejamos analisar: ICMP. S sero mostrados os pacotes desse protocolo, embora tenham sido capturados pacotes com todo tipo de protocolo; 11 O pacote 44, cujo endereo IP de origem 192.168.1.101 e que tem como endereo IP de destino 192.168.1.102, o pacote gerado pela aplicao ping que usa o protocolo ICMP, mensagem Echo request ; 11 O pacote 45 a resposta do destino (mensagem Echo reply ); observe que na janela DOS mostrada antes s aparecem as respostas, que o que interessa como resultado do teste de conectividade;

Captulo 1 - Conceitos bsicos de redes

39

11 Os demais pacotes so mera repetio dos pacotes acima (3 repeties).


3. Fazendo o mesmo teste no sentido inverso (do endereo IP: 192.168.1.102 para o ende-

reo IP: 192.168.1.101), obtemos o resultado na janela do Wireshark mostrado a seguir.

Observe que agora os papis se inverteram: o endereo IP: 192.168.1.102 que origina os pings (Echo request ) e o endereo IP: 192.168.1.101 quem responde (Echo reply ).
4. Os testes acima foram feitos apenas entre as estaes com endereos IP: 192.168.1.101

e 192.168.1.102. As demais estaes da rede da nossa bancada, mesmo com o Wireshark ativado, no capturaram nenhum pacote com esse tipo de mensagem ICMP. Por qu? Caso no consiga responder, pea ajuda.

Figura 1.39 Janela do Wireshark com resultado do teste em sentido inverso.

5. Para confirmar os resultados obtidos, repita os mesmos comandos nas outras estaes

da mesma rede e observe que agora so as estaes inicialmente usadas que no capturam os pings.

Atividade 1.5 Montagem de uma rede sem fio ponto-a-ponto


Nesta atividade sero usados os seguintes equipamentos: 11 2 APs;
Arquitetura e Protocolos de Rede TCP-IP

11 2 cabos par tranado pino a pino de 3m cada; 11 1 adaptador USB de rede sem fio para cada computador. Sero formados 3 grupos de trabalho, um para cada AP. A razo disso que sero usados 3 canais de redes sem fio: 1, 6 e 11. No sero usados mais canais, para evitar a interferncia entre eles, uma vez que todos os APs esto na mesma sala.

40

Antena

Figura 1.40 Roteador sem fio usado como AP. Fonte: D-Link.

Portas LAN

Porta Energia WAN

Reset

Nesta atividade ser usada a rede sem fio (antena) e uma porta LAN para configurao do AP. TODOS os equipamentos devem estar DESLIGADOS durante a montagem da rede.
1. O primeiro passo desconectar uma das mquinas da bancada da rede local do labora-

trio e conect-la porta LAN do switch (qualquer porta). Use o cabo par tranado.
2. Em seguida conecte a porta WAN do AP no ponto de rede do laboratrio, aproveitando

o ponto livre da mquina da bancada. A ligao deve ficar semelhante mostrada na prxima figura.

Figura 1.41 Esquema de ligao da rede sem fio.

A
3. Depois de conferir todas as conexes, ligue todos os equipamentos. 4. Aps dar boot no Windows XP, execute o navegador e digite na janela de endereos:
Captulo 1 - Conceitos bsicos de redes

192.168.1.1 endereo padro de administrao do roteador (verifique com o instrutor se esse mesmo). Dever surgir uma tela solicitando os dados de autenticao para acesso ao sistema.
5. Digite o nome do usurio e a senha (confirme com o instrutor) e clique em OK. 6. Dever surgir a tela de configurao do roteador. Localize as informaes abaixo sobre a

configurao das interfaces do roteador.

Configuraes da interface WAN


11 Automatic Configuration (DHCP) significa que o roteador receber o endereo IP do provedor de internet de forma automtica;

41

11 IP Esttico na internet endereo IP ser informado pelo provedor e dever ser confi gurado manualmente; 11 PPOE utilizado para configurar o AP para se conectar a uma rede que utiliza o padro (PPP over Ethernet); 11 PPTP o protocolo PPTP um modelo voluntrio de tunelamento, ou seja, permite que o prprio sistema do usurio final, por exemplo, um computador, configure e estabelea conexes discretas ponto-a-ponto para um servidor PPTP, localizado arbitrariamente, sem a intermediao do provedor de acesso. Este protocolo constri as funcionalidades do protocolo PPP (Point to Point Protocol). um protocolo proprietrio desenvolvido por um grupo liderado pela Microsoft.

Configuraes das interfaces LAN


1. Local IP Address: endereo IP padro de administrao do roteador para acesso via

navegador web; esse endereo pode ser configurvel nesta mesma tela e o padro varia dependendo do fabricante do ponto de acesso. 11 DHCP Server (Habilitado/Desabilitado) significa que o AP possui um servidor DHCP interno que pode ser habilitado ou desabilitado; opo importante, uma vez que as estaes esto configuradas para obter endereo IP automaticamente via DHCP; se o servidor DHCP no estiver habilitado, as estaes no obtero endereo IP e devero ser configuradas manualmente, o que no necessrio em ambiente pequeno; 11 Starting IP Address endereo IP a partir do qual sero atribudos os endereos IP para as estaes conectadas ao roteador (via cabo ou wireless);
2. No menu de configurao, a opo Status exibe informaes da conexo do equipamento. 2.1.O que pode ser observado no menu status do equipamento do laboratrio? Quais as

informaes atribudas para conexo do AP com a internet?

2.2.Alm da funo de Access Point e gateway, o equipamento est exercendo uma

funo importante na interface das redes LAN e WAN. Qual essa funo?

3. Localize a opo Wireless no equipamento do laboratrio. Observe as opes de configu Arquitetura e Protocolos de Rede TCP-IP

raes (Settings) e segurana do dispositivo. Em Settings pode-se configurar: 11 Modo de operao da interface Wireless do AP; 11 Definir o SSID da interface Wireless; 11 Definir o canal que a interface Wireless ir operar; 11 Broadcast do SSID: alguns equipamentos permitem desabilitar a propagao do SSID pela interface wireless.

42

4. Escolha um dos seguintes SSID e um canal de operao (um para cada grupo):

SSID Grupo1 Grupo2 Grupo3

Canal 1 2.412 GHz 6 2.437 GHz 11 2.462 GHz

Clique em Save Settings e em Continue na tela seguinte. Exemplo na figura a seguir:

Figura 1.42 Modo de rede wireless.

5. Feche o navegador. Desligue o cabo par tranado da porta LAN. Esse procedimento foi

necessrio apenas para configurar a rede sem fio no AP. Nenhuma chave de segurana foi configurada no AP. A opo Wireless Security Mode deve ser marcada como disabled.
6. Inserir o adaptador sem fio USB no computador. Dever ser reconhecido automatica -

mente, pois o driver de software j dever estar previamente instalado.


7. Localize as redes sem fio disponveis.

Os SSIDs devero ser exibidos como disponveis, escolha a rede com o SSID do seu grupo ( grupo1, grupo2 ou grupo3). Note que poder ser exibida uma advertncia do tipo: Rede sem fio no segura, clique em Conectar.
8. Abra uma janela DOS (Iniciar/prompt de comando ou Iniciar/Executar digitar cmd ) e
Captulo 1 - Conceitos bsicos de redes

digite o comando: ipconfig O resultado dever ser semelhante ao mostrado a seguir.

C:\>ipconfig ... (linhas removidas) Adaptador Ethernet Conexo de rede sem fio:

43

Sufixo DNS especfico de conexo

. : esr.rnp.br

Endereo IP . . . . . . . . . . . . : 192.168.1.102 Mscara de sub-rede . . . . . . . . : 255.255.255.0 Gateway padro. . . . . . . . . . . : 192.168.1.1


Observe que o endereo IP obtido foi (neste exemplo) 192.168.1.102, que um endereo IP privado. Para ser possvel a navegao na internet, o AP tem ativada a funo NAT Overload, atravs da qual ele traduzir os endereos IP privados para o endereo pblico da porta WAN (neste exemplo o endereo IP: 200.130.26.30).
9. Teste a navegao na internet. Qual ser o seu endereo IP reconhecido na internet?

44

Arquitetura e Protocolos de Rede TCP-IP

2
Arquitetura de protocolos
objetivos
Introduzir os conceitos mais avanados de redes e descrever as funes e caractersticas das camadas de protocolos.

conceitos

Protocolos, interfaces, modelo OSI, arquitetura TCP/IP e camadas de protocolos.

Conceito de protocolo
Protocolo um conjunto de regras que controla a interao de duas mquinas ou dois processos semelhantes ou com funes semelhantes. Para que dois computadores se comuniquem, necessrio que usem o mesmo protocolo. Sem protocolos, o computador no pode reconstruir, no formato original, a sequncia de bits recebida de outro computador. Um protocolo um conjunto de regras que controla a interao de duas mquinas ou dois processos semelhantes ou com funes semelhantes. Sem protocolos, o computador no pode reconstruir no formato original a sequncia de bits recebida de outro computador. Para que dois computadores se comuniquem, necessrio que usem o mesmo protocolo (que falem a mesma lngua).

Fazendo uma analogia, pode-se dizer que sem um conjunto de regras de conduta e comportamento, vrias pessoas falando ao mesmo tempo e em lnguas diferentes no conseguem se entender em uma reunio de trabalho. Uma sute de protocolos (famlia de protocolos) uma coleo de protocolos que habilitam comunicao em rede de uma mquina a outra. Uma sute de protocolos estrutucamadas superiores obtm servios das camadas inferiores, transferindo informaes entre si atravs das interfaces entre camadas adjacentes.
Captulo 2 - Arquitetura de protocolos

rada em camadas, de forma a dividir e organizar melhor as funes. De maneira geral, as

Arquitetura em camadas
Objetivos da arquitetura em camadas: 11 Estruturar o hardware e o software de um projeto de rede. 11 Dividir e organizar os problemas de comunicao em camadas hierrquicas. 11 Cada camada responsvel por uma funo especfica e usa as funes oferecidas pelas camadas inferiores.

45

11 Uma arquitetura de rede definida pela combinao dos diversos protocolos nas vrias camadas.

Para melhor estruturao do hardware e do software de um determinado projeto de rede, os problemas de comunicao so divididos e organizados em camadas hierrquicas. Cada camada responsvel por uma funo especfica e construda utilizando as funes e servios oferecidos pelas camadas inferiores.

Conceito de camada
O que faz uma camada? 11 Comunica-se somente com as camadas adjacentes. 11 Usa servios da camada inferior. 11 Prov servios camada superior. As camadas de protocolos formam a base de uma arquitetura de rede. Elas permitem a

decomposio de um nico e complexo problema de comunicao em protocolos cooperativos mais simples, mas esta decomposio tambm uma decomposio funcional. As camadas de protocolos resolvem classes distintas de problemas de comunicao. A interao entre as camadas baseada em duas premissas bsicas: 11 Cada camada se comunica somente com as camadas adjacentes (superior e inferior). 11 Cada camada usa servios da camada inferior e prov servios camada superior. As funes e os protocolos das camadas so definidos tendo em vista essas premissas. Passaremos agora a descrever, de forma resumida, as funes de cada camada.

Conceito de interface
Conjunto de regras que controla a interao de duas mquinas ou dois processos diferentes ou com funes diferentes. As camadas de protocolos transferem informaes entre si atravs das interfaces. Uma interface um conjunto de regras que controla a interao de duas mquinas ou dois

processos diferentes ou com funes diferentes . As camadas inferiores prestam servios para as camadas superiores, que recebem os dados atravs das interfaces entre elas. Esses dados das camadas superiores so inseridos nas estruturas de dados das camadas inferiores.

Modelo de Referncia OSI


O modelo Open Systems Interconnection (OSI) foi lanado pela International Organization
Arquitetura e Protocolos de Rede TCP-IP

for Standardization (ISO) em 1984. A ISO uma entidade que congrega institutos nacionais de padronizao de 140 pases, trabalhando em parceria com organizaes internacionais, governos, fabricantes e consumidores: um elo entre setores pblicos e privados. Na dcada de 1980, a ISO formou um grupo de trabalho para estudar o problema da incompatibilidade entre as arquiteturas de comunicao de dados dos diversos fabricantes de computadores. Cada fabricante tinha uma arquitetura de hardware e software proprietria e, consequentemente, arquiteturas de comunicao de dados incompatveis entre si. A ideia principal era compatibilizar, atravs de camadas de protocolos, as estruturas de dados das arquiteturas de comunicao, de forma a permitir que as aplicaes trocassem dados entre si, ainda que funcionando em plataformas de hardware e software de diferentes fabricantes.

46

Histrico do modelo OSI


A motivao para a criao do modelo OSI foi a ausncia de compatibilidade entre as arquiteturas de redes de fabricantes diferentes. Em um contexto em que cada fabricante construa sua arquitetura de redes, e na ausncia

de compatibilidade entre elas, o Modelo de Referncia OSI (Open Systems Interconnection) foi concebido para permitir a interoperabilidade das arquiteturas proprietrias de redes de computadores que existiam na dcada de 1970. Os primeiros trabalhos nesse sentido foram feitos por um grupo da Honeywell, em meados dos anos 70. Esse grupo estudou algumas das solues existentes, incluindo o sistema da IBM de arquitetura de rede (SNA) e o trabalho em protocolos que estava sendo feito para a Arpanet (TCP/IP). O resultado desse esforo foi o desenvolvimento de uma arquitetura de sete camadas, conhecida internamente como a arquitetura de sistemas distribudos (DSA). Enquanto isso, em 1977, o British Standards Institute props ISO que criasse uma arquitetura padro para definir a infraestrutura de comunicaes para processamento distribudo. Como resultado desta proposta, a ISO formou uma subcomisso de Interconexo de Sistemas Abertos (Comit Tcnico 97, Subcomit 16). Quando o grupo ISO se reuniu em Washington, a equipe Honeywell apresentou a sua soluo. Um consenso foi alcanado na reunio: a arquitetura em camadas satisfaria a maioria dos requisitos de Interconexo de Sistemas Abertos, com a capacidade de ser ampliada mais tarde para atender a novos requisitos. A verso provisria do modelo foi publicada em maro de 1978. A prxima verso, com alguns pequenos acertos, foi publicada em junho de 1979 e, posteriormente, padronizada. O modelo OSI resultante essencialmente o mesmo que o modelo DSA desenvolvido em 1977.

Objetivos de um sistema aberto


A norma ISO foi publicada internacionalmente pela primeira vez em 1984, sob o nmero ISO 7498, e pode ser obtida gratuitamente na internet. Os objetivos de um sistema aberto podem ser resumidos em: 11 Interoperabilidade capacidade que sistemas abertos possuem de troca de informaes entre eles, mesmo que sejam fornecidos por fabricantes distintos. 11 Interconectividade maneira pela qual os computadores de fabricantes distintos podem ser conectados. 11 Portabilidade da aplicao capacidade de um software ser executado em vrias plataformas diferentes. 11 Escalabilidade capacidade de um software ser executado com desempenho supercomputadores.
Captulo 2 - Arquitetura de protocolos

aceitvel em mquinas de capacidades diversas, desde computadores pessoais at

Estrutura em camadas
Objetivos da estrutura em camadas: 11 Reduzir complexidade. 11 Padronizar interfaces. 11 Facilitar engenharia modular. 11 Assegurar interoperabilidade de tecnologias.

47

11 Acelerar evoluo. 11 Simplificar o ensino e o aprendizado.

Aplicao Apresentao Sesso Transporte Rede Enlace de dados Fsica


Figura 2.1 Modelo de Referncia OSI.

O modelo de referncia OSI permite: 11 A visualizao das funes de comunicao de dados que ocorrem em cada camada; 11 Uma estrutura que pode ser usada para entender como a informao viaja pela rede; 11 A compreenso, visualizao e resoluo de problemas ao enviar e receber dados numa rede; 11 O entendimento de como a informao ou pacote de dados trafega, com origem nos programas aplicativos, e atravs do meio fsico da rede (por exemplo, fios) chega at outro programa aplicativo localizado em outro computador da rede, mesmo que origem e destino tenham diferentes tipos fsicos de rede. O modelo estruturado em camadas reduz a complexidade dos protocolos de cada camada, uma vez que a modularidade de funes das camadas permite a simplificao do projeto de cada camada e, consequentemente, simplificam o ensino e aprendizado dos usurios da rede. A estrutura de camadas permite tambm a padronizao de interfaces, assegura a interoperabilidade de tecnologias utilizadas nas diversas camadas e acelera a evoluo do modelo como um todo.

Camadas do modelo OSI


Modelo de 7 camadas:
Arquitetura e Protocolos de Rede TCP-IP

11 Data Flow Layers 4 camadas inferiores. 11 Application Layers 3 camadas superiores. O modelo de 7 camadas pode ser visto como dois subconjuntos de 4 e 3 camadas, conforme mostra a figura seguinte. As 4 primeiras camadas (de baixo para cima) so denominadas Camadas Inferiores (Data Flow Layers). Elas controlam basicamente as funes de rede e procuram oferecer servios de transferncia de dados com qualidade aceitvel para as aplicaes que utilizam a rede. As 3 camadas seguintes, denominadas Camadas Superiores (Application Layers) tratam somente das funes especficas das aplicaes, sem preocupao com os detalhes de redes. Assim, as aplicaes podem se concentrar nas funes dos sistemas que os usurios esto utilizando.

48

Aplicao Apresentao Sesso Transporte Rede Enlace de dados


Figura 2.2 Viso geral do modelo OSI.

Fsica

Camadas superiores (host layers ou application layers)

Camadas inferiores (data ow layers)

Camada fsica
A funo geral da camada fsica ser responsvel pela transmisso dos bits atravs de um canal de comunicao. Entre suas funes especficas podemos listar: 11 Representao dos bits (nvel eltrico, durao do sinal, codificao). 11 Forma e nvel dos pulsos pticos. 11 Mecnica dos conectores. 11 Funo de cada circuito do conector. Na camada fsica, ocorre a especificao das interfaces para o meio fsico, no qual o sinal ser transmitido: 11 Par tranado - Unshielded Twisted Pair (UTP) Cat5, Cat5e, Cat6; 11 Fibra ptica monomodo ou multimodo; 11 Cabo coaxial 10Base2 e 10Base5; 11 Wireless (micro-ondas). O tipo de sinalizao inclui a definio do nvel de sinal (voltagem) e a durao de cada bit, bem como as transies entre zeros e uns. A codificao dos bits prov mecanismos para garantir uma melhor confiabilidade na comunicao (maior deteco e correo de erros de interpretao dos bits). Envolve o controle da frequncia de envio de zeros e uns em sequncia, a quantidade de transies entre zeros e uns para permitir a recuperao de sinal de relgio etc. O tipo de codificao est altamente relacionado com a velocidade de transmisso dos bits no canal (meio fsico). Tipos mais comuns de codificao: 11 NRZ Non Return to Zero um tipo de cdigo de linha no qual s h tenso eltrica quando se transmite o smbolo 1; o smbolo 0 a ausncia de tenso; 11 AMI Alternated Mark Inversion um mtodo de codificao nas transmisses E1 e T1, no qual 1s consecutivos tm a polaridade oposta; 11 HDB3 tcnica de sinalizao bipolar, ou seja, depende tanto dos pulsos positivos quanto dos negativos. As regras de codificao seguem as da AMI, com exceo de quando surge

uma sequncia de quatro zeros consecutivos, em que utilizado um bit especial de violao;

Captulo 2 - Arquitetura de protocolos

49

11 Manchester tipo de cdigo de linha usado em redes Ethernet, no qual o bit 0 representado como uma transio positiva (subida) no meio do intervalo de sinalizao do bit. Com o bit 1 ocorre o contrrio, transio negativa (descida).
Modem CSU/DSU

DTE

EIA/TIA-232 V.35 X.21 HSSI

DCE

Na camada fsica ocorre a definio dos padres de interface: Data Terminal Equipment (DTE) Terminologia tradicional em comunicao de dados para um dispositivo que recebe ou origina dados sobre uma rede. Tipicamente um computador ou um terminal no programvel. Marca a terminao do dispositivo do usurio no link WAN. Data Communication Equipment (DCE) Terminologia tradicional em comunicao de dados para equipamentos que habilitam que um DTE comunique-se com uma linha telefnica ou circuito de dados. O DCE estabelece, mantm e termina a conexo, bem como realiza as converses necessrias para a comunicao. Marca a terminao do dispositivo do provedor de servios no link WAN. Geralmente, este dispositivo cuida do sinal de clock (relgio de sincronismo). Tambm chamado de equipamento terminador de circuito. A Figura 2.3 mostra alguns dos padres de interface mais comuns para o ambiente WAN. Outros padres tambm dignos de nota so: V.24 (usado para comunicao entre compu-

Figura 2.3 Camada fsica: interfaces DTE/DCE.

tador e modem telefnico), G.703 (usado para conexes E1/T1) e EIA/TIA-449, entre outros. Muitas vezes, o tipo de DCE usado pelo Service Provider (SP) determina o tipo de interface a ser utilizada no equipamento DTE (roteador, geralmente). Alternativamente, o proprietrio do DTE, de acordo com o equipamento DTE que possui, pode solicitar ao provedor de servios a interface fsica a ser usada. O DCE pode ser analgico (modem) ou digital (CSU/DSU Channel Service Unit/Data Service Unit Unidade de Servio de Canal/Unidade de Servio de Dados), dependendo do circuito da operadora ser analgico ou digital. A interface DTE/DCE digital e foi muito bem padronizada, porque interliga equipamentos de indstrias diferentes (telecomunicaes e informtica). A camada fsica do modelo OSI trata das interfaces com o meio fsico, e no do meio fsico propriamente dito.
Arquitetura e Protocolos de Rede TCP-IP

Camada de enlace de dados


A camada de enlace de dados tem a funo geral de ser responsvel pela deteco de erros Frame Check Sequence (FCS). Entre suas funes especficas podemos listar: 11 Endereos fsicos de origem e destino. 11 Define protocolo da camada superior. 11 Topologia de rede. 11 Sequncia de quadros. 11 Controle de fluxo.

50

11 Connection-oriented ou connectionless . Em caso de erro, pode ocorrer descarte de quadros ou correo de erros (feita por camada superior).

Essa camada trata os endereos fsicos das interfaces de rede (endereos MAC). No quadro consta a informao do protocolo de camada de rede que foi encapsulado ou, dito de outra forma, a quem pertencem os dados que esto sendo transportados no quadro.
Figura 2.4 Frame Check Sequence.

101101101

FCS

O protocolo dessa camada dependente da topologia do meio fsico. Em enlaces WAN, essa
Controle de fluxo Processo de incio-fim de handshaking que impede que seu modem receba quantidade excessiva de dados do seu computador ou de outro modem. O controle de fluxo de software chamado de XON/XOFF (transmissor ativado e desativado). O controle de fluxo de hardware chamado de RTS/CTS (Request/Clear to Send).

camada normalmente executa procedimentos de controle de fluxo e de sequncia, alm da verificao de erros, atravs de um clculo polinomial padro executado sobre todos os bits do quadro, exceto o prprio FCS. Em enlaces LAN, normalmente apenas so executados procedimentos de verificao de erros. O protocolo de enlace de dados tambm pode ser orientado conexo (estabelece uma conexo ponto-a-ponto antes de enviar os quadros) ou sem conexo (no estabelece conexo). Funes: 11 Transformar o meio fsico de comunicao numa linha livre de erros de transmisso; 11 Estruturao dos dados em quadros (frames); 11 A camada de enlace prov transporte dos quadros ao longo do meio fsico. A camada de enlace tambm responsvel pelo controle do acesso ao meio (Media Access Control). Quando o meio compartilhado, necessria a definio de algoritmos que garantam que os dispositivos sejam organizados para acessar o meio de forma no conflitante. Analogia de acesso ao meio: todos falando ao mesmo tempo numa mesa e ningum se entendendo.

Camada de rede
A camada de rede tem a funo geral de endereamento e roteamento. Entre suas funes especficas podemos listar: 11 Tratamento dos problemas de trfego na rede: congestionamento. 11 Escolha das melhores rotas atravs da rede. 11 Define endereos lgicos de origem e destino associados ao protocolo da camada 3.

Principais funes da camada de rede: 11 Endereamento mtodo de atribuio de endereo e de localizao de um host em uma rede, utilizando o endereo como identificador lgico do host. 11 Roteamento identifica o processamento e direcionamento de pacotes de dados, por meio de seus endereos, de uma rede para outra. 11 Tratamento dos problemas de trfego na rede como congestionamento; 11 Escolha das melhores rotas atravs da rede.

Captulo 2 - Arquitetura de protocolos

11 Interconecta diferentes camadas de enlace de dados.

51

A camada de rede tambm oferece os seguintes servios: 11 Datagrama os pacotes so enviados sem que uma conexo entre origem e destino seja previamente estabelecida (sem conexo). 11 Circuito virtual antes do envio dos pacotes estabelecida uma conexo entre origem e destino, que permanece enquanto durar a transferncia de pacotes (orientado conexo). Dispositivos da camada de redes (camada 3) cuidam do endereamento lgico (ex.: endereos IP, endereos IPX, endereos Apple Talk). Exemplo: roteadores. Note que a camada 2 cuidava do endereamento fsico (ex.: endereos MAC).

Trata do roteamento dos pacotes da origem at o destino Aplicao Apresentao Sesso Transporte Rede Enlace de dados Fsica
Figura 2.5 Camada de rede.

B WAN

WAN C

Camada de transporte
A camada de transporte tem a funo geral de conectividade fim-a-fim. Entre suas funes especficas podemos listar: 11 Recebe os dados da camada de sesso, os divide se necessrio, e passa-os para a camada de rede. 11 Garante que todas as partes cheguem corretamente ao destino. 11 Implementa uma conversao fim-a-fim. 11 Responsvel pelo trmino e pela criao de conexes, quando necessrio. 11 Controle de fluxo fim-a-fim.
Arquitetura e Protocolos de Rede TCP-IP

11 Identifica as aplicaes de camadas superiores. 11 Estabelece conectividade fim-a-fim entre aplicaes. 11 Oferece servios confiveis, ou no, para a transferncia dos dados. Conforme a camada de transporte envia seus segmentos de dados, ela tambm deve assegurar a integridade dos dados. Para garantir a integridade dos dados, a camada de transporte orientada conexo (connection-oriented). Algumas razes para a realizao de transporte confivel: 11 Assegurar que o dispositivo de origem da informao receba reconhecimento (acknowledgement) dos segmentos entregues;

52

11 Permitir a retransmisso de quaisquer segmentos sobre os quais no forem fornecidos reconhecimentos; 11 Reorganizar segmentos na ordem correta no dispositivo de destino, j que os pacotes de origem podem seguir diferentes caminhos, com diferentes tempos de entrega ao destino e, portanto, chegando fora da ordem original; 11 Permite controlar e compatibilizar a taxa de envio e recepo de dados atravs do controle de fluxo. Exemplos de protocolos da camada de transporte: TCP e UDP (da pilha de protocolos IP) e SPX (da pilha de protocolos IPX Novell): 11 TCP orientado conexo (connection - oriented) e, portanto, oferece servio confivel, isto , garantia de entrega ao destinatrio; 11 UDP dito no orientado conexo (connectionless). Oferece velocidade e simplicidade, mas no oferece confiabilidade. A funcionalidade de transporte realizada segmento a segmento. Isto significa que dife rentes segmentos de dados provenientes de diferentes aplicaes (enviados para o mesmo ou para muitos destinos) so enviados na base first come, first served (primeiro a chegar, primeiro a ser processado).

Camada de sesso
A camada de sesso tem a funo geral de permitir que aplicaes em diferentes mquinas estabeleam uma sesso entre si. Entre suas funes especficas podemos listar: 11 Gerencia o controle de dilogos, permitindo a conversao em ambos os sentidos, ou em apenas um. 11 Sincronizao do dilogo (transferncia de arquivos, programas).

A camada de sesso permite que duas aplicaes em computadores diferentes estabeleam uma sesso de comunicao. Nesta sesso, essas aplicaes definem a forma como ser feita a transmisso de dados, e coloca marcaes nos dados que esto sendo transmitidos. Se porventura a rede falhar, os computadores reiniciam a transmisso dos dados a partir da ltima marcao recebida pelo computador receptor. A camada de sesso disponibiliza servios como pontos de controle peridicos, a partir dos quais a comunicao pode ser restabelecida em caso de pane na rede. A camada de sesso (camada 5) estabelece, gerencia e termina sesses entre aplicaes. Ela coordena as solicitaes e respostas de servios que ocorrem quando aplicaes de diferentes hosts estabelecem comunicao.

Camada de apresentao
A camada de apresentao tem a funo geral de representao da informao: sintaxe e semntica. Entre suas funes especficas podemos listar: 11 Realiza certas funes de forma padro, como por exemplo, converso de cdigos de caracteres (EBCDIC, ASCII etc). 11 Compresso, criptografia, codificao de inteiro, ponto flutuante etc.

A camada de apresentao, tambm chamada de camada de traduo, converte o formato do dado recebido pela camada de aplicao em um formato comum a ser usado na transmisso desse dado, ou seja, um formato entendido pelo protocolo usado.

Captulo 2 - Arquitetura de protocolos

53

Um exemplo comum a converso do padro de caracteres (cdigo de pgina) quando o dispositivo transmissor usa um padro diferente do padro ASCII, padro muito usado em todo o mundo. Podem existir outros usos, como compresso de dados e criptografia. A compresso de dados processa os dados recebidos da camada 7 e os comprime como se fosse um compactador comumente encontrado em computadores (como Zip ou Rar), e a camada de apresentao do dispositivo receptor fica responsvel por descompactar esses dados. A transmisso dos dados torna-se mais rpida, j que haver menos dados a transmitir: os dados recebidos da camada de aplicao foram encolhidos e enviados camada de sesso. Para aumentar a segurana, pode-se usar algum esquema de criptografia neste nvel, sendo que os dados s sero decodificados na camada de apresentao do dispositivo receptor. Funes da camada de apresentao (camada 6) do modelo OSI: 11 Responsvel pela apresentao de dados numa forma que o dispositivo de destino possa compreender; 11 Serve como tradutor, s vezes entre formatos diferentes, para dispositivos que necessitam se comunicar pela rede; 11 Outra funo a cifrao/decifrao de dados.
ASCII Americam Standard Code for Information Interchange, padro no qual nmeros, letras maisculas e minsculas, sinais de pontuao, smbolos e cdigos de controle correspondem a nmeros binrios de 0 a 127.

Camada de aplicao
A camada de aplicao define uma variedade de protocolos necessrios comunicao. Exemplos: terminais virtuais, transferncia de arquivos, correio eletrnico, udio e videoconferncia, acesso remoto, gerncia de redes. A camada de aplicao faz a interface entre o protocolo de comunicao e o aplicativo que pediu ou receber a informao atravs da rede. Por exemplo, ao solicitar a recepo de

e-mails atravs do aplicativo de e-mail, este entrar em contato com a camada de aplicao efetuando tal solicitao. Tudo nesta camada direcionado aos aplicativos. Terminal remoto e transferncia de arquivos so exemplos de aplicativos de rede. Esta camada trata de questes relacionadas s aplicaes de rede, e no s aplicaes de computador no baseadas em rede. Aplicaes como planilhas eletrnicas, processadores de texto e apresentaes no PowerPoint no so aplicaes de rede. Correio eletrnico, transferncia de arquivos, acesso remoto e udio/videoconferncia, entre outras, so aplicaes de rede. A camada de aplicao do modelo OSI refere-se aos protocolos adotados pelas aplicaes de rede e no as prprias aplicaes de usurio.
Arquitetura e Protocolos de Rede TCP-IP

Encapsulamento de dados
Processo que assegura a correta transferncia e recuperao de dados Protocol Data Unit (PDU). Aps a breve descrio das camadas do Modelo de Referncia OSI apresentada, vamos exemplificar como as camadas de protocolos transferem informaes.

54

Dados

Cabealho de Transporte

Dados

Segmento

Cabealho de Rede

Dados

Pacote

Figura 2.6 Processo de encapsulamento de dados.

Cabealho do Frame

Dados

Quadro

010001110101100111101001111010101111000111000111 Bits

A Figura 2.6 ilustra o processo de transferncia de dados da aplicao em uma arquitetura de rede, que, para simplificar, adota apenas 4 camadas, onde os dados da aplicao so entregues camada de transporte; esta precisa adicionar informaes de controle aos dados, para que a camada de transporte do outro lado possa saber o que fazer com os dados. Essas informaes so o cabealho de transporte. O conjunto cabealho/dados chamado de Protocol Data Unit PDU (Unidade de Dados do Protocolo) da camada de transporte. Em geral, essa PDU chamada de Segmento. A PDU de transporte entregue camada de rede que, por sua vez, adiciona suas informaes de controle para que os dados possam trafegar pelas redes entre origem e destino. Essas informaes so o cabealho de rede. O conjunto cabealho/dados chamado de Protocol Data Unit PDU (Unidade de Dados do Protocolo) da camada de rede. Geralmente, essa PDU chamada de Datagrama ou Pacote. A PDU de rede entregue camada de enlace de dados que, por sua vez, adiciona suas informaes de controle para que os dados possam trafegar pelo meio fsico, entre origem e destino. Essas informaes so o cabealho de enlace de dados. O conjunto cabealho/dados tambm chamado de PDU da camada de enlace de dados. Essa PDU chamada de Quadro. Finalmente, esse conjunto de informaes enviado pelo meio fsico na forma de um fluxo de bits desestruturados. A camada fsica no tem ideia do que esse fluxo de bits representa.

Comunicao par-a-par
Comunicao em que os pontos se comunicam atravs da PDU de suas respectivas camadas. Por exemplo, as camadas de rede da origem e destino so pares e usam pacotes para se comunicar.

q
Captulo 2 - Arquitetura de protocolos

55

Aplicao Apresentao Sesso Transporte Rede Enlace de dados Fsica

Dados Dados Dados Segmentos Pacotes Quadros Bits

Aplicao Apresentao Sesso Transporte Rede Enlace de dados Fsica


Figura 2.7 Comunicao par-a-par no modelo OSI.

Cada camada usa seu prprio protocolo e os servios da camada inferior para estabelecer comunicao com sua camada par no outro sistema.

Arquitetura TCP/IP
11 Modelo DoD. 11 Documentos de padronizao. 11 Conceito de inter-rede. 11 Caractersticas bsicas. 11 Funes das camadas. 11 Tipos de endereos (lgico e fsico).

Essa arquitetura foi concebida para interligar os centros de computao das universidades americanas. Portanto, surgiu como uma rede acadmica, no como uma rede comercial ou pblica de qualquer natureza. A alternativa existente na poca (dcada de 1960) era a interligao via linhas telefnicas dedicadas (LPs) utilizando equipamentos e software dos fabricantes dos grandes mainframes, principalmente a IBM. Esse projeto foi concebido no Departamento de Defesa dos EUA e conhecido como modelo Department of Defense (DoD). A documentao do projeto foi elaborada pela comunidade acadmica americana envolvida no desenvolvimento do projeto. A proposta da rede inovou em muitos aspectos os conceitos de rede existentes na poca e foi to bem aceita que
Arquitetura e Protocolos de Rede TCP-IP

perdura at os dias de hoje, mantendo sua concepo original nas linhas gerais. A seguir passamos a descrever as caractersticas desse projeto em maiores detalhes.

Histrico
Origem em um projeto militar, desenvolvido a partir de proposta da RAND Co. de 1964, como incio do desenvolvimento em 1969. Comutao de pacotes: 11 Rede no confivel. 11 Mensagens divididas em pedaos (pacotes). 11 Roteamento independente por pacote.

56

11 Armazena e encaminha (store and forward). 11 Rede experimental ARPAnet. Na dcada de 60, a RAND Corporation, uma das maiores empresas americanas envolvidas

em estratgias para a Guerra Fria, se deparou com um estranho problema estratgico: como as autoridades governamentais americanas poderiam continuar se comunicando aps uma guerra nuclear? Alm disso, havia a questo da forma como a prpria rede poderia ser comandada e controlada. Qualquer autoridade central ou quartel general central seria um alvo bvio e imediato para um mssil inimigo. O centro da rede seria o primeiro lugar a ser destrudo. A RAND se ocupou deste quebra-cabea com segredo militar, e chegou a uma soluo audaciosa. A proposta da RAND se tornou pblica em 1964. Em primeiro lugar, a rede no teria nenhuma autoridade central. Alm disso, ela seria projetada desde o princpio para operar mesmo destroada. O princpio era simples: assumiu-se que a rede no era confivel o tempo todo. Ela seria projetada tendo em mente a ideia de receber e passar adiante, de modo a transcender sua prpria falta de confiabilidade. Cada n da rede seria igual a todos

w para originar, passar e receber mensagens.


Para obter estes padres, pesquise por rfc-index. Se souber o nmero do RFC, faa a pesquisa em: http:// www.ietf.org/rfc/ rfcNNNN.txt , onde NNNN = nmero do RFC desejado.

os outros ns da rede (em termos de status e funo), cada um com sua prpria autoridade

As mensagens por sua vez seriam divididas em pacotes, com cada pacote endereado separadamente. Cada pacote comearia de um n de origem e terminaria no n de destino final especificado. Cada pacote viajaria pela rede sendo tratado de forma individual. A rota seguida por cada pacote atravs da rede no teria importncia. Apenas os resultados finais teriam importncia. Basicamente, o pacote seria passado como uma batata quente, de n para n, mais ou menos na direo do seu destino final, at chegar ao destino correto. Se grande parte da rede tivesse sido explodida, isso simplesmente no importaria; os pacotes ainda permaneceriam na rede, percorrendo os ns que eventualmente ainda sobrevivessem. Este sistema de transmisso desorganizado pode ser ineficiente quando compa rado, por exemplo, com o sistema telefnico; no entanto, ele seria extremamente robusto. A rede experimental formada pelas universidades americanas foi chamada de ARPAnet. As especificaes dos protocolos foram elaboradas atravs de documentos chamados RFCs Request for Comments (Solicitao de Comentrios), que se tornaram os padres universais.

Dcada de 70
1970-1979:
Comutao de pacotes Tcnica de comutao em que a comunicao entre as extremidades se processa atravs da transmisso de blocos (pacotes) de informao, havendo ocupao do canal apenas durante o envio dos pacotes, liberando-o para outra informao nos espaos livres.

11 Agncia Arpa desenvolve estudos para interconexo de redes baseada em comutao de pacotes. 11 Construo da rede ARPAnet.
Captulo 2 - Arquitetura de protocolos

11 Surgem as primeiras especificaes da famlia de protocolos TCP/IP para definio dos detalhes de comunicao e convenes para interconectar as redes e realizar o roteamento de trfego. Em meados da dcada de 70, em funo da importncia da tecnologia de inter-redes, uma agncia do Departamento de Defesa (DoD) do governo americano, Advanced Research Projects Agency (Arpa), financiou pesquisas para desenvolvimento de uma tecnologia de inter-redes baseada na comutao de pacotes. Dessa iniciativa, resultou a construo da rede ARPAnet. A tecnologia Arpa inclui um conjunto de padres de redes que especificam os detalhes da comunicao entre os computadores, alm de um conjunto de convenes para interco-

57

nectar as redes individuais e realizar o roteamento do trfego entre elas. Essa tecnologia, oficialmente denominada famlia de protocolos TCP/IP, conhecida como TCP/IP.

Dcada de 80
1980-1985: 11 Famlia de protocolos TCP/IP padronizada na ARPAnet. 11 Incio da emergente internet. 11 Arpanet dividida em duas redes: 22 Pesquisa experimental (ARPAnet). 22 Comunicao militar (Milnet). 11 Arpa disponibiliza implementao de baixo custo do TCP/IP e financia a integrao em sistemas Unix. No incio da dcada de 80, a Arpa adotou a famlia de protocolos TCP/IP em suas redes de

pesquisas, demarcando o incio da internet. Posteriormente, em 1983, a ARPAnet foi dividida em duas redes: uma para pesquisa experimental, que continuou a ser denominada ARPAnet, e outra para comunicao militar, que foi denominada Milnet. Para incentivar a adoo da famlia de protocolos TCP/IP em universidades e centros de pesquisa, a Arpa ofereceu uma implementao de baixo custo e financiou a integrao dos protocolos TCP/IP em sistemas Unix. Como resultado, a distribuio do BSD Unix da Universidade de Berkeley incorporou novos servios e disponibilizou mecanismos que facilitaram a programao de aplicaes distribudas usando os protocolos TCP/IP.

Dcada de 90
1985-1990: 11 National Science Foundation (NSF) incentiva a expanso de redes TCP/IP para a comunidade cientfica. 11 Criao do backbone da rede NSFNET. 22 Interligao de centros de supercomputao. 22 Conexo com a ARPAnet. 11 Adoo dos protocolos TCP/IP por organizaes comerciais. 11 Crescimento do tamanho e uso da internet no mundo. Em 1985, a National Science Foundation (NSF), agncia de fomento de cincias do governo

americano, incentivou a expanso de redes TCP/IP para a maioria dos cientistas americanos, por reconhecer o potencial da comunicao em rede para a comunidade cientfica. Como
Arquitetura e Protocolos de Rede TCP-IP

resultado desse esforo, surgiu um novo backbone de longa distncia, denominado NSFNET, que interligava todos os centros de supercomputao e se conectava com a ARPAnet. A partir de 1986, a NSF financiou diversas redes regionais com o objetivo de interconectar a comunidade cientfica das vrias regies. Todas estas redes adotavam os protocolos TCP/ IP e faziam parte da assim denominada internet. Cerca de sete anos aps seu surgimento, a internet j era composta por centenas de redes localizadas nos Estados Unidos e na Europa. Desde ento, continuou a crescer rapidamente, em tamanho e em uso. A adoo dos protocolos TCP/IP e o avano da internet no se limitaram a projetos financiados pelas agncias governamentais. A partir de 1990, diversas organizaes comerciais adotaram os protocolos TCP/IP e comearam a se conectar internet.

58

Embora inicialmente tenha sido um projeto de pesquisa financiado pelo governo americano, a adoo dos protocolos TCP/IP excedeu as expectativas originais. A inteno inicial era desenvolver uma tecnologia de interconexo de redes baseada na tcnica de comutao de pacotes. Hoje, essa famlia de protocolos forma a base tecnolgica da internet, a maior rede de longa distncia existente e, reconhecidamente, o exemplo mais expressivo de interconexo de redes de computadores, pois interconecta milhes de computadores em universidades, escolas, empresas e lares.

Famlia de protocolos TCP/IP


Conjunto de padres de redes que permite a interconexo de redes e sistemas heterogneos, como redes fsicas com diferentes tecnologias de acesso, e equipamentos desenvolvidos por diferentes fabricantes, com arquiteturas de hardware distintas que executam diferentes sistemas operacionais. Quem pode usar? 11 Qualquer organizao que queira interconectar suas diversas redes na forma de uma inter-rede. 11 No requer uma conexo com a internet.

A famlia de protocolos TCP/IP permite a interconexo de diferentes tipos de computadores de diversos fabricantes, equipados com arquiteturas distintas de hardware, executando mltiplos sistemas operacionais e usando diferentes tecnologias de acesso. A internet apenas uma demonstrao concreta da viabilidade da tecnologia TCP/IP. Essa famlia de protocolos pode ser utilizada, por qualquer organizao, como tecnologia para conectar internamente os componentes de uma nica rede ou para interconectar suas diversas redes na forma de uma inter-rede, independentemente de estar ou no conectada internet. Para entender o funcionamento da famlia de protocolos TCP/IP, vamos apresentar o modelo de interconexo desse tipo de rede, enfatizando os mecanismos que viabilizam a interao dos diversos protocolos. As diversas tecnologias de redes definem como os dispositivos devem se conectar s respectivas redes. J uma tecnologia de inter-rede define como as redes so interconectadas entre si, permitindo que cada equipamento possa se comunicar com os demais equipamentos das vrias redes. Em uma inter-rede TCP/IP, duas ou mais redes fsicas somente podem ser interconectadas por um equipamento especial, chamado roteador, cuja funo encaminhar pacotes de uma rede para outra. Para rotear corretamente os pacotes, os roteadores precisam conhecer a topologia da inter-rede, e no apenas as redes fsicas s quais esto diretamente conectados. Assim, eles precisam manter informaes de roteamento de todas as redes que
Captulo 2 - Arquitetura de protocolos

fazem parte da inter-rede. Os usurios enxergam a inter-rede como uma rede virtual nica qual todos os dispositivos esto conectados, independentemente da forma das conexes fsicas. Para isso, uma inter-rede TCP/IP adota um mecanismo de endereamento universal, baseado em endereos IP, que permite a identificao nica de cada dispositivo.

Motivao para nova famlia de protocolos


A evoluo das tecnologias de comunicao e a reduo dos custos dos computadores constituem os principais fatores para a ampla adoo das redes de computadores nas organizaes. As redes so projetadas, essencialmente, para compartilhar recursos de hardware e software e viabilizar a troca de informaes entre usurios. No entanto, as atuais tecnolo-

59

gias de redes restringem o nmero de dispositivos conectados e so, geralmente, incompatveis entre si. Por exemplo, dispositivos conectados a uma rede que adota a tecnologia Ethernet no interagem diretamente com outros que utilizam a tecnologia Token Ring. Isso dificulta a comunicao entre grandes grupos de usurios, e impede que usurios de redes distintas se comuniquem entre si.

Soluo para nova famlia de protocolos


Alternativas: 11 Adotar mecanismos que permitam a interoperabilidade. 11 Interconectar as diferentes redes. 11 Compatibilizar a heterogeneidade das mltiplas tecnologias de redes. A soluo para isso a tecnologia de inter-redes.

Para viabilizar essa comunicao, a nica alternativa adotar mecanismos que permitam a interoperabilidade, interconectando e compatibilizando as mltiplas redes heterogneas. A interconexo dessas vrias redes denominada inter-rede.

Tecnologia de inter-redes
Conjunto de protocolos que permitem a interconexo de redes heterogneas. Benefcios: 11 Acomoda mltiplas plataformas de hardware e software. 11 Esconde detalhes do hardware de rede. 11 Permite a comunicao dos dispositivos de forma independente do tipo de rede fsica adotada. Nas ltimas dcadas, a tecnologia de inter-redes foi desenvolvida para possibilitar a interconexo de diferentes tipos de tecnologias de redes, acomodando mltiplas plataformas de hardware e software, com base em um conjunto de protocolos que definem as regras de comunicao. Essa tecnologia esconde detalhes do hardware de rede e permite que os dispositivos se comuniquem, independentemente do tipo de rede fsica adotada.
E9

E1

E8

N5
Arquitetura e Protocolos de Rede TCP-IP

N1
E2

R3

R4

N4

E7

R2 R1

N2

N3

E3

E4

E5

E6

Figura 2.8 Modelo inter-rede.

60

Modelo de interconexo
Roteador: 11 Possui conexes com duas ou mais redes. 11 No prov conexo direta com todas as redes fsicas. 11 Roteia pacotes de uma rede para outra. 11 Mantm informaes de roteamento para todas as redes. 11 Tambm denominado gateway ou sistema intermedirio. Estao: 11 Dispositivo do usurio conectado a alguma rede fsica da inter-rede. 11 Estao multihomed pode atuar como um roteador; requer ativao da funo de roteamento de pacotes entre redes. 11 Tambm denominada host ou sistema final. Viso do usurio: 11 Usurios veem a inter-rede como uma rede virtual nica qual todos os dispositivos esto conectados. 11 Usurios no conhecem as diversas redes fsicas individuais. 11 Adota um mecanismo de endereamento universal, baseado em endereos IP, que permite a identificao nica de cada dispositivo da inter-rede. A Figura 2.8 ilustra o modelo de interconexo de uma inter-rede TCP/IP. Neste exemplo,

quando a estao E1 deseja enviar pacotes para a estao E3, encaminha os pacotes atravs da rede N1 para o roteador R1, que, por sua vez, entrega-os diretamente para a estao E3, atravs da rede N2. importante notar que os roteadores no estabelecem conexo direta entre todas as redes fsicas. Para alcanar um determinado destino, pode ser necessrio encaminhar os pacotes atravs de diversos roteadores e redes intermedirias. Observe que podem existir diferentes alternativas de encaminhamento dos pacotes entre alguns pares de estaes. No exemplo da figura, quando a estao E1 deseja transmitir pacotes para a estao E5, pode encaminh-los, atravs da rede N1, para os roteadores R1 ou R3, que se apresentam como possveis alternativas at o destino. Se E1 adotar o caminho via R1, este, por sua vez, roteia os pacotes para o roteador R2 atravs da rede N2. Por fim, R2 entrega os pacotes para a estao E5 atravs da rede N3. Por definio, um roteador possui conexes fsicas com duas ou mais redes. Qualquer distambm ser multihomed. Caso o roteamento de pacotes seja habilitado, uma estao multihomed pode operar como um roteador. Portanto, roteadores no so, necessariamente, equipamentos especializados na funo de roteamento, mas podem ser estaes convencionais com vrias conexes fsicas e que possuem a funo de roteamento configurada. No TCP/IP, estaes so tambm conhecidas como hosts ou sistemas finais. Por ser a internet um exemplo concreto de inter-rede TCP/IP, pode-se concluir que ela composta por uma coleo de diferentes redes fsicas independentes, interconectadas por meio de diversos roteadores. Entretanto, essa estrutura de interconexo de redes no percebida pelos usurios da internet, que a veem apenas como uma rede global nica que permite a comunicao das estaes a ela conectadas. 61
Captulo 2 - Arquitetura de protocolos

positivo que possua vrias conexes fsicas denominado multihomed. Uma estao pode

A inter-rede adota um mecanismo de endereamento universal baseado em endereos IP, que permite a identificao nica de cada dispositivo na inter-rede, no importando em qual rede fsica ele est conectado. baseado nesse mecanismo de endereamento universal que os roteadores encaminham os pacotes entre as diversas redes fsicas que compem a inter-rede.

Arquitetura em camadas
Uma arquitetura de rede, tal como a definida pela famlia de protocolos TCP/IP, uma combinao de diferentes protocolos nas vrias camadas.

Host Unix

Host Unix TCP

Host Unix

Internet IP Gateway TCP - Transmission Control Protocol IP - Internet Protocol Gateway


Figura 2.9 Concepo da arquitetura TCP/IP.

A Figura 2.9 resume a concepo da arquitetura TCP/IP. Os dois principais protocolos so o TCP e o IP, que fazem as funes das camadas de Transporte e Rede, respectivamente. Abaixo do IP est a rede fsica e acima do TCP a aplicao. O TCP, padronizado pelo RFC 793, um protocolo fim-a-fim, denominado pelos projetistas da internet como Host to Host Protocol. O IP, encarregado do roteamento de pacotes e padronizado pelo RFC 791, o protocolo inter-redes ou Internet Protocol. O gateway que conecta o host internet, o que hoje chamamos de roteador. Ainda usada a denominao gateway padro para indicar o endereo do roteador que faz a conexo de um host com as demais redes.

Camadas da arquitetura TCP/IP


A arquitetura de rede definida pela famlia de protocolos TCP IP denominada arquitetura internet TCP/IP, ou simplesmente arquitetura TCP/IP. Conforme ilustra a Figura 2.10, a arquitetura TCP/IP organizada em quatro camadas: Aplicao, Transporte, Rede e Interface de Rede (Rede Fsica).

Arquitetura e Protocolos de Rede TCP-IP

Mensagem Segmento TCP / Datagrama UDP Datagrama IP Quadro

Aplicao Transporte
Rede

FTP, SMTP, HTTP TCP / UDP IP / ICMP Ethernet, Token Ring


Figura 2.10 Camadas da arquitetura TCP/IP.

Interface de rede

62

Camada de aplicao
A camada de aplicao define a sintaxe e a semntica das mensagens trocadas entre aplicaes. a nica camada cuja implementao realizada atravs de processos do sistema operacional.

A camada de aplicao trata os detalhes especficos da cada tipo de aplicao. Na famlia de protocolos TCP/IP, existem diversos protocolos de aplicao que so suportados por quase todos os sistemas. Por exemplo: 11 Telnet terminal virtual; 11 FTP (File Transfer Protocol) transferncia de arquivos; 11 SMTP (Simple Mail Transfer Protocol) correio eletrnico; 11 SNMP (Simple Network Management Protocol) gerenciamento de redes; 11 DNS (Domain Name System) mapeamento de nomes em endereos de rede; 11 HTTP (Hypertext Transfer Protocol) WWW (World Wide Web). Cada protocolo de aplicao define a sintaxe e a semntica das mensagens trocadas entre os programas de aplicao. Em geral, a camada de aplicao implementada usando processos de usurios, que so representaes do sistema operacional para programas em execuo. Por outro lado, as demais camadas (transporte, inter-rede e interface de rede) so implementadas diretamente no ncleo (kernel) do sistema operacional.

Camada de transporte
A camada de transporte prov comunicao fim-a-fim entre aplicaes. TCP (Transmission Control Protocol): 11 Orientado conexo. 11 Prov fluxo confivel de dados. 11 Divide o fluxo de dados em segmentos.
Protocolo orientado a conexo Adota o conceito de conexo para gerenciar a comunicao entre as entidades comunicantes.

UDP (User Datagram Protocol): 11 Prov servio de datagrama no confivel. A camada de transporte prov a comunicao fim-a-fim entre aplicaes. A arquitetura TCP/IP define dois diferentes protocolos de transporte: 11 TCP Transmission Control Protocol um protocolo orientado a conexo que prov um fluxo confivel de dados, oferecendo servios de controle de erro, controle de fluxo estao para outra de forma confivel, garantindo que sejam entregues aplicao
Captulo 2 - Arquitetura de protocolos

e sequncia. O TCP divide o fluxo de dados em segmentos que so enviados de uma destino na sequncia correta e sem erros. 11 UDP User Datagram Protocol um protocolo mais simples, no orientado a conexo, que oferece um servio de datagrama no confivel. O UDP apenas envia pacotes, denominados datagramas UDP, de uma estao para outra, mas no garante que sejam entregues aplicao destino.

Protocolo no orientado a conexo Trata cada unidade de dados como uma entidade individual, que enviada da origem ao destino sem a necessidade de estabelecer uma conexo entre as entidades comunicantes.

63

Camada de rede
A camada de rede realiza transferncia e roteamento de pacotes entre dispositivos da inter-rede. IP (Internet Protocol): 11 Prov servio de datagrama no confivel. 11 Envia, recebe e roteia datagramas IP. ICMP (Internet Control Message Protocol): 11 Permite a troca de informaes de erro e controle entre camadas de rede de estaes distintas.

A camada de rede, tambm conhecida como camada de inter-rede, responsvel pela transferncia de dados entre dispositivos da inter-rede. nela que se realiza a funo de roteamento. Os principais componentes desta camada so os seguintes protocolos: 11 IP o Internet Protocol oferece um servio de datagrama no confivel entre dispositivos da inter-rede. O protocolo IP envia, recebe e roteia pacotes, denominados datagramas IP, entre as vrias estaes da inter-rede, mas no garante que os mesmos sejam entregues estao destino. Com isso, datagramas podem ser perdidos, duplicados ou chegarem em sequncia diferente daquela em que foram enviados. 11 ICMP o Internet Control Message Protocol auxilia o protocolo IP, pois usado pelas camadas de rede de estaes distintas para troca de mensagens de erro e outras informaes de controle essenciais.

Camada de interface de rede


11 Compatibiliza a tecnologia da rede fsica com o protocolo IP. 11 Aceita datagramas IP e transmite na rede fsica sob a forma de quadros. 11 Trata os detalhes de hardware da conexo fsica e transmisso de dados. 11 Geralmente inclui o driver de dispositivo e a placa de rede.

A camada de interface de rede, tambm conhecida como camada de enlace de dados, responsvel por aceitar datagramas IP da camada de rede e transmiti-los, na rede fsica especfica, na forma de quadros. Ela compatibiliza a tecnologia da rede fsica com o protocolo IP. Geralmente, esta camada inclui o driver de dispositivo no sistema operacional e a respectiva placa de rede, tratando os detalhes de hardware para conexo fsica com a rede e transmisso de dados no meio fsico. Assim, podemos dizer que a camada de interface de rede basicamente suportada pela prpria tecnologia da rede fsica.
Arquitetura e Protocolos de Rede TCP-IP

Encapsulamento
Os processos de encapsulamento e desencapsulamento so essenciais para a compreenso do funcionamento da arquitetura em camadas TCP/IP. Em qualquer arquitetura em camadas, inclusive na arquitetura TCP/IP, os dados so gerados pelas aplicaes e, em seguida, descem na pilha de protocolos at serem efetivamente enviados atravs da rede fsica. Durante a descida na pilha de protocolos, esses dados passam por um processo denominado encapsulamento.

64

Dados de aplicao

Dados

Mensagem da aplicao

Cabealho

Dados

Segmento TCP / Datagrama UDP

Cabealho

Dados

Datagrama IP

Cabealho

Dados

Figura 2.11 Processo de encapsulamento TCP/IP.

Quadro

Cabealho

Dados

A Figura 2.11 mostra o processo de encapsulamento que ocorre quando uma aplicao envia dados na arquitetura TCP/IP. Conforme se pode constatar, cada camada adiciona informaes de controle aos dados recebidos da camada imediatamente superior e, em seguida, entrega os dados e o controle adicionados camada inferior. Os dados recebidos e as informaes de controle de uma camada so conjuntamente denominados unidade de dados do protocolo da camada (Protocol Data Unit ou simplesmente PDU). importante notar que a unidade de dados do protocolo de uma determinada camada encapsulada diretamente no campo de dados da camada imediatamente inferior. Na arquitetura TCP/IP, o processo de encapsulamento comea com a entrega dos dados a serem transmitidos para a entidade da camada de aplicao, que, por sua vez, monta mensagens do protocolo especfico da aplicao. Tais mensagens so entregues camada de transporte. Cada aplicao decide o mecanismo de transporte que deve utilizar. Se a aplicao adota o protocolo TCP, as mensagens so encapsuladas em segmentos. O protocolo TCP divide o fluxo de dados em segmentos que so enviados de uma estao para outra de forma confivel, garantindo que sejam entregues aplicao destino na sequncia correta e sem erros. Se a aplicao adota o protocolo UDP, as mensagens so encapsuladas em datagramas UDP. O protocolo UDP apenas envia pacotes, denominados datagramas UDP, de uma estao para outra, mas no garante que sejam entregues aplicao destino. Os dois protocolos de transporte, TCP e UDP, transportam suas unidades de dados (segmentos e datagramas) usando o protocolo IP. Dessa forma, segmentos TCP e datagramas UDP so encapsulados em quadros da rede fsica, para serem efetivamente transmitidos. Na prtica, o protocolo IP utilizado pelos protocolos ICMP, TCP e UDP. Assim, cada datagrama IP deve utilizar algum identificador no cabealho para indicar o protocolo que est sendo encapsulado no campo de dados. Essa identificao realizada usando um campo do cabealho do datagrama IP, denominado protocol (protocolo), que contm os valores 1, 6 e 17 para sinalizar que os dados transportados pertencem aos protocolos ICMP, TCP e UDP, respectivamente. Da mesma forma, diferentes aplicaes podem utilizar os protocolos TCP e UDP como mecanismos de transporte. Para isso, cada segmento TCP e cada datagrama UDP devem utilizar algum identificador no cabealho para indicar a aplicao que est sendo encapsulada no 65
Captulo 2 - Arquitetura de protocolos

so igualmente encapsulados no campo de dados de datagramas IP. Por fim, datagramas IP

campo de dados. Essa identificao realizada usando o conceito de porta, um nmero inteiro associado a cada programa de aplicao especfico. Os cabealhos de segmentos TCP e datagramas UDP possuem campos que identificam as portas das aplicaes comunicantes.

Exerccio de fixao 1 e Demonstrao do processo de encapsulamento


Para exemplificar as camadas de protocolos, vamos analisar um quadro capturado em uma rede local Ethernet durante uma sesso de um host com um servidor web, que usa o protocolo de aplicao HTTP, e o protocolo de transporte TCP. Mostraremos o processo de encapsulamento descrito na parte terica. Recorde a Figura 2.11, que mostra o processo de encapsulamento. Para que possamos analisar conjuntamente o mesmo quadro, usaremos um arquivo com os quadros previamente capturados, nomeado Sessao2_captura1. Para abrir este arquivo de captura, utilizando o Wireshark, selecionamos o cone da barra de ferramentas que representa uma pasta (6o da esquerda para a direita). Para esta anlise, selecionamos o pacote no 258, enviado do servidor web para o host do usurio, exatamente como mostrado na figura a seguir (tela principal do Wireshark). Neste caso, ambos esto na mesma rede local.

Na janela inferior, h o contedo total do pacote (132 bytes), representado na forma hexadecimal (da posio x0000 at a posio x0083). Cada linha representa 16 bytes (8 linhas x 16 = 128 + 4 = 132 bytes). Na janela imediatamente acima esto representadas as diversas camadas de protocolos, a saber:
Arquitetura e Protocolos de Rede TCP-IP

Figura 2.12 Detalhe da camada de enlace de dados do pacote 258.

11 Camada fsica frame 258 (132 bytes on wire, 132 bytes captured); identifica o quadro no arquivo e conta a quantidade de bytes total; 11 Camada de enlace de dados Ethernet II, Src: D-Link_f8:4c:6b (00:17:9a:f8:4c:6b), Dst: AcerNetx_01:d3:06 (00:60:67:01:d3:06); identifica os endereos fsicos de origem e destino do quadro; em ambos identifica o fabricante da placa de rede pelos 3 primeiros octetos; 11 Camada de rede Internet Protocol Version 4, Src: 192.168.0.1 (192.168.0.1), Dst: 192.168.0.199 (192.168.0.199); identifica os endereos de rede IP de origem e destino; 11 Camada de transporte Transmission Control Protocol, Src Port: http (80), Dst Port: 2223 (2223), Seq: 1, Ack: 305, Len: 78; identifica o protocolo TCP e as respectivas portas TCP que representam as aplicaes de cada lado;

66

11 Camada de aplicao Hypertext Transfer Protocol; identifica o protocolo da aplicao. Cada camada, quando selecionada, faz com que os bytes correspondentes fiquem desta cados na janela inferior. A figura anterior mostra o cabealho da camada de enlace de dados que tem o tamanho de 14 bytes. Se tivssemos selecionado a camada fsica, todo o quadro estaria em destaque (132 bytes). As prximas figuras mostram em destaque os dados das camadas de rede, transporte e aplicao, respectivamente. Na figura seguinte esto destacados os bytes do cabealho do protocolo IP (20 bytes).

Figura 2.13 Detalhe da camada de rede do pacote 258.

Na figura seguinte esto destacados os bytes do cabealho do protocolo TCP (20 bytes).

Figura 2.14 Detalhe da camada de transporte do pacote 258.

Finalmente, na figura a seguir aparecem em destaque os bytes correspondentes men sagem HTTP, incluindo o cabealho e os dados da aplicao. Note que essa mensagem tem o tamanho de 78 bytes, conforme informado pelo Wireshark, linha da camada de transporte, ltimo campo (Len: 78). Observe que, como o protocolo TCP o nico que faz a interface com a aplicao, somente ele poderia saber o tamanho da mensagem da aplicao.

Captulo 2 - Arquitetura de protocolos

67

Verificao final do tamanho total do quadro: 14 bytes (cabealho Ethernet) + 20 bytes (cabealho IP) + 20 bytes (cabealho TCP) + 78 bytes (mensagem da aplicao) = 132 bytes.

Figura 2.15 Detalhe da camada de aplicao do pacote 258.

Desencapsulamento
Na recepo, ocorre o processo inverso ao encapsulamento. Conforme mostra a Figura 2.16, cada unidade de dados sobe na pilha de protocolos at que os dados sejam efetivamente entregues ao programa de aplicao. Cada camada trata as suas informaes de controle, realizando funes especficas de acordo com a informao contida no cabealho.

Aplicao

FTP

SMTP

DNS

SNMP

Transporte

TCP

Porta

UDP

Porta

Rede

ICMP

IP

Protocol
Figura 2.16 Processo de desencapsulamento TCP/IP.

Interface de rede
Arquitetura e Protocolos de Rede TCP-IP

Driver de rede

Em seguida, o cabealho da unidade de dados removido e apenas o campo de dados entregue camada imediatamente superior. Consequentemente, o campo de dados de uma dada camada representa a unidade de dados (cabealho somado aos dados propriamente ditos) da camada imediatamente superior. Esse processo denominado desencapsulamento. Vamos acompanhar os detalhes desse processo. O processo de desencapsulamento comea com a recepo de um quadro da rede fsica. A camada de interface de rede realiza o tratamento adequado do quadro, efetuando, por exemplo, a deteco de erros de transmisso. Assim, aps realizar suas funes, a camada de interface de rede entrega o respectivo datagrama diretamente ao protocolo IP, implementado no sistema operacional.

68

Caso a estao em questo seja o destino final do datagrama, o protocolo IP entrega o con tedo do campo de dados do datagrama camada de transporte ou ao protocolo ICMP. Para tal, o campo Protocol (protocolo) do datagrama avaliado para identificar se o contedo uma mensagem ICMP, um segmento TCP ou um datagrama UDP, e, depois, realizar a entrega ao protocolo correspondente (ICMP, TCP ou UDP, respectivamente). Por fim, baseados nos campos do cabealho que identificam as portas das aplicaes comunicantes, os protocolos TCP e UDP extraem a mensagem encapsulada e entregam diretamente ao programa de aplicao de destino. J no caso de uma mensagem ICMP, a unidade de dados j atingiu o destino final e, assim, no sobe mais na pilha de protocolos. O processo de desencapsulamento ocorre tanto na estao de destino quanto nos vrios roteadores intermedirios. No entanto, como os datagramas IP devem ser encaminhados adiante nos roteadores intermedirios, a unidade de dados encapsulada no datagrama IP no sobe na pilha de protocolos. Em vez disso, o datagrama IP passa por um novo processo de encapsulamento. Em conjunto, os processos de encapsulamento e desencapsulamento asseguram a correta comunicao entre entidades pares de uma dada camada. Ou seja, a entidade de destino sempre recebe uma cpia idntica da unidade de dados enviada pela entidade de origem.

Interao dos protocolos


Para alcanar uma determinada estao de destino, datagramas IP devem (se possvel) ser roteados atravs de diversos roteadores e redes intermedirias. A Figura 2.17 ilustra uma inter-rede TCP/IP que ser utilizada para a anlise do processo de interao dos protocolos. E1 E2

SNMP

Protocolo SNMP

SNMP

UDP

Protocolo UDP

R1

R2

UDP

IP

IP

IP

IP

N1
Figura 2.17 Interao dos protocolos TCP/IP.

N2

N3

Essa inter-rede composta por trs redes fsicas distintas (N1, N2 e N3), interconectadas por dois roteadores (R1 e R2). Vamos supor que a estao E1 deseje transmitir uma mensagem do protocolo de aplicao SNMP para a estao E2 usando o protocolo UDP como mecanismo de transporte. As seguintes etapas podem ser observadas na inter-rede analisada:

Captulo 2 - Arquitetura de protocolos

DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

DRIVER

69

11 Logo aps montar uma mensagem SNMP, o programa de aplicao na estao E1 solicita ao sistema operacional que envie a mensagem usando o protocolo UDP, tendo como destino a estao E2. 11 O sistema operacional monta um datagrama UDP, incluindo no cabealho os identifica dores das portas associadas s aplicaes de origem e destino, e encapsula a mensagem SNMP no campo de dados. 11 Em seguida o sistema operacional encapsula o datagrama UDP em um datagrama IP, incluindo no cabealho os endereos IP das estaes de origem e destino, e insere o datagrama UDP no campo de dados. Alm disso, o cabealho do datagrama IP sinaliza no campo Protocol que transporta um datagrama UDP. 11 Baseado nas informaes de roteamento mantidas na estao E1, o sistema operacional roteia o datagrama IP para o roteador R1. Nesse processo, o datagrama IP encapsulado em um quadro da rede fsica N1 e, ento, transmitido pela camada de interface de rede. 11 Aps receber o quadro da rede fsica N1, a camada de interface de rede associada rede N1 do roteador R1 extrai o datagrama IP e o decodifica. 11 Ao observar o endereo IP de destino no cabealho do datagrama, o roteador R1 percebe que esse datagrama no endereado a ele e a nenhuma estao da rede N2. 11 O roteador R1 encaminha o datagrama para o roteador R2, baseado nas informaes de roteamento mantidas no roteador R1. Nesse processo, o datagrama IP encapsulado em um quadro da rede fsica N2, e ento transmitido pela camada de interface de rede associada a essa rede. 11 Quando recebe o quadro da rede fsica N2, a camada de interface de rede associada rede N2 do roteador R2 extrai o datagrama IP e o decodifica. Pelo endereo IP de destino, informado no cabealho do datagrama, o roteador tambm percebe que o roteador R2 no o destino final desse datagrama. 11 Com base nas informaes de roteamento mantidas no roteador R2, ele descobre que pode enviar o datagrama IP diretamente para a estao de destino. Assim, o datagrama IP encapsulado em um quadro da rede fsica N3 e ento transmitido pela camada de interface de rede associada a essa rede. 11 Ao receber o quadro, a camada de interface de rede da estao E2 extrai o datagrama IP e o decodifica. Como o endereo IP de destino (informado no cabealho do datagrama) o da prpria estao E2, o sistema operacional percebe que o datagrama destinado quela estao. 11 O sistema operacional avalia o campo Protocol do datagrama IP e descobre que um datagrama UDP transportado no campo de dados. O sistema operacional extrai o datagrama UDP.
Arquitetura e Protocolos de Rede TCP-IP

11 Em seguida, o sistema operacional extrai do datagrama UDP a mensagem SNMP e a entrega ao programa de aplicao destino aps identificar a porta associada a esta aplicao. Isso encerra a interao dos vrios protocolos. Em sntese, os sistemas operacionais utilizam os protocolos das vrias camadas para montar, enviar, receber e processar unidades de dados de suas respectivas camadas. Por exemplo, o sistema operacional utiliza o protocolo IP para montar datagramas e solicitar que sejam enviados camada de interface de rede. Alm disso, recebe e processa os datagramas IP extrados pela camada de interface de rede.

70

Durante o envio de datagramas IP, cada datagrama pode ser roteado diretamente para a estao de destino ou para algum roteador intermedirio. Por outro lado, na recepo de datagramas IP, se a estao for o destino, o datagrama recebido localmente repassado camada de transporte. Caso contrrio, o datagrama recebido roteado para a estao de destino ou para outro roteador intermedirio. As camadas de aplicao e transporte sempre usam protocolos fim-a-fim. Ou seja, tais protocolos transportam unidades de dados direta mente entre as estaes de origem e destino. Portanto, na figura, apenas as estaes E1 e E2 apresentam as camadas de aplicao e transporte. As camadas inter-rede e interface de rede adotam protocolos que permitem a troca de unidades de dados apenas entre equipamentos conectados a uma mesma rede fsica. Dessa forma, as camadas inter-rede e interface de rede esto presentes nas estaes comunicantes e nos vrios roteadores intermedirios. Pelo fato de conectar vrias redes fsicas, cada roteador pode possuir diversas implementaes da camada de interface de rede; cada uma delas especfica para um determinado tipo de rede fsica. Por exemplo, uma conexo a uma rede local atravs de uma interface Fast Ethernet, e uma conexo de longa distncia atravs de uma interface POS. Entretanto, roteadores possuem apenas uma nica implementao da camada de rede, porque o protocolo IP adotado em toda a inter-rede para garantir a interoperabilidade dos vrios dispositivos.

Endereos fsicos e lgicos


Endereo fsico: 11 o endereo da estao do usurio na rede fsica. 11 Somente identifica o equipamento, no a rede. 11 No rotevel entre as redes fsicas. 11 Exemplo: endereo MAC Ethernet. Endereo lgico: 11 Identifica a rede fsica e a estao do usurio na rede. 11 rotevel entre as redes fsicas. 11 Exemplo: endereo IP.

Existem inmeras diferenas entre endereo fsico e endereo lgico, das quais destacamos: 11 Endereo fsico est associado camada de enlace, servindo para identificar somente o equipamento, sem considerar a rede em que ele se encontra. 11 Do ponto de vista do endereamento fsico, todos os equipamentos pertencem mesma rede.
Captulo 2 - Arquitetura de protocolos

11 Endereo lgico identifica a rede na qual o equipamento se encontra e tambm o prprio equipamento dentro da rede. 11 O endereo lgico permite que os equipamentos estejam situados em redes diferentes.

71

Comparao das arquiteturas TCP/IP e OSI


A figura seguinte compara a pilha de protocolos TCP/IP com o modelo OSI de referncia:

OSI
Aplicao Apresentao Sesso Transporte Rede Enlace de dados Fsica

TCP/IP

Aplicao

Transporte Rede

Interface de rede

Figura 2.18 Pilha de protocolos TCP/IP versus Modelo OSI.

11 As duas camadas inferiores podem ser chamadas de camadas de interface de redes. 11 A camada de rede chamada de camada internet, no modelo TCP/IP. 11 Os termos pacote (packet) e datagrama (datagram) so praticamente intercambiveis. Entretanto, um datagrama IP uma unidade de transmisso fim-a-fim da camada de rede (antes da fragmentao e depois da remontagem), enquanto um pacote uma unidade de dados (PDU) passada entre as camadas de rede e de enlace de dados. Um pacote pode conter um datagrama completo ou pedaos menores a serem transmitidos (fragmentos). 11 A camada de transporte funcionalmente similar nos dois modelos. 11 As camadas de sesso, apresentao e aplicao do modelo OSI correspondem camada de aplicao na arquitetura TCP/IP. 11 O modelo TCP/IP real e usado na prtica, enquanto o modelo OSI mais utilizado para fins acadmicos.

72

Arquitetura e Protocolos de Rede TCP-IP

Roteiro de Atividades 2
Atividade 2.1 Captura de pacotes
1. Vamos ativar o Wireshark, como fizemos no captulo anterior, s que desta vez para confi -

gurar um filtro de captura. Na tela inicial do Wireshark, em vez de selecionar o boto Start, vamos selecionar o boto Options na interface de rede local. Teremos ento a tela a seguir. Na janela Capture Filter, digite a palavra host e seu endereo IP, conforme mostra a figura. Este um exemplo de filtro de captura.

Figura 2.19 Opes de captura de pacotes do Wireshark.

Em seguida, clique em Start para iniciar a captura. Porm, sero capturados somente os pacotes que contm o endereo IP especificado. Os demais pacotes IP sero descartados.
2. Vamos agora executar uma simples captura de pacotes, navegando no site: http://esr.rnp.br
Captulo 2 - Roteiro de Atividades

Aguarde at que toda a pgina do site tenha sido carregada, feche a janela do navegador, volte para a janela do Wireshark (que ficou aberta) e s ento termine a captura de pacotes clicando no quarto cone da esquerda para a direita da barra de ferramentas (Stop the running live capture). A janela de captura do Wireshark deve ser semelhante mostrada na figura a seguir, onde est destacado o quadro 251 (tela parcial).

73

Note a grande quantidade de pacotes trocada entre o seu computador (IP: 200.130.26.4) e o servidor do site www.esr.rnp.br (IP: 173.194.27.39), apenas para abrir a pgina inicial do site. fcil perceber que uma navegao demorada vai gerar uma grande quantidade de pacotes capturados, podendo dificultar a anlise detalhada de um volume considervel de dados. Este exemplo de captura de pacotes pode ser aplicado a qualquer site e tambm para outras aplicaes, como e-mail e downloads.

Figura 2.20 Quadro 251 capturado pelo Wireshark.

Atividade 2.2 Caminhos de rede


Considere a rede da Figura 2.21:
E9

E1

E8

N5

N1
E2

R3

R4

N4

E7

R2 R1

N2

N3

Arquitetura e Protocolos de Rede TCP-IP

E3

E4

E5

E6

Figura 2.21 Rede da Atividade 2.2.

1. Identifique um possvel caminho a ser seguido por pacotes enviados da estao E2 para

a estao E8. Adote uma narrativa semelhante quela apresentada no tpico modelo de interconexo, em que essa figura discutida.

74

2. Considere que existe uma conexo entre o roteador R2 e a rede N1. Essa nova conexo

exerce alguma influncia na sua resposta anterior? Explique.

Atividade 2.3 Estaes multihomed


Na mesma rede da figura anterior, considere que a estao E9 possui uma conexo com a rede N5 (como j mostrado na figura anterior) e que uma nova conexo com a rede N4 foi acrescentada (no ilustrada na figura anterior).
1. correto afirmar que a estao E9 multihomed? Explique.

2. A existncia de mltiplas conexes assegura que a estao E9 opere como um roteador?

Em caso afirmativo, apresente a justificativa.

3. Se a estao E9 no opera como um roteador, existe alguma forma de transformar essa

estao em roteador? Explique.

Atividade 2.4 Modelo OSI


Um fabricante de equipamentos de rede lhe enviou um catlogo de produtos. Um trecho do catlogo transcrito abaixo: Switch-Router Ethernet XYZ Super-Plus Recursos L2: at 8000 endereos Recursos L3: 20000 rotas
Captulo 2 - Roteiro de Atividades

Consulte-nos tambm sobre a linha Mega Power, com a tecnologia de inspeo profunda de pacotes que permite a criao de filtros L7. Voc sabe que os fabricantes costumam usar o modelo ISO/OSI como referncia. Explique para algum que s conhea a arquitetura TCP/IP o que o anncio acima quer dizer.

75

76

Arquitetura e Protocolos de Rede TCP-IP

3
Endereamento IP (parte 1)
objetivos
Apresentar as tcnicas de resoluo e atribuio automtica de endereos, bem como os mecanismos de entrega adotados na arquitetura TCP/IP.

conceitos

Endereamento IPv4 e clculo de sub-redes por diversos mtodos.

Endereo IPv4
O endereo IPv4 tem o objetivo de identificar, de forma nica e individual, cada dispositivo da inter-rede TCP/IP. Tambm denominado de endereo internet. Representao: 11 Nmero inteiro de 32 bits. 11 Permite at 2 32 endereos.

Os usurios enxergam a internet como uma rede virtual nica, na qual todos os dispositivos esto conectados. Para possibilitar essa conexo, um mecanismo de endereamento universal deve ser adotado, permitindo a identificao individual e nica de cada dispositivo. Em redes TCP/IP, essa identificao realizada por meio de endereos IP, tambm denominados endereos internet. Os endereos IP podem ser de dois tipos: IPv4 e IPv6. Trataremos primeiro dos endereos IPv4, que foram concebidos primeiro. Depois veremos o IPv6 e o por qu da sua existncia. Endereos IPv4 so nmeros inteiros de 32 bits. Portanto, existe um total de 232 endereos possveis.
0 11000000 10101000 00001010 00000001
Captulo 3 - Endereamento IP (parte 1)

Figura 3.1 Endereo IPv4 .

31

Notao decimal
Representao por 4 nmeros decimais separados por pontos, em que cada nmero decimal est associado a um determinado octeto do endereo.

Para facilitar a manipulao, os endereos IPv4 so normalmente escritos com uma notao decimal pontuada, denominada dotted-decimal notation. Cada nmero decimal est associado a um determinado octeto do endereo e, portanto, varia entre 0 e 255. A figura seguinte apresenta as notaes binria e decimal de um endereo IPv4.

77

0 11000000 10101000 00001010 00000001

31

192

168

10

Figura 3.2 Notao decimal pontuada do endereo IPv4.

Atribuio de endereos
11 Endereos IPv4 no so atribudos s estaes e roteadores. 11 Endereos IPv4 so atribudos s interfaces de estaes e roteadores. 11 Cada interface de estaes e roteadores deve possuir um endereo IPv4. 11 Estaes multihomed e roteadores possuem diversos endereos IPv4.

Endereos IPv4 no so atribudos diretamente s estaes e roteadores, mas s interfaces de rede desses dispositivos. Dessa forma, cada interface de estaes e roteadores deve possuir um endereo IPv4 nico. fcil, portanto, concluir que estaes multihomed e roteadores possuem mltiplos endereos IPv4.

Hierarquia de endereamento
Em vez de utilizar uma numerao puramente sequencial, os endereos IPv4 adotam uma estrutura hierrquica que identifica as redes fsicas e as estaes (interfaces) nessas redes. A razo dessa estruturao hierrquica realizar o roteamento baseado em redes, em vez de baseado em estaes. Essa abordagem reduz sensivelmente a quantidade de informaes de roteamento e o torna mais eficiente. A Figura 3.3 ilustra a estrutura hierrquica dos endereos IPv4.

0 Identicador de rede Identicador de estao

31

Figura 3.3 Hierarquia de endereamento.

O roteamento baseado em redes, portanto, as informaes de roteamento apontam para as redes, e no para as estaes individuais. Para representar essa hierarquia, todo endereo IPv4 dividido em duas partes: 11 Identificador de rede comumente denominado prefixo de rede, identifica a rede de forma nica e individual.
Arquitetura e Protocolos de Rede TCP-IP

11 Identificador de estao identifica a estao (interface) dentro da rede de forma nica e individual.

Regras de atribuio de endereos


11 Diferentes prefixos de rede devem ser adotados para diferentes redes fsicas. 11 Um nico prefixo de rede deve ser compartilhado por interfaces de uma rede fsica. 11 Um nico identificador de estao deve ser atribudo a cada interface de uma rede fsica.

78

Na atribuio de endereos s interfaces de estaes e roteadores, as seguintes regras devem ser seguidas:
1. Diferentes prefixos de rede devem ser adotados para diferentes redes fsicas. Como os

roteadores na inter-rede encaminham pacotes entre as redes fsicas, preciso que eles saibam distinguir umas das outras, atravs do prefixo de rede. Assim como no correio postal, cada cidade tem que ter um identificador diferente (CEP), para possibilitar o enca minhamento de cartas de uma cidade para outra.
2. Um nico prefixo de rede deve ser compartilhado pelas interfaces conectadas a uma mesma

rede fsica. Se as interfaces pertencem a uma mesma rede fsica, elas devem usar o mesmo prefixo de rede atribudo rede fsica, para que possam receber pacotes vindos de outras redes fsicas ou de outra estao da mesma rede onde elas esto. Assim como no correio postal, cada bairro que pertence a uma cidade precisa ter o nome da cidade no seu endereo.
3. Um nico identificador de estao deve ser atribudo a cada interface conectada a uma

determinada rede fsica. No pode haver duas interfaces, dentro da mesma rede fsica, com o mesmo identificador de estao. como se numa rua existissem duas casas com o mesmo nmero.
E1 E3

192.168.10.1 N1 E2
Figura 3.4 Exemplo de atribuio de endereos.

R1 N2 200.10.1.3 E4

200.10.1.1

192.168.10.3

192.168.10.2

200.10.1.2

Por exemplo, observe na Figura 3.4, onde todas as mscaras de rede so /24, que todas as interfaces conectadas s redes N1 e N2 compartilham prefixos de redes que identificam suas respectivas redes fsicas. Isso significa que as estaes (E1 e E2) e o roteador (R1) compartilham o prefixo 192.168.10 da rede N1, enquanto as estaes (E3 e E4) e o roteador (R1) compartilham o prefixo 200.10.1 da rede N2. Interfaces conectadas a diferentes redes fsicas podem possuir os mesmos identificadores de estao, pois seus prefixos de rede so diferentes e asseguram a unicidade de ende dores de estao 1, 2 e 3, respectivamente. J na rede N2, as estaes (E3 e E4) e o roteador (R1) possuem, tambm, os identificadores de estao 1, 2 e 3, respectivamente.
Captulo 3 - Endereamento IP (parte 1)

reos. Por exemplo, na rede N1, as estaes (E1 e E2) e o roteador (R1) possuem os identifica -

Classes de endereos
11 Endereos classe A. 11 Endereos classe B. 11 Endereos classe C. 11 Endereos classe D. 11 Endereos classe E.

79

Em relao capacidade, permitem a configurao de um variado nmero de redes com diferentes tamanhos.

Para acomodar diferentes tamanhos de redes fsicas, o espao de endereos IPv4 dividido em cinco classes de endereos, denominadas classes A, B, C, D e E. Cada classe adota uma posio diferente para delimitar o prefixo de rede e o identificador de estao.
0 Classe A 0 Classe B 0 Classe C 0 Classe D 0 Classe E 1111 1110 4 31
Figura 3.5 Classes de endereos IPv4.

1 0 2 10 3 110 4

7 8

31

15

16

31

23

24

31

31

A Figura 3.5 ilustra as classes de endereos IPv4, cuja distino realizada por um cdigo fixo associado a cada classe nos primeiros bits do octeto mais significativo. 11 Endereos classe A os 8 primeiros bits identificam a rede e os outros 24 bits identificam a estao. Assim, podemos concluir que o total de redes classe A de 27 (primeiro bit do prefixo de rede sempre igual a 0), com at 224 estaes em cada rede. 11 Endereos classe B os 16 primeiros bits representam o prefixo de rede e os outros 16 bits representam o identificador da estao. Nesse caso, o total de redes classe B de 214 (dois primeiros bits do prefixo de rede fixados em 10), com at 216 estaes em cada rede. 11 Endereos classe C possuem 24 bits que identificam a rede e apenas 8 bits que identificam a estao. Assim, a quantidade de redes classe C de, no mximo, 221 (trs primeiros bits do prefixo de rede fixados em 110), com at 28 estaes em cada rede. Observe que as classes A, B e C permitem a configurao de um variado nmero de redes com diferentes tamanhos: 11 Endereos classe A suportam poucas redes, mas cada uma delas pode ser gigantesca. 11 Endereos classe B suportam um nmero mediano de redes, com tamanho
Arquitetura e Protocolos de Rede TCP-IP

relativamente grande. 11 Endereos classe C suportam um grande nmero de pequenas redes. 11 Endereos classe D so usados para suportar endereamento multicast, em que cada endereo associado a um grupo de estaes. Neste caso, pacotes destinados a um determinado endereo multicast so entregues s estaes que pertencem ao respectivo grupo. O conjunto composto pelos 28 bits de um endereo classe D denominado identificador de grupo multicast. Ao contrrio das classes A, B e C, endereos multicast no possuem qualquer hierarquia. Na prtica, endereamento multicast pode ser utilizado por aplicaes interativas de grupo por exemplo, videoconferncia ou como mecanismo para identificar servios em uma rede.

80

11 Endereos classe E no so utilizados na prtica, sendo reservados para uso experimental. Classe
Figura 3.6 Capacidade de redes e estaes de cada classe de endereos IPv4.

Nmero de redes 27 214 221

Nmero de estaes 224 216 28

A B C

Baseado nas classes de endereos IPv4 mostradas na Figura 3.5, podemos deduzir as faixas de endereos IPv4 de cada classe, ou seja, o espao de endereamento total por classe, conforme mostrado na tabela seguinte. Classe A B C
Figura 3.7 Espao de endereamento.

Intervalos de endereos 0.0.0.0 - 127.255.255.255 128.0.0.0 - 191.255.255.255 192.0.0.0 - 223.255.255.255 224.0.0.0 - 239.255.255.255 240.0.0.0 - 255.255.255.255

D E

Endereos especiais
Considerando o espao de endereos das classes A, B e C, vrios desses endereos so reservados para determinadas finalidades: identificao de rede, broadcast, endereos privados, identificao de rota default e loopback.

Endereo de rede Broadcast direto Broadcast limitado Rota default


Figura 3.8 Endereos especiais.

Prexo de rede Prexo de rede 1...1 0...0 127

0...0 1...1 1...1 0...0 X...X

Loopback

Endereos de rede e broadcast


de uma rede, os endereos IPv4 servem para referenciar as prprias redes. Por isso, por conveno, qualquer endereo classe A, B ou C, cujo identificador de estao possua todos os bits iguais a 0, reservado para enderear a prpria rede, denominando-se, ento, endereo de rede. Assim, o identificador de estao com todos os bits iguais a 0 nunca atribudo a uma interface. A tabela seguinte ilustra a conveno para endereos de rede. Classe A
Figura 3.9 Conveno para endereos de rede.
Captulo 3 - Endereamento IP (parte 1)

Alm de serem utilizados para identificar estaes (interfaces de estaes e roteadores)

Prefixo de rede 10 172.16 192.168.10

Endereo de rede 10.0.0.0 172.16.0.0 192.168.10.0

B C

81

Endereos de rede nunca so usados diretamente nos datagramas IPv4. Entretanto, como o roteamento na arquitetura TCP/IP baseado em redes, em vez de estaes, os endereos de rede so largamente adotados para manter as informaes de roteamento que apontam para as respectivas redes. Uma vez que cada rede fsica possui um endereo de rede particular, o endereamento IP adota o conceito de broadcast direto. Para suportar o conceito de broadcast direto, o endereamento IPv4 reserva um endereo especial em cada rede. Por conveno, qualquer endereo classe A, B, ou C, cujo identificador de estao possua todos os bits iguais a 1, reservado para representar o endereo de broadcast direto. Assim, o identificador de estao com todos os bits iguais a 1 nunca deve ser atribudo a uma interface. A tabela seguinte ilustra a conveno para endereos de broadcast direto. Classe A B C Endereo de rede 10.0.0.0 172.16.0.0 192.168.10.0 Endereo de broadcast direto 10.255.255.255 172.16.255.255 192.168.10.255
Figura 3.10 Conveno para endereos de broadcast direto.

Ao contrrio de endereos de rede, que nunca so usados diretamente nos datagramas IPv4, endereos de broadcast direto podem ser usados em datagramas, permitindo ao roteador de entrada da rede destino realizar o broadcast do datagrama naquela rede. Alm do conceito de broadcast direto, o endereamento IPv4 tambm suporta o conceito de broadcast limitado, que, similarmente, permite o envio de datagramas IPv4 para todas as estaes (interfaces de estaes e roteadores) de uma determinada rede. No entanto, ao contrrio do broadcast direto, que permite o envio a partir de qualquer estao da inter-rede TCP/IP, o broadcast limitado permite o envio apenas a partir de uma estao localizada na prpria rede destino. Ou seja, somente uma estao da prpria rede pode realizar o broadcast limitado para aquela rede. Na prtica, o broadcast limitado geralmente usado durante procedimentos de identificao de servios em uma rede. Para suportar o conceito de broadcast limitado, o endereamento IPv4 reserva um endereo especial que, por conveno, composto de 32 bits iguais a 1. Assim, o endereo 255.255.255.255 reservado para representar o endereo de broadcast limitado. Da mesma forma que endereos de broadcast direto, o endereo de broadcast limitado pode ser usado em datagramas IP.

Exerccio de fixao 1 e Classes de endereamento


Considere que os seguintes endereos foram usados para configurar interfaces de um rote Arquitetura e Protocolos de Rede TCP-IP

Mscara de rede padro Cada classe de endereo tem uma mscara padro indicando os octetos que identificam a rede, e os octetos que identificam a estao. Os octetos de rede so identificados pelo decimal 255 e os de estao pelo decimal 0 (zero).

ador: 200.150.10.10, 20.1.1.10 e 150.10.1.100.


1. Qual a classe de endereamento de cada um deles?

2. Qual a mscara de rede padro de cada endereo?

82

Rota default
Rota adotada quando nenhuma outra rota da tabela de roteamento est associada ao endereo de rede do destino do datagrama. O conceito de rota default fundamental para minimizar a quantidade de informaes de roteamento e tornar mais eficiente o roteamento em roteadores e estaes. Para suportar o conceito de rota default, o endereamento IPv4 reserva um endereo especial que, por conveno, composto de 32 bits iguais a 0, conforme ilustrado na Figura 3.8. Logo, o endereo 0.0.0.0 reservado para representar uma rota default e, portanto, no pode ser usado para uma rede.

Interface e endereo de loopback


Para viabilizar um mecanismo de teste local de protocolos e servios, o conceito de interface de loopback suportado por diversas implementaes. Como ilustrado na Figura 3.8, o endereo de rede classe A 127.0.0.0 reservado para a interface de loopback e, portanto, no pode ser usado para uma rede. Na prtica, geralmente, apenas o endereo 127.0.0.1 usado para identificar essa interface. Assim, qualquer datagrama IP destinado ao endereo 127.0.0.1 no efetivamente enviado na rede fsica, mas retorna para a prpria estao. Consequentemente, impossvel enviar um datagrama IP para o endereo de loopback de outra estao.

Espao de endereamento e endereos permitidos


11 Espao de endereamento: conjunto de endereos que compartilham um mesmo prefixo de rede. 11 Endereos permitidos: conjunto de endereos que podem ser atribudos s interfaces.

Considerando um endereo classe A, B ou C para cada prefixo de rede, o espao de endere amento composto por todos aqueles que podem ser expressos por meio da variao do identificador da estao, conforme mostra a tabela seguinte. Classe A B C Prefixo de rede 10 172.16 192.168.10 Espao de endereamento 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.16.255.255 192.168.10.0 - 192.168.10.255 Endereos permitidos 10.0.0.1 - 10.255.255.254 172.16.0.1 - 172.16.255.254 192.168.10.1 - 192.168.10.254

Figura 3.11 Espao de endereamento e endereos permitidos.

Considerando o espao de endereamento das classes A, B e C, os endereos permitidos so todos aqueles que podem ser atribudos s interfaces de estaes e roteadores. Portanto, os endereos permitidos compreendem todo o espao de endereamento, exceto o primeiro (endereo de rede) e o ltimo (endereo de broadcast direto), conforme a Figura 3.11.
Captulo 3 - Endereamento IP (parte 1)

Mscara de rede
Seu objetivo delimitar a posio do prefixo de rede e do identificador de estao. Representao por padro de 32 bits: 11 Possui bits 1 no prefixo de rede. 11 Possui bits 0 no identificador de estao.

83

As classes de endereos adotam diferentes posies para delimitar o prefixo de rede e o identificador de estao. Alm dos primeiros bits do prefixo de rede, o endereamento IP adota o conceito de mscara de rede para permitir que cada estao conhea o nmero de bits que identifica a rede fsica e a estao. A Figura 3.12 ilustra a estrutura de uma mscara de rede.
0 1...1 0...0 31
Figura 3.12 Mscara de rede.

Notao decimal: 11 Representada por 4 nmeros decimais separados por pontos. 11 Cada nmero decimal est associado a um determinado byte da mscara. Notao de contagem de bits: 11 Representada por um nmero inteiro que indica a quantidade de bits 1 da mscara. Para facilitar a manipulao, mscaras de rede podem ser escritas por meio do uso da notao decimal (dotted-decimal notation) ou contagem de bits (bit count). Na notao

decimal com pontos, de forma similar ao endereo IP, a mscara representada por quatro nmeros decimais, separados por pontos. Cada nmero decimal est associado a um determinado byte da mscara e, portanto, varia entre 0 e 255. Na notao de contagem de bits, a mscara simplesmente representada por um nmero inteiro, precedido por uma barra (/) que sinaliza a quantidade de bits 1 que compem a mscara. A Figura 3.13 ilustra um exemplo de endereo IP e respectiva mscara de rede nas notaes decimal e contagem de bits.
11000000 10101000 00001010 11111111 11111111 11111111 00000001 00000000 Endereo IP Mscara de rede
Figura 3.13 Exemplo de endereo IP e mscara de rede.

192.168.10.1 255.255.255.0 192.168.10.1/24


Considerando que os endereos de rede classe A, B e C possuem 8, 16 e 24 bits no prefixo de rede, as mscaras 255.0.0.0 (/8), 255.255.0.0 (/16) e 255.255.255.0 (/24) so denominadas mscaras default para essas classes de endereos, respectivamente.

Exerccio de fixao 2 e Formatos de representao


Arquitetura e Protocolos de Rede TCP-IP

Ao avaliar a configurao de uma interface de rede, o administrador descobriu que essa interface possui o endereo 200.10.192.16 e a mscara 255.255.255.0. Escreva em binrio esse endereo IP e essa mscara. Apresente o endereo IP e a mscara usando a notao de contagem de bits.

Notao de contagem de bits Indica quantos bits 1 existem na mscara de rede em binrio. Exemplo: 255 equivale a 11111111.

84

Resoluo de endereos
11 Problema: datagramas adotam endereos IP e quadros das redes fsicas adotam endereos fsicos. 11 Soluo: mapeamento de endereos IP para endereos fsicos.

A arquitetura TCP/IP suporta uma viso de rede virtual nica, porque assume que todas as estaes adotam endereos IP. Assim, datagramas IP sempre transportam os endereos IP das estaes de origem e destino. No entanto, as diferentes tecnologias de redes fsicas possuem seus prprios esquemas de endereamento. Por exemplo, redes Ethernet adotam endereos fsicos de 48 bits (MAC Address).
A B

IA FA

IB FB

Figura 3.14 Endereos fsicos e endereos lgicos.

IA IB FA FB

Datagrama Quadro

Endereos fsicos no possuem qualquer relao de tamanho ou valor com endereos IP. Assim, cada interface de estaes e roteadores deve possuir dois endereos: 11 Endereo fsico endereo adotado pelos protocolos da camada de enlace da arquitetura OSI e da camada de interface de rede da arquitetura TCP/IP. Gravado, geralmente, pelo fabricante na placa de rede, embora algumas tecnologias de rede permitam a configurao direta. 11 Endereo IP endereo lgico atribudo localmente pelo administrador. Quando um quadro transmitido de uma estao para outra na rede fsica, os endereos fsicos de origem e destino so tambm informados no quadro. Os drivers de dispositivo associados s interfaces fsicas nunca avaliam diretamente o endereo IP de destino transportado no datagrama IP, mas apenas o endereo fsico de destino transportado no quadro. Assim, o endereo fsico de destino determina a estao (interface) que efetivamente receber o quadro.

Exemplo
Considere duas estaes (A e B) conectadas ao mesmo segmento de rede fsica. Cada estao possui um endereo IP (I A e IB) e um endereo fsico (FA e FB). Agora, suponha que a estao A deseja enviar um datagrama IP para a estao B. Para tal, a estao A prepara o datagrama, incluindo os endereos IP de origem e destino (I A e IB). Observe que a estao A conhece o seu prprio endereo IP (I A), como tambm o endereo IP da estao B (IB), provadatagrama encapsulado em um quadro da rede fsica, que deve incluir os endereos fsicos de origem e destino (FA e FB). No entanto, embora conhea o seu prprio endereo fsico (FA), a estao A no conhece o endereo fsico da estao B (FB). Logo, a estao A somente pode se comunicar com a estao B aps descobrir o endereo fsico dela. Lembre-se de que datagramas IP so encapsulados em quadros da rede fsica. Consequentemente, considerando que qualquer estao de origem sempre conhece o endereo IP da estao de destino, um mecanismo de resoluo de endereos deve realizar o mapeamento do endereo IP de destino (geralmente sempre conhecido) para o endereo fsico de destino (inicialmente desconhecido). 85
Captulo 3 - Endereamento IP (parte 1)

velmente informado pela camada de aplicao ou diretamente pelo usurio. Em seguida, o

Tcnicas de resoluo de endereos


Mapeamento direto: 11 Pressupe que endereos fsicos podem ser escolhidos pelo administrador. 11 O endereo fsico deve possuir o mesmo valor do identificador de estao do endereo IP. Mapeamento dinmico: 11 Permite endereos fsicos configurados pelo administrador ou fabricante. 11 Protocolo auxiliar realiza o mapeamento de forma transparente e sob demanda. 22 Rede fsica deve suportar broadcast. 11 Implementado na arquitetura TCP/IP pelo protocolo Address Resolution Protocol (ARP). Existem dois tipos de tcnicas de resoluo de endereos com o objetivo de realizar o mapeamento de endereos IP para seus respectivos endereos fsicos.

Mapeamento direto
Geralmente adotado quando a tecnologia de rede permite ao administrador configurar os endereos IP e os endereos fsicos das interfaces durante a instalao. Neste caso, tipicamente, o endereo fsico de uma determinada interface deve possuir o mesmo valor do identificador de estao do endereo IP associado quela interface. Por exemplo, se uma determinada interface possui o endereo IP 192.168.10.5, ento o endereo fsico da interface deve ser configurado com o valor 5.

Mapeamento dinmico
Pode ser adotado tanto nas tecnologias de rede que permitem a configurao direta dos endereos fsicos, quanto naquelas em que essa facilidade no suportada. Assim, o mapeamento dinmico torna os endereos IP independentes dos endereos fsicos das interfaces. Ou seja, se uma determinada interface possui o endereo IP 192.168.10.5, ento o endereo fsico desta interface no precisa ser 5. No entanto, o mapeamento dinmico somente pode ser adotado em redes fsicas que suportam o conceito de broadcast. Para tal, o mapeamento dinmico adota um protocolo auxiliar, que, enviando quadros em broadcast de camada de enlace, capaz de realizar a resoluo de endereos de forma transparente e sob demanda.

Para pensar
Embora seja mais eficiente do que o mapeamento dinmico, na prtica o mapeamento direto no adotado, pois requer a configurao individual dos endereos fsicos e gera uma dependncia destes com os endereos IP. Na arquitetura TCP/IP,
Arquitetura e Protocolos de Rede TCP-IP

o protocolo Address Resolution Protocol (ARP) prov um eficiente mecanismo de reso luo dinmica de endereos.

Protocolo ARP
Objetivo de mapear endereos IP para seus respectivos endereos fsicos.

O protocolo ARP permite que qualquer estao encontre o endereo fsico de outra estao na mesma rede fsica, com base apenas no endereo IP dessa outra estao. A resoluo dinmica suportada pelo protocolo ARP bastante simples. A Figura 3.15 apresenta uma interao desse protocolo.

86

FA, IA, ?, IB

Figura 3.15 Funcionamento do protocolo ARP.

FA, IA, FB, IB


Quando a estao A deseja identificar o endereo fsico da estao B (FB), na mesma rede fsica, a estao A envia, em broadcast, um pacote especial, denominado requisio ARP, para solicitar estao com endereo IP (IB) que responda com o seu endereo fsico correspondente. Nesse processo, a requisio ARP transporta os endereos IP (I A) e fsico (FA) da estao requisitante (A), bem como o endereo IP (IB) a ser resolvido. Todas as estaes, incluindo a estao B, recebem a requisio ARP. No entanto, apenas a estao B reconhece o endereo IP (IB) a ser resolvido. Assim, somente a estao B envia a resposta ARP. Nesse processo, a resposta ARP transporta os endereos IP (I A e IB) e os endereos fsicos (FA e FB) da estao requisitante (A) e da estao requisitada (B). Ao contrrio da requisio ARP, que enviada em broadcast, a resposta ARP enviada diretamente para a estao requisitante (A), pois a estao requisitada (B) j conhece o endereo fsico da estao requisitante. Aps receber a resposta, a estao A pode enviar quadros diretamente para a estao B, usando o seu endereo fsico (FB). Os datagramas IP e as mensagens ARP so diretamente encapsulados nos quadros da rede fsica. Assim, para viabilizar o processo de desencapsulamento, o cabealho dos quadros deve incluir um campo especfico para identificar o protocolo encapsulado. Por exemplo, em redes Ethernet, cada quadro possui um campo denominado Frame Type (tipo do quadro) que, quando possui os valores 0x0800 e 0x0806, sinaliza o encapsulamento de datagramas IP e mensagens ARP, respectivamente.

Os interessados em detalhes do formato das mensagens ARP podem consultar o livro: COMER, Douglas E. Internetworking with TCP/IP Volume I: Principles, Protocols and Architecture. 5th Edition. Prentice Hall, 2005.

Para reduzir o nmero de requisies e, assim, tornar mais eficiente o protocolo, cada
Cache Mecanismo de armazenamento temporrio de informaes, cujas entradas so automaticamente removidas aps um intervalo de tempo.

estao mantm uma cache que armazena os mapeamentos mais recentes. A cache comumente denominada tabela ARP. Sempre que um mapeamento se torna necessrio, a tabela ARP consultada antes de enviar qualquer requisio ARP. Se o mapeamento desejado encontrado na tabela, nenhuma requisio ARP enviada. A manuteno da tabela ARP de cada estao realizada a partir das requisies e respostas ARP. Opcionalmente, todas as estaes atualizam suas tabelas aps receberem uma requisio ARP. Nessa atualizao, o mapeamento associado estao requisitante includo em suas tabelas. Por exemplo, na Figura 3.15, as estaes C, D e B podem incluir em suas tabelas o

Captulo 3 - Endereamento IP (parte 1)

Tabela ARP
A funo da tabela ARP armazenar os mapeamentos mais recentes e tornar o protocolo mais eficiente. Em relao sua manuteno, requisies ARP podem atualizar as tabelas de todas as estaes da rede, enquanto respostas ARP atualizam a tabela da estao requisitante.

87

mapeamento IAgFA , informado na requisio ARP. Em adio, sempre que a estao requisitante recebe a resposta ARP, o mapeamento informado armazenado na sua tabela. Assim, na figura, a estao A inclui em sua tabela o mapeamento IB FB, informado na resposta ARP. A listagem a seguir mostra um exemplo de tabela ARP no Windows. Em sistemas Linux, a tabela ARP pode ser avaliada usando o comando arp.

C:\>arp -a Interface: 200.130.26.6 --- 0x4 Endereo IP 200.130.26.228 200.130.26.253 200.130.26.254 Endereo fsico 00-0c-29-a3-35-29 00-15-c5-33-35-8c 00-04-96-41-24-f0 Tipo dinmico dinmico dinmico

Podemos ver as seguintes informaes da tabela ARP: 11 Endereo IP; 11 Endereo fsico (MAC Address); 11 Tipo de mapeamento (esttico ou dinmico). A tabela ARP pode ser diretamente manipulada pelo administrador atravs das opes -s e -d do comando arp: 11 Opo -d permite a remoo de entradas desnecessrias associadas ao endereo IP informado; 11 Opo -s permite a incluso permanente de novas entradas na tabela. Na incluso de uma nova entrada, deve-se informar o endereo IP e o respectivo endereo fsico. Essa entrada ser do tipo esttico, por padro.

Protocolos para configurao automtica de endereos IP


Protocolos com o objetivo de atribuir endereos IP s estaes de forma automtica. Tambm so utilizados para carregar informaes como mscara de rede e rota default. 11 RARP: similar ao ARP e usa diretamente a camada de enlace. 11 BOOTP e DHCP: utilizam UDP sobre IP e o endereo de broadcast limitado.
Arquitetura e Protocolos de Rede TCP-IP

O protocolo ARP utilizado para obter um endereo fsico, partindo-se de um endereo IP. No entanto, a operao inversa, ou seja, a partir de um endereo fsico se obter um endereo IP, tambm comum para a configurao automtica do endereo IP de uma estao. A configurao dos endereos IP das interfaces de uma estao pode ser feita de maneira esttica o endereo IP conhecido previamente e foi designado pelo administrador da rede ou de maneira dinmica. Na configurao dinmica, a estao pergunta a um servidor qual o endereo IP dela. Estaes sem disco (diskless), por exemplo, precisam utilizar algum mecanismo para descobrir dinamicamente o seu endereo IP durante a inicializao, alm de informaes como o servidor de nomes (DNS), o servidor de arquivos e o arquivo de inicializao. A configurao automtica de endereos IP pode ser realizada usando trs

88

protocolos: RARP, BOOTP e DHCP. Destes, estudaremos em mais detalhes o DHCP, por ser o protocolo mais adotado na prtica. O protocolo RARP uma adaptao do protocolo ARP. Ele adota o mesmo formato de mensagens, que tambm so diretamente encapsuladas em quadros da rede fsica. O protocolo RARP se utiliza de broadcast para transmitir a solicitao por um endereo IP. Um servidor RARP que receba essa solicitao pode ento transmitir a resposta diretamente para a estao solicitante.

Mais detalhes sobre o protocolo RARP podem ser obtidos no RFC 903.

Figura 3.16 Protocolo DHCP.

11 Quando uma estao necessita solicitar um endereo IP, ela envia uma requisio DHCP chamada de DHCP DISCOVER. Essa solicitao utiliza como endereo de origem o IP 0.0.0.0 e como endereo de destino o IP 255.255.255.255 o endereo de broadcast limitado. 11 Um servidor DHCP que receba essa mensagem pode respond-la com um DHCP OFFER, em que est contido o endereo IP a ser utilizado pela estao (como o servidor conhece o endereo fsico da estao, ele pode mandar a resposta diretamente para a estao, sem se utilizar de broadcast). 11 Ao receber a resposta do servidor, a estao solicitante precisa confirmar que aceitou a oferta, utilizando para tal uma mensagem DHCP REQUEST. Essa mensagem ainda se utiliza dos endereos de origem 0.0.0.0 e de destino 255.255.255.255.

Captulo 3 - Endereamento IP (parte 1)

Protocolo DHCP
Utiliza UDP, IP e broadcast limitado, sendo capaz de transportar vrios tipos de informaes, como mscara de rede, servidor de nomes e roteador default. Quatro mensagens: 11 DISCOVER. 11 OFFER. 11 REQUEST. 11 ACK.

client
DISCOVERY
broadcast

server

OFFER unicast
REQUEST
broadcast

time

DGE ACKNOWLE unicast

Ao contrrio do protocolo RARP, que encapsula mensagens em quadros da camada de enlace, os protocolos BOOTstrap Protocol (BOOTP) e Dynamic Host Configuration Protocol (DHCP) utilizam os protocolos IP (camada de rede) e UDP (camada de transporte) para transportar suas mensagens. O funcionamento dos dois semelhante, sendo que o DHCP mais moderno e tornou-se o protocolo padro para a configurao automtica de endereos IP. De forma bastante resumida, a Figura 3.16 mostra o funcionamento do protocolo DHCP.

89

11 A transao finalizada com a resposta do tipo DHCP ACK emitida pelo servidor, confirmando a designao do endereo. Um ponto forte do protocolo DHCP que ele pode carregar diversos tipos de informaes (chamadas de opes DHCP), alm de endereo IP e mscara de rede, como rota padro a ser utilizada, servidor de nomes, servidor de arquivos etc.

O protocolo BOOTP definido pelo RFC 951. Detalhes sobre o protocolo DHCP podem ser obtidos no RFC 2131.

Mecanismos de entrega
Entrega direta: 11 Estaes de origem e destino esto conectadas na mesma rede fsica. Entrega indireta: 11 Estaes de origem e destino esto conectadas em redes fsicas distintas. 11 Pode ser representada por uma sequncia de entregas diretas. 11 Datagramas so encaminhados atravs de roteadores intermedirios. Estaes conectadas mesma rede fsica podem se comunicar diretamente. No entanto, estaes conectadas a redes fsicas diferentes devem enviar os datagramas IP por meio de roteadores intermedirios (conceito de inter-rede). Dessa forma, a arquitetura TCP/IP suporta dois tipos de entrega de datagramas.

Entrega direta
Ocorre quando as estaes de origem e destino esto conectadas na mesma rede fsica. Para exemplificar a entrega direta, considere duas estaes (A e B) conectadas ao mesmo segmento de rede fsica. Suponha que a estao A deseja enviar um datagrama IP para a estao B. Nesse caso, o datagrama transporta os endereos IP das estaes de origem (I A) e de destino (IB). Em seguida, a estao A, caso no tenha o mapeamento da estao B em sua cache, ativa o protocolo ARP para mapear o endereo IP da estao B (IB) para o seu respectivo endereo fsico (FB). Aps a resposta do protocolo ARP, o datagrama IP encapsulado no quadro da rede fsica e, ento, efetivamente transmitido. Esse quadro transporta os endereos fsicos das estaes de origem (FA) e destino (FB), conforme mostra a Figura 3.17.

IA FA

IB FB

Arquitetura e Protocolos de Rede TCP-IP

IA IB

Datagrama

FA FB

Quadro

Figura 3.17 Entrega direta.

Entrega indireta
Ocorre quando as estaes origem e destino esto conectadas a redes fsicas distintas. Ela pode ser representada como uma sequncia de entregas diretas. Inicialmente, a estao

90

origem entrega o datagrama a um roteador intermedirio que, por sua vez, entrega a outro roteador intermedirio e assim por diante, at que o ltimo roteador do caminho entrega o datagrama estao destino. Exemplo de entrega indireta: Considere duas estaes (A e B), conectadas a redes fsicas distintas (N1 e N2), por meio de um roteador (R) configurado como gateway padro da estao A. Veja a Figura 3.18. Suponha que a estao A deseja enviar um datagrama IP para a estao B. Nesse caso, o datagrama sempre transporta os endereos IP das estaes origem (I A) e destino (IB). A estao A deve encaminhar o datagrama para o roteador R (gateway padro), cujo endereo IP na rede N1 IR ,N1. Assim, aps consultar a sua cache e verificar que no tem o mapeamento da interface do roteador R, a estao A ativa o protocolo ARP para mapear o endereo IP do roteador R na rede N1 (IR ,N1) para o seu respectivo endereo fsico (FR ,N1). Em seguida, o datagrama IP encapsulado no quadro da rede fsica N1 e efetivamente transmitido. O quadro transporta os endereos fsicos da estao origem (FA) e do roteador R na rede N1 (FR ,N1). Aps receber o datagrama, o roteador pode entregar o datagrama estao destino. Assim, R ativa o protocolo ARP para mapear o endereo IP da estao destino (IB) para o seu respectivo endereo fsico (FB). Por fim, o datagrama IP encapsulado no quadro da rede fsica N2 e efetivamente transmitido. Nesse caso, o quadro transporta os endereos fsicos do roteador R na rede N2 (FR ,N2) e da estao destino (FB). Da mesma forma, caso cheguem datagramas IP para outra rede destino, eles sero encaminhados ao gateway padro, que atravs do processo descrito acima, faz a entrega ao destino final ou a outro roteador intermedirio. Isto significa que o gateway padro pode tambm enviar mensagens ARP em broadcast.

IA FA

IR,N1 FR,N1

IR,N2 FR,N2

IB FB

IR,N1

IA IB

Datagrama

IA IB

Datagrama

FA FR,N1
Figura 3.18 Entrega indireta.

Quadro da rede N1

FR,N2FB

Quadro da rede N2

Um conjunto de mquinas numa rede local tal que todas recebam quadros em broadcast
Captulo 3 - Endereamento IP (parte 1)

de suas vizinhas chamado de domnio de broadcast. Duas coisas importantes sobre quadros em broadcast:
1. Os hubs e switches propagam os quadros em broadcast por padro; 2. Os roteadores NO propagam os quadros em broadcast por padro.

Assim, se os quadros em broadcast estiverem congestionando o trfego da rede local, a soluo dividir a rede local em sub-redes IP usando roteadores ou dividir a rede local em VLANs (Virtual LANs) usando switches. Note que a segmentao das redes locais usando switches (sem VLANs) resolve o problema de domnio de coliso, mas no o de domnio de broadcast.

91

Desperdcio de endereos
Caso o endereo de rede classe C 192.168.10.0 seja atribudo a uma rede com 100 estaes, apenas 100 dos 254 endereos permitidos so efetivamente utilizados. Consequentemente, 154 endereos so desperdiados. Pior ainda, caso surja outra rede fsica com menos de 154 estaes, esses endereos que esto sobrando no podem ser atribudos, pois qualquer endereo de rede somente pode ser atribudo a uma nica rede fsica. Assim, outro endereo de rede deve ser atribudo para essa nova rede fsica, aumentando provavelmente ainda mais o desperdcio de endereos. Se o nmero de estaes da rede original aumentar de 100 para 300, apenas um endereo de rede classe B pode ser usado. Supondo que o endereo de rede classe B 172.16.0.0 tenha sido atribudo para essa rede, o desperdcio muito maior, pois um endereo classe B possui 65.534 (216 -2) endereos permitidos; so, exatamente, 65.234 endereos desperdiados. Assim, considerando o rpido crescimento da internet, o elevado desperdcio de endereos tornou evidente que o esquema original de endereamento IPv4 era bastante insatisfatrio. Esse problema foi considerado muito crtico pelos grupos responsveis pela padronizao da arquitetura TCP/IP, pois as previses denunciavam um rpido esgotamento do espao de endereamento IPv4, impossibilitando a conexo de novas redes e inviabilizando a expanso da internet. Consequentemente, solues deveriam ser propostas com os objetivos de minimizar o desperdcio de endereos e maximizar o tempo de vida do esquema de endereamento baseado em endereos de apenas 32 bits. Veremos essas solues a seguir e no prximo captulo. O esquema de endereamento IPv4 original invivel tecnicamente, pois cada rede fsica deve ter um prefixo de rede nico. A analogia seria de duas ruas com nomes distintos. Imagine uma rede fsica classe A: 11 Escalabilidade de hardware (24 milhes de portas de switch). 11 Escalabilidade de software (excesso de trfego). O mesmo vale para uma rede classe B (65 mil portas). J uma rede classe C pode se tornar pequena. Quando descrevemos as classes de endereos IPv4 identificamos que o esquema original de endereamento IPv4 bastante insatisfatrio, pois gera um elevado desperdcio de endereos que pode ocasionar o rpido esgotamento dos endereos IPv4. Consequentemente, solues alternativas deveriam ser propostas com o objetivo de minimizar o desperdcio de endereos e, assim, maximizar o tempo de vida do espao de endereamento de 32 bits. Na tentativa de solucionar o desperdcio de endereos, identificou-se
Arquitetura e Protocolos de Rede TCP-IP

que o principal problema era a associao de um prefixo de rede a uma nica rede fsica. 11 Rpido esgotamento do espao de endereamento IPv4. 11 Impossibilidade de conexo de novas redes. 11 Crescimento da internet inviabilizado. 11 Soluo: compartilhar um nico endereo de rede entre mltiplas redes fsicas. Objetivo: 11 Minimizar o desperdcio de endereos. 11 Maximizar o tempo de vida do espao de endereamento de 32 bits.

Prefixo de rede Poro do endereo IP que identifica a rede de forma nica e individual.

92

Em consequncia do desperdcio de endereos, fica impossibilitada a conexo de novas redes e, portanto, o crescimento da internet inviabilizado. Para solucionar esse problema, o esquema de endereamento de sub-redes foi padronizado na arquitetura TCP/ IP, permitindo o compartilhamento de um nico endereo de rede, classe A, B ou C, entre diversas redes fsicas. Pretendia-se com este esquema conseguir minimizar o desperdcio de endereos e assim maximizar o tempo de vida do espao de endereamento de 32 bits, enquanto uma soluo definitiva no era encontrada. Veremos adiante que, apesar de todos os esforos, est sendo muito difcil manter o endereamento IPv4. Veremos tambm que a soluo definitiva o endereamento IPv6. No entanto, o conceito de sub-redes no se mostrou plenamente eficaz, pois a atribuio de endereos classe B ainda representava um enorme desperdcio de endereos. Na prtica, para cada
Endereo de sub-rede Representado pelo prefixo de sub-rede e identificador de estao, possuindo neste ltimo campo todos os bits iguais a 0.

endereo classe B, geralmente, apenas uma pequena parcela dos endereos de sub-rede efetivamente atribuda, representando, assim, um grande desperdcio do espao de endereamento. Avaliando o uso ineficiente de endereos classe B, identificou-se que a principal razo era a inexistncia de um tamanho de rede adequado s necessidades das instituies. Enquanto endereos classe C so bastante pequenos, endereos classe B so demasiadamente grandes. Nesse contexto, o esquema de endereamento de super-redes foi padronizado na arquitetura TCP/IP com o objetivo de permitir a atribuio de blocos de endereos com tamanhos adequados s necessidades das instituies.

Sub-redes
11 Permitem compartilhar um nico endereo de rede entre diversas redes fsicas. 11 Minimizam o desperdcio de endereos. 11 Exemplo: rede classe B 172.16.0.0 pode ser dividida em 256 sub-redes classe C. 11 Endereos de sub-rede podem ter um nmero variado de bits no prefixo de rede e identificador de estao. 22 O novo prefixo de rede deve ser maior que o prefixo original. 22 O prefixo de rede e o identificador de estao devem possuir 32 bits. 11 Endereos de rede classe A, B ou C podem ser usados para criar sub-redes. Uma forma bastante simples de entender o conceito de sub-redes imaginar uma instituio que possui um nico endereo de rede classe B, e deseja utilizar esse mesmo ende-

reo de rede em diferentes redes fsicas. Usando o endereamento de sub-redes, o objetivo dividir o endereo classe B que possui 16 bits no prefixo de rede e 16 bits no identificador de estao em diversos endereos de sub-rede com uma estrutura hierrquica similar a endereos de rede classe C, ou seja, 24 bits no prefixo de rede e 8 bits no identificador de estao. Dessa forma, cada endereo de sub-rede pode ser atribudo a uma nica rede fsica. Esse esquema ilustrado na Figura 3.19, em que o endereo de rede classe B 172.16.0.0 dividido em diversos endereos de sub-rede, que possuem uma estrutura similar a um endereo de rede classe C (172.16.0.0, 172.16.1.0, ..., 172.16.254.0 e 172.16.255.0). Em seguida, a instituio atribui os endereos de sub-rede 172.16.1.0, 172.16.2.0, 172.16.3.0 e 172.16.4.0 para as redes N1, N2, N3 e N4, respectivamente. Observe que todas as redes fsicas compartilham o prefixo de rede classe B 172.16.0.0.
Captulo 3 - Endereamento IP (parte 1)

93

172.16.3.0 N3

R1 N1 172.16.1.0 N2 172.16.2.0

N4 172.16.4.0 Embora o exemplo apresente endereos de sub-rede com 24 bits no prefixo de rede e 8 bits no identificador de estao, o esquema de sub-redes permite a criao de endereos de sub-rede com nmero variado de bits no prefixo de rede e identificador de estao, desde que o prefixo de rede dos endereos de sub-rede seja maior que aquele associado ao respectivo endereo de rede. Isso significa que no possvel, com a rede utilizada no exemplo anterior, tentar associar um endereo de sub-rede com 12 bits no prefixo de rede. Alm disso, o total de bits do prefixo de rede e identificador de estao deve ser igual a 32. Por exemplo, a partir de um endereo de rede classe B, possvel criar endereos de sub-rede com 22 bits no prefixo de rede e 10 bits no identificador de estao. Apesar do exemplo adotar um endereo de rede classe B, o esquema de sub-redes pode ser aplicado a endereos de rede classe A, B ou C. Por exemplo, possvel dividir um endereo de rede classe C em diversos endereos de sub-rede, cada um deles com 27 bits no prefixo de rede e 5 bits no identificador de estao. Por enquanto, suficiente entender que o endereamento de sub-redes pode minimizar o desperdcio de endereos, pois permite o compartilhamento de um nico endereo de rede entre diversas redes fsicas.

Figura 3.19 Exemplo de sub-redes.

Arquiteturas de endereamento
Arquitetura classful: 11 Adota o conceito de classes A, B e C. 22 Roteamento usa o conceito de classes.
Arquitetura e Protocolos de Rede TCP-IP

22 Suporta o esquema de sub-redes. 22 No suporta o esquema de super-redes (agrupamento de redes). Arquitetura classless: 11 No adota o conceito de classes A, B e C. 22 Roteamento no usa o conceito de classes. 22 Suporta os esquemas de sub-redes e super-redes. Os esquemas de endereamento de sub-redes e super-redes proveem facilidades complementares e definem diferentes arquiteturas de endereamento que so denominadas arquitetura classful e arquitetura classless.

94

11 A arquitetura de endereamento classful, como o prprio nome sugere, utiliza o conceito de classes de endereos A, B e C. Implementaes do protocolo IPv4 que suportam a arquitetura classful permitem a adoo do esquema de endereamento de sub-redes, porm no permitem o esquema de endereamento de super-redes. Essa limitao resultado da implementao da funo de roteamento que utiliza o conceito de classes de endereos para selecionar as rotas. 11 A arquitetura de endereamento classless, como o prprio nome indica, no utiliza o conceito de classes de endereos. Os endereos de rede so vistos apenas como blocos contguos de endereos IPv4. Implementaes do protocolo IPv4 que suportam a arquitetura classless permitem a adoo do endereamento de super-redes, como tambm do endereamento de sub-redes. Essa flexibilidade resultado da implementao da funo de roteamento que no utiliza o conceito de classes de endereos para selecionar as rotas. Vale ressaltar que, originalmente, o termo sub-rede era referenciado apenas como a subdiviso de um endereo de rede classe A, B ou C em endereos de sub-rede. No entanto, aps a padronizao do esquema de endereamento classless, o termo sub-rede passa a se referir tambm subdiviso de um bloco de endereos em blocos menores. Por exemplo, possvel dividir um bloco de 512 endereos em 8 blocos de 64 endereos. Cada um destes blocos de 64 endereos constitui uma sub-rede do bloco de 512 endereos.

Diferenas entre arquiteturas


Arquitetura classful: 11 Sub-rede a subdiviso de um endereo de rede classe A, B ou C em endereos de sub-rede. 22 Probe alguns endereos de sub-rede. 22 No permite recursividade de sub-redes. Arquitetura classless: 11 Sub-rede a subdiviso de um bloco de endereos em blocos menores. 22 Permite todos os endereos de sub-rede. 22 Permite recursividade de sub-redes.

A arquitetura classless uma extenso da arquitetura classful, ou seja, a arquitetura classless prov as mesmas facilidades da arquitetura classful, porm acrescenta novas facilidades. Embora as duas arquiteturas suportem o esquema de endereamento de sub-redes, a arquitetura classless ainda mais poderosa que a arquitetura classful, pois permite um melhor aproveitamento dos endereos. Em outras palavras, a arquitetura classful probe o uso de alguns endereos de sub-rede, enquanto a arquitetura classless permite o uso de todos os endereos de sub-rede. Outra limitao que a arquitetura classful no permite a aplicao recursiva do conceito de sub-redes. Em outras palavras, uma vez que um endereo de rede classe A, B ou C dividido em um conjunto de endereos de sub-redes, estes ltimos no podem sofrer outro processo de diviso. Por outro lado, na arquitetura classless, quando um bloco de endereos dividido em blocos menores, estes ltimos podem ser novamente divididos, e assim por diante.
Captulo 3 - Endereamento IP (parte 1)

Endereamento de sub-redes
O endereamento de sub-redes permite que um nico endereo de rede classe A, B ou C seja compartilhado entre diversas redes fsicas. Ele modifica a estrutura hierrquica dos endereos IP e divide o identificador de estao para representar as sub-redes.

95

O esquema de endereamento de sub-redes permite que um nico endereo de rede, classe A, B ou C, seja compartilhado entre diversas redes fsicas, tambm denominadas, neste contexto, sub-redes fsicas. Para tal, o endereo de rede dividido em diversos endereos de sub-rede, modificando a estrutura hierrquica definida pelo identificador de rede (prefixo de rede) e pelo identificador de estao. A Figura 3.20 mostra a modificao requerida para representar as sub-redes.
0 Identicador de rede Identicador de estao 31

Identicador de rede

Identicador de sub-rede

Identicador de estao

Figura 3.20 Endereamento de sub-redes.

Ao invs de considerar que um endereo IP composto pelo identificador de rede e pelo identificador de estao, a poro do identificador de estao dividida em duas partes: 11 Identificador de sub-rede identifica, juntamente com o identificador de rede, a rede fsica de forma nica e individual. 11 Identificador de estao identifica a estao (interface) dentro da respectiva rede fsica de forma nica de individual. A concatenao dos identificadores de rede e sub-rede comumente denominada de prefixo de sub-rede. Este esquema de endereamento de sub-redes est descrito nos RFCs 917 e 950 (padro). O objetivo diminuir o salto na quantidade de estaes quando se cresce de um endereo de rede para outro em uma determinada classe de endereo A, B ou C, inserindo degraus intermedirios que so as sub-redes. Note que os bits usados para a criao e identificao das sub-redes so extrados dos bits do identificador de estao.

Os bits do prefixo de rede original no podem ser usados para sub-redes, seno estaramos modificando o prefixo de rede original, o que no permitido, uma vez que os prefixos de rede originais so atribudos por uma autoridade de atribuio de nmeros da internet (IANA).

Hierarquia de endereamento
Por exemplo, na Figura 3.19, o endereo de rede classe B 172.16.0.0, que possui 16 bits no prefixo de rede e 16 bits no identificador de estao, foi dividido nos endereos de sub-rede 172.16.1.0, 172.16.2.0, 172.16.3.0 e 172.16.4.0, que possuem 16 bits no prefixo de rede, 8 bits
Arquitetura e Protocolos de Rede TCP-IP

no identificador de sub-rede e 8 bits no identificador de estao. Nesse exemplo, os prefixos de sub- rede so 172.16.1, 172.16.2, 172.16.3 e 172.16.4. Veremos posteriormente, em detalhes, como estes endereos de sub-rede so criados e representados.

Regras de atribuio de endereos


No esquema de endereamento de sub-redes, a atribuio de endereos s interfaces de estaes e roteadores segue regras semelhantes quelas do esquema endereamento IP original, porm aplicadas aos endereos de sub-rede.

96

11 Diferentes prefixos de sub-rede devem ser adotados para diferentes redes fsicas. 11 Um nico prefixo de sub-rede deve ser compartilhado pelas interfaces conectadas a uma mesma rede fsica. 11 Um nico identificador de estao deve ser atribudo a cada interface conectada a uma determinada rede fsica.
E1

E3

172.16.1.1 172.16.1.0 N1 172.16.1.3

R1 N2 172.16.2.3

172.16.2.1 172.16.2.0 E4

E2

Figura 3.21 Exemplo de atribuio de endereos.

172.16.1.2

172.16.2.2

A Figura 3.21 apresenta um exemplo de atribuio de endereos. Observe que todas as interfaces conectadas s redes N1 e N2 compartilham o prefixo de sub-rede, identificando as respectivas redes fsicas. Ou seja, as estaes (E1 e E2) e a interface do roteador (R1) compartilham o prefixo 172.16.1 da sub-rede N1, enquanto as estaes (E3 e E4) e a outra interface do roteador (R1) compartilham o prefixo 172.16.2 da sub-rede N2. Por outro lado, na sub-rede N1, as estaes (E1 e E2) e o roteador (R1) possuem os identificadores de estao 1, 2 e 3, respectivamente. J na sub-rede N2, as estaes (E3 e E4) e o roteador (R1) possuem os identificadores de estao 1, 2 e 3, respectivamente. Observe que interfaces conectadas a diferentes redes fsicas podem possuir os mesmos identificadores de estao, pois seus prefixos de sub-rede so diferentes e asseguram a unicidade de endereos.

Analogia: casas situadas em ruas diferentes podem ter o mesmo nmero.

Endereos de sub-rede e broadcast direto


Endereos de sub-rede podem ser utilizados para referenciar a rede fsica.
Figura 3.22 Endereos de sub-rede.

0 Identicador de rede Identicador de sub-rede 0...0

31
Captulo 3 - Endereamento IP (parte 1)

Endereos de broadcast direto permitem o envio de datagramas para todas as estaes da sub-rede.
Figura 3.23 Endereos de broadcast direto.

0 Identicador de rede Identicador de sub-rede 1...1

31

Assim como endereos de rede podem ser usados para referenciar as redes fsicas no esquema de endereamento IP original, de forma anloga, no esquema de endereamento de sub-redes, endereos de sub-rede podem ser usados para referenciar as novas redes fsicas.

97

No esquema de endereamento IP original, o endereo de rede representado pelo prefixo de rede e pelo identificador de estao, este ltimo campo possuindo todos os bits iguais a 0. De forma semelhante, no esquema de endereamento de sub-redes, o endereo de sub-rede representado pelo prefixo de sub-rede e pelo identificador de estao, com este ltimo campo possuindo todos os bits iguais a 0. Assim, o identificador de estao, cujos bits so iguais a 0, reservado e nunca atribudo a nenhuma interface de uma rede fsica. A Figura 3.22 ilustra a conveno para endereos de sub-rede. Por exemplo, na Figura 3.21, como o identificador de estao possui apenas 8 bits, os endereos das sub-redes N1 e N2 so 172.16.1.0 e 172.16.2.0, respectivamente. Uma vez que cada rede fsica possui um endereo de sub-rede particular, o conceito de broadcast direto tambm pode ser adotado, permitindo o envio de datagramas IP para todas as estaes (interfaces de estaes e roteadores) de uma determinada sub-rede a partir de qualquer estao da inter-rede TCP/IP. No esquema de endereamento IP original, o endereo de broadcast direto representado pelo prefixo de rede e pelo identificador de estao, possuindo este ltimo campo todos os bits iguais a 1. De forma semelhante, no esquema de endereamento de sub-redes, o endereo de broadcast direto da sub-rede representado pelo prefixo de sub-rede e pelo identificador de estao, este ltimo campo possuindo todos os bits iguais a 1. Assim, o identificador de estao, cujos bits so iguais a 1, reservado e nunca atribudo a nenhuma interface da rede fsica. A Figura 3.23 ilustra a conveno para endereos de broadcast direto de sub-redes. Por exemplo, na Figura 3.21, como o identificador de estao possui apenas 8 bits, os endereos de broadcast direto das sub-redes N1 e N2 so 172.16.1.255 e 172.16.2.255, respectivamente.

Mscara de sub-rede
A mscara de sub-rede tem o objetivo de delimitar a posio do prefixo de sub-rede e do identificador de estao. representada por padro de 32 bits. 11 Possui bits 1 no prefixo de sub-rede. 11 Possui bits 0 no identificador de estao. Para delimitar os bits que compem o prefixo de sub-rede e o identificador de estao, o esquema de endereamento de sub-redes define o conceito de mscara de sub-rede, que representa uma simples adaptao do conceito de mscara de rede do endereamento IP original. A Figura 3.24 ilustra a estrutura de uma mscara de rede.
0 1...1
Arquitetura e Protocolos de Rede TCP-IP

31 1...1 0...0

Decimal Contagem de Bits

172.16.1.1 255.255.255.0 172.16.1.1/24

Figura 3.24 Mscara de sub-rede.

Comparao: 11 Mscara de rede padro de 32 bits que contm bits 1 na posio do prefixo de rede e bits 0 na posio do identificador de estao.

98

11 Mscara de sub-rede padro de 32 bits que contm bits 1 na posio do prefixo de sub-rede (identificador de rede + identificador de sub-rede) e bits 0 na posio do identificador de estao. Da mesma forma que as mscaras de rede, as mscaras de sub-rede podem ser escritas usando a notao decimal (dotted-decimal notation) ou a contagem de bits (bit count ). A Figura 3.24 mostra um exemplo de endereo IP e respectiva mscara de sub-rede nas notaes decimal e contagem de bits. Nesse caso, o prefixo da sub-rede 172.16.1, pois a mscara possui 24 bits. Logo, o endereo de sub-rede e o endereo de broadcast direto da sub-rede so 172.16.1.0 e 172.16.1.255, respectivamente. O endereo 172.16.1.1 refere-se a uma estao desta sub-rede. importante ressaltar que a mscara default de uma determinada classe de rede possui a mesma quantidade de bits 1 do tamanho do prefixo de rede daquela classe. Assim, as mscaras default de redes classes A, B e C possuem 8 (255.0.0.0), 16 (255.255.0.0) e 24 (255.255.255.0) bits 1, pois os identificadores de rede dessas classes possuem 8, 16 e 24 bits, respectivamente. Embora o termo mscara de rede tambm seja usado com o mesmo significado de mscara de sub-rede, o contexto torna bvio o tipo de mscara tratada. Como regra geral, temos que, se a mscara diferente da mscara default da classe do endereo em questo, trata-se ento de mscara de sub-rede. A regra all bits 0 or 1 se aplica ao identificador de estao em qualquer arquitetura (classful ou classless). Na arquitetura de endereamento classful no so permitidos os endereos de sub-rede com todos os bits do identificador de sub-rede iguais a 0 ou 1.

Na arquitetura de endereamento classless so permitidos os endereos de sub-rede com todos os bits do identificador de sub-rede iguais a 0 (zero) ou 1. Ns vimos que o identificador de estao no pode ter todos os bits 0 (reservado para o endereo da sub-rede) e no pode ter todos os bits 1 (reservado para o endereo de broadcast da sub-rede). Esta regra chamada de all bits 0 or 1 (todos os bits 0 ou 1) e se

aplica ao identificador de estao em qualquer arquitetura (classful ou classless); porm, s se aplica ao prefixo de sub-rede na arquitetura classful. Esta uma limitao importante da arquitetura classful, como veremos adiante nos exemplos de clculo de sub-rede. Portanto, importante ressaltar que o identificador de sub-rede calculado de forma diferente dependendo da arquitetura, classful ou classless.

Protocolo DHCP
O nmero de sub-redes definido pelo nmero de bits do identificador de sub-rede.

Identicador de sub-rede

2n

Endereos de sub-redes

Na arquitetura classful no so permitidos endereos de sub-rede cujos bits do identifi cador de sub-rede sejam todos iguais a 0 ou 1.
Figura 3.25 a/b Quantidade de endereos de sub-redes.

Identicador de sub-rede

2n-2

Endereos de sub-redes

Captulo 3 - Endereamento IP (parte 1)

99

J conhecemos os principais conceitos e algumas regras associadas ao esquema de endereamento de sub-redes. No entanto, algumas regras adicionais devem ser atendidas para criar e atribuir endereos s sub-redes. No projeto de sub-redes, primeiramente, deve-se decidir o nmero de bits que sero usados no identificador de sub-rede, pois a quantidade de endereos de sub-rede que podem ser criados depende do nmero de bits deste identificador. A princpio, se o identificador de sub-rede possui n bits, ento podem ser criados 2n endereos de sub-redes. Por exemplo, considere que estamos criando sub-redes do endereo classe C 192.168.1.0, com 3 bits no identificador de sub-rede. Nesse caso, podemos criar 8 (2 3) endereos de sub-redes, ilustrados na Figura 3.26. Observe que os endereos de sub-rede so todos aqueles gerados pela combinao de valores possveis no identificador de sub-rede. A mscara possui 27 bits, sendo 24 bits do identificador de rede do endereo classe C e 3 bits do identificador de sub-rede.
0 11000000 10101000 00000001 11000000 10101000 00000001 11000000 10101000 00000001 23 27 000 001 010 31 00000 00000 00000 192.168.1.0/27 192.168.1.32/27 192.168.1.64/27

11000000 10101000 00000001

011

00000

192.168.1.96/27

11000000 10101000 00000001 11000000 10101000 00000001 11000000 10101000 00000001

100 101 110

00000 00000 00000

192.168.1.128/27 192.168.1.160/27 192.168.1.192/27


Figura 3.26 Exemplo de sub-redes.

11000000 10101000 00000001

111

00000

192.168.1.224/27

No entanto, na arquitetura classful no so permitidos os endereos de sub-rede com todos os bits do identificador de sub-rede iguais a 0 ou 1. Logo, no exemplo da Figura 3.26, os endereos de sub-rede 192.168.1.0/27 e 192.168.1.224/27 no podem ser usados. Essa restrio evita que os roteadores confundam o endereo da rede (192.168.1.0) com o endereo da primeira sub-rede (192.168.1.0/27), e o endereo de broadcast na rede
Arquitetura e Protocolos de Rede TCP-IP

(192.168.1.255) com o endereo de broadcast da ltima sub-rede (192.168.1.255/27). Consequentemente, na prtica, se o identificador de sub-rede possui n bits, ento somente 2n 2 endereos de sub-redes podem ser criados. Em funo dessa restrio da arquitetura classful, no pode existir um identificador de sub-rede com apenas 1 bit, pois a primeira e a ltima sub-rede devem sempre ser eliminadas. Assim, endereos de rede classes A, B e C no podem usar sub-redes com mscaras de 9, 17 e 25 bits, respectivamente. Espao de endereamento de estao o conjunto de endereos que compartilham um mesmo prefixo de sub-rede.

100

Identicador de estao

2n

Endereos

Endereos permitidos de estao o conjunto de endereos que podem ser atribudos s interfaces.
Figura 3.27 a/b Quantidade de endereos de estaes.

Identicador de estao

2n-2

Endereos

Considerando um determinado endereo de sub-rede, o espao de endereamento constitudo por todos os endereos que podem ser expressos por meio da variao do identificador de estao e os endereos permitidos so todos aqueles que podem ser atribudos s interfaces de estaes e roteadores. Portanto, os endereos permitidos so todos os endereos do espao de endereamento, exceto o primeiro (endereo de sub-rede) e o ltimo (endereo de broadcast direto da sub-rede). Logo, se uma determinada sub-rede possui n bits no identificador de estao, ento esta sub-rede possui um espao de endereamento com 2n endereos e 2n 2 endereos permitidos. Tomando como base o identificador de estao das sub-redes da Figura 3.26, que possui 5 bits, podemos afirmar que cada uma destas sub-redes possui 32 (25) endereos no espao de endereamento e 30 (25 - 2) endereos permitidos, ilustrados na tabela a seguir. Observe que os endereos de estao so todos aqueles gerados pela combinao de valores permitidos no identificador de estao.

Figura 3.28 Espao de endereamento e endereos permitidos.

Considerando os endereos permitidos de uma sub-rede, no pode existir um identificador de estao com menos de 2 bits, pois o primeiro e o ltimo endereos so reservados para o endereo de sub-rede e broadcast direto. Logo, o identificador de estao deve possuir pelo menos 2 bits. Consequentemente, endereos de rede classes A, B e C no podem usar sub-redes com mscaras maiores que 30 bits.

Clculo de mscara de sub-redes


Antes de apresentar o processo de clculo de sub-redes propriamente dito, vamos ilustrar o conceito de sub-rede de uma maneira visual bastante didtica: mtodo BOX.

101

Captulo 3 - Endereamento IP (parte 1)

Este mtodo a maneira mais simples de visualizar a diviso de uma rede em sub-redes e os respectivos endereos de sub-rede, broadcast direto e endereos permitidos. Este mtodo aplicvel a um octeto de cada vez, seja para redes classe A, B ou C. Vamos exemplificar com uma rede classe C: 200.130.26.0/24. A rede pode ser representada por um quadrado (BOX) que representa os 256 endereos do espao de endereamento, conforme mostrado na Figura 3.29.

Mtodo BOX
11 Uma sub-rede 256 endereos. 11 Mscara: 255.255.255.0 ou /24. 11 Endereo de sub-rede: 200.130.26.0/24. 11 Endereo de broadcast direto: 200.130.26.255/24.

Esse mtodo permite visualizar facilmente as divises em sub-redes, inclusive com mscara de tamanho varivel (VLSM). Ele se baseia na diviso de um octeto inteiro, no se aplicando quando se trata de diviso de blocos de endereos que extrapolam os limites de um octeto. Assim, ele pode ser aplicado ao segundo octeto (na diviso em sub-redes de uma rede classe A), terceiro octeto (na diviso em sub-redes de uma rede classe B) e no quarto octeto (na diviso em sub-redes de uma rede classe C). A Figura 3.29 representa 1 octeto inteiro, sem diviso em sub-redes, portanto, teremos o espao de endereamento de 256 endereos, sendo o primeiro (200.130.26.0) o endereo de rede e o ltimo (200.130.26.255) o endereo de broadcast direto. Ambos esto escritos dentro do quadrado (BOX), no canto superior esquerdo e no canto inferior direito, respectivamente.

255
Arquitetura e Protocolos de Rede TCP-IP

Figura 3.29 Uma sub-rede.

11 Duas sub-redes 128 endereos em cada uma. 11 Mscara: 255.255.255.128 ou /25. 11 Endereos de sub-rede: 200.130.26.0/25 e 200.130.26.128/25. 11 Endereos de broadcast direto: 200.130.26.127/25 e 200.130.26.255/25.

102

128

Figura 3.30 Duas sub-redes.

127

255

Dividindo o quadrado em duas partes, obtemos duas sub-redes com 128 endereos cada (Figura 3.30). Observe que os endereos de sub-rede e broadcast direto das duas sub-redes esto escritos dentro dos respectivos retngulos. 11 4 sub-redes 64 endereos em cada uma. 11 Mscara: 255.255.255.192 ou /26. 11 Endereos de sub-rede: 200.130.26.0/26 at 20 0.130.26.192/26. 11 Endereos de broadcast direto: 200.130.26.63/26 at 200.130.26.255/26.

128

63 64 192

191

Figura 3.31 Quatro sub-redes.

127

255

Dividindo o quadrado novamente, obtemos 4 sub-redes com 64 endereos cada (Figura 3.31). Observe que, em cada quadrado, os nmeros representam o endereo de rede e o endereo de broadcast direto, respectivamente. O intervalo entre eles representa os endereos que podem ser atribudos s interfaces de rede dos equipamentos. 11 8 sub-redes 32 endereos em cada uma. 11 Mscara: 255.255.255.224 ou /27. 11 Endereos de sub-rede: 200.130.26.0/27 at 200.130.26.224/27. 11 Endereos de broadcast direto: 200.130.26.31/27 at 200.130.26.255/27.
Captulo 3 - Endereamento IP (parte 1)

103

32

128

160

31 64 96

63 192

159 224

191

95

127

223

255

Figura 3.32 Oito sub-redes.

Dividindo o quadrado novamente, obtemos 8 sub-redes com 32 endereos cada (Figura 3.32). Observe que o nmero de sub-redes multiplicado pelo nmero de endereos em cada sub-rede sempre igual a 256, que o espao de endereamento de 1 octeto. 11 16 sub-redes 16 endereos em cada uma. 11 Mscara: 255.255.255.240 ou /28. 11 Endereos de sub-rede: 200.130.26.0/28 at 200.130.26.240/28. 11 Endereos de broadcast direto: 200.130.26.15/28 at 200.130.26.255/28.

0 15 16 31 64 79 80 95

32 47 48 63 96 111 112 127

128 143 144 159 192 207 208 223

160 175 176 191 224 239 240 255


Figura 3.33 Dezesseis sub-redes.

Dividindo o quadrado novamente, obtemos 16 sub-redes com 16 endereos cada (Figura 3.33). E assim por diante, at a mscara /30, que a maior mscara que pode ser usada, conforme
Arquitetura e Protocolos de Rede TCP-IP

explicado. Vamos agora explicar o processo de clculo de sub-redes de duas maneiras: a tradicional (em binrio) e a simplificada (em decimal).

Mtodo binrio
11 Dada uma rede classe C 200.130.26.0/24. 11 Deseja-se 30 endereos por sub-rede. 11 5 bits de hosts: 25 = 32 endereos/sub-rede. 11 3 bits de sub-rede: 8 5 = 3. 11 A mscara (ver tabela) : 255.255.255.224 ou /27. 11 ID sub-redes: 0, 32, 64, 96, ..., 224.

104

O mtodo binrio baseia-se na tabela de mscaras de sub-rede em binrio, conforme mostrado na Figura 3.34.
Bits bit 8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 Decimal # Sub-rede # hosts / sub-rede ID sub-redes

Pesos Mscara 0000 0000 1000 0000 1100 0000 1110 0000 1111 0000 1111 1000 1111 1100

128

64

32

16

0 1 1 1 1 1 1

0 0 1 1 1 1 1

0 0 0 1 1 1 1

0 0 0 0 1 1 1

0 0 0 0 0 1 1

0 0 0 0 0 0 1

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 128 192 224 240 248 252

1 2 4 8 16 32 64

256 128 64 32 16 8 4

0 0, 128 0, 64, 128, 192 0, 32, 64, 96, 128, 160... 0, 16, 32, 48, 63, 80, 96... 0, 8, 16, 24, 32, 40, 48.... 0, 4, 8, 12, 16, 20, 24, 28... 0, 2, 4, 6, 8, 10, 12, 14, 16... 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10...

1111 1110

254

128

1111 1111

255

256

Figura 3.34 Tabela de sub-redes para clculo pelo mtodo binrio.

Essa tabela se aplica para o clculo de mscara de qualquer octeto do endereo IPv4 da rede que se deseja dividir em sub-redes. Vamos explicar a utilizao da tabela para a rede 200.130.26.0/24, onde se deseja dividir o 4 octeto apenas, pois se trata de uma rede classe C, e no podemos modificar os 3 primeiros octetos do prefixo de rede: 200.130.26. Vamos explicar primeiro o cabealho da tabela. Os bits do octeto esto numerados de 1 (bit menos significativo) ao bit 8 (mais significativo), com seus respectivos pesos para o clculo do valor da mscara em decimal. As demais colunas representam o valor em decimal da mscara binria (til para a configurao das interfaces), a quantidade de sub-redes que teremos, a quantidade de hosts/sub-redes e, finalmente, a identificao das sub-redes. Note que a quantidade de sub-redes multiplicada pela quantidade de hosts/sub-redes d sempre o valor 256, como j foi mostrado. Vamos explicar agora as linhas das mscaras. A primeira linha representa a situao de uma nica sub-rede com 256 endereos, conforme mostra a Figura 3.29. Considerando o nosso exemplo de uma rede classe C, no teremos sub-redes, apenas a rede classe C original. Essa mscara pode representar sub-redes no caso de diviso de uma rede classe B ou uma rede classe A, mas no veremos esses casos neste momento. A segunda linha representa uma diviso em duas sub-redes, conforme mostra a Figura 3.30. Note que esta possibilidade de diviso no pode ser usada na arquitetura classful, que probe explicitamente 1 bit subnet (sub-rede de 1 bit).
Captulo 3 - Endereamento IP (parte 1)

105

A terceira linha representa uma diviso em 4 sub-redes, conforme mostrado na Figura 3.31. Note que, apesar de no ser obrigatrio, os bits de sub-rede esto sempre mais esquerda do que os bits de estao, conforme recomendao do RFC 950, pgina 6. E assim por diante, at a ltima linha que representa 256 sub-redes (s tem sentido para redes classes A e B). Note que, no nosso exemplo de rede classe C, s podemos ter mscara de 30 bits, no mximo, porque precisamos de 2 bits para estao, no mnimo. Vamos agora fazer um exemplo de clculo com essa tabela binria. Seja uma rede classe C: 200.130.26.0/24, que desejamos dividir em sub-redes tal que possamos enderear redes fsicas com 30 hosts no mximo em cada uma. Note que o problema pode ser proposto de duas maneiras: definindo uma quantidade mxima de hosts por sub-rede ou uma quantidade mnima de sub-redes. J que o enunciado determina a quantidade de hosts/sub-rede, vamos calcular quantos bits de hosts precisamos para enderear at 30 hosts. No caso, precisamos de 5 bits (25 = 32) para obter 32 endereos, lembrando que perdemos sempre dois endereos de host por sub-rede (um endereo para identificar a sub-rede e um para o broadcast da sub-rede). Teremos ento 3 bits para sub-rede (8-5=3). Verificando na tabela vemos que a mscara adequada a 224, que nos d 8 sub-redes com at 32 endereos em cada uma. Ento a mscara em decimal ser: 255.255.255.224 ou /27, e as sub-redes sero: 200.130.26.0/27, 200.130.26.32/27, 200.130.26.64/27,..., 200.130.26.224/27. Note que, sem a tabela de sub-redes, este processo muito complicado e demorado, por se basear em clculos binrios.

Mtodo decimal
11 Dada uma rede classe C 200.130.26.0/24. 11 Deseja-se 30 endereos por sub-rede. 11 5 bits de hosts: 25 = 32 endereos/sub-rede. 11 A mscara em decimal : 256 32 = 224. 11 3 bits de sub-rede: 8 5 = 3. 11 Mscara em contagem de bits: 24 + 3 = 27. 11 ID sub-redes: 0, 0 + 32 = 32, 32 + 32 = 64, ..., 224. Vamos calcular o mesmo exemplo, agora em decimal, sem usar a tabela de sub-redes. Vamos ver este processo passo a passo.
Arquitetura e Protocolos de Rede TCP-IP

1. O primeiro passo determinar quantos bits de hosts precisamos; no caso, 5 bits. 2. Em seguida calculamos quantos endereos podemos usar com 5 bits: 25 = 32 endereos. 3. Em seguida calculamos a mscara em decimal: 256-32= 224. 4. Calculamos agora a quantidade de bits de sub-redes: 8-5=3. Teremos ento 8 sub-redes (23=8). 5. Calculamos agora a mscara de sub-rede em bits: 24+3=27. 6. Finalmente, calculamos as identificaes das sub-redes: 0, 0+32=32, 32+32=64, 64+32=96,

etc, lembrando que a ltima sub-rede ter a mesma identificao da mscara decimal: 224.

106

Lembramos que o endereo de broadcast de cada sub-rede ser sempre o endereo anterior ao da prxima sub-rede. Por exemplo, o endereo de broadcast da sub-rede 200.130.26.32/27 ser 200.130.26.63/27, porque a prxima sub-rede ser 200.130.26.64/27.

Exerccio de fixao 3 e Verificando o endereo IP


Alguns sites oferecem o servio de verificao de sua conexo internet. Com eles possvel descobrir o endereo IP que voc est utilizando. No necessariamente o endereo da sua estao, porque sua instalao pode estar usando servidores Network Address
NAT Traduo de endereo de rede. Padro oficial da IETF especificado pelo RFC 1631, habilita uma LAN a usar um grupo de endereos IP para trfego interno e outro para trfego externo. Um servidor NAT localizado onde a LAN enxerga a internet se faz necessrio para a traduo dos endereos IP.

Translation (NAT ) ou proxy, que mascaram o seu endereo verdadeiro.


1. Acesse www.meuip.com.br e anote o seu endereo IP.

Observe se o endereo IP confere com o mostrado no comando ipconfig e tambm com o nome do host. So oferecidos tambm diversos servios adicionais. O nome do host IP Reverso, porque obtido atravs de uma consulta do tipo PTR ao servidor DNS (informa o IP e obtm o nome). Esse tipo de consulta chamado de DNS Reverso. As consultas normais DNS so do tipo A (informa o nome e obtm o IP).
2. Acesse www.ipok.com.br e observe se o endereo IP tambm confere. Ainda so

oferecidos outros servios adicionais.


3. Acesse www.simet.nic.br para testar a sua conexo.

107

Captulo 3 - Endereamento IP (parte 1)

108

Arquitetura e Protocolos de Rede TCP-IP

Roteiro de Atividades 3
Atividade 3.1 Validade de endereos
O administrador de rede de uma instituio comercial tentou configurar alguns endereos para as interfaces de rede de um roteador. Os endereos testados foram: 200.150.256.10, 100.1.1.10, 150.200.15.300 e 192.168.10.1.1. Considere que o administrador sabe usar os comandos de configurao de interface. Quais destes endereos podem ser configurados com sucesso e quais no podem ser configurados? Explique.

Atividade 3.2 Atribuio de endereos


Uma determinada instituio educacional est configurando uma inter-rede composta por trs redes fsicas, interligadas por dois roteadores. A topologia dessa rede apresentada a seguir. Essa instituio solicitou trs endereos de rede s autoridades da internet.

E1

R1 N1

E3

R2 N3

E5

N2

E2

E4

E6

1. Indique um possvel conjunto de endereos atribudos instituio.

2. Agora, para cada rede, indique o endereo de rede e de broadcast.

109

Captulo 3 - Roteiro de Atividades

3. Por fim, para cada estao, indique um possvel endereo IP.

Atividade 3.3 Expanso da rede


Um grande projeto criou uma demanda de expanso da rede na instituio educacional (Atividade 3.2). Para isso, o administrador realizou um levantamento da demanda de novos pontos de rede e identificou que as redes N1, N2 e N3 devem comportar 500, 100 e 280 estaes, respectivamente. Os endereos que foram anteriormente alocados para essas redes comportam essa quantidade de estaes? Se no, indique um possvel conjunto de endereos que possa ser usado para essas redes. Agora, para cada rede, indique o endereo de rede e de broadcast. Em seguida, informe o intervalo de endereos permitidos para cada rede.

110

Arquitetura e Protocolos de Rede TCP-IP

Atividade 3.4 Configurao de endereos IPv4


Dada a rede da Figura 3.35 desenhada no simulador de rede Netsimk (www.netsimk.com), composta de 3 roteadores (R1, R2 e R3), 4 switches, 2 consoles de roteadores e 12 computadores, os alunos devem planejar o endereamento IPv4 de todas as interfaces de rede configurveis (roteadores e computadores), efetuar a configurao com endereos IPv4 e fazer os testes de conectividade. A rede chama-se Rede_Atividade3_4.nsw.

PC1

1 1 2 4 E0 S1 DCE R1 S0 DCE

2 R2 S0 E0 4 1 2 3

PC11

PC2

PC12

PC3

PC13

PC21

1 2 4 E0

S0 E1 R3 4

1 2 3

PC31

PC22

PC32

1 PC23 PC33

Figura 3.35 Planejamento de endereos IPv4.

O planejamento dos endereos IPv4 deve seguir o seguinte roteiro:


1. A rede classe C 172.16.20.0/24 fornecida para configurao de todas as interfaces de rede.
Captulo 3 - Roteiro de Atividades

2. Se necessrio, calcule as sub-redes para todas as redes fsicas. Para isso, preciso pri-

meiro determinar, analisando a figura, quantas redes fsicas existem. Se voc tiver dvida, pea ajuda. Escolha o mtodo mais conveniente de clculo.
3. Aps calcular as sub-redes, primeiro defina os endereos IPv4 de cada interface dos rote -

adores, porque eles sero os respectivos gateway padro dos computadores das redes 1, 2, 3 e 4. Em seguida, defina os endereos IPv4 de cada computador.
4. Concludo o planejamento, faa as configuraes das interfaces, seguindo as orientaes de

uso dos comandos do simulador Netsimk. Carregue a rede Rede_Atividade3_4.nsw no simulador.

111

5. Observe que as interfaces Ethernet dos roteadores so identificadas pela letra E

seguida do nmero da interface (0 ou 1) e as interfaces seriais (conexo entre roteadores) so identificadas pela letra S seguida do nmero da interface (0 ou 1).
6. Completadas as configuraes, tente a conectividade entre as diversas redes com os

comandos ping e tracert (traceroute). Siga a orientao do instrutor, escolhendo um computador de cada rede para teste.

Atividade 3.5 Entrega direta e indireta


Para realizar a entrega de datagramas, sabemos que a arquitetura TCP/IP suporta o conceito de entrega direta e indireta. Considere a rede apresentada na Figura 3.36.

E1 192.168.10.1
1:1:1:1:1:1

R1
192.168.10.3 1:1:1:3:3:3 192.168.20.1 2:2:2:1:1:1

R2 N2
192.168.20.2 2:2:2:2:2:2 3:3:3:3:3:3

192.168.30.1 3:3:3:1:1:1 192.168.30.3

E3

N1

N3

E2 192.168.10.2
1:1:1:2:2:2

192.168.30.2 3:3:3:2:2:2
Figura 3.36 Rede da atividade 3.5.

E4

1. Suponha que a estao E1 enviou um datagrama para a estao E2. Como as duas

estaes esto conectadas na mesma rede fsica, certamente, o mecanismo de entrega direta foi usado. Identifique os endereos IP de origem e destino informados no data grama. Alm disso, para ser efetivamente transmitido, o datagrama encapsulado em um quadro da rede fsica. Identifique os endereos fsicos de origem e destino informados nesse quadro.

2. Suponha que a estao E1 enviou um datagrama para a estao E3. Como essas esta-

es no esto conectadas na mesma rede fsica, certamente o mecanismo de entrega indireta foi adotado. Identifique os endereos IP de origem e destino informados no
Arquitetura e Protocolos de Rede TCP-IP

datagrama. Esses endereos mudam medida que o datagrama encaminhado entre os roteadores intermedirios? Explique. Alm disso, em cada rede intermediria, o datagrama encapsulado em um quadro daquela rede fsica. Identifique os endereos fsicos de origem e destino informados nos quadros de cada rede intermediria.

112

Atividade 3.6 Protocolo ARP


Nesta atividade, vamos usar a rede com o nome: Rede_Atividade3_6.nsw. Foi adicionada uma rota esttica em cada roteador (R1 e R2), conforme mostrado na tabela de rotas: S (rota esttica), C (rede diretamente conectada).
E1 E3

1 Fa0/1 C 192.168.10.0/24 E0 0 C 192.168.20.0/24 E1 0 S 192.168.30.0/24 E1 0 Fa0/3 N1 Fa0/2 2 2 E0 R1 E1 Fa0/1 N2 Fa0/2 S 192.168.10.0/24 E0 0 C 192.168.20.0/24 E0 0 C 192.168.30.0/24 E1 0 E0 R2 F 12 E1 Fa0/3 Fa0/1

E2
Figura 3.37 Rede da Atividade 3.6 configurada no Netsimk.

E4

Inicialmente a tabela ARP da estao E1 est vazia, porque no foi preciso enviar nenhum pacote para outra mquina da rede. Isso pode ser verificado atravs do comando arp a na janela DOS em E1, conforme abaixo:

C:>arp -a No ARP entries found


Aps os seguintes comandos:

C:>ping 192.168.10.2 Pinging 192.168.10.2 with 32 bytes of data: Reply from 192.168.10.2 on Eth, time<10ms TTL=128 Reply from 192.168.10.2 on Eth, time<10ms TTL=128 Reply from 192.168.10.2 on Eth, time<10ms TTL=128 Reply from 192.168.10.2 on Eth, time<10ms TTL=128

C:>ping 192.168.30.1 Pinging 192.168.30.1 with 32 bytes of data: Ping request timed out. Ping request timed out. Reply from 192.168.30.1 on Eth, time<10ms TTL=126 Reply from 192.168.30.1 on Eth, time<10ms TTL=126

113

Captulo 3 - Roteiro de Atividades

A tabela ARP ficou assim:

C:>arp -a Internet Address 192.168.10.2 192.168.10.3 Physical Address E1-5E-BF-00-10-03 F7-BB-34-00-10-04 Type Dynamic Dynamic

Vemos que aparecem os endereos MACs e respectivos endereos IPs da estao E2 e da interface E0 do roteador R1, que o gateway padro da rede N1 onde est a estao E1. No primeiro ping houve uma entrega direta, e no segundo ping uma entrega indireta, da a necessidade de passar o pacote atravs do roteador R1. Para melhor visualizao da rota usada pelo ping no segundo caso, vamos usar um recurso do simulador muito til nesses casos. Procedimento:
1. Selecione no menu superior a opo Teaching/Demonstrate PING progress on displayed

routing tables.
2. Clique no boto Continue na janela de dilogo. 3. Execute novamente o ping na janela DOS e aperte a barra de espao para visualizar o

caminho de ida e volta. Depois de algum tempo sem trfego, as entradas da tabela ARP so descartadas ( flushed ) e a tabela ARP fica vazia novamente.

Atividade 3.7 Tabela ARP


Sabemos que o protocolo ARP mantm uma tabela para tornar a resoluo de endereos mais eficiente.
1. Identifique as entradas da tabela ARP de sua estao.

2. Observando a tabela ARP, escolha outra estao do laboratrio que no conste nessa

tabela. Perguntando aos membros do grupo que esto trabalhando nela, identifique e anote o endereo IP dessa outra estao.
Arquitetura e Protocolos de Rede TCP-IP

3. Considerando que o endereo da estao escolhida X, execute o comando ping X .

Lembre-se de substituir X pelo endereo IP da estao escolhida.

114

4. Identifique novamente as entradas da tabela ARP de sua prpria estao. Alguma entrada

foi adicionada? Qual?

5. Sabendo que o comando ping enviou datagramas de sua estao para a outra estao

selecionada, explique o que provocou a mudana na tabela ARP.

Atividade 3.8 Modificando a tabela ARP


As entradas da tabela ARP permanecem vlidas durante certo intervalo de tempo. No entanto, o administrador pode remover entradas existentes ou incluir novas entradas.
1. Remova a entrada da tabela ARP associada estao selecionada na atividade anterior.

Verifique se a entrada foi realmente removida.

2. Escolha outra estao, diferente daquela selecionada na atividade anterior. Perguntando

aos membros do grupo que esto trabalhando nessa outra estao, identifique e anote o endereo IP e o endereo fsico dela.

3. Inclua uma nova entrada na tabela ARP que mapeia o endereo IP dessa nova estao sele-

cionada para o seu respectivo endereo fsico. Verifique se a entrada foi realmente includa.

Atividade 3.9 Servidores DHCP


Conforme visto, os protocolos para configurao automtica de endereos IP se utilizam de broadcast. O que voc imagina que pode acontecer se uma nica rede possuir mais de um servidor DHCP?
Captulo 3 - Roteiro de Atividades

115

116

Arquitetura e Protocolos de Rede TCP-IP

4
Endereamento IP (parte 2)
objetivos
Apresentar o tratamento de endereos de super-redes, incluindo atribuio, agregao e subdiviso de blocos de endereos. Descrever o processo de clculo de sub-redes com mscara de tamanho varivel (VLSM), e o processo de traduo de endereos privados (NAT), alm de introduzir o endereamento IPv6 e sua necessidade.

conceitos

Super-redes ou blocos de endereos, CIDR e VLSM, endereos privados e traduo NAT, conceitos bsicos de endereamento IPv6.

Super-redes
Este captulo trata do conceito de super-redes ou blocos de endereos, CIDR e VLSM. A padronizao do esquema de endereamento de sub-redes permitiu um melhor aproveitamento do espao de endereamento IP. No entanto, mesmo com o conceito de sub-redes, o IETF percebeu que a atribuio de endereos classe B ainda representava um enorme desperdcio de endereos. Por exemplo, na Figura 4.1, apenas quatro endereos de sub-redes foram usados da rede classe B original: 172.16.0.0/16. Embora os demais endereos de sub-rede (172.16.5.0/24 at 172.16.255.0/24) ainda possam ser atribudos para outras redes fsicas que venham a existir naquela instituio, esses endereos de sub-rede no podem ser atribudos a outras instituies, representando assim um grande desperdcio do espao de endereamento. Consequentemente, de forma bastante rpida, os endereos de rede classe B comearam a se tornar escassos.
Captulo 4 - Endereamento IP (parte 2)

N3 172.16.3.0 R1

N2 172.16.2.0

Figura 4.1 Desperdcio de endereos classe B.

N1 172.16.1.0

N4 172.16.4.0

117

Endereamento de super-redes
11 Permitem o uso de diversos endereos de rede nas vrias redes de uma instituio. 11 Atribuem quantidade de endereos adequada s necessidades da instituio. 22 Evitam a atribuio de endereos classe B. 22 Atribuem blocos de endereos: 33 Conjunto de endereos classe C. 33 Partes de um endereo classe A, B ou C. 22 Bloco deve comportar o nmero de estaes da instituio. 11 Bloco de endereos um conjunto contguo de endereos. 22 Tamanho potncia de 2. 22 Satisfaz a algumas restries adicionais. Endereos so formados por um prefixo de bloco e um identificador de estao: 11 Endereo pode ter nmero variado de bits no prefixo de bloco. 11 Invalida o conceito de classes A, B e C. 11 Identificador de estao define o tamanho do bloco de endereos.

Avaliando o uso ineficiente dos endereos classe B, pode-se perceber que a principal razo a inexistncia de uma classe de rede de tamanho adequado para a maioria das instituies. Por um lado, um endereo classe C, com no mximo 254 estaes, muito pequeno para diversas instituies. Por outro lado, um endereo classe B, que permite at 65.534 estaes, muito grande e gera um uso ineficiente do espao de endereamento. Como resultado, por um lado, a realidade alguns anos atrs era que apenas uma pequena parcela dos endereos classe C estava atribuda. Por outro lado, uma parcela considervel dos endereos classe B j estava atribuda. Para piorar a situao, existem milhes (2 21) de endereos classe C e apenas alguns milhares (214) de endereos classe B. Na poca, por conta desta constatao, ao invs de criar uma nova classe de endereos, o IETF instituiu e padronizou um novo esquema de endereamento, denominado endereamento de super-redes, que adota o caminho inverso do esquema de sub-redes. Ou seja, ao invs de usar um nico endereo de rede para mltiplas redes fsicas de uma instituio, o esquema de super-redes permite o uso de diversos endereos de rede nas vrias redes de uma nica instituio. Por exemplo, considere uma instituio com aproximadamente 3 mil estaes que, no esquema original de endereamento, requeira um endereo classe B. No entanto, adotando
Arquitetura e Protocolos de Rede TCP-IP

Endereamento de super-redes Esquema de endereamento da arquitetura TCP/IP que permite a atribuio de blocos de endereos, cujos tamanhos so adequados s necessidades das instituies.

o esquema de super-redes, ao invs de atribuir o endereo classe B, pode ser atribudo um bloco de endereos classe C. Esse bloco deve ser grande o suficiente para permitir o endereamento das 3 mil estaes existentes na instituio. Logo, um bloco de 16 endereos classe C, que possui aproximadamente 4.096 endereos disponveis, suficiente para essa instituio enderear todas as suas estaes e ainda ter uma reserva para eventual necessidade futura, sem o desperdcio do uso de uma classe B. Observe que o esquema de super-redes conserva os endereos classe B, que j eram quase escassos, e atribui endereos classe C, que ainda eram relativamente disponveis na poca da padronizao do esquema de endereamento de super-redes. No esquema de super-redes, o prefixo de rede , agora, denominado prefixo do bloco,
Prefixo do bloco Poro do endereo IP que identifica um bloco de endereos. Bloco de endereos Conjunto de endereos contguos, cujo tamanho potncia de 2, alocados a uma instituio.

118

enquanto o identificador de estao mantm a mesma designao. Por exemplo, o bloco de 4.096 (212) endereos possui 20 bits no prefixo do bloco e 12 bits no identificador de estao.
Tamanho do bloco Quantidade de ende reos consecutivos que compem um bloco de endereos.

O tamanho do bloco funo do nmero de bits do identificador de estao. Dessa forma, um identificador de estao de n bits define um bloco de 2n endereos. Embora o exemplo tenha usado um bloco de 16 endereos classe C, na prtica, o esquema de endereamento de super-redes no est restrito a blocos de endereos de uma classe determinada. Na verdade, um bloco de endereos pode ser qualquer conjunto de endereos contguos, cujo tamanho seja potncia de 2 e satisfaa a algumas restries adicionais. Por exemplo, podem existir blocos de 512, 1024 e 2.048 endereos. Alm disso, o tamanho de um bloco pode ser menor ou igual a 256, que o total de endereos em uma rede classe C. Portanto, podem existir blocos de 16, 64, 128 e 256 endereos. Consequentemente, no esquema de endereamento de super-redes, o prefixo de bloco (prefixo de rede) pode possuir um nmero variado de bits, no impondo qualquer relao com o nmero de bits do prefixo de rede de endereos classe A, B ou C. Diz-se, ento, que o endereamento de super-redes no obedece definio de classes de endereos. Logo, no esquema de super-redes, as classes A, B e C deixam de existir (classless).

CIDR
Classless Inter-Domain Routing (CIDR) uma tcnica que especifica um esquema de endereamento e roteamento que adota blocos contguos de endereos, ao invs de endereos classe A, B e C. Esta tcnica minimiza o desperdcio de endereos e permite a atribuio de blocos de endereos com tamanho adequado s necessidades da instituio. O esquema de endereamento de super-redes proposto em conjunto com uma tcnica denominada Classless Inter-Domain Routing (CIDR), que, como o prprio nome sugere, invalida o conceito de classes de endereos, pois o tamanho dos blocos de endereos

completamente independente dos endereos de classe A, B e C, o que caracteriza a arquitetura classless. Por enquanto, suficiente entender que o endereamento de super-redes pode minimizar o desperdcio de endereos, pois permite a atribuio de blocos de tamanhos adequados s necessidades das instituies. Trataremos aqui do endereamento de super-redes e nas regras para criar, representar e usar blocos de endereos.

Blocos de endereos
Bloco de endereos um conjunto contguo de endereos, cujo tamanho potncia de 2. Os blocos de endereos no possuem qualquer relao com as classes A, B e C. O endereamento de super-redes minimiza o desperdcio de endereos, atribuindo blocos

q
Captulo 4 - Endereamento IP (parte 2)

de endereos, cujos tamanhos so adequados s necessidades das redes fsicas das instituies. Assim, pequenos blocos so atribudos a pequenas redes fsicas e grandes blocos so atribudos a grandes redes fsicas. No esquema de endereamento de super-redes, um bloco de endereos um conjunto de endereos contguos, cujo tamanho potncia de 2. Por exemplo, um bloco de 4.096 (212) endereos pode ser atribudo a uma instituio que possua 3 mil estaes. Observe que, no esquema de endereamento IP original, um endereo classe B seria requerido por essa instituio. Considerando que um endereo classe B possui 65.534 endereos permitidos, o desperdcio seria de 62.534 endereos. No entanto, a atribuio do bloco de 4.096 endereos reduz este desperdcio para apenas 1.096 endereos.

119

Como os blocos de endereos no possuem qualquer relao com as classes de endereos do esquema de endereamento IP original, um bloco de endereos pode conter diversos endereos de rede classe A, B ou C, assim como pode conter apenas uma frao de um endereo classe A, B ou C. Consequentemente, blocos de diferentes tamanhos podem ser atribudos; por exemplo: 16, 128, 512, 2.048 e 8.192.

Hierarquia de endereamento
Para prover a flexibilidade de diferentes tamanhos de blocos, os endereos IP adotam uma estrutura hierrquica que identifica as redes fsicas s quais os blocos esto alocados e as estaes (interfaces) nessas redes. A representao dessa hierarquia realizada com a diviso dos endereos IP em duas partes: 11 Identificador de bloco denominado prefixo do bloco, prefixo de rede ou prefixo IP, serve para identificar a rede fsica qual o bloco est alocado, de forma nica e individual. 11 Identificador de estao identifica a estao (interface) dentro da rede (bloco) de forma nica e individual. A Figura 4.2 ilustra a estrutura hierrquica dos endereos IP no esquema de endereamento classless.
0 Identicador de bloco Identicador de estao 31
Figura 4.2 Hierarquia de endereamento.

Por exemplo, um bloco de 4.096 (212) endereos possui 20 bits no prefixo do bloco e 12 bits no identificador de estao. Como o tamanho do bloco funo do nmero de bits do iden tificador de estao, um identificador de estao de n bits define um bloco de 2n endereos, conforme mostrado na Figura 4.3.

Identicador de estao

2n

Endereos do bloco

Figura 4.3 Bloco de endereos.

A estrutura hierrquica de um bloco aparentemente idntica quela adotada no esquema de endereamento IPv4 original. No entanto, no esquema original, o prefixo de rede sempre possui 8, 16 ou 24 bits, requeridos pelos endereos classe A, B ou C, respectivamente. Por outro lado, nos blocos de endereos, o prefixo do bloco pode possuir qualquer nmero de bits (exceto em alguns casos especiais) e no tem qualquer relao com o nmero de bits do prefixo de rede de endereos classe A, B ou C.
Arquitetura e Protocolos de Rede TCP-IP

Mscara do bloco
A mscara de bloco delimita a posio do prefixo de bloco e do identificador de estao. Representao: 11 Padro de 32 bits. 11 Possui bits 1 no prefixo de bloco. 11 Possui bits 0 no identificador de estao.

Para delimitar os bits que compem o prefixo do bloco e o identificador de estao, o esquema de endereamento de super-redes define o conceito de mscara de bloco, que representa uma simples adaptao do conceito de mscara de rede do endereamento IPv4 original.

120

A mscara de bloco tambm um padro de 32 bits, contendo bits 1 na posio do prefixo do bloco e bits 0 na posio do identificador de estao. A Figura 4.4 ilustra a estrutura de uma mscara de bloco.
0 1...1 0...0 31

Figura 4.4 Mscara do bloco.

As mscaras de bloco tambm podem ser escritas com a notao decimal (dotted-decimal notation) ou contagem de bits (bit count). Porm, na prtica, a notao de contagem de bits mais adotada. A seguir, um exemplo de bloco de endereo e a respectiva mscara nas notaes decimal e contagem de bits. Neste caso, o prefixo do bloco 200.10, pois a mscara possui 16 bits. 11 Decimal 200.10.0.0 255.255.0.0 11 Contagem de bits 200.10.0.0/16 Neste mesmo exemplo, pode-se observar que seria invlido no esquema de endereamento IPv4 original, pois 200.10.0.0 um endereo classe C que deve ter uma mscara de pelo menos 24 bits. Considerando que o prefixo do bloco pode possuir um nmero variado de bits, sem qualquer relao com o nmero de bits do prefixo de rede de endereos classe A, B ou C, os blocos 20.0.0.0/24, 150.0.0.0/8, 200.10.0.0/20 e 192.100.1.0/27 so vlidos no esquema de endereamento de super-redes. Vale ressaltar que, na prtica, o termo mscara de rede tambm usado com o mesmo significado de mscara de bloco, porque, geralmente, o contexto em que o termo usado torna bvio o tipo de mscara tratada.

Endereo de bloco e de broadcast


11 Endereo de bloco pode ser utilizado para referenciar a rede fsica qual o bloco est associado. 11 Endereo de broadcast direto permite o envio de datagramas para todas as estaes do bloco. Assim como no esquema de endereamento IPv4 original, em que endereos de rede podem ser usados para referenciar as redes fsicas, no esquema de endereamento de

super-redes, endereos de bloco podem ser usados para referenciar as redes fsicas s quais os blocos so atribudos. O endereo de bloco denominado endereo base do bloco. No esquema de endereamento IPv4 original, o endereo de rede representado pelo prefixo de rede e pelo identificador de estao, este ltimo com todos os bits iguais a 0. representado pelo prefixo de bloco e pelo identificador de estao, este ltimo com todos os bits iguais a 0. Assim, o identificador de estao, cujos bits so iguais a 0, reservado e nunca atribudo a qualquer interface de uma rede fsica. A Figura 4.5 ilustra a conveno para endereos de bloco.
0 identicador de bloco 0...0 31
Captulo 4 - Endereamento IP (parte 2)

De forma anloga, no esquema de endereamento de super-redes, o endereo de bloco

Figura 4.5 Endereo de bloco.

121

Por exemplo, se uma estao possui o endereo IP 200.10.16.1/16, ento o endereo do bloco 200.10.0.0, pois o identificador de estao possui 16 bits. Uma vez que cada rede fsica possui um endereo de bloco particular, o conceito de broadcast direto tambm pode ser adotado, permitindo o envio de datagramas IP para todas as estaes (interfaces de estaes e roteadores) de um determinado bloco a partir de qualquer estao da inter-rede TCP/IP. No esquema de endereamento IPv4 original, o endereo de broadcast direto representado pelo prefixo de rede e pelo identificador de estao, este ltimo com todos os bits iguais a 1. De forma semelhante, no esquema de endereamento de super-redes, o endereo de broadcast direto do bloco representado pelo prefixo de bloco e pelo identificador de estao, este ltimo com todos os bits iguais a 1. Assim, o identificador de estao, cujos bits so iguais a 1, reservado e nunca atribudo a qualquer interface da rede fsica. A Figura 4.6 ilustra a conveno para endereos de broadcast direto de blocos.
0 identicador de bloco 1...1 31
Figura 4.6 Endereo de broadcast direto.

Por exemplo, se uma estao possui o endereo IP 200.10.16.1/16, ento o endereo de broadcast direto do bloco 200.10.255.255, pois o identificador de estao possui 16 bits.

Espao de endereamento e endereos permitidos


Espao de endereamento um conjunto de endereos que compartilham um mesmo prefixo de bloco. Os endereos permitidos formam um conjunto de endereos que podem ser atribudos s interfaces.

Considerando um determinado endereo de bloco, o espao de endereamento composto por todos os endereos que podem ser expressos com variao do identificador de estao.
Identicador de estao

2n

Espao de endereamento

Figura 4.7 Espao de endereamento.

Por outro lado, os endereos permitidos so todos aqueles que podem ser atribudos s interfaces de estaes e roteadores.
Identicador de estao
Figura 4.8 Endereos permitidos para interfaces.

2n-2

Endereos usveis

Portanto, os endereos permitidos representam todo o espao de endereamento, exceto o primeiro (endereo de bloco) e o ltimo (endereo de broadcast direto do bloco). Logo, se
Arquitetura e Protocolos de Rede TCP-IP

um determinado bloco possui n bits no identificador de estao, ento esse bloco possui 2n endereos e 2n - 2 endereos permitidos. Por exemplo, considere o bloco 200.10.16.0/20, que possui 20 bits no prefixo de bloco e 12 bits no identificador de estao. Podemos afirmar que esse bloco possui 4.096 (212) endereos e 4.094 (212 - 2) endereos permitidos. A Figura 4.9 ilustra um espao de endereamento. Como esses endereos so gerados pela combinao de valores no identificador de estao, o espao de endereamento do bloco 200.10.16.0/20 compe o intervalo de 200.10.16.0 at 200.10.31.255, ao passo que os endereos permitidos desse bloco compem o intervalo de 200.10.16.1 at 200.10.31.254.

122

0 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001

20 0000 00000000 0000 00000001 0000 00000010 0000 00000011

31

200.10.16.0/20 200.10.16.1/20 200.10.16.2/20 200.10.16.3/20

11001000 00001010 0001 11001000 00001010 0001


Figura 4.9 Espao de endereamento.

1111 11111100 1111 11111101 1111 11111110 1111 11111111

200.10.31.252/20 200.10.31.253/20 200.10.31.254/20 200.10.31.255/20

11001000 00001010 0001 11001000 00001010 0001

Considerando o espao de endereamento e os endereos permitidos de um bloco, observe que um bloco cujo identificador de estao possui apenas 1 bit no pode ser atribudo a uma rede fsica, pois o primeiro e o ltimo endereos so reservados para o endereo de bloco e para o broadcast direto. Logo, para ser atribudo a uma rede fsica, o bloco deve possuir um identificador de estao com pelo menos 2 bits. Consequentemente, blocos de endereos IPv4 s podem usar mscaras com no mximo 30 bits.

Regras de atribuio de endereos


No esquema de endereamento de super-redes, a atribuio de endereos s interfaces de estaes e roteadores segue regras semelhantes quelas do esquema de endereamento IPv4 original, porm aplicadas aos blocos. No endereamento de super-redes, as regras de atribuio de endereos so as seguintes: 11 Diferentes prefixos de bloco devem ser adotados para diferentes redes fsicas. 11 Um nico prefixo de bloco deve ser compartilhado pelas interfaces conectadas a uma mesma rede fsica. 11 Um nico identificador de estao deve ser atribudo a cada interface conectada a uma determinada rede fsica. A Figura 4.10 apresenta um exemplo de atribuio dos blocos 200.10.16.0/20 e 150.10.1.0/24 s redes N1 e N2, respectivamente. Alm disso, o exemplo tambm realiza a atribuio de minada rede fsica pertencem a um mesmo bloco de endereos, todas compartilham um nico prefixo de bloco.
Captulo 4 - Endereamento IP (parte 2)

endereos s interfaces conectadas nessas redes. Como todas as interfaces de uma deter-

123

E1

E3

200.10.16.1

200.10.16.0/20 N1

R1

150.10.1.0/24 N2

150.10.1.1

E2

200.10.16.0/20

150.10.1.3

E4

200.10.16.2

150.10.1.2

Figura 4.10 Atribuio de endereos.

Observe o detalhamento a seguir: 11 Na rede N1, as estaes (E1 e E2) e o roteador (R1) pertencem ao bloco 200.10.16.0/20; na rede N2, as estaes (E3 e E4) e o roteador (R1) pertencem ao bloco 150.10.1.0/24. 11 Na rede N1, as estaes (E1 e E2) e o roteador (R1) possuem os identificadores de estao 1, 2 e 3, respectivamente; na rede N2, as estaes (E3 e E4) e o roteador (R1) possuem os identificadores de estao 1, 2 e 3, respectivamente. Observe que interfaces conectadas a diferentes redes fsicas podem possuir os mesmos identificadores de estao, pois seus prefixos de bloco so diferentes e asseguram a unicidade de endereos.

Subdiviso de blocos
11 A subdiviso de blocos de endereos em sub-blocos forma as sub-redes. 11 Subdiviso realizada pelo deslocamento da mscara original para a direita. 11 Cada sub-bloco pode ser atribudo a uma rede fsica. Implementaes do protocolo IP que suportam a arquitetura classless permitem a adoo

do endereamento de super-redes, como tambm o endereamento de sub-redes. Embora, originalmente, o termo sub-rede tenha surgido como a possibilidade de subdividir um endereo de rede classe A, B ou C em endereos de sub-rede, aps a padronizao do esquema de endereamento classless, o termo sub-rede tambm se refere subdiviso de um bloco de endereos em blocos menores. Na arquitetura classless, sub-redes so denominadas como sub-blocos. Por exemplo, o bloco 200.10.16.0/20, que possui 4.096 (212) endereos, pode ser subdividido em
Arquitetura e Protocolos de Rede TCP-IP

Subdiviso de um bloco Processo no qual um bloco de endereos dividido em um conjunto de blocos menores (sub-blocos). Sub-bloco Conjunto de endereos contguos obtidos a partir da subdiviso de um bloco de endereos maior.

8 sub-blocos de 512 (29) endereos. A Figura 4.11 ilustra conceitualmente o processo de subdiviso. Cada sub-bloco de 512 endereos constitui uma sub-rede do bloco de 4.096 endereos.

124

0 11001000 00001010 0001

20 0000 00000000 23 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 000 001 010 011 100 101 110 111 0 00000000 0 00000000 0 00000000 0 00000000 0 00000000 0 00000000 0 00000000 0 00000000

31

200.10.16.0/20

200.10.16.0/23 200.10.18.0/23 200.10.20.0/23 200.10.22.0/23 200.10.24.0/23 200.10.26.0/23 200.10.28.0/23 200.10.30.0/23

Figura 4.11 Exemplo de subdiviso de blocos.

11001000 00001010 0001

Para criar sub-blocos, preciso manipular a mscara do bloco original, deslocando-a para a direita. O nmero de bits deslocados determina o nmero de sub-blocos criados. Generalizando, se um deslocamento de n bits realizado na mscara, ento 2n sub-blocos so criados. Por exemplo, na Figura 4.11, a mscara original foi deslocada de 3 bits, criando 8 (23) sub-blocos. Os endereos dos sub-blocos so gerados pela combinao de endereos nos bits correspondentes ao deslocamento da mscara original. Observe na Figura 4.11 que todas as 8 combinaes foram usadas nos 3 bits correspondentes ao deslocamento.

Figura 4.12 Subdiviso de blocos.

Deslocamento

2n

Nmero de sub-blocos

Em seguida, para cada combinao, basta escrever o valor do endereo do sub-bloco e indicar a nova mscara, cujo tamanho a soma entre o tamanho da mscara original e o nmero de bits deslocados. Por exemplo, na Figura 4.11, a mscara original possui 20 bits. Considerando que os sub-blocos foram gerados com o deslocamento de 3 bits, a mscara do sub-bloco possui 23 bits (20 + 3). Aps a subdiviso, cada sub-bloco tratado como um bloco normal, sem qualquer tipo de restrio adicional. Assim, cada sub-bloco possui um endereo de bloco, mscara de bloco, endereo de broadcast direto, espao de endereamento e endereos permitidos. A Figura 4.13 mostra estas informaes para cada sub-bloco da figura anterior.
Captulo 4 - Endereamento IP (parte 2)

125

Sub-bloco 200.10.16.0/23 200.10.18.0/23 200.10.20.0/23 200.10.22.0/23 200.10.24.0/23 200.10.26.0/23 200.10.28.0/23 200.10.30.0/23

Espao de endereamento 200.10.16.0 - 200.10.17.255 200.10.18.0 - 200.10.19.255 200.10.20.0 - 200.10.21.255 200.10.22.0 - 200.10.23.255 200.10.24.0 - 200.10.25.255 200.10.26.0 - 200.10.27.255 200.10.28.0 - 200.10.29.255 200.10.30.0 - 200.10.31.255

Endereos usveis 200.10.16.1 - 200.10.17.254 200.10.18.1 - 200.19.23.254 200.10.20.1 - 200.10.21.254 200.10.22.1 - 200.10.23.254 200.10.24.1 - 200.10.25.254 200.10.26.1 - 200.10.27.254 200.10.28.1 - 200.10.29.254 200.10.30.1 - 200.10.31.254
Figura 4.13 Tabela de endereos dos sub-blocos do bloco 200.10.16.0/20.

Observe que os intervalos de endereos desses sub-blocos so contguos. Alm disso, o primeiro endereo do primeiro sub-bloco (200.10.16.0) e o ltimo endereo do ltimo sub-bloco (200.10.31.255) definem o espao de endereamento do bloco original 200.10.16.0/20, mostrado na Figura 4.11.

Agregao de blocos
Agregao de blocos o processo de agregar blocos menores para compor um bloco maior, sendo um processo realizado pelo deslocamento da mscara original para a esquerda: 11 Blocos menores adotam a mesma mscara. 11 Total de blocos menores potncia de 2. 11 Blocos menores so idnticos em todos os bits, exceto em um conjunto contguo. 11 Bits diferentes possuem todas as combinaes possveis. A partir do processo de subdiviso de blocos de endereos, podemos perceber que o processo inverso tambm possvel. Em outras palavras, ao invs de subdividir um bloco em blocos menores, podemos agregar diversos blocos menores para compor um bloco maior. Esse processo denominado de agregao de blocos, em que vrios blocos menores so combinados para compor um bloco de endereos maior. Por exemplo, os sub-blocos de 23 bits da Figura 4.11 podem ser agregados no bloco 200.10.16.0/20. A agregao de blocos possvel somente quando os blocos disponveis possuem as seguintes caractersticas em comum: 11 Os blocos disponveis adotam a mesma mscara.
Arquitetura e Protocolos de Rede TCP-IP

11 O nmero de blocos disponveis potncia de 2. 11 Os endereos dos blocos disponveis so idnticos em todos os bits, exceto em um conjunto contguo desses bits. Nesse conjunto contguo de bits diferentes, existem todas as combinaes possveis de valores. Veja na Figura 4.11 que os 8 (2 3) sub-blocos de 23 bits so idnticos, exceto em 3 bits contguos, e, nesses bits, existem as 8 combinaes possveis de valores. Logo, os 8 blocos de 23 bits podem ser agregados para compor um bloco maior. Em funo dessas restries, observe que 2 blocos devem diferir em um nico bit, 4 blocos devem diferir em apenas 2 bits, e assim por diante. Generalizando, se existem 2n blocos disponveis, ento esses blocos devem diferir em apenas n bits.

126

importante ressaltar que um conjunto de blocos pode ser agregado, mesmo que, aparentemente, no atenda s restries mencionadas anteriormente. No entanto, nesses casos, atravs de subdivises ou agregaes dos blocos disponveis, sempre possvel obter um conjunto de blocos que atenda a todas as restries mencionadas. Constatada a viabilidade da agregao, o endereo do bloco agregado igual ao endereo do bloco disponvel que possui o menor valor. Por sua vez, a mscara do bloco agregado definida por um deslocamento esquerda da mscara dos blocos disponveis. Observe na Figura 4.14 que o sub-bloco de menor endereo 200.10.16.0/23 e o nmero de bits contguos diferentes igual a 3. Logo, o bloco agregado 200.10.16.0/20.
0 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 11001000 00001010 0001 20 000 001 010 011 100 101 110 111 20 11001000 00001010 0001 0000 00000000 23 0 00000000 0 00000000 0 00000000 0 00000000 0 00000000 0 00000000 0 00000000 0 00000000 31

200.10.16.0/23 200.10.18.0/23 200.10.20.0/23 200.10.22.0/23 200.10.24.0/23 200.10.26.0/23 200.10.28.0/23 200.10.30.0/23

Figura 4.14 Agregao de blocos.

200.10.16.0/20

Mscaras de tamanho fixo


11 Sub-redes de um determinado endereo de rede devem usar mscaras idnticas. 11 Comportam o mesmo nmero de estaes. 11 Roteamento assume que mscaras de um endereo de rede so idnticas.

q
Captulo 4 - Endereamento IP (parte 2)

11 Mscaras de tamanhos diferentes podem gerar srios problemas de roteamento. 11 No permitem a aplicao recursiva do conceito de sub-redes. 11 Tamanho da mscara depende do nmero de redes fsicas e do nmero de estaes da maior rede fsica. Para definir a mscara: 11 Escolha a maior mscara possvel que comporte o nmero de estaes da maior rede fsica. 11 Verifique se o nmero de sub-redes criadas atende ao nmero de redes fsicas existentes. 11 Reserve espao para crescimento futuro.

127

Na arquitetura classful, para cada endereo de rede classe A, B ou C, todas as sub-redes devem adotar a mesma mscara. Essa limitao resultado da implementao da funo de roteamento da arquitetura classful, que assume que as mscaras das sub-redes de um determinado endereo de rede so idnticas. Embora possvel, a adoo de mscaras diferentes pode gerar srios problemas de roteamento. Na literatura, o termo mscaras de tamanho fixo usado para indicar a adoo de mscaras idnticas. Como consequncia do uso de mscaras idnticas, as diversas sub-redes criadas possuem o mesmo nmero de endereos permitidos e, portanto, comportam o mesmo nmero de estaes. Assim, o tamanho da mscara a ser usada depende do nmero de redes fsicas existentes e do nmero de estaes da maior sub-rede. No projeto de sub-redes, deve-se escolher a maior mscara possvel que comporte o nmero de estaes da maior rede fsica. Em seguida, deve-se verificar se o nmero de sub-redes criadas atende ao nmero de redes fsicas existentes. Para permitir o crescimento futuro das redes fsicas, importante que o nmero de endereos permitidos, se possvel, seja um pouco maior que o nmero de estaes da maior sub-rede. O uso de mscaras idnticas tambm impe outra limitao, pois no permite a aplicao recursiva do conceito de sub-redes. Assim, uma vez que um endereo de rede classe A, B ou C dividido em um conjunto de endereos de sub-redes, estes ltimos no podem sofrer outro processo de diviso. Por exemplo, na Figura 4.15, nenhuma das sub-redes pode ser dividida em sub-redes menores.
0 11000000 10101000 00000001 11000000 10101000 00000001 11000000 10101000 00000001 23 000 001 010 27 31
Roteamento Processo de escolha dos caminhos (rotas) para enviar os datagramas, permitindo que alcancem seus destinos finais, atravs de diversas redes e roteadores intermedirios.

00000 00000 00000

192.168.1.0/27 192.168.1.32/27 192.168.1.64/27 192.168.1.96/27 192.168.1.128/27 192.168.1.160/27 192.168.1.192/27 192.168.1.224/27

11000000 10101000 00000001

011

00000

11000000 10101000 00000001 11000000 10101000 00000001 11000000 10101000 00000001


Arquitetura e Protocolos de Rede TCP-IP

100 101 110

00000 00000 00000

11000000 10101000 00000001

111

00000

Figura 4.15 Exemplo de endereamento de sub-redes.

Para reduzir o tamanho das tabelas de roteamento, o endereamento de sub-redes esconde os detalhes da inter-rede interna de uma instituio. Em outras palavras, roteadores externos (qualquer roteador no conectado a alguma das sub-redes) no precisam conhecer rotas para cada sub-rede individual, mas apenas para o endereo de rede a partir do qual as sub-redes foram geradas. Por exemplo, na Figura 4.16, o roteador externo R4 conhece apenas a rota via R2 para o endereo de rede 192.168.1.0/24, ao invs de uma rota para cada endereo de sub-rede.

128

O fato do endereo de rede 192.168.1.0/24 ser dividido em sub-redes transparente para o roteador R4. Essa diviso em sub-redes foi uma deciso do administrador de redes da instituio e independente das redes externas.

192.168.1.32/27

192.168.1.160/27

N1 R1
192.168.1.96/27

N5 R2
192.168.1.128/27

R3

N3

N4

N2
192.168.1.64/27 200.10.1.0/24

N6 N7
192.168.1.0/24 192.168.1.192/27

Figura 4.16 Endereamento de sub-redes.

R4
Vantagens: 11 Simplicidade no processo de criao de endereos de sub-redes. 11 Facilidade de memorizao dos endereos. Desvantagens: 11 Desperdcio de endereos. 11 Reduo da flexibilidade da rede. 22 Limita o nmero de redes fsicas. 22 Impe redes fsicas com quantidades semelhantes de estaes. Com base no conhecimento de que as arquiteturas de endereamento classful e classless suportam o conceito de sub-redes, podemos avaliar os diversos aspectos envolvidos na adoo de mscara de tamanho fixo ou mscara de tamanho varivel no projeto de endereamento. A adoo de mscaras de tamanho fixo torna o projeto de endereamento bastante simples, pois o processo de criao dos endereos de sub-rede bastante fcil. Alm disso, uma vez criadas as sub-redes, a memorizao dos seus endereos tambm muito fcil. Em resumo, podemos citar como vantagens do projeto de endereamento baseado em mscaras de tamanho fixo a simplicidade e a facilidade de criao e memorizao dos endereos de sub-rede. As duas arquiteturas de endereamento suportam o projeto de endereamento baseado em mscaras de tamanho fixo. No entanto, vale ressaltar que, na arquitetura classful, a primeira e a ltima sub-rede no podem ser usadas. Essa limitao no existe na arquitetura classless, em que todas as sub-redes podem ser utilizadas. Por exemplo, considere que o endereo classe C 200.10.16.0 (arquitetura classful ) ou o bloco de endereo 200.10.16.0/24 (arquitetura classless) foi atribudo a uma instituio. Se a mscara de 27 bits adotada, ento os seguintes endereos de sub-rede so criados: 200.10.16.0/27, 200.10.16.32/27, 200.10.16.64/27, 200.10.16.96/27, 200.10.16.128/27,
Captulo 4 - Endereamento IP (parte 2)

129

200.10.16.160/27, 200.10.16.192/27 e 200.10.16.224/27. Na arquitetura classless, todos esses endereos podem ser atribudos s sub-redes. No entanto, na arquitetura classful, os endereos 200.10.16.0/27 e 200.10.16.224/27 no podem ser usados. No projeto de endereamento baseado em mscaras de tamanho fixo, a mscara adotada determinada pela maior rede fsica. Portanto, a adoo de mscaras de tamanho fixo impe certo desperdcio de endereos, pois as redes fsicas menores no usam a maioria dos endereos atribudos a elas. No exemplo citado, cada sub-rede permite at 30 (25 - 2) estaes. No entanto, se algumas redes fsicas possuem apenas 10 estaes, cada uma delas desperdia 20 endereos. Para minimizar o desperdcio de endereos, a adoo de mscaras de tamanho fixo impe que as redes fsicas possuam quantidades semelhantes de estaes, reduzindo a flexibilidade para definir a distribuio das estaes nas diversas redes fsicas. Alm disso, con siderando que a mscara limita o nmero de sub-redes que podem existir, a flexibilidade do projeto de endereamento baseado em mscaras de tamanho fixo torna-se ainda mais reduzida. No exemplo citado, a mscara de 27 bits impe o limite de 6 sub-redes na arquitetura classful e 8 sub-redes na arquitetura classless. Em funo da baixa flexibilidade, comum o nmero de redes fsicas ser maior, na prtica, do que o permitido pela mscara a ser adotada, tornando necessrio algum ajuste na estrutura de interconexo da inter-rede. Esse ajuste pode ser realizado de duas formas: reduo do nmero de redes fsicas, para adequar-se ao nmero de endereos de sub-rede criados; ou migrao de estaes entre redes fsicas, para equiparar o nmero de estaes e permitir a adoo de uma mscara menor, que gere um nmero maior de endereos de sub-rede.

Mscaras de tamanho varivel


11 Sub-blocos podem adotar mscaras de tamanhos diferentes (VLSM). 11 Mscaras dependem do nmero de redes fsicas existentes e do nmero de estaes em cada rede fsica. 11 Todos os sub-blocos podem ser atribudos, incluindo o primeiro e o ltimo. 11 Permite a subdiviso recursiva de blocos. 11 Vantagens 22 Melhor aproveitamento dos endereos. 22 Incremento da flexibilidade da rede. 33 Suporta maior nmero de sub-redes. 33 Permite um nmero de estaes adequado s finalidades das sub-redes. 11 Arquitetura classful
Arquitetura e Protocolos de Rede TCP-IP

22 No suporta VLSM, exceto quando a topologia da inter-rede hierrquica. 22 Deve respeitar diversas restries. 22 Requer diversos cuidados de configurao. 22 A melhor estratgia no adotar VLSM. 11 Arquitetura classless 22 Suporta VLSM de forma completa e transparente. J conhecemos os principais conceitos e algumas regras associadas ao esquema de endereamento de super-redes. No entanto, algumas facilidades adicionais so suportadas pela arquitetura classless, tornando mais flexvel e eficiente o projeto de alocao de blocos de endereos s respectivas redes fsicas.

130

Embora as duas arquiteturas de endereamento suportem o conceito de sub-redes, a arquitetura classless ainda mais poderosa que a arquitetura classful: 11 A arquitetura classful restringe o uso da primeira e da ltima sub-rede criada. J a arquitetura classless no impe essa restrio, permitindo o uso de todos os sub-blocos, que sero atribudos s redes fsicas. 11 A arquitetura classful suporta apenas mscaras de tamanho fixo, no permitindo a aplicao recursiva do conceito de sub-redes. Por outro lado, na arquitetura classless, quando um bloco de endereos subdividido em sub-blocos, esses sub-blocos podem ser novamente subdivididos, gerando sub-blocos de tamanhos diferentes. Como esse processo de subdiviso pode ser realizado diversas vezes, a arquitetura classless suporta, consequentemente, o uso de mscaras diferentes, permitindo a aplicao recursiva do conceito de sub-redes. Por exemplo, o sub-bloco 200.10.28.0/23 da Figura 4.14, que possui 512 endereos, pode ser novamente subdividido em 4 blocos de 128 endereos. A Figura 4.17 apresenta essa nova subdiviso.
0 23 31 0 00000000 25 00 01 10 11 31 0000000 0000000 0000000 0000000

11001000 00001010 0001110 0 11001000 00001010 0001110 11001000 00001010 0001110 11001000 00001010 0001110
Figura 4.17 Subdiviso do bloco 200.10.28.0/23.

200.10.28.0/23

200.10.28.0/25 200.10.28.128/25 200.10.29.0/25 200.10.29.128/25

11001000 00001010 0001110

Essa flexibilidade resultado da implementao da funo de roteamento da arquitetura classless, que no apenas assume que as mscaras dos diversos sub-blocos podem ser difeMscara de tamanho varivel Estratgia de projeto de endereamento cujas sub-redes adotam mscaras com diferentes nmeros de bits nos prefixos de sub-rede.

rentes, mas tambm dispe de mecanismos para conhec-las. Logo, a adoo de mscaras diferentes no gera qualquer problema de roteamento. O termo mscaras de tamanho varivel (Variable-Length Subnet Mask VLSM) normalmente usado para indicar a adoo de mscaras diferentes. Como consequncia do uso de mscaras diferentes, os diversos sub-blocos criados podem possuir diferentes quantidades de endereos e, portanto, podem comportar diferentes nmeros de estaes. Assim, o tamanho da mscara a ser usada depende do nmero de VLSM a estratgia de projeto de endereamento cujas sub-redes adotam mscaras com diferentes nmeros de bits nos prefixos de sub-rede. Tal projeto de endereamento baseado em mscaras de tamanho varivel minimiza o desperdcio de endereos, pois as mscaras usadas so apropriadas ao nmero de estaes de cada rede fsica. Por exemplo, uma mscara de 27 bits pode ser atribuda a uma rede fsica com 25 estaes, enquanto uma mscara de 29 bits pode ser atribuda a uma rede fsica com apenas 5 estaes. Observe que, com mscara de tamanho fixo, a mscara de 27 bits deveria ser adotada em ambas as redes fsicas, gerando maior desperdcio de endereos.
Captulo 4 - Endereamento IP (parte 2)

redes fsicas existentes e do nmero de estaes em cada uma dessas redes. Portanto,

131

Considerando que as mscaras so apropriadas ao nmero de estaes das redes fsicas, VLSM prov maior flexibilidade ao projeto da estrutura de interconexo fsica da inter-rede e distribuio das vrias estaes nessas sub-redes. Portanto, um maior nmero de redes fsicas pode ser planejado, cada uma delas com um nmero de estaes adequado s respectivas finalidades. Em resumo, podemos citar como vantagens do projeto VLSM o melhor aproveitamento dos endereos e a maior flexibilidade para a rede. A arquitetura classless suporta VLSM de forma completa e transparente, ao contrrio da arquitetura classful, que no suporta VLSM, exceto quando a estrutura de interconexo da inter-rede adota uma topologia hierrquica em que as redes fsicas no definem qualquer caminho fechado. Mesmo nesse caso, diversas restries devem ser respeitadas e cuidados adicionais devem ser tomados na configurao dos roteadores. Com base na enorme dificuldade de assegurar e administrar tais restries e cuidados durante o ciclo de vida da inter-rede, a melhor estratgia no adotar VLSM na arquitetura classful.

Para desencorajar a adoo de VLSM na arquitetura classful, no sero apresentados detalhes das restries que devem ser atendidas e cuidados que devem ser tomados. Dessa forma, toda a discusso apresentada a seguir est no contexto da arquitetura classless.

Desvantagens do VLSM
11 Complexo gerenciamento das mscaras. 11 Difcil memorizao dos endereos.

Apesar das vantagens citadas, VLSM impe um razovel nvel de complexidade para criao e gerenciamento das diferentes mscaras, pois qualquer descuido pode gerar blocos de endereos sobrepostos. Alm disso, VLSM dificulta a memorizao das mscaras. Portanto, as desvantagens do projeto VLSM so a dificuldade de gerenciamento das mscaras e de memorizao dos endereos dos blocos. Como essas desvantagens tornam-se mais crticas medida que aumenta o nmero de mscaras diferentes, cuidados devem ser tomados para utilizar um nmero reduzido de mscaras diferentes e evitar a sobreposio de blocos.

Algoritmo de atribuio de blocos


Etapas do algoritmo de atribuio de blocos: 11 Iniciar com o maior bloco requerido. 11 Identificar a mscara que suporta o tamanho do bloco dessa iterao.
Arquitetura e Protocolos de Rede TCP-IP

11 Subdividir blocos disponveis em sub-blocos com o tamanho requerido nessa iterao. 11 Alocar os sub-blocos s redes fsicas que requerem os blocos dessa iterao. 11 Iniciar nova iterao com o prximo maior bloco requerido. O algoritmo de atribuio de blocos permite a adoo do nmero mnimo de diferentes mscaras, evitando a sobreposio de blocos. Para tal, considerando que uma instituio possui um determinado bloco de endereos, o algoritmo pressupe que o nmero total de redes fsicas conhecido, como tambm o nmero de estaes de cada uma dessas redes.

132

As etapas do algoritmo de alocao de blocos so as seguintes: 11 Encontrar, para cada rede fsica, o menor tamanho de bloco cujos endereos permitidos comportem o nmero de estaes da sub-rede. 11 Determinar o nmero de sub-redes para cada tamanho de bloco identificado. 11 Aplicar os passos a seguir, iniciando com os blocos associados s maiores sub-redes e concluindo com os blocos associados s menores sub-redes: 22 Identificar a mscara que suporta o tamanho do bloco considerado nesta iterao. 22 Subdividir o bloco disponvel (ou sub-blocos, no caso das iteraes que no tratam os maiores blocos) em sub-blocos cujas mscaras possuem o tamanho considerado nesta iterao. 22 Atribuir os primeiros sub-blocos s redes fsicas que requerem o tamanho de bloco considerado nesta iterao. 22 Iniciar uma nova iterao para o prximo conjunto de blocos de maior tamanho.

Exemplo VLSM
Exemplo de bloco de endereo 200.10.16.0/20. Sub redes 1 1 4 2 5
Figura 4.18 Sub-redes e blocos de endereos.

Estaes 400 300 100 90 50 40 2

Tamanho de bloco 512 512 128 128 64 64 4

Sub-redes 2 6 7 10

Tamanho de bloco 512 129 64 4

2 10

Suponha uma instituio que possua o bloco 200.10.16.0/20 e as redes fsicas indicadas na Figura 4.18. Inicialmente, deve-se determinar o tamanho dos blocos requeridos para cada rede fsica. Lembre-se de que o tamanho dos blocos deve ser uma potncia de 2. A Figura 4.18 tambm mostra os tamanhos dos blocos requeridos para cada rede fsica. Uma vez identificado o tamanho dos blocos, deve-se determinar o nmero de redes fsicas para cada tamanho de bloco identificado. Na mesma figura temos essa relao. Para seguir o algoritmo, devemos iniciar a atribuio a partir dos maiores blocos e concluir blocos s diversas redes fsicas.
Captulo 4 - Endereamento IP (parte 2)

com os menores blocos. A Figura 4.19 mostra uma possvel subdiviso e atribuio dos

133

200.10.16.0/23 200.10.18.0/23 200.10.20.0/23 200.10.16.0/20 200.10.22.0/23 200.10.24.0/23 200.10.26.0/23 200.10.28.0/23 200.10.30.0/23

200.10.20.0/25 200.10.20.128/25 200.10.21.0/25 200.10.21.128/25 200.10.22.0/25 200.10.22.128/25 200.10.23.0/25 200.10.23.128/25 200.10.24.0/26 200.10.24.64/26 200.10.24.128/26 200.10.24.192/26 200.10.25.0/26 200.10.25.64/26 200.10.25.128/26 200.10.25.192/26

200.10.25.192/30 200.10.25.196/30 200.10.25.200/30 200.10.25.204/30 200.10.25.208/30 200.10.25.212/30 200.10.25.216/30 200.10.25.220/30 200.10.25.224/30 200.10.25.228/30 200.10.25.232/30 200.10.25.236/30 200.10.25.240/30 200.10.25.244/30 200.10.25.248/30 200.10.25.252/30
Figura 4.19 Clculo das mscaras VLSM (exemplo 2).

Os blocos de 512 endereos requerem mscaras de 23 bits. Assim, devemos subdividir o bloco 200.10.16.0/20, que possui 4.096 (212) endereos, em sub-blocos de 23 bits. Observe que estamos deslocando 3 bits da mscara, gerando, assim, 8 (2 3) sub-blocos de 512 (29) endereos. Os sub-blocos 200.10.16.0/23 e 200.10.18.0/23 so atribudos s duas redes do exemplo que demandam blocos de 512 endereos. Os blocos de 128 endereos adotam mscaras de 25 bits. Subdividindo um bloco de 512 endereos, que possui 23 bits na mscara, em sub-blocos de 128 endereos, deslocamos 2 bits da mscara e obtemos 4 (2 2) sub-blocos. Portanto, para atribuir 6 blocos de 128 endereos, devemos subdividir 2 blocos de 512 endereos. Nessa subdiviso, obtemos 8 blocos de 128 endereos. A Figura 4.19 mostra a subdiviso dos blocos 200.10.20.0/23 e 200.10.22.0/23 em sub-blocos de 25 bits. Os sub-blocos 200.10.20.0/25, 200.10.20.128/25, 200.10.21.0/25, 200.10.21.128/25, 200.10.22.0/25 e 200.10.22.128/25 so atribudos para as seis sub-redes do exemplo que demandam blocos de 128 endereos. Os blocos de 64 endereos usam mscaras de 26 bits. Subdividindo um bloco de 512 endereos, que possui 23 bits na mscara, em sub-blocos de 64 endereos, deslocamos 3 bits da mscara e obtemos 8 (2 3) sub-blocos de 64 endereos. Logo, para atribuir 7 blocos de 64 endereos, devemos subdividir um bloco de 512 endereos. A Figura 4.19 mostra a subdiviso do bloco 200.10.24.0/23 em sub-blocos de 26 bits. Os sub-blocos 200.10.24.0/26, 200.10.24.64/26, 200.10.24.128/26, 200.10.24.192/26, 200.10.25.0/26, 200.10.25.64/26 e 200.10.25.128/26 so atribudos para as 7 sub-redes do exemplo, que demandam blocos de 64 endereos.
Arquitetura e Protocolos de Rede TCP-IP

Vale ressaltar que os blocos 200.10.23.0/25 e 200.10.23.128/25, que possuem 128 endereos, esto livres e poderiam ser subdivididos para gerar 4 blocos de 64 endereos. Observe que cada bloco de 128 endereos pode ser subdividido em dois blocos de 64 endereos. No entanto, a subdiviso destes blocos de 128 endereos ainda no seria suficiente para criar os 7 blocos requeridos. Assim, prefervel mant-los livres, reservando espao para possveis redes fsicas de 128 endereos que venham a existir no futuro. Por fim, os blocos de 4 endereos adotam mscaras de 30 bits. Subdividindo um bloco de 64 endereos, que possui 26 bits na mscara, em sub-blocos de 4 endereos, deslocamos 4 bits da mscara e obtemos 16 (24) sub-blocos de 4 endereos. Portanto, para atribuir 10 blocos de 4 endereos, conforme mostra a Figura 4.19, devemos subdividir

134

o bloco 200.10.25.192/26 em sub-blocos de 30 bits. Os sub-blocos 200.10.25.192/30, 200.10.25.196/30, 200.10.25.200/30, 200.10.25.204/30, 200.10.25.208/26, 200.10.25.212/30, 200.10.25.216/30, 200.10.25.220/30, 200.10.25.224/30 e 200.10.25.228/30 so atribudos para as dez sub-redes do exemplo, que demandam blocos de quatro endereos. Note que o mtodo BOX no pode ser aplicado neste exemplo, pois nele so divididos blocos que ultrapassam o limite de um octeto.

Exerccio de fixao 1 e Mscara de tamanho varivel


Considere o bloco 192.168.10.0/24, com diviso em 3 sub-redes. Tamanho das redes fsicas: 11 Uma rede com 120 mquinas. 11 Duas redes com 60 mquinas cada. Para calcular as sub-redes e as mscaras, necessrio ter um melhor entendimento do algoritmo. Para isso vamos desenvolver um exemplo de atribuio de blocos. Neste exemplo de mscara de tamanho varivel (VLSM), vamos calcular as sub-redes de acordo com as premissas a seguir: 11 Dividir o bloco 192.168.10.0/24 em 3 sub-redes; 11 Tamanho das redes fsicas: uma rede com 120 mquinas e duas redes com 60 mquinas cada. Usando o algoritmo de atribuio de blocos, teremos as etapas:
1. Qual o maior bloco requerido? 2. Qual ser a mscara desse bloco? 3. Como ficaria a primeira sub-rede? 4. Como ficaria a segunda sub-rede?

endereos para a rede com 120 mquinas.

; esta sub-rede

deve ser dividida novamente para comportar as duas redes fsicas que restam.
5. Qual o prximo maior bloco para suportar 60 mquinas? 6. Qual ser a mscara desse bloco? 7. Como sero estas sub-redes? 8. Como ficaro as sub-redes com a aplicao do mtodo BOX?

endereos.

Contiguidade de sub-redes
Sub-redes podem adotar qualquer estrutura de interconexo, com ou sem contiguidade. Sub-redes contguas so um projeto de endereamento no qual todas as sub-redes oriundas de um mesmo endereo de rede (classe A, B ou C) devem se comunicar, sem que os datagramas atravessem redes fsicas com outro endereo de rede. Na arquitetura classful as diversas sub-redes fsicas devem ser contguas, no podendo existir pores isoladas. J na arquitetura classless, as diversas sub-redes (sub-blocos)

podem adotar qualquer estrutura de interconexo, com ou sem contiguidade, podendo se comunicar atravs de redes fsicas que pertencem a outros blocos de endereos.

135

Captulo 4 - Endereamento IP (parte 2)

Por exemplo, a Figura 4.20 mostra uma atribuio vlida na arquitetura classless, em que as redes N1, N2, N3 e N4, todas oriundas do bloco 200.10.16.0/20, so separadas pela rede N5, que no pertence ao bloco 200.10.16.0/20.
200.10.16.0/23 200.10.18.0/23

N1 R1 N5
150.20.1.0/27

N3 R2

N2
200.10.28.0/25

N4
200.10.28.128/25

Figura 4.20 Exemplo de contiguidade de sub-redes.

Observe que as redes N1 e N3 adotam mscaras diferentes daquelas das redes N2 e N4.

Agregao de rotas
11 Roteadores externos conhecem apenas a rota para o bloco agregado. 11 Reduz tamanho da tabela de roteamento. Agregao de rotas o processo que reduz o tamanho das tabelas de roteamento atravs da explorao do conceito de agregao de blocos. Neste processo, as rotas para cada

sub-bloco individual so representadas por uma nica rota que aponta para o endereo do bloco agregado. Generalizando, o processo de agregao de rotas aquele em que roteadores externos (qualquer roteador no conectado s redes para as quais os sub-blocos esto atribudos) no precisam conhecer rotas para cada sub-bloco individual, mas apenas para o endereo do bloco agregado. Portanto, a arquitetura classless explora o conceito de agregao de blocos para reduzir o tamanho das tabelas de roteamento. Por exemplo, na Figura 4.21, o roteador R2 conhece apenas a rota via R1 para o bloco agregado 200.10.28.0/23, ao invs de uma rota particular para cada um dos seus sub-blocos (200.10.28.0/25, 200.10.28.128/25, 200.10.29.0/25 e 200.10.29.128/25), atribudos s redes N1, N2, N3 e N4. O fato do bloco 200.10.28.0/23 ser subdividido em sub-blocos transparente para o roteador R2.
Tabela de roteamento Estrutura de dados mantida por todas as estaes e roteadores de uma inter-rede. A tabela de roteamento contm informaes sobre as rotas para alcanar as possveis redes ou estaes de uma inter-rede.

136

Arquitetura e Protocolos de Rede TCP-IP

200.10.28.128/25

200.10.29.0/25

N2 R1 N1
200.10.28.0/25

N3

N4
200.10.29.128/25

200.10.16.0/23

N5
200.10.28.0/23

Figura 4.21 Exemplo de agregao de rotas.

R2

Arquiteturas classful e classless


Arquitetura classful: 11 Probe a atribuio da primeira e da ltima sub-rede. 11 Maior desperdcio de endereos. 11 Menor flexibilidade no projeto da rede. Arquitetura classless : 11 Permite o uso de todas as sub-redes. 11 Menor desperdcio de endereos. 11 Maior flexibilidade no projeto da rede.

Podemos citar como desvantagens do projeto de endereamento baseado em mscaras de tamanho fixo o desperdcio de endereos e a reduo da flexibilidade da rede. Observe que essas desvantagens so mais crticas na arquitetura classful, pois a primeira e a ltima sub-rede no podem ser usadas, o que aumenta ainda mais o desperdcio de endereos e reduz a flexibilidade do projeto.

Endereos privados
Conjuntos de endereos reservados que podem ser usados livremente por qualquer organizao. Classe A
Figura 4.22 Faixas de endereos privados.

q
Captulo 4 - Endereamento IP (parte 2)

Endereos privados 10.0.0.0 10.255.255.255 172.16.0.0 172.31.255.255 192.168.0.0 192.168.255.255

B C

137

O crescimento exponencial da internet requer mecanismos que permitam aproveitar melhor o espao de endereamento global, para assim evitar a indisponibilidade de endereos em um futuro prximo. Nesse sentido, o conceito de endereo privado foi introduzido, provendo um conjunto de endereos reservados que podem ser usados livremente por qualquer organizao, sem autorizao prvia. Essas faixas de endereos esto representadas na Figura 4.22. Observe que um nico endereo de rede classe A reservado. No entanto, para as classes B e C, o nmero bem maior, sendo reservados 16 endereos de rede classe B e 256 endereos de rede classe C. Ver RFC 1918.

Endereos pblicos x privados


Endereos pblicos: 11 Atribudos oficialmente a uma organizao por uma instituio autorizada da internet. 11 Possuem unicidade global. 11 Devem ser solicitados por organizaes que desejam conectar-se internet. Endereos privados: 11 No so oficialmente atribudos por instituies autorizadas da internet. 11 Possuem unicidade local, sendo nicos apenas na inter-rede privada. Podemos dizer que o espao de endereos IPv4 dividido em dois:

11 Endereos pblicos possuem unicidade global e somente podem ser atribudos para uma organizao por uma instituio autorizada da internet. Assim, qualquer organizao que necessite acessar a internet deve obter endereos pblicos de uma instituio autorizada. 11 Endereos privados podem ser usados livremente por qualquer organizao porque no so oficialmente atribudos por instituies autorizadas da internet. Possuem apenas unicidade local, ou seja, so nicos apenas na inter-rede privada, mas no identificam de forma nica as estaes na internet. Como endereos privados no possuem unicidade global, as diversas estaes e redes privadas no devem ser visveis externamente na internet. Logo, informaes de roteamento sobre redes privadas no podem ser propagadas na internet. Alm disso, datagramas IPv4 com endereos privados trafegam apenas internamente e no devem, portanto, ser roteados para fora da inter-rede privada.

Endereos privados motivao


11 Escassez de endereos IPv4 disponveis.
Arquitetura e Protocolos de Rede TCP-IP

11 Mudanas de provedor de internet (ISP). 11 RFC 1918 endereos privados 22 10.0.0.0 a 10.255.255.255 (10/8) 22 172.16.0.0 a 172.31.255.255 (172.16/12) 22 192.168.0.0 a 192.168.255.255 (192.168/16) 11 Segurana

138

Classe A
Figura 4.23 Notao CIDR para endereos privados.

RFC 1918 10.0.0.0 10.255.255.255 172.16.0.0 172.31.255.255 192.168.0.0 192.168.255.255

CIDR 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

B C

11 172.16.0.0 172.31.255.255: 172.16.0.0/12 22 De onde vem o /12? 11 12 bits em comum que definem a rede 10101100 . 00010000 . 00000000 . 00000000 172.16.0.0 10101100 . 00011111 . 11111111 . 11111111 172.31.255.255 ------------------------------------------------------------10101100 . 00010000 . 00000000 . 00000000 172.16.0.0/12 A faixa de endereos 172.16.0.0/12 composta de um bloco de 16 redes Classe B, cujos

endereos de redes so: 172.16.0.0/16, 172.17.0.0/16, 172.18.0.0/16, at 172.31.0.0/16, porque o prefixo de rede original deste bloco /12, que significa o primeiro octeto e os primeiros 4 bits do segundo octeto. Variando os ltimos 4 bits do segundo octeto de 0000 at 1111 obtemos os valores decimais de 16 at 31 no segundo octeto. Benefcios: 11 Otimiza o uso do espao de endereos IPv4. 11 Prov um mecanismo de segurana. Limitaes:
NAT Tcnica de reescrever endereos IPv4 nos cabealhos e dados das aplicaes, conforme poltica definida, baseada no endereo IPv4 de origem e/ou destino dos pacotes que trafegam pelos equipamentos que implementam NAT.

11 Estaes e redes privadas no podem ser visveis externamente na internet. 11 Datagramas com endereos privados trafegam apenas na inter-rede privada. Soluo: 11 Network Address Translation (NAT) Estaes privadas podem se comunicar com outras estaes (pblicas ou privadas) dentro da inter-rede privada, mas no possuem conectividade IP com qualquer estao fora da inter-rede privada. Embora no possuam conectividade direta, estaes privadas podem acessar servios externos por meio de tradutores de endereos, comumente implementados por solues Network Address Translation (NAT ). A vantagem da adoo de endereos privados para a internet conservar o espao de endereamento global, no atribuindo endereos pblicos onde a unicidade global no requerida, ou atribuindo blocos relativamente pequenos de endereos pblicos onde a unicidade global pode ser contornada com o uso de solues NAT. Alm disso, como estaes e redes privadas no so visveis externamente na internet, endereos privados tambm so adotados como mecanismo de segurana.
Captulo 4 - Endereamento IP (parte 2)

139

Exemplo NAT
Interno Externo Interno Externo

10.0.0.2

Internet

10.0.0.2

Internet

RTA SA 10.0.0.3

128.23.2.2

RTA

SA 179.9.8.80

128.23.2.2

10.0.0.3 10.0.0.3

10.0.0.3

Endereo local interno


10.0.0.3

Endereo global interno


179.9.8.80

DA
128.23.2.2

SA
10.0.0.3 ... Data

DA
128.23.2.2

SA
179.9.8.80 ... Data

Cabealho IP

Cabealho IP
Figura 4.24 Exemplo NAT (parte 1).

Neste exemplo, o endereo privado 10.0.0.3 traduzido pelo roteador NAT (RTA) para o endereo pblico 179.9.8.80, quando o pacote enviado para a internet. Na volta, o processo inverso realizado no mesmo ponto.

140

Arquitetura e Protocolos de Rede TCP-IP

Interno

Externo

Interno

Externo

10.0.0.2

Internet

10.0.0.2

Internet

RTA DA 10.0.0.3

128.23.2.2

RTA

DA 179.9.8.80

128.23.2.2

10.0.0.3 10.0.0.3

10.0.0.3

NAT Table
Inside Local IP Adress 10.0.0.3 Inside Global IP Adress Outside Global IP Adress 179.9.8.80 128.23.2.2

DA
10.0.0.3

SA
128.23.2.2 ... Data

DA
179.9.8.80

SA
128.23.2.2 ... Data

Cabealho IP
Figura 4.25 Exemplo NAT (parte 2).

Cabealho IP

Na volta, o processo NAT realiza a traduo de um endereo IPv4 de destino pblico para um endereo IPv4 de destino privado. No exemplo acima, o endereo pblico 179.9.8.80 traduzido para o endereo privado 10.0.0.3. NAT permite que voc tenha mais endereos IPv4 do que os que voc tem atribudos, usando o espao de endereamento do RFC 1918, mesmo com uma mscara restrita. Entretanto, pela necessidade de usar os endereos IPv4 pblicos para a internet, NAT limita o nmero de hosts acessando a internet simultaneamente, dependendo do nmero de hosts permitido pela sua mscara dos endereos IPv4 pblicos.

141

Captulo 4 - Endereamento IP (parte 2)

Tipos de NAT
11 Esttico associa um endereo privado a um endereo pblico em uma relao um para um. Particularmente til no caso de servios internos serem acessveis externamente. 11 Dinmico associa um grupo de endereos privados a um grupo de endereos pblicos em uma relao muitos para muitos. 11 Sobrecarga (Overloading) uma forma de associao de mltiplos endereos IP internos a um nico endereo externo usando diferentes portas TCP/UDP. Tambm conhecido como Port Address Translation (PAT), NAT de endereo nico ou NAT multiplexado em portas. 11 Sobreposio (Overlapping) quando os endereos IP usados na sua rede interna tambm so usados na rede externa, o roteador deve manter uma tabela destes endereos para que consiga intercept-los e troc-los por endereos IP pblicos nicos em ambas as direes. Vale salientar que o roteador NAT deve traduzir os endereos privados para endereos pblicos, assim como traduzir os endereos pblicos para endereos que sejam nicos dentro da rede. Isto pode ser feito atravs do NAT esttico ou usando DNS com NAT dinmico. Este ltimo caso somente ocorre quando necessrio interconectar duas redes privadas com endereos que se superpem. Exemplo: suponha que o mesmo rgo pblico utilize num prdio a rede privada 172.16.0.0/16, e em outro prdio a mesma faixa de endereos para outra rede fsica (os dois prdios no esto interligados).

Se for necessrio interligar as duas redes fsicas dos dois prdios, duas alternativas so possveis:
1. Redefinir os endereos privados de uma das redes para evitar a sobreposio; 2. Usar o esquema de NAT Overlapping, que no exige a mudana de endereos de

nenhuma das duas redes fsicas.

NAT Esttico
11 Traduo esttica (um para um) na qual um mapeamento especificamente configu rado numa tabela. 11 Um Inside Local Address especfico mapeado para um Inside Global Address especfico.

142

Arquitetura e Protocolos de Rede TCP-IP

10.1.1.5

NAT Table
Inside Local IP Adress 10.1.1.7 Inside Global IP Adress 171.70.2.10

10.1.1.6

RTA Internet E0 10.1.1.1 BRI0 171.70.1.1

NAT Router

Figura 4.26 NAT Esttico.

Web Server
10.1.1.7
No exemplo da Figura 4.26, o endereo local 10.1.1.7 mapeado para o endereo global 171.70.2.10.

Comandos de configurao de NAT Esttico


11 Passo 1: define o mapeamento esttico

Router(config)# ip nat inside source static local-ip global-ip


11 Passo 2: especifica a interface interna

Router(config)# interface type number Router(config-if)# ip nat inside


11 Passo 3: especifica a interface externa

Router(config)# interface type number Router(config-if)# ip nat outside

143

Captulo 4 - Endereamento IP (parte 2)

e0
10.1.1.1 10.1.1.2 SA 10.1.1.2

s0
192.168.1.1 SA 192.168.1.2 Internet

Figura 4.27 Exemplo de configurao de NAT Esttico.

NAT Dinmico
11 Associao dinmica dos IPs privados a endereos pblicos disponveis de um conjunto definido. 11 Relao muitos para muitos.

10.1.1.5

10.1.1.6

RTA Internet E0 10.1.1.1 BRI0 171.70.1.1

Arquitetura e Protocolos de Rede TCP-IP

NAT Router

Web Server
10.1.1.7

Figura 4.28 NAT Dinmico.

144

Figura 4.29 Tabela NAT: exemplo da Figura 4.28.

IP Local Interno 10.1.1.0/24 O NAT dinmico funciona assim:

IP Global Interno 200.143.190.1-254

11 Uma rede interna foi configurada com endereos IPv4 privados (RFC 1918) e no roteveis, j que no so nicos, como por exemplo, a rede 10.1.1.0/24 mostrada na tabela NAT; 11 O roteador compatvel com o NAT configurado com a faixa de endereos IPv4 pblicos da empresa, como por exemplo a rede 200.143.190.0/24 mostrada na tabela NAT; 11 Um computador da rede interna tenta se conectar a um computador da rede externa, como, por exemplo, um servidor de internet; 11 O roteador recebe o pacote do computador da rede interna; 11 O roteador salva o endereo IPv4 privado no rotevel do computador em uma tabela de traduo de endereos. O roteador substitui o endereo IPv4 privado no rotevel do computador de origem pelo primeiro endereo IPv4 pblico disponvel na faixa de endereos IP exclusivos. A tabela de traduo agora tem um mapeamento do endereo IPv4 privado no rotevel do computador, correspondente a um dos endereos IPv4 pblicos exclusivos; 11 Quando um pacote volta do computador de destino, o roteador confere o endereo de destino no pacote. Ele ento busca na tabela de traduo de endereos o computador da rede interna ao qual o pacote pertence. Ele muda o endereo de destino para um dos endereos salvos na tabela de traduo, e envia o pacote para aquele computador. Se ele no encontrar um correspondente na tabela, descartar o pacote; 11 O computador recebe o pacote do roteador. O processo se repete enquanto o computador estiver se comunicando com o sistema externo; 11 O mesmo processo ser realizado para todos os computadores da rede interna.

Configurando NAT Dinmico


11 Passo 1: criar um pool de endereos globais

Router(config)# ip nat pool name start-ip end-ip {netmask netmask | prefix-length prefix-length}
11 Passo 2: criar uma Access Control List (ACL) para identificar hosts para traduo

Router(config)#access-list access-list-number permit source [sourcewildcard]


11 Passo 3: configurar NAT Dinmico baseado no endereo de origem

Router(config)# ip nat inside source list access-list-number pool name


11 Passo 4: especificar uma interface interna

Router(config-if)# ip nat inside


11 Passo 5: especificar uma interface externa

Router(config-if)# ip nat outside


Em um roteador Cisco, as entradas na tabela NAT dinmicas so armazenadas, por default, por 24 horas. Assim que o prazo de validade das entradas expirar, hosts externos no sero mais capazes de acessar os hosts internos, at que uma nova entrada seja criada na tabela.

145

Captulo 4 - Endereamento IP (parte 2)

A entrada na tabela s pode ser criada a partir da rede interna. Um timeout de 24 horas relativamente longo. Para ajustar o tempo mximo de traduo, use o seguinte comando:

Router(config)#ip nat translation timeout seconds


Embora NAT no seja um firewall seguro, pode prevenir que intrusos iniciem conexes com os hosts internos. NAT tem o efeito de esconder a estrutura interna da rede, evitando que os usurios externos possam ver os endereos dos hosts internos.

10.1.1.2

O endereo IP do provedor 179.9.8.0/24

Tabela de roteamento: 179.9.8.0/24 via 192.168.1.1


ISP

e0
10.1.1.1

s0
Internet 192.168.1.1

Traduz para estes


10.1.0.2

endereos externos

Incio

Endereo IP de origem deve coincidir aqui

Figura 4.30 Exemplo de NAT Dinmico.

Neste exemplo, a rede interna 10.1.0.0/16 mapeada nos endereos externos de 179.9.8.80 a 179.9.8.95. O ltimo comando define uma lista de acesso de nmero 1. Nesse comando usado um wild card, que o complemento para 255 da mscara de sub-rede. O octeto com valor zero obriga que o valor seja exatamente igual ao do endereo IP. O octeto com valor 255 permite qualquer valor de endereo. No exemplo acima, os endereos IP permitidos so todos com valores de 10.1.0.0 a 10.1.255.255. Os dois primeiros octetos tm que ser 10.1 e os dois ltimos podem ter qualquer valor.
Arquitetura e Protocolos de Rede TCP-IP

PAT
11 Com Port Address Translation (PAT), vrios endereos IP privados podem ser traduzidos para um nico endereo pblico (muitos para um). 11 Tambm denominado NAT overload. 11 Resolve a limitao do NAT Esttico, que era um para um.

146

Interno

Externo

10.0.0.3

128.23.2.2

SA

DA
Internet

10.0.0.3:1444 128.23.2.2:80 SA DA

10.0.0.2:1331 128.23.2.2:80

202.6.3.2
Figura 4.31 Conceito de PAT.

10.0.0.2
11 Permite o uso de um nico endereo IPv4 pblico e define-o para at 65.535 hosts internos (4 mil um nmero mais realista); 11 Modifica a porta de origem TCP/UDP para rastrear endereos de hosts internos; 11 Rastreia e traduz SA (Source Address Endereo de origem), DA (Destination Address Endereo de destino) e SP (Source Port Porta TCP ou UDP de origem), que definem de maneira nica cada conexo, para cada fluxo de trfego; 11 NAT overload funcionar desde que os nmeros das portas globais internas sejam nicos para cada host local interno; 11 Por exemplo, se os hosts em 10.1.1.5 e 10.1.1.6 usarem ambos a porta TCP 1234, o roteador NAT pode criar entradas estendidas na tabela, mapeando 10.1.1.5:1234 para 171.70.2.2:1234 e 10.1.1.6:1234 para 171.70.2.2:1235; 11 De fato, implementaes de NAT no tentam necessariamente preservar o nmero de porta original. No exemplo a seguir, os pacotes esto indo no sentido de Inside para Outside.

147

Captulo 4 - Endereamento IP (parte 2)

Interno

Externo

128.23.2.2 10.0.0.3 Internet Tabela NAT/PAT mantm traduo de: DA, SA, SP 202.6.3.2

10.0.0.2

SA 10.0.0.3

DA 202.6.3.2

DP 80

SP 1331 Data

SA

DA

DP SP 80 3333 TCP/UDP Header DP SP Data Data

179.9.8.80 202.6.3.2 IP Header

IP Header TCP/UDP Header SA 10.0.0.2 DA DP SP 1555 Data SA

DA

128.23.3.2 80

179.9.8.80 128.23.2.2 80 2222 IP Header TCP/UDP Header

IP Header TCP/UDP Header

Figura 4.32 Exemplo de PAT (parte 1).

148

Arquitetura e Protocolos de Rede TCP-IP

Interno

Externo

128.23.2.2 10.0.0.3 Internet

Tabela NAT/PAT mantm traduo de: SA (DA), DA (SA), DP (SP) 10.0.0.2 202.6.3.2

DA 10.0.0.3

SA 202.6.3.2

DP 1331

SP 80 Data

DA

SA

DP 3333

SP 80 Data

179.9.8.80 202.6.3.2 IP Header

IP Header TCP/UDP Header DA 10.0.0.2 SA DP SP 80 Data DA

TCP/UDP Header DP SP 80 Data

SA

128.23.3.2 1555

179.9.8.80 128.23.2.2 2222 IP Header

IP Header TCP/UDP Header


Figura 4.33 Exemplo de PAT (parte 2).

TCP/UDP Header

No exemplo acima, os pacotes esto indo no sentido de Outside para Inside. A tabela NAT a mesma, mas agora o processo inverso.

Configurando PAT
Neste exemplo, um nico endereo IPv4 pblico utilizado, usando PAT e portas de origem para diferenciao entre os diversos fluxos de trfego.

Router(config)#access-list 1 permit 10.0.0.0 0.0.255.255


Figura 4.34 Configurando PAT (parte 1).

Router(config)#ip nat pool nat-pool2 179.9.8.80 netmask 255.255.255.240 Router(config)# ip nat inside source list 1 pool nat-pool2 overload
Estabelece a traduo sobrecarga e especifica o endereo IP que ser usado, conforme especificado no pool.
Captulo 4 - Endereamento IP (parte 2)

149

192.168.3.7

E0:192.168.3.1

Internet SO:172.16.2.1 E1:192.168.2.1

192.168.2.4

Este um exemplo diferente, utilizando o endereo IP da interface exterior ao invs de especicar um endereo IP
Figura 4.35 Configurando PAT (parte 2).

Verificando tradues NAT


RTX# show ip nat translations verbose Pro Inside global Inside local 192.168.0.21:1536 use 00:00:06, Outside local 10.0.0.5:1536 Outside global 10.0.0.5:1536

icmp 42.0.0.55:1536 create 00:00:09, flags:

left 00:0053;

extended, use_count: 0

Arquitetura e Protocolos de Rede TCP-IP

Router # show ip nat translations Pro tcp tcp Inside global 192.168.2.1:11003 192.168.2.1:1067 Inside local 10.1.1.1:11003 10.1.1.1:1067 Outside local 172.16.2.2:23 172.16.2.3:23 Outside global 172.16.2.2:23 172.16.2.3:23

SanJose1# show ip nat statistics Total active translations: 3 (3 static, 0 dynamic, 0 extended) Outside interfaces:

150

Serial0/0 Inside interfaces: FastEthernet0/0 Hits: 4 misses: 0


Figura 4.36 Verificando tradues NAT.

Expired translations: 0 Dynamic mappings:


A palavra-chave verbose pode ser usada com este comando para mostrar mais informaes, incluindo o tempo restante para uma entrada dinmica.

Resoluo de problemas em tradues NAT


Router# debug ip nat NAT: s=10.1.1.1->192.168.2.1, d=172.16.2.2 [0] NAT: s=172.16.2.2, d=192.168.2.1->10.1.1.1 [0] NAT: s=10.1.1.1->192.168.2.1, d=172.16.2.2 [1] NAT: s=10.1.1.1->192.168.2.1, d=172.16.2.2 [2] NAT: s=10.1.1.1->192.168.2.1, d=172.16.2.2 [3] NAT*: s=172.16.2.2, d=192.168.2.1->10.1.1.1 [1] NAT: s=172.16.2.2, d=192.168.2.1->10.1.1.1 [1] NAT: s=10.1.1.1->192.168.2.1, d=172.16.2.2 [4] NAT: s=10.1.1.1->192.168.2.1, d=172.16.2.2 [5]
Figura 4.37 Depurao (debug) em tradues NAT.

NAT: s=10.1.1.1->192.168.2.1, d=172.16.2.2 [6] NAT: s=172.16.2.2, d=192.168.2.1->10.1.1.1 [2]


Os pacotes restantes trafegaro pelo caminho rpido se existir uma entrada no cache. 11 S o endereo de origem; 11 a.b.c.d -> w.x.y.z o endereo que foi traduzido; 11 d o endereo de destino. O valor entre colchetes o nmero de identificao IP. Esta informao pode ser til para debug, pois permite comparar os dados do debug com os dados de outras fontes, tal como pacotes de trace originados por sniffers.

Limpando tradues NAT


Uma vez que NAT habilitado, nenhuma mudana pode ser feita no seu processo enquanto tradues dinmicas estiverem ativas. Use o comando clear ip nat translation * para limpar a tabela NAT.

q
Captulo 4 - Endereamento IP (parte 2)

router# show ip nat translations Pro Inside global global tcp 192.168.2.1:11003 tcp 192.168.2.1:11067 router# 10.1.1.1:11003 10.1.1.1:11067 172.16.2.2:23 172.16.2.3:23 172.16.2.2:23 172.16.2.3:23 Inside local Outside local Outside

151

router# clear ip nat trans * router# show ip nat trans router# <nothing>
Tendo sido habilitada a traduo NAT num roteador ou servidor, enquanto tradues dinmicas estiverem ativas, nenhuma modificao pode ser feita, sob pena de perder sesses TCP/UDP em andamento e, por conseguinte, prejudicar as aplicaes que esto usando as tradues NAT. No existindo tradues ativas, a tabela NAT pode ser limpa atravs do comando:
Figura 4.38 Limpando tradues NAT.

clear ip nat translation *


NAT Overlaping no ser tratado neste curso porque envolve uma situao particular, na qual duas redes privadas usando a mesma faixa de endereos devem ser interligadas, e o administrador da rede optou por no refazer o esquema de endereamento em um primeiro momento.

Endereos IPv6
Objetivo: 11 Identificar, de forma nica e individual, cada dispositivo da inter-rede TCP/IP. 11 Inicialmente denominado IPng (Next Generation). Representao: 11 8 grupos de 16 bits = 128 bits. 11 Permite at 2128 endereos. Os 32 bits dos endereos IPv4 so divididos em quatro grupos de 8 bits cada, separados por ., escritos com dgitos decimais.

192.168.10.1
A representao dos endereos IPv6, divide o endereo em oito grupos de 16 bits, separando-os por :, escritos com dgitos hexadecimais.
Figura 4.39 Representao de endereos IPv4 e IPv6.

2001:0DB8:AD1F:25E2:DFA1:F0C4:5311:84C1
Vamos discutir inicialmente o porqu de um novo esquema de endereamento. 11 Arquitetura classful x classless. 11 Administrao endereos IPv4 IANA.
Arquitetura e Protocolos de Rede TCP-IP

11 ltimos 5 blocos /8 distribudos em 03/02/2011.

Figura 4.40 Registros regionais da internet. Fonte: IANA.

152

Vimos que a arquitetura classful, originalmente concebida, teve de ser abandonada por causa do crescimento da internet e da prpria estrutura de classes que se mostrou inefi ciente na atribuio de endereos para as diferentes redes fsicas. Em funo da necessidade de evitar o desperdcio de endereos IPv4 e seu rpido esgotamento, foi amplamente adotada a arquitetura classless. Mas essa soluo apenas adia o inevitvel, uma vez que o crescimento desordenado da internet exigia cada vez mais quantidades maiores de endereos IPv4, muito acima da capacidade de endereamento do IPv4 com apenas 32 bits. Para se ter uma ideia do problema de esgotamento de endereos IP, vamos dar um panorama da situao atual da atribuio de endereos IPv4. O rgo encarregado de atribuir endereos IPv4 o Internet Assigned Numbers Authority (IANA) Autoridade de Atribuio de Nmeros na Internet, que delega essa atribuio para 5 grandes Regional Internet Registry (RIR) Registro Regional da Internet, conforme mostra a Figura 4.40. No Brasil, estamos situados na rea do LACNIC. Cada RIR possui certa quantidade de blocos /8 (16 milhes de endereos) para distribuir aos pases da sua rea de atuao. O RIR distribui os blocos de acordo com a demanda. Em geral, so distribudos pedaos dos blocos de endereos (sub-blocos) de acordo com a necessidade devidamente justificada pelo usurio.

w
A situao da distribuio atualizada desses blocos pode ser vista digitando Contador do Esgotamento do IPv4 em sua ferramenta de busca. Por ele pode-se verificar que o RIR APNIC j no tem mais endereos para distribuir desde 15/04/2011. Idem para o IANA, uma vez que todos os blocos IPv4 j foram distribudos para os 5 RIR desde 03/02/2011. Os demais RIR tm seu esgotamento de endereos IPv4 previsto para os prximos anos.

Prevendo a escassez de endereos IPv4, a Microsoft comprou um bloco de endereos da Nortel (digite em seu buscador Microsoft foge da implantao do IPv6). Esta notcia prenuncia a existncia de um mercado negro de endereos IPv4.

Formato do endereo IPv6


Os endereos IPv6 so divididos em grupos de 16 bits separados por : (diferente do IPv4, em que os octetos so separados por .) e representados em hexadecimal (decimal no caso do IPv4). A hierarquia a mesma do endereo IPv4: prefixo de rede e identificador de estao. No existem classes de endereos com restrio de quantidade de octetos para rede e estao. A mscara de rede/sub-rede sempre representada no formato de contagem de bits.

Distribuio de endereos IPv6


Blocos IPv6 so distribudos de forma hierrquica: 11 Cada RIR recebe da IANA um bloco /12. 11 Os provedores recebem dos RIRs blocos /32. 11 Os clientes dos provedores recebem blocos /48 ou /56. 11 Cliente domstico recebe bloco /64 (apenas 1 rede). A distribuio de blocos IPv6 feita de forma hierrquica: 11 Cada RIR recebe da IANA um bloco /12; 11 Os provedores recebem dos RIRs blocos /32; 11 Os clientes dos provedores devem receber blocos /48 ou /56, dependendo das suas necessidades.

Um cliente s deve receber um bloco /64 se tiver certeza de que apenas uma rede atende s suas necessidades (exemplo: usurios domsticos). Isto significa que no devem existir sub-redes IPv6 com prefixos de rede maiores que /64.

153

Captulo 4 - Endereamento IP (parte 2)

Os provedores devem entregar aos seus clientes blocos variando entre /48 e /56, dependendo de suas necessidades: 11 Um bloco /48 pode ser dividido em at 65.536 sub-redes diferentes; 11 Um bloco /56 pode ser dividido em at 256 sub-redes diferentes.

Implantao do IPv6
No mbito acadmico, existem diversos grupos de pesquisa que trabalham no desenvolvimento de projetos relacionados ao protocolo IPv6, destacando-se os projetos: 11 Rede CLARA (Cooperao Latino-Americana de Redes Avanadas); 11 GANT2; 11 Internet2; 11 KAME; 11 USAGI (Universal playground for IPv6). No Brasil, a Rede Nacional de Ensino e Pesquisa (RNP) tem se destacado desde o projeto Br6Bone. Atualmente toda a rede da RNP est apta a operar com o protocolo IPv6 em modo nativo, alm de fornecer conexo IPv6 a instituies localizadas nos estados que se beneficiam de sua rede. A RNP tambm possui conexo IPv6 nativa com outras redes acadmicas e comerciais.

Representao do endereo IPv6


Abreviao de zeros contnuos s pode ser feita uma vez em cada endereo IPv6. Certo: 11 2001:0000:0000:0058:0000:0000:0000:0320 ou 11 2001::58:0:0:0:320 ou 11 2001:0:0:58::320 Errado: 11 2001::58::320 Como foi dito, o endereo IPv6 representado por 8 grupos de 16 bits separados por :. Nesta representao permitido utilizar caracteres maisculos e minsculos e regras de abreviao como: 11 Omitir os zeros esquerda; 11 Representar os zeros contnuos por ::. Exemplos:
Arquitetura e Protocolos de Rede TCP-IP

11 2001:0db8:0000:130F:0000:0000:087C:140b ou 11 2001:0db8:0:130F::087C:140b

A abreviao de zeros contnuos s pode ser realizada uma nica vez, caso contrrio poder haver ambiguidade na representao do endereo. Por exemplo, o endereo: 2001:0000:0000:0058:0000:0000:0000:0320 pode ser abreviado como: 2001::58:0:0:0:320 ou 2001:0:0:58::320, mas nunca na forma 2001::58::320 (errada!).

154

11 Prefixos de rede usam contagem de bits. 11 Formato: endereo-IPv6/tamanho do prefixo. A representao dos prefixos de rede continua do mesmo modo que no IPv4, utilizando a contagem de bits. Esta notao representada da forma endereo-IPv6/tamanho do

prefixo, onde tamanho do prefixo um valor decimal que especifica a quantidade de bits contguos esquerda do endereo, que compreendem o prefixo. Exemplos: 11 2001:db8:3003::/48 11 2001:db8:3003:2:a:20ff:fe18:4c/64 No h qualquer tipo de definio de classes de endereos como no IPv4.

Tipos de endereos IPv6


11 Unicast. 11 Multicast. 11 Anycast. No IPv6 foram definidos 3 tipos de endereos: 11 Unicast identifica apenas uma nica interface; 11 Multicast identifica um grupo de interfaces e o pacote enviado para todas as interfaces do grupo; todos os ns devem suportar obrigatoriamente multicast; substitui o endereo broadcast: multicast all nodes on link : FF02::1;

11 Anycast tambm identifica um grupo de interfaces, porm o pacote entregue apenas para a interface do grupo mais prxima do n de origem.

Transio de IPv4 para IPv6


Tcnicas de transio IPv4 para IPv6:

Figura 4.41 Tcnicas de transio de IPv4 para IPv6.

Pilha dupla

Tunelamento

Traduo
Captulo 4 - Endereamento IP (parte 2)

Como no possvel substituir de uma hora para outra o protocolo IPv4 pelo protocolo IPv6 em toda a internet, haver necessidade de convivncia entre os dois protocolos.

155

Figura 4.42 Convivncia entre IPv4 e IPv6.

Para que a adoo do IPv6 seja bem-sucedida, necessrio que seja realizada de forma gradual e transparente para a maioria dos usurios. Desta forma, na fase inicial da transio haver um perodo de coexistncia entre os dois protocolos, em que redes IPv4 precisaro comunicar-se com redes IPv6 e vice-versa. Com o intuito de facilitar esse processo, foram desenvolvidas tcnicas para manter a compatibilidade de toda a base das redes instaladas sobre IPv4 com o novo protocolo IPv6. As tcnicas de transio podem ser classificadas nas seguintes categorias: 11 Pilha dupla prov o suporte a ambos os protocolos no mesmo dispositivo. 11 Tunelamento permite o trfego de pacotes IPv6 sobre estruturas de rede IPv4, ou o inverso. 11 Traduo permite a comunicao entre ns com suporte apenas a IPv6 com ns que suportem apenas IPv4 e vice-versa.

Ausncia de NAT no IPv6


11 Em IPv6 no existem endereos privados. 11 No h necessidade de usar NAT em IPv6. 11 Os usurios devem usar redes com prefixo mximo /64, sem sub-redes. 11 Sub-redes s de prefixos menores que /64 (/48 ou /56). 11 No haver escassez de endereos IPv6 para as redes fsicas.

Em IPv6, no so definidos endereos privados da mesma forma que em IPv4. A ideia que no haja escassez de endereos que justifique a adoo de NAT. Assim, os endereos IPv6 podero ser usados como endereos pblicos, se for necessrio. Recomenda-se que as menores redes dos usurios tenham prefixo /64. Se forem necess rias sub-redes, o usurio dever receber um bloco maior (/48 ou /56). No caso de utilizao de redes locais Ethernet, deve-se usar os 64 bits de identificao da estao para inserir o
Arquitetura e Protocolos de Rede TCP-IP

endereo MAC (48 bits). premissa bsica do endereamento IPv6 que no haver escassez de prefixos de rede e que os 64 bits de identificao da estao sero suficientes para qual quer tamanho de rede fsica.

156

157

Captulo 4 - Endereamento IP (parte 2)

158

Arquitetura e Protocolos de Rede TCP-IP

Roteiro de Atividades 4
Atividade 4.1 Configurao do exemplo 1 de VLSM
1. Inicie o simulador Netsimk. 2. Abra o arquivo Rede_Atividade4_1.nsw. Este arquivo contm a rede desenhada, mas no

configurada.
3. Configure o roteador e os computadores, um em cada sub-rede, obedecendo seguinte

distribuio:
3.1.Sub-rede 192.168.10.0/25 na interface E0 do roteador; 3.2.Sub-rede 192.168.10.128/26 na interface E1; 3.3.Sub-rede 192.168.10.192/26 na interface E2.

Faa a configurao completa dos computadores: endereo IP, mscara de sub-rede e gateway padro. A Figura 4.43 mostra a rede que deve ser configurada de acordo com as premissas acima. PC2

PC1

PC3

2 2 1

1
E0 E1 E2

Router 1
Captulo 4 - Roteiro de Atividades

Figura 4.43 Rede VLSM_ Exemplo 1.

159

Atividade 4.2 Estudo de caso


Uma empresa recebeu do seu provedor a faixa de endereos IP, definida pelo prefixo 200.10.10.0/24, para a construo de sua rede interna de computadores. Essa empresa dividida em cinco departamentos (Produo, Compras, Vendas, Pessoal e Pesquisa) e cada um ter sua prpria sub-rede IP. Considere que cada departamento conta com a seguinte quantidade de mquinas: Produo=10, Compras=25, Vendas=40, Pessoal=100 e Pesquisa=8. Determine o prefixo de rede e o endereo de broadcast de cada departamento para que todas as mquinas recebam um endereo. Os prefixos devem ser alocados de tal forma que departamentos com um maior nmero de mquinas recebam endereos mais prximos do incio do espao de endereamento disponvel. Os prefixos devem ser informados atravs da notao X.Y.W.Z/mscara, como na representao do prefixo fornecido pelo provedor (ENADE 2008, questo 39). Aps efetuar os clculos usando VLSM e o mtodo BOX, configure a rede mostrada a seguir. PC3

PC2

PC4

2 2 1 PC1

1
E1 E2 E3 E4

PC5 2

E0

Router 1

Arquitetura e Protocolos de Rede TCP-IP

Figura 4.44 Rede da Atividade 4.2.

Configure na mesma ordem de clculo das sub-redes: a maior sub-rede na interface E0, a segunda maior na interface E1 e assim por diante, at a menor sub-rede na interface E4. Inicie o simulador e abra a rede: Rede_Atividade4_2.nsw. A rede est desenhada, mas no est configurada. Observe que o enunciado obriga a calcular as maiores sub-redes primeiro e as menores na sequncia, exatamente como o algoritmo de atribuio de blocos.

160

Atividade 4.3 Configurao de NAT Esttico e Dinmico


Um Provedor de Acesso Internet (ISP) atribuiu a uma empresa a rede 199.99.9.32/27, que equivale a 30 endereos IP pblicos. Como a empresa tem um requisito interno de mais de 30 endereos, o gerente de TI decidiu implementar o NAT: os endereos 199.99.9.33 199.99.9.39 para alocao esttica e 199.99.9.40 199.99.9.62 para alocao dinmica.
Rota esttica Rota definida pelo administrador da rede e inserida manualmente na tabela de rotas. Rota padro Rota usada pela estao ou roteador quando o destino no est na tabela de roteamento.
10.10.10.10

O roteamento entre o ISP e o roteador da empresa RA feito com o uso de uma rota esttica entre o ISP (RB) e o gateway RA e de uma rota padro entre o roteador RA e o ISP (RB). A conexo do ISP com a internet ser representada por um endereo de loopback no roteador RB (Figura 4.45).

PC1

10.10.10.20 2 PC2

E0 RA

S0 DCE

S0 RB

Figura 4.45 Configurao de NAT Esttico e Dinmico.

PC3

10.10.10.30

Nome do roteador RA RA RB RB

Tipo de interface Ethernet 0 Serial 0 Serial 0 Loopback 0

Endereo IP 10.10.10.1 200.2.2.18 200.2.2.17 172.16.1.1

Mscara de rede 255.255.255.0 255.255.255.252 255.255.255.252 255.255.255.255

1. Inicie o simulador Netsimk e carregue a rede Rede_Atividade4_3.nsw. Os computadores

PC1, PC2 e PC3 j esto configurados. necessrio configurar as interfaces dos rotea dores e a traduo NAT.
Captulo 4 - Roteiro de Atividades

2. Os comandos de configurao do roteador RA esto listados abaixo.

RA>en RA#conf t RA(config)#int e0 RA(config-if)#ip address 10.10.10.1 255.255.255.0 RA(config-if)#no shut

161

%LDXX - Line protocol on Interface Ethernet 0, changed state to up RA(config-if)#int s0 RA(config-if)#clock rate 64000 RA(config-if)#ip address 200.2.2.18 255.255.255.252 RA(config-if)#no shut RA(config-if)# RA#
3. Os comandos de configurao do roteador RB esto listados abaixo.

RB>en RB#conf t RB(config)#int loopback0 RB(config-if)#ip address 172.16.1.1 255.255.255.255 %LDXX - Line protocol on Interface Loopback 0, changed state to up RB(config-if)#int s0 RB(config-if)#ip address 200.2.2.17 255.255.255.252 RB(config-if)#no shut %LDXX - Line protocol on Interface Serial 0, changed state to up RB(config-if)# RB#
Observe que o comando no shut levanta a interface, tanto em hardware como em software. Porm, as interfaces seriais conectadas a um link WAN dependem uma da outra. Depois que a interface serial de RB estiver configurada, a interface serial de RA ficar up. Basta olhar o console de RA para verificar que s0 est up. Por outro lado, a interface Loopback0 ficou no estado up assim que foi configurado o endereo, sem necessidade do comando no shut, porque ela uma interface virtual e no depende do hardware para ser ativada.
4. Crie uma rota esttica do roteador do ISP para o roteador RA. Foram atribudos os ende Arquitetura e Protocolos de Rede TCP-IP

reos 199.99.9.32/27 para acesso internet fora da empresa. Use os seguintes comandos:

RB#conf t RB(config)#ip route 199.99.9.32 255.255.255.224 200.2.2.18 RB(config)#ex RB#sh ip route /* lista a tabela de rotas do roteador

162

A tabela de rotas deve ser como a mostrada a seguir.

C S C

172.16.1.1/32 is directly connected to Loopback 0 199.99.9.32/27 [1/0] via 200.2.2.18 00:00:06 S0 200.2.2.16/30 is directly connected to Serial 0

5. Adicione uma rota padro do roteador RA para o roteador RB do ISP. Isso encaminhar

qualquer trfego com endereo de destino desconhecido ao ISP. Use os seguintes comandos:

RA#conf t RA(config)#ip route 0.0.0.0 0.0.0.0 200.2.2.17 RA(config)#ex RA#sh ip route


A tabela de rotas deve ser como a mostrada a seguir.

200.2.2.16/30 is directly connected to Serial 0

S* 0.0.0.0/0 [1/0] via 200.2.2.17 00:00:05 S0 C 10.10.10.0/24 is directly connected to Ethernet 0

Por que criamos uma rota padro no sentido de RA para RB e uma rota esttica no sentido oposto? No poderia ser o mesmo tipo de rota nos dois sentidos?

Para testar a continuidade entre a rede interna e o roteador RB do ISP, a partir do PC2 vamos digitar o comando ping para a serial 0 do roteador RB. O resultado deve ser parecido com o mostrado na listagem a seguir:

C:>ping 200.2.2.17 Pinging 200.2.2.17 with 32 bytes of data: Ping request timed out. Ping request timed out. Ping request timed out. Ping request timed out. C:>
Como podemos perceber, o ping no funcionou. A razo disso que os endereos internos da rede 10.10.10.0/24 no so roteveis na internet. Assim, o ICMP echo request chega at o RB, mas o ICMP Echo reply nunca retorna. Falta configurar a traduo NAT.
Captulo 4 - Roteiro de Atividades

163

6. Para definir o conjunto de endereos IPv4 pblicos utilizveis para o NAT Dinmico (reveja

o enunciado desta atividade), use os seguintes comandos:

RA#conf t RA(config)#ip nat pool nat_din 199.99.9.40 199.99.9.62 netmask 255.255.255.224


7. Para funcionar com NAT, o roteador Cisco RA exige que se defina um filtro dos endereos

IPv4 internos que sero traduzidos para os endereos IPv4 pblicos. Esse filtro chama-se lista de acesso. Esta lista faz o mesmo papel que o iptables no Linux. Use os seguintes comandos:

RA(config)#access-list 1 permit 10.10.10.0 0.0.0.255


Caso o endereo IP no esteja no intervalo 10.10.10.0 10.10.10.255, o pacote ser descartado, porque no final de toda lista de acesso est implcito um deny.
8. Vamos definir agora a traduo NAT Dinmica da lista interna para o conjunto externo.

Use os seguintes comandos:

RA(config)#ip nat inside source list 1 pool nat_din


9. Para especificar as interfaces interna e externa do NAT, use os seguintes comandos:

RA(config)#int e0 RA(config-if)#ip nat inside RA(config-if)#int s0 RA(config-if)#ip nat outside


10. Repita o comando ping usado no item 5. Desta vez funciona, porque os endereos internos

da rede 10.10.10.0/24 esto traduzidos em endereos pblicos atravs do NAT dinmico.

C:>ping 200.2.2.17 Pinging 200.2.2.17 with 32 bytes of data: Reply from 200.2.2.17 on Eth, time<10ms TTL=79 Reply from 200.2.2.17 on Eth, time<10ms TTL=79 Reply from 200.2.2.17 on Eth, time<10ms TTL=79 Reply from 200.2.2.17 on Eth, time<10ms TTL=79
Arquitetura e Protocolos de Rede TCP-IP

C:>
11. Para verificar o mapeamento dinmico use o seguinte comando:

RA#sh ip nat translations


12. Podemos ento verificar as estatsticas com o seguinte comando:

RA#sh ip nat statistics


Os resultados devem ser semelhantes listagem a seguir:

RA#sh ip nat translations

164

Pro

Inside global

Inside local

Outside local

Outside global --199.99.9.40 10.10.10.20 -----

RA#sh ip nat statistics Total active translations: 0 (0 static, 0 dynamic; 0 extended) Outside interfaces: Serial 0 Inside interfaces: Ethernet 0 Hits: 4 Misses: 4

Expired translations: 1 Dynamic mappings: ... Blah blah blah RA#


13. Configure o mapeamento esttico para a estao de trabalho PC1, 10.10.10.10/24, que

(Sim currently does not show this info. Sorry.)

ser designada como o servidor pblico WWW. Assim, ela precisa de um endereo IP pblico permanente para poder ser acessada pela internet. Deve ser usado um endereo do intervalo disponvel para o NAT Esttico. Use os seguintes comandos:

RA#conf t RA(config)#ip nat inside source static 10.10.10.10 199.99.9.33


14. Cheque a tabela de traduo para verificar o mapeamento, atravs dos seguintes

comandos:

RA#sh ip nat translations


Deve aparecer o mapeamento da seguinte forma:

Pro ---

Inside global 199.99.9.33

Inside local 10.10.10.10

Outside local ---

Outside global ---

15. Verifique a configurao atravs de um ping da estao de trabalho 10.10.10.10 para o


Captulo 4 - Roteiro de Atividades

endereo 172.16.1.1 (loopback do roteador RB). Use o seguinte comando:

ping 172.16.1.1
O ping funciona porque o endereo interno da rede 10.10.10.0/24 est traduzido no endereo pblico 199.99.9.33 atravs do NAT esttico, conforme mostra a listagem a seguir.

C:>ping 172.16.1.1 Pinging 172.16.1.1 with 32 bytes of data: Reply from 172.16.1.1 on Eth, time<10ms TTL=79

165

Reply from 172.16.1.1 on Eth, time<10ms TTL=79 Reply from 172.16.1.1 on Eth, time<10ms TTL=79 Reply from 172.16.1.1 on Eth, time<10ms TTL=7 C:>
16. No roteador RB do ISP, faa ping no host com a traduo NAT esttica usando o seguinte

comando:

ping 10.10.10.10
O ping no bem-sucedido porque o endereo interno da rede 10.10.10.0/24 no rotevel.

RB#ping 10.10.10.10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echoes to 10.10.10.10. Timeout is 2 seconds: ..... Success rate is 0% (0/5), round trip min/avg/max = 0/0/0 ms RB#
17. No roteador RB do ISP, faa ping em 199.99.9.33. O ping funciona porque o endereo

interno da rede 10.10.10.0/24 est traduzido no endereo vlido 199.99.9.33, atravs do NAT esttico, e esta entrada no expira na tabela de traduo.

RB#ping 199.99.9.33 Type escape sequence to abort. Sending 5, 100-byte ICMP Echoes to 199.99.9.33. Timeout is 2 seconds: !!!!! Success rate is 100% (5/5), round trip min/avg/max = 19/21/23 ms RB#

166

Arquitetura e Protocolos de Rede TCP-IP

5
Protocolos de enlace
objetivos
Descrever o processo de criao e configurao de VLANs para segmentao de redes locais. Apresentar o protocolo STP e sua utilidade, e descrever o protocolo PPP e a tecnologia DSL de camada fsica.

Protocolos de enlace no projeto de redes locais e de longa distncia. Uso de VLANs na segmentao de redes Ethernet, configurao e roteamento; protocolos STP e PPP e tecnologia DSL de camada fsica, que fornece suporte s aplicaes que usam o protocolo PPP.

conceitos

Fundamentos dos protocolos de enlace


Este captulo trata de protocolos de enlace que so importantes no projeto de redes locais e de longa distncia. Inicialmente, ser apresentada a utilidade de VLANs na segmentao de redes Ethernet, configurao e roteamento. Ser visto tambm o protocolo STP (Spanning Tree Protocol), que evita a ocorrncia de loops em redes Ethernet com redundncia de conexo entre switches. abordado o protocolo PPP, usado em enlaces seriais dedicados e comutados em redes de longa distncia. Tambm ser abordada a tecnologia DSL de camada fsica, que fornece suporte s aplicaes que usam o protocolo PPP.

Rede local virtual (VLAN)


11 Conceitos VLAN. 11 VLAN Trunking/Tagging.

q
Captulo 5 - Protocolos de enlace

11 IEEE 802.1q. 11 Configurao de VLANs. 11 VLAN Trunking Protocol (VTP). 11 Roteamento Inter-VLAN. VLAN um acrnimo de Virtual LAN (Redes Locais Virtuais), sendo um mtodo para a criao de diversas redes lgicas independentes em uma mesma rede fsica: a VLAN s existe atravs de uma configurao de software do switch.

167

VLANs so configuradas tanto via hardware quanto via software, o que as tornam extrema mente flexveis, sendo uma forma simples de segmentar a rede Ethernet no switch, criando segmentos lgicos dentro de uma nica rede fsica Ethernet. claro que o switch deve ser capaz de suportar a configurao de VLANs; normalmente, so switches de alto desem penho usados no ambiente de redes corporativas. Essa segmentao feita na camada de enlace, independente dos endereos lgicos dos equipamentos (endereos de rede). Na prtica, as VLANs se comportam de forma similar a diferentes redes fsicas na camada de rede, necessitando de um roteador para encaminhar pacotes de uma VLAN para outra. O trfego entre switches que participam de diversas VLANs encaminhado via trunk links (enlaces tronco), atravs do protocolo IEEE 802.1Q. Para efeito de administrao de VLANs, o protocolo VTP usado para permitir o gerenciamento e configurao automtica de VLANs.

Conceito de VLAN
11 VLANs segmentam os domnios de broadcast. 11 VLANs se comportam de forma similar a diferentes redes fsicas. 11 VLANs podem segmentar redes baseadas em switches. 11 VLANs so usadas para segmentar redes e proporcionar escalabilidade, segurana e facilidade de gerncia. 11 VLANs se comunicam por meio de roteadores. 11 Os switches so interligados por VLAN trunks.

Hosts conectados ao mesmo switch se comportam como se estivessem conectados a diferentes switches, ou seja, a LAN construda no importando onde os equipamentos estejam localizados fisicamente. A Figura 5.1 exemplifica esse conceito.
Figura 5.1 Conceito de VLAN.

Sem VLANs
Fa0/0
1 2 3

Com VLANs
1

10.1.0.0/16
Engineering

2 3

10.1.0.0/16
Engineering VLAN

Fa0/1
Arquitetura e Protocolos de Rede TCP-IP

1 2 3

10.2.0.0/16
Marketing

Fa0/0 Fa0/1 Fa0/2

2 3

10.2.0.0/16
Marketing VLAN

Fa0/2

1 2 3

10.3.0.0/16
Sales

Um link por VLAN ou um tronco

2 3

10.3.0.0/16
Sales VLAN

168

Para entender melhor o papel das VLANs, preciso rever as definies e as diferenas entre domnio de coliso e domnio de broadcast. 11 Domnio de coliso rea de uma rede Ethernet em que os quadros podem colidir uns contra os outros. Colises podem ocorrer em redes baseadas em repetidores e hubs; mas no em redes baseadas em switches e bridges. 11 Domnio de broadcast segmentao lgica de uma rede em que as estaes recebem mensagens de broadcast. Deve-se diminuir a existncia de grandes domnios de broadcast, uma vez que este tipo de mensagem ocupa a banda da rede e as estaes, aumentando o congestionamento, a latncia e outros parmetros nocivos rede. Os domnios de broadcast so tipicamente restritos pelos roteadores, porque os roteadores no encaminham quadros de broadcast. Accounting VLAN 10 172.16.10.0/24 Engineering VLAN 20 172.16.20.0/24 Accounting VLAN 10 172.16.10.0/24 Accounting VLAN 10 172.16.10.0/24 Engineering VLAN 20 172.16.20.0/24 Sales VLAN 30 172.16.30.0/24

Gigabit uplinks

VLAN Trunk
Figura 5.2 Exemplo de VLAN.

Caractersticas de uma VLAN: 11 Divide domnios de broadcast: o broadcast originado em uma VLAN no recebido pelos computadores em outra VLAN, o que ajuda a melhorar o desempenho de uma rede grande. 11 No h comunicao inter-VLAN: um equipamento presente em uma VLAN no consegue se comunicar com os equipamentos das outras VLANs: eles esto em sub-redes distintas, independentes. Porm, possvel que os hosts de diferentes VLANs se comuniquem atravs de um roteador ou de um switch L3 (com roteamento). 11 VLANs se comportam como redes distintas: se voc tem a VLAN_A e a VLAN_B, elas so consideradas redes completamente distintas, mesmo que estejam configuradas no mesmo switch. 11 Os switches so interligados por VLAN trunks que conduzem o trfego de diversas VLANs entre eles.
Captulo 5 - Protocolos de enlace

VLAN trunk Funo especial que pode ser associada a uma porta de switch, tornando-a capaz de transportar trfego de qualquer VLAN da rede.

Operao de VLAN em sub-redes IP


Broadcasts de camada 2 11 O que acontece quando o host 10.1.0.10 envia um ARP Broadcast para a rede 10.1.0.0/16? 22 Resposta: o switch inunda todas as suas portas. 22 Mesmo os hosts estando conectados ao mesmo switch, os dispositivos em sub-redes diferentes podem se comunicar via roteador.

169

1
ARP Request

10

11

12

10.1.0.10/16 DG: 10.1.0.1

10.2.0.20/16 DG: 10.2.0.1

10.1.0.30/16 DG: 10.1.0.1

10.2.0.40/16 DG: 10.2.0.1

Figura 5.3 VLAN e sub-rede IP.

O que acontece quando o host 10.1.0.1 envia um ARP Broadcast para a rede 10.1.0.0/16? 11 O switch inunda todas as suas portas; 11 Todos os hosts recebem broadcast, mesmo aqueles em sub-redes diferentes; 11 Broadcast de camada 2 deveria se propagar apenas em uma rede. Este efeito tambm acontece com unicasts desconhecidos, ou seja, endereos MAC que no esto na tabela MAC do switch. Se o switch suporta VLANs, por padro todas as portas pertencem mesma VLAN e o switch inunda todas as suas portas que pertencem mesma VLAN da porta de entrada. Lembre-se de que um switch um dispositivo de camada 2, que propaga pacotes tendo como base os endereos MAC, e no endereos IP. Neste caso, existe um nico domnio de broadcast e cada pacote deste tipo ser enviado para todos os computadores, independente da sua sub-rede. Se o usurio mudar o seu endereo IP, poder participar sem restries de qualquer sub-rede.

Soluo tradicional: mltiplos switches


11 A soluo tradicional ter dispositivos na mesma sub-rede conectados ao mesmo switch. 11 Proporciona segmentao de broadcast e unicast desconhecido, embora seja menos escalvel.

q
Figura 5.4 Soluo tradicional.

ARP Request

10

11

12

Fa 0/0 10.1.0.1/16

Fa 0/0 10.2.0.1/16

10

11

12

Arquitetura e Protocolos de Rede TCP-IP

10.1.0.10/16 DG: 10.1.0.1

10.1.0.30/16 DG: 10.1.0.1

10.2.0.20/16 DG: 10.2.0.1

10.2.0.40/16 DG: 10.2.0.1

170

Cada switch funciona de modo independente e cada usurio se conecta ao switch do seu grupo/empresa. Alm do custo maior pela aquisio de equipamentos adicionais, existe um desperdcio de portas no utilizadas. O trfego est isolado e os pacotes de broadcast trafegam somente no switch onde foram gerados, porque o roteador no propaga broadcasts de camada 2.

Domnios de broadcast com VLANs e roteador


11 Uma VLAN um domnio de broadcast criado por um ou mais switches. 11 Cada porta do switch pode ser designada para uma VLAN diferente.

Port1 VLAN 10

Port4 VLAN 20

Port9 VLAN 10

Port12 VLAN 20

VLAN 10
Porta 1 Porta 9

VLAN 20
Porta 4 Porta 12

10

11

12

ARP Broadcast

10.1.0.10/16 DG: 10.1.0.1


Figura 5.5 Domnios de broadcast .

10.2.0.20/16 DG: 10.2.0.1

10.1.0.30/16 DG: 10.1.0.1

10.2.0.40/16 DG: 10.2.0.1

11 Portas designadas para a mesma VLAN esto no mesmo domnio de broadcast. 11 Portas em VLANs diferentes esto isoladas e em diferentes domnios de broadcast. As VLANs podem ser Estticas ou Dinmicas: 11 VLANs Estticas baseadas em portas; qualquer dispositivo que se conecte a uma determinada porta do switch pertence a uma determinada VLAN; 11 VLANs Dinmicas baseadas em endereos de enlace/rede (MAC/IP) ou credenciais do usurio. O administrador da rede deve previamente cadastrar os endereos MAC/IP das estaes e associ-los s suas respectivas VLANs. Todos os pacotes com determinado endereo, independente da porta, sero enviados somente para os equipamentos que pertenam VLAN.
Captulo 5 - Protocolos de enlace

Configurando VLANs: 11 Estaticamente administradores de redes configuram cada porta, que associada a uma VLAN especfica. O administrador responsvel por fazer o mapeamento entre as portas e as VLANs. 11 Dinamicamente as portas so capazes de resolver sua configurao de VLAN. Usam um banco de dados de endereos MAC/IP associados aos mapeamentos de VLANs, que devem ser configurados previamente pelo administrador da rede.

171

VLAN esttica
Static membership VLANs so chamadas de: 11 Port-based. 11 Port-centric membership VLANs. Conforme um dispositivo ingressa na rede, ele automaticamente assume a VLAN membership da porta a qual est conectado.

q
VLAN membership VLAN a qual uma dada estao pertence.

10

11

12

Default VLAN 1

Default VLAN 1 Congurada VLAN 10


Figura 5.6 Exemplo de VLAN esttica.

11 VLANs so definidas na porta do switch. 11 Para que um host seja parte de uma VLAN, ele deve possuir um endereo IP que pertena sub-rede apropriada; este o mtodo mais comum de designar portas a VLANs. 11 A VLAN 1 usada para gerncia (VLAN default); todas as portas do switch pertencem VLAN 1 por padro, a menos que sejam explicitamente configuradas. 11 Lembre-se de que o conceito de VLAN est relacionado ao conceito de sub-rede, uma vez que ambas so subdivises lgicas de uma mesma rede.

VLAN dinmica
VLANs dinmicas permitem que a filiao (membership) ocorra com base no endereo MAC do dispositivo conectado porta do switch. Quando um dispositivo ingressa na rede, envia uma consulta (query) para uma base de dados dentro do switch para obter sua VLAN membership. So VLANs criadas por meio de software de gerncia de redes e encontradas normalmente em switches mais avanados.

q
Figura 5.7 Exemplo de VLAN dinmica.

VLAN1

VLAN2

VLAN3

VLAN3

VLAN2

Arquitetura e Protocolos de Rede TCP-IP

VLAN1

VLAN2

VLAN3

Endereo MAC checado no banco de dados Novo n VLAN=?? MAC+XXXX VLAN1

Servidor de congurao da VLAN

172

Resumo dos tipos de VLAN: 11 Port-based baseada nas portas fsicas do switch/roteador. 11 MAC-based baseada no endereo MAC da estao conectada. Neste caso, um computador ser sempre associado sua VLAN, independente da porta fsica a que esteja conectado. 11 Protocol-based baseada no endereo de camada 3. Por exemplo: usa o endereo IP para associar o computador sua VLAN, independente da porta fsica e do endereo MAC do computador. 11 Authentication-based baseada nas credenciais fornecidas pelo usurio (ou dispositivo) usando o protocolo 802.1x. Os dispositivos so associados dinamicamente VLAN.

VLAN Tagging
Usado apenas quando um enlace entre switches precisa transportar trfego de/para mais de uma VLAN. 11 Trunk link: conforme os quadros so recebidos pelo switch, vindos de qualquer estao de trabalho, a Unique Packet Identifier adicionada a cada cabealho. Esta informao de cabealho designa a VLAN membership de cada pacote.

VLAN1

Sa

Sem VLAN Tagging


VLAN1

Sb

VLAN1

VLAN2

VLAN2

VLAN2

VLAN1
Figura 5.8 Conceito de VLAN Tagging.

Sa

Com VLAN Tagging


TRUNK VLAN1 and VLAN2

Sb

VLAN1

VLAN2

VLAN2

Sem VLAN Tagging, os enlaces que interligam os switches s transportam trfego de uma nica VLAN. Para transportar trfego de mais de uma VLAN, preciso usar VLAN Tagging. Usualmente, o backbone que interliga todas as VLANs da rede tem VLAN Tagging habilitado.

VLAN1

VLAN2 Backbone

VLAN3

VLAN1

VLAN1
Captulo 5 - Protocolos de enlace

VLAN2
Figura 5.9 Exemplo de VLAN Tagging.

VLAN3

VLAN3

VLAN2

O pacote ento propagado para os switches ou roteadores apropriados com base no identificador de VLAN e no endereo MAC.

173

Ao alcanar o destination node (switch), a VLAN ID removida do pacote e este enviado para a estao final. 11 Protocolos trunking foram desenvolvidos para efetivamente gerenciar a transferncia de quadros provenientes de diferentes VLANs em um nico enlace fsico. 11 Os protocolos trunking negociam a distribuio de quadros para as portas associadas em ambas as extremidades do enlace. 11 Trunk links podem transportar trfego para todas as VLANs ou somente para VLANs especficas. 11 Tag = etiqueta.

IEEE 802.1Q
11 IEEE 802.1Q o protocolo padro de trunking. 11 Garante a interoperabilidade entre switches, roteadores e servidores de diferentes fabricantes. 11 802.1Q insere apenas 4 bytes adicionais no quadro Ethernet. 11 A tag 802.1Q inserida pelo switch antes do envio do quadro para o trunk link. 11 O switch remove a tag 802.1Q antes de enviar o quadro para um enlace que no seja um trunk link.

VLAN2

VLAN2

Trunking VLAN1 e VLAN2

802.1Q
VLAN1 VLAN1

Figura 5.10 Protocolo IEEE 802.1Q.

O protocolo 802.1Q acrescenta o campo Tag (4 bytes) ao quadro Ethernet, atribuindo o valor 0x8100 ao seu subcampo Tag Protocol ID (TPID). Para identificar a VLAN, so utilizados 12 bits (VLAN ID), permitindo a utilizao de at 4094 VLANs diferentes. Antes da introduo do padro
Arquitetura e Protocolos de Rede TCP-IP

802.1Q, existiam outros protocolos, como o Ciscos ISL (Inter-Switch Link, derivado do IEEE 802.10) e o 3Coms VLT (Virtual LAN Trunk). Atualmente, o ISL no mais suportado pela Cisco.

Prembulo 8 bytes

Destino 6 bytes

Origem 6 bytes

Ethertype 2 bytes

Dados 46-1500 bytes

FCS 4 bytes
Figura 5.11 Quadro Ethernet II.

Destino

Origem

Tag

Tam/Tipo

Dados

FCS

Figura 5.12 Tag 802.1Q.

174

importante entender que um trunk link no pertence a uma VLAN especfica. A respon sabilidade de um trunk link de agir como um duto para VLANs entre switches, roteadores e servidores.

Prembulo 8 bytes

Destino 6 bytes

Origem 6 bytes

TPID 2 bytes

TCI 2 bytes

Ethertype 2 bytes

Dados 46-1500 bytes

FCS 4 bytes

Figura 5.13 Quadro Ethernet II com IEEE 802.1Q.

O cabealho de 4 bytes contm um Tag Protocol Identifier (TPID) e um Tag Control Information (TCI) com os seguintes propsitos:

TPID
TPID de 2 bytes com valor fixo de 0x8100. Este valor indica que o frame transporta informao dos protocolos 802.1Q e 802.1p.

TCI
11 3 bits com a prioridade do usurio (8 nveis de prioridade, de 0 a 7); 11 1 bit de formato cannico: 0 = cannico e 1 = no-cannico. Veja a RFC 2469; 11 12 bits contendo o identificador de VLAN (VID). A forma cannica, tambm conhecida como formato LSB e formato Ethernet, designa a maneira como os bits recebidos pelo adaptador LAN so mapeados em memria: o primeiro bit de cada byte recebido mapeado no bit menos significativo (mais direita) na memria. A forma no-cannica, tambm conhecida como formato MSB, formato IBM e formato Token-Ring, designa o mapeamento inverso: o primeiro bit de cada byte recebido mapeado no bit mais significativo na memria (mais esquerda).

IEEE 802.1ad (QinQ)


Permite o transporte de VLANs dentro de outra VLAN, sendo utilizado em redes metropolitanas para transporte das redes dos clientes. A especificao original do protocolo 802.1Q permite que um nico cabealho de VLAN seja inserido num quadro Ethernet. QinQ permite que mltiplos cabealhos de VLAN sejam inseridos num nico quadro Ethernet. Essa uma facilidade essencial para a implementao de

redes Metro Ethernet (Redes Metropolitanas Ethernet). Nesse contexto, o termo VLAN tag comumente usado no lugar de 802.1Q VLAN header. QinQ permite mltiplos VLAN tags num quadro Ethernet, criando uma pilha de tags. Usualmente, um quadro QinQ um quadro que tem 2 cabealhos VLAN 802.1Q (duplo tag), um para a rede VLAN de um determinado cliente e outro para a rede metropolitana que transporta o trfego de VLANs de vrios clientes.
Captulo 5 - Protocolos de enlace

175

Destination Source address address

Lenght/ EtherType

Frame Check Sequence

DA

SA

Len/Etype

Data

FCS

Original Ethernet frame

DA

SA

Etype

Tag

Len/Etype

Data

FCS

802.1Q frame from customer network

DA

SA

Etype

Tag

Etype

Tag

Len/Etype

Data

FCS

Double-tagged frame

Figura 5.14 Detalhamento do IEEE 802.1ad (QinQ).

GARP VLAN Registration Protocol (GVRP)


11 Aplicao do protocolo GARP. 11 Permite a descoberta automtica de informaes de VLANs. 11 Torna desnecessria a configurao manual de switches. 11 Definido pela norma ISO/IEC 15802-3. Para que as redes locais virtuais encaminhem os pacotes para o destino correto, todos os

switches pertencentes a elas devem conter a mesma informao em suas respectivas bases de dados. O protocolo GVRP permite que estaes e switches com suporte ao IEEE 802.1Q editem e revoguem membros de uma VLAN. Os switches tambm so responsveis por registrar e propagar os membros de uma VLAN para todas as portas que participam da atual topologia da VLAN. A topologia de uma rede determinada quando os switches so ligados ou quando uma modificao percebida no estado da topologia corrente. O objetivo principal do GVRP permitir aos switches a descoberta automtica de algumas informaes das VLANs, para evitar a configurao manual de cada switch. Isto possvel usando GARP (Generic Attribute Registration Protocol) para propagar os atributos de identificao de VLANs atravs de uma rede local formada por switches (bridged LAN). GVRP tambm pode rodar em servidores de redes. Esses servidores usualmente so configurados para participar de vrias VLANs, sinalizando para os switches da rede que desejam participar das VLANs.
Arquitetura e Protocolos de Rede TCP-IP

d
Para mais informaes, consulte a norma IEEE Std 802.1Q-1998.

GVRP uma aplicao do protocolo GARP, cujo objetivo fornecer um framework genrico pelo qual dispositivos numa LAN formada por switches podem registrar e cancelar entre si valores de atributos, tais como identificadores de VLAN. GARP define a arquitetura, regras de operao, mquinas de estado e variveis para o registro e cancelamento dos valores de atributos. GARP definido pela norma ISO/IEC 15802-3.
Mquina de estado Qualquer dispositivo que armazena o status de algo num dado instante e pode processar entradas que mudam o status e/ou provocam uma ao ou sada para uma dada modificao.

176

VLAN Trunking Protocol (VTP)


11 Gerenciamento da configurao de VLANs. 11 Administrador adiciona, exclui e renomeia VLANs. 11 As informaes so propagadas a todos os switches. 11 Benefcios do VTP: 22 Consistncia da configurao de VLANs na rede. 22 VLAN trunking em redes mistas (ATM Lane, FDDI ...). 22 Monitorao das VLANs com registro acurado. 22 Informao das VLANs adicionadas. 22 Adio de VLANs plug-and-play. 11 Protocolo proprietrio da Cisco. 11 Protocolo que gerencia a configurao de VLANs especificamente para auxiliar o administrador de rede; 11 S deve ser utilizado quando existirem vrias VLANs numa mesma rede; 11 No tem sentido usar VTP numa rede com apenas uma VLAN; 11 As informaes do protocolo VTP so enviadas aos switches via trunk links; 11 Todos os switches devem pertencer ao mesmo domnio VTP; 11 necessrio configurar um servidor VTP; cada servidor define um domnio VTP; 11 Switches de diferentes domnios VTP no trocam informaes entre si.

Modos de operao VTP


Existem 3 diferentes modos de operao em um domnio VTP: 11 Servidor (Server). 11 Cliente (Client). 11 Transparente (Transparent).

Servidor
Este o modo default de operao dos switches em geral. necessrio ter um servidor no domnio VTP para propagar a informao das VLANs em todo o domnio. O switch precisa estar no modo servidor para ser capaz de criar, adicionar ou excluir VLANs num domnio VTP. As alteraes de configurao de VLANs tm que ser feitas no modo servidor e essas alteraes sero propagadas para todo o domnio VTP.

Cliente
e recebem as alteraes de configurao, mas no podem efetuar nenhuma modificao. Nenhuma das portas de um switch cliente pode ser adicionada a uma nova VLAN antes de receber a notificao do servidor VTP.
Captulo 5 - Protocolos de enlace

No modo cliente, os switches recebem informaes dos servidores VTP, e tambm enviam

Transparente
Switches neste modo de operao no participam do domnio VTP, mas ainda encaminham os anncios dos servidores pelos trunk links. Estes switches no podem adicionar ou excluir VLANs, porque eles tm seu prprio banco de dados, que no compartilhado com os outros switches. Este banco de dados considerado de significado local. O objetivo deste

177

modo permitir que switches remotos recebam as informaes dos servidores VTP atravs de um switch que no participa da mesma configurao de VLANs.

Configurando VLANs
Designando portas para a VLAN:

Switch(config)#interface fastethernet 0/9 Switch(config-if)#switchport access vlan 10 Switch(config-if)#switchport mode access


A opo access configura a porta como uma porta de acesso, e no como um trunk link. A sequncia de comandos mostrada exemplifica a designao da porta 9 VLAN 10. As demais portas permanecem designadas VLAN 1, por default, conforme mostrado na Figura 5.15.

10

11

12

Default VLAN 1

Default VLAN 1 VLAN 10

Figura 5.15 Exemplo de configurao de VLANs.

Em equipamento Cisco, usando o simulador Netsimk, todas as portas so configuradas por default como switchport mode dynamic desirable, o que significa que se a porta for conectada a outro switch, com uma porta configurada no mesmo modo default (ou desirable ou auto), este enlace se tornar um trunking link. Comandos recomendados:

switchport access vlan switchport mode access

Configurao de VLANs estticas


As instrues seguintes devem ser observadas na configurao de VLANs em switches L2: 11 O nmero mximo de VLANs depende do switch. 11 VLAN 1: 22 Uma das VLANs default. 22 Na verdade a Ethernet VLAN default.
Arquitetura e Protocolos de Rede TCP-IP

22 Usada para gerncia. Em geral, os switches permitem a configurao de 4.094 VLANs. A VLAN 1, por default, utilizada para gerncia. Com j apresentado no exemplo anterior, os comandos a seguir so usados para designar access ports (non-trunk ports) para uma VLAN especfica:

Switch(config)#interface fastethernet port_number Switch(config-if)#switchport access vlan vlan_number Switch(config-if)#switchport mode access

178

Configurando faixas de VLANs


Figura 5.16 Exemplo de configurao de faixas de VLANs.

10

11

12

VLAN 2

VLAN 3

O exemplo mostrado a seguir ilustra a configurao das VLANs 2 e 3. Na VLAN 2, as portas 5, 6 e 7 so individualmente configuradas. No caso da VLAN 3, a faixa de portas de 8 at 12 includa em um nico comando. Configurando a VLAN 2:

Switch(config)# interface fastethernet 0/5 Switch(config-if)# switchport access vlan 2 Switch(config-if)# switchport mode access Switch(config-if)# exit Switch(config)# interface fastethernet 0/6 Switch(config-if)# switchport access vlan 2 Switch(config-if)# switchport mode access Switch(config-if)# exit Switch(config)# interface fastethernet 0/7 Switch(config-if)# switchport access vlan 2 Switch(config-if)# switchport mode access Switch(config-if)# exit
Configurando a VLAN 3:

Switch(config)#interface range fastethernet 0/8 - 12 Switch(config-if)#switchport access vlan 3 Switch(config-if)#switchport mode access Switch(config-if)#exit
Este formato de comando pode variar um pouco de switch para switch, mas comum que possua a funcionalidade da definio de VLANs por faixas de portas. No caso de switches Cisco, o comando switchport mode access deve ser configurado em todas as portas que o administrador no queira que se transformem em portas tronco.
Captulo 5 - Protocolos de enlace

Verificando VLANs comando show vlan


O comando show vlan usado para identificar as VLANs configuradas e suas respectivas portas associadas.

179

10

11

12

VLAN 1 default

VLAN 2

VLAN 3

Figura 5.17 Comando show vlan.

Switch#show vlan VLAN Name Status -----Ports --------------------

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

VLAN

Name

Status -----active active active

Ports -------------------Fa0/1, Fa0/2, Fa0/3, Fa0/4 Fa0/5, Fa0/6, Fa0/7 Fa0/8, Fa0/9, Fa0/10, Fa0/11,

----- ----------------1 2 3 Fa0/12 1002 1003 1004 1005 fddi-default token-ring-default fddinet-default trnet-default default VLAN2 VLAN3

active active active active

VLAN Trans2 ---1 2

Type SAID

MTU

Parent RingNo BridgeNo

Stp BrdgMode Trans1

---- ----

---- ------ ------ --------- ------------ ------ -----1002 0 1003 0

enet 100001 1500 enet 100002 1500

Como pode ser observado, outras VLANs default so criadas para ambientes no-Ethernet: 1001, 1002, 1003, 1004, 1005.
Arquitetura e Protocolos de Rede TCP-IP

Removendo VLANs
Estes comandos removem a interface especificada da VLAN indicada, voltando a configu rao default da interface para VLAN 1:

Switch(config)# interface fastethernet port_number Switch(config-if)# no switchport access vlan vlan_number


A VLAN 1 no pode ser removida do switch.

180

Apagando informaes de VLAN


Informaes das VLANs so mantidas num arquivo vlan.dat. O arquivo no apagado quando apagamos a startup-config (configurao inicial carregada por ocasio do boot no switch). Esse procedimento usado em equipamentos Cisco (exemplo com o simulador Netsimk). Para apagar a startup-config, removendo as informaes de VLAN, use os seguintes comandos:

Switch#delete flash:vlan.dat Delete filename [vlan.dat]? Delete flash:vlan.dat? [confirm] Switch#erase startup-config Switch#reload
O ltimo comando executa reload no switch.

Acessando e gerenciando o switch


Endereo IP, mscara de sub-rede e default gateway em switch de camada 2 servem para o mesmo propsito de quando configurados num host: acessibilidade.

O switch um dispositivo de camada de enlace gerencivel atravs de protocolos de camada de rede como o IP, por exemplo. Para gerenciar um switch, preciso definir endereo IP, gateway padro, mscara de sub-rede, da mesma forma que fazemos com hosts PC. Para fazer isso usamos a interface VLAN 1. Por default, VLAN 1 a VLAN de gerncia; nela que atribumos o endereo IP e a mscara de sub-rede ao switch. Este endereo apenas usado para gerncia, e no afeta as operaes de comutao dos quadros do switch (comutao de camada 2). Os seguintes comandos so usados para configurar o endereo IP e o gateway default do switch:

Switch(config)# interface vlan 1 Switch(config-if)# ip address 10.1.0.5 255.255.0.0 Switch(config-if)# no shutdown Switch(config-if)# exit Switch(config)# ip default-gateway 10.1.0.1
O endereo IP permite testar a conectividade (ping) ou acessar o switch por telnet. O gateway default tambm usado com a finalidade de gerncia; uma vez tendo acessado o switch (por telnet, por exemplo), se for preciso usar o comando ping ou telnet em qualquer outro dispositivo da rede, os quadros sero enviados para o gateway default configurado. O switch deve ser configurado com um login/senha de VTY e uma senha com privilgio para acesso telnet.
Captulo 5 - Protocolos de enlace

Configurando trunking
O comando seguinte configura VLAN Tagging em uma interface: Switch(config-if)switchport trunk encapsulation [dot1q|isl]

181

As duas opes so: 11 dot1q (IEEE 802.1Q) 11 isl (ISL) O protocolo de trunking deve ser o mesmo nas duas extremidades.
VLAN1 Sa TRUNK VLAN1 and VLAN2 Sb VLAN1

VLAN2

VLAN2
Figura 5.18 Configurao de trunk .

Switch (config-if) #switchport trunk encap ? dotlq Interfaceswitchport uses only 802.1q trunking encapsulation Switch(config-if)# trunk encap ? when trunking dotlq uses only 802.1q trunking encapsulation encapsulation when isl Interface Interface uses only ISL trunking

trunking isl

when trunking

Interface uses only ISL trunking encapsulation when trunking

O comando a seguir permite definir explicitamente se uma determinada porta vai operar no modo access (s permite trfego de uma VLAN) ou no modo trunk (permite trfego de vrias VLANs).

Switch(config-if)switchport mode [access | trunk]


Por default, switches Cisco 2900XL switchports so configurados como access ports no vale para a maioria dos switches, em que o default dynamic desirable. Access ports (porta no modo acesso) podem ser usadas quando: 11 Apenas um nico dispositivo est conectado porta; 11 Mltiplos dispositivos (hubs) esto conectados a esta porta, todos pertencentes mesma VLAN; 11 Outro switch est conectado a esta interface, mas o enlace est transportando apenas uma nica VLAN (non-trunk link). J Trunk ports (porta no modo tronco) so usadas quando outro switch est conectado a esta interface, e este link est transportando mltiplas VLANs (trunk link).
Access port Significa que a porta (interface) pode pertencer somente a uma nica VLAN.

Roteamento Inter-VLAN
Arquitetura e Protocolos de Rede TCP-IP

Uma opo usar um link separado no roteador para cada VLAN ao invs de utilizar trunk links. Embora a medida proporcione balano de carga entre VLANs, pode no oferecer um uso eficiente em links com pouco trfego.

182

10.10.0.11/16
VLAN 10 VLAN 20

10.20.0.22/16

Figura 5.19 Exemplo de roteamento inter-VLAN.

FastEthernet 0/0

FastEthernet 0/1

10.10.0.1/16

10.20.0.1/16

Quando um n em uma sub-rede ou VLAN necessita comunicar-se com um n em outra sub-rede ou VLAN, um roteador torna-se necessrio para rotear o trfego entre as VLANs. O roteador deve ter portas configuradas em todas as VLANs que se deseja interligar. 11 Verifique os endereos IP associados VLAN; 11 Muitas configuraes utilizam o nmero da VLAN no endereo IP para facilitar a identificao; 11 Um switch L3 capaz de rotear os pacotes sem a necessidade de um roteador.

Interfaces lgicas
Subinterfaces num roteador podem ser usadas para dividir uma interface fsica em mltiplas interfaces lgicas.

FastEthernet 0/0 802.1q

FastEthernet 1/0.1 FastEthernet 1/0.2 FastEthernet 1/0.3

FastEthernet 1/0

ISL/802.1q

802.1q

802.1q

ISL/802.1q

ISL/802.1q

ISL/802.1q
Figura 5.20 Conceito de interfaces lgicas num roteador.

Physical Interface

Alguns roteadores permitem a configurao de subinterfaces ou interfaces virtuais. Em equipamento Cisco, usando o simulador Netsimk, o seguinte comando configura a interface especificada como uma interface virtual:

Rtr(config)#interface fastethernet port/interface.subint

183

Captulo 5 - Protocolos de enlace

Subinterface

Roteamento Inter-VLAN trunk links


Rtr(config)#interface fastethernet 0/1.1 Rtr(config-subif)#description VLAN 1 Rtr(config-subif)#encapsulation dot1q 1 Rtr(config-subif)#ip address 10.1.0.1 255.255.0.0
Em roteadores que permitem configurao de subinterfaces ou interfaces, recomenda-se que as subinterfaces tenham o mesmo nmero da VLAN associada. A Figura 5.21 mostra um exemplo de configurao de subinterfaces para que o roteador possa efetuar o roteamento entre as VLANs 10 e 20.
FastEthernet 0/0

10.10.0.11/16

VLAN 10

VLAN 20

10.20.0.22/16

FastEthernet 0/1

10.1.0.1/16 10.10.0.1/16 10.20.0.1/16

Router-on-a-Stick

Figura 5.21 Exemplo de configurao de interfaces lgicas.

A interface fsica a FastEthernet0/1 e as subinterfaces so, respectivamente: 11 0/1.10 associada VLAN 10; 11 0/1.20 associada VLAN 20. Observe que a VLAN 10 tem o prefixo de rede 10.10.0.0/16, e a VLAN 20 tem o prefixo de rede 10.20.0.0/16. Alm de configurar as subinterfaces, uma para cada VLAN, necessrio ainda configurar a interface fsica (0/1) no modo trunk link, para que possa transportar trfego de ambas as VLANs em um nico enlace fsico. Esse tipo de configurao chamado de Router-on-a-Stick. Configurando o roteador:

Rtr(config)#interface fastethernet 0/1.10 Rtr(config-subif)#description Management VLAN 10


Arquitetura e Protocolos de Rede TCP-IP

Rtr(config-subif)#encapsulation dot1q 10 Rtr(config-subif)#ip address 10.10.0.1 255.255.0.0 Rtr(config)#interface fastethernet 0/1.20 Rtr(config-subif)#description Management VLAN 20 Rtr(config-subif)#encapsulation dot1q 20 Rtr(config-subif)#ip address 10.20.0.1 255.255.0.0

184

Configurando o switch:

switch(config)#interface FastEthernet 0/0 switch(config-if)#switchport trunk encapsulation dot1q switch(config-if)#switchport mode trunk

Spanning Tree Protocol (STP)


STP frequentemente representa mais do que 50% da configurao, resoluo de pro blemas e dores de cabea na manuteno de redes reais (especialmente as mal projetadas). um protocolo complexo e geralmente mal compreendido, que tem o propsito de evitar e eliminar loops na rede. Conceitos chave em STP: 11 Bridge ID. 11 Custo do Caminho. Ser apresentado o algoritmo em que se baseia o STP e a forma como ele contribui para um projeto adequado de redes que inclua as devidas redundncias na busca por um desempenho satisfatrio. Sobre o STP: 11 um protocolo de preveno de loops; 11 Usa o algoritmo Spanning Tree;

11 Permite que dispositivos L2 comuniquem-se com outros para descobrir loops fsicos na rede; 11 Cria uma estrutura de rvore com ramos e folhas sem loops, que se espalha por toda a rede de camada 2. Se no existissem loops, STP teoricamente deveria ser desabilitado, pois o algoritmo aumenta o tempo regular de convergncia das portas. Entretanto, perigoso desabilit-lo, pois a qualquer momento um enlace redundante pode ser intencional ou acidentalmente configurado.

Protocolo Spanning Tree


11 Loops podem ocorrer como parte do projeto dentro de uma estratgia de redundncia. 11 STP no necessrio se no houver loops na rede, mas bom deix-lo habilitado. 11 Loops podem ocorrer acidentalmente. Um bom projeto de redes prev redundncia de enlaces entre os principais switches de distribuio e de core, a fim de garantir maior disponibilidade e confiabilidade das redes. 11 A redundncia gera loops (mais de um caminho entre dois dispositivos);

Loops na rede
Os switches alternaro os estados das tabelas de comutao para estao A (criando elevado uso de CPU). L2 loops podem causar: 11 Tempestade de broadcast. 11 Mltiplas cpias dos quadros Ethernet. 11 Instabilidade da tabela de endereos MAC.

185

Captulo 5 - Protocolos de enlace

11 STP usado para resolver esses loops.

A Figura 5.22 ilustra o conceito de tempestade de broadcast (broadcast storm), uma condio de sobrecarga na rede ocasionada pelo tratamento incorreto de um quadro de broadcast, fazendo com que os switches repliquem indefinidamente o quadro, o que faz o problema crescer exponencialmente, tornando-o crtico.
Estao A

Segmento A 1/1 2/1

1/2 Segmento B

2/2

Estao B

Figura 5.22 Tempestade de broadcast.

11 Loops L2 podem ocorrer sempre que houver um caminho redundante ou loop na rede de camada 2. 11 Broadcasts e loops de camada 2 podem ser uma combinao perigosa. 11 Quadros Ethernet no possuem campo de TTL (Tempo de Vida) para controlar o tempo do quadro na rede. 11 Depois de ocorrido um loop, quadros Ethernet continuam a se propagar indefinidamente, at que algum desligue os switches ou interrompa os links. Essa propagao indefinida pode simplesmente travar todo o trfego de um switch. A Figura 5.23 ilustra um cenrio no qual um quadro em unicast indefinidamente replicado nas portas dos switches:
1. Switch Moe aprende endereo MAC de Kahn; 2. MAC de destino um endereo unicast desconhecido (unknown). Assim, Moe inunda

este quadro unicast por todas as suas portas;


Arquitetura e Protocolos de Rede TCP-IP

3. Switch Larry recebe o quadro duas vezes, mas grava apenas o MAC de origem do quadro

recebido por ltimo;


4. Switch Larry inunda o quadro unicast com MAC de destino desconhecido por todas as

suas portas, exceto a porta de entrada;


5. Switch Moe recebe o quadro, muda a tabela de endereos MAC com a nova informao e

inunda o quadro unicast com MAC de destino desconhecido para todas as suas portas;
6. E assim o ciclo continua indefinidamente.

186

Broadcast de camada 2
SAT (Source Address Table) Porta A: 00-90-27-76-96-93 Aps passo 4, 6, ... Moe SAT (Source Address Table) Porta 4: 00-90-27-76-96-93 Aps passo 1

A 1 2 4 6 2 3 1 4 ... 5 2

B 5

Kahn 00-90-27-76-96-93

Larry

A 1 4 2 3 6 4 ...

SAT (Source Address Table) Porta B: 00-90-27-76-96-93


Figura 5.23 Exemplo de tempestade de broadcast.

Baran 00-90-27-76-5D-FE

Supondo que o quadro foi recebido por ltimo na porta B

Outro possvel cenrio problemtico ocorre quando uma estao envia um quadro em broadcast. Por exemplo:
7. Host Kahn envia uma solicitao ARP, um broadcast de camada 2 (layer 2); 8. Switches Moe e Larry inundam todas as portas com o quadro, e continuam a inundar

quadros duplicados e constantemente mudam suas tabelas de endereo MAC.

O propsito do STP evitar e eliminar loops na rede ao negociar um caminho sem loop (loop-free) atravs da ponte raiz (root bridge).

O Spanning Tree Protocol (STP) determina se h loops e bloqueia links redundantes, assegurando que haver apenas um caminho ativo para cada destino. O Spanning Tree Algoritm (STA) escolhe um ponto de referncia, chamado de root bridge, e determina os caminhos disponveis a partir do ponto de referncia. Se existirem mais de dois caminhos, STA escolhe o melhor caminho e bloqueia os demais.

187

Captulo 5 - Protocolos de enlace

Uso de STP para evitar loops

Distribuio 1

Ncleo

Distribuio 2

Acesso 1

Acesso 2
Figura 5.24 Conceito de loop de switches.

No exemplo, o segmento do switch Ncleo para o Distribuio 1 ser bloqueado, ficando disponveis os segmentos entre os switches Ncleo e Distribuio 2 e entre Distribuio 2 e Distribuio 1.

Conceitos chave em STP


Clculos STP fazem uso extensivo de dois parmetros: 11 Bridge ID (BID). 11 Custo do Caminho (Path Cost).
Bridge ID - 8 Bytes Prioridade da bridge 2 Bytes Endereo MAC

6 Bytes

Velocidade do link 10 Gbps 1 Gbps 100 Mbps 10 Mbps

Custo (especificao IEEE revisada) 2 4 19 100

Custo (especificao IEEE anterior) 1 1 10 100


Figura 5.25 BID e custo do enlace.

Arquitetura e Protocolos de Rede TCP-IP

Quanto maior a velocidade, menor o custo associado ao algoritmo. 11 Este princpio usado no desenvolvimento de uma topologia loop-free. 11 Originalmente, IEEE802.1D definiu custo como 1000 Mbps/(banda do enlace em Mbps). 11 Custo de link de 10 Mbps = 100 ou 1000/10.

188

11 Custo de link de 100 Mbps = 10 ou 1000/100. 11 Custo de link de 1 Gbps = 1 ou 1000/1000. No entanto, em funo do aumento das taxas de transmisso das redes Ethernet, os custos foram revisados, permitindo diferenciar redes com taxas de 1Gbps e 10Gbps, conforme ilustrado na Figura 5.25.

Bridge ID
Usado para identificar cada bridge/switch e para determinar a raiz da rede (root bridge).
Bridge ID - 8 Bytes

Bridge ID sem sistema ID estendido

Prioridade da bridge 2 Bytes

Endereo MAC

6 Bytes Bridge ID - 8 Bytes

Figura 5.26 Detalhamento da BID.

Bridge ID com sitema ID estendido

Prioridade da bridge 4 Bits

ID Sistema estendido 12 Bits

Endereo MAC

48 Bits

O Bridge ID (BID) consiste de dois componentes: 11 Bridge Priority (2 bytes): switches Cisco adotam por default o valor 32,768 ou 0x8000. 11 Endereo MAC de 6 bytes. Bridge Priority expresso usualmente em formato decimal e o endereo MAC na BID usualmente expresso em formato hexadecimal. O protocolo Spanning Tree requer que cada switch tenha um nico identificador BID. No padro original IEEE802.1D, o BID era composto por um campo Priority e o endereo MAC do switch. Todas as VLANs eram representadas por uma Common Spanning Tree (CST). PVST (Per-Vlan ST) requer que uma instncia separada de Spanning Tree exista para cada VLAN. O campo BID necessita transportar informao de VLAN ID (VID), o que possibilitado pela reutilizao de uma parte do campo Bridge Priority (prioridade), denominado sistema estendido de identificao (extended system ID). O BID utilizado para eleger a root bridge. O switch que possui o menor valor de Bridge ID selecionado como root bridge. Se todos os dispositivos tiverem a mesma prioridade, o switch com o menor endereo MAC se torna a root bridge. Por simplicidade, nas nossas topologias, usaremos bridge priorities sem o Extended System ID.

Custo do caminho
11 Switches usam o conceito de custo para avaliar a sua proximidade em relao aos demais. 11 Pode-se alterar o custo do caminho mudando o custo da porta (cuidado ao fazer isso). 11 BID e Custo do Caminho (Path Cost) so usados para determinar uma topologia loop-free.

O custo de um enlace um conceito usado para avaliar a proximidade entre switches. Esse custo pode ser alterado usando comandos de configurao apropriados, mas deve ser usado com cautela, porque isso modifica o resultado dos clculos de uma topologia isenta de loops (loop-free). A identificao do BID e do custo do caminho so elementos usados para a determinao de uma topologia isenta de loops.

189

Captulo 5 - Protocolos de enlace

A IEEE modificou a Spec ao usar uma nova escala no linear: Velocidade do link 4 Mbps 10 Mbps 16 Mbps 45 Mbps 100 Mbps 155 Mbps 622 Mbps 1 Gbps 10 Gbps Custo 250 100 62 39 19 14 6 4 2
Figura 5.27 Especificao IEEE para custos de link.

Sequncia de deciso de 5 passos


Na escolha dos melhores caminhos, STP sempre usa a mesma sequncia de deciso de 5 passos: 11 Passo 1 Menor BID. 11 Passo 2 Caminho de menor custo at a root bridge. 11 Passo 3 Origem de menor BID. 11 Passo 4 Menor prioridade de porta. 11 Passo 5 Menor identificador de porta. Bridges e switches usam BPDUs de configurao durante este processo. Bridge Protocol Data Unit (BPDU) 11 Bridges armazenam uma cpia das melhores BPDUs vistas em cada porta. 11 Ao fazer esta avaliao, consideram-se todas as BPDUs recebidas na porta, como tambm as BPDUs que seriam enviadas da porta.

11 Cada BPDU que chega verificada de acordo com os 5 passos, para saber se mais atra tiva (menor em relao aos valores dos itens avaliados em cada passo da sequncia de deciso) do que a BPDU existente armazenada para aquela porta. 11 Somente a BPDU mais atrativa armazenada.
Arquitetura e Protocolos de Rede TCP-IP

11 Bridges enviam BPDUs de configurao at que uma BPDU mais atrativa seja recebida.

Convergncia STP
11 Passo 1 Eleger uma root bridge. 11 Passo 2 Eleger as root ports. 11 Passo 3 Eleger as designated ports. 11 Uma root port numa bridge a porta mais prxima da root bridge. 11 Bridges usam custo para definir proximidade. 11 Toda non-root bridge seleciona uma root port. 11 Bridges calculam o root path cost, o custo acumulado de todos os links para a root bridge.

190

O protocolo STP tem por objetivo a eliminao de loops numa rede com enlaces redundantes entre switches. O protocolo no elimina esses enlaces redundantes, necessrios para aumentar a confiabilidade da rede em caso de falhas de cabeamento, mas desabilita os enlaces que provocam loops que podem derrubar a rede por causa das tempestades de broadcast. Para atingir esse objetivo, o protocolo tem um algoritmo de 3 passos: 11 Passo 1 Eleio de uma root bridge (ponte raiz); 11 Passo 2 Eleio das root ports (portas raiz) que, na perspectiva de cada switch, tm o caminho de menor custo at a ponte raiz; 11 Passo 3 Eleio das designated ports (portas designadas) que, na perspectiva de cada segmento, tm o caminho de menor custo at a ponte raiz. Os passos 2 e 3 so executados em todas as bridges, exceto a root bridge, que nica na rede e serve de base para o algoritmo. Para executar estes passos, utilizado o custo dos enlaces entre as bridges. A seguir apresentado um exemplo para eleio da root bridge, root ports e designated ports.

Eleio da root bridge


O algoritmo STP usa 3 passos simples para convergir numa topologia loop-free. Eleio da root bridge: 11 Determina o caminho mais curto root bridge e as portas que propagaro quadros. 11 Tudo feito com BPDUs enviadas a cada 2 segundos. 11 O dispositivo de menor BID vence a eleio.

Quando a rede inicializa, todos os switches anunciam uma mistura catica de BPDUs, e imediatamente comeam a aplicar a sequncia de 5 passos do processo de deciso para escolha dos melhores caminhos. Os switches precisam eleger uma nica root bridge, sendo que vence o switch com o menor BID. Diversos autores referem-se ao termo highest priority como o valor de menor BID, pois quanto menor o valor do campo bridge priority no BID, maior a probabilidade do switch emissor ser eleito como root bridge. No incio, todas as bridges informam ser a root bridge, colocando seus BIDs no campo Root ID da BPDU. No exemplo da Figura 5.28, quando todos os switches perceberem que o switch Acesso 2 tem o menor BID, todos concordaro que o switch Acesso 2 a root bridge.

191

Captulo 5 - Protocolos de enlace

32768-000f.2490.1380 Ncleo

32768-000b.fd13.9080 Distribuio 1 G0/1 Fa0/2 Fa0/1

G0/1

G0/2

32768-000b.fd13.cd80 Distribuio 2 G0/2 Fa0/1 G0/1 Fa0/2 Fa0/1

G0/2 G0/2

G0/1 Fa0/1

Fa0/2 Fa0/3

Root Bridge
Acesso 2 32768-0009.7c0b.e7c0
Figura 5.28 Eleio da root bridge.

Acesso 1 32768-000b.befa.eec0

Tamanho (Bytes) 2 1 1 1 8 4 8 2 2 2 2 2
Arquitetura e Protocolos de Rede TCP-IP

Campo Protocol ID Version Messagem type Flags Root ID Root Path Cost Bridge ID Port ID Message age Max age Hello time Forward delay
Figura 5.29 Layout da BPDU.

Quem a raiz? Qual a distncia para a raiz? Qual o BID da bridge que enviou este BDPU? De qual porta da bridge partiu este BDPU?

192

Exemplo de BPDU:

BPDU 802.3 Header Destination: Source: LLC Length: 01:80:C2:00:00:00 00:09:7C:0B:E7:C0 38 Mcast 802.1d Bridge group

802.2 Logical Link Control (LLC) Header Dest. SAP: Source SAP: Command: 0x42 0x42 0x03 802.1 Bridge Spanning Tree 802.1 Bridge Spanning Tree Unnumbered Information

802.1 - Bridge Spanning Tree Protocol Identifier: Protocol Version ID: Message Type: Flags: Root Priority/ID: 0 0 0 Configuration Message

%00000000 0x8000/ 00:09:7C:0B:E7:C0 (0)

Cost Of Path To Root: 0x00000000 Bridge Priority/ID: Port Priority/ID: Message Age: Maximum Age: Hello Time: Forward Delay:

0x8000/ 00:09:7C:0B:E7:C0 0x80/ 0x1D 0/256 seconds (exactly 0 seconds) seconds)

5120/256 seconds (exactly 20 512/256 seconds (exactly 2

seconds) seconds)

3840/256 seconds (exactly 15

11 O switch com o menor BID se torna a root bridge. 11 A root bridge pode ser escolhida reduzindo a prioridade no switch, abaixo do default de 32768. 11 Existem dois modos de baixar a prioridade de um switch para faz-lo a root bridge:
Captulo 5 - Protocolos de enlace

Switch-2(config)#spanning-tree vlan 1 root primary


ou

Switch-2(config)#spanning-tree vlan 1 priority new-value


O comando spanning-tree vlan 1 root primary baixa automaticamente a prioridade do switch para torn-lo a root bridge. O comando spanning-tree vlan 1 priority 4096 baixa a prioridade do switch de 32768 para 4096, tornando-o a root bridge, caso a menor prioridade configurada nos switches seja 4096.

193

32768-000f.2490.1380 Ncleo

32768-000b.fd13.9080 Distribuio 1 BPDU Cost=0+19=19 G0/2 G0/2 BPDU Cost=0+19=19 Acesso 1 32768-000b.befa.eec0 G0/1 Fa0/2 Fa0/1

G0/1

G0/2

32768-000b.fd13.cd80 Distribuio 2 G0/2 Fa0/1 G0/1 BPDU Cost=0+19=19 Fa0/2

19
G0/1 Fa0/1

19 19
Fa0/2 0 Fa0/3 0

Fa0/1

BPDU Cost=0 Acesso 2

Root Bridge

32768-0009.7c0b.e7c0
Figura 5.30 Eleio de root ports.

9. A root bridge Acesso 2 envia BPDUs contendo o campo Root Path Cost = 0, sinali-

zando que o custo at a root bridge nulo.


10. Os switches Acesso 1, Distribuio 1 e Distribuio 2 recebem estas BPDUs e adi-

cionam o custo da interface Fast Ethernet, denominado Path Cost, ao Root Path Cost contido na BPDU recebida. Desta forma, cada switch calcula o valor do seu respectivo campo Root Path Cost: 0 + 19 = 19 (usado internamente e propagado em BPDUs para outros switches, conforme ilustra a Figura 5.31). 11 Path Cost valor atribudo a cada porta, sendo adicionado s BPDUs recebidas naquela porta para calcular o Root Path Cost. 11 Root Path Cost custo acumulado do caminho para a root bridge, sendo um valor transmitido em BPDUs para outros switches, calculado ao adicionar o Path Cost associado porta receptora da BPDU ao valor do Root Path Cost contido na BPDU. 32768-000f.2490.1380 Ncleo
Figura 5.31 Clculo do custo das root ports.

32768-000b.fd13.9080 Distribuio 1
Arquitetura e Protocolos de Rede TCP-IP

G0/1

G0/2

32768-000b.fd13.cd80 Distribuio 2
G0/2 Fa0/1 G0/1

BPDU Cost=4+19=23
G0/2

G0/1 Fa0/2 Fa0/1

BPDU Cost=4+19=23
Fa0/2

BPDU Cost=19
G0/2

19
G0/1

19 19
Fa0/1

BPDU Cost=19

0
Fa0/2 Fa0/1

0 0
Fa0/3

Root Bridge
Acesso 2 32768-0009.7c0b.e7c0

Acesso 1 32768-000b.befa.eec0

194

11 Os switches agora enviam BPDUs com seus respectivos Root Path Cost em todas as outras interfaces.
11. O switch Acesso 1 usa este valor de 19 internamente e envia BPDUs em todas as outras

portas sinalizando no campo Root Path Cost este valor.


12. Os switches Distribuio 1 e Distribuio 2 recebem as BPDUs de Acesso 1 e adi-

cionam o custo de suas interfaces Gigabit Ethernet (Path Cost), cujo valor 4, ao Root Path Cost contido na BPDU recebida, resultando num Root Path Cost de 23. Entretanto, ambos os switches j tm um Root Path Cost interno de 19 recebido em outra interface. Desta forma, como ilustrado na Figura 5.32, para encontrar os melhores caminhos, Distribuio 1 e Distribuio 2 usam o menor Root Path Cost identificado (19) quando enviam as suas BPDUs para outros switches. Em caso de caminhos de custos iguais, este processo usa a sequncia de 5 critrios de deciso para eleio da root port, que representa a porta de sada com menor custo at a root bridge.
32768-000f.2490.1380 Ncleo BPDU Cost=4+19=23
G0/1 G0/2

32768-000b.fd13.9080 Distribuio 1 BPDU Cost=19 BPDU Cost=19

32768-000b.fd13.cd80 Distribuio 2
G0/2 Fa0/1

G0/1 Fa0/2

BPDU Cost=19+19=38

23

19
G0/2 G0/1 Fa0/1

23 19 19 0

19 0
Fa0/1

10 23

Fa0/2

BPDU Cost=4+19=23 Acesso 1 32768-000b.befa.eec0


Figura 5.32 Clculo do custo das root ports (cont.).

0
Fa0/3

Root Bridge
Acesso 2 32768-0009.7c0b.e7c0

13. O switch Distribuio 1 agora envia BPDUs com seu Root Path Cost de valor 19 em

todas as outras interfaces. Novamente, STP costs so incrementados quando as BPDUs so recebidas numa porta, e no quando so enviadas para fora de uma porta.

195

Captulo 5 - Protocolos de enlace

32768-000f.2490.1380 Ncleo

19+4=23
32768-000b.fd13.9080 Distribuio 1

19+4=23
G0/2

Figura 5.33 Clculo do custo das root ports (cont.).

+ 23

4=

27

G0/1

23

+4

=2

32768-000b.fd13.cd80

7
G0/2

Distribuio 2

G0/1 19+19=38 Fa0/2

19+19=38

Fa0/1

19+4=23 19+4=23
G0/2

19 19+4=23 19
Fa0/1

19+4=23
Fa0/2

19 0
Fa0/1

G0/1

0 0
Fa0/3

Root Bridge
Acesso 2 32768-0009.7c0b.e7c0

Acesso 1 32768-000b.befa.eec0

Como resultado, a Figura 5.33 mostra o menor custo at a root bridge via cada uma das interfaces dos switches. Como pode ser observado na figura, este custo do Root Path Cost de cada interface calculado somando o melhor Root Path Cost recebido nas BPDUs via a interface e o Path Cost da prpria interface. Root Path Cost da interface = BPDU Root Path Cost + Path Cost da interface (aps a melhor BPDU ser recebida na porta proveniente do switch vizinho). Este o custo para alcanar a root bridge a partir desta interface em direo ao switch vizinho.

Eleio de root ports


11 Cada non-root bridge deve selecionar uma root port. 11 Uma root port a porta mais prxima da root bridge. 11 Bridges usam custo (cost) para determinar proximidade; pela perspectiva do switch: Qual meu custo para a root bridge? 11 Posteriormente analisaremos designated ports pela perspectiva do segmento. No exemplo da Figura 5.34, o switch Distribuio 1 avalia o custo do caminho at a root bridge via cada uma de suas interfaces, concluindo que a interface Fast Ethernet de custo 19 representa o melhor caminho e, portanto, esta interface selecionada como root port.

196

Arquitetura e Protocolos de Rede TCP-IP

Figura 5.34 Deciso do switch Distribution 1.

32768-000f.2490.1380 Ncleo Por aqui custa 27 32768-000b.fd13.9080 Distribuio 1

2 Por aqui custa 38 G0/1

23
G0/2

32768-000b.fd13.cd80

27

27
38
G0/2 Fa0/1

Distribuio 2

G0/1

38 19

Por aqui custa 23

23
Por aqui s 19! G0/2 23 Aqui o melhor G0/1 caminho para a root bridge
Fa0/1

23

19 0 Root Bridge
Acesso 2 32768-0009.7c0b.e7c0

Fa0/2

0 0
Fa0/3

Acesso 1 32768-000b.befa.eec0

Deciso dos outros switches


Figura 5.35 Resultado final do clculo das root ports.

32768-000f.2490.1380 Ncleo

Root Port
32768-000b.fd13.9080 Distribuio 1

23
G0/1

23
G0/2

32768-000b.fd13.cd80

27
38
Root Port

27
38
G0/2 Fa0/1

Distribuio 2

G0/1

19 23
G0/2

23

19 19 0

Root Port

23

G0/1 Fa0/1

23 19 Root Port 0

Fa0/2

0
Fa0/3

Root Bridge
Acesso 2 32768-0009.7c0b.e7c0

Acesso 1 32768-000b.befa.eec0

Em relao eleio de root ports, os switches Distribution 2 e Acesso 1 realizam um procedimento similar ao Distribution 1, tambm selecionando como root port as interfaces com Root Path Cost de 19. No entanto, diferentemente, o switch Core tem duas interfaces com valores de Root Path Cost iguais. Neste caso devemos analisar o processo de deciso de 5 critrios. 11 1 Menor BID (Lowest BID) 11 2 Menor custo do caminho para a root bridge (Lowest Path Cost to Root Bridge) 11 3 Menor BID do enviador (Lowest Sender BID) 11 4 Menor prioridade de porta (Lowest Port Priority) 11 5 Menor BID de porta (Lowest Port ID)
Captulo 5 - Protocolos de enlace

197

Na perspectiva do switch Core, o switch Distribution 1 tem um BID de origem menor que Distribution 2. Portanto, com base no terceiro critrio, o switch Core escolhe a interface G0/1 como root port, definindo um caminho at a root bridge que passa pelo switch Distribution 1.

Eleio de designated ports


A preveno de loop do STP se torna evidente durante a eleio das designated ports. Uma designated port funciona como a nica porta conectada ao segmento que envia e recebe trfego entre o segmento e a root bridge. Cada segmento numa rede de bridges tem uma designated port, escolhida com base no Root Path Cost de seus respectivos switches at a root bridge. O switch contendo a designated port denominado designated bridge para aquele segmento. Sob a perspectiva de um dispositivo neste segmento: Para qual switch devo ir para chegar root bridge? Obviamente, o segmento no tem a capacidade de calcular o Root Path Cost e tomar a deciso, de modo que a perspectiva e a deciso so dos switches no segmento. Para localizar as designated ports, necessrio verificar cada segmento. 32768-000f.2490.1380 Ncleo

Root Port
32768-000b.fd13.9080 Distribuio 1

23
G0/1

23
G0/2

32768-000b.fd13.cd80

27
38 19
Qual o melhor caminho para a root bridge, Root Port 19 via Distribution 1 ou 19 via Access 1? Eles so iguais! Qual tem a menor BID?

27
38
G0/2 Fa0/1

Distribuio 2

G0/1

G0/2

23 23
G0/1 Fa0/1

23 19 0 Root Bridge
Acesso 2 32768-0009.7c0b.e7c0

Fa0/2

19 Root Port
Acesso 1 32768-000b.befa.eec0

Fa0/3

Arquitetura e Protocolos de Rede TCP-IP

Qual o melhor caminho para a root bridge, 19 via Access 1 ou 0 via Access 2 ?

Figura 5.36 Eleio das designated ports.

1. Uma designated port eleita para cada segmento. Ela a nica porta conectada ao

segmento que envia/recebe trfego entre o segmento e a root bridge, isto , a melhor porta em direo root bridge.
2. Para qual switch devo ir para chegar root bridge?

Eu decidirei atravs do Root Path Cost anunciado por cada switch.

198

O Root Path Cost anunciado o custo indicado na BPDU pelo switch, isto , o custo para chegar root bridge passando por ele. 11 No segmento entre Acesso 2 e Acesso 1, Acesso 2 tem Root Path Cost = 0 (afinal, ele a root bridge) e Acesso 1 tem Root Path Cost = 19. J que Acesso 2 tem Root Path Cost menor, sua porta no segmento se torna a designated port para o segmento. 11 O mesmo ocorre no segmento entre Acesso 2 e Distribution 1, bem como entre Acesso 2 e Distribution 2. J que Acesso 2 tem o menor Root Path Cost, suas portas tambm se tornam designated ports para estes segmentos. 11 No segmento entre Distribution 1 e Acesso 1, os switches possuem Root Path Cost com valores iguais a 19. Usando o menor BID de origem (os dois primeiros passos so iguais), a porta de Acesso 1 se torna o melhor caminho e a designated port.

32768-000f.2490.1380 Ncleo

Root Port
32768-000b.fd13.9080 Distribuio 1

23
G0/1

32768-000b.fd13.cd80

DP
DP 19

DP
G0/2 Fa0/1

Distribuio 2

G0/1

Root Port

19
G0/2

Root Port

DP

G0/1

DP
Fa0/1

DP 19 Root Port DP

Fa0/2

DP 0

0 Root Bridge

Fa0/3

Acesso 1 32768-000b.befa.eec0 Links ativos


Figura 5.37 Topologia loop free final.

Acesso 2 32768-0009.7c0b.e7c0

11 No segmento entre Distribution 1 e Distribution 2, os switches tambm possuem Root Path Cost com valores iguais a 19. Novamente, usando o menor BID de origem, a porta de Distribution 1 se torna o melhor caminho e a designated port. 11 De forma similar, no segmento entre Acesso 1 e Distribution 2, os switches possuem Root Path Cost com valores iguais a 19. Assim, usando o menor BID de origem, a porta de Acesso 1 se torna o melhor caminho e a designated port. 11 Nos segmentos que conectam o switch Core, os switches Distribution 1 e Distribution Distribution 2 se tornam os melhores caminhos e as designated ports. 11 Uma vez concluda a eleio de root ports e designated ports, todas as outras portas que no so root ports ou designated ports se tornam non-designated ports. 11 Non-designated ports so colocadas em blocking mode. Esta a parte de preveno de loop do STP, conforme pode ser observado na Figura 5.37. importante destacar que as designated ports nunca so bloqueadas, pois seus segmentos podem ter repetidores ou hubs conectados, permitindo que os dispositivos conectados aos mesmos continuem operando normalmente. 199
Captulo 5 - Protocolos de enlace

2 possuem Root Path Cost com valores menores. Logo, as portas de Distribution 1 e

Estados de porta Spanning Tree


Estado Forwarding h Learning h Listening h Blocking h Disabled h Objetivo Enviando/recebendo dados de usurio. Construindo a tabela de bridges (switches). Construindo a topologia ativa. Recebe BPDUs somente. Administrativamente down.

Figura 5.38 Estados de porta STP.

11 Disabled a porta est administrativamente desativada (shutdown). 11 Blocking todas as portas comeam no estado blocking a fim de evitar que a bridge crie um loop. Neste estado, a porta processa BPDUs, mas no envia ou recebe dados dos usurios. A porta passa do estado blocking para o estado listening quando ganha a eleio para root port ou designated port. Caso contrrio, se torna uma non-designated port e permanece no estado blocking. Assim, uma porta permanece ou volta ao estado blocking se o Spanning Tree determina que existe um caminho melhor para a root bridge. Pode levar at 20 segundos para que uma porta saia deste estado (temporizador denominado max age). 11 Listening as portas tentam aprender se existem outros caminhos para a root bridge, servindo como um estado intermedirio para estabilizar os estados nas portas dos diversos switches. Neste estado, a porta processa BPDUs, mas ainda no envia ou recebe dados dos usurios. Tambm escuta por um perodo de tempo chamado de forward delay (default de 15 segundos). 11 Learning o estado learning muito similar ao estado listening, exceto pelo fato de que a porta pode adicionar informao aprendida na sua tabela de endereos. Ainda no permitido enviar/receber dados dos usurios. Aprende por um perodo chamado forward delay (default de 15 segundos). 11 Forwarding a porta pode enviar e receber dados dos usurios. Uma porta colocada no estado forwarding se: no existem links redundantes ou se determinado que ela possui o melhor caminho para a root bridge.

Temporizadores STP
Spanning Tree faz com que cada porta passe por vrios estados diferentes, sequencialmente.

200

Arquitetura e Protocolos de Rede TCP-IP

Blocking (detectada perda de BPDU) (max age = 20 sec)

Listening (forward delay = 15 sec)

Blocking (vai para listening depois da deciso se uma root port ou uma designated port)

Enlace ativado

Learning (forward delay = 15 sec)

Tempo mximo para passar do estado de Blocking para Forwarding: 20 seg + 15 seg + 15 seg = 50 segundos

Forwarding

Figura 5.39 Temporizadores STP.

11 Hello time tempo decorrido entre envios consecutivos de BPDUs de configurao (2 segundos); 11 Forward delay durao do perodo de escuta e aprendizado, adotado nos estados listening e learning (15 segundos); 11 Max age tempo de armazenamento das BPDUs (20 segundos).

Rapid Spanning Tree Protocol (RSTP)


11 O problema imediato do STP a convergncia. 11 Dependendo do tipo de falha, pode levar de 30 a 50 segundos para a rede convergir. 11 RSTP auxilia a questo da convergncia (problemtica no STP). 11 RSTP proativo e no necessita dos temporizadores 802.1D. 11 RSTP (802.1w) substitui 802.1D, mas mantm a compatibilidade.

O formato das RSTP BPDUs o mesmo formato das IEEE 802.1D BPDUs, exceto pelo campo Version, que configurado para 2 (para indicar RSTP). O RSTP Spanning Tree Algorithm (STA) elege uma root bridge exatamente da mesma maneira que o 802.1D. Diferenas importantes fazem do RSTP o protocolo preferido na preveno de loops em redes baseadas em switches. STP e RSTP tambm tm algumas diferenas nas designaes das portas:
Captulo 5 - Protocolos de enlace

11 RSTP tem alternate ports e backup ports. 11 Portas que no participam do Spanning Tree so chamadas de portas de borda (edge ports). 11 As edge ports se tornam non-edge ports imediatamente aps receberem uma BPDU, passando a participar do Spanning Tree.

201

RSTP versus STP


RSTP baseado no padro IEEE 802.1w e requer conexes full-duplex ponto-a-ponto entre os switches vizinhos para alcanar convergncia mais rpida. Existem numerosas diferenas entre RSTP e STP. Half-duplex denota meio compartilhado e mltiplos dispositivos. Como resultado, RSTP no converge rapidamente em um ambiente half-duplex. RSTP foi definido no padro IEEE 802.1w e desenvolvido com o objetivo de minimizar o tempo de convergncia do STP que, como vimos, pode chegar a 50 segundos. Esse tempo, considerando a velocidade de uma rede local (100 Mbps, 1 Gbps), uma eternidade.

O RSTP exige que todas as portas dos switches operem em full-duplex para maior eficincia. Os estados das portas no protocolo RSTP so diferentes dos estados no protocolo STP, o que permite uma convergncia mais rpida, em caso de mudana de topologia da rede (quebra de enlace, falha de equipamento etc.). A seguir descreveremos em mais detalhes o RSTP.

Estados de portas RSTP


11 Discarding (descartando). 11 Learning (aprendendo). 11 Forwarding (redirecionando). 11 Discarding pode ser visto tanto em uma topologia ativa e estvel, quanto durante a

sincronizao e alteraes em uma topologia. No realiza o redirecionamento de pacotes de dados, evitando consequentemente a formao de loops na camada 2. 11 Learning pode ser visto tanto numa topologia ativa e estvel, quanto durante a sincronizao e alteraes em uma topologia. Aceita pacotes de dados para preencher a tabela MAC, em um esforo para limitar o fluxo de pacotes unicast desconhecidos. 11 Forwarding este estado visto apenas em topologia estvel. As portas no estado redirecionando determinam a topologia ativa da rede.

Portas RSTP
11 Root ports. 11 Designated ports. 11 Alternate port. 11 Backup port.

202

Arquitetura e Protocolos de Rede TCP-IP

Root Ports
Root

Designated Ports
Root

D R

D
A

Alternate Port
Root

Backup Port
Root

D R R

D R

D
A
Figura 5.40 Funes das portas RSTP.

D
A

Root Port
Como no STP, a porta raiz a porta escolhida como caminho para a root bridge, em uma non-root bridge. S poder haver uma porta raiz em cada switch. A porta raiz assume o estado redirecionando em uma topologia ativa e estvel.

Designated Port
Como no STP, cada segmento tem, pelo menos, uma porta como porta designada. Em uma topologia ativa e estvel, o switch com a porta designada recebe pacotes no segmento destinado para a root bridge. S poder haver uma porta designada por segmento, que assume o estado, redirecionando. Todos os switches em um dado segmento ouvem todos os BPDUs e determinam o switch que ser designado para um segmento em particular.
Captulo 5 - Protocolos de enlace

Alternative Port
Equivalente non-designated port no STP, a porta alternativa a porta que oferece um caminho alternativo em direo ponte raiz. Assume o estado descartando em uma topologia ativa e estvel. Uma porta alternativa est presente em switches no designados, e faz a transio para uma porta designada se o caminho designado falhar.

203

Backup Port
A porta backup uma porta adicional no switch designado com um link redundante para o segmento ao qual o switch designado. A porta backup tem um maior port ID do que a porta designada no switch designado. A porta backup assume o estado descartando em uma topologia ativa e estvel.

Protocolo PPP
O protocolo PPP um protocolo criado para operar na camada de enlace de dados da arquitetura TCP/IP, com o objetivo de encapsular datagramas IP em enlaces seriais de longa distncia dedicados ou comutados, ou seja, em redes WAN.

Camada de enlace da WAN


11 High-Level Data Link Control (HDLC). 11 Frame Relay. 11 Link Access Procedure Frame (LAPF). 11 Link Access Procedure Balanced (LAPB). 11 Link Access Procedure D-channel (LAPD). 11 Point-to-Point Protocol (PPP). 11 Synchronous Data Link Control Protocol (SDLC). 11 Serial Line Internet Protocol (SLIP).

CSU/DSU modem

CSU/DSU modem
Figura 5.41 Camada de enlace redes WAN.

O PPP no o nico protocolo projetado para operar na camada de enlace de redes WAN. Podem ser usados, dependendo das aplicaes, os seguintes protocolos: 11 HDLC (High-Level Data Link Control) o protocolo de enlace padro ISO para redes de dados baseadas no protocolo X-25. Pode no haver compatibilidade entre fabricantes diferentes, dependendo das opes feitas pelo fabricante na implementao; suporta tanto configuraes ponto-a-ponto como multiponto, com perda mnima de performance. 11 Frame Relay utiliza facilidades digitais de alta qualidade; usa quadros simplificados sem mecanismos de correo de erros, o que possibilita o envio de informao de camada de
Arquitetura e Protocolos de Rede TCP-IP

enlace muito mais rapidamente do que qualquer outro protocolo WAN. 11 LAPB (Link Access Procedure Balanced) um protocolo de enlace derivado do HDLC e usado pelo X.25; tem uma capacidade de verificao de erros bastante completa. O protocolo X-25 foi o primeiro protocolo a ser usado nas redes de dados das operadoras de telecomunicaes. Devido a suas limitaes de velocidade (utilizado em velocidades de at 64 kps), seu uso est em declnio, podendo ser encontrado ainda na RENPAC da Embratel. 11 LAPD (Link Access Procedure on the D-channel) o protocolo de enlace WAN usado para transportar informaes de controle e sinalizao nos procedimentos de estabelecimento de chamadas (call setup) em canais D-ISDN; os canais B-ISDN fazem a transmisso dos dados. A tecnologia ISDN (Integrated Services Digital Network) ou RDSI (Rede Digital

204

de Servios Integrada) foi criada para operar servios de dados digitais em linhas telefnicas, mas foi tornada obsoleta pela tecnologia xDSL. 11 LAPF (Link Access Procedure for Frame Mode Bearer Services) o protocolo de enlace WAN usado com as tecnologias de Frame Relay. Representa uma melhoria do LAPD, incluindo facilidades de controle de congestionamento. 11 SDLC (Synchronous Data Link Control) um protocolo de enlace WAN projetado pela IBM para a arquitetura Systems Network Architecture (SNA); tem sido substitudo pelo protocolo HDLC, que mais verstil. O SDLC tornou obsoleto o protocolo BSC-3, muito usado pela IBM nas dcadas de 60 e 70. 11 PPP (Point-to-Point Protocol) descrito pelo RFC 1661 e desenvolvido pelo IETF; contm um campo de protocolo para identificar o protocolo de camada de rede que est sendo encapsulado. 11 SLIP (Serial Line Interface Protocol) um protocolo de enlace WAN muito popular nos priFigura 5.42 Viso geral do protocolo PPP.

mrdios da internet, usado para encapsulamento de pacotes IP; atualmente est sendo substitudo pelo protocolo PPP, que mais seguro e, ao contrrio do SLIP, tem a facilidade de identificar o protocolo de camada de rede.

Point-to-Point Protocol (PPP)

Encapsulamento de mltiplos protocolos usando NCPs em PPP Encapsulamento PPP TCP/IP Novell IPX Apple talk

Link setup e controle usando LCP em PPP

Flag 01111110 1 byte

End. 0xFF 1 byte

Cont. 0x03 1 byte

Protocolo 2 bytes

Dados Tamanho varivel (Padro: mximo 1500 bytes)

CRC 2 ou 4 bytes

Flag 01111110 1
Captulo 5 - Protocolos de enlace

byte

Mtodo de encapsular datagramas em linhas seriais com trs componentes: 11 LCP (Link Control Protocol) prov um mtodo para estabelecer, configurar e testar a conexo de dados. 11 NCP (Network Control Protocols) estabelecem e configuram diferentes protocolos de rede. 11 IPCP (Internet Protocol Control Protocol) o NCP especfico para o protocolo IP.

205

Diversos RFCs especificam aspectos do PPP. O RFC 1661 a especificao mais importante para a maioria das operaes do PPP (NCP e LCP). PPP pode transportar pacotes provenientes de vrios protocolos de camada superior atravs de componentes do tipo Network Control Protocol (NCP). Ainda controla a configurao de diversas opes de enlace usando o componente Link Control Protocol (LCP) e a transmisso de datagramas sobre enlaces seriais ponto-a-ponto.

Comparao HDLC e PPP


HDLC padro ISO no suporta mltiplos protocolos num mesmo enlace, j que no possui um campo para indicar o protocolo transportado. A Cisco oferece uma verso proprietria do HDLC que usa um campo Type como campo de protocolo. O protocolo PPP usa o mesmo tipo de quadro do protocolo HDLC padro ISO, com a diferena de que o HDLC suporta apenas ambientes de um nico protocolo de rede, e o PPP tem um

campo para identificao do protocolo de rede cujos dados foram encapsulados no quadro PPP.

Pacote HDLC ISO Flag 1 byte Address 1 byte Control 1-2 byte Data (payload) 1500 bytes FCS 2 ou 4 bytes Flag 1 byte

Figura 5.43 Comparao entre HDLC e PPP.

Pacote PPP Flag 1 byte Address 1 byte Control 1 byte Protocol 1-2 bytes Data (payload) 1500 bytes FCS 2 (ou 4) bytes Flag 1 byte

O HDLC (da Cisco) tem um campo proprietrio Type usado para dar suporte a ambientes com mltiplos protocolos. O HDLC o protocolo padro de camada 2 para interfaces seriais de roteador Cisco.

Mapeamento PPP com modelo OSI


PPP um protocolo de enlace de dados com servios de camada de rede. A Figura 5.44 mapeia os elementos PPP em relao ao modelo OSI. Usando opes de LCP

do PPP, um administrador pode prover acesso seguro e realizar uma transferncia confivel de dados. O PPP transporta vrios protocolos de camada de rede usando diferentes NCPs.
Arquitetura e Protocolos de Rede TCP-IP

206

IP IPCP

IPX IPXCP

Camada 3

Protocolos

Muitos outros Camada de rede

PPP

Network Control Protocol Autenticao, outras opes

Link Control Protocol


Figura 5.44 Mapeamento PPP com modelo OSI.

Camada de enlace de dados

Meio fsico sncrono ou assncrono

Camada fsica

Fases PPP
11 Estabelecimento e configurao do enlace (LCPs). 22 Autenticao e compresso opcionais (LCPs). 11 Teste da qualidade do enlace opcional (LCPs). 11 Configurao dos protocolos da camada de rede (NCPs). 11 Trmino do enlace (LCPs). O PPP est dividido em 4 fases:

11 Estabelecimento e configurao do enlace antes que quaisquer pacotes de camada de rede sejam trocados, cada dispositivo PPP deve primeiramente enviar pacotes LCP para abrir a conexo e negociar os parmetros de configurao do enlace. Quadros LCP contm um campo de opo de configurao que permite aos dispositivos negociarem o uso de opes, tais como Maximum Transmission Unit (MTU), a compresso de certos campos PPP e o protocolo de autenticao de enlace. Depois que o enlace est estabelecido e o protocolo de autenticao negociado, o dispositivo pode ser autenticado. PPP suporta dois protocolos de autenticao: PAP e CHAP. Ambos esto detalhados no RFC 1334 (PPP Authentication Protocols). Entretanto, o RFC 1994 (PPP Challenge Handshake Authentication Protocol) torna obsoleto o RFC 1334. Se uma opo de configurao de autenticao no for includa no pacote LCP, o valor default assumido (isto , sem autenticao). 11 Teste da qualidade do enlace opcionalmente, o LCP pode testar o enlace para verificar se a qualidade boa o suficiente para suportar a ativao e operao dos protocolos da camada de rede. 11 Configurao dos protocolos de rede nesta fase opcional, os dispositivos PPP enviam pacotes NCP para escolher e configurar um ou mais protocolos da camada de rede, como o protocolo IP. Uma vez escolhidos e configurados, pacotes de cada protocolo da camada de rede podem ser enviados no enlace. importante ressaltar que existem diferentes protocolos NCP para diferentes protocolos da camada de rede. Por exemplo, o protocolo IPCP configura o protocolo IP, enquanto IPXCP configura o protocolo IPX. 11 Trmino do enlace LCP pode terminar a conexo a qualquer instante por solicitao do usurio ou por um evento fsico, como perda de portadora. Se o LCP fechar o enlace, informar os protocolos da camada de rede para que tomem as providncias pertinentes.
Captulo 5 - Protocolos de enlace

207

Opes LCP
PAP ou CHAP Autenticao PSTN/ISDN

Compresso

Dados

Multilink

Bundle

Figura 5.45 Opes de LCP.

Opo LCP Autenticao Compresso Deteco de erros Multi links

Protocolo PAP/CHAP Stacker ou Predictor Magic Number Multilink Protocol (MP)

Como opera Precisa de uma senha/realiza desafio Challenge Handshake. Comprime os dados na origem e reproduz no destino. Permite detectar laos (loops) nos enlaces PPP. Permite realizar balanceamento de carga (load balancing).

A compresso PPP negociada pelo Compression Control Protocol (CCP), definido no RFC 1962. O RFC 1548 descreve e detalha as opes PPP aprovadas pela Internet Engineering Task Force (IETF). O RFC 1717 define o Multilink Protocol. O RFC 1990 define o PPP Multilink Protocol (MP) e torna obsoleto o RFC 1717. Para aperfeioar a segurana e flexibilidade das conexes, o Cisco IOS Release 11.1 oferece
Arquitetura e Protocolos de Rede TCP-IP

a facilidade de callback sobre PPP. Com esta opo LCP, um roteador Cisco pode agir como um cliente ou como um servidor para callback. Esta opo descrita no RFC 1570.

Fase de autenticao
Depois do enlace estabelecido e o protocolo de autenticao decidido, o dispositivo pode ser autenticado. Se utilizada, a autenticao ocorre antes do incio da fase de configurao dos protocolos de rede (suporta autenticao PAP ou CHAP). Aps esta fase, o LCP tambm permite um teste opcional de determinao da qualidade do enlace.

208

PSTN/ISDN
Figura 5.46 Fase de autenticao do PPP.

Autenticao

PAP ou CHAP

A fase de autenticao do protocolo PPP opcional e, se utilizada, ocorre antes da fase de configurao dos protocolos da camada de rede. Podem ser usados os mtodos PAP ou CHAP, sendo o segundo o mais utilizado, por ser mais seguro.

Servidor de autenticao remoto


Autenticao a partir de um cadastro local de usurios (username:password). 11 Password Authentication Protocol (PAP). 11 Challenge Handshake Authentication Protocol (CHAP). Servidor de autenticao remoto: 11 Terminal Access Controller Access Control System Plus (TACACS+). 11 Remote Access Dial-In User Service (RADIUS). Os protocolos TACACS+ e RADIUS so os mais usados em servidores de autenticao. Os provedores, de maneira geral, preferem este ltimo.

Autenticao PAP
11 Senhas enviadas em claro. 11 Dispositivo possui controle das tentativas. 11 Pouco segura, pois a senha passa sem criptografia na rede o usurio remoto controla e comanda o processo. PAP prov um mtodo simples para um n remoto estabelecer sua identidade usando um two-way handshake, sendo executado no momento do estabelecimento inicial do enlace.

Basicamente, como mostrado na Figura 5.47, o n a ser autenticado envia o nome do host e a senha, que so validados pelo n na outra extremidade do enlace. PAP no um protocolo de autenticao forte, uma vez que no inclui criptografia, ou seja, o nome do host e a senha so enviados sem qualquer proteo.

209

Captulo 5 - Protocolos de enlace

Remote Router (SantaCruz)

PAP 2-Way Handshake

Central-Site Router (HQ)

santacruz, boardwalk

Aprova/Rejeita

Hostname: santacruz Password: boardwalk

Hostname: santacruz Password: boardwalk

Figura 5.47 Autenticao PAP.

Autenticao CHAP
Usa um segredo conhecido apenas pelo autenticador e pelo dispositivo, sendo mais segura que a autenticao PAP. CHAP tambm executado no momento inicial de estabelecimento do enlace, e pode ser repetido a qualquer tempo aps o enlace estar estabelecido: as transaes no CHAP s ocorrem aps o enlace estar estabelecido.

O servidor de autenticao no solicita uma senha durante o procedimento de autenticao. Ao invs disso, usa o algoritmo Message Digest 5 (MD5) para calcular um hash a partir de um cdigo, palavra ou pequeno texto (chamado desafio) e uma senha compartilhada entre os dispositivos conectados ao enlace PPP. O servidor de autenticao envia o desafio para o dispositivo remoto; este calcula o hash MD5 a partir do desafio e da sua senha compartilhada. Em seguida, envia o hash para o servidor de autenticao. Se o hash recebido bater com o hash calculado pelo prprio servidor de autenticao, ele aceita a conexo. CHAP est detalhado no RFC 1334. A Figura 5.48 mostra uma autenticao CHAP, o protocolo de autenticao preferido e recomendado para enlaces PPP.

Remote Router (SantaCruz)

CHAP 3-Way Handshake


Desao

Central-Site Router (HQ)

Arquitetura e Protocolos de Rede TCP-IP

Resposta

Hostname: santacruz Password: boardwalk

Aprova/Rejeita

Hostname: santacruz Password: boardwalk

Figura 5.48 Autenticao CHAP.

210

A Figura 5.49 resume todos os passos de uma autenticao CHAP, desde o incio da conexo PPP.
Usurio remoto: Peixoto Inicia PPP Usa CHAP Requisita desao Informa nome e senha quando solicitado Desao Usurio: peixoto Resposta
Figura 5.49 Passos de uma autenticao CHAP.

Servidor de acesso

Cadastro local de usurios

Senha: teste

Aceita ou rejeita conexo

Configurando PPP Multilink (MLP)


Em alguns ambientes, pode ser necessrio unir vrios enlaces seriais para que eles operem como um nico enlace serial com a banda total agregada. 11 Router(config)# interface serial 0/0 11 Router(config-if)# encapsulation ppp 11 Router(config-if)# ppp multilink 11 Router(config-if)# ppp multilink group 1 11 Router(config)# interface serial 0/1 11 Router(config-if)# encapsulation ppp 11 Router(config-if)# ppp multilink 11 Router(config-if)# ppp multilink group 1 11 Router(config)# interface multilink 1 11 Router(config-if)# ip address 192.168.1.1 255.255.255.252 11 Router(config-if)# ppp multilink 11 Router(config-if)# ppp multilink group 1 Multilink PPP permite balanceamento de carga nas interfaces do roteador onde configu rado. Conforme especificado na RFC 1717, a fragmentao e sequenciamento de pacotes

dividem a carga e provocam o envio dos fragmentos nos circuitos PPP paralelos. Em alguns casos, este conjunto de dutos Multilink PPP funciona como um nico enlace lgico, otimizando banda e reduzindo a latncia entre os roteadores pareados.
Captulo 5 - Protocolos de enlace

Figura 5.50 Configurao PPP Multilink (MLP).

SantaCruz

HQ

211

Digital Subscriber Line (DSL)


Embora considerada uma soluo fim-a-fim, DSL opera somente no loop local entre o equipamento do usurio (CPE) e o multiplexador de acesso DSL (DSLAM). Um DSLAM um dispositivo no escritrio central (CO), usado para terminar as conexes DSL de camada 1.
Modem DSL Internet Computador Digital Subscriber Line Access Multiplexer (DSLAM) Telefone Max. 5.5 km

Fax

Telefone

Rede de telefonia

Figura 5.51 DSL.

A tecnologia Digital Subscriber Line (DSL) foi desenvolvida para permitir o acesso s redes TCP/IP atravs da infraestrutura de telefonia com velocidades superiores s do acesso discado via modem, e do acesso digital via RDSI. Ela opera na camada fsica entre o equipamento do usurio e um concentrador de conexes DSL localizado no provedor de acesso.

Intervalo de frequncia de DSL


DSL: 11 Usa intervalo de alta frequncia a partir de 1 MHz. ADSL: 11 Usa o intervalo de frequncia de 40 KHz at 1 MHz. 11 No se sobrepe ao intervalo de frequncia de voz usado pelo sistema de telefonia (Plain Old Telephone Service POTS), de 300 a 3.400 Hz.
Arquitetura e Protocolos de Rede TCP-IP

11 Descongestiona as centrais telefnicas e as linhas de assinante.

212

IDSL POTS

SDSL ADSL

Figura 5.52 Intervalo de frequncia de DSL.

40 kHz

80 kHz

1 MHz

DSL uma famlia de tecnologias de acesso que utilizam altas frequncias (at 1 MHz) para entregar grande largura de banda sobre os convencionais de cobre em distncias limitadas.

11 DSL (Digital Subscriber Line) uma famlia de tecnologias desenvolvida para prover servios de dados de alta velocidade utilizando pares de fios de cobre. Procura aproveitar a planta externa existente das companhias telefnicas para resolver o problema do acesso (ltima milha), possibilitando a prestao de servios de dados com baixo custo de implantao. 11 ADSL (Asymmetric DSL ou DSL assimtrico) a forma mais conhecida, sendo utilizada predominantemente para acesso banda larga via internet. No ADSL, os dados so transmitidos de forma assimtrica. A taxa de transmisso na direo do assinante maior (at 8 Mbps no ADSL normal e at 24 Mbps no ADSL2+) do que no sentido contrrio (at 1 Mbps no ADSL normal e no ADSL2+). Esta assimetria se deve ao fato de que o usurio faz muito mais downloads do que uploads. Com ADSL, o mesmo par de fios de cobre pode ser utilizado simultaneamente como linha telefnica e como acesso banda larga internet, descongestionando as centrais telefnicas e a linha do assinante. A sigla POTS corresponde no Brasil Rede Telefnica Pblica Comutada (RTPC), rede de telefonia fixa. POTS e o servio ADSL podem coexistir sobre o mesmo fio.

Implementaes de DSL
Asymmetric: taxa de transmisso maior para downstream do que para upstream. 11 ADSL. 11 G.Lite ADSL. 11 RADSL. 11 VDSL. Symmetric: mesma taxa de transmisso para downstream e upstream. 11 SDSL. 11 G.SHDSL. 11 HDSL/HDSL2.

11 ADSL um tipo de DSL onde as larguras de banda upstream e downstream so diferentes. O ADSL o mais comum dos xDSL. Configuraes tpicas atuais: 2 Mbps de downstream e 128 Kbps de upstream. 11 G.Lite ADSL (Splitterless DSL) uma variante assimtrica do DSL, que no requer a adoo de um divisor de frequncias (splitter) nas residncias dos usurios para separar os canais do servio de telefonia e do ADSL. G.Lite ADSL penaliza a taxa de transmisso em favor de operar sem divisor de frequncias, reduzindo a complexidade e o custo de instalao.

213

Captulo 5 - Protocolos de enlace

11 IDSL.

11 RADSL (Rate Adaptive DSL) uma variante assimtrica do DSL que pode ajustar a velocidade de upstream dependendo da distncia e da qualidade da linha entre o assinante e a central (Central Office). Este ajuste realizado na tentativa de manter uma boa velocidade de downstream. 11 VDSL (Very-high-bit-rate DSL) uma verso assimtrica do DSL que opera em velocidades muito elevadas. Opera em velocidades downstream e upstream de at 55 Mbps e 2.3 Mbps, respectivamente, mas somente a uma distncia de at 300 m da central (Central Office). Pode chegar at 1.5 km em taxas mais baixas, em torno de 13 Mbps. 11 SDSL (Symmetric DSL) uma variante simtrica do DSL, onde upstream e downstream tm a mesma largura de banda. Opera tipicamente com taxa de 1,5 Mbps em ambas as direes. No opera simultaneamente com a conexo de voz no mesmo cabo telefnico. 11 G.SHDSL (Symmetric High-speed DSL) uma variante de SDSL definida pelo padro ITU G.991.2. Tambm no pode ser usado simultaneamente com a conexo de voz no mesmo cabo telefnico. Suporta velocidades simtricas de 192 a 2304 Kbps em um nico par de fios, e 384 a 4608 Kbps em dois pares. Possui extenses que permitem o uso de at quatro pares de fios para incrementar as velocidades at 5696 Kbps. 11 HDSL (High-bit-rate DSL) uma variante simtrica pouco usada do DSL. Tipicamente opera a 2.048 Kbps, sendo equivalente a um tronco E1. HDSL requer dois pares de fios, enquanto HDSL2 suporta a mesma taxa de dados, mas usando um nico par de fios. 11 IDSL (ISDN DSL) um padro que usa tecnologia baseada em ISDN para prover canais de comunicao em linhas telefnicas de at 144 Kbps. Est disponvel onde outras opes do DSL, tais como o ADSL, no esto disponveis. IDSL lento e relativamente caro.

Arquitetura e Protocolos de Rede TCP-IP

ADSL
A tecnologia ADSL foi desenvolvida principalmente para usurios residenciais. Uma pessoa que se conecta internet, em geral, recebe uma quantidade de dados muito maior do que envia, ou seja, utiliza muito mais downloads do que uploads. Com base nisso, foi desenvolvido um tipo de DSL assimtrico com taxas de transferncia diferentes para download e upload, pois uma banda muito maior utilizada para download. Assim, quando o usurio envia dados, ele no tem uma velocidade muito alta (apesar disso, ainda maior do que a de uma conexo discada); mas quando recebe dados, a velocidade aproximadamente 10 vezes maior.

Figura 5.53 Implementaes da tecnologia DSL.

214

A principal vantagem das linhas ADSL que o telefone pode ser utilizado simultaneamente com a transferncia de dados, pois a voz e os dados utilizam diferentes faixas de frequncia. A modulao CAP, usada nas primeiras linhas ADSL, divide a banda da linha telefnica em trs canais. O primeiro, que ocupa a faixa at 4 kHz, exclusivo para voz. O segundo exclusivo para envio de dados do usurio para o servidor (upload) e ocupa a faixa de 25 a 160 KHz. J o terceiro canal, exclusivo para recepo de dados pelo usurio (download), ocupa a faixa que comea em 240 KHz e vai at, no mximo, 1,5 MHz. Como os trs canais so bem definidos e espaados entre si, reduz-se a probabilidade de interferncia entre canais.

ADSL2/2+
Em julho de 2002 foi criada a tecnologia ADSL2, logo aprovada pela ITU-T atravs dos padres G.992.3 e G.992.4. Essa nova tecnologia de ADSL possui taxas de downstream de at 12 Mbps e upstream de 1 Mbps. Em 2005, foi concebido o ADSL2+ atravs do padro G.992.5, definindo taxas de downstream de at 24 Mbps e mantendo a mesma taxa de 1 Mbps do ADSL2. O ADSL2 ainda possui a vantagem de economia de energia, pois o modem para esta tecnologia foi projetado para funcionar somente quando o computador estiver em uso, ou seja, quando o computador entra em stand by, o modem tambm entra. Possui melhor modulao que o ADSL normal e um reordenador de tonalidades para dissipar os sinais de interferncia causados pelas ondas de rdio AM, para ter um melhor ganho com a nova modulao.

Dados sobre ADSL com bridging


11 DSL uma tecnologia de nvel fsico para transmisso sobre par tranado telefnico. 11 ATM o protocolo que roda sobre o DSL. 11 DSLAM o concentrador de conexes ADSL. A funo do DSLAM concentrar o trfego de dados das vrias linhas com modem DSL e conect-lo com a rede de dados.

A conexo atravs de circuitos ATM a mais utilizada em redes ADSL. Existem equipamentos DSLAM que assumiram o papel de n de acesso incorporando sistemas de comutao ATM. O CPE que fica no ambiente do usurio opera na modalidade de bridging, o que significa que
Figura 5.54 Dados sobre ADSL.

funciona como um switch (comutador), executando funes de comutao da camada de enlace de dados, tipicamente operando como um switch Ethernet. DHCP Server

IP 182.183.1.3/24 GW=182.183.1.1

Local Loop ATM CPE (Bridging) IP 182.183.1.4/24 GW=182.183.1.1 DSLAM OC3 ATM Aggregation Router ISP/Corp Router

215

Captulo 5 - Protocolos de enlace

PPPoE
PPPoE uma soluo de bridging semelhante s propostas apresentadas nos RFCs 1483 e 2684. O CPE faz bridging dos quadros Ethernet do computador do usurio ao roteador que agrega todas as conexes sobre ATM. Contudo, neste caso, o quadro Ethernet est carregando um quadro PPP encapsulado dentro dele. A sesso PPP estabelecida entre o computador do usurio e o roteador agregador.

Aggregation Router Local Loop ATM DSLAM OC3 ATM

AAA

ISP/Corp Router
Figura 5.55 Dados sobre ADSL: PPPoE.

O protocolo PPPoE (PPP over Ethernet) trabalha com a tecnologia Ethernet, que usada para ligar a placa de rede ao modem, permitindo a autenticao para a conexo e a aquisio de um endereo IP para a mquina do usurio. por isso que cada vez mais as empresas que oferecem ADSL usam programas ou o navegador de internet do usurio para que este se autentique. A Figura 5.56 ilustra as pilhas de protocolos envolvidas quando dados so enviados numa conexo ADSL utilizando PPPoE (PPP encapsulado em quadros Ethernet).

216

Arquitetura e Protocolos de Rede TCP-IP

Host PC
IP PPP

Roteador de agregao
IP PPP

PPPoE
Ethernet IP 182.183.1.3/24 GW=182.183.1.1

ADSL modem
Ethernet Ethernet ATM ADSL

PPPoE DSLAM
ADSL SDH Ethernet ATM ADSL

Servidor DHCP

Loop local ATM CPE (Bridging) IP 182.183.1.4/24 GW=182.183.1.1


Figura 5.56 Pilhas de protocolos de dados sobre ADSL: PPPoE.

OC3 DSLAM

ATM Roteador de agregao ISP/Corp Router

Essa soluo permite que a conexo PPP iniciada no roteador de agregao do provedor ( Aggregation Router ) seja terminada no Host PC do usurio. Isto possvel porque o Host PC tem placa de rede Ethernet. por causa disso que o modem ADSL do provedor opera na modalidade de bridging, conectado porta Ethernet do Host PC atravs de um cabo par tranado com conectores RJ-45, como se fosse um simples switch. Observe que, no lado do Host PC, o quadro PPP encapsulado no quadro Ethernet (PPP over Ethernet PPPoE) e assim que ele chega no modem ADSL. No outro lado do modem ADSL, o protocolo de camada de enlace ATM sobre ADSL na camada fsica. O DSLAM (DSL Access Multiplexor) multiplexa as conexes ATM em um enlace OC3 (155 Mbps) sobre SDH (Synchronous Digital Hierarchy) na camada fsica. Esse enlace OC3 termina no roteador de agregao do provedor onde toda a pilha de protocolos criada no Host PC desencapsulada. O datagrama IP ento extrado do quadro PPP e roteado para a internet atravs da rede do provedor.

217

Captulo 5 - Protocolos de enlace

218

Arquitetura e Protocolos de Rede TCP-IP

Roteiro de Atividades 5
Atividade 5.1 Configurao de VLANs
Esta atividade est dividida em quatro etapas:
1. Descrio do caso; 2. Projeto da rede; 3. Configurao e verificao de VLANs em switches; 4. Interconexo de VLANs via roteador.

Descrio do caso
Suponha que a voc foi atribuda a tarefa de projetar e implementar a configurao dos equipamentos de uma rede corporativa, para interligar 50 dispositivos de rede (estaes de trabalho, servidores e impressoras de rede). O prdio da empresa possui 3 andares e 4 departamentos. A tabela seguinte lista a localizao fsica, quantidade de cada tipo de dispositivo e departamento a que pertence cada um. Andar 1 1 1 1 1 1 Equipamento Computador Servidor Impressora Computador Servidor Impressora Total 2 2 2 2 2 2 2
Figura 5.57 Lista de equipamentos.

Qtde 2 1 1 5 4 2 15 2 1 1 2 1 6 2 2 17

Departamento Administrativo Administrativo Administrativo Tecnologia Tecnologia Tecnologia

Computador Servidor Impressora Computador Impressora Computador Servidor Impressora Total

Administrativo Administrativo Administrativo Diretoria Diretoria


Captulo 5 - Roteiro de Atividades

Marketing Marketing Marketing

219

Andar 3 3 3 3 3 3 3 3 3

Equipamento Computador Computador Servidor Impressora Computador Servidor Impressora Computador Impressora Total

Qtde 1 3 2 2 5 1 1 2 1 18

Departamento Administrativo Diretoria Diretoria Diretoria Marketing Marketing Marketing Tecnologia Tecnologia

Na lista de compras da empresa esto homologados apenas switches de 24 portas Fast Ethernet e com duas portas GigabitEthernet de uplink (similar ao 2950 da Cisco) e um roteador com 3 interfaces seriais e 2 interfaces FastEthernet (similar ao 29xx da Cisco). Leve em considerao que a maior parte do trfego intradepartamental. Considere ainda que: 11 VLANs devem ser utilizadas para separar os domnios de broadcast das redes departamentais. 11 Deve ser criada uma VLAN apenas para gerncia dos dispositivos de rede. 11 No preciso se preocupar com a disposio dos equipamentos pelas portas de cada switch, pois haver infraestrutura de cabeamento estruturado para dar total flexibilidade nesta tarefa. Ou seja, voc pode arbitrar em que porta deseja colocar cada equipamento. 11 Haver uma sala de telecomunicaes em cada andar, com bastidor para cada switch e servidores departamentais.

Projeto da rede
1. Uma das possveis solues de configurao a seguinte:

11 Um switch por andar, uma vez que em todos os andares existem menos de 24 equipamentos; 11 Os switches devem estar interligados pelas portas de uplink Gigabit Ethernet que devem ser configuradas em modo trunk link; 11 Um roteador com uma porta Ethernet;
Arquitetura e Protocolos de Rede TCP-IP

11 Cinco VLANs, uma para cada um dos 4 departamentos e uma para gerncia.

220

2. Uma possvel soluo de endereamento IP a seguinte:

Rede Gerncia Administrao


Figura 5.58 Endereos dos gateways padro das sub-redes.

Endereamento IP 10.0.10.0/24 10.0.20.0/24 10.0.30.0/24 10.0.40.0/24 10.0.50.0/24

Default Gateway 10.0.10.254/24 10.0.20.254/24 10.0.30.254/24 10.0.40.254/24 10.0.50.254/24

VLAN ID 1 2 3 4 5

Diretoria Marketing Tecnologia

Configurao e verificao de VLANs em switches


1. Inicie o programa NetSimk. 2. Clique em File/Open. 3. Selecione o arquivo Rede_Atividade5_1.nsw.

A topologia mostrada representa a soluo descrita anteriormente. Os PCs j esto configurados com endereo IP, mscara de rede e gateway default. Vamos configurar os 3 switches , de modo a colocar todos os computadores em suas respectivas VLANs. Para isso utilizaremos os PCs com cabos de console para configurar os switches, na porta serial COM indicada na ligao.

221

Captulo 5 - Roteiro de Atividades

Adm3

Dir3

Mkt3

10.0.20.9 VLAN2

10.0.30.4 VLAN3

10.0.40.11 VLAN4

Tec3 Fa0/1 Fa0/2 Fa0/9

SW3
IP Ger VLAN1: 10.0.10.3

Fa0/16 Fa0/24 Gi0/1

10.0.50.12 VLAN5

Dir2

Adm2

Ger3

2
10.0.10.6 VLAN1

10.0.30.1 VLAN3 Mkt2

10.0.20.5 VLAN2

Trunk
Fa0/5 10.0.40.1 VLAN4 Ger2 Fa0/8 Fa0/24 Fa0/1

SW2
IP Ger VLAN1: 10.0.10.2 Gi0/1

1
10.0.10.5 VLAN1

Trunk 2

Router

Gi0/1 F0/0 Fa0/23

Gi0/2 Fa0/1 Fa0/24 Fa0/5

Adm1

1
Arquitetura e Protocolos de Rede TCP-IP

SW1 Default Gateways:


VLAN:10.0.10.254 VLAN:10.0.20.254 VLAN:10.0.30.254 VLAN:10.0.40.254 VLAN:10.0.50.254 Ger1 IP Ger VLAN1: 10.0.10.1

10.0.20.1 VLAN2

Tec1

10.0.10.4 VLAN1

10.0.50.1 VLAN5
Figura 5.59 Topologia da rede do laboratrio.

222

Para melhor visualizar a configurao dos switches, usaremos como referncia a figura a seguir, onde est esquematizada a configurao de cada switch.

3 andar G0/1

SW3

VLAN2 - ADM (F0/1) VLAN3 - DIR (F0/2-8) VLAN4 - MKT (F0/9-15) VLAN5 - TEC (F0/16-18)

G0/1

VLAN1 - GER (F0/19-24)

2 andar
SW2

Trunk 802.1 Q
VLAN2 - ADM (F0/1-4) VLAN3 - DIR (F0/5-7) VLAN4 - MKT (F0/8-17) VLAN1 - GER (F-18-24)

G0/1

1 andar G0/1 F0/0

Trunk 802.1 Q
VLAN2 - ADM (F0/1-4) VLAN5 - TEC (F0/5-15)

Figura 5.60 Diagrama de ligaes da rede do laboratrio.

G0/2 F0/23

VLAN1 - GER (F0/16-22,24) SW1

Roteador

4. Configurao de VLANs no Sw1:

Sw1>enable Sw1#conf t Enter configuration commands, one per line. Sw1(config)#interface FastEthernet0/1 Sw1(config-if)#switchport access vlan 2 % Access VLAN does not exist. Creating vlan 2 Sw1(config-if)#switchport mode access Sw1(config-if)#interface FastEthernet0/5 Sw1(config-if)#switchport access vlan 5
Captulo 5 - Roteiro de Atividades

End with CNTL/Z.

% Access VLAN does not exist. Creating vlan 5 Sw1(config-if)#switchport mode access Sw1(config-if)#interface FastEthernet0/24 Sw1(config-if)#switchport access vlan 1 Sw1(config-if)#switchport mode access Sw1(config-if)#Ctrl-Z Sw1#sh vlan brief

223

VLAN Name

Status

Ports

---- ---------------------- --------- ------------------------------1 default active Fa0/2, Fa0/3, Fa0/4, Fa0/6 Fa0/7, Fa0/8, Fa0/9, Fa0/10 Fa0/11, Fa0/12, Fa0/13, Fa0/14 Fa0/15, Fa0/16, Fa0/17, Fa0/18 Fa0/19, Fa0/20, Fa0/21, Fa0/22 Fa0/23, Fa0/24, Gi0/1, Gi0/2

2 5

VLAN0002 VLAN0005

active active act/unsup act/unsup act/unsup act/unsup

Fa0/1 Fa0/5

1002 fddi-default 1003 token-ring-default 1004 fddinet-default 1005 trnet-default Sw1#

5. Configurao de VLANs no Sw2:

Sw2>en Sw2#conf t Enter configuration commands, one per line. Sw2(config)#interface FastEthernet0/1 Sw2(config-if)#switchport access vlan 2 % Access VLAN does not exist. Creating vlan 2 Sw2(config-if)#switchport mode access
Arquitetura e Protocolos de Rede TCP-IP

End with CNTL/Z.

Sw2(config-if)#interface FastEthernet0/5 Sw2(config-if)#switchport access vlan 3 % Access VLAN does not exist. Creating vlan 3 Sw2(config-if)#switchport mode access Sw2(config-if)#interface FastEthernet0/8 Sw2(config-if)#switchport access vlan 4 % Access VLAN does not exist. Creating vlan 4

224

Sw2(config-if)#switchport mode access Sw2(config)#interface FastEthernet0/24 Sw2(config-if)#switchport access vlan 1 Sw2(config-if)#switchport mode access Sw2#sh vlan brief

VLAN Name

Status

Ports

---- ---------------------- --------- ------------------------------1 default active Fa0/2, Fa0/3, Fa0/4, Fa0/6 Fa0/7, Fa0/9, Fa0/10, Fa0/11 Fa0/12, Fa0/13, Fa0/14, Fa0/15 Fa0/16, Fa0/17, Fa0/18, Fa0/19 Fa0/20, Fa0/21, Fa0/22, Fa0/23 Fa0/24, Gi0/1, Gi0/2 2 3 4 VLAN0002 VLAN0003 VLAN0004 active active active act/unsup act/unsup act/unsup act/unsup Fa0/1 Fa0/5 Fa0/8

1002 fddi-default 1003 token-ring-default 1004 fddinet-default 1005 trnet-default Sw2#


6. Configurao de VLANs no Sw3:

Sw3>en Sw3#conf t Enter configuration commands, one per line. Sw3(config)#interface FastEthernet0/1 Sw3(config-if)#switchport access vlan 2 % Access VLAN does not exist. Creating vlan 2 Sw3(config-if)#switchport mode access Sw3(config-if)#interface FastEthernet0/2 Sw3(config-if)#switchport access vlan 3 End with CNTL/Z.
Captulo 5 - Roteiro de Atividades

225

% Access VLAN does not exist. Creating vlan 3 Sw3(config-if)#switchport mode access Sw3(config-if)#interface FastEthernet0/9 Sw3(config-if)#switchport access vlan 4 % Access VLAN does not exist. Creating vlan 4 Sw3(config-if)#switchport mode access Sw3(config-if)#interface FastEthernet0/16 Sw3(config-if)#switchport access vlan 5 % Access VLAN does not exist. Creating vlan 5 Sw3(config-if)#switchport mode access Sw3(config-if)#interface FastEthernet0/24 Sw3(config-if)#switchport access vlan 1 Sw3(config-if)#switchport mode access Sw3#sh vlan brief VLAN Name Status Ports

---- ---------------------- --------- ------------------------------1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6 Fa0/7, Fa0/8, Fa0/10, Fa0/11 Fa0/12, Fa0/13, Fa0/14, Fa0/15 Fa0/17, Fa0/18, Fa0/19, Fa0/20 Fa0/21, Fa0/22, Fa0/23, Fa0/24 Gi0/1, Gi0/2 2 3 4
Arquitetura e Protocolos de Rede TCP-IP

VLAN0002 VLAN0003 VLAN0004 VLAN0005

active active active active act/unsup act/unsup act/unsup act/unsup

Fa0/1 Fa0/2 Fa0/9 Fa0/16

1002 fddi-default 1003 token-ring-default 1004 fddinet-default 1005 trnet-default Sw3#

226

7. Faremos agora a configurao IP para gerncia dos switches:

Sw1#conf t Enter configuration commands, one per line. Sw1(config)#interface vlan 1 Sw1(config-if)#ip address 10.0.10.1 255.255.255.0 Sw1(config-if)#no shutdown Sw1(config-if)# %LDXX - Interface vlan 1, changed state to up Sw1(config-if)#ex Sw1(config)#ip default-gateway 10.0.10.254 End with CNTL/Z.

Sw2#conf t Enter configuration commands, one per line. Sw2(config)#interface vlan 1 Sw2(config-if)#ip address 10.0.10.2 255.255.255.0 Sw2(config-if)#no shutdown Sw2(config-if)# %LDXX - Interface vlan 1, changed state to up Sw2(config-if)#ex Sw2(config)#ip default-gateway 10.0.10.254 End with CNTL/Z.

Sw3#conf t Enter configuration commands, one per line. Sw3(config)#interface vlan 1 Sw3(config-if)#ip address 10.0.10.3 255.255.255.0 Sw3(config-if)#no shutdown Sw3(config-if)# %LDXX - Interface vlan 1, changed state to up Sw3(config-if)#ex Sw3(config)#ip default-gateway 10.0.10.254
Caso executasse um comando ping de qualquer computador para outro em uma mesma VLAN, voc obteria sucesso? Para responder a essa pergunta, vamos fazer o seguinte teste: Execute o comando ping de Adm3 (IP: 10.0.20.9) para Adm2 (IP: 10.0.20.5), ambos da VLAN2.
Captulo 5 - Roteiro de Atividades

End with CNTL/Z.

227

O resultado deve ser parecido com o mostrado a seguir:

C:>ping 10.0.20.5 Pinging 10.0.20.5 with 32 bytes of data: Ping request timed out. Ping request timed out. Ping request timed out. Ping request timed out.
O ping no funcionou porque as portas Gigabit Ethernet dos switches Sw1, Sw2 e Sw3 no foram configuradas como trunking link. Portanto, os entroncamentos de VLAN no foram montados. Para mont-los, ser necessrio digitar os seguintes comandos nos 3 switches:

Sw1#conf t Enter configuration commands, one per line. Sw1(config)#int gi0/1 Sw1(config-if)#switchport mode trunk Sw1(config-if)#int gi0/2 Sw1(config-if)#switchport mode trunk Sw1(config-if)#
Aps configurar todos os switches, para verificar se as portas Gigabit Ethernet esto up, digite o comando:

End with CNTL/Z.

Sw1#sh int gi0/1 GigabitEthernet0/1 is up, line protocol is up (connected) Hardware is Fast Ethernet, address is 932E.4600.101A (bia 932E.4600.101A) MTU 1500 bytes, BW 0 Kbit, DLY 2000 usec, rely 255/255, load 1/255 Encapsulation ARPA, loopback not set, keepalive set (10 sec) Full-duplex, 1000Mb/s, media type is 1000BaseTX ARP type: ARPA, ARP timeout 00:05:00
Arquitetura e Protocolos de Rede TCP-IP

..blah blah blah - look at a real device... -- all sorts of stats such as packet rate, bad packets, broadcast packet count, late collision count, runts (pkt too small), giants (pkt too big) etc...
Idem para a porta gi0/2, quando for usada.

228

Agora o ping deve funcionar, conforme mostrado na listagem a seguir.

C:>ping 10.0.20.5 Pinging 10.0.20.5 with 32 bytes of data: Ping request timed out. Reply from 10.0.20.5 on Eth, time<10ms TTL=128 Reply from 10.0.20.5 on Eth, time<10ms TTL=128 Reply from 10.0.20.5 on Eth, time<10ms TTL=128
Se no funcionar, corrija o erro. Se precisar, pea ajuda. Caso voc executasse um comando ping de qualquer computador para outro em outra VLAN, voc obteria sucesso? Para responder a essa pergunta, vamos fazer o seguinte teste: Execute o comando ping de Adm3 (IP: 10.0.20.9) da VLAN2 para Dir3 (IP: 10.0.30.4) da VLAN3. O resultado deve ser parecido com o mostrado a seguir.

C:>ping 10.0.30.4 Pinging 10.0.30.4 with 32 bytes of data: Ping request timed out. Ping request timed out. Ping request timed out. Ping request timed out.
O ping no funcionou porque o roteamento entre VLANs no est configurado.

Interconexo de VLANs via roteador


Configurao de switches e roteador para roteamento entre VLANs. O roteador deve ficar no primeiro andar, ligado diretamente ao switch Sw1 em Fast Ethernet, j que no possui interface Gigabit Ethernet. Esta interface deve ter 5 subinterfaces para permitir o roteamento de trfego entre as 5 VLANs. preciso criar tambm um IP para cada subinterface do roteador em cada uma das 5 VLANs, com especificao do ID de VLAN, conforme a tabela abaixo. Subinterface F0/0.1 F0/0.2 F0/0.3
Figura 5.61 subinterfaces do roteador.

Endereo IP 10.0.10.254/24 10.0.20.254/24 10.0.30.254/24 10.0.40.254/24 10.0.50.254/24

VLAN ID 1
Captulo 5 - Roteiro de Atividades

2 3 4 5

F0/0.4 F0/0.5

229

Configurao do roteador
Router>en Router#conf t Enter configuration commands, one per line. Router(config)#interface FastEthernet0/0.1 Router(config-subif)#description VLAN1 Router(config-subif)#encapsulation dot1q 1 Router(config-subif)#ip address 10.0.10.254 255.255.255.0 Router(config-subif)# %LDXX - Line protocol on Interface FastEthernet0/0, changed state to up %LDXX - Line protocol on Interface FastEthernet0/0.1, changed state to up Router(config-subif)#interface FastEthernet0/0.2 Router(config-subif)#description VLAN2 Router(config-subif)#encapsulation dot1q 2 Router(config-subif)#ip address 10.0.20.254 255.255.255.0 Router(config-subif)# %LDXX - Line protocol on Interface FastEthernet0/0.2, changed state to up Router(config-subif)#interface FastEthernet0/0.3 Router(config-subif)#description VLAN3 Router(config-subif)#encapsulation dot1q 3 Router(config-subif)#ip address 10.0.30.254 255.255.255.0 Router(config-subif)# %LDXX - Line protocol on Interface FastEthernet0/0.3, changed state to up
Arquitetura e Protocolos de Rede TCP-IP

End with CNTL/Z.

Router(config-subif)#interface FastEthernet0/0.4 Router(config-subif)#description VLAN4 Router(config-subif)#encapsulation dot1q 4 Router(config-subif)#ip address 10.0.40.254 255.255.255.0 Router(config-subif)# %LDXX - Line protocol on Interface FastEthernet0/0.4, changed state to up Router(config-subif)#interface FastEthernet0/0.5

230

Router(config-subif)#description VLAN5 Router(config-subif)#encapsulation dot1q 5 Router(config-subif)#ip address 10.0.50.254 255.255.255.0 Router(config-subif)# %LDXX - Line protocol on Interface FastEthernet0/0.5, changed state to up

Configurao da porta do switch para o roteador


Sw1>enable Sw1#conf t Enter configuration commands, one per line. Sw1(config)#interface FastEthernet0/23 Sw1(config-if)#switchport mode trunk
Vamos agora repetir o ltimo teste: Execute o comando ping de Adm3 (IP: 10.0.20.9) da VLAN2 para Dir3 (IP: 10.0.30.4) da VLAN3.

End with CNTL/Z.

C:>ping 10.0.30.4 Pinging 10.0.30.4 with 32 bytes of data: Ping request timed out. Reply from 10.0.30.4 on Eth, time<10ms TTL=127 Reply from 10.0.30.4 on Eth, time<10ms TTL=127 Reply from 10.0.30.4 on Eth, time<10ms TTL=127
Desta vez funcionou, porque o roteamento entre as VLANs est configurado corretamente.

Atividade 5.2 Configurao do protocolo PPP


Configure dois roteadores 2501 de modo a estabelecer um enlace WAN ponto-a-ponto com o protocolo PPP, conforme a figura abaixo, utilizando o simulador NetSimk. Proceda con forme o roteiro. Os roteadores esto conectados back to back usando cabo DTE de um lado e cabo DCE de outro. Nesse caso, o roteador DF ser o DCE e o roteador RJ ser o DTE.

1
Figura 5.62 Rede da Atividade 5.2.

S0 DCE Roteador

S0 Roteador

Os endereos IP das interfaces dos roteadores esto descritos na tabela a seguir. Nome do roteador DF RJ Tipo de interface DCE DTE Endereo IP 20.0.0.1 20.0.0.2 Mscara de rede 255.0.0.0 255.0.0.0

231

Captulo 5 - Roteiro de Atividades

DF

RJ

1. Configure os nomes de cada roteador.

Inicie o simulador Netsimk e carregue a rede Rede_Atividade5_2.nsw, conforme a Figura 5.62. Para configurar o nome dos roteadores, faa o seguinte: D um duplo clique no PC de console do roteador DF. Em seguida, ative o HyperTerminal com um duplo clique. Na tela que surgir, digite os comandos:

Router>en Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#hostname DF DF(config)# DF#
Idem para o roteador RJ, desta vez usando o outro PC de console:

Router>en Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#hostname RJ RJ(config)# RJ#
Neste ponto a sua figura deve ser idntica mostrada anteriormente.
2. Sem alterar o modo de encapsulamento, configure e ative a interface do roteador RJ.

Note que esta interface est operando como DTE. Usando o PC console do roteador RJ conforme mostrado acima, digite os comandos:

RJ#conf t Enter configuration commands, one per line. End with CNTL/Z. RJ(config)#int ser0 RJ(config-if)#ip address 20.0.0.2 255.0.0.0 RJ(config-if)#no shut
Arquitetura e Protocolos de Rede TCP-IP

RJ(config-if)# RJ#

232

3. Sem alterar o modo de encapsulamento, configure e ative a interface do roteador DF.

Note que esta interface est operando como DCE e, portanto, precisa ter configurada a taxa de transmisso para fornecer o clock no enlace (clock rate).

DF#conf t Enter configuration commands, one per line. End with CNTL/Z. DF(config)#int ser0 DF(config-if)#ip address 20.0.0.1 255.0.0.0 DF(config-if)#clock rate 64000 DF(config-if)#no shut DF(config-if)# DF# %LDXX - Line protocol on Interface Serial 0, changed state to up DF#
Conforme a ltima mensagem, o enlace WAN est ativo (up).
4. Para o roteador DF, verifique o estado da interface serial 0, digitando o comando:

DF#sh int ser0 Serial 0 is up, line protocol is up Hardware is HD64570 Internet address is 20.0.0.1/8 MTU 1500 bytes, BW 10000 Kbit, DLY 2000 usec, rely 255/255, load 1/255 Encapsulation HDLC, loopback not set, keepalive set (10 sec) ...blah blah blah - stats & settings - blah ... DF#
Note que o encapsulamento HDLC, por default.
5. Para o roteador RJ, verifique o estado da interface serial 0 digitando o comando:

RJ#sh int ser0 Serial 0 is up, line protocol is up Hardware is HD64570 Internet address is 20.0.0.2/8 MTU 1500 bytes, BW 10000 Kbit, DLY 2000 usec, rely 255/255, load 1/255 Encapsulation HDLC, loopback not set, keepalive set (10 sec) ...blah blah blah - stats & settings - blah ... RJ#
233
Captulo 5 - Roteiro de Atividades

Note que o encapsulamento HDLC, por default.


6. Execute um comando ping de um roteador para outro. Funciona? Caso no funcione,

verifique todas as configuraes e corrija o erro. O resultado deve ser parecido ao mostrado a seguir:

DF#ping 20.0.0.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echoes to 20.0.0.2. Timeout is 2 seconds: !!!!! Success rate is 100% (5/5), round trip min/avg/max = 8/9/10 ms DF#
7. Altere o encapsulamento para PPP em ambos os roteadores. Para isso, digite os seguintes

comandos nos respectivos consoles dos roteadores:

DF#conf t Enter configuration commands, one per line. End with CNTL/Z. DF(config)#int ser0 DF(config-if)#encap ppp DF(config-if)# %LDXX - Line protocol on Interface Serial 0, changed state to down DF(config-if)# DF#
Note que a interface est inativa (down). Por qu? Simplesmente porque a interface do roteador RJ na outra ponta do enlace est configurada com encapsulamento HDLC. A mesma coisa aconteceu com a interface do roteador RJ.

RJ#conf t Enter configuration commands, one per line. End with CNTL/Z. RJ(config)#int ser0
Arquitetura e Protocolos de Rede TCP-IP

RJ(config-if)#encap ppp RJ(config-if)# %LDXX - Line protocol on Interface Serial 0, changed state to up RJ(config-if)# RJ#
Agora as duas interfaces esto ativas (up), uma vez que o encapsulamento est igual em ambas.

234

8. Verificando o estado das interfaces dos dois roteadores:

DF#sh int ser0 Serial 0 is up, line protocol is up Hardware is HD64570 Internet address is 20.0.0.1/8 MTU 1500 bytes, BW 10000 Kbit, DLY 2000 usec, rely 255/255, load 1/255 Encapsulation PPP, loopback not set, keepalive set (10 sec) LCP Open Open: IPCP, CDPCP ...blah blah blah - stats & settings - blah ... DF#

RJ#sh int ser0 Serial 0 is up, line protocol is up Hardware is HD64570 Internet address is 20.0.0.2/8 MTU 1500 bytes, BW 10000 Kbit, DLY 2000 usec, rely 255/255, load 1/255 Encapsulation PPP, loopback not set, keepalive set (10 sec) LCP Open Open: IPCP, CDPCP ...blah blah blah - stats & settings - blah ... RJ#
9. Execute um comando ping de um roteador para outro. Funciona? Caso no funcione,

verifique todas as configuraes e corrija o erro. O resultado deve ser parecido ao mostrado a seguir:

RJ#ping 20.0.0.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echoes to 20.0.0.1. Timeout is 2 seconds: !!!!! Success rate is 100% (5/5), round trip min/avg/max = 8/10/11 ms RJ#
Captulo 5 - Roteiro de Atividades

235

10. Utilizando a autenticao CHAP, configure o nome e a senha do usurio no roteador DF.

Siga o seguinte roteiro:

DF#conf t Enter configuration commands, one per line. End with CNTL/Z. DF(config)#username RJ password esrrnp DF(config)#int ser0 DF(config-if)#ppp authentication chap DF#
11. Execute um comando ping de um roteador para outro. Funciona? Por qu?

No funciona porque apenas um dos roteadores foi configurado com autenticao. O resul tado deve ser semelhante ao apresentado a seguir:

DF#ping 20.0.0.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echoes to 20.0.0.2. Timeout is 2 seconds: ..... Success rate is 0% (0/5), round trip min/avg/max = 0/0/0 ms DF#
12. Configure o nome e a senha do usurio no roteador RJ.

Siga o seguinte roteiro:

RJ#conf t Enter configuration commands, one per line. End with CNTL/Z. RJ(config)#username DF password esrrnp RJ(config)#int ser0 RJ(config-if)#ppp authentication chap RJ#
Arquitetura e Protocolos de Rede TCP-IP

13. Execute um comando ping de um roteador para outro. Funciona? Caso no funcione,

verifique todas as configuraes e corrija o erro. O resultado deve ser parecido ao mostrado a seguir:

RJ#ping 20.0.0.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echoes to 20.0.0.1. Timeout is 2 seconds:

236

!!!!! Success rate is 100% (5/5), round trip min/avg/max = 8/10/10 ms RJ#

Notas
1. Ao final da atividade, os alunos devem salvar o arquivo corretamente configurado e

funcionando com outro nome diferente de Rede_Atividade5_2.nsw (por exemplo: Rede_ Atividade5_2_OK.nsw ).
2. Embora a rede esteja funcionando corretamente, quando o arquivo corrigido carregado

novamente, o simulador acusa um erro de enable password. Alm disso, os comandos ping entre os roteadores deixam de funcionar, ou seja, a conectividade entre eles perdida. Essa mensagem de erro informada quando clicamos no boto Check Configuration (boto verde no canto inferior direito).
3. Para corrigir esse erro, necessrio digitar os seguintes comandos em ambos os roteadores:

RJ#conf t Enter configuration commands, one per line. End with CNTL/Z. RJ(config)#enable password esrrnp RJ(config)# RJ# DF#conf t Enter configuration commands, one per line. End with CNTL/Z. DF(config)#enable password esrrnp DF(config)# DF#
4. Agora os comandos ping devem funcionar. Quando for digitado o comando enable no incio

da operao de console dos roteadores, ser solicitada uma senha. Basta digitar esrrnp.

237

Captulo 5 - Roteiro de Atividades

238

Arquitetura e Protocolos de Rede TCP-IP

6
Camada de rede
objetivos
Descrever as caractersticas do protocolo IPv4, os campos do cabealho e o processamento dos datagramas. Apresentar as principais mensagens de erro e controle do protocolo ICMP, ilustrando seu uso em aplicaes de administrao de redes.

conceitos

Funcionalidades e caractersticas da camada de rede: servio de entrega de datagramas e roteamento.

Este captulo trata das funcionalidades e caractersticas da camada de rede: servio de entrega de datagramas e roteamento. Descreve as caractersticas do protocolo IPv4, os campos do cabealho e o processamento dos datagramas. Tambm apresenta as principais mensagens de erro e controle do protocolo ICMP, ilustrando seu uso em algumas aplicaes de administrao de redes. J vimos que a estrutura de interconexo de inter-redes TCP/IP composta por um conjunto de redes fsicas interconectadas por roteadores, que permitem que as vrias estaes se comuniquem entre si. Para que isso ocorra, as estaes e roteadores devem suportar um servio de entrega de pacotes que aceite datagramas IP e os encaminhe at o destino final, possivelmente por meio de diversas redes e roteadores intermedirios.

Funcionalidades da camada de rede


O servio de entrega aceita e encaminha os datagramas at o destino final, possivel mente por meio de redes e roteadores intermedirios. J o roteamento determina o caminho ou rota que cada datagrama deve seguir para alcanar a rede de destino. Caractersticas da camada de rede: 11 Servio no confivel.

11 Pode perder, retardar e duplicar datagramas. 11 No garante a integridade dos dados. Servio sem conexo: 11 Datagramas so individuais e independentes. 11 Sequncia dos datagramas no assegurada.

239

Captulo 6 - Camada de rede

11 No garante a entrega dos datagramas.

Paradigma de melhor esforo: 11 Descarta datagramas apenas em condies de falta de recursos ou erros de transmisso.

Na arquitetura TCP/IP, a camada de rede responsvel por prover e implementar o servio de entrega de datagramas. Tecnicamente, esse servio de entrega definido como um servio no confivel e sem conexo, que opera usando o paradigma de melhor esforo. Vamos entender melhor o que significa no confivel, sem conexo e paradigma de melhor esforo. O servio de entrega de datagramas da arquitetura TCP/IP considerado no confivel porque no garante que os datagramas sejam entregues com sucesso aos respectivos destinos finais. O servio de entrega tambm no garante que o contedo dos datagramas entregues com sucesso esteja correto, pois nenhum mecanismo de deteco de erros aplicado no campo de dados dos datagramas. O mecanismo de deteco de erros aplicado somente sobre o cabealho do datagrama (Header checksum). A confiabilidade, se desejada, deve ser provida pelas camadas de transporte ou aplicao. O servio chamado sem conexo pelo fato de, antes do envio dos datagramas, no existir qualquer comunicao prvia entre as estaes de origem e destino. Assim, a estao origem apenas monta o datagrama, acrescenta as informaes de endereamento que permitem o seu encaminhamento at o destino e o envia ao prximo roteador intermedirio ou, quando possvel, diretamente estao destino. Cada datagrama tratado de forma individual e completamente independente dos demais. Logo, nenhuma informao mantida sobre a sequncia dos datagramas enviados e assim no possvel descobrir se um pacote foi recebido duplicado, fora de ordem ou perdido. Uma analogia pode ser feita com o servio de carta simples do correio postal. O paradigma de melhor esforo (best effort ) recebe essa designao porque tenta realizar a entrega dos pacotes com o melhor aproveitamento possvel. Ou seja, pacotes somente so descartados em condies de escassez de recursos ou erros de transmisso que impeam a entrega. Por exemplo, quando um roteador no dispe de buffer de recepo, pacotes so simplesmente descartados.
Buffer Espao de memria reservado para armazenar pacotes recebidos (buffer de recepo) ou a serem enviados (buffer de transmisso).

Roteamento de redes
Modelo passo-a-passo: 11 Estaes de uma mesma rede podem enviar datagramas diretamente entre si. 11 Estaes de redes distintas devem enviar datagramas ao prximo roteador do caminho (next-hop).
Arquitetura e Protocolos de Rede TCP-IP

q
Roteamento hop-by-hop Tcnica de roteamento em que a estao origem e cada roteador intermedirio entregam o datagrama ao prximo roteador do caminho, at que algum deles possa entregar o datagrama diretamente estao destino.

Tabela de roteamento: 11 Mantm rotas para as diversas redes ou estaes. 11 Rotas indicam apenas o prximo roteador do caminho. Para realizar a entrega de datagramas, a camada de rede deve executar a funo de roteamento, determinando o caminho ou rota que cada datagrama deve seguir para alcanar a estao de destino. Na arquitetura TCP/IP, a camada de rede adota o modelo de roteamento hop-by-hop (passo-a-passo). Nesse modelo, se as estaes origem e destino esto conectadas mesma rede fsica, a estao origem pode enviar o datagrama diretamente estao destino. No entanto, se as estaes origem e destino esto conectadas a redes fsicas distintas, a estao origem envia o datagrama ao prximo roteador do caminho (next-hop), que agora assume a responsabilidade de continuar encaminhando o datagrama ao destino.

240

Cada roteador intermedirio entrega o datagrama ao prximo roteador, at que algum deles possa entregar o datagrama diretamente estao destino. Como pode ser observado, a funo de roteamento explora os mecanismos de entrega direta e indireta.

Tabela de roteamento
A tabela de roteamento a estrutura de dados mantida por todas as estaes e roteadores de uma inter-rede. Ela contm informaes sobre as rotas para alcanar as possveis redes ou estaes de uma inter- rede. A implementao da camada de rede mantm em memria informaes de roteamento, armazenadas em uma tabela de roteamento. Essa tabela consultada para descobrir a rota a ser adotada para encaminhar cada datagrama. Na tabela de roteamento, as entradas representam as rotas para cada destino possvel da inter-rede. Cada rota sinaliza como alcanar uma determinada rede ou uma estao especfica. Vale ressaltar que, na prtica, as rotas geralmente apontam para redes, reduzindo o tamanho da tabela e tornando o roteamento mais eficiente. Alm de algumas informaes auxiliares, cada rota possui apenas o endereo IP do prximo roteador que deve ser usado para alcanar a rede ou estao indicada na rota. Geralmente, esse prximo roteador reside em uma rede diretamente conectada, permitindo que o datagrama lhe seja entregue. Observe que as rotas no indicam o caminho completo at o destino, mas apenas o endereo IP do prximo roteador. Assim, no modelo de roteamento da arquitetura TCP/IP, estaes origem e roteadores intermedirios no conhecem a rota completa at o destino.

Protocolos da camada de rede


11 IP prov o servio de entrega de datagramas e transporta informaes dos protocolos ICMP, IGMP, TCP e UDP. 11 ICMP permite a troca de mensagens de erro e controle entre entidades da camada de rede. 11 IGMP prov o servio de entrega multicast. Para prover o servio de entrega de datagramas e a funo de roteamento, a camada de rede da arquitetura TCP/IP define trs protocolos complementares:

11 IP o Internet Protocol prov um servio de entrega de datagrama no confivel. um dos mais importantes protocolos da famlia TCP/IP, pois todos os demais protocolos das camadas de rede e transporte dependem dele para entregar partes de suas informaes. Em outras palavras, ICMP, IGMP, UDP e TCP so diretamente encapsulados em datagramas IP. 11 ICMP o Internet Control Message Protocol auxilia o protocolo IP, sendo usado para trocar mensagens de erro e de controle, sinalizar situaes anormais de operao e permitir a identificao de informaes operacionais da rede.
Captulo 6 - Camada de rede

Saiba mais

Para mais detalhes, sugerimos aos interessados uma consulta ao livro: FALL, Kevin R.; STEVENS, W. Richard. TCP/IP Illustrated Volume 1: The Protocols. Addison Wesley, 2011.

11 IGMP o Internet Group Management Protocol responsvel pela entrega de datagramas a mltiplos destinos, suportando assim o mecanismo de entrega multicast da arquitetura TCP/IP. O estudo detalhado do protocolo IGMP est fora do escopo deste curso.

Protocolo IP
O protocolo IP define a unidade bsica de transferncia de dados, denominada data grama IP, especificando o formato e a funo dos campos. Ele executa a funo de roteamento e escolhe as rotas por onde os datagramas IP so enviados da origem para o destino. O protocolo IP ainda define as regras do servio de entrega:

241

11 Como datagramas so processados. 11 Como e quando erros so informados. 11 Quando datagramas so descartados. O protocolo IP define trs importantes conceitos: 11 Especifica, de forma precisa, o formato da unidade bsica de transferncia de dados usada em redes TCP/IP, denominada datagrama IP.

11 Executa a funo de roteamento, escolhendo os caminhos pelos quais os datagramas so enviados da estao origem para a estao destino. 11 Define um conjunto de regras para o servio de entrega de datagramas, que caracterizam a forma como estaes e roteadores devem processar datagramas, como e quando mensagens de erro devem ser geradas e as condies sob as quais datagramas podem ser descartados. Neste captulo, vamos identificar o formato e os campos dos datagramas IP, evidenciando como so utilizados para compor o servio de entrega de datagramas. Vamos discutir, tambm, as regras para o processamento de datagramas. Por enquanto, suficiente saber que a funo de roteamento seleciona os melhores caminhos atravs dos quais datagramas so enviados.

Campos do datagrama
11 Source IP address 22 Endereo IP da estao origem. 11 Destination IP address 22 Endereo IP da estao destino. 22 Usado no roteamento do datagrama. 11 Version 22 Verso do protocolo (IPv4). 11 Hlen 22 Tamanho do cabealho em unidades de 4 bytes. 11 Total length 22 Tamanho total do datagrama em bytes. 22 Cabealho e dados includos. 11 Time to Live (TTL)
Arquitetura e Protocolos de Rede TCP-IP

22 Nmero mximo de roteadores que podem processar o datagrama. 33 TTL decrementado a cada roteador, antes de processar o datagrama. 33 Roteador descarta o datagrama e gera mensagem de erro ICMP quando TTL atinge 0. 11 Protocol 22 Protocolo encapsulado no campo de dados. 11 Header checksum 22 Assegura a integridade do cabealho.

242

11 Options 22 Oferece informaes para teste e depurao. 22 Torna o tamanho do cabealho varivel. 11 Padding 22 Bits 0 que tornam o cabealho mltiplo de 32 bits. 11 Data 22 Dados do datagrama. 11 Type of Service (TOS) RFC 791 (original) 22 Indica a qualidade de servio desejada 33 Precedence: prioridade 33 D: menor retardo 33 T: maior vazo 33 R: maior confiabilidade 11 Differentiated Services Codepoint (DSCP) RFC 2474

Cada datagrama IP dividido em duas partes: cabealho e dados. O cabealho contm informaes de controle especficas do protocolo IP, como os endereos IP de origem e destino. A poro dos dados encapsula informaes de outros protocolos da prpria camada de rede (ICMP e IGMP) ou da camada de transporte (TCP e UDP). A Figura 6.1 ilustra o formato de datagramas IP, detalhando o formato dos campos que compem o cabealho.
0 Version 4 Hlen Identication Time to live Protocol Source IP address Destination IP address Options
Figura 6.1 Layout do datagrama IP.

8 Type of service

16

19 Total Length Flags Fragment oset Header checksum

31

Padding

Data

O formato do campo de dados no explicitamente definido, para permitir o encapsula mento de diferentes protocolos. 11 Source IP address e Destination IP address campos usados com o propsito de transportar os endereos IP das estaes origem e destino. Cada um desses campos possui exatamente 32 bits. Na estao origem e em cada roteador intermedirio, somente o campo Destination IP address usado para descobrir uma rota na tabela de roteamento, identificando o prximo roteador do caminho at a rede da estao destino. Por outro lado, na estao destino, o campo Destination IP address revela que o datagrama alcanou o destino final.
Captulo 6 - Camada de rede

243

11 Version campo que identifica a verso do protocolo IP usada para compor o datagrama. Todas as implementaes do protocolo IP devem verificar este campo, assegurando que a verso indicada pode ser processada corretamente. Caso contrrio, o datagrama simplesmente descartado. A verso mais utilizada do protocolo IP a 4, denominada IPv4; no entanto, a nova verso 6 (IPv6) dever substitu-la em breve. 11 Hlen Header length o campo que identifica o tamanho do cabealho em mltiplos de 32 bits. O tamanho do cabealho varivel, mas sempre mltiplo de 32 bits. Por exemplo, hlen igual a 5 representa um cabealho de 20 bytes. Geralmente, o cabealho possui 20 bytes, exceto quando opes esto presentes (options). O cabealho limitado a 60 bytes, pois hlen possui apenas 4 bits. 11 Total length campo que informa o tamanho total (cabealho + dados) do datagrama, em bytes. Se esse campo de 16 bits, ento o maior datagrama possvel tem 65.535 (216) bytes. Portanto, o tamanho do campo de dados pode ser calculado por: Total length 4 * Hlen. 11 Time to Live TTL o campo que informa o nmero mximo de roteadores por meio dos quais o datagrama pode ser encaminhado para alcanar o destino. Isso serve para evitar que datagramas circulem indefinidamente por causa de problemas de loops de roteamento. O valor inicial definido pela estao origem, que geralmente atribui o valor 32 ou 64. A partir de ento, cada roteador intermedirio que processa o datagrama deve decrementar de um o valor do TTL, antes de processar o datagrama. Quando o TTL assume o valor 0, o datagrama descartado e o roteador intermedirio envia uma mensagem de erro ICMP para a estao origem. 11 Protocol campo responsvel por identificar o protocolo encapsulado no campo de dados. Os valores 1, 2, 6 e 17 so padronizados para sinalizar o encapsulamento dos protocolos ICMP, IGMP, TCP e UDP, respectivamente. Esse campo usado na estao destino para realizar o desencapsulamento, entregando a unidade de dados encapsulada no datagrama IP ao protocolo indicado. 11 Header checksum campo utilizado para realizar a deteco de erros de transmisso no cabealho dos datagramas IP, de modo a assegurar sua integridade. Assim, o protocolo IP no assegura a integridade do campo de dados, mas apenas do cabealho. Essa abordagem reduz o tempo de processamento dos datagramas, mas impe que os protocolos encapsulados realizem a deteco e possvel correo de erros. Quando a implementao do protocolo IP detecta um erro no cabealho, o datagrama simplesmente descartado, e nenhuma mensagem de erro enviada estao origem. 11 Options apresenta lista de informaes opcionais, usadas principalmente para teste e depurao. Por exemplo, possvel indicar ou registrar a rota usada pelo datagrama, bem como sinalizar algumas restries de segurana. Essa lista possui um tamanho
Arquitetura e Protocolos de Rede TCP-IP

varivel, podendo aparecer vrias opes em um mesmo datagrama, embora, na prtica, raramente essas opes sejam usadas. Assim, as diversas opes existentes no sero avaliadas. 11 Padding campo que contm bits 0 que estendem o cabealho para torn-lo mltiplo de 32 bits. Assim, o campo Padding somente usado quando o campo Options, que varivel, no mltiplo de 32 bits. 11 Identification, Flags e Fragment offset campos usados no processo de fragmentao e remontagem de datagramas. Em funo de sua importncia, esse processo ser estu dado separadamente no prximo item.

244

11 Type of Service (TOS) campo usado para indicar a qualidade de servio desejada. Esse campo possui 8 bits. Na especificao do RFC 791 do IP, esse campo era dividido em 5 subcampos, conforme ilustra a Figura 6.2. Por no ser suportado por todas as implementaes do protocolo IP, a qualidade de servio requisitada no garantida no processamento e roteamento do datagrama.
Figura 6.2 Campo TOS segundo o RFC 791.

1 Precedence

3 D

4 T

5 R

6 Unused

Essa definio foi alterada posteriormente pelos RFCs 1349 e 2474. O campo Type of Service tambm utilizado para prover qualidade de servio em servios diferenciados (Differentiated services), conforme mostra a Figura 6.3, na qual a denominao atual DSCP (Differentiated Services CodePoint) U: unused.
Figura 6.3 Campo ToS segundo o RFC 2474.

3 DSCP

6 U

11 Precedence subcampo que possui 3 bits que sinalizam a prioridade de processamento do datagrama. Assim, 7 nveis de prioridade so definidos, com variao de normal (000) at controle de rede (111). 11 Subcampos D, T e R sinalizam o tipo de transporte requerido, auxiliando a funo de roteamento na seleo da rota mais adequada. Cada um desses subcampos possui apenas um nico bit. Os subcampos D, T e R requisitam rotas de menor retardo (delay),
Vazo Taxa de transmisso de dados obtida em um determinado enlace de rede ou conjunto de enlaces que compem a rota entre duas estaes. Em geral, a vazo medida em bits por segundo. Confiabilidade Grau de imunidade a erros de transmisso de um determinado enlace ou conjunto de enlaces que compem a rota entre duas estaes. Uma baixa confiabilidade representa que o canal de transmisso propenso a erros de transmisso. J uma alta confiabilidade representa que o canal de transmisso imune a erros.

maior vazo (throughput) e maior confiabilidade (reliability), respectivamente. Apenas um desses bits pode ser habilitado (1) em um datagrama. Se todos estiverem desabilitados (0), a funo de roteamento normal realizada.

Fragmentao e remontagem
Maximum Transmission Unit (MTU): 11 Cada tecnologia de rede fsica limita o tamanho mximo do quadro. 11 Tamanho mximo do datagrama depende da tecnologia de rede fsica utilizada. 11 Tamanho mximo do campo de dados de uma rede fsica denominado MTU. 11 MTU define o tamanho mximo do datagrama IP suportado na rede fsica. Fragmentao: 11 Processo de diviso de datagramas em pequenas partes, denominadas fragmentos. 11 Fragmentos e datagramas possuem formatos idnticos. 11 Datagrama original e seus respectivos fragmentos possuem cabealhos similares. 11 Fragmentos podem ser refragmentados.

11 Processo de recuperao do datagrama original a partir dos seus fragmentos. 11 realizada apenas no destino final dos fragmentos. 11 O datagrama original no pode ser remontado quando algum fragmento atrasa ou perdido. 22 Destino final ativa um temporizador aps a chegada de um fragmento. 22 Fragmentos recebidos aps expirar o temporizador so descartados.

245

Captulo 6 - Camada de rede

Remontagem:

Cada tecnologia de rede fsica impe um limite no tamanho mximo do quadro. Logo, o tamanho mximo do datagrama IP que pode ser encapsulado no campo de dados do quadro dependente da tecnologia da rede fsica utilizada. A Maximum Transmission Unit (MTU) ou unidade de transmisso mxima a forma de denominar esse limite. Ela define o tamanho mximo do datagrama IP que pode ser encapsulado no quadro daquela rede. Geralmente, a estao de origem seleciona o tamanho mximo de um datagrama IP com base na MTU da rede fsica diretamente conectada que ser usada para transmiti-lo. Como um datagrama pode ser encaminhado por redes fsicas distintas, com MTUs diferentes, o tamanho inicial do datagrama pode no ser adequado nas demais redes intermedirias. Isso requer algum mecanismo para dividir o datagrama em pequenas partes. Cada uma destas partes denominada fragmento, enquanto o processo de diviso dos datagramas denominado fragmentao. Cada fragmento possui o mesmo formato de um datagrama IP, com um cabealho semelhante ao cabealho do seu respectivo datagrama original. A Figura 6.4 mostra um cenrio em que o processo de fragmentao pode ocorrer. Sempre que a estao E1 enviar para a estao E2 datagramas maiores que 420 bytes, o roteador R1 deve fragmentar esses datagramas para envi-los atravs da rede N2, gerando fragmentos menores ou iguais a 420 bytes. A fragmentao tambm deve ocorrer quando a estao E2 enviar para a estao E1 datagramas maiores que 420 bytes. Porm, neste caso, o roteador R2 o responsvel pelo processo de fragmentao. possvel um fragmento ser diversas vezes fragmentado em outros roteadores ao longo do caminho at o destino. As informaes mantidas nos cabealhos dos fragmentos permitem a reconstruo do datagrama original, independente do nmero de fragmentaes ocorridas. E1 N1 R1 N2 R2 N3
Figura 6.4 Exemplo de fragmentao do datagrama IP Fragmentao Processo de diviso de um dado datagrama em outros datagramas menores, denominados fragmentos.

E2

MTU = 1500

MTU = 420

MTU = 1500

Antes de serem processados no destino final, fragmentos devem ser agrupados para produzir uma cpia do datagrama original. O processo de recuperao do datagrama original a partir dos seus fragmentos denominado remontagem. Para evitar diversas fragmentaes e remontagens, que consomem tempo de processamento dos roteadores e retardam a entrega dos datagramas, o processo de remontagem realizado apenas no destino final. Dessa forma, cada fragmento encaminhado como um datagrama indepen dente at o destino, onde, ento, o datagrama original remontado a partir dos seus respectivos fragmentos.
Arquitetura e Protocolos de Rede TCP-IP

Remontagem Processo de recuperao do datagrama original a partir dos diversos fragmentos gerados pela fragmentao.

Como o protocolo IP adota um servio de entrega no confivel, os fragmentos podem ser perdidos e, em consequncia, o datagrama original no pode ser remontado. Para tratar esse caso, um temporizador de remontagem iniciado quando um fragmento de um novo datagrama chega estao destino. Se esse tempo expira antes da chegada de todos os fragmentos, a estao simplesmente descarta os fragmentos recebidos e, assim, no remonta o datagrama original.

Controle de fragmentao
11 Identification nmero inteiro que identifica o datagrama original, copiado para cada fragmento.

246

11 Fragment Offset deslocamento dos dados do fragmento em relao ao datagrama original; indicado em unidades de 8 bytes. 11 Flags conjunto de trs bits que auxiliam o processo de fragmentao; apenas dois bits so usados. 11 Do not fragment desabilita a fragmentao. 11 More fragments indica se o fragmento transporta dados do fim do datagrama original.

Para controlar os processos de fragmentao e remontagem, o protocolo IP usa os campos Identification, Fragment offset e Flags : 11 Identification campo que contm um nmero inteiro que identifica o datagrama original. Quando ocorre a fragmentao, o campo Identification do datagrama simplesmente copiado para cada fragmento. Baseada nos campos Identification e Source IP address, a estao destino pode identificar todos os fragmentos de um determinado datagrama. 11 Fragment offset campo que identifica o deslocamento dos dados transportados, em cada fragmento, em relao ao datagrama original. Esse deslocamento medido em unidades de 8 bytes. Dessa forma, a quantidade de dados transportada nos fragmentos deve ser mltipla de 8. O primeiro fragmento de um datagrama possui o valor 0 no campo Fragment offset. Para remontar o datagrama original, a estao destino posiciona cada fragmento de acordo com o respectivo campo Fragment offset. 11 Flags campo de trs bits, dos quais dois (Do not fragment e More fragments) so usados no controle de fragmentao, e um reservado para uso futuro. Como o prprio nome indica, o bit Do not fragment sinaliza se o datagrama pode (0) ou no (1) ser fragmentado. Esse bit pode ser usado para descobrir o tamanho de datagrama que deve ser usado para evitar a fragmentao entre duas estaes. Por outro lado, o bit more fragments sinaliza se o fragmento contm dados do incio/meio (1) ou do final (0) do datagrama original. A estao destino usa o bit More fragments para detectar o ltimo fragmento de um datagrama. Para um melhor entendimento desses processos, vamos realizar a fragmentao e remontagem de um datagrama de 1000 bytes enviado pela estao E1 estao E2 da Figura 6.5. Nesse caso, o datagrama possui um cabealho de 20 bytes e transporta 980 bytes de dados. Para simplificar, vamos citar apenas os campos do cabealho que esto relacionados fragmentao e remontagem.

247

Captulo 6 - Camada de rede

E1 N1

R1 N2

R2 N3

E2

MTU = 1500

MTU = 420

MTU = 1500

Identication 5000

More fragments 0

Fragment oset 0

Total length 1000

Data 980 Datagrama d

5000 5000 5000

1 1 0

0 50 100

420 420 200

400 400 180

Fragmento f1 Fragmento f2 Fragmento f3

11 Inicialmente, a estao E1 gera o datagrama d, ilustrado na Figura 6.5. No roteador R1, em funo da MTU da rede N2, o datagrama fragmentado, gerando os fragmentos f1, f2 e f3, de tamanho menor ou igual a 420 bytes, conforme ilustra a figura, onde podemos observar que: 11 O campo Identification copiado do datagrama original para cada fragmento. 11 Apenas o bit More fragments do ltimo fragmento (f3) igual a 0, indicando que este fragmento transporta o final do datagrama original. Nesses fragmentos, estamos assumindo que o tamanho dos cabealhos igual a 20 bytes. 11 O campo Fragment offset de cada fragmento sinaliza a posio dos dados no datagrama original. Como o Fragment offset representado em unidades de 8 bytes, os fragmentos f1, f2 e f3 iniciam nas posies 0, 400 e 800 do datagrama original d. 11 O campo Total length no copiado do datagrama original, mas modificado para indicar o tamanho do prprio fragmento.

Figura 6.5 Exemplo de fragmentao do datagrama IP.

Processo de remontagem
11 Os campos Identification e Source IP address identificam os fragmentos de um datagrama. 11 Primeiro fragmento identificado pelo Fragment offset 0. 11 Fragmentos intermedirios so posicionados de acordo com o seu Fragment offset.
Arquitetura e Protocolos de Rede TCP-IP

11 ltimo fragmento detectado por More fragments. Na remontagem, a estao E2 percebe que f1 o primeiro fragmento do datagrama original, pois o seu Fragment offset 0. Por outro lado, E2 detecta que f3 o ltimo fragmento, pois o seu bit More fragments 0. Por fim, considerando a quantidade de dados do fragmento f1 (Total length 4 * Hlen) e o deslocamento do fragmento f3 (Fragment offset), E2 detecta que f2 o nico fragmento intermedirio.

248

Processamento de datagramas
Conjunto de regras que caracterizam o servio de entrega de datagramas. Estaes e roteadores podem: 11 Enviar datagramas, atuando como origem. 11 Receber datagramas, atuando como destino. 11 Roteadores intermedirios podem rotear datagramas, encaminhado-os de uma rede fsica para outra.

Em redes TCP/IP, estaes e roteadores podem enviar e receber datagramas, atuando como origem e destino desses datagramas, respectivamente. Alm disso, roteadores podem rotear datagramas, encaminhando-os de uma rede fsica para outra. Para tratar adequadamente cada um destes casos, o protocolo IP define um conjunto de regras para o processamento de datagramas que caracterizam o servio de entrega provido pela camada de rede. Essas regras indicam, inclusive, como e quando datagramas podem ser descartados e mensagens de erro que devem ser geradas. O processamento de datagramas realizado da seguinte forma:
1. Na origem, a estao (ou roteador) monta o datagrama, preenchendo os diversos campos

do cabealho. Em seguida, a estao consulta a tabela de roteamento para descobrir uma rota para alcanar a estao destino, podendo envi-lo direta ou indiretamente ao destino: envia diretamente se as estaes origem e destino esto conectadas na mesma rede fsica; ou indiretamente, via um roteador intermedirio, se as estaes de origem e destino esto conectadas em redes fsicas diferentes.
2. No destino, caso disponha de espao no buffer de recepo, a estao (ou roteador)

recebe e armazena uma cpia do datagrama. Caso contrrio, o datagrama simplesmente descartado e uma mensagem de erro ICMP enviada para a estao origem.
3. Aps armazenar uma cpia do datagrama, a integridade do cabealho verificada com

base no campo Header checksum. Se um erro detectado, o datagrama imediatamente descartado. Seno, a implementao do protocolo IP verifica se o datagrama realmente endereado quela estao, avaliando se o endereo IP de destino igual a algum dos endereos IP daquela estao. Vale lembrar que uma estao multihomed (ou roteador) possui diversos endereos IP e que o conceito de IP Aliasing permite a atribuio de mltiplos endereos IP a uma nica interface de rede.
4. Se a estao no o destino, o datagrama descartado, mas no nos roteadores inter-

medirios, como ser explicado adiante. Se a estao (ou roteador) o destino, a implementao do protocolo IP verifica se o datagrama recebido um datagrama completo ou apenas um fragmento.
5. No caso de um datagrama completo, a unidade de dados encapsulada entregue ao pro-

zador inicializado para aguardar a chegada dos outros fragmentos.


6. Se nem todos chegam antes do estouro do temporizador, ento os fragmentos recebidos

so descartados e uma mensagem de erro ICMP enviada para a estao de origem. Caso contrrio, se todos chegam antes do estouro do temporizador, o datagrama original remontado e a unidade de dados encapsulada repassada camada de transporte.

249

Captulo 6 - Camada de rede

tocolo de transporte indicado no campo Protocol. No caso de um fragmento, um tempori-

7. Em um roteador intermedirio, se existe espao no buffer de recepo, o datagrama

recebido e armazenado. Caso contrrio, o datagrama descartado.


8. Em seguida, a integridade do cabealho verificada. Em caso de erro, o datagrama

tambm descartado. Caso contrrio, percebendo que o endereo IP de destino no igual a nenhum dos endereos IP daquele roteador, a implementao do protocolo IP decide rotear o datagrama para o destino. Em um roteador intermedirio, o datagrama recebido nunca endereado para ele.
9. Nesse ponto, o TTL do datagrama decrementado de um. Se o valor do TTL atinge o valor

0, o datagrama descartado e uma mensagem de erro ICMP enviada estao origem. Seno, o roteador consulta a tabela de roteamento para descobrir uma rota para alcanar o destino, podendo envi-lo diretamente ou indiretamente via outro roteador.
10. Antes de enviar o datagrama, a implementao do protocolo IP avalia a necessidade de

fragmentao, considerando a MTU da rede fsica e o tamanho do datagrama. Caso seja necessrio, o datagrama original (ou fragmento) dividido em fragmentos.
11. Cada fragmento ou o prprio datagrama original enviado pela rota selecionada. Se a

fragmentao deve ser realizada, mas o campo Do not fragment a desabilita, ento o datagrama descartado e uma mensagem de erro ICMP enviada estao de origem. Essa a forma, j mencionada, de utilizar o campo Do not fragment para descobrir o tamanho de datagrama que deve ser utilizado para evitar a fragmentao entre duas estaes.

Processamento na origem
11 Monta o datagrama 22 Preenche os campos do cabealho. 11 Descobre rota para o destino. 11 Envia o datagrama 22 Entrega direta ao destino, se origem e destino esto na mesma rede fsica. 22 Entrega indireta a um roteador intermedirio, se origem e destino esto em redes fsicas distintas.

INCIO

Arquitetura e Protocolos de Rede TCP-IP

Montagem do datagrama

Entrega direta? NO Encaminha para prximo roteador

SIM

Encaminha para a estao destino

FIM

Figura 6.6 Processamento na estao origem.

250

Processamento no destino
11 Recebe e armazena datagrama 22 Descarta datagrama e gera mensagem de erro quando no possui buffer. 11 Verifica integridade do cabealho 22 Descarta datagrama em caso de erro. 11 Identifica-se como destino do datagrama 22 Caso contrrio, descarta o datagrama. 11 Entrega datagrama ao protocolo indicado 22 Processo de remontagem pode ser necessrio. 22 Descarta fragmentos e gera mensagem de erro em caso de falha na remontagem.

INCIO

Tem espao no buer? SIM Armazena o datagrama

NO

Descarta o datagrama Mensagem erro ICMP

FIM

Header Checksum OK? SIM

NO

Descarta o datagrama

FIM FIM

Destino correto? SIM Datagrama completo? SIM Entrega o datagrama protocolo superior

NO

Descarta o datagrama Mensagem erro ICMP NO

NO

Inicia temporizador Aguarda fragmentos

Temporizador expirou NO

SIM

Todos os fragmentos? SIM Remonta o datagrama

FIM

Figura 6.7 Processamento na estao destino.

251

Captulo 6 - Camada de rede

Processamento no roteador
11 Recebe e armazena datagrama 22 Descarta datagrama e gera mensagem de erro quando no possui buffer. 11 Verifica integridade do cabealho 22 Descarta datagrama em caso de erro. 11 Identifica-se como roteador intermedirio. 11 Decrementa o TTL 22 Descarta datagrama e gera mensagem de erro quando o TTL atinge o valor 0. 11 Descobre rota para o destino 11 Avalia a necessidade de fragmentao. 22 Descarta o datagrama e gera mensagem de erro se fragmentao necessria e est desabilitada. 11 Envia o datagrama ou fragmentos 22 Entrega direta ao destino, se destino est na mesma rede fsica do roteador. 22 Entrega indireta a outro roteador, se destino est em uma rede fsica diferente daquela do roteador.

252

Arquitetura e Protocolos de Rede TCP-IP

INCIO

Tem espao no buer? SIM Armazena o datagrama

NO

Descarta o datagrama Mensagem erro ICMP

FIM

Header Checksum OK? SIM Meu endereo destino? SIM

NO

Descarta o datagrama

FIM

NO TTL = TTL - 1 TTL = 0?

SIM

Descarta o datagrama Mensagem erro ICMP

NO Consulta tabela de rotas FIM

Entrega o datagrama protocolo superior

FIM Tem rota para o destino? SIM Envia o datagrama para o next-hop
Figura 6.8 Processamento no roteador intermedirio.

NO

Descarta o datagrama Mensagem erro ICMP

FIM

FIM

INCIO

MTU suporta datagrama? NO Dont fragment ligado? NO


Figura 6.9 Processo de fragmentao

SIM

Encaminha o datagrama

FIM

SIM

Descarta o datagrama Mensagem erro ICMP

FIM

Fragmenta o datagrama

Encaminha os fragmentos

FIM

253

Captulo 6 - Camada de rede

Protocolo ICMP
Fundamentos: 11 Permite que estaes e roteadores troquem informaes de erro e controle. 11 Define diversos tipos de mensagens. 11 Sinaliza situaes anormais. 11 Permite a identificao de algumas informaes operacionais. 11 Mensagens ICMP so encapsuladas em datagramas IP. 11 Cabealho ICMP. Principais mensagens ICMP: 11 Echo request 11 Echo reply 22 Testam se um destino est operacional e pode ser alcanado atravs da rede. 11 Destination unreachable 22 Sinaliza que no foi possvel entregar ou rotear o datagrama. 22 Falta de rota para o destino. 22 Porta de destino fechada. 22 Fragmentao necessria, mas o bit DF est ligado. 11 Redirect 22 Atua na otimizao do roteamento. 11 Time exceeded 22 TTL expirou. 22 Tempo para a remontagem expirou.

O protocolo Internet Control Message Protocol (ICMP) usado pela implementao do protocolo IP de estaes e roteadores para trocar informaes de erro e controle, sinalizando situaes especiais por meio de seus diversos tipos de mensagens. Mensagens ICMP so diretamente encapsuladas em datagramas IP. Na Figura 6.10 notamos que cada mensagem possui um campo de tipo e um campo de cdigo, que identificam as diversas mensagens existentes, e um campo de checksum (soma verificadora).
0 Type Identier Data 1 Code 2 Checksum Sequence Number
Figura 6.10 Cabealho do protocolo ICMP.

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Arquitetura e Protocolos de Rede TCP-IP

O cabealho pode apresentar campos adicionais de acordo com o tipo de mensagem. Algumas mensagens contm o cabealho e os primeiros 8 bytes do datagrama IP, responsvel pela gerao daquela mensagem, permitindo estao de origem identificar algumas informaes adicionais sobre o erro sinalizado. Mensagens do tipo Echo Request e Echo Reply contm os campos Identifier e Sequence Number que permitem que a estao identifique as mensagens que foram perdidas e aquelas que foram respondidas.

254

Vale ressaltar que mensagens ICMP nem sempre sinalizam apenas erros, mas tambm informaes operacionais e de controle. As mensagens Echo Request e Echo Reply so utilizadas para testar a conectividade entre duas estaes e/ou roteadores na rede. Veremos mais detalhes de como elas so utilizadas quando estudarmos o comando ping. Em algumas situaes, um roteador no consegue rotear ou entregar um determinado datagrama, como por exemplo: 11 Falta de informaes de roteamento. 11 Protocolo indicado no campo Protocol do datagrama IP no suportado. 11 No existe a porta indicada no segmento TCP ou datagrama UDP encapsulado. 11 Fragmentao do datagrama necessria, mas o bit Do not fragment do datagrama IP est habilitado. Nesses casos, o datagrama descartado e o roteador envia a mensagem Destination unreachable (destino inatingvel) para a origem do datagrama. Existem diferentes cdigos para cada uma dessas situaes e esses cdigos so informados na mensagem Destination unreachable. O protocolo ICMP define a mensagem Redirect com o objetivo de otimizar o roteamento em uma situao particular. Por exemplo, considere a inter-rede apresentada na Figura 6.11.
R1 N2 E1 N1 R2 N3

Figura 6.11 Mensagem Redirect do protocolo ICMP.

Nesse caso, podemos claramente perceber que a rota via R1 a melhor alternativa para a estao E1 enviar um datagrama para qualquer estao da rede N2. No entanto, suponha que E1 est inadequadamente adotando uma rota via R2, que, por sua vez, roteia o datagrama para R1. Como R2 percebe que o datagrama foi recebido e encaminhado adiante usando a mesma interface de rede, R2 conclui que E1 poderia ter enviado o datagrama diretamente para R1. Assim, para otimizar o roteamento, R2 envia uma mensagem Redirect para E1, indicando que a melhor rota para a rede N2 via R1. O roteador, antes de processar qualquer datagrama, primeiro decrementa o campo TTL (Time to Live Tempo de Vida) e se o TTL atinge o valor 0, o roteador descarta o datagrama e envia uma mensagem ICMP estao origem. Alm disso, se o temporizador de fragos fragmentos recebidos e envia uma mensagem ICMP estao origem. Nesses casos, a mensagem de erro enviada denominada Time exceeded (Tempo excedido). O protocolo ICMP tambm possui um tipo especial de mensagem (Parameter Problem) utilizada para sinalizar o recebimento de datagramas IP que no esto em conformidade com o definido no protocolo. Por exemplo, datagramas em que o tamanho informado no corresponde ao seu tamanho real. Embora o protocolo ICMP seja usado diretamente pelo IP, possvel desenvolver aplicaes que tambm fazem uso do ICMP. Por exemplo, os
Captulo 6 - Camada de rede

mentao expira antes da chegada de todos os fragmentos, a estao destino descarta

255

programas ping e traceroute exploram mensagens ICMP (Echo request, Echo reply, Time exceeded e Destination unreachable) para prover algumas informaes operacionais sobre a rede. Neste curso, vamos estudar apenas as mensagens mais usadas na prtica. Para maiores informaes sobre o formato detalhado das mensagens e seus vrios tipos, sugerimos aos interessados uma consulta ao livro: COMER, Douglas E. Internetworking with TCP/IP Volume I: Principles, Protocols and Architecture. 5th Edition. Prentice Hall, 2005.

Comando ping
Verificao de conectividade: 11 Envia um pacote Echo Request para o destino. 11 O destino responde com um pacote Echo Reply. 11 Informa o Round Trip Time (RTT) tempo de ida e volta. Para testar se um determinado destino est operacional e pode ser alcanado atravs da rede, o comando ping envia mensagens Echo request (ICMP Tipo 8) para o destino especifi cado. Aps receber uma mensagem Echo request, o destino retorna uma mensagem Echo reply (ICMP Tipo 0). Se a resposta no recebida, a estao origem pode concluir que o destino no est operacional ou no pode ser alcanado atravs da rede.
Echo Request ICMP Tipo 8 Echo Reply

ORIGEM

ICMP Tipo 0

DESTINO

Figura 6.12 Comando ping.

Nesse processo, o ping calcula o tempo de resposta (Round Trip Time RTT), dando uma ideia da proximidade daquele destino. Ao final da execuo, o comando ping mostra o nmero de pacotes transmitidos e recebidos, o percentual de pacotes perdidos e o tempo total de execuo. Alm disso, o ping calcula o tempo de resposta mnimo (min), mdio (avg) e mximo (max). O comando ping serve para verificar a conectividade entre origem e destino, no importando se ambos esto na mesma rede ou no.

Comando traceroute
11 Mostra o caminho do pacote at o destino. 11 Envia datagramas UDP para o destino. 11 Inicia com TTL=1 e vai incrementando at o destino.
Arquitetura e Protocolos de Rede TCP-IP

11 Envia 3 datagramas para cada hop. 11 Cada roteador (hop) no caminho subtrai 1 do TTL. 11 Quando o TTL=0, o roteador envia uma mensagem de erro Time exceeded (ICMP tipo 11), informando seu endereo IP. 11 A origem calcula o RTT mdio e imprime uma linha para cada hop que respondeu. 11 O destino responde com mensagem Destination unreachable (ICMP tipo 3). O comando traceroute tem como funo descobrir o caminho entre duas estaes ou roteadores. O programa traceroute utiliza uma combinao de mensagens Time exceeded e Destination unreachable para descobrir a rota entre duas estaes ou roteadores. Para tal, o programa envia diversos datagramas UDP para portas inexistentes do destino desejado:

256

11 A primeira mensagem enviada em um datagrama IP que possui TTL igual a 1, fazendo com que o primeiro roteador do caminho descarte o datagrama e retorne uma mensagem Time exceeded. 11 A segunda mensagem possui um TTL igual a 2, requerendo ao segundo roteador do caminho descartar o datagrama e gerar outra mensagem Time exceeded. 11 O processo termina quando o destino desejado recebe o datagrama UDP e envia para a origem uma mensagem Destination unreachable, pois a porta especificada no existe. A cada mensagem Time exceeded, o traceroute descobre um novo roteador intermedirio no caminho at o destino. Como datagramas so independentes e podem seguir por rotas diferentes, os diversos datagramas UDP, encapsulados em datagramas IP, podem seguir por diferentes rotas. Assim, o traceroute no assegura que todos os roteadores intermedirios identificados pertenam a uma nica rota. Este comando se baseia no fato de que quando o campo TTL (Time To Live Tempo de Vida) do datagrama IP atinge zero, o roteador no pode rotear o datagrama, mas precisa obrigatoriamente descart-lo e enviar uma mensagem de erro Time exceeded (ICMP tipo 11), informando seu endereo IP. assim que a origem fica sabendo o caminho que o data grama est percorrendo. O datagrama UDP carrega um nmero de port improvvel para o destino, de modo que, quando ele finalmente chega l, o destino responde com uma mensagem de erro Port unreachable (ICMP tipo 3), ao invs da mensagem de erro Time exceeded. assim que a origem fica sabendo que o destino foi atingido. pc1 Router0 Router1 Router2 pc5

UDP TTL=1 ICMP Tipo 11

hop1

hop2

hop3

UDP TTL=2 ICMP Tipo 11 UDP TTL=3 ICMP Tipo 11 UDP TTL=4 ICMP Tipo 3
Figura 6.13 Comando traceroute do Linux.

Mecanismo do comando traceroute


est representado apenas um datagrama para cada hop, mas a aplicao envia 3 datagramas idnticos para cada hop. Os 3 primeiros datagramas tm TTL=1 e so descartados pelo primeiro hop (router0), porque este subtrai 1 do TTL (1-1=0), com uma mensagem de erro Time exceeded (ICMP tipo 11). Os 3 seguintes tm TTL=2 e passam pelo primeiro hop (subtrai 1 do TTL: 2-1=1) e so descartados pelo segundo hop (router1), tambm com a mesma mensagem de erro.
Captulo 6 - Camada de rede

A Figura 6.13 mostra o mecanismo do comando traceroute na nossa rede de teste. Na figura

257

Os 3 seguintes tm TTL=3 e passam pelo primeiro hop (subtrai 1 do TTL: 3-1=2), passam pelo segundo hop (subtrai 1 do TTL: 2-1=1) e so descartados pelo terceiro hop (router2), tambm com a mesma mensagem de erro. Finalmente, os 3 ltimos passam por todos os hops porque tm TTL=4 e chegam ao destino ainda com TTL=1. Porm, a porta UDP de destino no existe no host de destino, que ento gera uma mensagem de erro Destination unreachable (ICMP tipo 3). Essa descrio do mecanismo usado pelo comando traceroute vlida para o Linux, mas no para o Windows. Vamos analisar o mecanismo usado em cada caso a seguir.

Exemplo de traceroute em Windows


Configurao da estao
11 Consideraes iniciais. 11 Endereo IP da estao de testes. 11 Gateway padro. A seguir a listagem do comando ipconfig que mostra a configurao da estao que ser usada para os testes.

C:\>ipconfig Configurao de IP do Windows Adaptador Ethernet Conexo local: Sufixo DNS especfico de conexo. . . . . . : esr.rnp.br Endereo IPv6 de link local . . . . . . . . : fe80::6964:d7b1:6170:4ae4%10 Endereo IPv4. . . . . . . . . . . . . . . : 192.168.100.130

Mscara de Sub-rede . . . . . . . . . . . . : 255.255.255.0 Gateway Padro. . . . . . . . . . . . . . . : 192.168.100.1


Informaes importantes obtidas da listagem acima:
1. Endereo IPv4 da estao: 192.168.100.130

Este endereo dever aparecer nos pacotes capturados durante os testes, que veremos a seguir.
2. Gateway padro: 192.168.100.1
Arquitetura e Protocolos de Rede TCP-IP

Este o endereo do roteador que d acesso internet e o primeiro hop da rede. 11 Servidor DNS para obteno do endereo IP de destino. 11 Entrega indireta com traduo NAT. 11 Primeiro hop: gateway padro; ltimo: destino final. 11 3 roteadores intermedirios (TTL vai at 4). Agora a listagem do comando traceroute para o stio esr.rnp.br, a partir da unidade da ESR de Braslia.

C:\>tracert esr.rnp.br

258

Rastreando a rota para esr.rnp.br [200.130.35.73] com no mximo 30 saltos: 1 2 3 4 1 ms 2 ms 1 ms 1 ms 1 ms 1 ms 1 ms 1 ms 1 ms 1 ms 1 ms 1 ms 192.168.100.1 200.130.26.254 rt.pop-df.rnp.br [200.130.101.94] 200.130.35.73

Rastreamento concludo.
Informaes importantes obtidas da listagem acima:
1. O comando traceroute teve como destino o stio da web: www.esr.rnp.br, que foi traduzido

pelo servidor DNS (Servio de Nome de Domnio) para o endereo IPv4: 200.130.35.73. Este ser o endereo de destino dos pacotes que sero disparados pelo traceroute.
2. Visto que o endereo da estao um endereo privado (192.168.100.130) e o endereo de

destino um endereo pblico (200.130.35.73), que est em outra rede, podemos concluir:
2.1.Haver uma entrega indireta, passando por pelo menos um roteador intermedirio; 2.2.Haver uma traduo NAT do endereo privado da estao, uma vez que o ende-

reo de destino um endereo pblico que est em algum lugar da internet.


3. O primeiro hop, como no podia deixar de ser, o gateway padro da nossa rede:

192.168.100.1, visto na listagem anterior de configurao.


4. Temos 3 roteadores intermedirios: 192.168.100.1 (gateway padro), 200.130.26.254 e

200.130.101.94; portanto, o pacote que chegar ao destino tem obrigatoriamente TTL=4.


5. Da mesma forma que o primeiro hop sempre o gateway padro, o ltimo hop sempre

o destino final, no nosso caso um servidor, e no um roteador. Note que essa anlise preliminar essencial para o entendimento dos pacotes capturados. O software Wireshark simplesmente mostra o contedo dos pacotes, no fazendo a interpretao do que est ocorrendo. Esse o nosso trabalho.

Captura de pacotes do primeiro hop


11 Consulta ao servidor DNS (com sucesso) 11 3 pacotes Echo (ping) request para TTL=1. 11 3 pacotes Time-to_live exceeded. 11 Consulta ao DNS reverso (sem sucesso).
Figura 6.14 Arquivo de captura Wireshark Windows.

Vamos abrir o arquivo Trace_Captura.pcap com o Wireshark e analisar os pacotes capturados mostrada na Figura 6.14.
Captulo 6 - Camada de rede

durante a execuo do comando traceroute. A tela com os primeiros 10 pacotes est

259

O pacote nmero 1 uma consulta padro ao servidor DNS (tipo A) para obter o endereo IP do nome: www.esr.rnp.br e o pacote nmero 2 a resposta a essa consulta, informando que o endereo IP desejado : 200.130.35.73. Obtido esse endereo, de agora em diante todos os pacotes sero disparados para esse destino. Por exemplo, o pacote 3 um Echo (ping) request (mensagem Echo request ICMP tipo 8) e o pacote 4 um Time-to-live exceeded (mensagem Time exceeded ICMP tipo 11), que a resposta mensagem anterior. Essa resposta dada pelo gateway padro, que o primeiro roteador no caminho at o destino. Observe que o Wireshark informa, no pacote 3, que o TTL=1. importante destacar que, ao invs de enviar datagramas UDP ao destino, o comando tracert no Windows envia mensagens ICMP Echo request. Os pacotes 5 a 8 so a repetio dessas mesmas mensagens com TTL=1 (lembre-se de que o traceroute sempre envia 3 pacotes de cada vez). J o pacote 9 uma consulta ao servidor DNS reverso, ou seja, uma consulta tipo PTR para obter o nome da mquina com endereo IP: 192.168.100.1 (no caso o gateway padro). Esse tipo de consulta sempre feito para um servidor especfico no domnio arpa. O pacote 10 informa que no h nome registrado para esse endereo IP. A consulta ao servidor DNS tipo A (dado um nome, obter o endereo IP), tambm chamada de resoluo de nome, um tipo de consulta pblica cujo funcionamento mandatrio, sob pena de o referido stio nunca ser acessado (quem lembra o IP do www.google.com?). Por outro lado, a consulta ao DNS reverso opcional, porque o nome no essencial para o acesso ao equipamento. O traceroute tenta obter o nome do roteador por uma questo meramente informativa. Se no conseguir, imprime somente o endereo IP.

Demais pacotes
11 Pacotes 13 a 18 para TTL=2 resposta dada pelo roteador seguinte. 11 Pacotes 25 a 30 para TTL=3 resposta dada pelo terceiro roteador. 11 Pacotes 33 a 38 para TTL=4 chegam at o destino final; a resposta no mais Time-to-live exceeded; assim o traceroute fica sabendo que chegou ao destino.

Os pacotes 13 a 18 repetem a mesma informao que os pacotes 3 a 8, agora para o TTL=2. Observe que o roteador que responde, nesse caso, o seguinte ao gateway padro no caminho at o destino: 200.130.26.254 (veja a listagem do comando traceroute). Os pacotes 25 a 30 repetem a mesma informao que os pacotes 3 a 8, agora para o TTL=3. Observe que, neste caso, o roteador que responde o terceiro roteador no caminho at o destino: 200.130.101.94. O pacote 31 tenta obter o nome desse roteador, e o pacote 32 a
Arquitetura e Protocolos de Rede TCP-IP

resposta bem-sucedida. O nome : rt.pop-df.rnp.br. Os pacotes 33 a 38 repetem a mesma informao que os pacotes 3 a 8, agora para o TTL=4. Observe que neste caso quem responde o destino final, com a mensagem Echo (ping) reply (mensagem Echo reply ICMP tipo 0). Como o destino no um roteador, ele no decrementa o TTL e simplesmente responde mensagem Echo (ping) request (mensagem Echo resquest ICMP tipo 8), como se estivesse recebendo um ping. Novamente, importante destacar que, ao invs de enviar como resposta uma mensagem ICMP Destination unreachable, o destino envia uma mensagem ICMP Echo reply.

260

O traceroute do Windows usa um mecanismo diferente do Linux para obter a rota at o destino: usa somente mensagens ICMP, como se fosse o ping, apenas ajustando o TTL.

Exemplo de traceroute em Linux


Vamos agora fazer a mesma anlise para o Linux. A configurao da estao a mesma. Mostramos a seguir a listagem do comando traceroute para o stio ipv6.br. aluno@aluno-LE:~$ traceroute ipv6.br traceroute to ipv6.br (200.160.4.22), 30 hops max, 60 byte packets 1 192.168.100.1 (192.168.100.1) 2.248 ms 2.439 ms 9.990 ms 2 200.130.26.254 (200.130.26.254) 15.331 ms 16.599 ms 16.876 ms 3 xe-2-0-0-2910-r0-df.bkb.rnp.br (200.143.255.169) 15.405 ms 15.629 ms 16.949 ms 4 xe-3-1-1-3000-r0-rj.bkb.rnp.br (200.143.252.77) 27.937 ms xe-2-1-1-3000-r0-mg.bkb.rnp. br (200.143.252.81) 27.136 ms xe-3-1-1-3000-r0-rj.bkb.rnp.br (200.143.252.77) 30.320 ms 5 xe-3-1-0-3000-r0-sp.bkb.rnp.br (200.143.252.73) 38.430 ms 39.088 ms xe-2-1-0-3000-r0sp.bkb.rnp.br (200.143.252.69) 40.063 ms 6 as22548.sp.ptt.br (187.16.217.2) 40.609 ms 28.587 ms 28.665 ms 7 xe-5-1-0-0.core2.nu.registro.br (200.160.0.172) 29.296 ms 30.900 ms 31.354 ms 8 ae0-0.ar4.nu.registro.br (200.160.0.250) 32.806 ms 33.315 ms 34.282 ms 9 ipv6.br (200.160.4.22) 34.856 ms 35.413 ms 37.786 ms

aluno@aluno-LE:~$
Informaes importantes obtidas da listagem acima:
1. O comando traceroute teve como destino o stio da web: ipv6.br, que foi traduzido pelo

servidor DNS (Servio de Nome de Domnio) para o endereo IPv4: 200.160.4.22. Este ser o endereo de destino dos pacotes que sero disparados pelo traceroute.
2. Visto que o endereo da estao um endereo privado (192.168.100.130) e o endereo de

destino um endereo pblico (200.160.4.22), que est em outra rede, podemos concluir:
2.1.Haver uma entrega indireta, passando por pelo menos um roteador intermedirio. 2.2.Haver uma traduo NAT do endereo privado da estao, uma vez que o ende-

reo de destino um endereo pblico que est em algum lugar da internet.


3. O primeiro hop, como no podia deixar de ser, o gateway padro da nossa rede:
Captulo 6 - Camada de rede

192.168.100.1, visto na listagem anterior de configurao.


4. Temos 8 roteadores intermedirios: 192.168.100.1 (gateway padro), 200.130.26.254,

200.143.255.169, 200.143.252.77, 200.143.252.73, 187.16.217.2, 200.160.0.172 e 200.160.0.250; portanto, o pacote que chegar ao destino tem obrigatoriamente TTL=9.
5. Da mesma forma que o primeiro hop sempre o gateway padro, o ltimo hop sempre

o destino final, que no nosso caso um servidor e no um roteador.

261

Vamos abrir o arquivo Trace_Captura_Linux.pcap com o Wireshark e analisar os pacotes capturados durante a execuo do comando traceroute. A tela com os primeiros 10 pacotes est mostrada na Figura 6.15.
Figura 6.15 Arquivo de captura Wireshark Linux.

11 Comando traceroute. 11 Servidor DNS para obteno do endereo IP de destino. 11 Entrega indireta, com traduo NAT. 11 Primeiro hop: gateway padro. 11 ltimo hop: destino final. 11 8 roteadores intermedirios (TTL vai at 9). O pacote nmero 1 uma consulta padro ao servidor DNS (tipo A) para obter o endereo IP do nome: ipv6.br e o pacote nmero 2 a resposta a essa consulta, informando que o

endereo IP desejado : 200.160.4.22. Obtido esse endereo, todos os pacotes de agora em diante sero disparados para esse destino. Por exemplo, os pacotes de nmero 3 at 18 usam o protocolo UDP com nmeros de porta que no existem no destino (nmeros de porta muito altos), de forma a forar uma resposta de porta UDP inexistente no destino final. Mas como o TTL inicia em 1 e vai crescendo, chegam as mensagens de erro Time-to-live exceeded (mensagem Time exceeded ICMP tipo 11) dos roteadores intermedirios (por exemplo, os pacotes de nmero 19 e 20, entre outros). J o pacote 51 uma consulta ao servidor DNS reverso, ou seja, uma consulta tipo PTR com o objetivo de obter o nome da mquina que tem o endereo IP: 200.143.255.169 (no caso um roteador intermedirio). Esse tipo de consulta sempre feito para um servidor especfico no domnio arpa. E o pacote 52 informa o nome: xe-2-0-0-2910-r0-df.bkb.rnp.br. Essa sequncia de pacotes se repete vrias vezes, uma vez que foi necessrio passar por 8 roteadores intermedirios no caminho at o destino final e o traceroute envia 3 pacotes para cada hop, com o mesmo TTL. Vamos agora analisar em detalhe a sequncia de pacotes enviada pelo host 192.168.100.130
Arquitetura e Protocolos de Rede TCP-IP

para o destino 200.160.4.22, usando o protocolo UDP e que provocou igual sequncia de respostas Destination unreachable (Port unreachable) (mensagem Destination unreachable ICMP tipo 3). Vimos pela listagem do comando traceroute que o destino final estava no hop 9, portanto, os pacotes com TTL=9 (ou maior) chegaram at o destino final, porque passaram pelos 8 roteadores intermedirios e, no destino final, provocaram a mensagem de erro ICMP acima referida. Para saber o TTL, precisamos selecionar o pacote na primeira janela do Wireshark, selecionar a linha do protocolo IP na janela imediatamente abaixo (segunda janela), clicar no cone do sinal + na primeira posio esquerda da linha.

262

Analisando a sequncia de pacotes UDP, vemos que o pacote 72 o primeiro com TTL=9, seguido pelos pacotes 73 e 74 tambm com TTL=9. Esses pacotes chegaram com certeza at o destino final, mas como a resposta demorou para voltar, o traceroute continuou emitindo pacotes UDP e aumentando o TTL, at que comearam a chegar as respostas do destino final. 11 Consulta ao servidor DNS. 11 Pacotes 3 a 18: protocolo UDP. 22 Mensagens de erro Time-to-live exceeded 11 Pacote 51: consulta ao DNS reverso (com sucesso). 11 Pacote 52: nome Xe-2-0-02910-r0-df.bkb.rnp.br. 11 Sequncia repetida vrias vezes: 22 8 roteadores intermedirios. 22 3 pacotes para cada hop com o mesmo TTL. 11 TTL = 9 ou acima chegam at o destino final. 22 Provocam a mensagem de erro Destination unreachable. 11 Resumo dos pacotes com TTL = 9 ou maior. 22 Pacotes 72 a 80. 22 Pacotes 82, 91, 100. 22 Pacotes 102 a 105. 11 Total: 16. Nmero 72 a 74 75 a 77 78 a 80
Figura 6.16 Resumo dos pacotes UDP enviados com TTL=9 ou maior.

TTL 9 10 11 12 13 14

82, 91, 100 102 a 104 105 Total de pacotes com TTL=9 ou maior: 16.

Resumo das mensagens de erro do destino final: 11 Pacotes 92, 94 a 97. 11 Pacotes 99, 101, 107 e 108.

q
Captulo 6 - Camada de rede

11 Pacotes 110 a 116. 11 Total: 16. 11 Note que o TTL na resposta = 56 (64 8). 11 Parmetro I fora o uso de mensagens ICMP Echo request e Echo reply.

263

Nmero 92 94 a 97 99, 101 107, 108 110 a 116

TTL 56 56 56 56 56
Figura 6.17 Resumo dos pacotes com mensagens de erro ICMP.

Esses 16 pacotes que chegaram com certeza at o destino final devem ter provocado igual nmero de mensagens de erro ICMP Destination unreachable (Port unreachable). Total de pacotes de resposta: 16. Note que em todos os pacotes o TTL = 56, porque por padro, o pacote enviado com TTL = 64 e passa por 8 roteadores intermedirios (64 8 = 56). Se quiser que o traceroute do Linux use o mesmo esquema do Windows (somente mensagens ICMP Echo request e Echo Reply ), use a opo I na linha de comando. Resumindo: observe que os datagramas UDP so sempre enviados da estao origem 192.168.100.130 para a estao destino 200.160.4.22. A estao origem usa a porta UDP 46446 e outras portas de nmero alto nos pacotes seguintes. No entanto, o traceroute usa uma porta possivelmente inexistente no destino, que incrementada a cada novo datagrama UDP. Nesse caso, a porta UDP de destino varia de 33434 (padro traceroute) a 33473. Nos trs primeiros datagramas UDP, o TTL 1. Assim, o primeiro roteador do caminho (192.168.100.1) descarta esses datagramas, enviando uma mensagem Time exceeded para cada um deles. Nos ltimos datagramas UDP com TTL=9 ou maior, a estao destino j foi alcanada. Nesse caso, como no existe um processo recebendo pacotes nas portas UDP 33458 e acima, a estao destino descarta esses datagramas, enviando a mensagem Port unreachable, um subtipo da mensagem Destination unreachable, para cada um deles. dessa forma criativa que o comando traceroute consegue mostrar o caminho pelo qual um datagrama passa da origem at o seu destino.

264

Arquitetura e Protocolos de Rede TCP-IP

Roteiro de Atividades 6
Atividade 6.1 Campo TTL
Na figura mostrada a seguir, a estao E1 est gerando datagramas IP com TTL igual a 2. Na operao normal da rede, E1 envia datagramas para E2 via o roteador R3. No entanto, quando a estao E1 perde a conectividade com o roteador R3, ela envia datagramas para E2 via o roteador R1.

R1
Figura 6.18 Rede da Atividade 6.1

N2

R2

E1

N1

R3

N3

E2

1. Os datagramas so entregues estao E2 em ambos os casos? Explique.

2. Alguma mensagem de erro gerada? Qual?

3. Quando e por que a mensagem de erro gerada? Para quem a mensagem de erro enviada?

265

Captulo 6 - Roteiro de Atividades

Atividade 6.2 Funcionamento do TTL


1. Inicie o Virtual Box e selecione a opo Open a Virtual Machine, selecione a mquina

virtual vcore-4.2 no diretrio que o instrutor indicar, e inicie esta mquina virtual.
2. Aguarde a carga completa da mquina virtual CORE. Essa mquina virtual possui ins-

talado um simulador de protocolos de roteamento, que usaremos de agora em diante. Execute o simulador CORE.
3. Selecione File no menu, selecione a opo Open e localize o diretrio onde se encontra
Figura 6.19 Rede da Atividade 6.2.

a rede: Rede_Atividade6_2.imn, seguindo a orientao do instrutor.


4. A rede dever ser igual Figura 6.19.

R1 eth1 10.0.2.1/24 eth0 10.0.0.2/24 e0

Rede2

e1

E1 eth0 10.0.0.10/24 e0

e1 Rede0 e2 R2

eth0 10.0.2.2/24

eth1 10.0.1.2/24

eth0 10.0.0.1/24 eth1 10.0.1.1/24 R3

e2 e0 Rede1 e1 eth0 10.0.1.10/24

E2

5. Os endereos IPv4 j esto configurados, conforme mostrado na figura. H 3 redes fsicas

representadas pelos switches Rede0, Rede1 e Rede2. Cada rede fsica tem um prefixo de rede diferente, conforme a Figura 6.20. Rede
Arquitetura e Protocolos de Rede TCP-IP

Endereo de rede 10.0.0.0/24 10.0.1.0/24 10.0.2.0/24

Gateway padro 10.0.0.1 10.0.1.1 -

Nome PC E1 E2 -

Endereo PC 10.0.0.10/24 10.0.1.10/24 Figura 6.20 Endereos IPv4 da rede da Atividade 6.2.

Rede0 Rede1 Rede2

6. O modo inicial de operao do simulador o Modo de Edio. Este modo utilizado para

desenhar a rede e configurar o endereamento IPv4. Para efetivamente executar os protocolos de roteamento e as aplicaes, necessrio iniciar o experimento, que pode ser feito de duas maneiras: 11 Clicando no cone esquerda na barra de ferramentas;

11 Selecionando no menu superior a opo Experiment/Start. 266

No Modo de Experimento no possvel fazer edio da topologia da rede (note a barra de ferramentas modificada). Aguarde at que toda a rede seja iniciada, at desaparecerem os colchetes vermelho/verde em cada n da rede.
7. Vamos testar o comando ping com TTL=2 da estao E1 para a estao E2. Siga o seguinte

procedimento: 11 Aponte com o mouse para E1, clique no boto direito e selecione a opo Shell window/bash. No console do E1 digite o comando ping para E2:

root@E1:/tmp/pycore.39156/E1.conf# ping c 2 t 2 10.0.1.10


O resultado deve ser semelhante ao listado a seguir:

PING 10.0.1.10 (10.0.1.10) 56(84) bytes of data. 64 bytes from 10.0.1.10: icmp_req=1 ttl=2 time=15.4ms 64 bytes from 10.0.1.10: icmp_req=2 ttl=2 time=1.00ms --- 10.0.1.10 ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 1013ms rtt min/avg/max/mdev = 1.009/8.227/15.446/7.219 ms root@E1:/tmp/pycore.39156/E1.conf#
Com TTL=2 funcionou, porque a rota seguida pelos datagramas de E1 para E2 passa por apenas um roteador: R3. Para confirmar isso, vamos executar o comando traceroute no console do E1. O resultado deve ser semelhante ao listado a seguir:

root@E1:/tmp/pycore.39156/E1.conf# traceroute n 10.0.1.10 traceroute to 10.0.1.10 (10.0.1.10), 30 hops max, 60 bytes packet 1 10.0.0.1 (10.0.0.1) 1.185 ms 0.485 ms 0.166 ms 2 10.0.1.10 (10.0.1.10) 20.983 ms 1.523 ms 0.370 ms root@E1:/tmp/pycore.39156/E1.conf#
A opo -n evita a consulta ao servidor DNS para resoluo de nomes. Como no existe servidor DNS configurado, o comando aguarda o timeout do DNS e a execuo fica muito demorada.
8. Vamos forar a rota pelo roteador R1. Para isso, simplesmente mudaremos a tabela de

rotas da estao E1. Para ver a tabela de rotas da estao E1, digite o comando a seguir.

root@E1:/tmp/pycore.39156/E1.conf# route n Kernel IP routing table Destination 10.0.0.0 0.0.0.0 Gateway 0.0.0.0 10.0.0.1 Genmask 255.255.255.0 0.0.0.0 Flags Metric Ref Use Iface U UG 0 0 0 0 0 eth0 0 eth0
Captulo 6 - Roteiro de Atividades

root@E1:/tmp/pycore.39156/E1.conf#

267

Para alterar a rota padro da estao E1, vamos excluir a rota padro pelo roteador R3 e incluir uma rota padro pelo roteador R1. Siga o seguinte procedimento:

root@E1:/tmp/pycore.39156/E1.conf# route del default gw 10.0.0.1 root@E1:/tmp/pycore.39156/E1.conf# route add default gw 10.0.0.2 root@E1:/tmp/pycore.39156/E1.conf# route n Kernel IP routing table Destination 10.0.0.0 0.0.0.0 Gateway 0.0.0.0 10.0.0.2 Genmask 255.255.255.0 0.0.0.0 U UG Flags Metric Ref Use Iface 0 0 0 0 0 eth0 0 eth0

root@E1:/tmp/pycore.39156/E1.conf#
Pronto. Agora a rota padro de E1 aponta para o roteador R1.
9. Repita o comando ping com TTL=2, conforme a seguir.

root@E1:/tmp/pycore.39156/E1.conf# ping c 2 t 2 10.0.1.10 PING 10.0.1.10 (10.0.1.10) 56(84) bytes of data. From 10.0.2.2 icmp_seq=1 Time to live exceeded From 10.0.2.2 icmp_seq=2 Time to live exceeded --- 10.0.1.10 ping statistics --2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1005ms root@E1:/tmp/pycore.39156/E1.conf#

Observe que foi o roteador R2 que enviou as mensagens de erro.


10. Para confirmar, repita o mesmo comando, agora com TTL=3.

root@E1:/tmp/pycore.39156/E1.conf# ping c 2 t 3 10.0.1.10 PING 10.0.1.10 (10.0.1.10) 56(84) bytes of data. 64 bytes from 10.0.1.10: icmp_req=1 ttl=3 time=14.0ms
Arquitetura e Protocolos de Rede TCP-IP

64 bytes from 10.0.1.10: icmp_req=2 ttl=3 time=1.37ms --- 10.0.1.10 ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 1013ms rtt min/avg/max/mdev = 1.376/7.712/14.049/6.337 ms root@E1:/tmp/pycore.39156/E1.conf#

268

Funcionou, conforme mostrado acima. Finalmente, use o comando traceroute para confirmar a rota dos datagramas.

root@E1:/tmp/pycore.39156/E1.conf# traceroute n 10.0.1.10 traceroute to 10.0.1.10 (10.0.1.10), 30 hops max, 60 bytes packet 1 10.0.0.2 (10.0.0.2) 0.976 ms 0.213 ms 0.143 ms 2 10.0.2.2 (10.0.2.2) 0.177 ms 0.172 ms 0.203 ms 3 10.0.1.10 (10.0.1.10) 0.466 ms 0.340 ms 0.302 ms root@E1:/tmp/pycore.39156/E1.conf#

Atividade 6.3 Remontagem no destino


O processo de fragmentao de datagramas pode ocorrer em diversos roteadores intermedirios. Porm, o processo de remontagem ocorre somente no destino final. Identifique e comente possveis vantagens e desvantagens dessa abordagem.

Atividade 6.4 Descobrindo a MTU


Uma determinada rede fsica limita o tamanho mximo do quadro a 1500 bytes, sendo 100 bytes de cabealho e 1400 bytes de dados. Qual a MTU dessa rede? Qual o maior datagrama IP que pode ser encapsulado em um quadro dessa rede? Qual a maior quantidade de dados que um datagrama IP pode transportar nessa rede?

Atividade 6.5 Descobrindo tamanhos de datagramas


Um determinado datagrama IP possui Total length e Hlen iguais a 1500 e 8, respectivamente.
1. Qual o tamanho total deste datagrama em bytes?

2. Qual o tamanho do cabealho deste datagrama em bytes?

269

Captulo 6 - Roteiro de Atividades

3. O campo Options utilizado?

Atividade 6.6 Fragmentao


Na figura a seguir, considere que a estao E1 envia dois datagramas para a estao E2. Esses datagramas possuem 500 e 200 bytes, incluindo o cabealho de 20 bytes.

E1

N1
MTU=500

R1

N2
MTU=200

R2

N3
MTU=500

E2

1. A fragmentao necessria?

2. Em caso afirmativo, adotando o esquema da figura acima, apresente o datagrama original

e os respectivos fragmentos.

270

Arquitetura e Protocolos de Rede TCP-IP

7
Roteamento
objetivos
Apresentar os conceitos bsicos de roteamento, descrever os protocolos de roteamento RIP, OSPF e BGP, apresentando suas caractersticas principais e sua configurao bsica.

conceitos

Roteamento em redes IP e conceitos bsicos de protocolos de roteamento.

Este captulo trata de roteamento em redes IP e explora os conceitos bsicos de protocolos de roteamento, descrevendo os protocolos bsicos de maneira simplificada, pois no obje tivo deste curso tratar em detalhes o roteamento.

Roteamento TCP/IP
11 Inter-rede TCP/IP 22 Composta por um conjunto de redes fsicas interconectadas por roteadores. 11 Roteador 22 Roteia datagramas entre essas redes. 22 Recebe datagramas nas vrias interfaces. 22 Escolhe rotas atravs de outras interfaces. 22 Encaminha datagramas atravs das interfaces selecionadas. 11 Roteamento 22 Processo de escolha das rotas para envio dos datagramas, permitindo que eles alcancem seus destinos atravs de diversas redes e roteadores intermedirios. Sabemos que a estrutura de interconexo de inter-redes TCP/IP composta por um conjunto de redes fsicas interconectadas por roteadores. Nessa estrutura, o papel dos roteadores interconectar as redes fsicas e rotear datagramas IP entre essas redes. Em outras escolher rotas atravs de interfaces conectadas s outras redes fsicas e, por fim, encami nhar esses datagramas atravs dessas interfaces selecionadas. Por exemplo, na Figura 7.1,

quando a estao E1 deseja enviar datagramas para a estao E9, ela roteia os datagramas para o roteador R3, atravs da interface conectada rede N1. Por sua vez, R3 entrega diretamente os datagramas para a estao E9 atravs da interface conectada rede N5.

271

Captulo 7 - Roteamento

palavras, um roteador capaz de receber datagramas nas suas vrias interfaces de rede,

Os roteadores no proveem conexo direta entre todas as redes fsicas. Consequentemente, para alcanar um determinado destino, pode ser necessrio encaminhar os datagramas atravs de diversos roteadores e redes intermedirias. Por exemplo, na Figura 7.1, datagramas enviados da estao E1 estao E8 devem ser encaminhados atravs dos roteadores R3 e R4, sendo, desta forma, transmitidos nas redes N1, N5 e N4. Alm disso, podem existir diversas rotas alternativas para encaminhar os datagramas entre alguns pares de estaes. Por exemplo, quando a estao E1 deseja transmitir datagramas para a estao E5, os roteadores R1 e R3 se apresentam como possveis rotas alternativas at o destino. Portanto, E1 pode encaminhar os datagramas para R1 ou R3 atravs da interface conectada rede N1. Com base nisso, podemos definir o processo de roteamento como sendo a escolha dos caminhos (rotas) a serem usados para enviar os datagramas, de modo a permitir que alcancem seus respectivos destinos finais, possivelmente atravs de diversas redes e roteadores intermedirios. Dito de outra forma, o processo de roteamento determina a rota que cada datagrama deve seguir para alcanar a estao destino, indicada no cabealho do datagrama. importante lembrar que roteadores so tambm conhecidos como gateways ou sistemas intermedirios, na famlia de protocolos TCP/IP. Roteadores no so necessariamente equipamentos especializados na funo de roteamento, mas podem ser estaes multihomed que possuem a funo de roteamento configurada.
E9
Estaes multihomed Estaes convencionais com vrias conexes fsicas. Gateway Sinnimo de roteador na arquitetura TCP/IP. Em outras arquiteturas de redes, um gateway um dispositivo (hardware ou software) que converte mensagens de um protocolo em mensagens de outro protocolo.

E1

E8

N5

N1
E2

R3

R4

N4

E7

R2 R1

N2

N3

Arquitetura e Protocolos de Rede TCP-IP

E3

E4

E5

E6

Figura 7.1 Inter-rede TCP/IP.

Para realizar o processo de roteamento, as implementaes do protocolo IP devem ser projetadas levando em considerao diversos conceitos associados funo de roteamento, bem como alguns componentes de software. Neste captulo, cada um desses conceitos e componentes ser detalhado.

Algoritmo de roteamento
11 Procedimento de tomada das decises de roteamento para cada datagrama. 11 Implementado em todos os roteadores e estaes da inter-rede.

272

11 Encaminha os datagramas at seus respectivos destinos finais. 11 Descobre a melhor rota at o destino final de cada datagrama.
Algoritmo de roteamento Conjunto de regras adotadas pelo protocolo IP para descobrir a melhor rota at o destino final de cada datagrama.

Para rotear os datagramas, as implementaes do protocolo IP adotam um algoritmo de roteamento bem definido e conhecido, cuja finalidade tomar as decises de roteamento para cada datagrama, encaminhando-o ao seu destino final. Portanto, o objetivo do algoritmo de roteamento descobrir a melhor rota at o destino final de cada datagrama. Obviamente, todos os roteadores implementam o algoritmo de roteamento, pois esto diretamente envolvidos nesse processo. Alm deles, as estaes tambm tomam decises de roteamento. No exemplo em que a estao E1 envia datagramas estao E5, E1 deve tomar decises de roteamento, escolhendo se encaminha os datagramas atravs do roteador R1 ou R3, pois cada um deles prov uma rota possvel para E5. Portanto, da mesma forma que os roteadores, todas as estaes devem implementar o algoritmo de roteamento. O algoritmo de roteamento adotado na arquitetura TCP/IP diferente para cada arquitetura de endereamento (classful e classless). Mais frente, discutiremos os algoritmos de roteamento adotados nas duas arquiteturas de endereamento.

Mtricas de roteamento
Parmetros adotados pelo algoritmo de roteamento para selecionar as melhores rotas. 11 Comprimento da rota. 11 Retardo. 11 Confiabilidade. 11 Taxa de transmisso. 11 Carga. 11 Tamanho do datagrama. 11 Tipo de servio. Mtricas so parmetros qualitativos e operacionais adotados por um algoritmo de rote amento para definir a melhor rota a ser usada, preferindo uma rota especfica a outras possveis. Como podem existir mltiplas rotas para um determinado destino, o algoritmo

de roteamento deve utilizar parmetros qualitativos para definir a melhor rota a ser usada. Idealmente, o algoritmo de roteamento deve considerar alguns parmetros operacionais da rede, evitando a seleo de rotas que encaminham os datagramas atravs de pores da rede que esto congestionadas ou falhando. Os parmetros qualitativos e operacionais adotados por um algoritmo de roteamento so denominados mtricas de roteamento. Diversas mtricas podem ser usadas pelos algoritmos de roteamento: 11 Comprimento da rota nmero de roteadores ao longo do caminho.
Captulo 7 - Roteamento

11 Retardo tempo necessrio para os bits transmitidos alcanarem o destino. 11 Confiabilidade probabilidade de ocorrncia de erros de transmisso. 11 Taxa de transmisso nmero de bits que podem ser transmitidos por unidade de tempo. 11 Carga percentual de utilizao dos enlaces. 11 Tamanho do datagrama (MTU) pode ser usado para evitar a fragmentao. 11 Tipo de servio requerido define a importncia das demais mtricas de roteamento na seleo da rota.

273

No entanto, as implementaes dos algoritmos de roteamento so menos sofisticadas e, geralmente, selecionam rotas baseadas em um subconjunto reduzido dessas mtricas de roteamento, ou apenas uma nica mtrica.

Mtrica da rota
11 Nmero inteiro no negativo que indica a qualidade da rota. 11 Derivada das mtricas de roteamento. 11 Algoritmos de roteamento adotam um nmero reduzido de mtricas de roteamento. 11 Mtricas de roteamento so aplicadas a uma equao bem definida, gerando a mtrica ou custo da rota. 11 Quanto menor a mtrica, melhor a rota.

As mtricas de roteamento adotadas so aplicadas a uma equao bem conhecida, gerando o conceito de custo ou mtrica da rota. Na prtica, a mtrica de uma rota apenas um nmero inteiro no negativo que indica a qualidade da rota. Consequentemente, adotando a perspectiva de custo, quanto menor a mtrica de uma rota, ento melhor ser esta rota. Por exemplo, uma rota de custo 5 melhor que outra rota de custo 10. Portanto, com base nas mtricas das rotas possveis, o algoritmo de roteamento toma as decises de roteamento para cada datagrama. Vale ressaltar que existe uma distino entre mtricas de roteamento e mtricas de rotas. As mtricas de roteamento so os parmetros qualitativos ou operacionais usados para derivar as mtricas (custos) das rotas. No entanto, muitas vezes, esses termos so usados com o mesmo significado, principalmente quando uma nica mtrica de roteamento usada para derivar a mtrica das rotas. Resumo Aps receber um datagrama, o algoritmo de roteamento identifica as possveis rotas para o destino do datagrama, avalia as mtricas associadas a cada uma dessas rotas e, ento, seleciona a rota de menor mtrica.

Tabela de roteamento
11 Mantm informaes de roteamento para todas as redes fsicas da inter-rede. 11 Descreve a topologia geral da inter-rede. 11 Identifica rotas para todos os destinos. 11 Sinaliza os custos das rotas, provendo a noo de melhor rota para cada destino. 11 Direciona as decises de roteamento realizadas pelo algoritmo de roteamento.
Arquitetura e Protocolos de Rede TCP-IP

11 Existe em todos os roteadores e estaes da inter-rede. 11 Adota um modelo de roteamento baseado em redes. 22 Mantm rotas que apontam para prefixos de rede e no para estaes individuais. 22 Reduz a quantidade de informaes armazenadas. 22 Melhora a eficincia do roteamento. 22 Torna o tamanho da tabela dependente do nmero de redes, mas independente do nmero de estaes. Estrutura de dados que mantm informaes que descrevem a topologia geral da inter-rede, identificando rotas para todos os possveis destinos e a melhor forma de alcan-los. Para ser

274

capaz de rotear corretamente os datagramas, os algoritmos de roteamento dos roteadores e estaes precisam conhecer a topologia geral de toda a inter-rede, e no apenas das redes fsicas s quais esto diretamente conectados. Assim, os algoritmos de roteamento precisam manter informaes de roteamento para todas as redes fsicas que compem a inter-rede TCP/IP. Essas informaes de roteamento so armazenadas na tabela de roteamento. A noo de melhor rota para cada destino sinalizada nos custos das respectivas rotas possveis, derivados a partir das mtricas de roteamento adotadas. Assim, as tabelas de roteamento direcionam todas as decises realizadas pelos algoritmos de roteamento. Em cada roteador ou estao, sempre que a camada de rede precisa enviar datagramas, o algoritmo de roteamento consulta a tabela de roteamento para descobrir a rota a ser adotada para encaminhar cada datagrama. Portanto, considerando que roteadores e estaes implementam algoritmos de roteamento, conclumos que ambos possuem tabelas de roteamento. importante lembrar que os esquemas de endereamento pressupem que todas as interfaces conectadas a uma rede fsica compartilham um prefixo de rede, sub-rede ou bloco. Essa caracterstica permite que as tabelas de roteamento possuam apenas informaes sobre os prefixos de rede, ao invs de informaes sobre estaes individuais. Portanto, a arquitetura TCP/IP adota um modelo de roteamento baseado em redes, ao invs de estaes. Em outras palavras, as rotas das tabelas de roteamento apontam para as redes, e no para as estaes individuais. Essa abordagem torna mais eficiente o roteamento, pois reduz sensivelmente a quantidade de informaes mantidas na tabela de roteamento. Considerando o modelo de roteamento baseado em redes, podemos concluir que o tamanho da tabela de roteamento depende da quantidade de redes fsicas e/ou blocos que compem a inter-rede, variando medida que redes e/ou blocos so acrescentados ou removidos. Por outro lado, o tamanho das tabelas de roteamento independente do nmero de estaes existentes na inter-rede.

Protocolo de roteamento
11 Mecanismo que implementa a atualizao automtica das tabelas de roteamento nos roteadores. 11 Permite a definio de tabelas completas e consistentes. 11 Atualizaes so realizadas a partir das informaes de roteamento propagadas e trocadas entre roteadores. 11 Propagaes sinalizam mudanas operacionais das vrias redes fsicas. 11 Diversos protocolos so padronizados: 22 RIP (Routing Information Protocol). 22 OSPF (Open Shortest Path First). 22 BGP (Border Gateway Protocol).

22 Nmero de caminhos. 22 Propagao das rotas. 22 Organizao estrutural. 22 Hierarquia de roteamento. 22 Propagao de mscaras.

275

Captulo 7 - Roteamento

11 Caractersticas operacionais diferenciam os protocolos de roteamento:

J vimos que os algoritmos de roteamento adotam mtricas de roteamento para derivar os custos das vrias rotas possveis. Nesse processo, as mtricas de roteamento permitem que os algoritmos de roteamento evitem pores da rede congestionadas ou com falha. No entanto, considerando que as condies operacionais das vrias redes fsicas podem variar a cada momento, as mtricas de roteamento devem ser atualizadas para refletir as mudanas ocorridas na inter-rede. Como as tabelas de roteamento mantm os custos das vrias rotas, essas tabelas devem, consequentemente, ser sempre atualizadas para refletir as mudanas na situao opera cional das vrias redes fsicas. Observe que mudanas no contedo das tabelas de roteamento modificam os caminhos que os datagramas devem seguir. Para atualizar as tabelas de roteamento, certo grau de cooperao dinmica necessrio entre os roteadores. Em particular, roteadores devem trocar informaes de roteamento que sinalizam as mudanas operacionais das vrias redes fsicas. Para tal, protocolos especficos devem ser usados para viabilizar a propagao e a troca de informaes de roteamento entre roteadores. Tais protocolos so denominados protocolos de roteamento. Em resumo, podemos definir um protocolo de roteamento como um mecanismo que implementa a atualizao automtica das tabelas de roteamento nos diversos roteadores. As atualizaes so realizadas a partir das informaes de roteamento trocadas entre os roteadores, permitindo a definio de tabelas completas e consistentes. Por tabelas com pletas, entende-se as que possuem rotas para todos os possveis destinos. Por tabelas consistentes, entende-se as que possuem rotas vlidas que consideram a situao operacional atual das vrias redes fsicas. Existem diversos protocolos de roteamento padronizados na arquitetura TCP/IP. Dentre esses, os protocolos RIP (Routing Information Protocol), OSPF (Open Shortest Path First) e BGP (Border Gateway Protocol) so os principais, por serem os mais adotados na prtica. Vale ressaltar que o objetivo aqui no o de estudar e avaliar detalhadamente os protocolos de roteamento padronizados na arquitetura TCP/IP, mas apenas identificar as principais caractersticas operacionais que os diferenciam.

Nmero de caminhos
11 Caminho nico 22 Instala uma nica rota para cada destino. 11 Mltiplos caminhos 22 Instala, quando possvel, diversas rotas para cada destino. Os protocolos de roteamento podem inserir diferentes rotas para um mesmo destino na
Arquitetura e Protocolos de Rede TCP-IP

tabela de roteamento: 11 Protocolo de caminho nico insere uma nica rota para cada destino (exemplo: protocolo RIP). 11 Protocolo de mltiplos caminhos insere, quando possvel, diversas rotas para cada destino (exemplo: protocolo OSPF).

Propagao de rotas
11 Vetor-distncia 22 Periodicamente, envia informaes de roteamento aos roteadores vizinhos. 22 Propagaes so realizadas de forma independente das mudanas operacionais.

276

11 Estado de enlace 22 Envia a todos os roteadores informaes sobre as redes fsicas (enlaces) diretamente conectadas. 22 Novas propagaes somente so realizadas aps mudanas operacionais nos enlaces. Os mecanismos de propagao de rotas tambm diferenciam os diversos protocolos de roteamento. Em termos gerais, existem dois mecanismos de propagao: 11 Vetor-distncia (distance-vector) este tipo de protocolo envia, periodicamente, infor-

maes da tabela de roteamento apenas aos roteadores vizinhos, independentemente da ocorrncia ou no de mudanas operacionais nas redes fsicas (exemplo: protocolo RIP). 11 Estado de enlace (link-state) este tipo de protocolo, inicialmente, propaga a todos os roteadores da inter-rede, informaes sobre as redes fsicas (enlaces) diretamente conectadas e, posteriormente, realiza novas propagaes somente aps mudanas no estado destes enlaces (exemplo: protocolo OSPF).

Organizao estrutural
11 Estrutura plana 22 Roteadores desempenham o mesmo papel, realizando as mesmas funes. 11 Estrutura hierrquica 22 Roteadores so organizados de forma hierrquica, desempenhando diferentes papis. 22 Funo de cada roteador depende de sua localizao fsica na inter-rede.

Alguns protocolos de roteamento definem diferentes funes para os roteadores, de acordo com a localizao fsica desses roteadores dentro da inter-rede. Disso derivam, por consequncia, diferentes organizaes estruturais: 11 Estrutura plana adotada por um protocolo quando todos os roteadores desempenham o mesmo papel (exemplo: protocolo RIP). 11 Estrutura hierrquica adotada por um protocolo quando os roteadores so organizados hierarquicamente, desempenhando diferentes papis nessa hierarquia (exemplo: protocolo OSPF).

Hierarquia de roteamento
11 IRP (Interior Routing Protocol) 22 Protocolo de roteamento adotado dentro de sistemas autnomos. 11 ERP (Exterior Routing Protocol) 22 Protocolo de roteamento adotado entre sistemas autnomos. Para organizar e administrar a propagao de rotas na internet, um conjunto de redes (AS Autonomous System). Dessa forma, a internet composta por um conjunto de sistemas autnomos interconectados. Dentro de um determinado sistema autnomo, a

autoridade administrativa possui autonomia para selecionar o protocolo de roteamento a ser adotado. Logo, podemos classificar os protocolos de roteamento de acordo com a sua rea de abrangncia: 11 Protocolos de roteamento interior (IRP Interior Routing Protocol) protocolos de roteamento que podem ser adotados dentro de sistemas autnomos (exemplo: protocolos RIP e OSPF).

277

Captulo 7 - Roteamento

controladas por uma nica autoridade administrativa chamado de Sistema Autnomo

11 Protocolos de roteamento exterior (ERP Exterior Routing Protocol) protocolos de roteamento que podem ser adotados entre sistemas autnomos (exemplo: protocolo BGP).

Propagao de mscaras
11 Protocolo classful 22 No inclui as mscaras de rede quando propaga informaes de roteamento. 11 Protocolo classless 22 Inclui as mscaras de rede quando propaga informaes de roteamento. Por fim, da mesma forma que os esquemas de endereamento, os protocolos de rotea mento tambm so classificados em protocolos classful e classless. A nica diferena a capacidade de propagar as mscaras de rede: 11 Protocolos classful no propagam as mscaras de rede (exemplo: protocolo RIPv1).

11 Protocolos classless propagam as mscaras de rede (exemplo: protocolo OSPF e verso 2 do protocolo RIP).

Principais protocolos de roteamento na arquitetura TCP/IP


11 RIP (Routing Information Protocol) protocolo de roteamento tipo vetor-distncia que propaga, periodicamente, informaes de roteamento aos roteadores vizinhos, independentemente de ocorrerem ou no mudanas operacionais nas redes fsicas. 11 OSPF (Open Shortest Path First) protocolo de roteamento tipo estado de enlace que propaga as informaes dos enlaces de rede para todos os roteadores, apenas na inicializao ou aps mudanas no estado dos enlaces. 11 BGP (Border Gateway Protocol) protocolo de roteamento tipo exterior usado para propagar informaes sobre o alcance das redes que compem os diversos sistemas autnomos.
Sistema autnomo Conjunto de redes controladas por uma nica autoridade administrativa, que possui autonomia para selecionar o protocolo de roteamento interno.

Representao de rotas
11 Modelo de roteamento 22 A arquitetura TCP/IP adota o modelo de roteamento passo-a-passo (hop-by-hop). 22 Estaes de uma mesma rede podem enviar datagramas diretamente entre si. 22 Estaes de redes distintas devem enviar datagramas ao prximo roteador do caminho (next-hop). 22 Datagramas so encaminhados de um roteador para outro, at que possam ser entregues diretamente.
Arquitetura e Protocolos de Rede TCP-IP

11 Tabela de roteamento 22 Rotas indicam apenas o prximo roteador (next-hop) do caminho at a rede de destino. 33 Roteadores e estaes no conhecem o caminho completo at o destino. 22 Rotas so representadas por pares (N, R). 33 N: endereo da rede de destino. 33 R: endereo do prximo roteador. 22 O prximo roteador R deve residir em uma rede diretamente conectada. 33 Para redes diretamente conectadas, R apenas uma indicao de entrega direta.

278

Na arquitetura TCP/IP, a camada de rede adota o modelo de roteamento hop-by-hop (passo-a-passo), tcnica de roteamento na qual a estao origem e cada roteador intermedirio entregam o datagrama ao prximo roteador do caminho, at que algum deles possa entregar o datagrama diretamente estao destino. Nesse modelo, se as estaes origem e destino esto conectadas na mesma rede fsica, o algoritmo de roteamento da estao origem encaminha o datagrama diretamente estao destino. No entanto, se as estaes origem e destino esto conectadas a redes fsicas distintas, o algoritmo de roteamento da estao origem roteia o datagrama ao prximo roteador (next-hop) do melhor caminho at o destino. Por sua vez, esse roteador intermedirio assume a responsabilidade de continuar encaminhando o datagrama ao destino. Seguindo esse modelo passo-a-passo, o algoritmo de roteamento de cada roteador intermedirio roteia o datagrama para o prximo roteador, at que algum deles possa realizar uma entrega direta estao destino. Assim, os datagramas atravessam a inter-rede e so encaminhados de um roteador para outro, at que possam ser entregues diretamente ao destino final. Para implementar o modelo de roteamento passo-a-passo, tipicamente, a tabela de roteamento contm rotas representadas por pares (N, R), em que N o endereo da rede destino e R o endereo IP do prximo roteador (next-hop) do caminho at a rede N. Geralmente, R reside em uma rede diretamente conectada, permitindo a entrega direta do datagrama para ele. Quando a rede N j diretamente conectada, ao invs de indicar um prximo roteador, a rota apenas indica que uma entrega direta pode ser realizada ao destino. A Figura 7.2 ilustra uma inter-rede de exemplo, mostrando as tabelas de roteamento dos roteadores e algumas estaes. Observe que cada entrada da tabela de roteamento indica apenas o prximo roteador para cada possvel rede destino. Portanto, as rotas no indicam o caminho completo at o destino, mas apenas o endereo IP do prximo roteador do caminho at a rede destino. Consequentemente, no modelo de roteamento da arquitetura TCP/IP, estaes origem e roteadores intermedirios no conhecem a rota completa at o destino, exceto quando o roteador est diretamente conectado. Alm disso, observe que cada entrada da tabela de roteamento aponta para um roteador
Figura 7.2 Tabela de roteamento.

intermedirio que pode ser alcanado atravs de uma rede diretamente conectada. Ou seja, todos os roteadores intermedirios listados nas tabelas de roteamento devem estar diretamente conectados mesma rede da estao ou roteador.
E3

E1

Rede
10.0.0.0 150.10.0.0 200.10.1.0

Next-hop
Direct 10.0.0.1 10.0.0.1 150.10.0.1

Rede
10.0.0.0 150.10.0.0 200.10.1.0

Next-hop
200.10.1.2 200.10.1.2 Direct 200.10.1.2

E2

Rede
10.0.0.0 150.10.0.0 200.10.1.0

Next-hop
Direct Direct 150.10.0.2

Rede
10.0.0.0 150.10.0.0 200.10.1.0

Next-hop
150.10.0.1 Direct Direct

E4

279

Captulo 7 - Roteamento

N1 10.0.0.0

R1 10.0.0.1

N2 150.10.0.0

R2 150.10.0.2

N3 200.10.1.0

Na Figura 7.2, quando a estao E1 deseja enviar datagramas estao E2, que est conectada mesma rede fsica, o algoritmo de roteamento da estao E1 identifica que a estao E2 pertence rede 10.0.0.0 e, assim, encaminha o datagrama diretamente para E2. Nesse caso, observe que a tabela de roteamento da estao E1 possui a rota (10.0.0.0, Direct), indicando que a rede 10.0.0.0 est diretamente conectada estao E1. No entanto, quando a estao E1 deseja enviar datagramas estao E3, que est conectada a uma rede fsica distinta, o algoritmo de roteamento da estao E1 identifica que a estao E3 pertence rede 200.10.1.0 e, assim, roteia o datagrama para a interface 10.0.0.1 do roteador R1. Nesse caso, a tabela de roteamento da estao E1 possui a rota (200.10.1.0, 10.0.0.1), indicando que a rede 200.10.1.0 pode ser alcanada atravs da interface 10.0.0.1 do roteador R1, que est diretamente conectada mesma rede da estao E1. Ento, baseado na rota (200.10.1.0, 150.10.0.2), o algoritmo de roteamento do roteador R1 encaminha o datagrama para a interface 150.10.0.2 do roteador R2. Por fim, o algoritmo de roteamento do roteador R2 identifica que a rede destino 200.10.1.0 est diretamente conectada e, assim, encaminha o datagrama diretamente estao E3.

Rotas para estaes


11 Permitem realizar testes e depurao de tabelas de roteamento. 11 Adotadas para controle de acesso. 11 Devem ser evitadas para no aumentar o tamanho das tabelas de roteamento. 11 Tambm representadas por pares (N, R). 22 N: endereo da estao de destino. 22 R: endereo do prximo roteador. 11 O algoritmo de roteamento prioriza rotas para estaes. Embora o roteamento adote o modelo baseado em endereos de rede, rotas especficas para estaes tambm so suportadas pelas implementaes do protocolo IP. Rotas para estaes tambm so representadas por pares (N, R), porm, nesses casos, o termo N o

endereo IP da estao destino, enquanto R o endereo IP do prximo roteador (nexthop) do caminho at a estao destino N. O algoritmo de roteamento sempre prefere rotas para estaes a rotas para redes. Em outras palavras, o algoritmo de roteamento tenta, primeiramente, uma rota especfica para a estao destino do datagrama. Se uma rota especfica no existe, ento a rota para a respectiva rede destino adotada. Rotas para estaes proveem melhor controle sobre o uso da rede, permitindo a realizao
Arquitetura e Protocolos de Rede TCP-IP

de testes e depurao de conexes de rede e tabelas de roteamento. Alm disso, rotas para estaes podem ser adotadas como mecanismo de controle de acesso. Na prtica, porm, rotas para estaes devem ser utilizadas apenas quando estritamente necessrias, evitando, assim, o aumento desnecessrio das tabelas de roteamento.

Rota padro (default)


11 Consolidam diversas rotas em uma nica entrada da tabela de roteamento. 11 Reduzem o tamanho das tabelas de roteamento. 11 Tornam o roteamento mais eficiente.

280

11 So representadas por um par (N, R). 22 N: endereo reservado 0.0.0.0. 22 R: endereo do prximo roteador. 11 Adotadas apenas quando no existe uma rota para a estao ou rede de destino. Rota padro a rota adotada quando nenhuma outra rota da tabela de roteamento est

associada ao endereo de rede do destino do datagrama. Comumente, muitas redes fsicas possuem apenas uma nica conexo com as demais redes que compem a inter-rede institucional, ou mesmo a internet. Por exemplo, na Figura 7.3, as redes N1 e N3 possuem apenas uma nica conexo com as demais redes atravs dos roteadores R1 e R2, respectivamente. Nesses casos, o conceito de rota padro pode ser utilizado para reduzir o tamanho das tabelas de roteamento, tornando mais eficiente o roteamento em roteadores e estaes.
E1 E3

Rede
10.0.0.0 Default

Next-hop
Direct 10.0.0.1 150.10.0.1

Rede
200.10.1.0 Default

Next-hop
Direct 200.10.1.2 200.10.1.2

N1 10.0.0.0

R1 10.0.0.1

N2 150.10.0.0

R2 150.10.0.2

N3 200.10.1.0

E2

Rede
10.0.0.0 150.10.0.0 Default

Next-hop
Direct Direct 150.10.0.2

Rede
150.10.0.0 200.10.1.0 Default

Next-hop
Direct Direct 150.10.0.1

E4

Figura 7.3 Rotas padro.

A rota padro permite a consolidao de diversas rotas em uma nica entrada da tabela de roteamento. Por exemplo, considerando a inter-rede da Figura 7.3, as tabelas de roteamento das estaes E1 e E3, ao adotarem rotas padro, so reduzidas. Observe que nas estaes E1 e E3 as duas rotas que apontavam para 10.0.0.1 e 200.10.1.2, respectivamente, foram consolidadas em uma nica rota padro. Para ilustrar a maior reduo das tabelas de roteamento, suponha que diversos roteadores e redes fsicas foram conectados rede N2 e aos roteadores R1 e R2 (Figura 7.3). Observe que, nesse caso, as tabelas de roteamento das estaes E1 e E3 continuam a ser aquelas apresentadas na figura. Embora o exemplo apresente o uso de rotas padro apenas em estaes, roteadores tambm podem definir rotas padro. Por exemplo, suponha que diversos roteadores e redes fsicas foram conectados rede N3 e ao roteador R2. Nesse caso, a tabela de roteamento do roteador R1 pode ser configurada, adotando rota padro, como ilustra a Figura
Captulo 7 - Roteamento

7.3. Lembre-se de que o endereamento IP reserva o endereo 0.0.0.0 para representar a rota padro. Por exemplo, a rota (default, 150.10.0.2) internamente representada (0.0.0.0, 150.10.0.2). Um datagrama encaminhado pela rota padro somente quando nenhuma outra entrada da tabela de roteamento est associada ao endereo de rede do destino do datagrama. Assim, o algoritmo de roteamento tenta, primeiramente, uma rota especfica para a estao de destino.

281

Se esta rota especfica para a estao de destino no existe, o algoritmo de roteamento tenta uma rota para a rede de destino. Se a rota para a rede no existe, ento a rota padro adotada.

Rotas nulas
11 Prximo roteador (next-hop) nulo. 11 Simplesmente descarta os pacotes que utilizam essa rota. 11 Usadas para mitigar ataques de negao de servio. 11 Podem ser utilizadas para evitar loops de roteamento.

Usualmente, o prximo passo (next-hop) para se chegar a um determinado destino outro roteador, ou ento uma interface fsica conectada rede onde se localiza o destino final do pacote. No entanto, em alguns casos, desejvel que uma rota aponte para um prximo roteador (next-hop) nulo, fazendo com que os pacotes que utilizam essa rota sejam descartados. Chamamos esse tipo de rota de rota nula ou blackhole (buraco negro). A rota nula funciona como uma espcie de regra de firewall, com a vantagem de que o impacto no desempenho do roteador quase inexistente. Por isso, rotas nulas so comumente usadas para mitigar ataques de negao de servio nos roteadores de grandes provedores. Rotas nulas so tambm utilizadas para se evitar um problema conhecido como loop de roteamento, que veremos a seguir.
R1

Rede
200.200.200.0/24 200.200.201.0/24 192.168.0.0/30

Next-hop
192.168.0.2 192.168.0.2 Conectada

200.200.200.0/24

200.200.201.0/24

R2

Rota Default

192.168.0.0/30

Rede
200.200.200.0/24 200.200.200.0/24 192.168.0.0/30 Default

Next-hop
Conectada Conectada 192.168.0.1
Figura 7.4 Loop de roteamento.

Arquitetura e Protocolos de Rede TCP-IP

Um loop de roteamento acontece quando h uma condio cclica no roteamento dos pacotes. Normalmente causada por erros na configurao de roteadores. Para entender melhor como isso acontece, vamos ver um exemplo. Considere uma topologia de rede simples (Figura 7.4), onde o roteador R1, de um provedor de acesso, est conectado ao roteador R2 de um cliente. O provedor designou dois blocos /24 para o cliente, que devero ser configurados no roteador R2 (200.200.200.0/24 e 200.200.201.0/24). No entanto, como ainda no havia necessidade de se utilizar o segundo bloco, o administrador de redes do cliente configurou apenas o primeiro bloco no roteador R2 (200.200.200.0/24), embora as rotas para ambos os prefixos j tenham sido configuradas pelo provedor no roteador R1. Considere a rede onde esto os dois roteadores como sendo a rede 192.168.0.0/30.

282

A tabela de roteamento do roteador R2 possui rotas para as redes 192.168.0.0/30 e 200.200.200.0/24, que esto diretamente conectadas, e uma rota padro. Se uma estao, localizada na rede do provedor, enviar um pacote com destino rede 200.200.201.0/24, ele ser encaminhado pelo roteador R1 para o roteador R2. Como o roteador R2 no possui uma rota especfica para essa rede, ele utilizar a sua rota padro para encaminhar o pacote de volta para o roteador R1. Esse ciclo continuar at o TTL do pacote expirar. Uma forma de evitar essa situao inserir uma rota nula para a rede 200.200.201.0/24 no roteador R2, enquanto esse bloco no efetivamente usado.

Listando tabelas de roteamento


E1 E3

R1 N1 10.0.0.0 N2 150.10.0.0

R2 N3 200.10.1.0

10.0.0.1

150.10.0.1

150.10.0.2

200.10.1.2

E2

E4

> route n Destination 10.0.0.0 150.10.0.0


Figura 7.5 Listagem das tabelas de roteamento.

Gateway 0.0.0.0 0.0.0.0 0.0.0.0 150.10.0.2

Genmask 255.0.0.0 255.255.0.0 255.0.0.0 0.0.0.0

Flags U U U UG

Metric 0 0 0 0

Ifaces eth0 eth1 lo eth1

127.0.0.0 0.0.0.0

Com base no conhecimento sobre a representao de rotas, podemos apresentar exemplos prticos de tabelas de roteamento em sistemas Linux. Observe a Figura 7.5, que mostra a
Comando route Sua funo listar a tabela de roteamento.

tabela de roteamento do roteador R1. O comando route lista a tabela de roteamento e, por default, mostra os nomes associados aos endereos de redes e roteadores. A opo -n fora a apresentao apenas dos endereos. Observe que, na prtica, a tabela de roteamento possui mais informaes que apenas os pares (N, R). As principais informaes mostradas incluem: 11 Endereo da rede destino (Destination), em que 0.0.0.0 ou default representa a rota padro. 11 Endereo do prximo roteador (Gateway), em que 0.0.0.0 ou um asterisco (*) indica um destino diretamente conectado. 11 Mscara da rede destino (Genmask), em que 0.0.0.0 e 255.255.255.255 so as mscaras de uma rota padro e de uma rota para a estao, respectivamente. 283
Captulo 7 - Roteamento

11 Estado da rota (Flags). 11 Mtrica da rota (Metric). 11 Interface usada para enviar os datagramas (Iface). Principais indicadores de estado da rota: 11 U rota vlida (up). 11 H rota para a estao (host). 11 G rota indireta via um roteador intermedirio (gateway).

Exerccio de fixao 1 e Anlise de tabela de rotas


Na Figura 7.5, destacada a tabela de rotas do roteador R1. Para quais redes o roteador poder encaminhar pacotes?

Qual interface do roteador R1 ser responsvel por encaminhar pacotes para a rede 200.10.1.0?

Qual entrada na tabela de rotas ir tratar os pacotes originados de 10.0.0.0 para 200.10.1.0?

Tambm possvel listar a tabela de roteamento usando o comando netstat com a opo r. Similarmente, a opo n fora a apresentao dos endereos, ao invs de nomes de redes e roteadores. A Figura 7.6 mostra a tabela de roteamento do roteador R1. Observe que o comando netstat no mostra as mtricas das rotas.

Comando netstat r Sua funo listar a tabela de roteamento.

E1

E3

R1 N1 10.0.0.0 N2 150.10.0.0

R2 N3 200.10.1.0

10.0.0.1

150.10.0.1

150.10.0.2

200.10.1.2

Arquitetura e Protocolos de Rede TCP-IP

E2

E4

> netstat rn Destination 10.0.0.0 150.10.0.0 127.0.0.0 Gateway 0.0.0.0 0.0.0.0 0.0.0.0 150.10.0.2 Genmask 255.0.0.0 255.255.0.0 255.0.0.0 0.0.0.0 Flags U U U UG Ifaces eth0 eth1 lo eth1

Figura 7.6 Tabela de roteamento do roteador R1.

284

0.0.0.0

Estratgias de roteamento
Sabendo que os algoritmos de roteamento encaminham os datagramas consultando as tabelas de roteamento, vamos, a seguir, descrever as diferentes formas de inicializao e manuteno das tabelas de roteamento.

Roteamento esttico
11 Permite instalar ou remover manualmente rotas estticas. 11 Rotas devem ser manualmente atualizadas aps mudanas na inter-rede. 11 Processo lento e sujeito a erros. 11 No acomoda crescimento e mudanas na inter-rede de forma satisfatria. 11 Adequado para inter-redes pequenas, simples e estveis. 11 Comandos de configurao de rotas so includos em arquivos de inicializao.

Roteamento esttico a estratgia de roteamento na qual as tabelas de roteamento de roteadores e estaes so manualmente configuradas pelo administrador. As tabelas de rote amento podem ser diretamente manipuladas pelos administradores atravs de comandos especficos, que permitem instalar ou remover rotas manualmente. Assim, os administra dores podem configurar as tabelas de roteamento de roteadores e estaes, definindo as rotas para todos os possveis destinos. As rotas configuradas manualmente so denominadas de rotas estticas. Da mesma forma, a estratgia de roteamento baseada apenas em rotas estticas denominada de roteamento esttico. No roteamento esttico, sempre que redes so acrescentadas, removidas ou mudam de estado operacional, os administradores devem atualizar, manualmente, as tabelas de roteamento de todos ou de parte dos roteadores e estaes. Portanto, o roteamento esttico pode consumir bastante tempo de configurao e est sujeito a erros, no acomodando de forma satisfatria o crescimento e as mudanas na inter-rede. Consequentemente, o roteamento esttico adequado para inter-redes pequenas, simples e estveis, em que as redes fsicas possuem apenas uma nica conexo com as demais redes que compem a inter-rede, no existindo rotas redundantes e em um contexto em que mudanas no estado operacional das vrias redes sejam incomuns. Essas caractersticas reduzem o tamanho das tabelas de roteamento e evitam a constante configurao manual de rotas. Por exemplo, na inter-rede da Figura 7.6, as tabelas de roteamento dos roteadores e estaes podem ser facilmente configuradas pelos administradores, pois apenas um pequeno conjunto de rotas precisa ser efetivamente criado. No roteamento esttico, na prtica, as entradas das tabelas de roteamento so criadas por comandos que realizam a configurao do endereamento das interfaces de rede e, tambm, por comandos especficos que permitem a configurao de rotas estticas. Geralmente, tais comandos so includos em arquivos de configurao que so processados
Captulo 7 - Roteamento

durante a inicializao dos sistemas.


Comando ifconfig Sua funo configurar os endereos das interfaces e automaticamente instalar rotas para as redes diretamente conectadas.

Por exemplo, em sistemas Linux, o comando ifconfig configura os endereos das interfaces e automaticamente instala rotas para as respectivas redes diretamente conectadas. A Figura 7.7 mostra a configurao do endereo da interface eth1 do roteador R1 da Figura 7.6 e a definio automtica da rota para a respectiva rede.

285

O comando route, por sua vez, permite criar e remover rotas da tabela de roteamento. Na mesma figura, mostrada a criao de uma rota esttica para a rede 200.10.1.0/24 no roteador R1. A opo add indica que uma rota deve ser criada para a rede 200.10.1.0 (-net), cuja mscara 255.255.255.0 (netmask), via o roteador intermedirio 150.10.0.2 (gw). Para criar rotas para estaes, deve-se adotar a mesma sintaxe, porm substituindo a opo net por host.

> ifconfig > route n Destination 150.10.0.0 . . .

eth1

150.10.0.1 netmask 255.255.0.0

Gateway 0.0.0.0

Genmask 255.255.255.0

Flags U

Metric 0

Iface eth1

> route

add -net

200.10.1.0

netmask

255.255.255.0

gw 150.10.0.2

> route n Destination 150.10.0.0 200.10.1.0 . . . > route add default gw 10.0.0.1 Gateway 0.0.0.0 150.10.0.2 Genmask 255.255.255.0 255.255.255.0 Flags U UG Metric 0 0 Iface eth1 eth1

> route n Destination 10.0.0.0 0.0.0.0 Gateway 0.0.0.0 10.0.0.1 Genmask 255.0.0.0 0.0.0.0 Flags U UG Metric 0 0 Iface eth0 eth0
Figura 7.7 Roteamento esttico.

Para remover rotas, deve-se utilizar o comando route com a opo del. Similarmente, deve-se adotar a mesma sintaxe para remover rotas para estaes, porm substituindo a opo net por host. O comando route tambm permite criar e remover a rota padro. A Figura 7.7 ilustra a criao da rota padro na estao E1. A opo add default indica que uma rota padro deve ser criada via o roteador intermedirio 10.0.0.1 (gw). Para remover a rota padro, basta substituir a opo add por del.
Arquitetura e Protocolos de Rede TCP-IP

Roteamento dinmico
11 Adota protocolos de roteamento para criar, remover e atualizar rotas dinmicas. 11 Rotas so manipuladas de forma automtica, rpida e confivel. 11 Melhora a confiabilidade da rede e o tempo de resposta s mudanas operacionais. 11 Adequado para inter-redes grandes, complexas e instveis. 11 Adequado tambm para redes pequenas com rotas redundantes e mudanas frequentes. Estratgia de roteamento em que todas as tabelas de roteamento de roteadores e estaes so automaticamente configuradas pelos protocolos de roteamento. Em inter-redes

286

complexas, grandes e instveis, tal como a internet, os administradores no conseguem atualizar as rotas manualmente, de forma rpida e confivel, em resposta s mudanas na inter-rede. Portanto, protocolos de roteamento devem ser adotados para atualizar automaticamente as tabelas de roteamento, de modo a melhorar a confiabilidade da rede e o tempo de resposta s mudanas operacionais. Vale ressaltar que protocolos de roteamento tambm podem ser interessantes em redes pequenas que possuem rotas redundantes e que apresentam frequentes mudanas na situao operacional das redes fsicas. Nesses casos, a atualizao das rotas pode ser realizada de forma automtica, rpida e confivel. Para realizar a atualizao automtica das rotas, os protocolos de roteamento propagam informaes de roteamento, a partir das tabelas de roteamento completas e consistentes que podem ser dinamicamente configuradas. Na prtica, os protocolos de roteamento permitem a criao de novas rotas, atualizao de rotas existentes e remoo de rotas invlidas. Por exemplo, quando o protocolo de roteamento detecta uma nova rede fsica, uma nova rota acrescentada s tabelas de roteamento. Aps perceber alteraes nas mtricas de roteamento, o protocolo de roteamento pode atualizar as mtricas das rotas. Por fim, se o protocolo de roteamento detecta a falha de um determinado enlace, as rotas afetadas podem ser removidas e rotas alternativas, que resolvem o problema, podem ser criadas. Quando existem rotas redundantes, o protocolo de roteamento encontra mltiplas rotas para determinados destinos. Nesses casos, com base nas mtricas de roteamento, o protocolo de roteamento escolhe a melhor rota e a instala na tabela de roteamento. Alguns protocolos instalam mltiplas rotas na tabela de roteamento e, dependendo da implementao, o algoritmo de roteamento usa apenas a melhor rota ou realiza o balanceamento de carga entre essas possveis rotas. As rotas manipuladas pelos protocolos de roteamento so denominadas rotas dinmicas e, por consequncia, a estratgia de roteamento baseada apenas em rotas dinmicas chamada de roteamento dinmico. A adoo do roteamento dinmico no muda a forma como o algoritmo de roteamento encaminha os datagramas. As entradas das tabelas de roteamento que so modificadas para refletir as mudanas na inter-rede.

Roteamento hbrido
Inicialmente, as tabelas de roteamento so configuradas com rotas estticas. 11 Rotas diretas para redes diretamente conectadas. 11 Rotas estticas para redes que proveem servios essenciais. Posteriormente, protocolos de roteamento complementam as tabelas de roteamento, atravs de rotas dinmicas para as demais redes fsicas que compem a inter-rede. Estratgia de roteamento em que as tabelas de roteamento de roteadores e estaes so

inicialmente configuradas com algumas rotas estticas e, posteriormente, complementadas com rotas dinmicas. As estratgias de roteamento esttico e dinmico tm suas vantagens e desvantagens. O roteamento dinmico pode resolver situaes complexas de roteamento de forma mais rpida e confivel. Porm, consome recursos de processamento e comuni cao para propagar e processar as informaes de roteamento. O roteamento esttico evita o consumo de recursos de processamento e comunicao, pois no existe propagao de informaes de roteamento. Entretanto, no acomoda de forma satisfatria o crescimento e as mudanas operacionais, pois a interveno manual lenta e sujeita a erros. Consequentemente, na prtica, comum encontrarmos uma estratgia de 287
Captulo 7 - Roteamento

roteamento hbrida. Nesse caso, a configurao inicial da tabela de roteamento composta por rotas diretas para as redes diretamente conectadas e por rotas estticas para as redes que proveem servios essenciais de conectividade. Em seguida, os protocolos de roteamento acrescentam rotas dinmicas para as demais redes fsicas que compem a inter-rede. No roteamento hbrido, geralmente, as estaes so configuradas com rotas estticas.

Arquiteturas de roteamento
Conforme j foi mencionado, tanto os esquemas de endereamento quanto os protocolos de roteamento so classificados nas categorias classful ou classless. Da composio de esquema de endereamento e os protocolos de roteamento derivam as arquiteturas de roteamento classful e classless. A arquitetura de roteamento classful caracterizada pela adoo do esquema de endereamento classful e protocolos de roteamento classful. J a arquitetura de roteamento classless caracterizada pela adoo do esquema de endereamento classless e protocolos de roteamento classless. Embora a diferena entre os protocolos de roteamento classful e classless parea pequena (apenas a incapacidade ou a capacidade de propagar as mscaras de rede), os efeitos so importantes.

Arquitetura classful
11 Adota o esquema de endereamento e protocolos de roteamento classful. 11 Protocolos de roteamento no propagam as mscaras das sub-redes. 11 Algoritmo de roteamento deve deduzir as mscaras das sub-redes. 22 Assume que as sub-redes, derivadas de um endereo classe A, B, ou C, adotam mscaras idnticas. 22 Suporta apenas sub-redes com mscaras de tamanho fixo. 11 Algoritmo de roteamento: 22 Extrair endereo IP de destino (D) do datagrama. 22 Determinar o endereo da rede ou sub-rede de destino (N): 33 Identificar o endereo da rede (C) classe A, B ou C. 33 Deduzir a mscara da rede ou sub-rede de destino (S):

33 Se existe alguma interface de sub-redes do endereo de rede C: 33 Deduzir a mscara S a partir da configurao dessa interface.
Arquitetura e Protocolos de Rede TCP-IP

33 Seno:Assumir que a mscara S igual mscara default da rede C. 33 Deduzir o endereo da rede ou sub-rede destino (N = D and S).
22 Se existe rota para o destino D: 33 Rotear o datagrama para o roteador R dessa rota e sair. 22 Se existe rota para a rede N: 33 Rotear o datagrama diretamente ou via o roteador R dessa rota e sair. 22 Se existe rota padro: 33 Rotear o datagrama para o roteador R indicado na rota padro e sair. 22 Gerar mensagem de erro.

288

Na arquitetura de roteamento classful, os protocolos de roteamento classful no propagam as mscaras das sub-redes. Dessa forma, o algoritmo de roteamento no conhece as mscaras das sub-redes, cujas rotas foram aprendidas por meio dos protocolos de roteamento. Consequentemente, o algoritmo de roteamento deve adotar algum mecanismo para deduzir estas mscaras. Para permitir a deduo das mscaras, a arquitetura classful suporta apenas sub-redes com mscaras de tamanho fixo. Em outras palavras, a arquitetura classful assume que todas as sub-redes derivadas de um determinado endereo classe A, B ou C adotam mscaras idnticas. Em funo dessa limitao, o algoritmo de roteamento deduz a mscara de uma sub-rede, cuja rota foi aprendida por meio de um protocolo de roteamento, a partir da configurao de interfaces diretamente conectadas a sub-redes do mesmo endereo classe A, B ou C. Por exemplo, se a rota para 192.168.10.64 aprendida por meio do protocolo de roteamento e existe uma interface diretamente conectada sub-rede 192.168.10.32/27, ento o algoritmo de roteamento deduz que a rota aprendida aponta para a sub-rede 192.168.1.64/27. Considerando os conceitos que estudamos, o algoritmo de roteamento classful adota o seguinte comportamento: prioritariamente, o algoritmo tenta encaminhar o datagrama atravs de uma rota especfica para a estao destino. Em segundo lugar, o algoritmo tenta adotar uma rota para a rede destino. Por ltimo, a rota padro utilizada. Se nenhuma dessas rotas existe, o algoritmo gera uma mensagem de erro. Observe tambm que o algoritmo assume que todas as sub-redes derivadas de um determinado endereo de rede possuem mscaras idnticas. Essa pressuposio pode ser percebida na deduo da mscara da rede destino (S) a partir da configurao de alguma interface pertencente a sub-redes do endereo de rede (C).

Arquitetura classless
11 Adota o esquema de endereamento e protocolos de roteamento classless. 11 Protocolos de roteamento propagam as mscaras das sub-redes. 11 Algoritmo de roteamento sempre conhece as mscaras das sub-redes. 11 Permite que as sub-redes, derivadas de um endereo de bloco, adotem mscaras diferentes. 11 Suporta sub-redes com mscaras de tamanho varivel. 11 Algoritmo de roteamento: 22 Extrair endereo IP de destino (D) do datagrama. 22 Para cada rota i da tabela, declarar a rota possvel se Ni = (D and Si). 22 Se existe alguma rota possvel: 33 Selecionar a rota possvel de maior prefixo de rede. 33 Rotear o datagrama para o roteador R da rota selecionada e sair.

Na arquitetura de roteamento classless, os protocolos de roteamento classless propagam as mscaras das sub-redes. Assim, o algoritmo de roteamento sempre conhece as mscaras das sub-redes cujas rotas foram aprendidas atravs dos protocolos de roteamento. Consequentemente, o algoritmo de roteamento no precisa adotar qualquer mecanismo para deduzir estas mscaras.

289

Captulo 7 - Roteamento

22 Gerar mensagem de erro.

Como as mscaras das vrias sub-redes so sempre individualmente propagadas e conhecidas, a arquitetura classless suporta sub-redes com mscaras de tamanho varivel. Em outras palavras, a arquitetura classless permite que as sub-redes derivadas de um determinado endereo de bloco adotem mscaras diferentes. O algoritmo de roteamento classless no explora o conceito de classes de endereos e tampouco adota qualquer pressuposio sobre as mscaras dos blocos. Ao invs disso, o algoritmo de roteamento classless explora o conceito de equivalncia de maior prefixo (longest prefix match), realizando uma comparao entre o endereo de destino (D) do datagrama e o endereo de destino de cada rota (Ni) da tabela de roteamento. Essa comparao realizada atravs da operao lgica entre o endereo de destino D e a mscara da rota Si. Se o resultado igual ao endereo de destino da rota (Ni), ento tal entrada declarada uma rota possvel. Dentre as rotas possveis, aquela que possui o maior prefixo de rede escolhida para rotear o datagrama. Observe que a rota possvel com o maior prefixo de rede sempre a que possui a maior mscara e, portanto, a rota mais especfica. Lembre-se de que rotas para estaes e a rota padro sempre adotam as mscaras 255.255.255.255 e 0.0.0.0, respectivamente. Portanto, implicitamente, a seleo da rota de maior prefixo prioriza as rotas para estaes, pois as mesmas possuem a maior mscara (255.255.255.255). Em seguida, rotas para sub-redes mais especficas so priorizadas. Por ltimo, a rota padro adotada apenas quando a nica rota possvel, pois ela possui a menor mscara (0.0.0.0). Vale ressaltar que a rota padro sempre uma rota vlida. Se nenhuma dessas rotas existe, ento o algoritmo gera uma mensagem de erro.

> route n Destination 200.10.1.1 200.10.1.1 0.0.0.0 Gateway 150.10.1.1 150.10.1.1 150.30.3.3 Genmask 255.255.255.0 255.255.255.255 0.0.0.0 Flags UGH UGH UG Metric 0 0 0 Iface eth0 eth0 eth2
Figura 7.8 Exemplo de tabela de rotas.

Por exemplo, considerando a tabela de roteamento mostrada na Figura 7.8, um datagrama destinado ao endereo 200.10.1.1 possui as entradas 200.10.1.1/32, 200.10.1.0/27 e 0.0.0.0/0 como rotas possveis. Nesse caso, o algoritmo adota a rota para a estao 200.10.1.1/32, pois ela possui o maior prefixo. Por outro lado, um datagrama para o endereo 200.10.1.2 possui as entradas 200.10.1.0/27 e 0.0.0.0/0 como rotas possveis. Nesse outro caso, o algoritmo adota a rota para a sub-rede
Arquitetura e Protocolos de Rede TCP-IP

200.10.1.0/27, pois ela possui o maior prefixo. Por fim, um datagrama para 192.168.1.1 adota rota padro, que a nica rota possvel.

Protocolos de roteamento padro


11 ARPAnet 22 Rede pequena. 22 Rotas estticas. 11 Crescimento da internet 22 Atualizao dinmica das tabelas de roteamento.

290

11 Protocolos interiores 22 RIP. 22 OSPF. 11 Protocolos exteriores 22 BGP.

Na arquitetura TCP/IP, diversos protocolos de roteamento foram desenvolvidos para atender a necessidades especficas, mas a grande motivao para o seu desenvolvimento foi, sem dvida, o crescimento massivo e sem controle da internet. No incio da ARPAnet, a rede experimental da agncia ARPA do Departamento de Defesa norte-americano (DoD), as rotas eram configuradas manualmente pelos administradores (rotas estticas) e funcionavam adequadamente, pois era uma rede pequena. Com o trmino da experincia ARPAnet e o incio da internet sustentada pela iniciativa privada, o crescimento da rede obrigou os administradores a rever essa posio. Surgiram ento os protocolos de roteamento que permitiam uma atualizao dinmica das tabelas de roteamento.

Protocolo RIP
11 Baseado no algoritmo Bellman-Ford. 11 Mtrica hop count. 11 Envia a tabela de rotas completa a cada 30 segundos. 11 RIPv2 22 Envia informao de mscara de rede (classless). 22 Autentica mensagens. 22 Mensagens multicast. Routing Information Protocol (RIP) o protocolo de roteamento mais antigo baseado no algoritmo de vetor distncia (Bellman-Ford). Possui duas verses: 11 RIPv1 (classful ); 11 RIPv2 (classless).

O RIPv1 j era distribudo no Unix BSD desde 1982, mas s foi padronizado em junho de 1988 pelo RFC 1058. Caractersticas do RIPv1: 11 Usa a porta 520 do protocolo UDP para enviar mensagens de broadcast; 11 Envia mensagens do tipo request solicitando informaes de rotas dos vizinhos; 11 Recebe mensagens do tipo response com atualizaes de rotas; 11 Mtrica usada o hop count (contagem de saltos): 22 hop count = 1 (rede diretamente conectada).
Captulo 7 - Roteamento

22 hop count = 16 (rede inatingvel). 11 A cada 30 segundos envia a tabela de rotas completa atravs das mensagens do tipo response; 11 No envia informao de mscara de rede (classful ). O RIPv2 foi inicialmente definido pelo RFC 1388, de janeiro de 1993, tornado obsoleto pelo RFC 1723, de novembro de 1994, e finalmente padronizado pelo RFC 2453, de novembro de 1998, que tornou obsoletos os anteriores. Principais diferenas em relao ao RIPv1:

291

11 Envia informao de mscara de rede (classless); 11 Usa autenticao de mensagens para maior segurana; 11 Usa mensagens multicast para o endereo 224.0.0.9. As demais caractersticas so semelhantes s do RIPv1. A limitao mais sria do protocolo RIP o fato de no suportar mais de 15 hops, limitando seu uso a redes pequenas. Face a isso, foi necessrio definir um novo protocolo que suportasse redes grandes e atendesse s exigncias de crescimento da internet.

Protocolo OSPF
O protocolo OSPF baseado na tecnologia de estado de enlace (link state), tendo como principais caractersticas: 11 No existe limite de saltos. 11 Suporta VLSM. 11 Convergncia mais rpida do que o RIP. 11 Hierarquia de redes. 11 Diviso da rede em reas. 11 Mais complexo.

O protocolo Open Shortest Path First (OSPF), definido no RFC 2328, um protocolo Interior Gateway Protocol (IGP), ou seja, projetado para uso intra-AS (Sistema Autnomo). Foi desenvolvido para atender s necessidades da comunidade da internet, que demandava um protocolo IGP eficiente, no proprietrio e interopervel com outros protocolos de roteamento. A natureza aberta do OSPF significa que ele pode ser implementado por qualquer fabricante, sem pagamento de licena, de modo a ser utilizado por todos. O OSPF baseia-se na tecnologia link state, diferente e mais avanada que a usada em protocolos puramente vetoriais, como o RIP, que utiliza o algoritmo Bellman-Ford para o clculo da melhor rota. O OSPF resolve todas as limitaes do protocolo RIP: 11 No existe limite de saltos. 11 Suporta VLSM. 11 Utiliza anncios multicast e as atualizaes apenas so disparadas quando existe alguma alterao na rede (anncios incrementais). 11 Redes OSPF convergem mais eficientemente do que redes RIP, principalmente as redes maiores.
Arquitetura e Protocolos de Rede TCP-IP

11 Permite a implementao de hierarquia s redes, por meio das reas. Isso facilita o planejamento da rede, assim como tarefas de agregao e sumarizao de rotas. O protocolo OSPF permite um meio mais eficaz de balanceamento de carga e a diviso de uma rede em reas. Ele possibilita o roteamento dentro de cada rea e atravs das reas, usando os chamados roteadores de borda. Com isso, possvel criar redes hierrquicas de grande porte, sem que seja necessrio que cada roteador tenha uma tabela de roteamento gigantesca, com rotas para todas as redes, como seria necessrio no caso do RIP. Em outras palavras, o OSPF foi projetado para intercambiar informaes de roteamento em uma interconexo de redes de tamanho grande ou muito grande.

292

A diviso em reas reduz o trfego de overhead enviado pela rede, alm de reduzir o tamanho da base de dados topolgica que cada roteador deve manter. Entretanto, o OSPF mais complexo de ser planejado, configurado e administrado, se comparado com RIP. Alm disso, processos OSPF consomem mais CPU que processos RIP, uma vez que o algoritmo e a estrutura utilizados pelo OSPF so muito mais complexos. O protocolo OSPF possui algumas restries quando mais de uma rea configurada. Se apenas uma rea existe, esta rea SEMPRE a rea 0, chamada de backbone area. Quando existem mltiplas reas, uma delas deve ser a rea 0. Ao se projetar redes com o protocolo OSPF, uma boa prtica comear pela rea 0 e expandir a rede com a criao de outras reas (ou segmentando a rea 0).

Protocolo BGP
11 Interliga os Sistemas Autnomos (ASs). 11 IANA atribui a cada AS um nmero: ASN. 11 Suporta CIDR. 11 Permite implementar polticas de roteamento. 11 Atualizao incremental da tabela de rotas. 11 Estabelece sesses BGP com seus vizinhos. Parafraseando Douglas Comer, o protocolo de roteamentoBGP verso 4 (BGP-4) pode ser considerado a cola que mantm a internet unida e permite a interconexo universal nos dias de hoje. O BGP-4 possibilita o intercmbio de informaes de roteamento entre os diversos sistemas autnomos ou Autonomous Systems (ASs), que em conjunto, formam a

internet. Explicando de forma simplificada, ele permite que os dados trafeguem entre os ASs at chegarem ao AS de destino, e dentro dele sigam at o seu destino final (mquina). H alguns anos, quando o principal backbone da internet era a ARPAnet, as instituies de pesquisa conectadas rede precisavam gerenciar manualmente as tabelas de rotas para todos os possveis destinos, ou seja, todas as outras redes conectadas. Com o crescimento da internet, verificou-se que era impraticvel manter todas as tabelas atualizadas de forma manual, assim como tambm seria necessrio criar mecanismos de atualizao automtica entre as diversas redes. Para anunciar as rotas para suas redes internas entre si, os ASs precisavam concordar em usar um esquema nico, como um mesmo idioma para toda a internet. Para permitir a um algoritmo de roteamento automatizado distinguir entre um AS e outro, um nmero (Autonomous System Number ASN) foi designado para cada AS pela IANA, autoridade central encarregada de atribuir todos os endereos identificadores das redes conectadas internet. O BGP um protocolo de roteamento para ser usado entre mltiplos sistemas autnomos em inter-redes baseadas no protocolo TCP/IP. O BGP-4 [RFCs 1771, 1772] foi projetado para evitar loops de roteamento entre ASs e permitir o uso de polticas de roteamento entre ASs com base em regras arbitrrias definidas por eles. Alm disso, o BGP-4 foi a primeira verso CIDR) e o conceito de super-redes. O protocolo BGP-4 assume que o roteamento interno do AS feito atravs de um sistema IGP de roteamento interno. Este pode ser um protocolo de roteamento como RIP e OSPF, por exemplo, ou at mesmo atravs de rotas estticas.
Captulo 7 - Roteamento

do BGP a suportar endereos agregados (Classless Interdomain Routing, ou simplesmente

293

O BGP constri um grafo dos ASs, usando as informaes trocadas pelos vizinhos BGP (BGP neighbors), que so compostas dos nmeros identificadores dos ASs (ASN). A conexo entre os ASs forma um caminho (path), e a coleo desses caminhos acaba formando uma rota composta pelos nmeros dos ASs que devem ser percorridos at se chegar a um determinado AS destino. Outra caracterstica do BGP-4 a atualizao das tabelas de rotas feitas de forma incremental, como nos algoritmos de estado de enlace. A atualizao completa da tabela de rotas feita somente uma vez, quando se estabelece a sesso entre os vizinhos.

294

Arquitetura e Protocolos de Rede TCP-IP

Roteiro de Atividades 7
Atividade 7.1 Estratgia de roteamento
Uma determinada instituio possui a inter-rede mostrada na figura 7.9. Suponha que voc foi contratado como consultor para definir a estratgia de roteamento a ser adotada nesta inter-rede. Voc recomendaria o roteamento esttico ou dinmico? Apresente argumentos favorveis sua recomendao e contrrios outra estratgia.

N1

N2

N3

R1

R2

R3

Figura 7.9 Rede da Atividade 7.1.

N4

295

Captulo 7 - Roteiro de Atividades

Atividade 7.2 Estratgia de roteamento (2)


Algum tempo depois, a inter-rede da Atividade 7.1 ficou um pouco mais complexa, conforme mostra a figura a seguir. Agora, voc foi contratado para avaliar a estratgia de roteamento atual, sugerida por voc anteriormente, e, caso necessrio, propor uma nova estratgia. Qual a sua avaliao da estratgia atual? necessria alguma mudana na estratgia de roteamento? Explique.
R4 N1 R2 R1 N5 N6 R3 N2 R5 N3

N4

Figura 7.10 Rede da Atividade 7.2.

Arquitetura e Protocolos de Rede TCP-IP

Atividade 7.3 Rotas estticas


Vamos usar a rede da Atividade 7.1 para configurar rotas estticas. Siga o procedimento:
1. Inicie o Virtual Box e selecione a opo Open a Virtual Machine, selecione a mquina

virtual vcore-4.2 no diretrio que o instrutor indicar e inicie esta mquina virtual.
2. Aguarde a carga completa da mquina virtual CORE. 3. Selecione File no menu, selecione a opo Open e localize o diretrio onde se encontra a

rede: Rede_Atividade7_3.imn, seguindo a orientao do instrutor. Carregue o arquivo da rede.


4. A rede dever ser idntica Figura 7.11 mostrada a seguir.

296

Figura 7.11 Rede da Atividade 7.3.

5. Os endereos IPv4 j esto configurados, conforme a figura. Temos 4 redes fsicas

representadas pelos switches N1, N2, N3 e N4. Cada rede fsica tem um prefixo de rede diferente, conforme a tabela abaixo. Rede N1 N2 N3 N4 Endereo de rede 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 192.168.4.0/24 Gateway padro 192.168.1.1 192.168.2.1 192.168.3.1 192.168.4.1 Nome PC PC1 PC2 PC3 PC4 Endereo PC 192.168.1.10/24 192.168.2.10/24 192.168.3.10/24 192.168.4.10/24

6. Nenhum tipo de rota ou protocolo de roteamento est configurado. Nesta atividade

vamos configurar as rotas estticas nos 3 roteadores: R1, R2 e R3. O modo inicial de operao do simulador o Modo de Edio. Este modo utilizado para desenhar a rede e configurar o endereamento IPv4. Para efetivamente executar os proto colos de roteamento e as aplicaes, necessrio iniciar o experimento, que pode ser feito de duas maneiras: 11 Clicando no cone esquerda na barra de ferramentas;
Captulo 7 - Roteiro de Atividades

11 Selecionando no menu superior a opo Experiment/Start.

297

No Modo de Experimento, no possvel fazer edio da topologia da rede (note a barra de ferramentas modificada). Aguarde at que toda a rede seja iniciada (at desaparecerem os colchetes vermelho/verde em cada n da rede).
7. Para configurar rotas estticas no roteador R1, preciso abrir o console do roteador.

Neste simulador o procedimento o seguinte: 11 Aponte com o mouse para o roteador R1, clique no boto direito e selecione a opo: Shell window/vtysh, conforme mostrado na Figura 7.12.

Figura 7.12 Abertura do console roteador R1.

8. O console dever ser parecido com a Figura 7.13, onde digitamos o comando sh ip route,

que lista as rotas IP conhecidas pelo roteador.

Hello, this is Quagga (version 0.99.17mr2.0). Copyright 1996-2005 Kunihiro Ishiguro, et al.
Arquitetura e Protocolos de Rede TCP-IP

R1# sh ip route Codes: K kernel route, C connected, S static, R RIP, 0 OSPF, I - ISIS, B BGP, > - selected route, * - FIB route, o OSPFv3

C>* 127.0.0.0/8 is directly connected, lo C>* 192.168.1.0/24 is directly connected, eth0

298

Figura 7.13 Console do roteador R1.

C>* 192.168.4.0/24 is directly connected, eth1 R1#


Observe que o roteador R1 s conhece as redes diretamente conectadas: 192.168.1.0/24 e 192.168.4.0/24.
9. Vamos precisar ensinar ao roteador R1 como encaminhar pacotes para as redes

192.168.2.0/24 e 192.168.3.0/24, que so redes remotas e que s podem ser alcanadas atravs de outros roteadores. Para isso, os seguintes comandos devem ser digitados no console de R1:

R1# conf t R1(config)# ip route 192.168.2.0 255.255.255.0 192.168.4.2 R1(config)# ip route 192.168.3.0 255.255.255.0 192.168.4.3 R1(config)# exit R1# sh ip route Codes: Kkernel route, Cconnected, Sstatic, RRIP, O-OSPF I-ISIS, B-BGP, >-selected route, *-FIB route, o-OSPFv3 C>* 127.0.0.0/8 is directly connected, lo C>* 192.168.1.0/24 is directly connected, eth0 S>* 192.168.2.0/24 [1/0] via 192.168.4.2, eth1 S>* 192.168.3.0/24 [1/0] via 192.168.4.3, eth1 C>* 192.168.4.0/24 is directly connected, eth1 R1#
Os dois comandos ip route informam as rotas para as redes remotas, dizendo para onde encaminhar os pacotes (next-hop). Em seguida listamos a tabela de rotas IP novamente, e ento aparecem as rotas estticas para as duas redes remotas. Observe que as rotas estticas aparecem com um S>* no incio da linha e as redes diretamente conectadas com um C>*.
10. Precisamos fazer a configurao de rotas estticas para os roteadores R2 e R3, adequando

os comandos mostrados acima s rotas especficas para cada um. Liste a tabela de rotas antes e depois de configurar as rotas estticas para conferir se esto corretas. Dicas: 11 Roteador R3 rotas para as redes 192.168.1.0/24 e 192.168.2.0/24.
11. Todos os roteadores conhecem as rotas para todas as redes, portanto podemos testar
Captulo 7 - Roteiro de Atividades

11 Roteador R2 rotas para as redes 192.168.1.0/24 e 192.168.3.0/24;

a conectividade entre os PCs. Por exemplo, a partir do PC1 vamos enviar ping para os demais PCs. Para isso, siga o seguinte procedimento: 11 Aponte com o mouse para o PC1, clique no boto direito e selecione a opo: Shell window/bash.

299

No console do PC1, digite o seguinte comando ( ping para o PC2):

root@PC1:/tmp/pycore.39156/PC1.conf# ping c 2 192.168.2.10


O resultado deve ser semelhante ao listado a seguir.

PING 192.168.2.10 (192.168.2.10) 56(84) bytes of data. 64 bytes from 192.168.2.10: icmp_req=1 ttl=62 time=198ms 64 bytes from 192.168.2.10: icmp_req=2 ttl=62 time=1.95ms --- 192.168.2.10 ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 1005ms rtt min/avg/max/mdev = 1.957/100.115/198.273/98.158 ms root@PC1:/tmp/pycore.39156/PC1.conf#
12. Se digitarmos o comando traceroute para o PC3, o resultado deve ser semelhante ao

listado a seguir.

root@PC1:/tmp/pycore.39156/PC1.conf# traceroute n 192.168.3.10 traceroute to 192.168.3.10 (192.168.3.10), 30 hops max, 60 bytes packet 1 192.168.1.1 (192.168.1.1) 14.144 ms 0.189 ms 0.104 ms 2 192.168.4.3 (192.168.4.3) 33.604 ms 33.412 ms 3 192.168.3.10 (192.168.3.10) 46.833 ms 46.228 ms 45.650 ms root@PC1:/tmp/pycore.39156/PC1.conf#
Observe que o pacote seguiu a rota configurada no roteador R1. Os mesmos testes devem ser efetuados entre os demais PCs. Todos devem funcionar.

Atividade 7.4 Rotas RIP


Vamos usar a mesma rede da Atividade 7.1 para configurar rotas RIP. Siga o procedimento:
1. Selecione File no menu, selecione a opo Open e localize o diretrio onde se encontra

a rede: Rede_Atividade7_4.imn, seguindo a orientao do instrutor. Este arquivo diferente do arquivo da atividade anterior. O protocolo RIP est habilitado, mas no est configurado.
Arquitetura e Protocolos de Rede TCP-IP

2. A rede dever ser idntica da Figura 7.11. 3. Nesta atividade vamos configurar as rotas RIP nos 3 roteadores: R1, R2 e R3. 4. Para configurar rotas RIP no roteador R1 preciso abrir o console do roteador. A configu -

rao mais simples do que a anterior. Basta digitar os comandos:

R1# conf t R1(config)# router rip R1(config-router)# network 192.168.0.0/16 R1#

300

So os mesmos comandos em TODOS os roteadores. S depois de todos os roteadores estarem configurados que as tabelas de rotas estaro completamente atualizadas. Note que informamos no comando network a rede que deve ser anunciada pelo protocolo RIP aos demais roteadores (vizinhos). No precisamos informar as sub-redes, basta informar a super-rede: 192.168.0.0/16. Essa super-rede na verdade um bloco de 256 redes classe C: 192.168.0.0/24, 192.168.1.0/24,..., 192.168.255.0/24 (ver RFC 1918). O protocolo RIP descobre as sub-redes classe C pela mscara de sub-rede.
5. Para verificar as tabelas de rotas, basta digitar o comando sh ip route listado abaixo, com

o resultado correspondente, no caso do roteador R1.

R1# sh ip route Codes: Kkernel route, Cconnected, Sstatic, RRIP, O-OSPF I-ISIS, B-BGP, >-selected route, *-FIB route, o-OSPFv3 C>* 127.0.0.0/8 is directly connected, lo C>* 192.168.1.0/24 is directly connected, eth0 R>* 192.168.2.0/24 [120/2] via 192.168.4.2, eth1, 00:01:06 R>* 192.168.3.0/24 [120/2] via 192.168.4.3, eth1, 00:01:30 C>* 192.168.4.0/24 is directly connected, eth1 R1#
Observe que as rotas RIP aparecem com o indicador R>* no lugar do indicador de rotas estticas da atividade anterior. Os demais roteadores devem mostrar tabelas de rotas semelhantes. Todas as redes precisam aparecer em todas as tabelas de rotas.
6. Todos os roteadores conhecem as rotas para todas as redes. Podemos ento testar a

conectividade entre os PCs. Por exemplo, a partir do PC1 podemos enviar ping e/ou traceroute para os demais PCs, seguindo o mesmo procedimento da atividade anterior.

Atividade 7.5 Rotas OSPF


Vamos usar a rede da Atividade 7.1 para configurar rotas OSPF. Siga o procedimento:
1. Selecione File no menu, selecione a opo Open e localize o diretrio onde se encontra

a rede: Rede_Atividade7_5.imn, seguindo a orientao do instrutor. Este arquivo diferente do arquivo da atividade anterior. O protocolo OSPF est
Captulo 7 - Roteiro de Atividades

habilitado, mas no est configurado.


2. A rede dever ser idntica da Figura 7.11. 3. Nesta atividade vamos configurar as rotas OSPF nos 3 roteadores: R1, R2 e R3. 4. Para configurar rotas OSPF no roteador R1, preciso abrir o console do roteador. A confi -

gurao to simples quanto a anterior. Basta digitar os comandos:

R1# conf t R1(config)# router ospf

301

R1(config-router)# network 192.168.0.0/16 area 0 R1#


So os mesmos comandos em TODOS os roteadores. S depois de todos os roteadores estarem configurados que as tabelas de rotas estaro completamente atualizadas. Note que informamos no comando network a rede que deve ser anunciada pelo protocolo OSPF aos demais roteadores (vizinhos). No precisamos informar as sub-redes, bastando informar a super-rede: 192.168.0.0/16.
5. Para verificar as tabelas de rotas, basta digitar o comando sh ip route listado abaixo, com

o resultado correspondente, no caso do roteador R1.

R1# sh ip route Codes: Kkernel route, Cconnected, Sstatic, RRIP, O-OSPF I-ISIS, B-BGP, >-selected route, *-FIB route, o-OSPFv3 C>* 127.0.0.0/8 is directly connected, lo O 192.168.1.0/24 [110/10] is directly connected, eth0, 00:02:33

C>* 192.168.1.0/24 is directly connected, eth0 O>* 192.168.2.0/24 [110/20] via 192.168.4.2, eth1, 00:01:45 O>* 192.168.3.0/24 [110/20] via 192.168.4.3, eth1, 00:01:47 O 192.168.4.0/24 [110/10] is directly connected, eth1, 00:02:28

C>* 192.168.4.0/24 is directly connected, eth1 R1#


Observe que as rotas OSPF aparecem com o indicador O>* no lugar do indicador de rotas RIP da atividade anterior. Os demais roteadores devem mostrar tabelas de rotas semelhantes. Todas as redes precisam aparecer em todas as tabelas de rotas.
6. Todos os roteadores conhecem as rotas para todas as redes. Podemos ento testar a

conectividade entre os PCs. Por exemplo, a partir do PC1 podemos enviar ping e/ou traceroute para os demais PCs, seguindo o mesmo procedimento da Atividade 7.3.

302

Arquitetura e Protocolos de Rede TCP-IP

8
Camada de transporte
objetivos
Descrever os protocolos da camada de transporte da arquitetura TCP/IP e apresentar os mecanismos do TCP que permitem a entrega confivel de datagramas, enfatizando as diferenas com o protocolo UDP.

conceitos

Funcionalidades dos protocolos da camada de transporte da arquitetura TCP/IP, servios de datagrama e circuito virtual e processos de aplicao.

Fundamentos da camada de transporte


A camada de transporte tem o objetivo de prover a comunicao fim-a-fim entre pro cessos de aplicao. Funcionalidades: 11 Servio de datagramas. 11 Servio de circuito virtual. 11 Identificao de processos.
Camada de rede Tambm conhecida como camada de inter-rede, responsvel pela transferncia de dados entre dispositivos da inter-rede. Nela se realiza a funo de roteamento.

Como vimos, a camada de rede responsvel por encaminhar e rotear datagramas IP entre estaes da inter-rede. Nesta camada, os endereos IP identificam apenas as estaes. Logo, aps entregar um datagrama IP estao destino, o protocolo IP no sabe distinguir qual dos processos de aplicao deve receber o contedo do datagrama. Neste captulo, vamos entender os mecanismos adotados pela camada de transporte para permitir que os diversos processos de aplicao, executando em cada estao, possam enviar e receber dados de forma independente. Na arquitetura TCP/IP, a camada de transporte prov a comunicao fim-a-fim entre pro gramas e o servio de circuito virtual. Em ambos os servios, a camada de transporte adota mecanismos para distinguir e identificar os mltiplos processos de aplicao que esto executando em cada estao. A seguir, estudaremos estas modalidades de servio e discutiremos o mecanismo de identificao de processos de aplicao. importante no confundir o servio de datagramas da camada de transporte com o servio de mesmo nome da camada de rede.
Captulo 8 - Camada de transporte

cessos de aplicao, definindo dois diferentes servios de transporte: o servio de data -

303

Servio de datagramas
O servio de datagramas apresenta as seguintes caractersticas: 11 Servio no confivel 22 No garante a entrega dos datagramas, podendo perder e retardar datagramas. 22 Prov apenas a deteco de erros, garantindo a integridade dos dados. 11 Servio sem conexo 22 Datagramas so individuais e independentes. 22 Sequncia dos datagramas no assegurada.

O servio de datagramas um servio de transporte bastante simples, sendo caracterizado como no confivel e sem conexo, capaz de realizar a entrega fim-a-fim de dados entre os processos de aplicao de origem e destino, mas no garante que os dados enviados sejam entregues sequencialmente. Este servio pode ser visto como uma simples extenso do servio de entrega de datagramas da camada de rede. No entanto, ao contrrio deste ltimo, que realiza a entrega de datagramas IP entre estaes origem e destino, o servio de datagramas da camada de transporte capaz de realizar a entrega fim-a-fim entre os processos de aplicao origem e destino. Este servio considerado no confivel porque no garante que os datagramas enviados pela aplicao origem sejam entregues com sucesso respectiva aplicao destino. Alm disso, quando os datagramas so entregues aplicao destino, o servio no garante a entrega na sequncia original. Na verdade, datagramas podem ser perdidos, retardados e at mesmo chegar fora de ordem. Na prtica, o servio de datagramas prov apenas a deteco de erros, no suportando mecanismos de correo de erros, controle de fluxo e controle de sequncia. Quando desejada, a confiabilidade deve ser provida pela camada de aplicao. O servio de datagramas denominado sem conexo porque, antes do envio dos datagramas, no existe qualquer comunicao prvia entre as aplicaes origem e destino, com o objetivo de definir o caminho a ser seguido pelos datagramas ou reservar recursos ao longo deste caminho. Consequentemente, cada datagrama tratado de forma individual e completamente independente dos demais, sendo encaminhado ao destino atravs do caminho mais conveniente, definido pela funo de roteamento implementada pela camada de rede. Logo, nenhuma informao mantida sobre a sequncia dos datagramas enviados. Se uma determinada aplicao envia uma sequncia de datagramas para outra, estes datagramas podem ser encaminhados pela camada de rede por diversos caminhos, trafegando por diferentes redes e roteadores intermedirios. Alguns destes datagramas podem ser perdidos, enquanto outros podem, inclusive, ser entregues aplicao destino fora da
Arquitetura e Protocolos de Rede TCP-IP

sequncia original.

Servio de circuito virtual


11 Servio orientado a fluxo 22 Divide o fluxo de dados em segmentos. 11 Servio confivel 22 Garante a entrega do fluxo de dados na sequncia correta e sem erros. 22 Prov controle de erro, sequncia e fluxo.

304

11 Servio orientado conexo 22 Negocia parmetros operacionais na abertura da conexo. 22 Conexes so full-duplex. O servio de circuito virtual um servio de transporte confivel e orientado conexo, capaz de realizar a entrega fim-a-fim de dados entre os processos de aplicao origem e destino, garantindo que os dados enviados sejam entregues na sequncia. O servio de circuito virtual bem mais complexo que o servio de datagramas. Este servio
Segmento Nome da unidade de dados do servio de circuito virtual da camada de transporte.

divide o fluxo de dados (data stream), gerado pelo processo de aplicao origem em segmentos. Por sua vez, estes segmentos so enviados ao processo de aplicao destino. Este servio considerado confivel porque garante que os dados enviados pela aplicao origem so entregues na sequncia correta e sem erros respectiva aplicao destino. Portanto, o servio de circuito virtual prov um fluxo confivel de dados, oferecendo meca nismos implcitos de deteco e correo de erro, controle de fluxo e controle de sequncia, que garantem um alto nvel de confiabilidade. O servio de circuito virtual denominado orientado conexo porque, antes do envio do fluxo de dados, o processo de aplicao origem deve comunicar-se com o processo de aplicao destino, com o objetivo de abrir uma conexo. Durante a abertura de uma conexo, as entidades de transporte envolvidas negociam parmetros operacionais, como a iniciali zao dos mecanismos de controle de erro, fluxo e sequncia, bem como os tamanhos dos buffers de transmisso e recepo. A conexo deve permanecer ativa durante a fase de transferncia de dados. Quando os processos no desejam mais transferir dados, a conexo deve ser fechada, liberando os recursos associados nas entidades de transporte envolvidas.

Full-duplex Modo de comunicao no qual as entidades origem e destino podem simultaneamente enviar dados em ambas as direes.

No servio de circuito virtual, toda conexo full-duplex , permitindo a ambos os processos enviar e receber dados simultaneamente. No contexto de uma conexo, cada segmento no independente dos demais, pois transporta informaes que permitem ao respectivo destino recuperar a sequncia correta dos segmentos. Embora o servio de circuito virtual seja orientado conexo, quando um processo de aplicao envia uma sequncia de segmentos para outro, os datagramas IP que encapsulam estes segmentos podem ser encaminhados pela camada de rede por diversos caminhos, trafegando por diferentes redes e roteadores intermedirios. Consequentemente, tais datagramas IP podem ser perdidos, duplicados ou chegar fora da sequncia original. No entanto, o servio de circuito virtual prov mecanismos de controle de erro e sequncia que requisitam a retransmisso de segmentos perdidos ou recebidos com erro, descartam segmentos duplicados e reorganizam os segmentos na sequncia correta.

Identificao de processos
11 Uma porta identificada por um nmero inteiro positivo que representa um ponto de comunicao. 11 Processos so associados a portas. 11 Par (endereo IP, porta) identifica unicamente cada ponto de comunicao. A maioria dos sistemas operacionais permite a execuo simultnea de vrios processos de aplicao. Para permitir que mltiplos processos, executando em uma mesma estao,

possam simultaneamente receber e transmitir dados de forma independente, a camada de transporte adota o conceito de porta. Uma porta uma representao interna do sistema

305

Captulo 8 - Camada de transporte

operacional de um ponto de comunicao para envio e recepo de dados. importante ressaltar que o conceito de porta adotado tanto no servio de datagramas, quanto no servio de circuito virtual. Cada porta identificada por um nmero inteiro positivo que representa um ponto de comunicao para envio e recepo de dados. Os processos de aplicao comunicantes devem ser associados a portas. Vale ressaltar que um determinado processo de aplicao pode estar associado a uma ou mltiplas portas. Portanto, para a camada de transporte, cada processo de aplicao (usurio da camada de transporte) representado por uma ou vrias portas diferentes. A figura 8.1 ilustra um exemplo de associao de processos a portas. Observe que os pro cessos P1 e P2 esto associados s portas 25 e 53, respectivamente. Logo, todos os dados recebidos nas portas 25 e 53 so repassados pela camada de transporte para P1 e P2, respectivamente. Por outro lado, o processo P3 est associado s portas 161 e 162. Portanto, todos os dados recebidos nas portas 161 e 162 so repassados para P3.
P1 Aplicao Transporte Porta 25 Porta 53 Porta 161 Porta 162
Interface de programao Conjunto de procedimentos, funes ou mtodos providos por um componente ou biblioteca de software.

P2

P3

Figura 8.1 Identificao de processos na camada de transporte.

Para permitir a associao de processos de aplicao a portas, o sistema operacional local de cada estao prov uma interface de programao para que os processos possam abrir, acessar e fechar portas. O sistema operacional deve assegurar que, sempre que um determinado processo requisitar a abertura de uma dada porta, somente este processo estar associado quela porta. Mais detalhes desta interface de programao sero estudados no prximo captulo. No momento, suficiente entender que os processos dispem de mecanismos para indicar as portas a que desejam se associar, como tambm enviar e receber dados atravs destas portas. Como os nmeros das portas so atribudos isoladamente pela entidade de transporte de cada estao, estes nmeros no so nicos em toda a inter-rede. Para obter um identifi cador nico para cada ponto de comunicao (porta), cada entidade de transporte utiliza o par (endereo IP, porta), onde o endereo IP identifica a estao na qual a porta est sendo usada. Por exemplo, a porta 9.000, usada na estao 192.168.10.1, identificada unicamente pelo par (192.168.10.1, 9000). Quando um processo de aplicao origem deseja se comunicar com um processo de aplicao
Arquitetura e Protocolos de Rede TCP-IP

destino, o processo origem deve conhecer o endereo IP da estao onde o processo destino est executando e a porta associada ao processo destino naquela estao. As mensagens enviadas so encapsuladas em datagramas IP. Cada datagrama IP transporta os endereos IP de origem e destino, identificando as estaes origem e destino. Por outro lado, cada unidade de dados do protocolo de transporte inclui um campo de controle que sinaliza as portas origem e destino, identificando os processos origem e destino associados a elas. Na estao destino, baseada na porta destino, a implementao do protocolo de transporte no sistema operacional realiza a demultiplexao, encaminhando o contedo das mensagens recebidas ao respectivo processo de aplicao. Portanto, a porta destino permite a entrega das mensagens aplicao destino associada a ela. Por outro lado, a porta origem

306

permite aplicao destino retornar mensagens aplicao origem, caso necessrio. Observe que, neste caso, os processos de aplicao invertem seus papis de origem e destino.

Protocolos da camada de transporte


11 UDP (User Datagram Protocol) 22 Prov o servio de datagramas no confivel e sem conexo. 22 Pode ser visto como uma extenso do protocolo IP que realiza a entrega de datagramas entre processos. 11 TCP (Transmission Control Protocol) 22 Prov o servio de circuito virtual confivel e orientado conexo.

Para prover o servio de datagramas e o servio de circuito virtual, a camada de transporte da arquitetura TCP/IP define dois diferentes protocolos: UDP e TCP. O protocolo UDP prov o servio de datagramas no confivel e sem conexo. Apenas envia pacotes, denominados datagramas UDP, de um processo de aplicao para outro, mas no garante que eles sejam entregues com sucesso ao processo de aplicao de destino. Desta forma, o protocolo UDP pode ser visto como uma simples extenso do protocolo IP. No entanto, ao contrrio do protocolo IP, que realiza a entrega de datagramas IP entre estaes, o protocolo UDP realiza a entrega fim-a-fim de datagramas UDP entre processos de aplicao. O protocolo TCP prov o servio de circuito virtual. Ele um protocolo orientado conexo que prov um fluxo confivel de dados, oferecendo servios de controle de erro, fluxo e sequncia. O protocolo TCP divide o fluxo de dados (data stream) em segmentos, que so enviados de um processo de aplicao para outro de forma confivel, garantindo que eles sejam entregues ao processo de aplicao destino na sequncia correta e sem erros.

Protocolo UDP
Fundamentos: 11 Define a unidade de dados do servio de datagramas, denominada datagrama UDP. 22 Especifica o formato e a funo dos campos. 11 Multiplexa mensagens geradas pelos processos no servio da camada de rede. 22 Encapsula datagramas UDP em datagramas IP. 11 Demultiplexa datagramas UDP para os respectivos processos de destino. 22 Extrai mensagens dos datagramas UDP.

O protocolo UDP um protocolo de transporte simples que prov o servio de datagramas no confivel e sem conexo. Ele define trs importantes conceitos: 11 Especificao, de forma precisa, do formato da unidade de dados do servio de data gramas da camada de transporte, denominada datagrama UDP. 11 Multiplexao das mensagens geradas pelos vrios processos de aplicao origem no servio provido pela camada de rede. 11 Demultiplexao, no destino, dos datagramas UDP recebidos da camada de rede para os respectivos processos de aplicao destino. O protocolo UDP utiliza o protocolo IP para transportar datagramas UDP entre as aplicaes origem e destino. Ou seja, cada mensagem gerada por um processo de aplicao origem
Captulo 8 - Camada de transporte

307

encapsulada em um datagrama UDP, que, por sua vez, encapsulado em um datagrama IP. Ento, o protocolo IP encaminha o datagrama IP da estao origem at a estao destino. Na estao destino, baseado no campo Protocol do datagrama IP, o sistema operacional decodifica o datagrama UDP. Por fim, a implementao do protocolo UDP entrega a men sagem encapsulada ao respectivo processo de destino. O protocolo UDP no garante que os datagramas enviados pelo processo de aplicao origem sejam entregues com sucesso ao respectivo processo de aplicao destino. Ele prov apenas a deteco de erros, assegurando a integridade dos datagramas que por ventura venham a ser entregues ao processo de aplicao destino. Alm disso, o protocolo UDP no implementa qualquer mecanismo de reconhecimento para informar sobre a entrega de datagramas entidade UDP de destino. Portanto, a aplicao origem no tem conhecimento sobre a entrega das mensagens aplicao destino. Vale ressaltar que o UDP no implementa correo de erros, controle de fluxo e controle de sequncia. Portanto, ele no garante que os datagramas sejam entregues na sequncia original. Na verdade, datagramas podem ser perdidos, retardados e at mesmo chegar fora de ordem. Portanto, quando desejada, a confiabilidade deve ser provida pela camada de aplicao. Sendo o UDP um protocolo sem conexo, quando um processo de aplicao deseja enviar uma mensagem para outro processo, o protocolo UDP simplesmente encapsula a mensagem em um datagrama UDP e o envia ao outro processo. Desta forma, cada datagrama UDP tratado de forma individual e completamente independente dos demais, podendo ser encaminhado por diferentes caminhos, definidos pela funo de roteamento da camada de rede. Alm disso, a entidade UDP de origem no mantm nenhuma informao sobre os datagramas UDP enviados.

Formato do datagrama
Cada datagrama tratado de forma individual e independente, e pode ser encaminhado por diferentes rotas.
0 Source port Length Data 16 Destination port Checksum

q
31

Figura 8.2 Formato do datagrama UDP.

Cada datagrama UDP dividido em duas partes: cabealho e dados. O cabealho contm informaes de controle especficas do protocolo UDP, como as portas origem e destino.
Arquitetura e Protocolos de Rede TCP-IP

A poro dos dados encapsula informaes de protocolos da camada de aplicao. A figura 8.2 ilustra o formato de datagramas UDP, detalhando o formato dos campos do cabealho. Observe que o campo de dados no explicitamente detalhado, permitindo o encapsulamento de diferentes protocolos de aplicao.

Campos do datagrama
Source port 11 Porta associada ao processo de origem. 11 Permite ao processo de destino retornar mensagens ao processo de origem.

308

11 Porta de origem opcional. Destination port 11 Porta associada ao processo de destino. 11 Usada na demultiplexao das mensagens encapsuladas nos datagramas. Length 11 Tamanho total do datagrama em bytes. 11 Inclui o cabealho e os dados. Checksum 11 Assegura a integridade do datagrama. 11 Inclui o cabealho e os dados. 11 Deteco de erros opcional. Data 11 Dados do datagrama. Como j sabemos, datagramas UDP transportam as portas associadas aos processos de aplicao origem e destino. Os campos Source port e Destination port so usados com este propsito. Observe que cada um destes campos possui 16 bits, indicando que o maior nmero de porta possvel 65.535. O campo Source port opcional. Quando indicado, permite que o processo de aplicao destino retorne dados para o processo de aplicao de origem. Quando no indicado, o

processo destino no tem como retornar dados para o processo origem. Neste ltimo caso, o valor do campo Source port deve ser 0. Portanto, podemos concluir que a porta 0 nunca usada por processos de aplicao. Na estao destino, o campo Destination port usado pela entidade UDP para selecionar o processo de aplicao destino que receber a mensagem encapsulada no datagrama. Portanto, o protocolo UDP utiliza o nmero da porta destino para demultiplexar os datagramas UDP que recebe do protocolo IP.
Fila Estrutura de dados que armazena diversos itens de dados, consumidos na mesma sequncia em que so includos.

No UDP, uma porta geralmente implementada como uma fila interna do sistema operacional, utilizada para armazenar as mensagens recebidas. Ao receber um datagrama, o sistema operacional verifica se a porta destino do datagrama igual a alguma porta atual mente aberta. Caso a porta destino exista, o sistema operacional armazena a mensagem encapsulada no final da fila daquela porta. Por outro lado, o processo de aplicao asso ciado quela porta acessa as mensagens armazenadas no incio da fila. Caso a porta destino no exista, o sistema operacional simplesmente descarta o datagrama UDP e gera uma mensagem ICMP port unreachable para a estao origem. Lembre-se de que o comando traou roteadores, no sistema operacional Linux. O campo Length indica o tamanho do datagrama UDP em bytes, incluindo o cabealho e os dados. Logo, sendo o cabealho de tamanho fixo (8 bytes), o tamanho mnimo do datagrama UDP de 8 bytes. Este tamanho mnimo somente ocorre quando o campo de dados do datagrama UDP no transporta nenhum contedo. A integridade dos datagramas UDP assegurada pelo campo Checksum. Portanto, este campo utilizado para detectar erros no datagrama UDP, incluindo os campos de cabealho e dados.
Captulo 8 - Camada de transporte

ceroute explora estas mensagens Port unreachable para descobrir a rota entre duas estaes

309

A deteco de erros fim-a-fim, sendo calculada pela entidade UDP origem e verificada pela entidade UDP destino. Uma vez que o campo Checksum calculado sobre todo o datagrama, ele permite detectar mudanas nos campos de cabealho e dados que possam ter ocorrido em qualquer ponto intermedirio entre a origem e o destino. importante ressaltar que a deteco de erros opcional. Quando no utilizada pela entidade UDP origem, o campo Checksum deve ser preenchido com valor 0. Embora seja opcional, interessante que a deteco de erros seja sempre implementada e habilitada, pois o protocolo IP no realiza a deteco de erros do campo de dados, no qual o datagrama UDP transportado. Em outras palavras, a deteco de erros do UDP a nica forma de assegurar que os dados recebidos esto corretos. Lembre-se de que o protocolo UDP no suporta correo de erros. Quando a entidade UDP destino detecta um erro no datagrama, este simplesmente descartado e nenhuma mensagem de erro enviada ao processo de aplicao origem.

Clculo do checksum
11 Considera um pseudocabealho 22 Assegura que a entrega realizada estao e ao processo de destino. 11 Pode incluir um byte pad (0). 22 Torna par o tamanho do datagrama. 11 O pseudocabealho e o byte pad no so transmitidos com o datagrama. Para calcular o campo Checksum, a entidade UDP origem acrescenta um pseudocabealho ao datagrama UDP original. O objetivo deste pseudocabealho assegurar, na entidade UDP destino, que o datagrama foi realmente entregue estao destino e ao protocolo de transporte destino. Vale ressaltar que o pseudocabealho no transmitido junto com o datagrama UDP, sendo utilizado unicamente para calcular o campo Checksum. A figura 8.3 mostra o formato do pseudocabealho.
0 8 Source IP address Destination IP address 00000000 Protocol Length 16 31

Figura 8.3 Pseudocabealho UDP.

Os campos Source IP address e Destination IP address contm os endereos IP das estaes


Arquitetura e Protocolos de Rede TCP-IP

origem e destino, respectivamente. O campo Protocol sempre contm o valor 17, indicando o UDP como protocolo de transporte destino. O campo Length apenas uma repetio do tamanho do datagrama UDP, incluindo o cabealho e os dados. Observe que o pseudocabealho no includo no campo Length. Alm disso, para calcular o campo Checksum, o UDP considera que o datagrama possui um nmero par de bytes. Quando o datagrama possui um nmero mpar de bytes, o UDP adiciona um byte com valor 0 (pad) ao final do datagrama. Da mesma forma que o pseudocabealho, o byte pad tambm no transmitido junto com o datagrama UDP.

310

Protocolo TCP
11 Fundamentos 22 Define a unidade de dados do servio de circuito virtual, denominada segmento TCP. 22 Especifica o formato e a funo dos campos. 22 Multiplexa mensagens geradas pelos processos no servio da camada de rede. 22 Encapsula segmentos em datagramas IP. 22 Demultiplexa segmentos para os respectivos processos de destino. 22 Extrai mensagens dos segmentos. 11 Adota uma abordagem baseada em fluxo de dados (data stream). 22 Trata o fluxo de dados como uma cadeia contnua de bytes. 22 Decide como agrupar bytes em segmentos. 11 Adota uma abordagem orientada conexo full-duplex. 22 Estabelecimento da conexo. 22 Transferncia de dados. 22 Fechamento da conexo. 11 Define mecanismos integrados de controle de erro e sequncia. 22 Asseguram a entrega do fluxo de dados na sequncia correta e sem erros. 11 Define mecanismo de controle de fluxo. 22 Regula e compatibiliza a taxa de transmisso das entidades envolvidas. 22 Evita o descarte de segmentos por falta de recursos na estao de destino. O TCP um protocolo de transporte bem mais complexo que o UDP. O TCP prov o servio

de circuito virtual fim-a-fim, confivel e orientado conexo. Para tal, o protocolo TCP define importantes conceitos e mecanismos. Primeiramente ele especifica, de forma precisa, o formato da unidade de dados do servio de circuito virtual da camada de transporte, denoSegmento TCP Unidade de dados do protocolo TCP.

minada segmento TCP. De forma semelhante ao UDP, a implementao do protocolo TCP multiplexa as mensagens geradas pelos vrios processos de aplicao origem no servio provido pela camada de rede e, no destino, demultiplexa os segmentos TCP recebidos da camada de rede para os respectivos processos de aplicao destino. Portanto, ele tambm utiliza o protocolo IP para transportar segmentos entre as aplicaes origem e destino. Ou seja, mensagens geradas por um processo de aplicao origem so encapsuladas em segmentos, que, por sua vez, so encapsulados em datagramas IP. O protocolo IP ento utilizado para encaminhar datagramas IP da estao origem at a estao destino. Na estao de destino, baseado no mentao do protocolo TCP, que, ento, repassa as mensagens encapsuladas ao respectivo processo de aplicao destino. Enquanto o protocolo UDP baseado em datagramas independentes, o protocolo TCP orientado a fluxo de dados (data stream). Na prtica, podemos pensar o fluxo de dados como uma cadeia contnua de bytes, composta pela sequncia de mensagens geradas pelo processo de aplicao origem. Normalmente, o TCP decide, internamente, a quantidade de bytes que devem ser agrupados e encapsulados em um segmento.
Captulo 8 - Camada de transporte

campo Protocol dos datagramas IP, o sistema operacional entrega os segmentos imple-

311

Portanto, diferentemente do protocolo UDP, onde cada mensagem gerada pelo processo de aplicao encapsulada em um nico datagrama UDP, no protocolo TCP, o fluxo de dados gerado pelo processo de aplicao origem tem pouco ou nenhum relacionamento com os segmentos enviados pela entidade TCP. Ou seja, uma determinada mensagem pode ser dividida em vrias partes e cada uma delas encapsulada em um segmento. Vrias mensagens tambm podem ser agrupadas e posteriormente encapsuladas em um nico segmento. Sendo o TCP um protocolo orientado conexo, quando um processo de aplicao deseja enviar um fluxo de dados para outro processo, a entidade TCP origem deve primeiro requi sitar a abertura de uma conexo com a entidade TCP destino. Na abertura de uma conexo, as portas associadas conexo so definidas e os recursos necessrios para gerenciar a conexo so reservados nestas entidades. Em seguida, inicia-se a fase de transferncia de dados na conexo, onde os fluxos de dados gerados pelos processos de aplicao podem ser enviados e recebidos. Por fim, quando os processos no desejam mais trocar dados, solicitam o fechamento da conexo. Neste momento, as portas e os recursos atribudos conexo so liberados. Portanto, no TCP, a comunicao entre processos tem trs fases: abertura da conexo, transferncia de dados e fechamento da conexo. Vale ressaltar que a conexo TCP full-duplex, permitindo a ambos os processos enviar e receber, simultaneamente, fluxos de dados independentes. Desta forma, observe que os termos processo origem e processo destino so usados apenas para simplificar as explicaes e facilitar o entendimento do uso das conexes. Para prover a confiabilidade fim-a-fim, o protocolo TCP define mecanismos integrados de controle de erro e sequncia. Embora segmentos possam ser perdidos, duplicados, retardados e at mesmo chegar fora de ordem, os mecanismos de controle de erro e sequncia asseguram a entrega do fluxo de dados gerado pelo processo origem, na sequncia correta e sem erros, ao respectivo processo destino. Para tal, o controle de erros realiza a deteco e correo de erros, assegurando a integridade dos segmentos recebidos e a recuperao de segmentos corrompidos. Em complemento, o controle de sequncia recupera a sequncia original do fluxo de dados. Para realizar estas funes, ambos os mecanismos exploram mensagens de reconhecimento positivo, que informam a entidade TCP origem sobre a entrega com sucesso de segmentos entidade TCP destino. Por fim, o protocolo TCP adota um mecanismo de controle de fluxo que regula e compatibiliza a taxa de transmisso das entidades envolvidas, evitando o descarte de segmentos por falta de recursos na estao destino.
0 4 Source port
Arquitetura e Protocolos de Rede TCP-IP

Protocolo orientado conexo Adota o conceito de conexo para gerenciar a comunicao entre as entidades comunicantes. Antes de iniciar a comunicao, as entidades devem estabelecer uma conexo. Em seguida, podem transferir os dados. Por fim, quando no mais desejam trocar dados, fecham a conexo.

Reconhecimento positivo Mensagem de resposta enviada por uma entidade que implementa um determinado protocolo para sinalizar a correta recepo de unidades de dados deste protocolo.

10

16

24 Destination port

31

Sequence number Acknowledgment number Hlen Reserved Checksum Options Data Code bits Window Urgent pointer Padding
Figura 8.4 Formato do segmento TCP.

No TCP, cada segmento dividido em duas partes: cabealho e dados. O cabealho contm informaes de controle especficas do protocolo TCP, por exemplo, as portas origem

312

e destino. A poro dos dados encapsula informaes de protocolos da camada de aplicao. A figura 8.4 ilustra o formato dos segmentos, detalhando os campos que compem o cabealho. Observe que o campo de dados no explicitamente definido, permitindo o encapsulamento de diferentes protocolos de aplicao.

Campos do cabealho
11 Hlen 22 Tamanho do cabealho em unidades de 4 bytes. 11 Reserved 22 Reservado para uso futuro (no utilizado). 11 Checksum 22 Assegura a integridade do segmento. 22 Considera um pseudocabealho. 22 Pode incluir um byte pad (0). 11 Code bits 22 Indica propsito e contedo do segmento. 33 URG: dados urgentes. 33 ACK: reconhecimento. 33 PSH: mecanismo push. 33 RST: aborto de conexo (reset). 33 SYN: abertura de conexo. 33 FIN: fechamento de conexo. 11 Options 22 Lista varivel de informaes opcionais. 33 Maximum Segment Size (MSS) 22 Torna o tamanho do cabealho varivel. 11 Padding 22 Bits 0 que tornam o cabealho mltiplo de 32 bits. 11 Data 22 Dados do segmento. O tamanho do cabealho varivel, mas sempre mltiplo de 32 bits. Para identificar

corretamente o cabealho, o campo Hlen (header length) identifica o tamanho do cabealho em unidades de 4 bytes. Por exemplo, Hlen igual a 5 representa um cabealho de 20 bytes. Observe que o cabealho limitado a 60 bytes, pois Hlen possui 4 bits. O campo Reserved no utilizado, sendo reservado para uso futuro. A integridade dos segmentos assegurada pelo campo Checksum. Portanto, este campo utilizado para realizar a deteco de erros no segmento, incluindo os campos de cabealho e dados. A deteco de erros fim-a-fim, sendo calculada pela entidade TCP origem e verificada pela entidade TCP destino. Lembramos que o protocolo TCP suporta correo de erros, como veremos adiante. Assim, quando a entidade TCP destino detecta um erro no segmento, este simplesmente descartado e o mecanismo de correo de erros ativado para corrigi-lo via retransmisso. 313
Captulo 8 - Camada de transporte

Geralmente, o cabealho possui 20 bytes, exceto quando opes esto presentes (Options).

Da mesma forma que o protocolo UDP, para calcular o campo Checksum, o protocolo TCP acrescenta um pseudocabealho ao segmento original, assegurando que o mesmo ser realmente entregue estao destino e ao protocolo de transporte destino. Alm disso, como no UDP, o TCP pode acrescentar um byte com valor 0 ( pad ) ao final do segmento para torn-lo mltiplo de 16 bits. Vale ressaltar que o pseudocabealho e o byte pad no so transmitidos junto com o segmento, sendo utilizados unicamente para calcular o campo Checksum. O formato do pseudocabealho idntico ao usado no UDP. Porm, neste caso, o campo Protocol contm o valor 6, indicando o protocolo TCP.
0 URG 1 ACK 2 PSH 3 RST 4 SYN 5 FIN
Figura 8.5 Code bits do segmento TCP.

O campo Code bits usado para indicar o propsito e contedo do segmento. Por exemplo, segmentos podem ser usados para estabelecer uma conexo, transferir dados e fechar uma conexo. Este campo composto por 6 bits (Figura 8.5) que sinalizam o modo como outros campos do segmento devem ser interpretados. Vrios destes bits podem ser ativados em um nico segmento. 11 URG segmento transporta dados urgentes; 11 ACK segmento transporta um reconhecimento; 11 PSH mecanismo push foi adotado para encaminhar o segmento; 11 RST sinalizao de que a conexo deve ser imediatamente abortada (reset); 11 SYN segmento transporta uma requisio de abertura de conexo; 11 FIN segmento transporta uma requisio de fechamento de conexo.

Code bits tambm so chamados de flags TCP. Os campos descritos acima foram definidos no RFC 793, que especifica o protocolo TCP. Posteriormente, o RFC 3168 modificou essa definio, acrescentando mais dois code bits : 11 Congestion Window Reduced (CWR) 11 Explicit Congestion Notification (ECE ECN-Echo) O campo Options uma lista varivel de informaes opcionais, sendo usado principalmente para definir o tamanho mximo dos segmentos (Maximum Segment Size MSS) que podem ser recebidos por uma entidade TCP. Esta opo sinalizada no segmento (SYN) que transporta um pedido de conexo.
Arquitetura e Protocolos de Rede TCP-IP

Sendo o campo Options varivel, o campo Padding contm bits 0 que estendem o cabealho para torn-lo mltiplo de 32 bits. Observe que o campo Padding somente usado quando o campo Options no mltiplo de 32 bits. Os campos Source port e Destination port so usados na identificao das entidades comu nicantes, enquanto os campos Sequence number, Acknowledgment number, Window e Urgent pointer so usados pelos mecanismos de controle de erro, sequncia e fluxo. Em funo da importncia destes campos, iremos estud-los a seguir, bem como detalhes dos vrios bits que compem o campo Code bits.

l
Saiba mais
Para mais informaes, consulte o RFC 3168: The Addition of Explicit Congestion Notification (ECN) to IP.

314

Estrutura de conexo
11 Portas 22 Source port porta associada ao processo origem. 22 Destination port porta associada ao processo destino. 11 Endpoint 22 Definido pelo par endereo IP e porta. 22 Identifica de forma nica cada porta ou ponto de comunicao na inter-rede. 22 Tambm conhecido como socket (linguagem C). 11 Conexo 22 Identificada de forma nica por um par de endpoints. 22 Tambm conhecida como socket pair. 22 Cada endpoint pode participar de diversas conexes. 22 Sistema operacional deve assegurar que o par de endpoints da conexo nico. O endpoint identifica, de forma individual e nica, um ponto de comunicao em toda a

inter-rede, sendo representado pelo endereo IP da estao e a porta associada ao respectivo processo de aplicao. Da mesma forma que o protocolo UDP, o protocolo TCP tambm explora o conceito de porta. Portanto, segmentos transportam as portas associadas aos processos de aplicao origem e destino. Os campos Source port e Destination port so usados com este propsito. Como no UDP, no TCP cada um destes campos possui 16 bits, indicando que o maior nmero de porta possvel 65.535. Embora TCP e UDP adotem portas, os nmeros das portas TCP so independentes dos nmeros das portas UDP. Por exemplo, a porta TCP 10.000 e a porta UDP 10.000 podem ser usadas por diferentes processos de aplicao, executando na mesma estao. Observe que um mesmo nmero de porta no causa qualquer confuso, pois, primeiramente, o protocolo IP identifica o protocolo de transporte destino, baseado no campo Protocol dos datagramas IP. Apesar desta independncia, na prtica, se um determinado servio provido atravs de ambos os protocolos, o nmero da porta adotada geralmente idntico para os dois protocolos. Por exemplo, a porta 80 reservada para o servio web nos protocolos TCP e UDP. Vale ressaltar que esta identidade pura conveno, no existindo qualquer imposio por parte dos protocolos. Como vimos, uma entidade de transporte deve utilizar o par (endereo IP, porta) para identificar cada endpoint em toda a inter-rede. No TCP, cada par (endereo IP, porta) define um ponto final de comunicao, comumente denominado endpoint ou socket. Portanto, cada est associado um processo de aplicao. Sendo o protocolo TCP orientado conexo, ele deve identificar unicamente cada conexo, no apenas portas ou processos de aplicao individuais. No TCP, cada conexo identifi cada por um par de endpoints, tambm conhecido como socket pair.
Captulo 8 - Camada de transporte

endpoint identifica, de forma nica, um ponto de comunicao em toda a inter-rede, ao qual

315

172.16.1.5
P1

192.168.10.1
P2 P3

10.1.1.1
P4

Porta 5000

Porta 80

Porta 25

Porta 1800

(172.16.1.5, 5000) e (192.168.10.1, 80)

(192.168.10.1, 25) e (10.1.1.1, 1800)

Figura 8.6 Exemplo de conexo TCP.

A Figura 8.6 mostra a identificao de duas conexes TCP: 11 A primeira conexo envolve o processo P1, executando na estao 172.16.1.5 e associado porta 5.000, e o processo P2, executando na estao 192.168.10.1 e associado porta 80. 11 A segunda conexo envolve o processo P3, executando na estao 192.168.10.1 e associado porta 25; e o processo P4, executando na estao 10.1.1.1 e associado porta 1.800.

172.16.1.5
P1

192.168.10.1
P2 P5

10.1.1.1
P6

Porta 5000

Porta 80

Porta 80

Porta 2000
Figura 8.7 Exemplo de conexo TCP (2).

(172.16.1.5, 5000) e (192.168.10.1, 80)

(192.168.10.1, 80) e (10.1.1.1, 2000)

Observe que, em uma mesma estao, vrias conexes podem ser estabelecidas simultaneamente. Alm disso, um mesmo endpoint local pode participar de vrias conexes diferentes com endpoints remotos, ou seja, conexes podem compartilhar endpoints. Por exemplo, na Figura 8.7, o endpoint (192.168.10.1, 80) participa de duas conexes. Embora um determinado endpoint possa participar de diversas conexes, localmente, cada sistema operacional deve assegurar que o par de endpoints de cada conexo nico, constituindo, portanto, uma identificao nica para cada conexo.

Demultiplexao de mensagens
11 Segmentos recebidos so associados s conexes, no apenas s portas. 11 Avalia o par de endpoints da conexo. 22 Portas origem e destino so obtidas do segmento recebido. 22 Endereos IP origem e destino so obtidos do datagrama IP.
Arquitetura e Protocolos de Rede TCP-IP

11 Cada conexo possui um buffer de transmisso e um buffer de recepo em cada extremidade. O compartilhamento de endpoints parece tornar problemtica a demultiplexao de mensagens destinadas porta compartilhada. No entanto, o protocolo TCP associa os segmentos recebidos s respectivas conexes, no apenas s portas. Ou seja, o processo de demultiplexao avalia o par de endpoints para apropriadamente identificar a respectiva conexo. No destino, para identificar a conexo que receber a mensagem encapsulada no segmento, a entidade TCP associa os campos Source port e Destination port do segmento TCP com os endereos IP de origem e destino, recuperados do datagrama IP que transportou o segmento.

316

Vimos que, no UDP, uma porta geralmente implementada como uma fila interna do sistema operacional. No TCP, em funo do compartilhamento de endpoints, cada conexo
Buffer Espao de memria reservado para armazenar pacotes recebidos (buffer de recepo) ou a serem enviados (buffer de transmisso).

possui um buffer de transmisso e um buffer de recepo. Ao receber um segmento, o TCP verifica se existe a conexo associada ao segmento. Caso exista, a mensagem encapsulada armazenada no final do buffer de recepo da conexo. Por outro lado, o processo de aplicao associado quela conexo acessa as mensagens armazenadas no buffer de recepo. Caso a conexo no exista, o protocolo TCP simplesmente descarta o segmento e gera um segmento reset (bit RST ligado) para a entidade TCP de origem, indicando que o segmento no referencia uma conexo vlida.

Mecanismos de controle
11 Controle de sequncia 22 Fluxo de dados tratado como uma sequncia de bytes. 33 Cada byte possui um nmero de sequncia. 33 Numerao no inicia sempre em 0, sendo negociada no estabelecimento da conexo. 11 Sequence number 22 Indica o nmero de sequncia do primeiro byte de dados contido no segmento. Controle de sequncia o mecanismo que assegura que os dados recebidos por uma entidade esto na sequncia em que foram transmitidos pela outra entidade. O protocolo TCP trata o fluxo de dados como uma sequncia de bytes, que dividida nos vrios segmentos transmitidos. Conceitualmente, cada byte do fluxo de dados sequen -

cialmente numerado, possuindo, assim, um nmero de sequncia. Ao invs de transportar os nmeros de sequncia de todos os bytes do fluxo de dados, cada segmento transporta apenas o nmero de sequncia do primeiro byte de dados contido no segmento. Este nmero de sequncia informado no campo Sequence number do segmento, comumente denominado nmero de sequncia do segmento. Logo, o nmero de sequncia um inteiro de 32 bits. Para permitir a transmisso de grandes volumes de dados, a numerao dos bytes volta ao valor 0 aps atingir 2 32-1.

150

151

198

199

200

201

348

349

350

351

448

449

Segmento 150
Figura 8.8 Controle de sequncia TCP.

Segmento 200

Segmento 350

A Figura 8.8 mostra um exemplo de diviso de uma sequncia de bytes em segmentos, destacando o nmero de sequncia (Sequence number ) de cada segmento enviado. Observe que cada segmento informa apenas o nmero de sequncia do primeiro byte de dados dados no necessariamente iniciada em 0 e os segmentos no transportam a mesma quantidade de dados. Como veremos adiante, o nmero de sequncia inicial negociado no estabelecimento da conexo. Na entidade TCP destino, os nmeros de sequncia dos segmentos so usados pelo mecanismo de controle de sequncia para restabelecer a sequncia original do fluxo de dados, recuperando a ordem correta dos segmentos recebidos e descartando os segmentos duplicados. No exemplo da Figura 8.8, se a entidade TCP destino receber os segmentos com nmeros de sequncia 150, 350, 200 e 350, ela recupera a sequncia original 150, 200 e 350, trocando a ordem dos segmentos 350 e 200, bem como descartando o segmento 350 duplicado. 317
Captulo 8 - Camada de transporte

contido no segmento. Alm disso, importante observar que a numerao do fluxo de

Controle de erros
11 Reconhecimento positivo 22 Destino retorna uma mensagem indicando o recebimento correto do segmento. 22 Reconhecimento pode pegar carona nos segmentos de dados do fluxo inverso. 11 Reconhecimento cumulativo 22 Diversos segmentos consecutivos podem ser reconhecidos em uma nica mensagem. 11 Acknowledgment number 22 Indica o nmero de sequncia do prximo byte que espera receber. 22 Indica o correto recebimento dos bytes com nmero de sequncia inferior. 22 Bit ACK deve estar ativo. 11 Retransmisso 22 Origem adota um temporizador para cada segmento transmitido. 22 Segmento retransmitido quando a origem no recebe o reconhecimento antes de expirar o temporizador. 22 O temporizador reativado em cada retransmisso. O controle de erros o mecanismo que realiza a deteco de erros em dados recebidos, e, em seguida, ativa procedimentos para correo destes erros. Na prtica, geralmente, a correo realizada atravs da retransmisso dos dados. O controle de erros dividido em deteco e correo de erros. A deteco de erros

assegura a integridade dos segmentos, enquanto a correo de erros recupera segmentos perdidos ou corrompidos. Como vimos, o protocolo TCP implementa a deteco de erros usando o campo Checksum, onde segmentos corrompidos so simplesmente descartados. Para correo de erros, o protocolo TCP adota a tcnica de reconhecimento positivo cumulativo com retransmisso. Nesta tcnica, a entidade TCP destino retorna mensagens de reconhecimento positivo para a entidade TCP origem, indicando o correto recebimento de segmentos. A mensagem de reconhecimento transporta, no campo Acknowledgment number do segmento, o nmero de sequncia do prximo byte que a entidade TCP destino (origem do reconhecimento) espera receber, indicando o correto recebimento dos bytes com nmero de sequncia inferior. O campo Acknowledgment number vlido apenas quando o bit ACK est ativo. No exemplo da Figura 8.9, aps receber o segmento 150, que transporta 50 bytes de dados (byte 150 at byte 199), a entidade TCP destino retorna um segmento de reconhecimento
Arquitetura e Protocolos de Rede TCP-IP

que possui o valor 200 no campo Acknowledgment number, indicando o correto recebimento do fluxo de dados at o byte 199 e sinalizando que espera os dados a partir da posio 200.

Figura 8.9 Controle de erros.

150

151

198

199

200

201

348

349

350

351

448

449

Seq number 150 Ack number 200

Seq number 200 Ack number 350

Seq number 350 Ack number 450

318

Para reduzir o nmero de mensagens de reconhecimento, ao invs de retornar uma mensagem de reconhecimento para cada segmento recebido, a entidade TCP destino pode enviar um nico reconhecimento para indicar a correta recepo de vrios segmentos consecutivos. Diz-se, ento, que o TCP adota reconhecimento cumulativo. Por exemplo, na Figura 8.9, aps receber os segmentos 150, 200 e 350, ao invs de enviar um reconhecimento para cada um destes segmentos (como indicado na figura), a entidade TCP de destino pode enviar um nico reconhecimento que possui o valor 450 no campo Acknowledgment number, indicando o correto recebimento do fluxo de dados at o byte 449 e sinalizando que aguarda os dados a partir da posio 450. Sendo a conexo TCP full-duplex, ao invs de gerar segmentos que apenas sinalizam os reconhecimentos, as entidades TCP podem enviar estes reconhecimentos em segmentos de dados do fluxo inverso. Ou seja, os reconhecimentos podem pegar carona (piggybacking) em segmentos de dados do fluxo inverso, melhorando a eficincia do protocolo. Para tal, segmentos que transportam reconhecimentos devem ativar o bit ACK e incluir o nmero de sequncia do prximo byte esperado no campo Acknowledgment number. Considerando que segmentos podem ser perdidos ou descartados, o protocolo TCP utiliza a retransmisso para garantir a entrega do fluxo de dados. Quando uma entidade TCP origem envia um segmento, ela mantm uma cpia dos dados deste segmento e ativa um temporizador, esperando que a entidade TCP destino envie um reconhecimento dos dados. Se o reconhecimento recebido antes do temporizador expirar, a cpia dos dados descartada. Caso contrrio, a entidade TCP origem assume que o segmento foi perdido ou descartado e retransmite os dados em um novo segmento. Em cada retransmisso, o temporizador reativado para aguardar pelo reconhecimento. A adoo de reconhecimento cumulativo permite que uma entidade TCP origem envie vrios segmentos consecutivos, antes de receber qualquer reconhecimento. No entanto, o TCP deve adotar mecanismos de controle de fluxo para regular a comunicao entre duas entidades, evitando que uma entidade envie mais dados do que a outra capaz de receber.

Controle de fluxo
11 Janela deslizante 22 Entidades negociam o nmero de bytes adicionais que podem ser recebidos a partir do ltimo reconhecimento. 33 Destino define o tamanho de sua janela de recepo em cada segmento. 33 Origem atualiza o tamanho da janela de transmisso a cada reconhecimento. 33 Reconhecimentos deslocam a janela de transmisso da origem para o primeiro byte sem reconhecimento. 11 Window 22 Sinaliza o tamanho da janela de recepo da entidade em cada segmento enviado.

Controle de fluxo o mecanismo que regula e compatibiliza a taxa de transmisso de dados entre duas entidades, assegurando que uma entidade somente envia dados quando a outra capaz de receb-los. Para controle de fluxo, o protocolo TCP adota a tcnica de janela deslizante (sliding window). Nesta tcnica, as entidades TCP comunicantes informam, uma para a outra, o nmero de bytes adicionais que podem ser recebidos a partir da posio do ltimo reconhecimento. Este nmero de bytes define o tamanho da janela de recepo da entidade TCP destino.

319

Captulo 8 - Camada de transporte

Com base nesta informao, a entidade TCP origem atualiza sua janela de transmisso, ou seja, define o nmero de bytes que pode enviar antes de receber outro reconhecimento.

100

101

498

499

500

501

Ack number 300

100

101

300

301

698

699

700

701

Figura 8.10 Controle de fluxo por janela deslizante.

A tcnica de janela deslizante recebe esta denominao porque, aps receber um reconhecimento, a janela de transmisso da entidade TCP de origem desloca-se, passando a ser iniciada no primeiro byte do fluxo que ainda no obteve uma mensagem de reconhecimento. Por exemplo, na Figura 8.10, uma janela de transmisso de 400 bytes, iniciando na posio 100, deslocada de 200 bytes aps o recebimento de um segmento, cujo Acknowledgement number seja 300. Vale ressaltar que, aps receber este reconhecimento (ACK 300), a entidade TCP de origem pode transmitir mais 200 bytes. O tamanho da janela de recepo de uma conexo informado pela entidade TCP no campo Window de cada segmento. Sendo este campo de 16 bits, o tamanho da janela limitado a 65.535 bytes. Vale ressaltar que o protocolo TCP define uma opo que permite o incre mento deste tamanho mximo da janela. Observe que, sendo ajustada a partir do campo Window de cada segmento recebido da estao destino, a janela de transmisso da estao origem representa o nmero de bytes que a estao destino pode armazenar em seu buffer de recepo. Portanto, o mecanismo de janela deslizante evita que segmentos enviados sejam descartados no destino por falta de espao no buffer de recepo. O mecanismo de janela deslizante tambm utilizado para evitar congestionamento na rede. Neste caso, a entidade TCP monitora os retardos associados aos reconhecimentos. Geralmente, incrementos nos retardos representam situaes de congestionamento na rede. Para evitar congestionamento, a entidade TCP reduz a taxa de transmisso, diminuindo o tamanho da janela de transmisso, quando detecta incrementos nos retardos dos reconhecimentos.

Estabelecimento de conexo
11 Estabelecimento de conexo 22 Three-way handshake
Arquitetura e Protocolos de Rede TCP-IP

33 Negocia e sincroniza o valor inicial dos nmeros de sequncia em ambas as direes. 11 Urgent pointer 22 Sinaliza a posio na poro de dados em que terminam os dados urgentes. 22 Bit URG deve estar ativo. 11 Mecanismo push 22 Fora a gerao de um segmento com os dados j presentes no buffer. 22 No aguarda o preenchimento do buffer. 22 Segmentos gerados pelo mecanismo push so marcados com a ativao do bit PSH.

320

Quando dois processos desejam se comunicar, as respectivas entidades TCP devem, primeiramente, estabelecer uma conexo. O protocolo TCP adota o algoritmo Three-way handshake para estabelecer uma conexo, negociando e sincronizando o valor inicial dos nmeros de sequncia dos fluxos de dados, conforme mostrado na Figura 8.11.

Entidade A (requisitante)
SYN SEQ=x

Entidade B (requisitada)

SYN SEQ=x SYN SEQ=y ACK=x+1 SYN SEQ=y ACK=x+1


Figura 8.11 Abertura de conexo TCP.

SEQ=x+1ACK=y+1 SEQ=x+1ACK=y+1

Inicialmente, a entidade requisitante envia um segmento SYN, que possui o bit SYN ativado, indicando um pedido de abertura de conexo. O campo Sequence number deste segmento contm o nmero de sequncia inicial (x) escolhido pela entidade requisitante para esta conexo. Aps o estabelecimento da conexo, o valor x+1 o nmero de sequncia do primeiro byte do fluxo de dados gerado pela entidade requisitante. Aps receber e aceitar o pedido de conexo, a entidade requisitada envia um segmento SYN, cujo campo Sequence number contm o nmero de sequncia inicial (y) escolhido pela entidade. Alm disso, o campo Acknowledgement number indica que a entidade requisitada aguarda o primeiro byte (x+1) do fluxo de dados gerado pela entidade requisitante. De forma semelhante, o valor y+1 o nmero de sequncia do primeiro byte do fluxo de dados gerado pela entidade requisitada. Por fim, a entidade requisitante envia um segmento entidade requisitada, informando que ambos aceitam a conexo estabelecida. Neste segmento, o campo Acknowledgement number indica que a entidade requisitante aguarda o primeiro byte (y+1) do fluxo de dados gerado pela entidade requisitada.

Exerccio de fixao 1 e Abertura de conexo TCP


1. Vamos ativar o Wireshark, como fizemos anteriormente, s que desta vez para configurar

um filtro de captura. Na tela inicial do Wireshark, em vez de selecionar o boto Start, vamos selecionar o boto Options na interface de rede local. Teremos ento a tela a seguir. Na janela Capture Filter:, digite o filtro: tcp port 80 and host conforme mostrado na Figura 8.12. Observe que a janela de filtro de captura fica com o fundo verde quando a sintaxe do comando est correta e vermelho quando no est correta. Essa sintaxe compatvel com a sintaxe adotada pelo programa Tcpdump.
Captulo 8 - Camada de transporte

o endereo IP de sua estao (sem as aspas). No exemplo usamos o IP: 192.168.100.103,

321

Figura 8.12 Opes de captura de pacotes do Wireshark.

Em seguida clique em Start para iniciar a captura; porm, somente sero capturados os pacotes de/para a sua estao e que sejam destinados/recebidos da porta TCP 80. Os demais pacotes IP sero descartados.
2. Abra o navegador instalado na sua mquina e digite o seguinte URL: www.uol.com.br.

Aguarde alguns minutos at que todas as operaes tenham sido concludas. Feche a janela do navegador e aguarde mais um minuto, para que as conexes TCP ainda abertas possam ser fechadas. Volte para a janela do Wireshark (que ficou aberta) e s ento termine a captura de pacotes clicando no quarto cone da esquerda para a direita da barra de ferramentas (Stop the running live capture). A tela do Wireshark dever ser semelhante mostrada na Figura 8.13.

Observe na sua tela que foram abertas diversas conexes TCP para a carga da pgina inicial do URL acessado, de modo a obter um melhor desempenho. As telas de todos os alunos sero
Arquitetura e Protocolos de Rede TCP-IP

semelhantes, mas diferentes nos detalhes, endereos e portas envolvidos na conexo TCP. Para facilitar a compreenso dos detalhes operacionais da conexo TCP, ser necessrio trabalhar com um arquivo capturado previamente, para que todos tenham exatamente os mesmos valores. O arquivo em questo chama-se Sessao8_Captura1.pcap e est mostrado na Figura 8.13.
3. Uma vez aberto o arquivo mencionado, a tela dever ser igual mostrada na Figura 8.13, onde

Figura 8.13 Pacotes capturados durante o acesso a www.uol.com.br.

aparecem todos os 18 registros do arquivo. Todos os registros se referem mesma conexo TCP, que usa as portas: 80 (servidor) e 50288 (cliente). Para conseguir isso, foi necessrio usar o seguinte filtro: tcp.port == 50288 (sem as aspas). Essa sintaxe diferente da sintaxe adotada pelo Tcpdump no filtro de captura, porque uma sintaxe proprietria do programa Wireshark que usa interface grfica (ao contrrio do Tcpdump, que usa linha de comando).

322

4. Vamos agora analisar os pacotes envolvidos na abertura desta conexo TCP, que so

exatamente os 3 primeiros pacotes (1 a 3), mostrados na Figura 8.14.

Figura 8.14 Pacotes referentes ao three-wayhandshake capturados.

Observe que os 3 pacotes so pacotes do protocolo TCP, que no tem dados da aplicao. Eles mostram o processo de abertura de conexo TCP (three-way-handshake), que realizado ANTES do envio dos dados da aplicao.
5. Reproduzimos a seguir a Figura 8.11, que mostra o mecanismo da abertura de conexo TCP.

Entidade A (requisitante)
SYN SEQ=x

Entidade B (requisitada)

SYN SEQ=x SYN SEQ=y ACK=x+1 SYN SEQ=y ACK=x+1 SEQ=x+1ACK=y+1 SEQ=x+1ACK=y+1

O primeiro pacote enviado pelo cliente (Entidade A requisitante) e tem o code bit SYN ligado para solicitar a abertura da conexo TCP no sentido cliente -> servidor, e informa ao servidor (Entidade B requisitada) o seu contador de octetos enviados (SEQ=x), a partir do qual ser feita a contagem dos octetos (inicializao do contador de octetos enviados). Note que o Wireshark aponta o valor zero (Seq: 0) na linha do TCP selecionada na figura, mas
Figura 8.15 Primeiro pacote da abertura de conexo TCP.

sabemos que esse valor um valor randmico de 32 bits. S possvel saber o valor real desse contador detalhando o cabealho do TCP, conforme mostra a Figura 8.15. O Wireshark indica zero porque ele , na realidade, o zero relativo da contagem de octetos enviados.

323

Captulo 8 - Camada de transporte

6. Nesta figura foi selecionado o campo Sequence number: 0 (relative sequence number).

Note que o Wireshark adverte que um nmero de sequncia relativo. O valor em hexadecimal aparece em destaque na janela inferior e vale em hexadecimal: x = fd a8 21 ac. Em decimal : x = 4255654316. Observaes importantes: 11 O endereo IP da origem o do cliente: 192.168.100.103; 11 O endereo IP de destino o do servidor: 200.147.3.191; 11 Portas TCP de origem e destino, respectivamente: 50288 e 80; 11 Flags: 0x02 (SYN) (significa que o code bit SYN est ligado).
7. Vamos agora visualizar os detalhes do pacote 2, que deve ser o pacote enviado pelo

servidor, no qual ele tambm liga o code bit SYN para solicitar a abertura da conexo TCP no sentido servidor -> cliente (lembre-se de que a conexo TCP full-duplex), aceita o pedido de abertura de conexo TCP do cliente, inicializa seu contador de octetos enviados (SEQ=y) e reconhece o contador do cliente (x), indicando seu contador de octetos recebidos ACK=x+1 (Figura 8.11). Esse pacote est detalhado na Figura 8.16.

O contador de octetos enviados do servidor (SEQ=y) tem o valor em hexadecimal: y = 71 02 49 be, e em decimal: y = 1895975358. Observe que o contador de octetos enviados do cliente deve bater com o contador de octetos recebidos do servidor, e vice-versa.
Arquitetura e Protocolos de Rede TCP-IP

Figura 8.16 Segundo pacote da abertura de conexo TCP.

Observaes importantes: 11 O endereo IP da origem o do servidor: 200.147.3.191; 11 O endereo IP de destino o do cliente: 192.168.100.103; 11 Portas TCP de origem e destino, respectivamente: 80 e 50288; 11 Flags: 0x12 (SYN, ACK) significa que os code bits SYN e ACK esto ligados; 11 Acknowledgement number: 1 (relative ACK number) efetua o reconhecimento do contador de octetos enviados do cliente (x), indicando o valor x+1, conforme podemos constatar na ltima janela (em hexadecimal: x+1 = fd a8 21 ad; em decimal: x+1 = 4255654317).

324

Se x o contador dos octetos enviados pelo cliente para o servidor, e o pacote 1 no enviou nenhum octeto de dados (assim como os pacotes 2 e 3) por que, no reconhecimento efetuado pelo servidor, o contador foi incrementado de 1 (x+1)?

Note que o Wireshark informa na linha referente ao protocolo TCP o tamanho do campo de dados Len: 0. Nesses 3 primeiros pacotes o valor Len sempre zero.
8. Finalmente, vamos visualizar os detalhes do pacote 3, que deve ser o pacote enviado pelo

cliente, no qual ele aceita o pedido de abertura de conexo TCP do servidor, e confirma os valores dos contadores de octetos de ambos os lados (SEQ=x+1, ACK=y+1). Esse pacote est detalhado na Figura 8.17.

Figura 8.17 Terceiro pacote da abertura de conexo TCP.

O contador de octetos recebidos do cliente (ACK=y+1) tem o valor em hexadecimal: y = 71 02 49 bf, e em decimal: y = 1895975359. Observaes importantes: 11 O endereo IP da origem o do cliente: 192.168.100.103; 11 O endereo IP de destino o do servidor: 200.147.3.191; 11 Portas TCP de origem e destino, respectivamente: 50288 e 80; 11 Flags: 0x10 (ACK) significa que o code bit ACK est ligado. Se y o contador dos octetos enviados pelo servidor para o cliente e o pacote 2 no enviou pelo cliente o contador foi incrementado de 1 (y+1)?
Captulo 8 - Camada de transporte

nenhum octeto de dados (bem como os pacotes 1 e 3), por que no reconhecimento efetuado

Nesse ponto, a conexo TCP est estabelecida nos dois sentidos, e os contadores de octetos de ambos os lados (x e y) esto inicializados e devidamente reconhecidos; portanto, os dados da aplicao podem ser enviados a partir do pacote 4, como veremos adiante.

325

Transferncia de dados
Aps estabelecer uma conexo, os respectivos processos podem enviar e receber dados simultaneamente. Os mecanismos de controle de erro, sequncia e fluxo atuam durante esta fase de transferncia de dados, assegurando a entrega dos fluxos de dados em ambas as direes. Vale ressaltar que, para aumentar a eficincia do protocolo contra variaes dos retardos da inter-rede, o TCP adota mecanismos de ajuste dinmico dos temporizadores de retransmisso e tamanho das janelas de transmisso e recepo. O escopo deste curso no inclui o detalhamento destes mecanismos. Embora o protocolo TCP seja orientado a fluxo, em algumas situaes, um processo de aplicao pode necessitar enviar dados urgentes para o outro processo, que precisam ser tratados por este outro processo, antes dos bytes que j esto em seu buffer de recepo. Para tratar o envio de dados urgentes, o TCP usa o bit URG e o campo Urgent pointer. Quando o bit URG est ligado, o campo Urgent pointer especifica a posio na poro de dados onde terminam os dados urgentes. Portanto, o campo Urgente pointer somente vlido quando o bit URG est ligado. Como j sabemos, internamente, a entidade TCP decide como dividir o fluxo de dados em segmentos. No entanto, em aplicaes interativas, interessante o envio instantneo dos dados para o outro processo. Para tal, o TCP prov a operao push, que fora a entidade TCP a gerar um segmento com os dados presentes no buffer de transmisso, sem esperar pelo seu preenchimento. Segmentos enviados pelo mecanismo push so marcados pelo bit PSH ligado.

Exerccio de fixao 2 e Envio de dados em conexo TCP


1. Os dados foram enviados atravs dos pacotes 4 a 16 (ver Figura 8.14). Vamos analisar

esses pacotes e descobrir como funcionam os contadores de octetos de ambos os lados. A Figura 8.18 mostra o pacote 4 em detalhe.

Arquitetura e Protocolos de Rede TCP-IP

Observaes importantes: 11 Sentido do pacote: cliente -> servidor; 11 Portas de origem e destino: 50288 e 80, respectivamente; 11 SEQ = 1 contador de octetos enviados do cliente; 11 ACK = 1 contador de octetos recebidos do cliente (no confundir com o code bit ACK);

Figura 8.18 Pacote nmero 4 de dados.

326

11 [Next sequence number: 390 (relative sequence number)] nmero meramente informa tivo, fornecido pelo Wireshark a ttulo de orientao; a diferena entre esse nmero e o contador de enviados pelo cliente deve refletir a quantidade de octetos enviados neste pacote (390 1 = 389). 11 Flags: 0x18 (PSH, ACK) indica que os code bits PSH e ACK esto ligados; o uso do PSH pelo TCP do cliente para informar ao TCP do servidor que os dados deste pacote devem ser IMEDIATAMENTE enviados para a aplicao destino, sem esperar o preenchimento do buffer de recepo do TCP; a razo disso fica clara: este pacote carrega um pedido de pgina web (operao GET do protocolo HTTP), de forma que o cliente no tem mais nada para enviar neste momento e vai ficar aguardando o envio da pgina web solicitada. 11 [SEQ/ACK analysis] [Bytes in flight: 389] esta informao fornecida pelo Wireshark apenas a ttulo de orientao; o Wireshark analisa os contadores e informa que foram enviados 389 octetos in flight, o que significa que foram enviados, mas ainda no reconhecidos pelo servidor. Portanto, o contador de octetos enviados ainda no pode ser atualizado; o cliente tem que aguardar a confirmao (ver figuras 8.8, 8.9 e 8.10, que descrevem os mecanismos de controle de sequncia, erro e fluxo). 11 Len: 389 esta informao est na linha onde aparece o protocolo TCP e indica a quantidade de octetos de dados enviados neste pacote. 11 A ltima linha da janela informa que existem dados do protocolo HTTP; observe que na primeira janela onde aparece o pacote nmero 4, o protocolo indicado o HTTP, porque o Wireshark informa apenas o protocolo de camada mais alta presente no pacote.
2. Vamos analisar agora o pacote de dados nmero 5 enviado pelo servidor em resposta ao

pacote nmero 4, que solicitava uma pgina web, conforme mostra a Figura 8.19.

11 Portas de origem e destino: 80 e 50288, respectivamente; 11 SEQ = 1 contador de octetos enviados do servidor; 11 ACK = 390 contador de octetos recebidos do servidor; 11 Flags: 0x10 (ACK) indica que o code bit ACK est ligado, portanto, este pacote deve ser uma confirmao de recebimento de um pacote anterior (qual pacote?); veja a explicao no prximo item.

327

Captulo 8 - Camada de transporte

Figura 8.19 Pacote nmero 5 de dados.

Observaes importantes: 11 Sentido do pacote: servidor -> cliente;

11 [SEQ/ACK analysis] [This is an ACK to the segment in frame : 4] esta informao fornecida pelo Wireshark apenas a ttulo de orientao; o Wireshark analisa os contadores e informa que este segmento confirma o recebimento do segmento contido no quadro 4 recebido. 11 Observe que na primeira janela onde aparece o pacote nmero 5, o protocolo indicado o TCP, o que significa que no existem dados da aplicao neste pacote (ver o Len: 0). Uma vez que o servidor confirmou ter recebido os 389 octetos enviados pelo cliente no pacote nmero 4, o contador de octetos enviados pelo cliente dever ser atualizado de acordo.
3. Vamos analisar o pacote de dados nmero 6 enviado pelo servidor, conforme mostra a
Figura 8.20 Pacote nmero 6 de dados.

figura 8.20.

Observaes importantes: 11 Sentido do pacote: servidor -> cliente; 11 Portas de origem e destino: 80 e 50288, respectivamente; 11 SEQ = 1 contador de octetos enviados do servidor; 11 ACK = 390 contador de octetos recebidos do servidor; 11 Flags: 0x10 (ACK) indica que o code bit ACK est ligado, porm neste caso no tem significado especial; 11 [SEQ/ACK analysis] [Bytes in flight: 1460] esta informao fornecida pelo Wireshark apenas a ttulo de orientao; o Wireshark analisa os contadores e informa que este segmento est enviando 1460 octetos de dados; 11 [Next sequence number: 1461 (relative sequence number)] este nmero meramente informativo, fornecido pelo Wireshark a ttulo de orientao; ele est indicando que o
Arquitetura e Protocolos de Rede TCP-IP

prximo SEQ do servidor dever ser atualizado para 1461, DESDE QUE o cliente reconhea os dados enviados neste pacote; 11 Observe que na primeira janela onde aparece o pacote nmero 6, o protocolo indicado o HTTP, o que significa que existem dados da aplicao neste pacote.
4. O pacote nmero 7 semelhante ao nmero 6, onde tambm esto sendo enviados

1460 octetos, totalizando 2920 bytes in flight (2x1460). O pacote nmero 8 traz algumas novidades, conforme mostrado na Figura 8.21.

328

Figura 8.21 Pacote nmero 8 de dados.

Observaes importantes: 11 Sentido do pacote: cliente -> servidor; 11 Portas de origem e destino: 50288 e 80, respectivamente; 11 SEQ = 390 contador de octetos enviados do cliente; 11 ACK = 2921 contador de octetos recebidos do cliente; 11 Flags: 0x10 (ACK) indica que o code bit ACK est ligado; 11 [SEQ/ACK analysis] [This is an ACK to the segment in frame : 7] esta informao forne cida pelo Wireshark apenas a ttulo de orientao; o Wireshark analisa os contadores e informa que este segmento confirma o recebimento do segmento contido no quadro 7 recebido anteriormente. Observe que este pacote foi enviado pelo TCP, no contm dados da aplicao e faz um reconhecimento cumulativo dos dados enviados nos pacotes 6 e 7 pelo servidor (reveja o texto aps a Figura 8.9). Os demais pacotes (at o de nmero 16) repetem esse mecanismo e no trazem nenhuma novidade.

Fechamento de conexo
O fechamento de conexo ocorre separadamente em cada direo da conexo. Quando os processos associados a uma conexo no mais desejam enviar dados, qualquer um deles pode solicitar o fechamento da conexo. Internamente, para fechar uma conexo, as entidades TCP adotam o algoritmo ilustrado na Figura 8.22.

329

Captulo 8 - Camada de transporte

Entidade A
FIN SEQ=x

Entidade B

FIN SEQ=x ACK=x+1 ACK=x+1 FIN SEQ=y ACK=x+1 FIN SEQ=y ACK=x+1 ACK=y+1 ACK=y+1
Figura 8.22 Fechamento de conexo TCP.

Aps receber o reconhecimento do ltimo byte de dados transmitido, a entidade que deseja fechar a conexo (A) envia um segmento FIN, que possui o bit FIN ligado, indicando um pedido de fechamento da conexo. O campo Sequence number deste segmento contm o valor do nmero de sequncia (x) do ltimo byte enviado pela entidade nesta conexo. Aps receber o segmento FIN, a entidade B envia um reconhecimento deste segmento, indicando o valor x+1 no campo Acknowledgement number. Neste ponto, a conexo est fechada na direo da entidade A para a entidade B. Na outra direo, a entidade B ainda pode continuar enviando dados. Quando deseja fechar a conexo nesta outra direo, a entidade B segue o mesmo procedimento, enviando um segmento FIN e recebendo um reconhecimento deste segmento. Observe que o campo Acknowledgement number do segmento FIN, enviado pela entidade B, ainda igual a x+1, indicando que nenhum dado foi recebido da entidade A, aps o fechamento da conexo naquela direo.

Exerccio de fixao 3 e Fechamento de conexo TCP


1. Nas atividades anteriores, estudamos a abertura e o envio de dados numa conexo TCP.

Agora vamos analisar o fechamento da conexo. A Figura 8.23 mostra o pacote nmero 17 do fluxo analisado nas atividades anteriores.

Arquitetura e Protocolos de Rede TCP-IP

Observaes importantes: 11 Sentido do pacote: cliente -> servidor; 11 Portas de origem e destino: 50288 e 80, respectivamente; 11 SEQ = 390 contador de octetos enviados do cliente;

Figura 8.23 Pacote nmero 17.

330

11 ACK = 11033 contador de octetos recebidos do cliente; 11 Flags: 0x11 (FIN, ACK) indica que os code bits FIN, ACK esto ligados; portanto, o cliente est solicitando o fechamento da conexo no sentido cliente -> servidor. Este pacote foi enviado pelo protocolo TCP e no carrega dados da aplicao.
2. Analisemos o pacote 18 deste mesmo fluxo, mostrado na Figura 8.24.

Figura 8.24 Pacote nmero 18.

Observaes importantes: 11 Sentido do pacote: servidor -> cliente; 11 Portas de origem e destino: 80 e 50288, respectivamente; 11 SEQ = 11033 contador de octetos enviados do servidor; 11 ACK = 391 contador de octetos recebidos do servidor; 11 Flags: 0x10 (ACK) indica que o code bit ACK est ligado; 11 [SEQ/ACK analysis] [This is an ACK to the segment in frame : 17] esta informao forne cida pelo Wireshark apenas a ttulo de orientao; o Wireshark analisa os contadores e informa que este segmento confirma o recebimento do segmento contido no quadro 17 recebido anteriormente. No pacote 17 (Figura 8.23), o cliente informa que o seu contador de octetos enviados SEQ=390, e o referido pacote no enviou dados da aplicao. Por que o contador de recebidos do servidor no pacote 18 indica: ACK=391?

331

Captulo 8 - Camada de transporte

A Figura 8.25 mostra um resumo do fluxo de pacotes aqui analisado. Nmero Sentido Octetos Dados 1 2 CLI -> SER SER -> CLI 0 0 SYN SYN,ACK Flags Contadores SEQ 0 0 ACK 1 Solicita estabelecimento de conexo; inicializa contador SEQ. Solicita estabelecimento de conexo; inicializa contador SEQ; aceita pedido de conexo. Aceita pedido de conexo. Envia 389 octetos. Reconhece o envio de dados. Envia 1460 octetos. Envia 1460 octetos. Reconhece o envio de dados. Envia 1460 octetos. Envia 1460 octetos. Reconhece o envio de dados. Envia 1460 octetos. Envia 1460 octetos. Envia 1460 octetos. Envia 811 octetos; solicita fechamento de conexo. Reconhece o envio de dados; aceita fechamento de conexo. Solicita fechamento de conexo. Aceita fechamento de conexo.
Figura 8.25 Resumo do fluxo de pacotes.

Observaes

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

CLI -> SER CLI -> SER SER -> CLI SER -> CLI SER -> CLI CLI -> SER SER -> CLI SER -> CLI CLI -> SER SER -> CLI SER -> CLI SER -> CLI SER -> CLI CLI -> SER CLI -> SER SER -> CLI

0 389 0 1460 1460 0 1460 1460 0 1460 1460 1460 811 0 0 0

ACK PSH,ACK ACK ACK ACK ACK ACK ACK ACK ACK ACK ACK FIN,PSH,ACK ACK FIN,ACK ACK

1 1 1 1 1461 390 2921 4381 390 5841 7301 8761 10221 390 390 11033

1 1 390 390 390 2921 390 390 5841 390 390 390 390 11033 11033 391

Em resumo, os pacotes 1 a 3 executam a abertura da conexo TCP, os pacotes 4 a 15 executam o envio dos dados da aplicao e os pacotes 15 a 18 fecham a conexo TCP. Os dados enviados pelo servidor para o cliente foram na quantidade de 1460 bytes em cada
Arquitetura e Protocolos de Rede TCP-IP

pacote, exceto no ltimo, de 811 bytes. Por qu?

332

Roteiro de Atividades 8
Atividade 8.1 Portas TCP e UDP
Uma determinada aplicao utiliza a porta TCP 500, enquanto outra aplicao utiliza a porta UDP 500. Dado que ambas as aplicaes esto sendo executadas na mesma estao, como o sistema operacional capaz de diferenciar os dados que devem ser repassados para cada uma destas portas?

Atividade 8.2 Campo com tamanho do cabealho


Avaliando os formatos dos datagramas UDP e segmentos TCP, podemos perceber que o TCP adota um campo que indica o tamanho do cabealho. Por que o protocolo UDP no adota um campo com a mesma funcionalidade?

Atividade 8.3 Portas, conexes e endpoints


Diferentemente do protocolo UDP, que usa apenas a porta de destino para demultiplexar os datagramas recebidos, o protocolo TCP utiliza a identificao da conexo, ou seja, um par de endpoints. Por que o TCP no pode utilizar apenas a porta de destino?

Atividade 8.4 Portas UDP


> netstat uan Proto udp
Figura 8.26 Exemplo de uso do comando netstat.

RecvQ 0 0 0

SendQ Local Address 0 0.0.0.0:5000 0 0.0.0.0:10000 0 0.0.0.0:15000

Foreign Address 0.0.0.0:* 0.0.0.0:* 0.0.0.0:*

State

udp udp

Em sistemas Linux, o comando netstat, ativado com a opo u, permite a visualizao das portas UDP em uso. A Figura 8.26 mostra um exemplo de uso do comando netstat. A opo a reos IP e as portas no devem ser traduzidos para os respectivos nomes. Para cada porta, o comando netstat mostra: o protocolo adotado (Proto); o nmero de bytes na fila de recepo (Recv-Q); o nmero de bytes na fila de transmisso (Send-Q); o endereo IP e a porta UDP local (Local Address); o endereo IP e a porta UDP remota (Foreign Address). O endereo IP local 0.0.0.0 indica que os datagramas UDP sero aceitos quando encapsulados em datagramas IP que so endereados a qualquer endereo IP da estao. Por outro lado, o endereo IP remoto 0.0.0.0 indica que os datagramas UDP sero aceitos de qualquer endereo IP remoto.
Captulo 8 - Roteiro de Atividades

sinaliza que todas as portas UDP ativas devem ser listadas. A opo n indica que os ende-

333

1. Execute o comando netstat e identifique as portas UDP ativas na sua estao. Em esta -

es Windows, o comando deve ser c:\netstat p UDP -an.

2. No Linux, o arquivo /etc/services descreve a associao de portas TCP e UDP com os

nomes dos respectivos servios. No Windows, o arquivo services est localizado em C:\Windows\System32\drivers\etc. Identifique os nomes dos servios UDP que esto ativos na sua estao.

Atividade 8.5 Portas TCP


O comando netstat, ativado com a opo t, permite identificar as conexes TCP ativas, como tambm as portas TCP que esto aguardando requisies de conexo. A Figura 8.27 mostra outro exemplo de uso do comando netstat. A opo a sinaliza que todas as conexes e portas TCP devem ser listadas. A opo n indica que os endereos IP e as portas no devem ser traduzidos para os respectivos nomes.

> netstat tan Proto tcp tcp tcp tcp RecvQ 0 0 0 0 SendQ Local Address 0 0.0.0.0:7 0 0.0.0.0:9 0 0.0.0.0:13 0 192.168.1.2:9 Foreign Address 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* State LISTEN LISTEN LISTEN
Figura 8.27 Exemplo de uso do comando netstat.

192.168.1.1:32000 ESTABLISHED

Para cada conexo, o comando netstat mostra: o protocolo adotado (Proto); o nmero de bytes no buffer de recepo (Recv-Q); o nmero de bytes no buffer de transmisso (Send-Q); o endpoint local (Local Address); o endpoint remoto (Foreign Address); e o estado da conexo. As portas que aguardam requisies de conexo possuem o estado LISTEN (mostrado apenas com a opo a). J as conexes ativas possuem o estado ESTABLISHED. No estado LISTEN, o endereo IP local 0.0.0.0 indica que as requisies de conexo sero aceitas quando encapsuladas em datagramas IP que so endereados a qualquer endereo IP da estao. Por outro lado, o endereo IP remoto 0.0.0.0 indica que as requisies de conexo
Arquitetura e Protocolos de Rede TCP-IP

sero aceitas de qualquer endereo IP remoto.


1. Execute o comando netstat e identifique as conexes TCP ativas e as portas TCP que

esto aguardando requisies de conexo. Em estaes Windows, o comando deve ser c:\netstat p TCP -an.

2. Identifique os nomes dos servios TCP que esto ativos e aguardando conexes.

334

9
Camada de aplicao
objetivos
Descrever as principais funes providas pela interface socket para implementar os diversos clientes e servidores. Apresentar consideraes sobre o projeto de servidores, identificando e discutindo os diferentes modelos de implementao.

conceitos

Camada de aplicao, com o detalhamento do uso do modelo cliente-servidor para o desenvolvimento de aplicaes em uma rede TCP/IP.

Fundamentos e protocolos da camada de aplicao


11 Trata os detalhes especficos de cada tipo de aplicao. 22 Mensagens trocadas por cada tipo de aplicao definem um protocolo de aplicao. 22 Cada protocolo de aplicao especifica a sintaxe e a semntica de suas mensagens. 11 Existem diversos protocolos de aplicao: 22 FTP 22 SMTP 22 DNS 22 HTTP 11 Implementada via processos de aplicao. 11 Processos interagem usando o modelo cliente-servidor. 11 Processos usam os servios da camada de transporte. 11 Processos interagem com as implementaes dos protocolos de transporte, atravs de uma API.

At aqui, estudamos detalhes da arquitetura TCP/IP, incluindo os protocolos que proveem os servios de comunicao fim-a-fim e a funo de roteamento de datagramas. Neste captulo, vamos estudar a camada de aplicao, que na arquitetura TCP/IP trata dos detalhes especficos de cada tipo de aplicao. O conjunto de mensagens trocadas por cada tipo de aplicao define um protocolo de aplicao. Cada protocolo de aplicao especifica a sintaxe e a semntica de suas mensagens. Existem vrios protocolos de aplicao, como: FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System) e HTTP (Hypertext Transfer Protocol).

335

Captulo 9 - Camada de aplicao

11 A interface socket um dos principais exemplos de interface de interao.

Ao contrrio das demais camadas (transporte, rede e interface de rede), que so diretamente implementadas no ncleo (kernel) do sistema operacional, a camada de aplicao implementada atravs de processos, que so representaes do sistema operacional para programas em execuo. Ou seja, na arquitetura TCP/IP, uma aplicao apenas um programa em execuo (processo). Na camada de aplicao, os usurios executam programas de aplicao que acessam servios disponveis atravs de uma inter-rede TCP/IP. Na arquitetura TCP/IP, os programas de aplicao interagem adotando o padro de interao denominado modelo cliente-servidor. A camada de aplicao usa os servios da camada de transporte para permitir que as aplicaes se comuniquem. Uma aplicao interage com um dos protocolos de transporte para enviar e receber dados. Cada aplicao escolhe o servio de transporte requerido. Se a aplicao adota o protocolo TCP, suas mensagens so encapsuladas em segmentos TCP, compondo um fluxo contnuo de dados. Caso contrrio, se a aplicao adota o protocolo UDP, suas mensagens so encapsuladas em datagramas UDP, compondo uma sequncia de mensagens individuais. Para selecionar e usar os servios da camada de transporte, os processos de aplicao interagem com as implementaes dos protocolos de transporte no sistema operacional atravs de uma API (Application Programming Interface), provida pelo prprio sistema operacional. A interface socket um dos principais exemplos de interface de interao. Neste captulo, estudaremos a camada de aplicao examinando o modelo cliente-servidor, a interface socket, os modelos de implementao de servidores e os principais servios e protocolos de aplicao.
Modelo cliente-servidor Modelo de interao em um sistema distribudo no qual o processo servidor oferece um servio requisitado pelo processo cliente. Camada de transporte Prov a comunicao fim-a-fim entre aplicaes.

Modelo cliente-servidor
Componentes: 11 Servidor 22 Processo que oferece um servio que pode ser requisitado pelos clientes atravs da rede. 22 Comunica-se com o cliente somente aps receber requisio. 22 Executa continuamente. 11 Cliente 22 Processo que requisita um servio oferecido por um servidor. 22 Inicia a interao com o servidor. 22 Disponibiliza a interface para o usurio.
Arquitetura e Protocolos de Rede TCP-IP

22 Finaliza a execuo aps ser utilizado pelo usurio. No modelo cliente-servidor, um servidor um processo de aplicao que oferece um servio que pode ser requisitado pelos clientes atravs da rede. Um servidor aceita requisies dos clientes, executa o processamento das requisies, e retorna os resultados para os respectivos clientes. Um cliente um processo de aplicao que requisita um servio oferecido por um servidor. Um cliente envia requisies atravs da rede para um ou mesmo para vrios servidores, e, em seguida, aguarda o recebimento das respectivas respostas.

336

Paradigma requisio-resposta
11 Servidor 22 Aceita requisies dos clientes. 22 Executa o processamento das requisies. 22 Retorna os resultados para os clientes. 11 Cliente 22 Envia requisies atravs da rede para um ou vrios servidores. 22 Aguarda o recebimento das respostas. A interao entre cliente e servidor adota o paradigma requisio-resposta, onde o cliente

envia uma requisio e aguarda a resposta do servidor. Observe que o cliente responsvel por iniciar a interao com o servidor. O servidor somente se comunica com o cliente aps receber uma requisio. importante ressaltar que, geralmente, um cliente disponibiliza a interface para o usurio e somente existe enquanto est sendo utilizado pelo usurio. Desta forma, o cliente sempre finaliza sua execuo aps enviar um nmero finito de requisies a um ou vrios servidores. Por outro lado, o servidor executa continuamente, enquanto o sistema est operacional, aceitando requisies e enviando respostas. Por exemplo, quando o usurio utiliza um navegador (cliente) para acessar recursos disponibilizados por servidores web, o navegador envia requisies para estes servidores para recuperar os recursos desejados. Quando no deseja mais utilizar o navegador, o usurio simplesmente finaliza a sua execuo. No entanto, aps o trmino da execuo do navegador, os servidores que foram acessados continuam executando, atendendo a requisies de outros clientes. Para desenvolver uma aplicao cliente-servidor, uma das primeiras decises que o projetista deve tomar diz respeito ao protocolo de transporte a ser adotado. A interao cliente-servidor pode ser realizada usando o servio de datagramas ou o servio de circuito virtual da camada de transporte. Ou seja, os protocolos UDP e TCP podem ser utilizados para transportar mensagens do cliente para o servidor e vice-versa. O protocolo UDP fornece um servio no confivel e baseado em datagramas, que no garante a entrega e a sequncia dos datagramas. Diferentemente, o protocolo TCP fornece um servio confivel e baseado em fluxo de dados, que garante a entrega e a sequncia do fluxo de dados.

Identificao de clientes e servidores


11 Clientes e servidores so identificados por meio de portas. 11 Cliente deve conhecer, previamente, a porta usada pelo servidor.

q
Captulo 9 - Camada de aplicao

11 Servidor no precisa conhecer, previamente, a porta usada pelo cliente. 11 Servidor descobre a porta usada pelo cliente somente aps receber a requisio. 11 Portas so permanentemente reservadas para servios padronizados e bem conhecidos. 22 Porta 53 (DNS) 22 Porta 161 (SNMP) 11 Portas reservadas so utilizadas pelos servidores que implementam os respectivos servios. 11 Demais portas so disponveis para os clientes.

337

Vimos que a arquitetura TCP/IP adota o conceito de porta para identificar os processos comunicantes. Portanto, no modelo cliente-servidor, o cliente e o servidor devem identificar-se usando determinados nmeros de portas. Lembre-se de que o cliente sempre responsvel por iniciar a interao com o servidor. Para tal, o cliente deve, previamente, conhecer o nmero da porta usada pelo servidor. Por outro lado, o servidor somente se comunica com o cliente aps receber uma requisio dele. O servidor descobre o nmero da porta usada pelo cliente somente aps receber a requisio. Logo, o servidor no precisa, previamente, conhecer a porta usada pelo cliente. Consequentemente, no modelo cliente-servidor, somente a porta usada pelo servidor deve ser previamente conhecida pelo cliente. Em funo disso, na arquitetura TCP/IP, algumas portas so permanentemente atribudas ou reservadas para servios padronizados e conhecidos (well known services). Por exemplo, as portas 53 e 161 so reservadas para DNS e SNMP, respectivamente. As portas reservadas so utilizadas pelos servidores que oferecem estes servios bem conhecidos. Diferentemente, as demais portas so disponveis para uso pelos clientes. Em sistemas Unix, os nmeros das portas reservadas e os nomes dos respectivos servios so indicados no arquivo /etc/services. A atribuio de uma porta nica a cada servio simplifica o desenvolvimento de clientes e servidores, pois nenhum servio adicional requerido para que o cliente descubra o nmero da porta utilizada pelo servidor que oferece o servio desejado.

Porta Representao interna do sistema operacional de um ponto de comunicao para envio e recebimento de dados.

Negociao de portas
11 Servidor requisita uma porta reservada e conhecida, previamente reservada ao seu servio. 22 Servidor informa ao sistema operacional a porta que quer utilizar. 11 Cliente requisita uma porta qualquer no reservada. 22 Sistema operacional escolhe a porta arbitrria do cliente.

O processo servidor negocia com o sistema operacional a possibilidade de abrir e usar uma porta conhecida, previamente reservada para o servio oferecido pelo servidor. Geralmente, o processo servidor informa ao sistema operacional o nmero da porta que deseja utilizar. Aps obter a permisso de utilizar a porta, o processo servidor aguarda, passivamente, requisies naquela porta. Aps receber uma requisio, o servidor trata a requisio, retorna a resposta para o cliente, e volta a aguardar novas requisies. No outro lado, o processo cliente negocia com o sistema operacional a possibilidade de abrir e usar uma porta qualquer no reservada. Geralmente, a escolha do nmero da porta usada pelo cliente realizada pelo prprio sistema operacional. Aps obter a permisso de utilizar
Arquitetura e Protocolos de Rede TCP-IP

uma porta, o processo cliente envia uma requisio ao servidor atravs daquela porta, e, ento, aguarda a resposta do servidor. Observe que o cliente no usa portas conhecidas, mas qualquer porta atribuda pelo sistema operacional. Lembre-se de que, dependendo do servio de transporte adotado na interao cliente-servidor, as mensagens de requisio e resposta so transportadas em datagramas UDP ou segmentos TCP, que, como j sabemos, possuem campos que identificam as portas de origem e destino. Nas requisies, as portas de origem e destino identificam o cliente e o servidor, respectivamente. J nas respostas, as portas origem e destino identificam o servidor e o cliente, respectivamente.

338

O sistema operacional deve assegurar que, quando um processo solicita a criao de uma determinada porta, somente este processo estar associado quela porta. Vale ressaltar que, em sistemas Unix, um processo (pai) pode criar outros processos (filhos), que tambm estaro associados mesma porta do processo pai. Portanto, comum encontrar situaes onde vrios processos (pai e filhos) esto simultaneamente associados a uma mesma porta. Nestes casos, o projetista da aplicao responsvel por definir e controlar o acesso porta usada conjuntamente pelos vrios processos. Alm disso, um determinado processo pode requisitar diversas portas ao sistema operacional.

Atribuio de portas
11 Reservada (0 1.023) 22 Atribudas a servios padronizados. 22 Acessadas apenas por processos privilegiados. 11 Registradas (1.024 49.151) 22 No so reservadas, mas apenas listadas para coordenar o uso para servios no padronizados. 22 Acessadas por quaisquer processos. 11 Dinmicas (49.152 65.535) 22 No possuem reserva, podendo ser usadas pelos clientes. 22 Acessadas por quaisquer processos. A atribuio dos nmeros de portas realizada pela IANA (Internet Assigned Numbers Authority), autoridade responsvel pela atribuio dos nmeros de portas reservadas e registradas.

Os nmeros das portas so divididos em trs faixas: portas reservadas ou conhecidas (0 at 1.023); portas registradas (1.024 at 49.151); e portas dinmicas (49.152 at 65.535). A lista completa de portas reservadas e registradas pode ser encontrada no catlogo de portas mantido pela IANA. portas reservadas so atribudas pela IANA aos servios mais utilizados. Em muitos w As sistemas, as portas reservadas somente podem ser manipuladas por processos do sistema ou por alguns processos privilegiados. As portas registradas no so atribudas, mas apenas listadas pela IANA para coordenar o uso delas pela comunidade para servios no padronizados. As portas dinmicas no possuem qualquer tipo de reserva e, na maioria dos casos, so usadas apenas pelos clientes. Em muitos sistemas, as portas registradas e dinmicas podem ser acessadas por qualquer processo no privilegiado.

Para identificar as portas reservadas e registradas, consulte: http://www.iana.org/ assignments/ port-numbers

Interface socket
11 Socket 22 Representao interna do sistema operacional para um ponto de comunicao. 11 Interface socket 22 Define a interface entre os processos de aplicao e as implementaes dos servios de transporte. 22 Originalmente proposta para sistemas Unix e linguagem C. 22 Amplamente adotada em diversas plataformas e linguagens.

339

Captulo 9 - Camada de aplicao

22 Um socket um ponto de comunicao: 33 Identificado pelos endpoints local e remoto. 33 Cada endpoint representado pelo par (endereo IP, porta). A arquitetura TCP/IP especifica o conjunto de protocolos, mas no define a interface de

interao entre os processos de aplicao e implementao dos protocolos no sistema operacional. Portanto, a interface de interao est fora do escopo das especificaes da famlia de protocolos TCP/IP. Apesar da falta de padronizao, avaliar um exemplo de interface de interao auxilia o entendimento do uso da arquitetura TCP/IP e do modelo cliente-servidor. A interface socket apenas um exemplo de interface de interao entre os processos de aplicao e implementao dos protocolos da arquitetura TCP/IP. Originalmente, a interface socket foi proposta para sistemas Unix e linguagem C . No entanto, esta interface tem sido amplamente adotada em diversas plataformas e linguagens de programao. Por exemplo, a interface Winsocket adotada em sistemas Windows. Em Java, as classes Socket, DatagramSocket e ServerSocket so oferecidas para permitir a comunicao atravs dos protocolos UDP e TCP. Neste captulo, a ttulo de exemplificao, adotaremos a interface socket proposta para sistemas Unix e linguagem C. importante ressaltar que o estudo da interface socket tem por objetivo apenas identificar as funcionalidades, no tratando de detalhes de uso das vrias funes. Assim, os parmetros de entrada e sada de cada uma das funes mencionadas no sero discutidos em detalhes, mas apenas citados. Antes de estudar as funes suportadas pela interface socket, vamos, primeiramente, entender como o sistema operacional identifica e gerencia os diversos sockets.
Linguagem C Linguagem de programao procedural utilizada para desenvolver as diversas famlias do sistema operacional Unix.

Estados de um socket
11 Socket ativo 22 Usado pelo cliente para enviar ativamente requisies de conexo ao servidor. 11 Socket passivo 22 Usado pelo servidor para aguardar passivamente por requisies de conexo. closed established

Figura 9.1 Estados de um socket ativo.


Arquitetura e Protocolos de Rede TCP-IP

Para os processos cliente e servidor, um socket representa apenas um ponto de comunicao. Internamente, o sistema operacional identifica o socket pelos endpoints local e remoto, cada um deles representado pelo par (endereo IP, porta). Considerando a interao cliente-servidor, um processo servidor deve abrir um socket e ficar passivamente aguardando requisies dos clientes. J o processo cliente deve abrir um socket e ativamente utiliz-lo, enviando uma requisio ao servidor. Diz-se que o servidor abre o socket no modo passivo, enquanto o cliente abre o socket no modo ativo.
Endpoint Identifica de forma individual e nica um ponto de comunicao em toda a inter-rede, sendo representado pelo endereo IP da estao e a porta associada ao respectivo processo de aplicao.

340

closed
Figura 9.2 Estados de um socket passivo.

listen

established

Internamente, o sistema operacional identifica e gerencia a interao entre o cliente e o servidor usando o respectivo socket, que, por sua vez, identifica seus endpoints local e remoto. No entanto, sockets UDP e TCP so gerenciados de forma diferente. 11 O protocolo UDP no adota o conceito de conexo. Assim, exceto quando a fila de transmisso e recepo da respectiva porta est cheia, um socket UDP est sempre pronto para enviar e receber dados. Ou seja, a qualquer momento, o processo local pode escrever ou receber dados. Desta forma, o sistema operacional no precisa definir dife rentes estados para sockets UDP. 11 J o protocolo TCP orientado conexo. Cada conexo identificada de forma nica
Socket UDP Socket que utiliza o protocolo UDP como mecanismo de transporte. Socket TCP Socket que utiliza o protocolo TCP como mecanismo de transporte. Socket ativo Socket utilizado pelo cliente para estabelecer uma conexo com um servidor. Socket passivo Socket utilizado pelo servidor para aguardar requisies dos clientes.

pelo par de endpoints associado ao socket. Ao contrrio de um socket UDP, que est sempre pronto para enviar e receber dados, um socket TCP deve, primeiramente, estabelecer uma conexo com a outra extremidade. Aps estabelecer a conexo, o processo local pode enviar e receber dados usando o socket TCP. Por fim, a conexo deve ser fechada, liberando o socket. Para sinalizar a situao atual da conexo, um socket TCP passa por vrios estados, onde os principais so: listen, established e closed. Todo socket TCP encontra-se inicialmente no estado closed. Vale ressaltar que existem estados intermedirios que no foram mencionados, para simplificar o entendimento. A figura 9.1 ilustra os estados de um socket TCP manipulado pelo cliente. Lembre-se de que o cliente cria o socket no modo ativo. Neste caso, aps a criao e configurao, o cliente imediatamente envia uma requisio de conexo para o servidor. Aps o estabelecimento da conexo, o socket do cliente passa do estado closed para o estado established. Por fim, quando a conexo fechada, o socket volta ao estado closed. No outro lado, o servidor cria o socket no modo passivo. A figura 9.2 ilustra os estados de um socket manipulado pelo servidor. Neste caso, aps a criao e configurao, o socket do servidor passa do estado closed para o estado listen, indicando que est passivamente aguardando por requisies de conexo. No estado listen, o servidor pode decidir fechar o socket por um motivo qualquer, levando-o ao estado closed. No entanto, na operao normal do servidor, aps receber e aceitar uma requisio de conexo, o socket passa do estado listen para o estado established. Por fim, quando a conexo fechada, o socket volta ao estado closed.
Captulo 9 - Camada de aplicao

Tratamento de endpoints
11 Endpoint local 11 Endpoint remoto

Como j sabemos, internamente o sistema operacional identifica o socket pelos endpoints local e remoto, cada um deles representado pelo par (endereo IP, porta). O sistema operacional adota um procedimento default para atribuir valores aos endpoints local e remoto, mas a interface socket prev a possibilidade dos processos especificarem os valores destes endpoints.

341

Endpoint local
Criado, por default, com o endereo IP especial 0.0.0.0 e uma porta arbitrria, selecionada pelo sistema operacional. Pode ser atribudo um endereo IP e uma porta especfica. 11 Endereo IP especfico deve ser evitado em sistemas multihomed, exceto por questes de segurana. 11 Servidor deve configurar uma porta especfica. 11 Cliente usa a porta selecionada pelo sistema operacional. Por default, o endpoint local de um socket UDP ou TCP identificado com o endereo IP especial 0.0.0.0 e uma porta qualquer disponvel, selecionada pelo prprio sistema operacional. O endereo 0.0.0.0 indica que datagramas UDP ou requisies de conexo TCP so aceitos quando transportados em datagramas IP destinados a qualquer endereo IP das interfaces de rede do sistema.

No entanto, o processo que est manipulando o socket UDP ou TCP pode especificar o ende reo IP e a porta do endpoint local. Quando um endpoint local possui um endereo IP especfico, os datagramas UDP ou segmentos TCP (destinados sua porta) somente so aceitos quando endereados quele endereo IP. O servidor deve configurar uma porta especfica e o cliente deve utilizar a porta selecionada pelo sistema operacional. Observe que, no caso de roteadores e estaes multihomed, que possuem mltiplos endereos IP, a associao de um endereo IP especfico ao endpoint local fora que datagramas UDP ou segmentos TCP somente possam ser aceitos quando destinados quele endereo IP. Desta forma, exceto por questes de segurana, geralmente deve-se evitar a associao de um endereo IP especfico ao endpoint local.

Endpoint remoto
Criado, por default, com o endereo IP especial 0.0.0.0 e a porta *. Pode ser atribudo um endereo IP e uma porta especfica. 11 Cliente UDP ou TCP deve especificar o endereo IP e a porta do servidor. 11 Servidor UDP pode configurar um endereo IP e uma porta especfica, devendo ser evitado em sistemas multihomed (exceto por questo de segurana). 11 Servidor TCP usa a associao default. Como mencionado, o sistema operacional tambm gerencia o endereo IP e a porta associada ao endpoint remoto de um socket. Por default, na criao de um socket UDP ou TCP,

internamente, o sistema operacional associa o endereo IP especial 0.0.0.0 e a porta * ao


Arquitetura e Protocolos de Rede TCP-IP

endpoint remoto, indicando, no servidor, que datagramas UDP ou requisies de conexo TCP so aceitos quando enviados de qualquer endereo IP e porta remota. A interface socket tambm prov mecanismos que permitem especificar o endereo IP e a porta do endpoint remoto. Antes de interagir com um servidor, o cliente UDP ou TCP deve associar o endereo IP e a porta do servidor ao endpoint remoto do seu socket. O servidor UDP pode atribuir um endereo IP e uma porta ao seu endpoint remoto. Neste caso, apenas os datagramas UDP enviados a partir daquele endereo IP e porta so aceitos. Novamente, exceto por questes de segurana, comumente, deve-se evitar a associao de um endereo

342

IP e uma porta especfica ao endpoint remoto do socket de um servidor UDP. Em geral, a interface socket no permite ao servidor TCP explicitamente associar um endereo IP e uma porta ao endpoint remoto de seu socket passivo. Portanto, os sockets passivos de servidores TCP usam a associao default.

Endpoints local e remoto


Vrios sockets podem utilizar o mesmo nmero de porta local, desde que seus respectivos endpoints local e remoto sejam diferentes.

> netstat uan Proto udp udp udp RecvQ 0 0 0 SendQ Local Address 0 0 0 192.168.1.33:161 192.168.1.65:161 0.0.0.0:161 Foreign Address 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* State

> netstat tan Proto tcp


Figura 9.3 Endpoints local e remoto.

RecvQ 0 0 0

SendQ 0 0 0

Local Address 192.168.1.65:25 192.168.1.129:25 0.0.0.0:25

Foreign Address 0.0.0.0:* 0.0.0.0:* 0.0.0.0:*

State LISTEN LISTEN LISTEN

tcp tcp

possvel que vrios sockets utilizem o mesmo nmero de porta local UDP ou TCP, desde que seus respectivos endpoints local e remoto possuam valores distintos. Por exemplo, o primeiro quadro da figura 9.3 mostra trs sockets UDP que utilizam a porta 161. Os dois primeiros somente aceitam datagramas UDP destinados aos endereos IP: 192.168.1.33 e 192.168.1.65. Por outro lado, datagramas UDP destinados a quaisquer outros endereos IP locais, diferentes de 192.168.1.33 e 192.168.1.65, sero repassados ao terceiro socket, que possui o endereo especial 0.0.0.0 associado ao endpoint local. Portanto, na demultiplexao, o endpoint local que possui o endereo especial 0.0.0.0 deve ser avaliado por ltimo. O mesmo comportamento tambm se aplica a sockets TCP. Por exemplo, o segundo quadro da mesma figura 9.3 mostra um exemplo de trs sockets TCP que utilizam a porta 25. Os dois primeiros somente aceitam requisies de conexo TCP destinadas ao endereo IP: 192.168.1.65 e 192.168.1.129. Por outro lado, requisies de conexo destinadas a quaisquer outros endereos IP locais, diferentes de 192.168.1.65 e 192.168.1.129, sero repassadas ao terceiro socket, que possui o endereo especial 0.0.0.0 associado ao endpoint local.

Implementao
Modelo de programao: 11 Explora chamadas ao sistema operacional. 11 Adota o modelo de arquivo baseado no paradigma abrir-ler-escrever-fechar.

Nos sistemas Unix, a interface socket explora o conceito de chamada ao sistema operacional (system call ), cuja ativao semelhante chamada de procedimento em linguagens de programao, onde argumentos so passados e resultados so retornados. A interface socket utiliza um modelo de programao bastante semelhante ao modelo adotado para mani-

343

Captulo 9 - Camada de aplicao

pular arquivos, baseado no paradigma abrir-ler-escrever-fechar, mecanismo utilizado pelos processos para ativar facilidades providas pelo ncleo (kernel) do sistema operacional. Neste modelo, inicialmente, o processo realiza uma chamada ao sistema operacional para criar e obter a permisso de uso de um determinado socket. Em seguida, aps configurar algumas caractersticas deste socket, o processo pode ler e escrever dados neste socket. Por fim, o processo realiza uma chamada ao sistema operacional para fechar o socket, indicando que no mais deseja utiliz-lo. Para permitir o uso da interface socket, os sistemas Unix proveem um conjunto de funes na linguagem C. As principais funes usadas pelos processos cliente e servidor so: 11 Socket cria novo socket. 11 Bind associa endereo IP e porta ao endpoint local do socket. 11 Listen indica que socket est pronto para receber conexo. 11 Accept bloqueia processo at chegada de conexo. 11 Connect estabelece conexo com endpoint remoto. 11 Read/Recvfrom l dados de um socket TCP/socket UDP. 11 Write/Sendto envia dados pelo socket TCP/socket UDP. Embora os processos cliente e servidor adotem a mesma interface socket, existem algumas diferenas na forma e tipo das funes utilizadas. Algumas destas funes so utilizadas tanto pelo cliente quanto pelo servidor. Por exemplo, a funo socket usada por ambos os processos para criar um novo socket. No entanto, existem funes exclusivamente utilizadas pelo cliente ou pelo servidor. Por exemplo, somente o processo cliente utiliza a funo connect, enquanto apenas o processo servidor utiliza a funo accept. Alm disso, dependendo do protocolo de transporte adotado pelo socket, algumas destas funes no so utilizadas ou podem ser opcionalmente utilizadas. Por exemplo, as funes connect e accept no precisam ser utilizadas em sockets UDP, enquanto so essenciais em sockets TCP. Consequentemente, embora a interface socket suporte ambos os protocolos de transporte, existem diferenas na implementao de clientes e servidores UDP e TCP. Considerando as diferentes possibilidades de uso das funes providas na interface socket, a seguir vamos discutir os modelos clssicos de implementao de clientes e servidores que adotam os protocolos UDP e TCP.

Clientes e servidores UDP


11 Baseados em datagramas.
Arquitetura e Protocolos de Rede TCP-IP

11 Mapeados sobre o protocolo UDP. 11 Bind associa a porta especfica ao endpoint local. 11 Endereo 0.0.0.0 reservado ao endpoint local. 11 Recvfrom processa as mensagens recebidas. 11 O servidor envia uma resposta com sendto.

344

Servidor UDP

socket

bind

recvfrom

sendto

close

Comunicao

socket

sendto

recvfrom

close

Cliente UDP
Figura 9.4 Modelo de implementao de clientes e servidores UDP.

A figura 9.4 mostra o modelo clssico de implementao de clientes e servidores UDP. Inicialmente, o cliente e o servidor criam e obtm a permisso de uso de seus respectivos sockets usando a funo socket. Como parmetro desta funo, os processos cliente e servidor informam que o socket deve adotar o servio de transporte baseado em datagramas. Internamente, o sistema operacional mapeia este servio para o protocolo UDP. Como resultado, a funo socket retorna o descritor do socket , que o identifica interna mente no sistema operacional. Lembre-se de que o servidor adota uma porta reservada e conhecida. No entanto, a funo socket no define o nmero da porta associada ao endpoint local do socket criado. Para tal, o servidor deve usar a funo bind, informando o endereo IP e o nmero da porta especfica que devem ser associados ao endpoint local do socket. Desta forma, mensagens destinadas ao endereo IP e porta do endpoint local so diretamente inseridas no buffer de recepo do respectivo socket. Vale ressaltar que o endereo IP associado ao endpoint local pode ser um endereo IP especfico ou o endereo especial 0.0.0.0. Conforme foi visto, geralmente o endereo especial 0.0.0.0 associado ao endpoint local. Como o cliente no previamente conhecido, o servidor no precisa definir o endpoint remoto do socket. Portanto, aps configurar o endpoint local (bind ), o servidor est pronto para receber e processar mensagens dos clientes. Para receber mensagens, o servidor utiliza a funo recvfrom. Quando uma mensagem recebida, a funo recvfrom retorna o contedo da mensagem, bem como a identificao do endpoint remoto do cliente que a enviou. Aps receber uma mensagem, o servidor processa a mensagem e envia a respectiva resposta usando a funo sendto, informando como parmetro o endpoint remoto do cliente, que foi previamente recebido atravs da funo recvfrom. Aps processar uma mensagem, o servidor volta a ativar a funo recvfrom para receber novas mensagens. No outro lado, logo aps criar o socket UDP, o cliente est pronto para enviar mensagens ao servidor. Para tal, o cliente deve conhecer o endpoint remoto do servidor, ou seja, o endereo IP e a porta do servidor. Para enviar mensagens, o cliente utiliza a funo sendto, informando o endpoint remoto do servidor. Em seguida, o cliente usa a funo recvfrom para receber a respectiva resposta do servidor. Lembre-se de que o cliente adota uma porta qualquer no reservada. Portanto, ao contrrio do servidor, o cliente no precisa usar a funo bind para associar um nmero de porta especfica ao endpoint local do socket criado. No cliente, a associao de uma porta arbitrria ao endpoint local transparentemente realizada pelo prprio sistema operacional durante a execuo da funo sendto. 345
Captulo 9 - Camada de aplicao

Aps interagir com o servidor, usando as funes sendto e recvfrom, o cliente fecha o socket com a funo close, e depois finaliza a sua execuo. Por outro lado, como as requisies dos vrios clientes devem ser continuamente processadas, o servidor raramente utiliza a funo close, exceto quando detecta alguma situao especial que requer a reinicializao do socket ou do prprio servidor.

Clientes e servidores TCP


11 Orientados conexo. 11 Baseados em circuitos virtuais. 11 Criam novo socket a cada nova requisio. A figura 9.5 mostra o modelo clssico de implementao de clientes e servidores TCP. Da mesma forma que clientes e servidores UDP, inicialmente, o cliente e o servidor TCP criam e obtm a permisso de uso de seus respectivos sockets usando a funo socket. No entanto, como parmetro desta funo, o cliente e o servidor informam que o socket deve adotar o servio de transporte orientado conexo. Internamente, o sistema opera-

cional mapeia este servio para o protocolo TCP. A funo socket retorna como resultado o descritor do socket, que o identifica internamente no sistema operacional.

Figura 9.5 Modelo de implementao de clientes e servidores TCP.

Servidor TCP

socket

bind

listen

accept

read

write

close

Sincronizao
socket connect

Comunicao
write read close

Cliente TCP
Como servidores UDP, servidores TCP tambm adotam uma porta reservada e conhecida. No entanto, como j sabemos, a funo socket no define o nmero da porta associada ao endpoint local do socket criado. De forma similar ao servidor UDP, o servidor TCP deve usar a funo bind, informando o endereo IP e o nmero da porta especfica que devem ser associados ao endpoint local do socket. O endereo IP associado ao endpoint local pode ser um endereo especfico ou o endereo especial 0.0.0.0. No entanto, geralmente, o endereo especial 0.0.0.0 associado ao endpoint local. Como o cliente no previamente conhecido,
Arquitetura e Protocolos de Rede TCP-IP

o servidor no precisa definir o endpoint remoto do socket. Neste ponto, o socket do servidor ainda se encontra no estado closed. Para indicar que est passivamente aguardando por requisies de conexo, o socket TCP deve estar no estado listen. Para tal, o servidor utiliza a funo listen, mudando o socket para o estado listen. A partir de ento, o socket est pronto para receber requisies de conexo. Desta forma, requisies de conexo destinadas ao endereo IP e porta do endpoint local so diretamente endereadas ao respectivo socket. Para aguardar por requisies de conexo, o servidor utiliza a funo accept, que bloqueia o processo servidor at a chegada de uma requisio de conexo. Quando uma requisio de conexo recebida, o sistema operacional cria um novo socket, e, em seguida, retorna

346

o descritor deste novo socket para o processo servidor. Neste ponto, o servidor possui dois sockets: o socket original e o novo socket. O socket original no modificado e, portanto, ainda se encontra no estado listen. O endpoint local aquele configurado com a funo bind, e o endpoint remoto no est definido. Por outro lado, o novo socket encontra-se no estado established, indicando que est conectado ao cliente. O endpoint local do novo socket possui o endereo IP e a porta do servidor. J o endpoint remoto do novo socket possui o endereo IP e a porta do cliente. O sistema operacional utiliza as informaes do segmento TCP e o respectivo datagrama IP, que transportaram a requisio de conexo, para configurar os endereos IP e os nmeros de portas dos endpoints local e remoto do novo socket. Logo, os endpoints local e remoto do novo socket possuem endereos IP e portas especficas. Neste estgio, o servidor est pronto para receber e processar mensagens do cliente. O servidor interage com o cliente usando o novo socket, enquanto o socket original usado apenas para aguardar novas requisies de outros clientes. importante ressaltar que existem diferentes formas do servidor usar estes dois sockets. Adiante vamos identificar e avaliar as principais formas. Para receber mensagens, o servidor utiliza a funo read no novo socket. Aps receber uma mensagem, o servidor processa a mensagem e envia a respectiva resposta via funo write no novo socket. Aps processar uma mensagem, o servidor volta a ativar a funo read no novo socket para receber outra mensagem do cliente. Vale ressaltar que, diferentemente das funes recvfrom e sendto, que explicitamente informam o endpoint remoto do socket, as funes read e write no informam o endpoint remoto, pois ele j foi previamente configurado pelo sistema operacional durante o estabe lecimento da conexo. Aps interagir com o cliente usando as funes read e write, o servidor fecha o novo socket atravs da funo close. Em seguida, como as requisies dos vrios clientes devem ser continuamente processadas, o servidor volta a ativar a funo accept no socket original. O servidor raramente utiliza a funo close no socket original, exceto quando detecta alguma situao especial que requer a reinicializao do socket ou do prprio servidor. No outro lado, aps criar o socket TCP usando a funo socket, o cliente deve ativamente estabelecer uma conexo com o servidor. Para tal, o cliente utiliza a funo connect, informando como parmetro o endereo IP e a porta especfica do endpoint remoto do servidor. Aps estabelecer a conexo, o sistema operacional altera o estado do socket ativo para established. Observe que as funes connect e accept representam um ponto de sincronizao entre o cliente e o servidor. Aps o estabelecimento da conexo, o socket do cliente possui endpoints local e remoto com reservada. Portanto, da mesma forma que o cliente UDP, o cliente TCP tambm no precisa usar a funo bind para associar um nmero de porta especfica ao endpoint local do socket criado. No cliente TCP, a associao de uma porta arbitrria ao endpoint local transparentemente realizada pelo prprio sistema operacional durante a execuo da funo connect. Neste ponto, o cliente est pronto para interagir com o servidor. Para enviar mensagens ao servidor, o cliente utiliza a funo write. Em seguida, o cliente usa a funo read para receber a respectiva resposta do servidor. Aps interagir com o servidor, usando as funes write e read, o cliente fecha o socket usando a funo close, e, posteriormente, finaliza a sua execuo.
Captulo 9 - Camada de aplicao

endereos IP e portas definidas. Lembre-se de que o cliente adota uma porta qualquer no

347

Em resumo, o processo servidor realiza as seguintes atividades: cria um socket TCP com a funo socket ; associa o endereo IP e o nmero da porta ao endpoint local com a funo bind; sinaliza que o socket est pronto para receber requisies de conexo com a funo listen; aguarda requisies de conexo com a funo accept ; interage com o cliente usando as funes read e write no novo socket; fecha o novo socket ao final da interao com o cliente usando a funo close; e, por fim, volta a aguardar requisies de conexo no socket original usando a funo accept. No outro lado, o processo cliente realiza as seguintes atividades: cria um socket TCP com a funo socket; estabelece uma conexo com o servidor usando a funo connect ; interage com o servidor usando as funes write e read; e, por fim, fecha o socket usando a funo close.

Servidores de aplicao
11 Servidor iterativo (single threaded) 22 Trata requisies de um nico cliente a cada instante. 22 Implementado como um nico processo. 11 Servidor concorrente (multi-threaded ) 22 Trata simultaneamente requisies de vrios clientes. 22 Implementado com vrios processos independentes. 22 Cada processo trata individualmente as requisies de um determinado cliente. Na maioria das vezes, os clientes iniciam a execuo, trocam mensagens com um nico

servidor e depois terminam a execuo. Por outro lado, geralmente, os servidores executam indefinidamente, enquanto o sistema est operacional, tratando as vrias requisies dos diversos clientes. Portanto, o projeto de servidores , geralmente, bem mais complexo que o projeto de clientes, requerendo, assim, um estudo mais detalhado das estratgias de projeto e implementao. Aps receber uma requisio de conexo atravs da funo accept, o servidor obtm o socket original, no estado listen, e o novo socket, que se encontra no estado established. Alm disso, sabemos que o servidor utiliza o novo socket para comunicar-se com o cliente e o socket original apenas para aguardar novas requisies de outros clientes. No entanto, dependendo da carga de requisies do servio e da carga de processamento destas requisies, a implementao do servidor pode ser estruturada adotando dois modelos diferentes de tratamento de requisies: o modelo iterativo e o modelo concorrente. Vale ressaltar que no existe uma categorizao para os clientes, pois eles no sabem se esto se comunicando com um servidor iterativo ou concorrente.
Arquitetura e Protocolos de Rede TCP-IP

Servidor iterativo
Adequado para servios com reduzida taxa de requisies e servios cujas requisies possuem baixa carga de processamento. No modelo iterativo, o servidor trata requisies de um nico cliente a cada instante. Neste modelo, o servidor implementado como um nico processo, que trata individualmente cada

requisio. Em funo disso, o modelo iterativo tambm denominado modelo single-threaded. A figura 9.6 ilustra a estrutura de um servidor iterativo. Nela, podemos identificar as funes que atuam no socket original e no novo socket, que retornado pela funo accept.

348

Servidor TCP

socket Socket original Novo socket


Figura 9.6 Tratamento de requisies: servidor iterativo.

bind

listen

accept

read

write

close

Como j sabemos, o processo servidor aguarda por requisies de conexo usando a funo accept. Aps receber uma requisio, o servidor interage com o cliente ativando as funes read e write no novo socket. Ao final desta interao, o servidor fecha o novo socket com a funo close. A seguir, o servidor reativa a funo accept no socket original e volta a aguardar pela prxima requisio de conexo. Observe que o servidor iterativo processa requisies de um nico cliente a cada instante. Considerando que um servidor iterativo atende um nico cliente por vez, o modelo iterativo adequado apenas para servios com taxa reduzida de requisies e servios cujas requisies possuem baixa carga de processamento. Desta forma, existe uma grande probabilidade de uma requisio no ser retardada ou descartada enquanto outra est sendo processada pelo servidor.

Servidor concorrente
Adequado para servios com elevada taxa de requisies e servios cujas requisies possuem alta carga de processamento.

Por outro lado, no modelo concorrente, o servidor trata requisies de vrios clientes simultaneamente. Neste modelo, o servidor implementado como vrios processos ou threads indepenFigura 9.7 Tratamento de requisies: servidor concorrente.

dentes, onde cada um deles responsvel por tratar individualmente as requisies de um determinado cliente. Em funo disso, o modelo concorrente tambm denominado modelo multi-threaded. A figura 9.7 ilustra a estrutura de um servidor concorrente.

Servidor TCP
read accept write close

socket

bind

listen

Socket original Novo socket

read

write

close

aguarda por requisies de conexo usando a funo accept. Entretanto, diferentemente do modelo iterativo, no modelo concorrente, o servidor cria um novo processo ou thread (escravo) aps a chegada de uma requisio de conexo. O mestre responsvel por tratar as novas requisies de conexo de outros clientes. Para tal, o mestre reativa a funo accept no socket original, que se encontra no estado listen. Por outro lado, o escravo responsvel por gerenciar a comunicao com o cliente que solicitou o estabelecimento da conexo. Para tal, o escravo interage com o cliente ativando as funes read e write no novo socket, que se encontra no estado established. Ao final desta interao, o escravo fecha o novo socket com a funo close, e, em seguida, finaliza sua execuo.

349

Captulo 9 - Camada de aplicao

Como no modelo iterativo, no modelo concorrente, o processo servidor (mestre) tambm

Observe que o mestre est sempre em execuo. Por outro lado, o escravo interage com um nico cliente e, em seguida, finaliza sua execuo. Seguindo este procedimento, em um dado momento, existe um nico processo mestre, que aguarda por requisies de conexo de outros clientes, e podem existir vrios processos escravos, que so responsveis por tratar as requisies dos seus respectivos clientes. Considerando que um servidor concorrente atende a diversos clientes de forma simultnea, o modelo concorrente adequado para servios com elevada taxa de requisies e servios cujas requisies possuem alta carga de processamento. A vantagem do servidor concorrente que ele ativa outros processos para tratar cada requisio. Portanto, cada cliente possui seu prprio servidor (processo ou thread ) dedicado e suas requisies so processadas concorrentemente.

Compartilhamento de portas
11 Socket do mestre: 22 Est sempre no estado listen. 22 Endpoint local possui o endereo especial 0.0.0.0 e a porta especfica do servidor. 22 Endpoint remoto possui o endereo especial 0.0.0.0 e a porta *. 11 Sockets dos escravos: 22 Esto sempre no estado established. 22 Endpoints locais possuem o endereo IP da estao e a porta especfica do servidor. 22 Endpoints remotos possuem os endereos IP e as portas dos respectivos clientes. 11 Servidor concorrente: 22 Existe um nico socket no estado listen. 33 Somente processa segmentos SYN. 22 Podem existir diversos sockets no estado established. 33 Somente processam segmentos de dados. 33 Endpoints local e remoto desses sockets devem ser diferentes.

Em um servidor concorrente, cada processo ou thread usa seu prprio socket. O socket do mestre est sempre no estado listen e, geralmente, seu endpoint local possui o endereo IP especial 0.0.0.0 e a porta especfica do servidor. Por outro lado, os sockets dos escravos encontram-se no estado established e seus endpoints locais possuem o endereo IP da estao e a porta especfica do servidor. Consequentemente, todos os sockets de um servidor concorrente possuem o mesmo nmero de porta. Alm disso, geralmente, todos os escravos de um servidor concorrente possuem o mesmo endpoint local.
Arquitetura e Protocolos de Rede TCP-IP

Embora possam existir vrios sockets cujos endpoints locais adotam o mesmo nmero de porta, o sistema operacional assegura que os endpoints remotos destes sockets so sempre diferentes. Em geral, o socket do mestre possui o endereo especial 0.0.0.0 e a porta * associada ao endpoint remoto, permitindo que o socket possa se conectar com qualquer cliente. Por outro lado, os sockets dos escravos possuem os endereos IP e os nmeros das portas dos seus respectivos clientes associados aos seus endpoints remotos. Em resumo, para uma determinada porta, pode existir apenas um nico socket no estado listen. No entanto, para esta mesma porta, podem existir diversos sockets no estado established, desde que seus respectivos endpoints local e remoto sejam distintos.

350

Vale ressaltar que, embora no seja usual, para uma determinada porta, tambm possvel existirem diversos sockets no estado listen, desde que cada um deles possua um diferente endereo IP associado ao endpoint local. Para cada segmento TCP recebido, a entidade TCP identifica os endpoints local e remoto. Se o segmento transporta uma requisio de conexo, a entidade TCP o encaminha ao respectivo socket no estado listen. Caso contrrio, se o segmento transporta dados, a entidade TCP o envia ao respectivo socket no estado established. Portanto, o socket no estado listen somente processa segmentos que transportam requisies de conexo. Por outro lado, os demais sockets no estado established somente recebem/enviam segmentos de dados. No exemplo da figura 9.8, ao receber um segmento SYN, cujos endpoints local e remoto so (150.1.20.1, 25) e (10.1.5.1, 62789), a entidade TCP o encaminha ao socket no estado listen. Por outro lado, ao receber um segmento TCP de dados, cujos endpoints local e remoto so (150.1.20.1, 25) e (200.50.2.10, 58461), a entidade TCP o entrega ao segundo socket no estado established, presente na figura 9.8.

> netstat tan Proto tcp tcp


Figura 9.8 Compartilhamento de portas.

RecvQ 0 0 0 0

SendQ 0 0 0 0

Local Address 0.0.0.0:25 150.1.20.1:25 150.1.20.1:25 150.1.20.1:25

Foreign Address 0.0.0.0:* 192.10.1.50:57568 200.50.2.10:58461 150.10.1.20:60496

State LISTEN ESTABLISHED ESTABLISHED ESTABLISHED

tcp tcp

Gerenciamento de conexes TCP


Fila de requisies: 11 Associada a sockets TCP no estado listen. 11 Armazena requisies de conexo que j foram aceitas pela entidade TCP. 22 Processamento da requisio realizado pela entidade TCP, e no pelo servidor. 22 Requisio presente na fila ainda no foi aceita pelo servidor. 22 Requisio somente aceita e removida da fila quando o servidor ativa a funo accept. 11 Possui capacidade fixa, mas pode ser configurada pelo servidor com a funo listen.

Mesmo em um servidor concorrente, quando a taxa de requisies de conexo demasiadamente elevada, diversas requisies de conexo podem ser recebidas enquanto o processo ou thread mestre est criando o processo ou thread escravo, ou o sistema operacional est escalonando o processador a outros processos de maior prioridade. Nestes casos, tais mente, concluiro que o servidor no est operacional. Para evitar estes casos, o sistema operacional implementa um mecanismo de tratamento de requisies de conexo, associando uma fila de requisies de conexo a cada socket TCP que se encontra no estado listen. Como o protocolo UDP no adota o conceito de conexo, a fila de requisies usada apenas para sockets TCP. A fila de requisies apenas armazena, temporariamente, as requisies de conexo que j foram aceitas pela entidade TCP, ou seja, o procedimento three-way handshake foi realizado com sucesso. Observe que, neste esquema, o processamento das requisies de conexo 351
Captulo 9 - Camada de aplicao

requisies de conexo no sero aceitas pelo servidor e os respectivos clientes, erronea-

realizado diretamente pela entidade TCP, residente no sistema operacional, e no pelo processo servidor. No entanto, as requisies presentes na fila ainda no foram aceitas pelo processo servidor. Uma requisio presente na fila somente aceita e removida da fila quando o processo servidor ativa a funo accept. A fila de requisies possui uma capacidade fixa, mas configurvel. O servidor pode especificar o tamanho da fila de requisies usando a funo listen. Vale ressaltar que o tamanho da fila de requisies no tem qualquer relao com o nmero mximo de conexes que podem ser simultaneamente estabelecidas pelo sistema, ou com o nmero de clientes que o servidor concorrente pode tratar simultaneamente. Quando uma requisio de conexo recebida e a fila de requisies est cheia, a requisio simplesmente ignorada e nenhum segmento de resposta devolvido. Desta forma, o cliente retransmite a requisio de conexo, e, eventualmente, esta retransmisso poder encontrar a fila de requisies com disponibilidade para aceitar novas requisies.

Multiplicidade de servios
11 Servidor de um nico servio: aguarda requisies de conexo em um nico socket, que possui uma nica porta associada ao endpoint local (implementao baseada na funo accept ). 11 Servidor de mltiplos servios: aguarda requisies de conexo em diversos sockets, que possuem diferentes portas associadas aos respectivos endpoints locais (implementao baseada na funo select ). Para reduzir o nmero de processos executando em um determinado sistema, e, assim, tornar mais eficiente o escalonamento de processos realizado pelo sistema operacional, a interface socket permite que um nico processo aguarde requisies de conexo em

diversos sockets simultaneamente. Desta forma, um nico processo servidor pode oferecer diversos servios. Em funo desta facilidade, podemos definir dois tipos de servidores: o servidor de um nico servio e o servidor de mltiplos servios. No primeiro caso, o processo servidor aguarda requisies de conexo em um nico socket, que possui uma nica porta associada ao endpoint local. No segundo caso, o processo servidor aguarda requisies de conexo em diversos sockets, onde em cada um deles o endpoint local est associado a uma porta diferente. A implementao de um servidor de um nico servio realizada usando a funo accept, como foi comentado. Para suportar a implementao de um servidor de mltiplos servios, a interface socket prov a funo select, que recebe como parmetro o conjunto de sockets,
Arquitetura e Protocolos de Rede TCP-IP

nos quais o servidor deve aguardar requisies de conexo. Em um servidor de mltiplos servios, inicialmente, o servidor cria todos os sockets desejados com a funo socket, ativa a funo bind em cada um destes sockets para configurar seus endpoints locais, sinaliza que estes sockets esto prontos para receber requisies de conexo com a funo listen, e, ento, ativa a funo select para aguardar por requisies de conexo em algum destes sockets.

352

Da mesma forma que a funo accept, a funo select bloqueia a execuo do servidor at que uma requisio de conexo seja recebida em alguma das portas associadas aos endpoints locais destes sockets. Aps receber uma requisio em algum destes sockets, o processo servidor adota um procedimento semelhante ao descrito para o servidor concorrente. Por exemplo, em sistemas Linux, o processo xinetd implementa um servidor de mltiplos servios. Na inicializao do sistema, este processo avalia um conjunto de arquivos de configurao que, por default, esto presentes no diretrio /etc/xinetd.d. Cada um destes arquivos descreve um servio que deve ser oferecido pelo xinetd, indicando, por exemplo, o nome do servio, o protocolo de transporte, a porta adotada pelo servio e o comando a ser executado para tratar cada requisio dos clientes.

353

Captulo 9 - Camada de aplicao

354

Arquitetura e Protocolos de Rede TCP-IP

Roteiro de Atividades 9
Atividade 9.1 Servios e portas
Um processo servidor negocia com o sistema operacional a possibilidade de abrir e usar uma determinada porta, que foi previamente reservada para o servio oferecido pelo servidor. Por sua vez, o sistema operacional deve assegurar que, quando um processo solicita a criao de uma determinada porta, somente esse processo estar associado quela porta. Considere que um determinado processo est oferecendo o servio X na porta Y, adotando o servio de datagramas da camada de transporte.
1. Outro processo, tambm adotando o servio de datagramas da camada de transporte,

pode oferecer o mesmo servio X em outra porta Z?

2. Outro processo, adotando o servio de circuito virtual da camada de transporte, pode

oferecer o mesmo servio X na mesma porta Y? Explique.

Atividade 9.2 Monitorando portas TCP


O administrador de rede de uma universidade, usando o comando netstat, est monitorando as conexes do servidor web, que usa a porta TCP 80.

> netstat tan Proto tcp tcp tcp tcp RecvQ 0 0 0 0 SendQ 0 0 0 0 Local Address 0.0.0.0:25 0.0.0.0:80 150.2.10.1:25 150.2.10.1:25 Foreign Address 0.0.0.0:* 0.0.0.0:* 150.50.1.20:57461 192.20.2.10:61296 State LISTEN LISTEN ESTABLISHED ESTABLISHED

1. Na primeira execuo do comando netstat, a sada obtida mostrada na figura anterior.

O servidor web est ativo? Existem clientes conectados neste servidor? Explique.

355

Captulo 9 - Roteiro de Atividades

2. Algum tempo depois, o administrador executou novamente o comando netstat, obtendo a

sada mostrada na figura abaixo. Existem clientes conectados nesse servidor? Explique.

> netstat tan Proto tcp tcp tcp tcp RecvQ 0 0 0 0 SendQ 0 0 0 0 Local Address 0.0.0.0:25 0.0.0.0:80 150.2.10.1:80 150.2.10.1:80 Foreign Address 0.0.0.0:* 0.0.0.0:* 192.10.1.1:55272 150.10.50.1:63127 State LISTEN LISTEN ESTABLISHED ESTABLISHED

Atividade 9.3 Portas TCP e UDP


O administrador de um determinado sistema foi recm-contratado e est tentando identificar os servios que esto sendo oferecidos em uma determinada estao. Para tal, ele executou o comando netstat, cuja sada mostrada na figura a seguir.

> netstat tuan Proto tcp tcp tcp tcp tcp tcp udp udp RecvQ 0 0 0 0 0 0 0 0 SendQ 0 0 0 0 0 0 0 0 Local Address 0.0.0.0:25 0.0.0.0:80 192.10.1.33:25 192.10.1.33:25 192.10.1.65:25 192.10.1.65:80 0.0.0.0:7 192.10.1.97:53 Foreign Address 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 200.20.1.1:55120 192.10.1.1:63472 State LISTEN LISTEN LISTEN ESTABLISHED ESTABLISHED

150.10.50.1:54387 ESTABLISHED 0.0.0.0:* 0.0.0.0:*

1. Quantos servidores esto em execuo nessa estao? Quais os protocolos de transporte

adotados por esses servidores?


Arquitetura e Protocolos de Rede TCP-IP

2. Identifique os sockets usados para aguardar requisies de conexo.

3. Quantos clientes esto conectados a cada servidor?

356

4. Identifique os sockets usados pelos servidores para interagir com seus respectivos clientes.

Atividade 9.4 Processamento de segmentos TCP


Um determinado sistema possui trs interfaces de rede, cujos endereos IP so: 192.10.1.33, 192.10.1.65 e 192.10.1.97. Considere que esse sistema possui os sockets TCP ilustrados na figura da atividade anterior.
1. Esse sistema recebeu um segmento SYN, cujas portas origem e destino so 56.267 e 25. Esse

segmento TCP foi transportado em um datagrama IP, cujos endereos origem e destino so 192.10.2.5 e 192.10.1.97. Para qual socket este segmento SYN ser encaminhado?

2. Considere que o endereo destino do datagrama IP do item anterior (item 1) 192.10.1.33.

Nesse caso, o segmento SYN ser encaminhado ao mesmo socket? Explique.

3. Esse sistema recebeu e aceitou outro segmento TCP, cujas portas de origem e destino so

63.472 e 25. Esse segmento TCP foi transportado em um datagrama IP, cujos endereos origem e destino so 192.10.1.1 e 192.10.1.65. Esse segmento TCP transporta dados ou uma requisio de conexo?

Atividade 9.5 Servidores iterativos e concorrentes


Usando o comando netstat, o administrador de um determinado sistema vem monitorando o uso de dois servidores TCP, cujas portas so X e Y. Em um nico caso, o administrador percebeu que a porta X estava sendo usada, simultaneamente, por cinco sockets, um deles no estado listen e os demais no estado established. Na porta Y, mesmo quando o administrador solicitou que clientes estabelecessem conexes simultneas com o servidor, o administrador percebeu que nunca existiram mais que dois sockets associados a essa porta, sendo um no estado listen e outro no estado established. Alm disso, o administrador tambm observou que um cliente somente atendido aps o outro fechar a conexo. Esses servidores so implementados como servidores iterativos ou concorrentes? Explique.
Captulo 9 - Roteiro de Atividades

357

358

Arquitetura e Protocolos de Rede TCP-IP

10
Protocolos de aplicao
objetivos
Descrever o servio de nomes (DNS), o servio de correio eletrnico (SMTP) e o servio web (HTTP).

conceitos

Protocolos da camada de aplicao e suas caratersticas , funcionalidades e componentes das principais aplicaes usadas na arquitetura TCP/IP.

Protocolos da camada de aplicao


Este captulo trata de protocolos da camada de aplicao, abordando as caractersticas, funcionalidades e componentes das principais aplicaes usadas na arquitetura TCP/IP: servio de nomes (DNS Domain Name System); servio de correio eletrnico (SMTP Simple Mail Transfer Protocol); e servio web (HTTP Hypertext Transfer Protocol). Usa os servios da camada de transporte para permitir a comunicao entre os processos de aplicao. 11 Servio de datagramas. 11 Servio de circuito virtual. Desenvolvedor de aplicao deve selecionar o servio de transporte a ser adotado. 11 Servio de aplicao sem conexo: adota o protocolo UDP. 11 Servio de aplicao com conexo: adota o protocolo TCP. Vamos conhecer um servio de aplicao que utiliza o servio de datagramas da camada de transporte, especificamente o protocolo UDP e dois servios de aplicao que utilizam o servio de circuito virtual, especificamente o protocolo TCP. Veremos as principais caracte rsticas dos servios de aplicao orientados e no orientados conexo. Sero estudadas as caractersticas, funcionalidades e componentes do servio de nomes (DNS Domain Name System), que utiliza o protocolo de transporte UDP, cujo principal objetivo traduzir nomes de estaes para endereos IP. A seguir estudaremos os servios de correio eletrnico (SMTP Simple Mail Transfer Protocol) e servio Web (HTTP Hypertext Transfer Protocol), que utilizam o protocolo de transporte TCP. Na arquitetura TCP/IP, a camada de aplicao usa os servios da camada de transporte para permitir a comunicao entre os processos de aplicao. Um processo de aplicao interage com um dos protocolos da camada de transporte para enviar e receber dados. 359
Captulo 10 - Protocolos de aplicao

No projeto de um servio de aplicao, uma das primeiras decises do desenvolvedor selecionar o servio de transporte a ser adotado. Como j sabemos, a camada de transporte oferece os servios de datagramas e de circuito virtual. No servio de datagramas, os processos se comunicam usando o protocolo UDP, que no orientado conexo e oferece um servio de transferncia de dados no confi vel. Neste caso, as mensagens geradas pelos processos de aplicao so encapsuladas em datagramas UDP independentes, compondo um conjunto de mensagens individuais, que podem no chegar ao destino ou chegar fora da sequncia original. Servios de aplicao que adotam o protocolo UDP so denominados servios sem conexo. Por outro lado, no servio de circuito virtual, os processos se comunicam usando o protocolo TCP, que orientado conexo e oferece um servio confivel de transferncia de dados. Neste caso, as mensagens geradas pelos processos de aplicao so encapsuladas em segmentos TCP, compondo um fluxo contnuo de dados que so entregues ao destino sem erros e em sequncia. Servios de aplicao que adotam o protocolo TCP so denominados servios com conexo. Vamos estudar um exemplo de servio de aplicao no orientado conexo, que, portanto, adota o protocolo UDP. Veremos tambm exemplos de servios de aplicao orientados conexo, que adotam o protocolo TCP.

DNS
11 Implementa o servio de nomes da arquitetura TCP/IP. 11 Implementado em um conjunto hierrquico e geograficamente distribudo de servi dores de nomes. 11 Prov um esquema para atribuir nomes s estaes. 11 Especifica um mecanismo de mapeamento automtico de nomes de estaes para seus respectivos endereos IP. 11 Esquema de atribuio de nomes. 22 Define a sintaxe dos nomes. 22 Define as regras de delegao de autoridade para gerenciamento de nomes. 11 Mecanismo de mapeamento. 22 Define uma base de dados distribuda que associa um determinado nome a um conjunto de atributos. 22 Adota um algoritmo de resoluo distribudo que mapeia nomes para seus atributos. 22 Especifica um protocolo de aplicao que viabiliza a resoluo de nomes.
Arquitetura e Protocolos de Rede TCP-IP

Datagramas IP adotam endereos IP para identificar as estaes origem e destino. Embora os endereos representem uma forma compacta de especificar as estaes comunicantes, os usurios preferem identific-las atravs de nomes. Consequentemente, para facilitar o uso dos diversos servios, a arquitetura TCP/IP deve prover um servio de nomes que permita a qualquer processo de aplicao obter o endereo IP de uma estao a partir do seu respectivo nome. Na arquitetura TCP/IP, o servio de nomes, denominado Domain Name System (DNS), prov um esquema para atribuir nomes nicos s estaes conectadas internet e especifica um mecanismo de mapeamento direto de nomes de estaes para seus respectivos endereos
Mapeamento direto Mapeamento automtico de um nome de estao para seu respectivo endereo IP.

360

IP. O servio de nomes da arquitetura TCP/IP especificado nos RFCs 1034 e 1035, sendo complementado por outro conjunto de RFCs.
Sintaxe de nomes Conjunto de regras que definem como os nomes DNS devem ser escritos Delegao de autoridade Processo no qual a responsabilidade do gerenciamento de nomes das vrias zonas delegada s diversas instituies conectadas, no existindo uma entidade central que gerencia todo o espao de nomes. Base de dados distribuda Repositrio de informaes que armazena dados em servidores geograficamente distribudos.

No DNS, o esquema de atribuio de nomes define a sintaxe dos nomes, bem como as regras para delegao de autoridade para gerenciamento de nomes. Por outro lado, o mecanismo de mapeamento suportado por uma base de dados distribuda, um algoritmo de resoluo distribudo e um protocolo de aplicao. A base de dados distribuda associa um determinado nome a um conjunto de atributos, por exemplo, o endereo IP. O algoritmo de resoluo realiza o mapeamento dos nomes para seus respectivos atributos, mantidos na base de dados. Por sua vez, o protocolo de aplicao DNS permite a comunicao de clientes e servidores de nomes com o objetivo de realizar a resoluo de nomes. O protocolo DNS utiliza a porta UDP 53. No entanto, como veremos, o DNS tambm utiliza a porta TCP 53 para alguns tipos de operaes. O DNS define um servio de nomes implementado em um conjunto hierrquico e geogra ficamente distribudo de servidores de nomes. Cada servidor de nomes um processo de aplicao que mantm sua prpria base de dados e permite que os clientes e outros processos de aplicao (locais ou remotos) possam consultar suas informaes. Nenhum servidor de nomes mantm todas as informaes do servio de nomes. Ao contrrio dos demais servios que, geralmente, so utilizados diretamente pelos usurios, o DNS fornece facilidades bsicas que so utilizadas de forma transparente pelos demais servios, para traduzir nomes de estaes para seus respectivos endereos IP. Por exemplo, quando o usurio informa a URL www.di.ufpb.br/index.html, antes de contatar o servidor web www.di.ufpb.br, o navegador (cliente) deve obter o endereo IP deste servidor. Para tal, o navegador simplesmente envia uma requisio ao servio de nomes, solicitando o endereo IP associado ao nome www.di.ufpb.br. Vale ressaltar que o DNS no realiza apenas o mapeamento do nome da estao para seu respectivo endereo IP, que apenas um tipo de atributo mantido na base de dados distri-

Mapeamento reverso Mapeamento do endereo IP para seu respectivo nome de estao.

buda. Por exemplo, o DNS tambm permite o mapeamento reverso do endereo IP para seu respectivo nome de estao. A seguir, vamos estudar os principais aspectos do DNS. No entanto, por ser um sistema de razovel complexidade, no sero apresentados detalhes de configurao dos servidores de nomes.

Hierarquia de nomes
Espao de nomes DNS hierrquico e tem o formato de uma rvore. 11 Notao utilizada: 22 A raiz da rvore . (root). 22 Os ns intermedirios so os domnios. 22 Cada n folha representa uma estao. 22 O nome de cada n uma sequncia de rtulos. 11 Os domnios podem ser: 22 Organizacionais. 22 Geogrficos. 22 ARPA.

q
Captulo 10 - Protocolos de aplicao

361

Raiz

arpa

com

edu

gov

int

mil

net

org

br

us

in-addr rnp 192 www 168 10


Figura 10.1 Espao de nomes.

ufpb

com

gov

www.rnp.br

65

65.10.168.192.in-addr.arpa

Como ilustrado na figura 10.1, o espao de nomes DNS possui uma organizao hierrquica. Cada n da rvore hierrquica tem um rtulo de at 63 caracteres. A raiz da rvore um n especial, cujo rtulo representado por um ponto (root raiz). Cada n intermedirio denominado um domnio. Cada n folha representa uma estao. O nome de um n (domnio ou estao) a sequncia de rtulos, separados por ponto, iniciando no prprio n e concluindo na raiz. Por exemplo, br e rnp.br so nomes de domnios, enquanto www.rnp.br um nome de estao. Vale ressaltar que, geralmente, a literatura TCP/IP adota o termo nome de domnio (domain name) para designar o nome de ambos os tipos de ns. Todos os ns devem possuir um nome de domnio nico. Desta forma, dois ou mais ns no devem ter o mesmo rtulo, quando associados ao mesmo n de nvel superior. No entanto, o mesmo rtulo pode ser usado por dois ou mais ns, desde que estejam associados a diferentes ns de nvel superior. Por exemplo, na figura 10.1, os ns que repre sentam os domnios com e com.br possuem os mesmos rtulos, mas esto associados a diferentes ns de nvel superior (raiz e br ). Um nome de domnio que termina com um ponto denomina-se nome de domnio absoluto. Por exemplo, www.rnp.br um nome de domnio absoluto. O servio DNS somente resolve nomes de domnio absolutos. Portanto, um nome de domnio incompleto, que no termina com um ponto, precisa ser completado para tornar-se um nome de domnio absoluto. A forma de completar nomes de domnios depende da implementao DNS adotada. Geralmente, um nome de domnio com dois ou mais rtulos j considerado um nome de domnio
Arquitetura e Protocolos de Rede TCP-IP

Nome de domnio Sequncia de rtulos, separados por ponto, iniciando no prprio n e concluindo na raiz.

absoluto pela maioria das implementaes, mesmo que no termine com um ponto. Por outro lado, um nome de domnio que possui um nico rtulo deve ser complementado com um sufixo, tornando-se um nome de domnio absoluto. Por exemplo, o nome www pode ser completado com o sufixo rnp.br, tornando-se o nome de domnio absoluto www.rnp.br. Conceitualmente, os domnios no nvel mais alto da rvore (imediatamente abaixo da raiz) so divididos em trs grupos: 11 Domnios organizacionais compostos por rtulos de trs ou mais caracteres que designam as reas de atuao das instituies, profissionais e indivduos: aero, coop, biz, com, edu, gov, info, int, mil, museum, name, net, org, pro.

362

11 Domnios geogrficos compostos por rtulos de dois caracteres que designam os cdigos dos pases: br, fr, uk, ... us. Padronizados pela norma ISO 3166. 11 Domnio arpa domnio especial usado para realizar o mapeamento reverso de endereos IP para nomes de estaes. Os domnios organizacionais, tambm denominados domnios genricos, so usados principalmente por instituies norte-americanas. J os domnios geogrficos so usados por instituies dos demais pases. No entanto, instituies que no so norte-americanas tambm podem usar os domnios organizacionais. Os nicos domnios organizacionais que so exclusivamente usados por instituies norte-americanas so os domnios gov e mil. Algumas instituies norte-americanas tambm usam o domnio geogrfico us. Os domnios no nvel mais alto da rvore tambm so conhecidos como Top Level Domain (TLD). Assim, o TLD de www.rnp.br br, enquanto o TLD de www.google.com com. Muitos pases criam subdomnios organizacionais locais no segundo nvel da hierarquia de nomes. Por exemplo, no Brasil, os domnios com.br e gov.br designam instituies comerciais e governamentais, respectivamente. No caso particular do Brasil, por razes histricas, os nomes de domnio de algumas instituies so definidos no segundo nvel da hierarquia. Por exemplo, os domnios rnp.br e ufpb.br so adotados pela Rede Nacional de Ensino e Pesquisa (RNP) e Universidade Federal da Paraba (UFPB), respectivamente. Na hierarquia de domnios, o domnio in-addr.arpa definido com o propsito de realizar o mapeamento reverso de endereos IP para os respectivos nomes de estaes. Para um dado endereo A.B.C.D, o domnio imediatamente inferior ao domnio in-addr.arpa deve ser o primeiro byte do endereo IP (A). Abaixo do domnio A, o prximo nvel o prximo byte (B), e assim por diante. Nomes de domnios so escritos do nvel mais baixo para o nvel mais alto. Portanto, o nome de domnio associado ao endereo A.B.C.D D.C.B.A.in-addr. arpa. Por exemplo, o nome de domnio associado ao endereo 192.168.10.65 65.10.168.192. in-addr.arpa, como mostrado na figura 10.1. Na prtica, o mapeamento reverso bastante explorado como mecanismo de segurana auxiliar. Por exemplo, alguns servios mantm arquivos de configurao que identificam os nomes das estaes autorizadas a utiliz-los. Neste caso, ao receber uma requisio, tais servios verificam se o endereo IP da estao requisitante pertence a uma estao autorizada.

Delegao de autoridade
11 A responsabilidade do gerenciamento dos nomes delegada s diversas instituies conectadas internet. 11 No existe uma autoridade central que gerencie todo o espao de nomes.

q
Captulo 10 - Protocolos de aplicao

11 Divide o espao de nomes em zonas. 11 Uma zona uma sub-rvore do espao de nomes. 11 Cada zona composta por seus domnios e estaes. 11 A delegao de autoridade distribuda entre as zonas. 11 Cada zona administrada por uma entidade autorizada. 11 A autoridade de uma zona tem autonomia para subdividi-la em subzonas menores. 11 A autoridade de uma zona pode delegar a autoridade das subzonas para diferentes entidades.

363

Sempre que ocorrem mudanas nas redes e estaes conectadas internet, a base de dados do servio DNS deve ser manualmente atualizada. Em funo da imensa quantidade de instituies conectadas internet, impossvel centralizar o gerenciamento de nomes em uma nica entidade. Desta forma, deve-se pensar em um esquema de delegao de autoridade, no qual a responsabilidade do gerenciamento de nomes delegada s diversas instituies conectadas, no existindo uma entidade central gerenciadora de todo o espao de nomes. Para tal, no DNS, o espao de nomes hierrquico subdividido em zonas. Conceitualmente, uma zona uma sub-rvore do espao de nomes hierrquico, sendo composta por seus domnios e estaes. A delegao de autoridade distribuda entre as vrias zonas. Desta forma, cada zona individualmente administrada por uma determinada entidade autorizada, responsvel pelo gerenciamento de seus nomes. A autoridade de uma zona tem autonomia para subdividi-la em subzonas menores. Alm disso, a autoridade de uma zona pode delegar a autoridade das subzonas a diferentes entidades. Por exemplo, a zona ufpb.br, delegada Universidade Federal da Paraba, pode ser subdividida em subzonas menores, que so delegadas aos vrios centros e departamentos. Neste caso, a autoridade da zona ufpb.br responsvel por administrar a criao e remoo de subdomnios de nvel imediatamente inferior, bem como atribuir nomes s estaes do domnio ufpb.br. Por sua vez, a autoridade de cada subzona, por exemplo di.ufpb.br, responsvel por administrar seus subdomnios de nvel inferior e suas respectivas estaes.
Zona Sub-rvore do espao de nomes hierrquico, composta por seus domnios e estaes.

Autoridade Raiz
11 ICANN / IANA 22 Administrao dos servidores raiz. 22 Delegam os diversos TLDs (Top Level Domain). 11 Autoridade br 22 NIC.br/Registro.br 22 Responsvel pelo .br e pelos domnios de 2o nvel. 33 com.br 33 edu.br 33 gov.br O controle da zona raiz exercido pela Internet Assigned Numbers Authority (IANA), que

por sua vez uma das entidades sob o controle da Internet Corporation for Assigned Names and Numbers (ICANN). A IANA responsvel pela administrao dos dados contidos nos chamados servidores raiz (root servers), que so um conjunto de servidores de nomes,
Arquitetura e Protocolos de Rede TCP-IP

espalhados geograficamente pelo mundo, que respondem pela zona raiz. Estes servidores delegam os diversos TLDs para os servidores de outras instituies responsveis por cada TLD. Por exemplo, o TLD br delegado para um conjunto de servidores operados pelo Ncleo de Informao e Coordenao do Ponto BR (NIC.br). O registro de domnios dentro do TLD br feito atravs do Registro.br, que o executor do NIC.br para registros de domnios. O Registro.br responsvel tambm pelos domnios de 2 nvel disponveis no Brasil, como .com.br, .edu.br, .gov.br, entre outros.

Consulta ao DNS
Cada nome de domnio est associado a um conjunto de atributos, e cada atributo defi nido por um registro de recurso (RR).

364

Como foi dito, DNS no realiza apenas o mapeamento de nomes de estaes para endereos IP. Na base de dados, cada nome de domnio est associado a um conjunto de atributos, cada
Registro de recurso Estrutura adotada pelo servio de nomes para realizar a associao de nomes de domnios a seus diferentes tipos de atributos.

um deles especificado atravs de um registro de recurso (RR Resource Record). Desta forma, para um dado nome de domnio, diferentes tipos de informaes podem ser solicitados. Existem cerca de 20 diferentes tipos de registros de recursos, dos quais alguns so obsoletos. Principais tipos de registros de recursos: 11 A associa o nome da estao ao respectivo endereo IP. 11 PTR associa o endereo IP ao respectivo nome da estao. 11 CNAME define um nome alternativo, ou apelido (alias), para o nome da estao. 11 HINFO indica o hardware e o sistema operacional da estao. 11 MX configura o roteamento de mensagens do servio de correio eletrnico. 11 NS define os servidores de nomes do domnio. Os registros A e PTR so usados para realizar os mapeamentos direto e reverso, respectivamente. O mapeamento direto realiza a resoluo de nomes de estaes para seus respectivos endereos IP. Por outro lado, o mapeamento reverso realiza a resoluo de endereos IP para os respectivos nomes das estaes. O registro CNAME bastante usado para identificar uma estao pelo tipo de servio oferecido. Por exemplo, a estao sol.rnp.br pode ter os nomes alternativos www.rnp.br e ftp.rnp.br, indicando que oferece os servios web e FTP. O DNS particularmente importante para o servio de correio eletrnico. O registro MX identifica o servidor de correio eletrnico que manipula as mensagens de um determinado nome de domnio, indicando onde os usurios daquele domnio recebem suas mensagens. Cada domnio pode possuir diversos registros MX, que so usados em uma ordem de preferncia, indicada por um nmero inteiro positivo. O registro NS utilizado para indicar o servidor de nomes de um domnio ou subdomnio. Um servidor de nomes que faa a delegao de um subdomnio utiliza o registro NS para indicar o servidor de nomes responsvel pelo subdomnio.

Resoluo de nomes Processo de traduo de um determinado nome para seu respectivo endereo IP.

Servidor de nomes
11 Processo de aplicao que prov os diferentes tipos de mapeamento. 11 Servidores esto geograficamente distribudos e cooperativamente realizam a resoluo de nomes. 11 O servidor de um domnio mantm informaes locais sobre os seus subdomnios e estaes. 11 O servidor de um domnio conhece todos os servidores de seus subdomnios imediatos. 11 Servidores formam uma rvore hierrquica, correspondendo ao espao de nomes hierrquico. Servidor de nomes (name server) um termo tambm utilizado para identificar a estao que

executa o processo servidor de nomes. Alm de definir as regras para sintaxe de nomes e delegao de autoridade, o DNS especifica um servio de resoluo de nomes distribudo baseado no modelo cliente-servidor. O servio DNS composto por um conjunto de servidores de nomes que esto geograficamente distribudos e realizam a resoluo de nomes de forma cooperativa.

365

Captulo 10 - Protocolos de aplicao

Um servidor de nomes um processo de aplicao que prov diferentes tipos de mapeamento. Uma vez que a autoridade de uma zona delegada, a entidade responsvel pela zona deve definir vrios servidores de nomes para a zona, provendo um mecanismo de tolerncia a falhas. O servidor de nomes de um determinado domnio mantm informaes locais sobre os seus subdomnios e estaes, conhecendo todos os servidores de nomes dos seus subdomnios imediatamente inferiores. Assim, os servidores do domnio raiz conhecem todos os servidores dos domnios de nvel mais alto, que, por sua vez, conhecem os servidores dos seus subdomnios, e assim por diante. Portanto, os servidores de nomes formam uma rvore hierrquica, correspondendo ao espao de nomes hierrquico.

Cliente (Resolver)
11 Processo de aplicao que acessa um ou mais servidores de nomes. 11 Implementado em bibliotecas de funo. 11 Torna-se parte do cdigo da aplicao.

Um cliente qualquer processo de aplicao que acessa um ou mais servidores de nomes. O cliente denominado resolver. Em sistemas Unix, o resolver implementado e acessado atravs de bibliotecas de funes, includas no cdigo da aplicao no processo de compilao ou carregadas dinamicamente em tempo de execuo. Desta forma, o resolver torna-se parte do cdigo da aplicao. O resolver envia requisies de mapeamento a um ou mais servidores de nomes para, por exemplo, obter o endereo IP de uma estao a partir do seu respectivo nome ou identificar o servidor de correio eletrnico de um dado domnio.

Servidor Bind
Bind a implementao mais adotada em sistemas Unix. 11 Servidor de nomes denominado named. 11 Cliente configurado no arquivo /etc/resolv.conf. nameserver 192.168.10.65 nameserver 150.10.1.1 domain rnp.br Em sistemas Unix, a implementao DNS mais adotada denominada Berkeley Internet Name Domain (BIND), cujo servidor denominado named. Em sistemas Linux, o arquivo /etc/resolv.conf indica como o resolver deve se comportar. A primitiva nameserver indica o
Arquitetura e Protocolos de Rede TCP-IP

endereo IP do servidor de nomes que deve ser acessado. At trs primitivas nameserver podem ser includas, indicando diferentes servidores de nomes que podem ser acessados em caso de falha. A primitiva domain especifica o domnio default que automaticamente acrescentado a qualquer nome incompleto, ou seja, no termina com um ponto. Por exemplo, se o usurio informa apenas o nome www, o resolver acrescenta o sufixo rnp.br, e, em seguida, requisita ao servidor de nomes a resoluo do nome absoluto www.rnp.br.

Servidor primrio e secundrio


11 Servidor primrio (servidor mestre) 22 Mantm arquivos de configurao local com informaes da zona em que possui autoridade.

366

22 Arquivos de configurao so criados e mantidos pelo administrador. 11 Servidor secundrio (servidor escravo) 22 Mantm uma cpia das informaes das zonas em que possui autoridade. 22 Informaes so diretamente obtidas do servidor primrio (transferncia de zona) 22 Cada zona deve possuir um nico servidor primrio e, preferencialmente, um ou mais servidores secundrios. 33 Devem ser independentes. 33 Devem estar localizados em diferentes segmentos fsicos ou instituies. 11 Um determinado servidor pode ser primrio ou secundrio de diversas zonas. Existem dois tipos de servidores de nomes: primrio e secundrio. O servidor primrio, tambm denominado servidor mestre, mantm as informaes sobre a zona sobre a qual possui autoridade em arquivos de configurao local. Estes arquivos de configurao so criados e mantidos pelo administrador do domnio. O servidor secundrio, tambm deno-

minado servidor escravo, apenas mantm uma cpia das informaes da zona sobre a qual possui autoridade. Estas informaes so obtidas diretamente do servidor primrio. Aps qualquer modificao nos arquivos de configurao da zona, o administrador deve solicitar que o servidor primrio releia os arquivos de configurao. Em seguida, o servidor primrio envia notificaes de atualizao aos servidores secundrios. Alm disso, periodicamente, em intervalos configurados pelo administrador, o servidor secundrio consulta o servidor primrio para verificar se ocorreu alguma atualizao nas informaes da zona. O processo de transferncia das informaes do servidor primrio para o servidor secundrio denominado transferncia de zona (zone transfer ). Na operao de transferncia de zona, os servidores de nomes envolvidos adotam a porta TCP 53. Existe um nico servidor primrio para cada zona. No entanto, um determinado servidor de nomes pode ser o servidor primrio ou secundrio de diversas zonas. O administrador responsvel pelo gerenciamento de uma zona deve configurar um servidor primrio e, preferencialmente, um ou mais servidores secundrios. Uma determinada zona pode no possuir servidores secundrios. No entanto, para tornar o sistema menos susceptvel a falhas, o administrador deve configurar pelo menos um servidor secundrio. Os servidores primrio e secundrio devem ser independentes e estarem localizados em diferentes segmentos fsicos da inter-rede ou, preferencialmente, em diferentes instituies, de modo que a disponibilidade do servio de nomes para a zona no afetada por uma falha em um destes servidores, ou mesmo por uma falha na conexo da instituio com a internet.

Requisies iterativa e recursiva


11 Iterativa 22 Servidor utiliza apenas suas informaes locais para resolver a requisio. 22 Resposta contm informaes auxiliares que identificam os servidores com autoridade no domnio de nvel mais inferior. 11 Recursiva 22 Servidor utiliza suas informaes locais e, caso necessrio, envia requisies a outros servidores para resolver a requisio. 22 Resposta contm as informaes requisitadas.

367

Captulo 10 - Protocolos de aplicao

Existem dois tipos de requisies: iterativa e recursiva. Em uma requisio iterativa, tambm denominada no recursiva, o servidor de nomes utiliza apenas suas informaes locais para resolver a requisio. Se o servidor de nomes possui as informaes solicitadas, ele retorna estas informaes para o cliente. Caso contrrio, retorna apenas informaes auxiliares que permitem ao cliente prosseguir no processo de resoluo da requisio. Geralmente, estas informaes auxiliares identificam os servidores de nomes com autoridade no domnio de nvel mais inferior, que devem ser contatados para resolver a requisio. Por exemplo, quando um servidor de nomes com autoridade no domnio ufpb.br recebe uma requisio iterativa para resolver o nome www.di.ufpb.br, ele retorna uma resposta que apenas identifica os servidores de nomes com autoridade no domnio di.ufpb.br. Desta forma, a entidade requisitante pode contatar um destes servidores de nomes do domnio di.ufpb.br para resolver o nome www.di.ufpb.br. Por outro lado, em uma requisio recursiva, o servidor de nomes utiliza suas informaes locais e, caso necessrio, envia requisies iterativas para outros servidores de nomes para resolver o nome requisitado pelo cliente. Observe que, ao receber uma requisio recursiva, o servidor de nomes requisitado torna-se um cliente de outros servidores de nomes. Aps resolver o nome requisitado, o servidor de nomes, que foi inicialmente requisitado, retorna a informao solicitada na requisio do cliente. Desta forma, uma requisio recursiva define um processo distribudo de resoluo de requisies, que ser detalhado adiante. Geralmente, a maioria dos servidores suporta requisies recursivas. No entanto, os servidores do domnio raiz, tambm denominados servidores raiz, suportam apenas requisies iterativas.

Tipos de servidores
11 Autoritativo 22 Responde autoritativamente por um domnio. 11 Recursivo 22 Recebe requisies recursivas e envia requisies iterativas para descobrir a resposta. 11 Forwarder 22 Recebe requisies recursivas e as repassa para um servidor recursivo. Um servidor de nomes pode ser classificado tambm de acordo com o tipo de requisio

que capaz de atender. Um servidor de nomes que autoridade de um ou mais domnios, e que responde a requisies sobre este(s) domnio(s), chamado de autoritativo. J um servidor de nomes que recebe requisies recursivas, usualmente originadas de estaes de
Arquitetura e Protocolos de Rede TCP-IP

trabalho, e utiliza requisies iterativas para obter a resposta, chamado de recursivo. Na prtica, um servidor de nomes pode ser autoritativo e recursivo ao mesmo tempo. No entanto, os servidores do domnio raiz so apenas autoritativos e suportam apenas requisies iterativas. Um terceiro tipo de servidor de nomes o forwarder. Usualmente encontrado em roteadores ADSL/wireless, esse tipo de servidor recebe requisies das estaes de trabalho e as repassa para um servidor recursivo. Aps obter a resposta do servidor recursivo, ele a repassa estao que o solicitou.

368

Tipos de respostas
11 Com autoridade 22 Gerada por servidores que possuem autoridade no domnio do nome resolvido. 22 Resposta bastante confivel, mas pode estar incorreta. 11 Sem autoridade 22 Gerada por servidores que no possuem autoridade no domnio do nome resolvido. 22 Resposta no to confivel, pois as informaes podem ter sido modificadas. Um servidor pode retornar dois tipos de respostas: com autoridade (authoritative) e sem autoridade (non-authoritative). A resposta com autoridade somente gerada por um ser-

vidor de nomes que possui autoridade sobre o domnio, ao qual pertence o nome que deve ser resolvido. Desta forma, a resposta com autoridade somente pode ser fornecida pelo servidor primrio ou pelos servidores secundrios do domnio. Neste caso, a resposta retornada bastante confivel. No entanto, eventualmente, se um servidor secundrio ainda no est sincronizado com o servidor primrio, existe a possibilidade da resposta fornecida por um servidor secundrio ser incorreta. A resposta sem autoridade gerada por um servidor de nomes que no possui autoridade sobre o domnio, ao qual o nome que deve ser resolvido pertence. A resposta sem autoridade fornecida por servidores de nomes que mantm em cache local as informaes sobre o nome que deve ser resolvido. Neste caso, a resposta retornada no to confivel, pois as informaes do domnio podem ter sido modificadas.

Mecanismo de cache
11 Cada servidor mantm uma cache de resoluo de nomes. 11 Cache armazena todas as respostas mais recentes. 22 Reduz o trfego DNS. 22 Torna eficiente a resoluo de nomes. 11 Resposta fornecida a partir da cache sem autoridade. 11 Resposta indica os servidores com autoridade no respectivo domnio. 11 Cada entrada da cache possui um tempo de vida (Time to Live). 22 Tempo de vida de cada entrada configurado pela entidade com autoridade no respectivo domnio. 11 Cada resposta sinaliza seu tempo de vida na cache. 11 Entrada automaticamente removida da cache quando o seu tempo de vida expira. Para reduzir o trfego DNS na internet, os servidores de nomes adotam um mecanismo
Cache Mecanismo de armazenamento temporrio de informaes, cujas entradas so automaticamente removidas aps um intervalo de tempo.

de cache. Cada servidor mantm uma cache de resoluo de nomes que armazena todas as respostas associadas aos nomes que foram recentemente resolvidos. Sempre que um servidor de nomes resolve um determinado nome, ele mantm as respectivas informaes em memria. Desta forma, novas requisies para aquele mesmo nome podem usar as informaes em cache. Este mecanismo reduz o trfego DNS na internet, pois consultas adicionais a outros servidores de nomes no so necessrias. Para cada nome resolvido, a cache mantm as prprias informaes associadas ao nome. Alm disso, a cache tambm armazena informaes sobre a origem das respectivas respostas. Quando um cliente solicita a resoluo de um dado nome, primeiramente, o servidor

369

Captulo 10 - Protocolos de aplicao

de nomes verifica se tem autoridade para aquele nome. Em caso afirmativo, ele retorna uma resposta com autoridade. Caso contrrio, o servidor de nomes verifica se a cache possui o mapeamento requisitado pelo cliente. Caso afirmativo, o servidor de nomes retorna uma resposta sem autoridade, que tambm inclui a lista de servidores com autoridade para aquele domnio. O mecanismo de cache bastante eficiente no DNS porque os registros de recursos de um determinado domnio no mudam frequentemente. No entanto, se as informaes na cache so mantidas indefinidamente, existe uma razovel probabilidade destas informaes se tornarem incorretas, pois as informaes de um domnio podem ser modificadas pela enti dade com autoridade. Para manter a consistncia das informaes na cache, os servidores de nomes associam um tempo de vida (Time to Live) a cada entrada da cache. Aps expirar este intervalo de tempo, a entrada automaticamente removida da cache. Os tempos de vida no so idnticos para todas as entradas da cache. O tempo de vida de cada entrada configurado pela entidade com autoridade no respectivo domnio, pois esta entidade possui condies de indicar o tempo de validade das informaes. Nas respostas, os servidores de nomes informam o tempo de vida da resposta, especificando o nmero de segundos que a entrada pode permanecer na cache.

Processamento de requisies
11 Processo distribudo de resoluo de requisies. 11 Servidores de nomes usam arquivos de configurao. 11 Exemplo de processamento de requisies DNS. Como j sabemos, o DNS adota um processo distribudo de resoluo de requisies. Para assegurar a correta resoluo de requisies, todo cliente (resolver ) deve conhecer um ou mais servidores de nomes. No entanto, os servidores de nomes no conhecem todos os

outros servidores. Todo servidor de nomes conhece os endereos dos servidores raiz. Alm disso, um servidor de nomes de um determinado domnio conhece os servidores de nomes de todos os seus subdomnios de nvel imediatamente inferior. Estas informaes so includas nos arquivos de configurao dos servidores de nomes. A figura 10.2 ilustra um exemplo completo do processamento de uma requisio, no qual as requisies e respostas so mostradas usando a sintaxe do comando tcpdump. 2A? www.rnp.br a.root-servers.net
Arquitetura e Protocolos de Rede TCP-IP

2- 0/5/5 1+ A? www.rnp.br Resolver 1 2/4/0 Name server 3A? www.rnp.br a.dns.br 3- 0/4/4 4A? www.rnp.br 4*- 2/4/4

lua.na-df.rnp.br

Figura 10.2 Processamento de requisies DNS.

370

Inicialmente, o cliente (resolver ) envia uma requisio recursiva para o servidor de nomes local (name server ), solicitando o endereo IP (A?) associado ao nome www.rnp.br. Nesta requisio, o termo 1+ identifica o nmero da requisio (1) e indica que ela recursiva (+). Aps receber a requisio recursiva, o servidor de nomes local verifica se j existe uma entrada na cache com este mapeamento. Caso afirmativo, o servidor local retorna uma resposta sem autoridade para o cliente. No entanto, vamos considerar que o servidor local no possui esta informao em cache. Neste caso, o servidor local envia uma requisio iterativa para um servidor raiz (a.root-servers.net ), tambm solicitando o endereo IP (A?) associado ao nome www.rnp.br. Nesta requisio, o termo 2 identifica o nmero da requisio. A ausncia do termo + indica que a requisio iterativa. Ao receber a requisio iterativa 2, o servidor raiz a.root-servers.net retorna uma resposta que contm os nomes e os respectivos endereos IP dos servidores de nomes do domnio br. Nesta resposta, o termo 2- identifica o nmero da resposta (2) e indica que o servidor raiz no suporta requisies recursivas (-). O termo 0/5/5 indica que a resposta no contm o endereo IP requisitado (0), mas contm cinco registros de autoridade (5) e cinco registros auxiliares (5). Os registros de autoridade identificam os nomes dos cinco servi dores com autoridade no domnio br. Em complemento, os registros auxiliares identificam os endereos IP destes cinco servidores. Neste ponto, o servidor de nomes local envia uma nova requisio iterativa para um dos servidores do domnio br, tambm solicitando o endereo IP (A?) associado ao nome www.rnp.br. Neste exemplo, estamos assumindo que o servidor local envia a requisio ao servidor a.dns.br. Nesta requisio, o termo 3 identifica o nmero da requisio. Novamente, a ausncia do termo + indica que a requisio iterativa. Ao receber a requisio iterativa 3, o servidor a.dns.br retorna uma resposta que contm os nomes e os respectivos endereos IP dos servidores de nomes do domnio rnp.br. Nesta resposta, o termo 3- identifica o nmero da resposta (3) e indica que o servidor a.dns.br tambm no suporta requisies recursivas (-). O termo 0/4/4 indica que a resposta no contm o endereo IP da estao www.rnp.br (0), mas contm quatro registros de autoridade (4) e quatro registros auxiliares (4). Os registros de autoridade identificam os nomes dos quatro servidores com autoridade no domnio rnp.br. Alm disso, os registros auxiliares identificam os endereos IP destes quatro servidores. Conhecendo os endereos dos servidores do domnio rnp.br, o servidor de nomes local envia uma nova requisio iterativa para um dos servidores do domnio rnp.br, tambm solicitando o endereo IP (A?) associado ao nome www.rnp.br. Neste exemplo, estamos assumindo que o servidor local envia a requisio iterativa 4 ao servidor lua.na-df.rnp.br. Ao receber a requisio iterativa 4, o servidor lua.na-df.rnp.br retorna uma resposta com autoridade (*) que contm os endereos IP da estao www.rnp.br. O termo 2/4/4 indica que a resposta contm dois registros de resposta (2), quatro registros de autoridade (4) e quatro registros auxiliares (4). Os dois registros de resposta contm os endereos IP da estao www.rnp.br. Em complemento, os registros de autoridade e auxiliares sinalizam os nomes e os endereos IP dos servidores com autoridade no domnio rnp.br. Aps obter os endereos IP da estao www.rnp.br, o servidor local armazena esta informao na cache, e, em seguida, retorna para o cliente a resposta sem autoridade que contm os endereos IP da estao www.rnp.br, tambm indicando os nomes dos quatro servidores com autoridade no domnio rnp.br. 371
Captulo 10 - Protocolos de aplicao

Como pode ser observado no exemplo, o servidor de nomes local envia requisies aos servidores de todos os domnios superiores. No entanto, na maioria dos casos, no necessrio enviar requisies aos servidores de todos os domnios superiores, pois bastante comum um servidor de nomes ter autoridade sobre diversos domnios. Por exemplo, um nico servidor de nomes pode conter informaes sobre os domnios br e rnp.br, eliminando assim uma ou mais consultas remotas. Alm disso, considerando que o servidor de nomes local mantm uma cache com as informaes das respostas mais recentes, existe uma razovel probabilidade das requisies serem resolvidas localmente com as informaes da cache.

SMTP
Simple Mail Transfer Protocol (SMTP) implementa o servio de correio eletrnico da arquitetura TCP/IP.

O servio de correio eletrnico uma das aplicaes mais populares na internet. O servio de correio padronizado nos RFCs 821 e 822, que especificam o protocolo Simple Mail Transfer Protocol (SMTP) e o formato das mensagens.

Componentes
11 Agente usurio 22 Programa usado pelo usurio para ler, compor e enviar mensagens. 22 Usado pelo usurio remetente e destinatrio. 22 Tambm denominado leitor de correio. 11 Servidor de correio 22 Realiza o roteamento de mensagens. 22 Configurado pelo administrador de domnio. 22 Tambm denominado agente de transferncia de mensagens. 11 Caixa de mensagens (mailbox) 22 Mantm as mensagens enviadas aos respectivos usurios. 22 Cada usurio possui uma caixa de mensagens. 22 Viabiliza o modelo de comunicao assncrona. 11 Fila de mensagens 22 Armazena temporariamente as mensagens at que seja possvel entreg-las. 22 Adota a tcnica de spooling para tratar falhas temporrias nos servidores de correio.
Arquitetura e Protocolos de Rede TCP-IP

Remetente

Fila de mensagens

Fila de mensagens

Destinatrio

Agente usurio

SMTP

Servidor de correio

SMTP

Servidor de correio

POP3 IMAP

Agente usurio

Caixa de mensagens

Caixa de mensagens

Figura 10.3 Servio de correio eletrnico (SMTP).

372

Como mostrado na figura 10.3, o servio de correio eletrnico envolve dois tipos de compo nentes: o agente usurio e o servidor de correio. O agente usurio (UA User Agent), comumente denominado leitor de correio, o programa usado pelo usurio para ler, compor e enviar mensagens. Assim, o agente utilizado, tanto pelo usurio remetente, quanto pelo usurio destinatrio. Como exemplos de agentes, podemos citar: pine, elm, Thunderbird e Microsoft Outlook. Os usurios escolhem o agente mais adequado s suas necessidades. O servidor de correio, tambm denominado Agente de Transferncia de Mensagens (MTA Message Transfer Agent), responsvel pelo roteamento de mensagens na internet. O servidor de correio mais usado em sistemas Linux o sendmail. Os usurios no usam diretamente o servidor de correio. responsabilidade do administrador configurar o servidor de correio de um determinado domnio. O servio de correio eletrnico suporta um modelo de comunicao assncrona, que no requer que o usurio esteja conectado para que mensagens possam ser enviadas para ele. Para tal, no servidor de correio de um determinado domnio, cada usurio do domnio possui uma caixa de mensagens (mailbox), tambm denominada caixa postal. A caixa de mensagens de um determinado usurio mantm as mensagens enviadas ao usurio. Alm disso, o servio de correio eletrnico adota a tcnica de spooling para tratar de falhas temporrias nos servidores. Nesta tcnica, cada servidor mantm uma fila de mensagens (spool ), que armazena temporariamente as mensagens at que seja possvel entreg-las.

Protocolo SMTP
11 Protocolo de aplicao do servio de correio eletrnico da arquitetura TCP/IP. 11 Define um conjunto de comandos e respostas. 11 Especificado no RFC 821. 11 Utiliza a porta TCP 25. 11 Adotado para transportar as mensagens nos seguintes estgios: 22 Agente e servidor de correio do usurio remetente. 22 Servidores de correio dos usurios remetente e destinatrio. O SMTP o protocolo de aplicao do servio de correio eletrnico. O SMTP utiliza a porta TCP 25. O SMTP define como as mensagens so enviadas. Na maioria dos casos, como

mostra a figura 10.3, o envio de uma mensagem envolve os agentes do usurio remetente e do destinatrio, como tambm seus respectivos servidores de correio.

Envio de mensagem
11 Agente do usurio remetente envia a mensagem para o servidor do remetente. 11 Servidor do remetente armazena a mensagem na fila. 11 Servidor do remetente envia a mensagem para o servidor do destinatrio. 22 Consulta o DNS, solicitando os registros MX associados ao domnio do usurio destinatrio. 22 Em caso de falha, servidor do remetente mantm a mensagem na fila e tenta reenviar. 11 Servidor do destinatrio armazena a mensagem na respectiva caixa de mensagens. Quando o usurio solicita o envio de uma mensagem, inicialmente, usando o protocolo

q
Captulo 10 - Protocolos de aplicao

SMTP, o agente do usurio remetente envia a mensagem ao servidor de correio do usurio

373

remetente. Aps receber a mensagem, o servidor do usurio remetente armazena a mensagem na fila, e, imediatamente, tenta entreg-la ao servidor do usurio destinatrio. Para entregar a mensagem, primeiramente, o servidor do usurio remetente deve descobrir o servidor do usurio destinatrio. Para isso, o servidor do usurio remetente consulta o servio de nomes (DNS), solicitando os registros MX associados ao domnio do usurio destinatrio. Por exemplo, se o endereo do usurio destinatrio gledson@di.ufpb.br, o servidor do usurio remetente solicita ao servio de nomes os registros MX associados ao domnio di.ufpb.br. Caso existam diversos registros MX, o registro que possui o menor valor de preferncia selecionado. Aps descobrir o endereo do servidor do usurio destinatrio, usando o protocolo SMTP, o servidor do usurio remetente envia a mensagem para o servidor do usurio destinatrio. Se no possvel realizar a entrega a algum servidor do usurio destinatrio, o servidor do usurio remetente mantm a mensagem na fila e tenta enviar posteriormente em intervalos configurados pelo administrador. A especificao recomenda um tempo de espera de 30 minutos entre cada tentativa e um tempo de espera total de 4 ou 5 dias. Se a mensagem no entregue dentro do tempo de espera total, que tambm pode ser configurado pelo administrador, o servidor do usurio remetente remove a mensagem da fila e notifica o usurio remetente enviando uma mensagem para a sua caixa de correio. Ao receber a mensagem, o servidor do usurio destinatrio armazena a mensagem na caixa de mensagens do usurio. Por fim, quando o usurio destinatrio deseja ler a mensagem, usando um agente usurio, ele acessa a mensagem armazenada em sua caixa de mensagens.

Leitura de mensagem
Agente do usurio recupera mensagens da caixa de mensagens do servidor de correio do usurio. 11 Acesso direto 22 Agente usurio executa na mesma estao em que reside o arquivo que contm a caixa de mensagens do usurio. 11 Acesso via protocolo de acesso 22 Agente usurio pode executar em estao diferente daquela em que reside o arquivo que contm a caixa de mensagens do usurio. 22 Adota os protocolos POP3 ou IMAP. O agente usurio pode acessar a caixa de mensagens diretamente ou atravs de um protocolo de acesso. No primeiro caso, o agente usurio executa na estao onde reside o
Arquitetura e Protocolos de Rede TCP-IP

arquivo que contm a caixa de mensagens e, portanto, pode acess-lo diretamente. No segundo caso, o agente usurio pode residir em uma estao remota, diferente daquela que armazena a caixa de mensagens do usurio. Neste caso, o agente usurio adota o protocolo POP3 ou IMAP para recuperar o contedo da caixa de mensagens.

Comandos do protocolo
O protocolo SMTP define um conjunto de comandos e respostas. Os comandos so enviados pelo cliente para o servidor. As respostas so enviadas do servidor para o cliente. O servidor deve enviar uma resposta para cada comando enviado pelo cliente. Cada resposta possui um cdigo numrico, que sinaliza o correto processamento do comando ou indica um determinado tipo de erro. Opcionalmente, a resposta possui um pequeno texto associado, que descreve o significado da resposta.

374

Principais comandos do protocolo: 11 HELO identifica o cliente ao servidor. 11 MAIL indica o remetente da mensagem. 11 RCPT informa o destinatrio da mensagem. 11 DATA envia o contedo da mensagem. 11 QUIT finaliza a sesso. 11 TURN inverte a direo de envio. 11 RSET aborta a transao de correio. 11 VRFY verifica a validade de um usurio. 11 EXPN identifica a composio de uma lista. Vale ressaltar que, na comunicao entre o agente e o servidor do usurio remetente, os papis de cliente e servidor so desempenhados pelo agente e servidor de correio, respectivamente. Alm disso, na comunicao entre o servidor do usurio remetente e o servidor do usurio destinatrio, os papis de cliente e servidor so desempenhados pelo servidor remetente e servidor destinatrio, respectivamente.

Modelo de interao
Em geral, a interao cliente-servidor realizada usando cinco comandos. A listagem a seguir apresenta um exemplo de envio de mensagem, onde os principais comandos e respostas do protocolo podem ser identificados. Inicialmente, o cliente estabelece uma conexo na porta TCP 25 do servidor. Imediatamente aps o estabelecimento da conexo, o servidor envia a resposta de saudao 220, que sinaliza que o mesmo est pronto para iniciar uma transao. A resposta de saudao identifica o nome absoluto do servidor. Neste exemplo, o servidor mail.rnp.br. Em seguida, o cliente identifica-se enviando o comando HELO, que contm o seu nome abso luto. Neste exemplo, o cliente mail.di.ufpb.br. Aps receber o comando HELO, se o servidor aceita a identificao do cliente, ele retorna a resposta 250, que contm os nomes absolutos do servidor e do cliente. Caso contrrio, o servidor retorna uma resposta de erro 501.

S: 220 mail.rnp.br C: HELO mail.di.ufpb.br S: 250 mail.rnp.br Hello mail.di.ufpb.br, pleased to meet you C: MAIL From: gledson@di.ufpb.br S: 250 <gledson@di.ufpb.br>... Sender ok C: RCPT To:ari@rnp.br S: 250 <ari@rnp.br>... Recipient ok C: DATA S: 354 Enter mail, end with . on a line by itself C: Teste C: . S: 250 Message accepted for delivery C: QUIT S: 221 mail.rnp.br closing connection
Aps a identificao das estaes cliente e servidor, o cliente envia o comando MAIL para indicar o incio de uma transao. Neste comando, o cliente identifica o endereo de correio 375
Captulo 10 - Protocolos de aplicao

eletrnico do usurio remetente da mensagem. No exemplo acima, o usurio remetente gledson@di.ufpb.br. Aps receber o comando MAIL, se o servidor aceita o endereo do usurio remetente, ele envia a resposta de aceitao 250. Caso contrrio, o servidor retorna uma resposta de erro 501. Iniciada a transao, o cliente envia o comando RCPT, que identifica o endereo de correio eletrnico do usurio destinatrio da mensagem. No exemplo acima, o usurio destinatrio ari@rnp.br. Aps receber o comando RCPT, se o servidor aceita o endereo do usurio destinatrio, ele envia a resposta de aceitao 250. Caso contrrio, o servidor retorna a resposta de erro 550. Para uma mensagem com mltiplos destinatrios, o cliente deve enviar diversos comandos RCPT, cada um deles identificando um diferente usurio destinatrio. Neste caso, para cada comando RCPT enviado pelo cliente, o servidor deve retornar uma resposta de aceitao ou erro. Aps indicar o remetente e os destinatrios, o cliente envia o comando DATA, informando que deseja iniciar a transferncia do contedo da mensagem. Aps receber o comando DATA, o servidor envia a resposta 354, confirmando que est pronto para receber o con tedo da mensagem. Em seguida, o cliente envia o contedo da mensagem. Para sinalizar o fim da mensagem, o cliente envia uma linha contendo apenas a sequncia de bytes <CR><LF>.<CR><LF>, onde <CR> e <LF> representam os caracteres de retorno do cursor (Carriage Return) e mudana de linha (Line Feed ), respectivamente. Aps detectar o fim da mensagem, o servidor retorna a resposta de aceitao 250. Neste momento, a mensagem j est armazenada na fila do servidor. Desta forma, o cliente pode fechar a sesso usando o comando QUIT. O servidor confirma o fechamento da sesso enviando a resposta 221, que indica que a mensagem est sendo encaminhada ao usurio destinatrio. Se o cliente possui vrias mensagens para o mesmo servidor, ele pode enviar todas as mensagens na mesma sesso. Para tal, ao concluir o envio de uma mensagem, ao invs de usar o comando QUIT, o cliente inicia uma nova transao com um novo comando MAIL. Neste caso, o comando QUIT somente ser usado aps o envio de todas as mensagens. Consequentemente, em uma nica sesso de troca de mensagens, podem existir diversas transaes. Cada transao consiste de um comando MAIL, um ou vrios comandos RCPT, e um comando DATA. Por fim, a sesso fechada com o comando QUIT. Antes de fechar uma sesso, opcionalmente, o cliente pode enviar o comando TURN, solicitando a troca de papis entre o cliente e o servidor. O comando TURN permite que mensagens sejam enviadas na direo inversa. Ao receber o comando TURN, se o servidor aceita a troca de papis, ele envia a resposta de aceitao 250. Caso contrrio, o servidor envia a resposta de rejeio 502.
Arquitetura e Protocolos de Rede TCP-IP

Embora os comandos apresentados sejam os mais utilizados, o protocolo SMTP define outros comandos. Por exemplo, a qualquer momento, uma transao pode ser abortada com o comando RSET, fazendo com que qualquer informao armazenada no servidor seja descartada. O comando VRFY permite ao cliente verificar se um determinado usurio vlido no servidor. O comando EXPN expande uma lista de distribuio, identificando os membros da lista. Geralmente, estes comandos so usados pelos administradores para depurar problemas no servio de correio eletrnico. Por questo de segurana e privacidade, muitos administradores desabilitam os comandos VRFY e EXPN.
Lista de distribuio Grupo de usurios com algum interesse comum que se organizam para trocar mensagens atravs do servio de correio eletrnico.

376

Estrutura da mensagem
11 Envelope 22 Contm os endereos dos usurios remetente e destinatrio. 11 Cabealho 22 Descreve caractersticas das mensagens (From, To, Subject ). 11 Corpo 22 Contedo da mensagem. 22 Contm apenas caracteres ASCII de 7 bits. 22 MIME permite mensagens com mltiplas partes e diferentes formatos. As mensagens so compostas por trs partes, cada uma com sua funo prpria: 11 O envelope usado pelo servidor de correio para realizar a entrega da mensagem. O envelope contm o endereo do remetente e o endereo do destinatrio. 11 O cabealho contm diversas entradas. Cada entrada possui um nome, seguido pelo

smbolo dois pontos (:) e o valor do campo. As entradas do cabealho descrevem algumas caractersticas da mensagem, como por exemplo: o endereo do usurio remetente (From), o endereo do usurio destinatrio (To) e o assunto da mensagem (Subject ). 11 O corpo o contedo propriamente dito da mensagem e deve conter apenas caracteres ASCII de 7 bits. O agente usurio adiciona o cabealho ao corpo da mensagem e envia o resultado para o servidor do usurio remetente. Por sua vez, o servidor do usurio remetente adiciona algumas entradas no cabealho e envia o resultado ao servidor do usurio destinatrio. Por fim, o servidor do usurio destinatrio adiciona algumas entradas no cabealho e armazena a mensagem na caixa de mensagens do usurio destinatrio. Como originalmente especificado, o servio de correio eletrnico somente suporta mensa gens ASCII de 7 bits. Para suportar mensagens que transportam dados binrios arbitrrios,
MIME Multipurpose Internet Mail Extensions a extenso do servio de correio eletrnico que permite estruturar o corpo da mensagem em mltiplas partes e viabilizar o envio de mensagens que transportam dados binrios arbitrrios.

a extenso MIME foi proposta nos RFCs 2045 e 2046. Esta extenso permite estruturar o corpo da mensagem em mltiplas partes. Vale ressaltar que, independente do contedo da mensagem, o cabealho e o corpo de uma mensagem MIME continuam sendo transmitidos com apenas caracteres ASCII de 7 bits. Para transportar dados binrios arbitrrios, a extenso MIME define mecanismos que codificam dados binrios para caracteres ASCII de 7 bits. Para tal, um agente MIME remetente adiciona algumas entradas no cabealho e no corpo da mensagem que indicam ao agente MIME destinatrio a estrutura e a codificao da mensagem. Desta forma, a extenso MIME interpretar a extenso MIME.
Captulo 10 - Protocolos de aplicao

no impe qualquer modificao nos servidores de correio, pois apenas os agentes devem

HTTP
11 Hypertext Transfer Protocol (HTTP) 22 Implementa o servio web. 22 Permite aos provedores de contedo a publicao de documentos. 22 Permite aos usurios a recuperao, visualizao e navegao nos documentos.

377

11 Cliente web (browser ) 22 Permite a recuperao, visualizao e navegao em documentos web. 22 Mantm uma cache que armazena os documentos recentemente recuperados. 11 Servidor web 22 Permite a publicao de documentos. 22 Gerencia um repositrio de documentos que contm os objetos publicados. O servio web, formalmente denominado World Wide Web (WWW), a aplicao mais

usada na internet. Ele suportado pelo protocolo Hypertext Transfer Protocol (HTTP), cuja verso 1.1 especificada no RFC 2616. O servio web permite aos provedores de contedo a publicao de documentos na internet. Por outro lado, o servio web permite aos usurios a recuperao e a visualizao de documentos, bem como a navegao na estrutura de hipertexto definida pelos documentos. Um documento web, tambm conhecido como pgina web, composto por diversos objetos com diferentes contedos e formatos. A estrutura hipertexto de um documento web definida por um arquivo Hypertext Markup Language (HTML), que contm referncias (links) aos demais objetos que compem o documento. Em um documento web (arquivo HTML), cada referncia representa um objeto que deve ser recuperado. Existem diversos tipos de objetos, por exemplo: arquivos HTML, imagens JPEG e GIF e applets Java. Cada objeto identificado por um Universal Resource Locator (URL). Cada URL identifica o nome do servidor web que armazena o objeto e o nome do objeto no sistema de arquivos deste servidor. Por exemplo, o URL www.rnp.br/newsgen/index.html est armazenado no servidor www.rnp.br e no arquivo /newsgen/index.html, relativo ao repositrio de documentos deste servidor. Como mostra a figura 10.4, o servio web envolve dois tipos de componentes: o cliente e o servidor.

Cliente Web

HTTP

Servidor Web

Cache

Do

cumento web

Figura 10.4 Caractersticas do HTTP.

O cliente web, denominado navegador, um processo de aplicao utilizado pelo usurio para recuperar e visualizar os documentos web, bem como navegar na estrutura de hiper Arquitetura e Protocolos de Rede TCP-IP

texto definida pelos vrios documentos. Existem diversas implementaes do cliente web, sendo as mais populares o Firefox, o Google Chrome e o Microsoft Internet Explorer. Por outro lado, o servidor web um processo de aplicao que gerencia um repositrio de documentos web, publicados pelos respectivos provedores de contedo. Alm disso, o servidor web permite que os clientes web possam recuperar estes documentos. Tambm existem diversas implementaes de servidores web, onde os mais adotados so o Apache e o Microsoft Internet Information Service. Por default, o servidor web aguarda requisies de conexo na porta TCP 80. No entanto, a

378

porta adotada pode ser configurada pelo administrador do servidor. Neste caso, a nova porta deve ser explicitamente informada em todas as URLs que referenciam documentos armazenados neste servidor. O cliente web tambm assume, por default, que o servidor aguarda requisies na porta TCP 80. Desta forma, a porta 80 no precisa ser informada nas URLs.

Protocolo HTTP
11 Define um conjunto de mensagens de requisio e resposta. 11 Especificado no RFC 2616. 11 Adota a porta TCP 80. 11 Requisio 22 Composta por uma linha de requisio, linhas de cabealho e corpo. 11 Resposta 22 Composta por uma linha de status, linhas de cabealho e corpo. O protocolo HTTP define os tipos e os formatos das mensagens trocadas entre os clientes e os servidores. Quando o usurio clica em uma determinada URL, solicitando um docu-

mento web, o cliente envia uma mensagem de requisio HTTP para o respectivo servidor, solicitando o objeto especificado na URL. Ao receber uma requisio, o servidor recupera o documento solicitado e retorna uma mensagem de resposta que contm este documento. Aps recuperar um documento web, o cliente identifica cada objeto que compe este documento base, e, em seguida, envia uma nova mensagem de requisio HTTP para recuperar cada um destes objetos. Para cada mensagem de requisio, o servidor retorna uma resposta que contm o objeto solicitado. O HTTP um protocolo sem estado, pois os servidores web no armazenam qualquer informao sobre os clientes web.

Tipos de conexes
11 Conexo no persistente 22 Transporta uma nica requisio e sua respectiva resposta. 22 Recupera um nico objeto. 22 Servidor fecha a conexo aps a resposta. 11 Conexo persistente 22 Pode transportar diversas requisies e suas respectivas respostas. 22 Todos os objetos de um documento podem ser recuperados em uma nica conexo. 22 Servidor fecha a conexo aps um intervalo de inatividade.

22 Cliente estabelece uma conexo por vez e recupera um objeto em cada conexo. 11 Conexo no persistente paralela 22 Cliente estabelece conexes simultneas e recupera um objeto em cada conexo. 11 Conexo persistente no paralela 22 Uma nova requisio enviada somente aps o recebimento da resposta anterior. 11 Conexo persistente paralela 22 Diversas requisies podem ser enviadas antes do recebimento de qualquer resposta.

379

Captulo 10 - Protocolos de aplicao

11 Conexo no persistente serial

O protocolo HTTP adota o conceito de conexes persistentes e conexes no persistentes. Vale ressaltar que a verso 1.0 do protocolo HTTP suporta apenas conexes no persistentes. Em uma conexo no persistente, o cliente estabelece a conexo com o servidor e envia a mensagem de requisio para recuperar um determinado objeto. No outro lado, o servidor processa a requisio, retorna a mensagem de resposta contendo o objeto solicitado, e, em seguida, imediatamente fecha a conexo. Desta forma, cada conexo no persistente transporta uma nica mensagem de requisio e sua respectiva resposta. Consequentemente, uma conexo no persistente deve ser estabelecida para cada objeto requisitado pelo cliente. Dependendo da implementao do cliente web, para um determinado documento web composto por diversos objetos, as conexes no persistentes podem ser estabelecidas no modo serial ou paralelo. No modo serial, o cliente estabelece uma conexo por vez e recupera um objeto em cada conexo. No modo paralelo, o cliente estabelece diversas conexes simultneas e recupera um objeto em cada conexo. Na prtica, muitos clientes web permitem que os usurios configurem o nmero mximo de conexes paralelas que podem ser estabelecidas. Em uma conexo persistente, aps enviar a resposta, o servidor mantm a conexo aberta, permitindo que requisies e respostas subsequentes possam ser enviadas na mesma conexo. Desta forma, o cliente pode solicitar diversos objetos, e o servidor devolver diversas respostas em uma nica conexo. Consequentemente, um documento web e todos os seus objetos podem ser recuperados em uma nica conexo. Geralmente, o servidor web fecha uma conexo persistente aps um tempo de inatividade, que configurvel pelo administrador. Nas conexes persistentes, as requisies podem ser realizadas com ou sem paralelismo. No modo no paralelo, o cliente envia uma nova requisio somente aps receber a resposta da requisio anterior. No modo paralelo, o cliente envia diversas requisies antes de receber as respostas anteriores. Desta forma, todos os objetos que compem um documento podem ser requisitados, antes de receber qualquer um deles. As conexes persistentes melhoram o desempenho do servio web, pois evitam o desperdcio de tempo e recursos com o estabelecimento e fechamento de conexes individuais para cada objeto. No lado cliente, o desempenho do servio web tambm melhorado com a implementao de um repositrio local (cache) que armazena os documentos recentemente recuperados. O mecanismo de cache reduz os atrasos na recuperao de objetos e diminui o trfego gerado na internet, pois documentos previamente armazenados no repositrio local no precisam ser transmitidos novamente. Alm disso, o mecanismo de cache permite ao usurio visualizar um contedo previamente armazenado, mesmo na ausncia de conectividade.

Modelo de interao
11 Protocolo HTTP
Arquitetura e Protocolos de Rede TCP-IP

22 Requisio 33 GET: recupera o objeto informado na URL. 33 POST: envia informaes de formulrio. 22 Resposta 33 200: requisio processada com sucesso. 33 301: objeto solicitado foi movido. 33 400: erro genrico no processamento. 33 404: objeto solicitado no existe. 33 505: verso requisitada no suportada.

380

O protocolo HTTP define dois tipos de mensagens: a requisio e a resposta. As mensagens de requisio e resposta adotam o formato ASCII, exceto no contedo dos objetos enviados. Desta forma, como nos protocolos SMTP e FTP, as requisies e as respostas HTTP podem ser facilmente lidas pelos usurios. No exemplo de interao entre o cliente e o servidor, mostrado na listagem a seguir, os principais elementos que compem as requisies e as respostas podem ser identificados.

C: GET /newsgen/index.html HTTP/1.1 Host: www.rnp.br Connection: close User-Agent: Mozilla/4.0 Accept-Language: sgn-BR <CR><LF> S: HTTP/1.1 200 OK Connection: close Date: Sun, 01 Aug 2004 15:00:00 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 2004 10:04:17 GMT Content-Length: 1500 Content-Type: text/html <CR>LF> ...
Inicialmente, o cliente estabelece uma conexo na porta TCP 80 do servidor. Em seguida, o cliente envia a mensagem de requisio, que composta por uma linha de requisio, algumas linhas de cabealho e o corpo. A linha de requisio identifica o mtodo a ser exe cutado pelo servidor, o objeto a ser recuperado (URL) e a verso do protocolo HTTP. No exemplo o cliente est usando o mtodo GET para solicitar o objeto /newsgen/index.html atravs do protocolo HTTP/1.1. O protocolo HTTP define alguns mtodos; os mais usados so: GET e POST. O mtodo GET usado pelo cliente para solicitar a recuperao de um determinado objeto do servidor. A maioria das interaes entre o cliente e o servidor adota o mtodo GET. O mtodo POST semelhante ao mtodo GET, mas envia informaes adicionais para o servidor. Estas informaes adicionais so obtidas de formulrios preenchidos pelos usurios. As linhas do cabealho possuem informaes que auxiliam o servidor no tratamento da requisio. Cada linha de cabealho possui um nome e um valor associado. Existem diversos tipos de linhas de cabealho, o exemplo de interao acima apresenta apenas alguns tipos de linhas de cabealho.
Captulo 10 - Protocolos de aplicao

O cabealho Host especifica o servidor no qual o objeto solicitado est armazenado. O cabe alho Connection indica se o servidor deve ou no fechar a conexo aps enviar o objeto. Neste exemplo, aps enviar o objeto, o servidor deve fechar a conexo (close). O cabealho User-Agent sinaliza o tipo de cliente que est gerando a requisio. Neste exemplo, o cliente o Mozilla/4.0. Esta linha permite que o servidor possa enviar diferentes verses do mesmo objeto, dependendo do tipo de cliente. Por fim, o cabealho Accept-Language indica o idioma de preferncia do usurio. Se o objeto solicitado no existe naquele idioma, o servidor envia o objeto no idioma default. Na mensagem de requisio, aps as linhas de cabealho, existe o corpo da mensagem. O mtodo GET no usa o corpo da mensagem. Por outro lado, no mtodo POST, o corpo da requisio contm as informaes do formulrio que foi preenchido pelo usurio.

381

As linhas do cabealho e o corpo da mensagem de requisio devem ser separados por uma linha contendo apenas a sequncia de bytes <CR><LF>, onde <CR> e <LF> representam os caracteres de retorno do cursor (Carriage Return) e mudana de linha (Line Feed ), respectivamente. Aps receber uma requisio, o servidor processa a requisio e retorna uma mensagem de resposta, que composta por uma linha de status, algumas linhas de cabealho e o corpo. A linha de status contm a verso do protocolo HTTP, o cdigo de processamento da requisio e uma mensagem textual. No exemplo de interao acima, o servidor adotou o protocolo HTTP/1.1 e a requisio foi processada com sucesso (200). Nas respostas, tambm existem diversos tipos de linhas de cabealho. Novamente, o exemplo ilustra apenas alguns tipos de linhas de cabealho. O cabealho Connection informa ao cliente se o servidor vai fechar ou no a conexo aps o envio da resposta. Neste exemplo, o servidor fecha a conexo (close). O cabealho Date indica a hora e a data em que a resposta foi enviada pelo servidor. Por sua vez, o cabealho Last-Modified indica a data de criao ou modificao do objeto no servidor. Esta informao usada pelo cliente para manter a cache local atualizada. O cabealho Server identifica o tipo do servidor que est gerando a resposta. Este exemplo foi realizado usando o servidor Apache/1.3.0. Os cabealhos Content Length e Content-Type indicam o tamanho em bytes do corpo da mensagem de resposta e o tipo de objeto que est sendo enviado. Estas informaes permitem ao cliente tratar adequadamente o objeto recebido. Na mensagem de resposta, aps as linhas de cabealho, o corpo da mensagem contm o objeto solicitado na requisio. As linhas do cabealho e o corpo da mensagem de resposta tambm devem ser separados por uma linha contendo apenas a sequncia de bytes <CR><LF>.

Servio de Acesso Remoto Seguro


O servio de acesso remoto seguro (SSH Secure Shell) prov comunicao segura para aplicaes de terminal remoto, transferncia de arquivos e execuo remota de comandos. Em sistemas Linux, o servio SSH tem funcionalidades semelhantes quelas providas pelos comandos rlogin (remote login), rcp (remote copy) e rsh (remote shell). Entretanto, no SSH, os dados transmitidos so automtica e transparentemente cifrados, assegurando autenticidade, privacidade e integridade. Ou seja, o SSH garante que as entidades comunicantes so autnticas e assegura que os dados enviados no so lidos ou modificados por outras entidades.

Componentes
Como mostrado da Figura 10.5, o servio SSH adota a arquitetura cliente-servidor. Um servidor SSH um programa, tipicamente instalado e executado pelo administrador, que aceita ou rejeita requisies de conexo dos clientes SSH, provendo autenticao, privacidade e inte Arquitetura e Protocolos de Rede TCP-IP

gridade. Em sistemas Linux, a implementao do servidor SSH mais adotada o servidor sshd.

Sesso SSH
Estaes Conhecidas
Cliente SSH Protocolo SSH Chave de Sesso Servidor SSH

Chave do Servidor

Chave de Sesso

Chave da Estao

Figura 10.5 Arquitetura do servio SSH.

382

Por outro lado, um cliente SSH um programa tipicamente executado pelo usurio em estaes remotas, que envia requisies ao servidor SSH para abrir uma sesso de terminal remoto, transferir arquivos ou executar comandos. Em sistemas Linux, os clientes SSH so implementados pelos programas ssh e scp. O servio SSH suportado pelo protocolo SSH, que define um canal seguro de comunicao entre o cliente e o servidor. O protocolo SSH utiliza a porta TCP 22. Existem duas verses incompatveis do protocolo: SSH-1 e SSH-2. Embora o SSH-2 seja melhor e mais seguro, o SSH-1 ainda a verso mais utilizada, pois o SSH-2 foi inicialmente proposto como uma soluo comercial. Atualmente, um grupo de trabalho do Internet Engineering Task Force (IETF) est concentrando esforos para padronizar o SSH-2. No SSH, uma sesso representa uma conexo segura entre um cliente e um servidor. Todos os acessos ao servio SSH envolvem duas autenticaes: o cliente verifica a identidade do servidor (autenticao do servidor), e o servidor verifica a identidade do usurio que est requisitando o acesso (autenticao do usurio). A sesso SSH inicia depois que o cliente autentica o usurio no servidor e finaliza quando a conexo fechada. O servio SSH manipula duas chaves assimtricas (chave da estao e chave do servidor) e uma chave simtrica (chave de sesso). Cada chave assimtrica composta pelo par: chave privada e chave pblica. A chave simtrica possui uma nica chave. Estas chaves so usadas pelos algoritmos de criptografia. A chave da estao (host key ) uma chave assimtrica usada pelo servidor SSH como prova da identidade da estao onde ele executado. A chave da estao deve ser armazenada localmente na estao onde o servidor SSH executado. A chave do servidor (server key ) uma chave assimtrica que usada pelo servidor SSH para proteger a chave de sesso (descrita posteriormente). A chave do servidor temporria, pois ela recriada pelo servidor SSH em intervalos regulares (por default, a cada hora). A chave do servidor nunca armazenada em memria secundria. Alm disso, a chave privada do servidor nunca transmitida em uma conexo. A chave de sesso uma chave simtrica usada para cifrar a comunicao entre um cliente e um servidor SSH. A chave de sesso gerada durante o procedimento de estabelecimento da sesso e destruda quando a sesso finalizada. A chave de sesso compartilhada entre o cliente e o servidor SSH. O protocolo SSH-1 usa uma nica chave de sesso. No entanto, o protocolo SSH-2 possui vrias chaves de sesso. Por exemplo, existem duas chaves de sesso que so usadas para cifrar a comunicao em cada direo: cliente-servidor e servidor-cliente. Para realizar a autenticao dos vrios servidores, o cliente mantm uma base de dados que SSH estabelecem uma conexo, o cliente autentica o servidor usando as informaes contidas nesta base de dados. Sempre que o cliente estabelece uma sesso com um novo servidor, o cliente armazena a identificao do servidor e a respectiva chave pblica da estao. Cada vez que o cliente se conecta ao servidor, o cliente verifica a identidade do servidor usando esta chave pblica.
Captulo 10 - Protocolos de aplicao

armazena as chaves pblicas das estaes conhecidas. Quando um cliente e um servidor

Modelo de interao
Para estabelecer uma sesso, o cliente e o servidor SSH trocam informaes para negociar a chave de sesso e definir os algoritmos de criptografia e autenticao a serem adotados.

383

Alm disso, durante o estabelecimento de uma sesso, o cliente e o servidor se autenticam mutuamente. A Figura 10.6 apresenta um exemplo de estabelecimento de sesso, onde as principais informaes trocadas entre o cliente e o servidor podem ser identificadas.

Figura 10.6 Estabelecimento de uma sesso SSH.

Inicialmente, o cliente estabelece uma conexo na porta TCP 22 do servidor. Imediatamente aps o estabelecimento da conexo, o cliente e o servidor enviam a identificao da verso do protocolo SSH suportado. Opcionalmente, o cliente e o servidor podem acrescentar a verso da implementao. Neste exemplo, cliente e servidor suportam a verso SSH-1, identificada pelos termos SSH1.51.2.30 e SSH1.99OpenSSH_2.2.0. Os termos 1.2.30 e OpenSSH_2.2.0 identificam a verso da implementao do cliente e do servidor, respectivamente. Se o cliente e o servidor detectam que suas verses so compatveis, o procedimento de estabelecimento da sesso prossegue. Caso contrrio, a conexo imediatamente fechada. Aps negociar a verso do protocolo, o cliente e o servidor passam a se comunicar usando um protocolo de pacotes sobre a conexo TCP. Neste protocolo, cada pacote contm diversos campos, entre eles: um cdigo que identifica o tipo de pacote (1 byte), os dados do pacote, e um campo de verificao de integridade (4 bytes). Neste momento, o servidor identifica-se para o cliente e prov alguns parmetros da sesso. O servidor envia as seguintes informaes para o cliente: a chave pblica da estao, a chave pblica do servidor, a sequncia de verificao (check bytes), a lista de algoritmos de criptografia suportados pelo servidor, e a lista de algoritmos de autenticao suportados pelo servidor. A sequncia de verificao protege o servio de alguns tipos de ataques. O cliente deve devolver a mesma sequncia de verificao na prxima mensagem enviada
Arquitetura e Protocolos de Rede TCP-IP

ao servidor. Caso contrrio, o servidor rejeita a mensagem do cliente. Vale ressaltar que estas informaes ainda no so cifradas. No entanto, todas as informaes podem ser publicamente conhecidas, no apresentando qualquer risco segurana do servio. Neste ponto, o cliente e o servidor computam um identificador de sesso de 128 bits, que usado em algumas operaes subsequentes do protocolo para identificar de forma nica a sesso SSH. Este identificador calculado usando a chave pblica da estao, a chave pblica do servidor e a sequncia de verificao. Como o cliente e o servidor possuem estas informaes, ambos computam um mesmo identificador.

384

Em seguida, consultando a base de dados de estaes conhecidas, o cliente verifica se a estao do servidor j conhecida. Se a estao do servidor est na base de dados e a chave pblica armazenada igual quela recebida, o cliente aceita a sesso. Caso contrrio, existem duas outras possibilidades: a estao do servidor no est presente na base de dados; ou a estao do servidor est presente, mas a chave pblica armazenada no igual quela recebida. Em ambos os casos, o cliente solicita o auxlio do usurio, perguntando se ele aceita ou rejeita a chave pblica recebida. Se o usurio aceita a chave pblica da estao, o cliente estabelece a sesso e armazena a nova chave na base de dados de estaes conhecidas. Caso contrrio, o cliente rejeita a sesso e fecha a conexo. Aps aceitar o estabelecimento da sesso, o cliente gera uma chave de sesso, que ser usada posteriormente para cifrar e decifrar as mensagens enviadas, tanto pelo cliente, quanto pelo servidor. O cliente deve enviar a chave de sesso para o servidor de forma segura. No entanto, neste instante, a comunicao entre o cliente e o servidor ainda no segura. Para tal, o cliente cifra a chave de sesso com a chave pblica da estao, e, em seguida, cifra novamente com a chave pblica do servidor. A criptografia dupla assegura que somente o servidor pode recuperar a chave de sesso. Aps cifrar a chave de sesso, o cliente envia a chave de sesso cifrada para o servidor, juntamente com a sequncia de verificao e uma indicao do algoritmo de criptografia selecionado. Agora, o cliente aguarda uma mensagem de confirmao do servidor, que, como todas as demais mensagens, j deve ser cifrada com a chave de sesso. A mensagem de confirmao cifrada realiza a autenticao do servidor, pois somente ele pode decifrar a chave de sesso, uma vez que ela foi cifrada com a chave pblica da estao e a chave pblica do servidor. Se a mensagem de confirmao cifrada no recebida, o cliente fecha a conexo. O protocolo SSH-1 no especfico neste ponto, mas a segunda verso especifica a necessidade desta mensagem de confirmao, quando a autenticao do servidor realizada de forma implcita atravs da chave de sesso. Neste momento, a comunicao segura pode ser iniciada, pois o cliente e o servidor conhecem a chave de sesso. Desta forma, ambos comeam a cifrar todos os dados da sesso, usando o algoritmo de criptografia selecionado e a chave de sesso. Antes de permitir qualquer tipo de acesso, o servidor deve, primeiramente, autenticar o usurio do cliente. O protocolo SSH suporta vrios mtodos de autenticao do usurio, por exemplo, usando senhas e chaves pblicas. O cliente tenta os mtodos suportados pelo servidor, informados na lista de algoritmos de autenticao, at que um tenha sucesso ou todos falhem. Para ilustrar a autenticao do usurio, vamos descrever a autenticao baseada em senhas. Nesta modalidade, o usurio fornece sua identificao e senha ao cliente SSH. Usando a conexo segura, o cliente transmite a identificao e a senha para o servidor. seguro. Geralmente, o servidor SSH verifica a validade da senha usando o mecanismo de autenticao do prprio sistema operacional.
Captulo 10 - Protocolos de aplicao

O servidor autentica a senha para aquele usurio e, caso vlida, permite o acesso remoto

385

386

Arquitetura e Protocolos de Rede TCP-IP

Roteiro de Atividades 10
Atividade 10.1 Captura de pacotes UDP do servio DNS
1. Vamos ativar o Wireshark, como fizemos anteriormente, s que desta vez para configurar

um filtro de captura. Na tela inicial do Wireshark, em vez de selecionar o boto Start, selecione o boto Options na interface de rede local. Teremos ento a tela a seguir. Na janela Capture Filter:, digite a palavra udp, conforme mostrado na figura 10.7. Observe que a janela de filtro de captura fica com o fundo verde quando a sintaxe do comando est correta e vermelha quando no est correta.

Figura 10.7 Opes de captura de pacotes do Wireshark.

Em seguida clique em Start para iniciar a captura, porm, somente sero capturados os pacotes que contenham o protocolo UDP. Os demais pacotes IP sero descartados.
2. Abra uma janela de prompt de comando e digite os seguintes comandos:

ping www.google.com.br ping www.esr.rnp.br


Aguarde at que todas as operaes tenham sido concludas, volte para a janela do Wireshark (que ficou aberta) e s ento termine a captura de pacotes clicando no quarto cone da esquerda para a direita da barra de ferramentas (Stop the running live capture). A janela de captura do Wireshark deve ser semelhante mostrada na figura 10.8. Podem surgir mais alguns pacotes eventualmente, dependendo da rede local do laboratrio, mas
Figura 10.8 Captura de pacotes UDP.

somente os mostrados na figura so importantes.


Captulo 10 - Roteiro de Atividades

Esta janela se refere ao arquivo de captura: Sessao10_Captura1.pcap.

387

3. Nesta figura o pacote 1 est selecionado na primeira janela e na segunda janela

esto os protocolos que foram utilizados. Note que aparecem, de cima para baixo, as seguintes camadas:
3.1.Camada fsica (Frame 1) 3.2.Camada de enlace (Ethernet II) 3.3.Camada de rede (Internet Protocol Version 4) 3.4.Camada de transporte (User Datagram Protocol) 3.5.Camada de aplicao (Domain Name System) 4. Selecionando a camada de transporte na segunda janela, teremos a janela mostrada na

figura 10.9.

Observe que na terceira janela, onde esto representados os dados no formato hexadecimal, esto destacados apenas os dados do cabealho UDP (8 bytes). Os dados importantes so: 11 Porta de origem: 59840 11 Porta de destino: 53 Essa porta a porta bem conhecida utilizada pelo servidor DNS e se trata de uma consulta ao servidor DNS para resoluo do nome www.google.com.br, que foi o nome usado no comando ping na janela DOS.
5. Na linha do protocolo IP (camada de rede), podemos ver que a estao de origem tem o

Figura 10.9 Detalhe do pacote UDP nmero 1.

IP: 192.168.100.103 e o servidor DNS consultado tem o IP: 200.130.77.69.


6. O prximo pacote (nmero 2) a resposta do servidor DNS, destinado estao que

enviou a solicitao no pacote 1. Essa resposta contm o endereo IP do nome solicitado. Qual o endereo IP do nome solicitado?

Os pacotes 3 e 4 so semelhantes, referentes resoluo do nome: www.esr.rnp.br.


Arquitetura e Protocolos de Rede TCP-IP

Qual o endereo IP do nome solicitado?

Nos dois casos, foram usadas as mesmas portas? Explique.

388

Atividade 10.2 Requisies iterativas e recursivas


O servio de nomes possui dois componentes. O resolver envia requisies aos servidores de nomes, que, por sua vez, processam essas requisies e devolvem as respectivas respostas. Considerando o modelo cliente-servidor, qual o papel do resolver e do servidor de nomes em requisies iterativas e recursivas?

Atividade 10.3 Servidores raiz


Todo servidor de nomes deve conhecer os endereos IP dos servidores do domnio raiz. Para facilitar a atualizao da lista de servidores raiz, essa informao disponibilizada na internet. No entanto, no existe um mecanismo para informar aos administradores sobre atualizaes nas informaes dos servidores raiz. Dessa forma, no incomum encontrar servidores que possuem endereos incorretos de alguns servidores raiz. Como o servio de nomes pode continuar funcionando mesmo com a existncia dessas inconsistncias?

Atividade 10.4 Consultas DNS


O comando host um utilitrio para realizar consultas ao servio de nomes. O exemplo listado a seguir mostra a sintaxe do comando. A opo t indica o tipo de registro de recurso a ser consultado, por exemplo: A , PTR , CNAME , HINFO, MX e NS. O primeiro parmetro (www.esr.rnp.br) o nome a ser resolvido, podendo ser um nome de domnio, um nome de estao ou um endereo IP. O segundo parmetro (lua.na-df.rnp.br ) o nome do servidor de nomes a ser consultado. Se o servidor de nomes no informado, o comando host usa o servidor de nomes default, configurado no arquivo /etc/resolv.conf (Linux) ou na configu rao da interface de rede no campo DNS (Windows).

core@ubuntu:~$ host t A www.esr.rnp.br lua.na-df.rnp.br Using domain Server: Name: lua.na-df.rnp.br Address: 200.130.77.69#53
Captulo 10 - Roteiro de Atividades

Aliases: www.esr.rnp.br has address 200.130.35.73


No exemplo, uma requisio tipo A enviada ao servidor de nomes lua.na-df.rnp.br para mapear o nome da estao www.esr.rnp.br para seu respectivo endereo IP 200.130.35.73. Se a opo t no usada e o primeiro parmetro um nome de estao, por default, o comando host realiza uma consulta do tipo de registro A, mapeando o nome da estao para seu respectivo endereo IP. No entanto, se a opo t no usada e o primeiro parmetro um endereo IP, por default, o comando host realiza uma consulta do tipo de registro PTR, mapeando o endereo IP para seu respectivo nome de estao.

389

Este exemplo foi executado na mquina virtual CORE, usando o console Terminal, cujo cone est na rea de trabalho do Ubuntu. Para as prximas atividades, use o mesmo console.
1. Usando o mesmo servidor de nomes, identifique o endereo IP da estao www.rnp.br.

2. Usando o mesmo servidor de nomes, descubra o nome da estao cujo endereo IP

200.130.25.1.

3. Usando o mesmo servidor de nomes, encontre os servidores de nomes do domnio rnp.br.

4. Usando o mesmo servidor de nomes, identifique os servidores de correio eletrnico do

domnio rnp.br.

Atividade 10.5 Servio SSH


Instalao do servio SSH
1. Digite o seguinte comando no terminal do Linux:

# sudo apt-get install ssh


2. Informe a senha do usurio: core. 3. Aguarde at que a instalao esteja terminada.

Criar uma conexo segura ao servidor remoto


1. Digite o seguinte comando no terminal do Linux:

# ssh <ip_do_servidor_remoto>
2. Confirme a autenticidade da chave apresentada:

Are you sure you want to continue connecting (yes/no)? yes


Arquitetura e Protocolos de Rede TCP-IP

A partir de agora no mais solicitada a confirmao, somente a senha do usurio.


3. Confirme se est no computador desejado com o seguinte comando:

# hostname

Incluir um novo usurio na mquina remota


1. Digite o seguinte comando no terminal do Linux:

# adduser <nome do usurio>

390

2. Digite as informaes solicitadas. No se esquea de criar uma senha e confirm-la. 3. Para fechar a conexo SSH:

# exit

Transferir um arquivo remoto para o host local e vice-versa


Suponha o host local com endereo 192.168.100.123 e o host remoto (servidor SSH) com endereo 192.168.100.127. Sequncia de comandos:

# ssh 192.168.100.127 (estabelece a conexo SSH com o servidor remoto) # scp Rede_Atividade6_2.imn lobato@l92.168.100.123:/home/lobato The authenticity of host 192.168.100.123 (192.168.100.123) cant be established. RSA key fingerprint is 43:44:f2:4d:78:20:60:d7:31:d3:26:b1:20:ee:dc:f3. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 192.168.100.123 (RSA) to the list of known hosts. lobato@l92.168.100.123s password: Rede_Atividade6_2.imn #
A sequncia de comandos acima mostra a transferncia do arquivo Rede_Atividade6_2. imn do host remoto para o host local.

100% 2866

2.8KB/s

00:00

Anlise dos pacotes SSH


Iniciando o Wireshark na interface de rede de um dos hosts envolvidos na transferncia
Figura 10.10 Pacotes capturados com destaque para o pacote 7.

acima podemos ver os pacotes trocados entre eles, que foram capturados no arquivo Sessao10_Captura2.cap. A Figura 10.10 mostra os primeiros pacotes capturados, com destaque para o pacote 7.

Observaes importantes sobre a Figura 10.10: 11 Os pacotes 3 e 4 do protocolo ARP so para obter o endereo MAC da estao 192.168.100.123 e a pergunta foi feita pela estao 192.168.100.127. 11 Os pacotes 2, 5 e 6 estabelecem uma conexo TCP entre os dois hosts. 11 O pacote 7 do protocolo SSH verso 2.0.

391

Captulo 10 - Roteiro de Atividades

A Figura 10.11 mostra alguns pacotes criptografados pelo SSH.

Na Figura 10.11, os pacotes 37, 40 e 43 so do protocolo TCP e destinam-se ao controle da conexo, com informaes sobre a quantidade de octetos transmitidos/recebidos. Os demais pacotes so do protocolo SSH e esto criptografados.

Figura 10.11 Pacotes criptografados.

Backup de uma estao remota com SSH


Um administrador de rede necessita criar um backup de uma estao de trabalho remota utilizando SSH. Como deve proceder?
1. Acesse o computador remoto atravs do SSH:

# ssh <ip remoto>


2. Utilize o comando tar para fazer um backup da estao remota:

# tar cvzf /backup.tar.gz -exclude=/proc -exclude=/lost+found --exclude=/backup.tar.gz exclude=/mnt exclude=/sys /


3. Volte para o terminal local:

# exit
4. Copie o arquivo compactado da mquina remota para a mquina local:

# scp user@<ip remoto>:/backup.tar.gz

392

Arquitetura e Protocolos de Rede TCP-IP

Bibliografia
11 ALBITZ, P.; LIU, C. DNS and Bind. OReilly & Associates, 1993. 11 Apostila de redes: http://serverapostilando.com/tutorials2/2719_2834_redes_boa.zip 11 BALLEW, Scott M. Managing IP Networks with Cisco Routers. OReilly & Associates, 1997. 11 BRISA (Sociedade Brasileira para Interconexo de Sistemas Abertos). Gerenciamento de redes: uma abordagem de sistemas abertos. Makron Book, 1 ed., 1993. 11 CCNA ICND Exam Certification Guide (CCNA Self-Study, 640-811, 640-801). 11 CCNP BCRAN Exam Certification Guide (CCNP Self-Study, 642-821) 2 ed. Inc. Cisco Systems. Internetworking Technologies Handbook. 2 ed., Cisco Press, 2000. 11 COMER, Douglas E. Internetworking with TCP/IP Volume I: Principles, Protocols and Architecture. Fourth Edition. Prentice Hall, 2000. 11 Country codes in ISO 3166: http://www.davros.org/misc/iso3166.html 11 Dgitro: http://www.digitro.com/pt/index.php/sala-imprensa/glossario. Acesso em: 05 fevereiro 2011. 11 FEIT, Sidnie. SNMP: A guide to Network Management. McGraw-Hill, 1 ed., 1995. 11 GILMORE, Mike. Understanding OM1, OM2, OM3, OS1, OS2 and more! The Fibreoptic Industry Association. Disponvel em https://learningnetwork.cisco.com/docs/DOC-3791. Acesso em 23/08/2013. 11 GONALVES, Jos. O Protocolo OSPF. UFES. http://www.inf.ufes.br/~zegonc/material/S.O.%20II/Protocolo%20OSPF.pdf 11 GONALVES, Jos. O Protocolo RIPv1. UFES. http://www.inf.ufes. br/~zegonc/material/S.O.%20II/Protocolo%20RIPv1%20(1pag).pdf 11 GONALVES, Jos. O Protocolo RIPv2. UFES. http://www.inf.ufes. br/~zegonc/material/S.O.%20II/Protocolo%20RIPv2%20(1pag).pdf
Bibliografia

11 HARNEDY, Sean. Total SNMP: Exploring the Simple Network Management Protocol. Prentice-Hall, 2 ed., 1997.

393

11 IEEE 802.1Q Standard: http://standards.ieee.org/getieee802/ download/802.1Q-1998.pdf 11 Infraestrutura de redes: http://www.apostilando.com/download_final. php?cod=3162 11 Lynx Networks. Tabela de fibras pticas: http://www.lynxdatacabling.co.uk/documents/fibre_optic_interfaces.pdf 11 MARTINS, Joberto. Qualidade de Servio (QoS) em Redes IP. http://professores.unisanta.br/santana/downloads%5CTelematica%5CCom_ Dados_2%5CTexto%20QoS_IP_Itelcon.pdf 11 MARTINS; Agnaldo Lopes; MARANI, Sandro. Topologias de redes. http://web.archive.org/web/20100331110201/http://www.micropic.com. br/noronha/Informatica/REDES/Redes.pdf 11 MENDES, Douglas Rocha. Redes de Computadores. Novatec: http://novatec.com.br/livros/redescom/capitulo9788575221273.pdf 11 MONTEIRO, Edmundo; BOAVIDA, Fernando. Engenharia de Redes de Informtica, 10a. Ed., FCA, 2000. 11 MORIMOTO, Carlos E. Cabeamento estruturado, 2008. http://www.hardware.com.br/livros/redes/cabeamento-estruturado.html 11 MOURA, Alex Soares de. O Protocolo BGP4 - Parte 1. http://www.rnp.br/newsgen/9903/bgp4.html 11 NOGUEIRA, Mauro Lcio Baioneta; MELCHIORS, Cristina. Um pequeno estudo sobre par tranado: http://penta.ufrgs.br/rc952/Cristina/utpatual.html 11 O que uma rede: www.inf.ufsc.br/~bosco/ensino/ine5344/o_que_e_uma_rede.ppt 11 Overview of Generic Attribute Registration Protocol: http://www.alliedtelesyn.co.nz/documentation/at8700/261/pdf/garp.pdf 11 Projeto da Topologia da Rede http://www.dsc.ufcg.edu.br/~jacques/cursos/pr/html/logico/logico1.htm 11 Redes sem fio: http://www.teleco.com.b