Campinas/SP - Brasil

Tamanho: px
Começar a partir da página:

Download "Campinas/SP - Brasil"

Transcrição

1 Autor: Prof. Marcos Antônio de Almeida Corá 2 o Semestre de 2006 Campinas/SP - Brasil versão

2 Prefácio Objetivos Este trabalho 1 tem por objetivo abordar de forma resumida, conceitos básicos sobre Redes de Computadores. Serve como material didático de apoio à disciplina de Redes de Computadores. Portanto, este documento não supri a necessidade dos livros-texto recomendados nas referências bibliográficas da disciplina. Organização do Trabalho Este trabalho está organizado em 12 capítulos e 1 apêndice (A). O capítulo 1 defini alguns conceitos introdutórios sobre Comunicação de Dados, apresentando uma breve evolução histórica e uma classificação das redes de computadores quanto a dimensão (LANs, MANs e WANs) e quanto ao tipo de comutação (Redes Comutadas por Pacotes e Redes Comutadas por Circuitos), além de definir algumas terminologias utilizadas na área, como: Interface de Rede, Protocolo, Largura de Banda, Banda Passante, Latência, Delay, Jitter, Atenuação, Multiplexação e Demultiplexação, etc. O capítulo 2 apresenta uma introdução a alguns dos principais Meios de Transmissão utilizados, classificando-os em duas partes: Meios Guiados, ou seja, com Cabo (Cabo Coaxial, Par Trançado e Fibra Óptica) e Meios Não Guiados, ou seja, sem Cabo (Rádio, Microondas e Infravermelho). No capítulo 3 são apresentados conceitos básicos sobre os principais arranjos topológicos (Topologias) aplicados à Redes Locais, como as redes em anel, em estrela e em barramento. No capítulo 4 são definidos conceitos básicos sobre Padronização de Redes, apresentando algumas das principais organizações internacionais de padronização existentes atualmente (IETF, IEEE, ISO e ITU). Traz também uma abordagem sobre os principais padrões e modelos de referência, criados tanto para LANs quanto para WANs, dentre eles, o mais referenciado, o modelo OSI desenvolvido pela ISO. O capítulo 5 ressalta a importância do uso de códigos corretores ou detectores de erros nas transferências de informações, apresentando algumas técnicas aplicadas em Detecção e Correção de Erros. O capítulo 6 apresenta uma breve introdução à interconexão de redes de computadores e conceitos básicos sobre alguns Equipamentos de Redes mais utilizados, classificando-os de acordo com suas respectivas funções e camadas de atuação do modelo OSI. No capítulo 7 são apresentados dois algoritmos para Moldagem de Tráfego, utilizados para tentar minimizar o problemas do tráfego em rajadas, muito comum em redes IP. 1 Este documento foi editado através do sistema de editoração de textos L A TEX. ii

3 Corá, M.A.A. O capítulo 8 traz uma visão geral sobre Roteamento e protocolos de roteamento, dividindoos em duas classes: protocolos IGPs (Interior Gateway Protocols) e protocolos EGPs (Exterior Gateway Protocols). Além de discutir as diferenças entre os tipos de algoritmos utilizados por cada protocolo (vetor distância ou estado de enlace). O capítulo 9 faz uma abordagem simples sobre os conceitos envolvidos em Endereçamento IP, incluindo as duas versões do protocolo (IPv4 e IPv6). Traz também uma introdução aos conceitos de classes de endereço, máscaras, sub-redes, CIDR e NAT. Todavia, este capítulo aborda somente as questões referentes a endereçamento, ficando os detalhes dos cabeçalhos para o capítulo 10 (Arquitetura TCP/IP). O capítulo 10 apresenta a Arquitetura TCP/IP, suas camadas e seus respectivos protocolos. São apresentados detalhes dos formatos dos cabeçalhos dos protocolos, além de conceitos como Fragmentação IP e mecanismos para transição do IPv4 para IPv6. No capítulo 11 são abordados conceitos básicos sobre Sistemas Operacionais de Redes, além de conceitos sobre Arquitetura Cliente-Servidor, Drivers da Interface de Rede e os principais serviços oferecidos por uma rede. O capítulo 12 tem por objetivo apresentar uma breve introdução sobre o vasto tema Segurança em Redes de Computadores. São abordados aspectos referentes aos mecanismos de ataque (como sniffers, trojans, spoofing, etc) e aos mecanismos de defesa (como criptografia, firewalls, proxies, etc). No apêndice A são apresentados alguns Utilitários de Rede. São comandos utilizados para verificar as configurações da interface, conhecer melhor a estrutura da rede, e também identificar problemas que possam ocorrer. iii

4 Lista de Siglas e Acrônimos ABNT (Associação Brasileira de Normas Técnicas), page 29 ADSL (Asymetric Digital Subscriber Line), page 40 ANSI (American National Standards Institute), page 29 APNIC (Asia Pacific Network Information Centre), page 61 ARIN (American Registry for Internet Numbers), page 61 ARP (Address Resolution Protocol), page 92 ARPANET (Advanced Research Projects Agency Network), page 74 AS (Autonomous Systems), page 56 ASN (Autonomous System Numbers), page 61 ASO (Address Supporting Organization), page 61 ATM (Asynchronous Transfer Mode), page 5 BGP (Border Gateway Protocol), page 58 BWA (Broadband Wireless Access), page 41 CIDR (Classless InterDomain Routing), page 68 COPS (Computer Oracle and Password Program), page 122 CRC (Código de Redundância Cíclica), page 44 DARPA (Defense Advanced Research Projects), page 74 DDoS (Distributed Denial of Service), page 110 DES (Data Encryption Standard), page 116 DHCP (Dynamic Host Configuration Protocol), page 66 DNS (Domain Name Server), page 98 DNSO (Domain Name Supporting Organization), page 61 DoS (Denial of Service), page 109 EGPs (Exterior Gateway Protocols), page 56 iv

5 Corá, M.A.A. EIA (Electronic Industry Association), page 14 EMI (Interferência Eletromagnética), page 11 FAPESP (Fundação de Amparo à Pesquisa do Estado de São Paulo), page 61 FDM (Multiplexação por Divisão de Frequência), page 8 FTP (File Transfer Protocol), page 98 Gbps (Gigabits por segundo), page 15 GHz (GigaHertz), page 20 gtlds (Global Top Level Domains), page 60 HTML (HiperText Markup Language), page 105 HTTP (HiperText Transfer Protocol), page 97 IANA (Internet Assigned Numbers Authority), page 60 ICANN (Internet Corporation for Assigned Names and Numbers), page 60 ICMP (Internet Control Message Protocol), page 88 IDS (Intrusion Detection Systems), page 119 IEEE (Institute of Electrical and Electronics Engineers), page 4 IGPs (Interior Gateway Protocols), page 56 IHL (Internet Header Length), page 76 IPng (IP Next Generation), page 82 IPSec (IP Security), page 124 IPv4 (Internet Protocol - version 4), page 70 IPv6 (Internet Protocol - version 6), page 70 ISP (Internet Service Provider), page 67 ISS (Internet Security Scanner), page 122 KHz (KiloHertz), page 20 LACNIC (Latin American and Caribbean Internet Addresses Registry), page 61 LANs (Local Area Networks), page 4 LED (Light Emissor Diode), page 15 LLC (Logical Link Control), page 34 LSP (Link State Packet), page 56 v

6 Corá, M.A.A. MAC (Media Access Control), page 8 MANs (Metropolitan Area Networks), page 4 Mbps (Megabits por segundo), page 4 MBWA (Mobile Broadband Wireless Access), page 41 MIT (Massachusetts Institute of Technology), page 117 MPs (Módulos Processadores), page 3 MSS (Maximum Segment Size), page 81 MTU (Maximum Transfer Unit), page 79 NAPT (Network Address and Port Translation), page 67 NAT (Network Address Translator), page 66 NCP (Network Control Protocol), page 74 NDIS (Network Driver Interface Specification), page 106 NSF (National Science Foundation), page 74 ODI (Open Data Link Interface), page 106 OOB (Out Off Band), page 96 OSI (Open Systems Interconnection), page 30 OSPF (Open Shortest Path First), page 57 PSO (Protocol Supporting Organization), page 61 QoS (Quality of Service), page 77 RARP (Reverse Address Resolution Protocol), page 94 RFC (Request For Comments), page 70 RIP (Routing Information Protocol), page 57 RIPE/NCC (Réseaux IP Européens/Network Coordination Centre), page 61 RSVP (Resource reservation Protocol), page 84 SAINT (Security Administrator Integrated Network Tool), page 122 SATAN (Security Analysis Tool for Auditing Network), page 122 SGBD (Sistema Gerenciador de Banco de Dados), page 103 SMTP (Simple Mail Transfer Protocol), page 99 SNMP (Simple Network Management Protocol), page 99 vi

7 Corá, M.A.A. SNR (Signal-to-Noise Ratio), page 11 SPF (Shortest Path First), page 57 SQL (Structured Query Language), page 104 SSL (Secure Sockets Layer), page 124 STP (Shielded Twisted Pair), page 13 TCP (Transmition Control Protocol), page 58 TDM (Multiplexação por Divisão de Tempo), page 8 THz (TeraHertz), page 20 TIA (Telecommunications Industry Association), page 14 ToS (Type of Service), page 77 TTL (Time to Live), page 78 UDP (User Datagram Protocol), page 57 URL (Uniform Resource Locator), page 97 UTP (Unshielded Twisted Pair), page 13 VLANs (Virtual Local Area Networks), page 48 VoIP (Voice over IP), page 88 VPN (Virtual Private Network), page 78 WANs (Wide Area Networks), page 4 WLANs (Wireless LANs), page 38 WMAN (Wireless Metropolitan Area Networks), page 40 WMM (Wi-Fi Multimedia), page 40 WPA (Wi-Fi Protected Access), page 39 WPAN (Wireless Personal Area Networks), page 40 WWW (World Wide Web), page 98 vii

8 Sumário Prefácio Siglas e Acrônimos ii iv 1 Introdução à Comunicação de Dados Conceito de Comunicação Formas de Transmissão Os termos Analógico e Digital Evolução Histórica O Código Morse Definição de Redes de Computadores Classificação das Redes de Computadores Quanto a Dimensão Quanto ao Tipo de Comutação Planos Funcionais de uma Rede Métodos de Transmissão Terminologias Meios de Transmissão Introdução Características Gerais dos Meios de Transmissão Formas de Utilização do Meio Meios com Cabo (Guiados ou Wired) Cabo Coaxial Conectores para Cabo Coaxial Par Trançado UTP (Unshielded Twisted Pair) STP (Shielded Twisted Pair) Fibra Óptica Fontes de Luz Características do cabo e Funcionamento Aplicações da Fibra Óptica Vantagens e Desvantagens da Fibra Óptica Meios sem Cabo (Não-Guiados ou Wireless) Espectro Eletromagnético Rádio Microondas Infravermelho viii

9 SUMÁRIO Corá, M.A.A. 3 Topologias Definição Tipos de Topologias de Redes Topologia em Malha (Totalmente Ligada) Topologia em Estrela Topologia em Anel Topologia em Barramento (BUS) Topologia em Árvore Padronização de Redes Introdução O Modelo de Referência OSI da ISO (RM OSI/ISO) Camada 1 (Física) Camada 2 (Enlace) Camada 3 (Rede) Camada 4 (Transporte) Camada 5 (Sessão) Camada 6 (Apresentação) Camada 7 (Aplicação) Transmissão de Dados no Modelo OSI O Projeto IEEE Padrão IEEE (Ethernet) O método de acesso CSMA/CD Padrão IEEE (Token Ring) O método de acesso Token Passing Outros Padrões IEEE (LLC - Logical Link Control) (Token Bus) (DQDB - Distributed Queue Dual Bus) (WLAN) (WPAN) (WMAN) (Mobile-Fi) Detecção e Correção de Erros Introdução Técnicas de Detecção de Erros Paridade Checksum Código Polinomial Técnicas de Correção de Erros Códigos de Hamming ix

10 SUMÁRIO Corá, M.A.A. 6 Equipamentos de Redes Introdução à Interconexão de Redes de Computadores Equipamentos de Redes Patch-Panels Repetidores Hubs Bridges (Pontes) Switches Roteadores Comutadores Ópticos Moldagem de Tráfego (Traffic Shaping) Introdução O Algoritmo de Balde Furado (Leaky Bucket) O Algoritmo de Balde de Tokens (Token Bucket) Roteamento Introdução à Roteamento Roteamento Estático Roteamento Dinâmico Sistemas Autônomos IGPs (Interior Gateway Protocols) O Protocolo RIP (Routing Information Protocol) O Protocolo OSPF (Open Shortest Path First) EGPs (Exterior Gateway Protocols) O Protocolo BGP (Border Gateway Protocol) Endereçamento IP Introdução à Endereçamento Endereçamento IPv Classes de Endereçamento IP Máscaras e Sub-Redes Endereços IP Não-Roteáveis NAT (Network Address Translator) CIDR (Classless InterDomain Routing) Endereçamento IPv Representação do Endereço IPv Hierarquia de Endereçamento IPv Arquitetura TCP/IP Histórico A Arquitetura TCP/IP e o Modelo OSI Conjunto de Protocolos TCP/IP A Camada Inter-Redes IPv Fragmentação e Remontagem do IPv IPv Transição do IPv4 para o IPv ICMPv x

11 SUMÁRIO Corá, M.A.A ICMPv ARP RARP A Camada de Transporte TCP UDP A Camada de Aplicação HTTP FTP Telnet DNS SMTP SNMP Sistemas Operacionais de Redes Introdução Arquitetura Cliente/Servidor O Módulo Servidor Servidor de Arquivos Servidor de Banco de Dados Servidor de Impressão Servidor Web Drivers da Placa de Rede (Device Drivers) NDIS (Network Driver Interface Specification) ODI (Open Data Link Interface) Segurança em Redes de Computadores Introdução Mecanismos de Ataque Engenharia Social Trojans Sniffers DoS (Denial of Service) DDoS (Distributed Denial of Service) Ping da Morte (Ping of Death) Spoofing Spywares Phishing Mecanismos de Defesa Esteganografia Criptografia Criptografia Simétrica ou de Chave Secreta Criptografia Assimétrica ou de Chave Pública Firewalls Proxies Wrappers Sistemas de Detecção de Intrusão (IDS) Certificados Digitais Verificadores de Senhas xi

12 SUMÁRIO Corá, M.A.A Analisadores de Logs Ferramentas de Auditoria Honeypots e Honeynets Sistemas Biométricos Protocolos de Segurança IPSec (IP Security) SSL (Secure Sockets Layer) A Utilitários de Rede 126 A.1 winipcfg A.2 ipconfig A.3 ifconfig - para ambiente LINUX A.4 arp A.5 ping A.6 traceroute A.6.1 Funcionamento do traceroute A.7 nslookup A.8 netstat Referências Bibliográficas 135 xii

13 Lista de Figuras 1.1 Sinal Analógico e Sinal Digital Redes de Computadores / Compartilhamento de Recursos Planos Funcionais de uma Rede Métodos de Transmissão Exemplo de Multiplexação FDM e TDM Multiplexação e Demultiplexação Formas de Utilização do Meio Cabo Coaxial Conectores para Cabo Coaxial [17] Conector RJ-45 para cabos Par Trançado [17] Exemplos da incidência de um raio de luz dentro da fibra [1] Conectores para Fibra Óptica [17] Espectro Eletromagnético Topologia em Malha Topologia em Estrela Topologia em Anel Topologia em Barramento Topologia em Árvore IEEE (Institute of Electrical and Electronic Engineers) ISO (International Organization for Standardization) ITU (International Telecommunication Union) IETF (Internet Engineering Task Force) As 7 camadas do Modelo de Referência OSI [1] Exemplo de Colocação de Cabeçalhos no Modelo OSI Relação entre o Modelo de Referência OSI e os Padrões IEEE 802 [2] Padrão IEEE (Token Bus) [1] Padrão IEEE (DQDB - Distributed Queue Dual Bus) [2] Exemplo de Circuito Lógico para Paridade PAR Um Hub [28] Switch [28] Exemplo simplificado de uma Tabela de Comutação Roteador - (Router) [28] Comutadores Ópticos - Optical Network Switch (ONS) [28] Algoritmo Leaky Bucket xiii

14 LISTA DE FIGURAS Corá, M.A.A. 7.2 Algoritmo Token Bucket ASs comunicando-se via BGP Estrutura hierárquica do ICANN Representação de um octeto Classes de Endereçamento IP Exemplo de uma Máscara de Rede Posicionamento e operação de um servidor NAT [1] Hierarquia do endereço IPv Comparação entre a Arquitetura TCP/IP e o Modelo OSI da ISO [1] Formato do cabeçalho IPv Significado do campo ToS Subdivisão do campo Flags Exemplo de um pacote grande sendo fragmentado em 3 pacotes menores Formato do cabeçalho IPv Possíveis cenários IPv4/IPv Dual-Stack Router Formato do cabeçalho ICMP Formato do cabeçalho ARP Formato do cabeçalho TCP Conceito de Janelas Deslizantes Formato do cabeçalho UDP Serviço de Banco de Dados através de um Servidor de Arquivos Servidor de Banco de Dados Servidor de Impressão Servidor Web Cifra por substituição (Cifra de César) [14] Cifra por Transposição Criptografia Simétrica ou de Chave Privada[14] Esquema simplificado de um Firewall Sistemas de reconhecimento Biométrico [20] Uma transação Web através do protocolo HTTPS [18] A.1 Comando winipcfg para Windows 9x A.2 Comando ipconfig /? A.3 Comando ipconfig A.4 Comando ipconfig /all A.5 Comando ifconfig para Linux A.6 Comando arp A.7 Comando arp -a A.8 Comando arp -n [hostname ou IP] A.9 Comando ping A.10 Comando tracert A.11 Comando nslookup A.12 Comando netstat xiv

15 Lista de Tabelas 2.1 Categorias e taxas de transmissão dos cabos UTP Padrões 568A e 568B para cabos UTP cat Modelo simplificado de uma Tabela de Roteamento Classes de Endereçamento IP Endereços IP de Classe C divididos por região geográfica Relação Sub-Redes vs Hosts de acordo com a máscara adotada Endereços IP não roteáveis Pilha de protocolos TCP/IP. Cada camada representa um conjunto de funções Exemplos de Portas e Aplicações xv

16 Capítulo 1 Introdução à Comunicação de Dados 1.1 Conceito de Comunicação A comunicação é uma das maiores necessidades da sociedade humana desde os primórdios de sua existência. Conforme as civilizações espalhavam-se ocupando áreas geograficamente cada vez mais distantes, a comunicação a longa distância se tornava cada vez mais uma necessidade e consequentemente um desafio. Surgiram então as formas de comunicação, através de sinais de fumaça, pombos correio e outras como uma maneira de tentar aproximar as comunidades distantes. A comunicação por si, baseia-se em alguns componentes essenciais, como: Transmissor Meio de Transmissão (Canal por onde a informação será transmitida) Linguagem de Comunicação Comum (Protocolo de Comunicação) Receptor 1.2 Formas de Transmissão Qualquer informação é transmitida através de um meio de transmissão. A forma mais comum e conhecida de transmissão de uma mensagem é pelo som, o qual é irradiado pelo ar, ou seja, nesse tipo de comunicação, o meio de transmissão é o ar, no qual a informação se propaga através de ondas sonoras onidirecionais. O som é irradiado e faz o ar vibrar e transmitir o sinal. Porém, com o surgimento da eletricidade, surge a comunicação elétrica entre equipamentos, onde o meio de transmissão mais comum é o fio de metal, pelo qual o sinal elétrico se propaga levando consigo a informação. Surge então o princípio da Comunicação Digital. Anos depois, surge também a transmissão digital através da luz como sinal, permitindo a transmissão em altíssimas velocidades, é o princípio da Comunicação Óptica. Vale ressaltar uma diferença básica entre a comunicação digital através da eletricidade e a comunicação digital através da luz, onde a comunicação digital através da eletricidade se dá por meio da variação dos níveis de tensão da corrente elétrica que serão interpretados como zeros e uns. Já a transmissão digital por luz se dá através da ausência e presença de luz, que também serão interpretados como zeros e uns respectivamente. 1

17 1.3 Evolução Histórica Corá, M.A.A Os termos Analógico e Digital Os termos analógico e digital, correspondem, de certa maneira a variação contínua ou discreta no tempo respectivamente. Esses termos são frequentemente utilizados no contexto de comunicação de dados para qualificar tanto a natureza das informações, quanto a característica dos sinais utilizados para a transmissão através de meios físicos. A transmissão adequada dos dados depende de 2 aspectos principais: a qualidade do sinal transmitido e as características do meio de transmissão. Em qualquer situação a transmissão do sinal ocorre através de ondas eletromagnéticas em um meio classificado como guiado ou não-guiado, veja 2. Os computadores por exemplo, armazenam, processam e codificam informações em bits que correspondem a dois níveis discretos de tensão ou corrente, representado os valores lógicos 0 e 1. Este tipo de informação é chamada digital. No caso discreto a intensidade do sinal mantém-se constante durante um intervalo de tempo e muda bruscamente para um outro nível constante que irá perdurar por um outro intervalo de tempo. Já as informações que apresentam variações contínuas de amplitude, constitui-se no tipo de informação que comumente chamamos de analógica, onde a intensidade do sinal varia no tempo sem descontinuidades. Amplitude (Volts) Amplitude (Volts) tempo tempo Figura 1.1: Sinal Analógico e Sinal Digital 1.3 Evolução Histórica Tratar de todos os marcos importantes para as telecomunicações, seria algo que demandaria muito tempo e precisão para não esquecer nenhum personagem histórico importante, o que seria uma injustiça. Todavia, um personagem, fez a diferença neste contexto. A invenção do telégrafo por Samuel F.B. Morse em 1838 inaugurou uma nova época na comunicações. Nos primeiros telégrafos do século XIX, mensagens eram codificadas em cadeias de símbolos binários (Código Morse) e então transmitidas manualmente por um operador, através de um dispositivo gerador de pulsos elétricos. Desde então a transmissão através de sinais elétricos atravessou uma grande evolução, dando origem a maior parte dos grandes sistemas de comunicação que temos hoje em dia, como o telefone, o rádio, etc. 2

18 1.4 Definição de Redes de Computadores Corá, M.A.A O Código Morse A técnica consistia basicamente em interrupções do sinal por meio de uma chave operada manualmente, que fazia com que a corrente elétrica deixasse de percorrer o fio. Assim, o transmissor podia transmitir e interromper uma corrente elétrica. O envio de corrente por um período curto representava um ponto (.) e o envio de corrente por um período longo representava um traço (-). Combinando traços e pontos, obtinha-se um código de representação de letras e números. O código foi portanto, o código binário, na qual as letras e números eram representados por um conjunto de correntes longas (interpretadas como traços - ) e correntes curtas (interpretadas como pontos. ). Veja os exemplos abaixo: A =. - (curto, longo) B = -... (longo, curto, curto, curto) C = (longo, curto, longo, curto) D = -.. (longo, curto, curto) E =. (curto) Q = (longo, longo, curto, longo) 1 = = = No entanto, é possível observarmos no Código Morse, um dos princípios básicos da Teoria da Informação: Quanto maior a probabilidade de ocorrência da palavra, menor o tamanho de sua codificação. Por exemplo, se observarmos a letra E que é comum na língua inglesa e ocorre várias vezes na construção de várias palavras, podemos verificar que ela é composta por apenas um ponto (.), ao passo que a letra Q, que não possui grande ocorrência na língua inglesa, possui uma codificação maior (- -. -). Isto é até hoje uma das principais teorias da comunicação. 1.4 Definição de Redes de Computadores Dentre as várias definições possíveis para redes de computadores, a definição abaixo, parece ser a que melhor atende a abrangência do assunto. Uma Rede de Computadores pode ser definida como um conjunto de Módulos Processadores (MPs), capazes de trocar informações e compartilhar recursos, interligados por um sistema de comunicação, conforme ilustrado na figura 1.2. O Sistema de Comunicação constitui-se de um arranjo topológico (topologia), interligando vários MPs (Módulos Processadores), através de enlaces físicos (meios de transmissão), e de um conjunto de regras com o objetivo de organizar a comunicação (protocolos). 1.5 Classificação das Redes de Computadores Quanto a Dimensão LANs (Local Area Networks): Surgiram dos ambientes dos institutos de pesquisa e universidades. Pode-se caracterizar uma Rede Local como sendo uma rede que permite 3

19 1.5 Classificação das Redes de Computadores Corá, M.A.A. Figura 1.2: Redes de Computadores / Compartilhamento de Recursos a interconexão de equipamentos de comunicação de dados numa pequena região. Podemos dizer que as LANs possuem basicamente 3 características que estão relacionadas ao Tamanho, a Tecnologia de Transmissão e a Topologia. Sendo que a escolha da Tecnologia de Transmissão, reflete diretamente nas taxas de transmissão e na topologia. Por exemplo, a tecnologia Ethernet, padrão 802.3, padronizada pelo IEEE (Institute of Electrical and Electronics Engineers) possui taxas de transmissão que variam de 10 a 100 Mbps, e normalmente a topologia adotada é a de barramento. Já no caso da tecnologia Token Ring, padrão 802.5, também padronizada pelo IEEE, possui taxas de transmissão que variam de 4 a 16 Mbps, e normalmente é empregada em topologia anel. MANs (Metropolitan Area Networks): As Redes Metropolitanas apresentam características semelhantes as Redes Locais, sendo que as MANs em geral, cobrem distâncias maiores do que as LANs operando em velocidades maiores. WANs (Wide Area Networks): As Redes de Longa Distância surgiram da necessidade de se compartilhar recursos especializados por uma comunidade de usuários geograficamente dispersos. Por terem um custo de comunicação bastante elevado (fibra óptica, comutadores ópticos, circuitos para satélites, enlaces de microondas, etc), tais redes são em geral públicas, isto é, o Sistema de Comunicação, é mantido, gerenciado e de propriedade de grandes operadoras (públicas ou privadas). Diante dessas considerações, o arranjo topológico numa rede WAN é diferente daqueles utilizados nas LANs. A internet é um bom exemplo deste tipo de rede. Formada por diversas outras redes (LANs, MANs, etc), a internet apresenta uma heterogeneidade muito grande, o que dificulta a interconexão dessas redes, principalmente quando parâmetros de QoS (Quality of Service) são prioridade Quanto ao Tipo de Comutação Independente do tipo de conexão que façam, seja entre computadores ou entre terminais e computadores, as redes de comunicação dividem-se em dois tipos básicos: de comutação de 4

20 1.5 Classificação das Redes de Computadores Corá, M.A.A. circuitos (também conhecidas como redes baseadas em conexões) e de comutação de pacotes (conhecidas, ainda, como redes sem conexão). Comutação por Circuito: A comutação por circuitos opera formando uma conexão dedicada entre duas pontas. O sistema telefônico por exemplo, utiliza uma tecnologia de comutação de circuitos - uma chamada telefônica estabelece um circuito da linha de quem telefona, através de uma central de comutação local, passando por linhas do tronco, até uma central de comutação remota e, finalmente, ao destinatário da chamada. Enquanto um circuito estiver aberto, o equipamento telefônico testa o microfone várias vezes, converte os sinais para o formato digital e os transmite através do circuito para o receptor. A vantagem da comutação de circuitos reside na sua capacidade segura: uma vez que um circuito é estabelecido, nenhuma outra atividade de rede poderá reduzir a capacidade do circuito. A desvantagem da comutação de circuitos é o alto custo: o preço é fixo, independente do tráfego. Por exemplo, o preço de uma ligação telefônica é o mesmo, ainda quando as duas pontas não se comunicam. Comutação por Pacotes: Nas redes de comutação de pacotes, as mensagens a serem transmitidas através das estações da rede são divididas em pequenas unidades chamadas pacotes que são multiplexados por meio de conexões entre máquinas de alta capacidade. Um pacote que geralmente contém apenas pequenas unidades de informações transporta uma identificação que capacita o hardware da rede a enviar as informações a determinado destino. Por exemplo, a transmissão de um arquivo extenso entre dois equipamentos deve ser feita a partir da divisão do arquivo em vários pacotes antes de encaminhá-los a rede. O hardware da rede envia os pacotes aos seus respectivos destinos onde o software os reúne novamente em um único arquivo. A grande vantagem da comutação de pacotes é a possibilidade de realizar simultaneamente várias comunicações entre computadores, com conexões entre equipamentos compartilhados por todos os pares de equipamentos que estão se comunicando. A desvantagem é que a medida que a atividade se intensifica, um determinado par de computadores conectados entre si recebe uma capacidade menor da rede. Ou seja, toda vez que uma rede de comutação de pacotes estiver sobrecarregada, os computadores conectados a ela terão que esperar até poderem enviar pacotes adicionais. Observação: Há duas modalidades de Comutação por Pacotes: Datagrama: A comutação baseada em Datagramas não requer sinalização, sendo cada pacote encaminhado de forma independente dos demais pacotes. Além disto, os pacotes podem percorrer rotas diferentes e serem entregues em ordem diferente da qual foram enviados, o que dificulta obter parâmetros de QoS. Circuitos Virtuais: Circuitos Virtuais procuram imitar os circuitos reais, no que tange as garantias de QoS de um canal dedicado. Possui uma sinalização para o estabelecimento de uma rota e reserva de recursos nos equipamentos da rota. Desta forma, os pacotes são entregues sem erros e na mesma ordem de envio. Todavia, uma falha em um equipamento na rota, compromete o circuito virtual. Redes ATM (Asynchronous Transfer Mode) e redes Frame Relay, são bons exemplos de redes comutadas por pacotes que utilizam circuitos virtuais. 5

21 1.6 Planos Funcionais de uma Rede Corá, M.A.A. 1.6 Planos Funcionais de uma Rede Figura 1.3: Planos Funcionais de uma Rede Toda rede pode ser subdividida basicamente em dois planos funcionais: Plano de Controle e Plano de Encaminhamento No plano de controle estão localizadas as funções de controle tais como sinalização, roteamento, conversão de endereços, policiamento de tráfego, mapeamento, controle de admissão, dentre outras. O plano de Controle, pode ser separado em duas partes: Plano de Sinalização - contendo os protocolos de sinalização Plano de Roteamento - contendo os protocolos de roteamento Já o plano de encaminhamento tem sua operação ditada pelo plano de controle e agrega funções relativas a propagação de datagramas IP, por exemplo, encapsulamento, segmentação, remontagem, rotulação e processamento de cabeçalho. 1.7 Métodos de Transmissão Os métodos de transmissão podem ser: Unicast: Uma transmissão Unicast, caracteriza-se por ser de um para um. Broadcast: A transmissão em Broadcast significa de um para todos. Este método de envio, causa desperdício da banda e está limitado a um único endereço de rede. Multicast: O envio através de Multicast, implica em uma transmissão para todos os participantes de um grupo. Pode ser aplicado em Teleconferência multimídia, jogos e simulações distribuídas, etc. Anycast: Caracteriza-se por ser um envio para um ou alguns participantes de um grupo. Estes métodos são influenciados diretamente pela tecnologia de transmissão utilizada, e consequentemente pela topologia e pelo meio de transmissão. 6

22 1.8 Terminologias Corá, M.A.A. 1.8 Terminologias Figura 1.4: Métodos de Transmissão Topologia: é a forma em que os elementos (equipamentos) da rede estão interligados, dispostos. Existe também o conceito de topologia lógica, mas este será tratado no capítulo 3. Protocolo: conjunto de regras e procedimentos que visa estabelecer uma padronização na comunicação entre dois ou mais MPs (Módulos Processadores). No caso de redes de computadores, um protocolo é o conjunto de normas que permite que dois ou mais computadores se comuniquem. Sendo assim, um protocolo nada mais é que um software ou programa de computador, que recebe ou envia os dados a serem transmitidos, agregando no início e/ou no fim das mensagens transmitidas, os caracteres de controle, confirmação de recebimento, controle de sequência das mensagens ou blocos de dados transmitidos, cálculo e checagem do algoritmo de detecção de erros e outros controles necessários a uma boa transmissão. Banda Passante: denomina-se banda passante de um sinal o intervalo de frequências que compõem um sinal. Largura de Banda: ou Bandwidth é o tamanho da banda passante, ou seja, a diferença entre a maior e a menor frequência que compõem o sinal. Isto reflete na quantidade máxima de informação que pode trafegar através de um canal de transmissão. Por exemplo, a largura de banda em redes ethernet 10 base T (10 Mbps) é de 10 MHz onde o sinal é decomposto entre as frequências de 0 a 10 MHz. Interface de Rede: Dispositivo de E/S que conecta o computador ao meio físico. As interfaces de rede, possuem um endereço único, conhecidos por endereço MAC (Media 7

23 1.8 Terminologias Corá, M.A.A. Access Control). Exemplo: 08:00:B4:44:85:D6. O esquema é simples: dos 48 bits, 24 (3 bytes) identificam o fabricante e o restante o número de série da interface. Por exemplo: 08:00:02 (3COM), 00:00:0C (Cisco), 00:AA:00 (Intel), e assim por diante. O endereço especial FF:FF:FF:FF:FF:FF significa todas as estações (broadcast). Driver de Rede: Programa que controla a interface de rede. Delay: demora, atraso, retardo. O delay é dado pelo o atraso médio por pacote, ou seja, o cômputo do delay é feito sobre a chegada de cada pacote. O tamanho do pacote influi no delay. Jitter: variação entre delays, ou seja, é a variabilidade do atraso. O efeito jitter é a variação entre os tempos de chegada dos pacotes no destino provocados pela rede. A remoção do efeito jitter requer que os pacotes sejam armazenados por tempo suficiente em buffers (técnicas de moldagem de tráfego), porém isso gera delay na transmissão que igualmente geram problemas de qualidade. Deve-se encontrar um ponto de equilíbrio na configuração. O jitter afeta diretamente as aplicações multimídia, cuja operação depende de alguma forma da garantia de que os pacotes serão processados em períodos de tempo bem definidos, com fluxo regulado e contínuo, como por exemplo, aplicações de voz e vídeo. Latência: Intervalo de tempo gasto por uma mensagem para atravessar a rede, ou seja, o tempo que um pacote leva da origem ao destino. Fatores como Delay, Jitter, velocidade de transmissão e processamento nos equipamentos, afetam diretamente a latência. De maneira geral, a latência da rede pode ser entendida como o somatório dos atrasos impostos pela rede e equipamentos utilizados na comunicação. Para melhor entendimento, veja a analogia feita ao uso de um aplicativo: Quando alguém interage com o desktop, apertando teclas ou movendo o mouse, o tempo que o aplicativo leva para reagir e mostrar o efeito na tela, é conhecido como latência. Multiplexação: técnica que permite a transmissão de mais de um sinal em um mesmo meio físico, ou seja, permite a combinação de vários sinais simultâneos, com o intuito de melhor aproveitar a largura de banda do canal de comunicação. Veja figura 1.6. As duas principais técnicas de multiplexação são: Multiplexação por Divisão de Frequência (FDM) e Multiplexação por Divisão de Tempo (TDM). A primeira técnica divide a largura de banda em diversas larguras de banda menores, cada qual com seu próprio domínio de frequências. Cada um destes canais podem ser usados separadamente como se fosse uma linha separada. A segunda técnica consiste em dispor toda a largura de banda do canal, durante um certo tempo, para um sinal, sendo um de cada vez. A figura 1.5 mostra um exemplo de multiplexação FDM e TDM respectivamente. Atualmente, com o avanço da comunicação óptica, é comum a multiplexação por divisão de comprimento de onda (WDM - Wavelength Division Multiplexing), que corresponde a técnica de multiplexação por divisão de frequência (FDM) aplicada aos sistemas operando nas frequências ópticas. O WDM vem a ser um modo de aumentar a largura de banda dos sistemas ópticos, pela operação simultânea de mais de um comprimento de onda num mesmo canal óptico. Demultiplexação: técnica que permite o processo contrário da multiplexação, sem perda dos sinais, ou seja, permite a restauração dos sinais combinados à sua forma original. Veja figura

24 1.8 Terminologias Corá, M.A.A. Figura 1.5: Exemplo de Multiplexação FDM e TDM Figura 1.6: Multiplexação e Demultiplexação Backbone: Backbones são redes consideradas espinhas dorsais da Internet. Os backbones garantem o fluxo da informação entre os provedores e ligam todos os países. No Brasil, poucas empresas são realmente proprietárias de backbones de Internet, como é o caso da Embratel e da Telefônica. Estas empresas vendem a conexão com os backbones para os provedores de acesso a Internet. Estes provedores então, vendem o acesso discado via linha telefônica aos usuários finais. O backbone é o trecho de maior capacidade da rede, com uma infra-estrutura de alta velocidade e que proporciona a conexão com várias redes menores. Cada país tem uma rede principal para transmitir pacotes da Internet. Geralmente um país tem poucos backbones ou até mesmo um só. Um deles, pelo menos, é mantido pelo Estado. Mas existem também backbones em empresas particulares. O primeiro backbone da Internet criado no Brasil foi a RNP (Rede Nacional de Pesquisa), começou atendendo entidades, faculdades ou universidades que queriam se conectar a rede. A partir de 1995, a Embratel implantou um backbone paralelo ao da RNP, e passou a oferecer serviços de conexão a empresas privadas. Os fornecedores de acesso permanecem ligados diretamente ao backbone. 9

25 Capítulo 2 Meios de Transmissão 2.1 Introdução Os elementos de uma rede precisam de um canal para que possam estabelecer a comunicação entre eles. O canal que carrega as mensagens entre os elementos da Rede é chamado de meio de transmissão ou mídia de transmissão. Basicamente, podemos classificar os meios de transmissão em dois grupos: Meios com Cabo e Meios sem Cabo. 2.2 Características Gerais dos Meios de Transmissão Cada meio de transmissão possui suas próprias características especiais. Todavia, quase todos os meios possuem as seguintes características: Custo Instalação. Requisitos necessários, de equipamentos à mão de obra. Taxa de Transmissão. A taxa de transmissão é dada pela quantidade de dados (bits) que um padrão é capaz de transmitir, para que isto seja possível quando se especifica um padrão é escolhido o meio físico, a banda passante do sinal, a largura de banda que este meio físico tem que preservar o sinal. Atenuação: é o nome que se dá a queda de potência de um sinal a medida que o mesmo percorre uma determinada distância. Isto se dá em função de vários fatores como as características do ambiente onde o mídia de transmissão se encontra, podendo sofrer forte interferência externa, e também as propriedades do próprio meio de transmissão. Todo meio de transmissão atenua, e trata-se de uma característica inversamente proporcional, ou seja, um meio que possui uma baixa atenuação, consegue percorrer longas distâncias sem perda do sinal. Já um meio de alta atenuação, consegue manter o sinal por curtas distâncias. Susceptibilidade a EMI (Interferência Eletromagnética). Os ruídos causam distorções nos sinais e são um dos maiores limitantes do desempenho de sistemas de comunicação, geralmente são impostas pelas características do meio físico (ruído térmico) ou provenientes de interferências de sinais indesejáveis. A quantidade de ruído presente numa transmissão é medida em termos da razão entre a potência do sinal e a potência do ruído, denominada razão sinal-ruído (SNR - Signal-to-Noise Ratio). Quanto mais sofisticado o 10

26 2.2 Características Gerais dos Meios de Transmissão Corá, M.A.A. esquema de codificação de bits exige-se melhor SNR. O SNR é mensurado em decibéis (db) Formas de Utilização do Meio A transmissão num meio pode dar-se das seguintes formas: Simplex Half-Duplex ou Full-Duplex Uma comunicação é dita simplex quando permite comunicação apenas em um único sentido, tendo em uma extremidade um dispositivo apenas transmissor e do outro um dispositivo apenas receptor. Não há possibilidade do dispositivo receptor enviar dados ou mesmo sinalizar se os dados foram recebidos corretamente. Transmissões de rádio e televisão são exemplos de transmissão simplex. Uma comunicação é dita half-duplex (também chamada semi-duplex) quando existem em ambas as extremidades dispositivos que podem transmitir e receber dados, porém não simultaneamente. Durante uma transmissão half-duplex, em determinado instante um dispositivo A será transmissor e o outro B será receptor, em outro instante os papéis podem se inverter. Por exemplo, o dispositivo A poderia transmitir dados que B receberia. Em seguida, o sentido da transmissão seria invertido e B transmitiria para A a informação se os dados foram corretamente recebidos ou se foram detectados erros de transmissão. A operação de troca de sentido de transmissão entre os dispositivos é chamada de turn-around e o tempo necessário para os dispositivos chavearem entre as funções de transmissor e receptor é chamado de turn-around time. Uma transmissão é dita full-duplex (também chamada apenas de duplex) quando dados podem ser transmitidos e recebidos simultaneamente em ambos os sentidos. Poderíamos entender uma linha full-duplex como funcionalmente equivalente a duas linhas simplex, uma em cada direção. Como as transmissões podem ser simultâneas e não existe perda de tempo com turn-around, uma linha full-duplex pode transmitir mais informações por unidade de tempo que uma linha half-duplex, considerando-se a mesma taxa de transmissão de dados. Figura 2.1: Formas de Utilização do Meio 11

27 2.3 Meios com Cabo (Guiados ou Wired) Corá, M.A.A. 2.3 Meios com Cabo (Guiados ou Wired) Serão abordados somente três tipos de mídias de transmissão com cabo mais utilizados atualmente: Cabo Coaxial, Par Trançado e Fibra Óptica Cabo Coaxial Os cabos coaxiais foram os primeiros a serem usados em redes locais. Não é necessário ao se conectar mais que duas máquinas, a utilização de um HUB, como no caso da rede utilizando o cabo de par trançado. Nesta conexão um PC se conecta a um outro PC mais próximo por meio de uma placa de rede com saída BNC. É constituído de um condutor interno circundado por um condutor externo, tendo, entre os condutores, um isolante que os separa. O condutor externo (malha) por sua vez, é circundado por outra camada isolante. Veja figura 2.2: Malha de Cobre Isolante Capa Protetora Fio de Cobre Figura 2.2: Cabo Coaxial Em cada placa de rede se coloca um conector tipo T que permite a conexão do cabo que vem de outro PC. Do outro lado do conector tipo T conecta-se o cabo que vai para o próximo PC e assim sucessivamente. Quando a máquina é a última da linha, então na outra ponta coloca-se um terminador para que os dados sejam absorvidos e não retornem para a rede causando ruídos e interferências. Problemas na utilização de cabos coaxiais: Todavia, o cabo coaxial é considerado lento, com taxas de transmissão que variam de 2,5 a 10 Mbps ( bits/s), mas não é problema quando se tem poucas máquinas instaladas. Outro grande problema de uma rede coaxial é que seu funcionamento depende de todos os pontos da rede, se um deles falhar toda a rede deixará de funcionar. Ou seja, se por exemplo um dos conectores estiver mau conectado, nenhuma informação conseguirá trafegar por toda a rede. Outros fatores como peso e fragilidade das conexões também levaram ao desuso do cabo coaxial nas redes atuais. Existem vários tipos de cabos coaxiais no mercado, onde se diferem pela aplicação e por uma medida característica chamada impedância, que é definida em ohms. É importante usar um cabo com a impedância correta em qualquer situação. Estes são dois tipos de cabos coaxiais frequentemente utilizados: RG-58, cabo de 50 ohms (o mais comum em Redes Locais) 12

28 2.3 Meios com Cabo (Guiados ou Wired) Corá, M.A.A. RG-59, cabo de 75 ohms (utilizado principalmente para TV a cabo) No que diz respeito a atenuação, o cabo coaxial suporta em média 185m, sendo recomendado após este limite, a utilização de um repetidor para limpar e amplificar o sinal Conectores para Cabo Coaxial Figura 2.3: Conectores para Cabo Coaxial [17] Quanto a susceptibilidade a EMI, toda a mídia de cobre é sensível a EMI, embora a blindagem no cabo coaxial o torne razoavelmente resistente a EMI. No entanto, os cabos coaxiais irradiam parte do seu sinal Par Trançado O cabo de Par Trançado tornou-se um tipo de cabo dominante em todos os projetos de redes que utilizam fios de cobre. Várias razões justificam a popularidade do Par Trançado, sendo que as mais significativas são o custo e facilidade de instalação. Há alguns anos a rede feita com cabo de par trançado vem substituindo as redes construídas com cabos coaxiais de 50 ohms devido principalmente a facilidade de manutenção, pois com o cabo coaxial é muito trabalhoso achar um defeito, devido ao fato de que se houver um mau contato ou qualquer problema com as conexões em algum ponto da rede, o problema se refletirá em todas as máquinas da rede, o que não acontece em uma rede de par trançado. Outro motivo é a vantagem de se atingir maior taxa de transmissão, podendo trabalhar não somente a 10 Mbps, mas também a 100 Mbps (UTP categoria 5, utilizado na tecnologia Fast Ethernet). Dá-se o nome de cabo de par trançado devido que os pares de fios são entrelaçados por toda a extensão do cabo, evitando assim interferências externas, ou do sinal de um dos fios para o outro. Existem basicamente, dois tipos de cabos par trançado: UTP (Unshielded Twisted Pair), ou seja, Par Trançado sem blindagem. STP (Shielded Twisted Pair), ou seja, Par Trançado com blindagem 13

29 2.3 Meios com Cabo (Guiados ou Wired) Corá, M.A.A UTP (Unshielded Twisted Pair) O cabo UTP é sem duvida o cabo mais utilizado neste tipo de rede, é de fácil manuseio, instalação e permite taxas de transmissão de até 100 Mbps com a utilização do cabo Categoria 5. Existem várias categorias de cabos UTP, que indicam a qualidade do cabo e as aplicações em que pode ser usado. Os mais primitivos são os cabos categoria 1, que eram usados em instalações telefônicas antigas. Os mais usados atualmente são os cabos categoria 5, que podem ser usados em redes Ethernet de 10 ou 100 megabits. O próximo padrão será o 5e, que será suportado por um novo padrão de placas Gigabit Ethernet. Os cabos UTP foram padronizados pelas normas da EIA/TIA (Electronic Industry Association / Telecommunications Industry Association) com a norma 568 e são divididos em 5 categorias. A tabela 2.2 traz um resumo simplificado dos cabos UTP: Categorias Taxas e Uso 1 e 2 (Taxas abaixo de 4 Mbps) 3 (Taxas até 16 Mbps), cabo padrão usado na maioria das instalações telefônicas 4 (Taxas até 20 Mbps) 5 (Taxas até 100 Mbps) o mais comum em Redes Locais Tabela 2.1: Categorias e taxas de transmissão dos cabos UTP Existem também as categorias com a categoria 5e que é uma melhoria das características dos materiais utilizados na categoria 5, que permite um melhor desempenho e taxas de até 1 Gbps, e a categoria 6, com melhores características que o 5e e velocidades que variam de 1Gbps até 10Gbps. Os conectores categoria 5e e 6 podem ser aparentemente semelhantes, porém os conectores categoria 6 tem melhor performance de transmissão. Estes conectores são mais caros, pois são feitos com novas tecnologias, processos e materiais, tornando o seu custo mais alto para os fabricantes. A construção de cabos par trançados deve seguir uma seguinte ordem dos fios, ordem esta ditada por alguma norma do EIA/TIA. Por exemplo, segue abaixo os padrões 568A e 568B (vistos de cima, da esquerda para direita, com o conector mais afastado do observador). Sequência do Padrão 568A Sequência do Padrão 568B Branco-Verde Branco-Laranja Verde Laranja Branco-Laranja Branco-Verde Azul Azul Branco-Azul Branco-Azul Laranja Verde Branco-Marrom Branco-Marrom Marrom Marrom Tabela 2.2: Padrões 568A e 568B para cabos UTP cat.5 As características mais comuns do cabo UTP são: No que diz respeito a atenuação, o cabo UTP Cat 5 suporta em média 100m, recomendado após este limite, a utilização de um repetidor. Quanto a susceptibilidade a EMI, toda a mídia de cobre é sensível a EMI, embora o cabo STP (com blindagem) seja menos sensível a EMI, o 14

30 2.3 Meios com Cabo (Guiados ou Wired) Corá, M.A.A. UTP é o cabo mais utilizado, desde que se tome o devido cuidado para evitar que dispositivos que geram ruídos elétricos como motores e luzes fluorescentes fiquem muito próximos dos cabos UTP. O conector mais utilizado para cabos Par Trançado é o RJ-45 (figura 2.4). Figura 2.4: Conector RJ-45 para cabos Par Trançado [17] É possível também criar um cabo para ligar diretamente dois micros, sem usar um Hub, chamado de cabo cross-over. Logicamente este cabo só poderá ser usado caso a sua rede tenha apenas dois micros. Neste tipo de cabo a posição dos fios é diferente nos dois conectores, de um dos lados a pinagem é a mesma de um cabo de rede normal, enquanto no outro a posição de alguns fios são invertidas, para evitar conflito de funções. Para construir um cabo com os pares cruzados (cross-over), normalmente uma ponta deve seguir a sequência de um padrão (568A), enquanto a outra ponta deve seguir outro padrão (568B) STP (Shielded Twisted Pair) O cabo blindado STP é muito pouco utilizado sendo basicamente necessário em ambientes com grande nível de interferência eletromagnética. No entanto, deve-se dar preferência a sistemas com cabos de fibra óptica quando se deseja grandes distâncias ou velocidades de transmissão ou ainda imunidade a EMI Fibra Óptica Inventada em 1952 pelo físico indiano Narinder Singh Kanpany a Fibra Óptica mostrase como o meio de transmissão de dados ideal em quase todas as circunstâncias. As taxas de transmissão são altíssimas e não possuem problemas com EMI. Seus cabos são duráveis e podem ter vários quilômetros de comprimento sem a necessidade de repetidor. Neste meio a informação é convertida em sinais de luz que se propagam ao longo da fibra. É o meio que apresenta maior largura de banda e total imunidade a ruídos e interferências eletromagnéticas. As taxas de transmissão atingem a faixa de Gbps. A desvantagem é o maior custo de instalação e manutenção, além de exigir mão de obra mais bem qualificada Fontes de Luz As fontes de transmissão de luz podem ser por LEDs (Light Emissor Diode), ou seja, Diodos Emissores de Luz, ou por meio de Lasers semicondutores. Estes últimos são perfeitos por serem mais eficientes em termos de potência, e devido a sua menor largura espectral, que reduz os efeitos de dispersão da fibra. LEDs são, por outro lado, mais baratos, além de se acomodarem melhor a temperatura ambiente e terem um ciclo de vida maior do que o laser. 15

31 2.3 Meios com Cabo (Guiados ou Wired) Corá, M.A.A. A luz pode, em alguns casos, apresentar características de partículas (corpos dotados de massa) e, em outros, de ondas (energia) ou ainda, em alguns casos, aparecer como fótons, que parece um raio ou partículas eletromagnéticas que se movem em alta velocidade. Esta velocidade é tão extraordinariamente alta que apresentam sua massa nula, nos fazendo classificálos como não existentes. Por isso, é melhor tratá-los como pacotes de energia, para poderem ser observados e medidos. Pela teoria da luz como partícula, podemos descrever o que ocorre com a partícula quando ela é transmitida - o efeito fotoelétrico: que descreve que quando a luz atinge a superfície de determinados sólidos causa a emissão de elétrons. Mas não conseguiríamos, apenas com esta teoria, explicar o comportamento da luz durante a emissão e a absorção, nem descrever vários outros fenômenos relacionados à luz. A teoria das ondas explica melhor a propagação ou transmissão da luz. Explica muito bem, por exemplo, por que os feixes de luz passam uns entre os outros sem causar distúrbios entre si. É importante, então, notar que é um erro generalizar a luz como partículas ou como ondas. De acordo com a situação, uma ou outra teoria descreve melhor um determinado fenômeno [16]. Quanto a Velocidade da Luz, precisamente, esta velocidade é de m/s. Mas para a maioria das aplicações práticas, esse número é aproximado para m/s Características do cabo e Funcionamento Como já dito, Fibras Ópticas são imunes a interferências eletromagnéticas (EMI). Fibras ópticas permitem o isolamento completo entre o emissor e o receptor, fazendo com que o perigo de curto entre os condutores não exista. O cabo óptico consiste em um filamento de sílica ou plástico, por onde é feita a transmissão de luz. Ao redor do filamento existem outras substâncias com menor índice de refração, que fazem com que os raios sejam refletidos internamente, minimizando assim as perdas na transmissão. Como princípio de funcionamento, a transmissão basicamente resume-se em a luz se propagar no interior de uma fibra óptica fundamentada na reflexão total da luz. Quando um raio de luz se propaga em um meio cujo índice de refração é n1 (núcleo) e atinge a superfície de um outro meio com índice de refração n2 (casca), onde n1 é maior que n2, e desde que o ângulo de incidência (em relação à normal) seja maior ou igual ao ângulo crítico, ocorrerá o que é denominado de reflexão total, do que resulta o retorno de raio de luz ao meio com índice de refração n1. Ar Fronteira Ar /Sílica Reflexão total interna Sílica Fonte deluz Figura 2.5: Exemplos da incidência de um raio de luz dentro da fibra [1] 16

32 2.3 Meios com Cabo (Guiados ou Wired) Corá, M.A.A. Existem dois tipos de fibras ópticas: as fibras multimodo e as monomodo. A escolha de um destes tipos dependerá da aplicação à qual se destinará o uso da fibra. As fibras multimodo são mais utilizadas em aplicações de rede locais (LAN), enquanto as fibras monomodo são mais utilizadas para aplicações de redes de longa distância (WAN). As fibras monomodo carregam somente um raio de luz no interior da fibra e possuem características superiores às multimodo, principalmente no que diz respeito à banda passante, mais larga, o que aumenta a capacidade de transmissão. Apresentam atenuação mais baixa, aumentando, com isto, a distância entre as transmissões sem o uso de repetidores. As fibras multimodo transmitem vários raios de luz simultaneamente variando portanto o ângulo de incidência, mas sempre respeitando o limite imposto pelo ângulo crítico. Desta forma, a transmissão se dá através de múltiplos raios sendo ricocheteados no interior da fibra. Os diâmetros da núcleo da fibra também variam de multimodo para monomodo, sendo que em fibras monomodo possuem diâmetros em torno de 8 mícrons à 10 mícrons e as multimodo possuem espessuras que variam de 50 à 200 mícrons. Para se ter noção de quão fino é o núcleo de uma fibra, vale lembra que um fio de cabelo humano tem em média 50 mícrons, portanto uma fibra monomodo com núcleo de 8 mícrons é basicamente 1/5 (um quinto) de um fio de cabelo. Quanto aos conectores para fibra óptica, existem no mercado vários tipos de conectores de fibra óptica como: Bionic, FC, Mini-BNC, ST, SC, etc. Porém alguns são mais usados, como por exemplo: O conector ST e o SC (figura 2.6). E dentre estes ainda, o mais comum e confiável é o ST. Conector ST Conector SC Figura 2.6: Conectores para Fibra Óptica [17] Aplicações da Fibra Óptica São várias as possíveis aplicações que utilizam o cabo de fibra óptica. Todavia, segue abaixo algumas mais amplamente divulgadas. Rede Telefônica Uma das aplicações pioneiras das fibras ópticas em sistemas de comunicação corresponde aos sistemas tronco de telefonia, interligando centrais de tráfego interurbano. Os sistemas tronco exigem sistemas de transmissão (em geral, digitais) de grande capacidade, envolvendo distâncias que vão, tipicamente, desde algumas dezenas até centenas de quilômetros e, eventualmente, em países com dimensões continentais, até milhares de quilômetros. As fibras ópticas, com suas 17

33 2.3 Meios com Cabo (Guiados ou Wired) Corá, M.A.A. qualidades de grande banda passante e baixa atenuação, atendem perfeitamente a esses requisitos. A alta capacidade de transmissão e o alcance máximo sem repetidores, permitidos pelos sistemas de transmissão por fibras ópticas minimizam os custos por circuito telefônico, oferecendo vantagens econômicas significativas. RDSI (Rede Digital de Serviços Integrados) A rede local de assinantes, isto é, a rede física interligando assinantes à central telefônica local, constitui uma importante aplicação potencial de fibras ópticas na rede telefônica. Embora as fibras ópticas não sejam ainda totalmente competitivas com os pares metálicos, a partir da introdução de novos serviços de comunicações (videofone, televisão, dados etc.), através das Redes Digitais de Serviços Integrados (RDSI), o uso de fibras ópticas na rede de assinantes tende a ser imperativo. Cabos Submarinos Os sistemas de transmissão por cabos submarinos, parte integrante da rede internacional de telecomunicações, é uma outra classe de sistemas onde as fibras ópticas cumprem atualmente um papel de fundamental importância. Os cabos submarinos convencionais, embora façam uso de cabos coaxiais de alta qualidade e grande diâmetro para minimizar a atenuação, estão limitados a um espaçamentos máximo entre repetidores da ordem de 5 a 10 km. As fibras ópticas, por outro lado, considerando-se apenas os sistemas de 3 a geração, permitem atualmente espaçamentos entre repetidores em torno de 60 km. Com a implantação dos sistemas de transmissão por fibras ópticas de 4 a geração, alcances sem repetidores superiores a 100 km serão perfeitamente realizáveis. Além disso, as fibras ópticas oferecem facilidades operacionais (dimensão e peso menores) e uma maior capacidade de transmissão, contribuindo significativamente para atender a crescente demanda por circuito internacionais de voz e dados, a um custo mais baixo ainda que os enlaces via satélite. CATV (Televisão Por Cabo) A transmissão de sinais de vídeo através de fibras ópticas é uma outra classe de aplicações bastante difundida. As fibras ópticas têm sido utilizadas, por exemplo, para interligar, em distâncias curtas, câmeras de TV e estúdios ou estações monitoras externas instaladas em veículos. Também nos circuitos fechados de TV, associados a sistemas educacionais ou a sistemas de supervisão e controle de tráfego e segurança em usinas ou fábricas, tem-se utilizado fibras ópticas como suporte de transmissão. Entretanto, a aplicação maior consumidora de fibras ópticas para a transmissão de sinais de vídeo é constituída pelos sistemas de televisão por cabo (CATV). As fibras ópticas oferecem aos sistemas de CATV, além de uma maior capacidade de transmissão, possibilidades de alcance sem repetidores (amplificadores) superior aos cabos coaxiais banda-larga. Nos sistemas CATV com cabos coaxiais banda-larga, o espaçamento entre repetidores é da ordem de 1 km e o número de repetidores é em geral limitado a 10 em função do ruído e distorção, enquanto que com fibras ópticas o alcance sem repetidores pode ser superior a 30 km. Além de melhor desempenho, a tecnologia atual de transmissão por fibras ópticas é competitiva economicamente e apresenta confiabilidade substancialmente melhor que os sistemas CATV convencionais com cabos coaxiais banda-larga. 18

34 2.3 Meios com Cabo (Guiados ou Wired) Corá, M.A.A. Redes Locais De Computadores As comunicações entre computadores são suportadas por sistemas de comunicação de dados que costumam ser classificados, segundo as distâncias envolvidas, em redes de computadores de longa distância ou redes locais de computadores. As redes de computadores a longa distância utilizam-se dos meios de transmissão comuns a rede telefônica. Embora geralmente usem técnicas distintas, essas redes de longa distância são implantadas ou integradas nos mesmos suportes físicos de transmissão da rede telefônica. Assim sendo, o uso de fibras ópticas em sistemas de comunicação de dados a longa distância acompanha a evolução da aplicação de fibras ópticas na rede telefônica (cabos troncos, cabos submarinos, RDSI etc.). As redes locais de computadores, utilizadas para interconectar recursos computacionais diversos (computadores, periféricos, banco de dados etc.) numa área privada e geograficamente limitada (prédio, usina, fábrica, campus etc.), caracterizam-se pela especificidade e variedade de alternativas tecnológicas quanto ao sistema de transmissão voltadas principalmente para aplicações em automação em escritórios e em automação industrial, como requisitos exigentes em termos de confiabilidade, capacidade de uma excelente alternativa de meio de transmissão. Embora os custos e alguns problemas tecnológicos ainda inibam sua competitividade com os suportes convencionais, as fibras ópticas, em determinadas aplicações, apresentam-se como a melhor e as vezes única alternativa de meio de transmissão para as redes locais de computadores Vantagens e Desvantagens da Fibra Óptica Vantagens: Banda passante potencialmente enorme (A fibra óptica tem capacidade de transmitir a dezenas de Tbps. Todavia, o limite prático da sinalização atual, gira em torno dos 10 Gbps, devido a vários fatores, mas principalmente pela nossa incapacidade para realizar a conversão entre sinais elétricos e ópticos com velocidade maior, ou ainda de equipamentos que possam tratar a luz sem necessidade de conversão do sinal óptico para elétrico); Imunidade a EMI (Ao contrário dos suportes de transmissão metálicos, não sofrem interferências eletromagnéticas. Isto permite uma operação satisfatória dos sistemas de transmissão por fibras ópticas mesmo em ambientes eletricamente ruidosos); Pequeno tamanho e peso (Têm dimensões comparáveis com as de um fio de cabelo humano. Mesmo considerando-se os encapsulamentos de proteção, o diâmetro e o peso dos cabos ópticos são bastante inferiores aos dos equivalentes cabos metálicos); Segurança da informação e do sistema (As fibras ópticas carregam sinais luminosos invisíveis sobre finos fios de sílica e não cobre. Isso significa que o sinal óptico fica dentro da fibra e não irradia sinais de radiofrequência que podem ser detectados e coletados por um sensor remoto. Além disso, os cabos de fibra óptica são completamente dielétricos, isto é, não são feitos com materiais metálicos. Isso significa que cabos que saem ou passam através de instalações de segurança são menos vulneráveis a ataques através de equipamentos de detecção. Finalmente, uma interceptação do sinal de luz é facilmente reconhecida pela perda de potência do sinal); 19

35 2.4 Meios sem Cabo (Não-Guiados ou Wireless) Corá, M.A.A. Flexibilidade na expansão da capacidade dos sistemas (Os sistemas de transmissão por fibras ópticas podem ter sua capacidade de transmissão aumentada gradualmente, em função, por exemplo, do tráfego, sem que seja necessária a instalação de um novo cabo óptico); Matéria-Prima abundante (O vidro com que as fibras ópticas são fabricadas é feito principalmente a partir do quartzo, um material que, ao contrário do cobre, é abundante na crosta terrestre). Todavia, isto não significa um produto final mais barato devido a complexidade envolvida no processo de fabricação da fibra. Desvantagens: Fragilidade das fibras ópticas sem encapsulamentos; Dificuldade de conexão das fibras ópticas; Falta de padronização dos componentes ópticos; Necessidade de mão de obra especializada. 2.4 Meios sem Cabo (Não-Guiados ou Wireless) Os cabos se prestam a instalações fixas e distâncias moderadas (com exceção da Fibra Óptica). Quando os pontos ficam muito separados, ou quando eles estão em movimento, pode ser necessário utilizar um meio de transmissão sem cabeamento (Wireless). Neste tipo de transmissão, as informações são transmitidas através do ar, em canais de frequências (frequências na faixa de KHz até GHz) ou infravermelho (frequências na ordem de THz). As transmissões nas frequências de rádio podem ser feitas através de antenas ou até mesmo por satélites. São vários os meios de transmissão sem cabeamento, dentre os quais iremos discutir três: Rádio, Microondas e Infravermelho Espectro Eletromagnético O Espectro Eletromagnético é o conjunto das frequências conhecidas para as ondas eletromagnéticas. O espectro eletromagnético está dividido de acordo com as frequências. Raios Gama, Raios X, Ultravioleta, Infravermelho, Luz visível, Microondas e Rádio são ondas eletromagnéticas definidas como vibrações de campos magnéticos e elétricos que se propagam através do espaço. Em contraste com o lento movimento das ondas na água, da qual são análogas, ondas eletromagnéticas viajam a velocidade da luz : Km/s. Podem ser definidas por seus comprimentos de onda, distância entre dois picos da onda, e frequência, número de ciclos da onda por segundo que é igual a Hertz (Hz). Veja figura 2.7. É importante compreender as principais características do espectro eletromagnético, pois assim, fica mais fácil entender as características de algumas tecnologias que atuam em determinadas faixas de frequências do espectro como por exemplo a tecnologia Wi-Fi (802.11) que opera em ondas de rádio. Por exemplo, vale lembrar que as frequências mais baixas do espectro como por exemplo: VF, VLF e LF possuem ondas mais espaçadas, não tem dificuldade em superar obstáculos e são onidirecionais, ou seja, propagam-se por todos os lados. Já as faixas mais altas de frequência do espectro, como por exemplo: SHF, EHF e Infravermelho, possuem ondas extremamente curtas, tem dificuldade em superar barreiras e são altamente direcionadas. 20

36 2.4 Meios sem Cabo (Não-Guiados ou Wireless) Corá, M.A.A. Raios Gama Raios - X Ultravioleta THz Infravermelho EHF Extremely High Frequency Luz Visível SHF Super High Frequency Microondas GHz UHF Ultra High Frequency VHF Very High Frequency HF High Frequency MHz MF Medium Frequency LF Low Frequency Ondas de Rádio VLF Very Low Frequency VF Voice Frequency ELF Extremely Low Frequency Rádio Figura 2.7: Espectro Eletromagnético O espectro eletromagnético varia aproximadamente de 10 KHz a 1 GHz. Dentro desta faixa, estão inúmeras bandas ou faixas de frequências designadas para fins específicos. As listas das frequências com as quais já estamos acostumados a ouvir é: Ondas curtas VHF (Very High Frequency); TVs e rádios FM UHF (Ultra High Frequency); TVs Em todos os países, a alocação de Frequências é determinada e licenciada por algum órgão. Cada organização recebe uma licença exclusiva para usar uma faixa específica de frequências dentro de uma certa área geográfica. As transmissões de rádio podem ser onidirecionais ou direcionais. Uma estação de rádio geralmente transmite um sinal onidirecional (todas as direções) que pode ser recebido por todos os rádio existentes na área de transmissão. Em algumas circunstâncias, uma transmissão direcional pode ser usada para direcionar toda a transmissão para um ponto de recebimento específico. As Ondas de Rádio, são usadas para conectar LANs mesmo que se encontrem a grandes distâncias. São geralmente caras e estão sujeitas a regulamentação governamental. Uma desvantagem desse tipo de meio, é que a transmissão é altamente vulnerável a interceptação. 21

37 2.4 Meios sem Cabo (Não-Guiados ou Wireless) Corá, M.A.A Microondas A transmissão por microondas possui frequências na faixa de GHz. A comunicação por microondas pode tomar duas formas: Terrestre Via Satélite As frequências e tecnologias empregadas nas duas formas são similares, mas existem diferenças entre elas. No caso da comunicação por microondas terrestres, as frequências estão na faixa de GHz e utilizam transmissores e receptores aterrados. Geralmente as transmissões de microondas são feitas por meio de uma antena parabólica, que produz um sinal estreito e altamente direcional. No entanto, tanto o transmissor quanto o receptor, devem estar altamente focalizados, cuidadosamente alinhados. A microonda é frequentemente utilizada como meio de transmitir sinais onde seria pouco prático instalar cabos. Por exemplo se você tiver que conectar duas redes separadas por uma estrada pública. A comunicação microondas por satélite, possui algumas características específicas como por exemplo: Os satélites devem estar situados em órbitas geossíncronas (+ou Km acima da Terra) O tempo gasto para enviar um informação para um vizinho por exemplo, é o mesmo do que para enviar uma informação para o outro lado do mundo Infravermelho Trabalham com frequências muito altas aproximando-se as da luz visível. Nós usamos o sistema de comunicação infravermelho toda vez que usamos o controle remoto da TV por exemplo. Neste caso, o controle remoto, transmite pulsos de luz infravermelho que levam instruções codificadas até um receptor na TV. O uso de uma rede de comunicação através de infravermelho se dá principalmente locais onde a passagem dos fios sejam difíceis ou inviáveis (museus, locais provisórios). Dois métodos de rede em infravermelho estão em uso: Ponto a Ponto Broadcast As redes ponto a ponto operam transmitindo sinais infravermelho a dispositivos próximos, ou seja em distâncias curtas. As transmissões são focalizadas em um feixe estreito, e o transmissor e o receptor devem estar cuidadosamente alinhados. Como os dispositivos devem estar cuidadosamente colocados e instalados, o método ponto a ponto em infravermelho não se adequa a dispositivos que são movidos com frequência. Pode-se fazer uso do Laser para transmissão devido a sua característica de alta potência do sinal. Pode-se utilizar lasers para conectar dois prédios vizinhos, principalmente quando eles estão separados por vias públicas. O inconveniente é que a transmissão pode ser obstruída, ou seja, bloqueada fisicamente. 22

38 2.4 Meios sem Cabo (Não-Guiados ou Wireless) Corá, M.A.A. Também é possível realizar Broadcast em infravermelho. Ao invés de focalizar as transmissões em feixes estreitos, o broadcast em infravermelho propaga as transmissões para que sejam visíveis em vários receptores. Pelo menos duas abordagens são possíveis numa transmissão broadcast em infravermelho. Uma é localizar um transmissor ativo em um ponto alto para que ele possa fazer a transmissão para todos os dispositivos. Outra é colocar uma material reflectivo no teto, de modo que quando um dispositivo fizer a transmissão para o teto, os sinais de luz possam ser propagados para os outros dispositivos. 23

39 Capítulo 3 Topologias 3.1 Definição Topologia ou Arranjo Topológico é a forma ou maneira como os elementos da rede estão dispostos, interligados. É um termo técnico usado para definir o modo como uma rede está instalada. A topologia é parcialmente determinada pelo modo como os computadores acessam a rede (um modo técnico de dizer quem fala primeiro) e pelas limitações do sistema de sinalização (o modo como os sinais são enviados de um computador para outro). Todavia, antes de expor os principais tipos de topologias aplicadas a redes locais, precisamos deixar bem claro o conceito de Topologia Física e Topologia Lógica. A Topologia Física, é a maneira como os cabos realmente conectam os computadores. Já a Topologia Lógica, é a maneira como ocorre o fluxo de dados, ou seja, como os computadores trocam dados entre si. Sendo assim é possível termos por exemplo, uma rede local com uma topologia física em estrela e ao mesmo tempo sua topologia lógica estar em anel. 3.2 Tipos de Topologias de Redes Nesta seção serão abordados apenas as topologias mais comuns. Topologias híbridas e outras mais complexas, podem ser encontradas nas referências bibliográficas Topologia em Malha (Totalmente Ligada) A primeira tentativa, bastante intuitiva, para a conexão de computadores em rede seria em uma topologia totalmente ligada, conhecida como topologia em Malha, conforme apresentado na figura 3.1. Nessa topologia, todas as estações são ligadas duas a duas entre si através de um caminho físico dedicado. A troca de mensagens entre cada par, se dá diretamente através desses enlaces. Embora esse tipo de topologia apresente um maior grau de paralelismo de comunicação, ou seja, existe um canal dedicado entre cada nó da rede, e consequente a ausência de congestionamento, mesmo assim torna-se impraticável, principalmente em redes com grandes números de estações fisicamente dispersas. Vários são os problemas como o número excessivo de cabos e interfaces, dificuldade de manutenção e gerenciamento da malha e o principal problema que chamamos de Problema das N conexões, pois numa rede com N estações, por exemplo, seriam necessárias N(N 1)/2 ligações ponto a ponto para que se pudesse conectar todos os pares de estações através de linhas dedicadas. Em outras palavras, ocorre um crescimento explosivo (mais que exponencial) de cabeamento a medida que se insere novos nós na rede. 24

40 3.2 Tipos de Topologias de Redes Corá, M.A.A Topologia em Estrela Figura 3.1: Topologia em Malha Tem um único computador no centro (Nó Central) na qual todas as mensagens devem passar, e um outro computador no extremo de cada braço da estrela. Todas as mensagens são trocadas através do Computador Central. Por analogia, isto quer dizer que há uma pessoa no centro da mesa que recebe todos os envelopes, verifica cada um deles e direciona para a pessoa apropriada. Nada impede que haja comunicações simultâneas desde que as estações envolvidas sejam diferentes. O nó central, pode exercer processamento, neste caso, os terminais podem ser terminais burros. Ou também, o nó central pode exercer a função de chaveamento entre as estações que desejam se comunicar; neste caso por exemplo, o nó central pode ser um Switch. O grande problema das redes em estrela, é que uma falha no nó central, pode ocasionar a parada total do sistema Topologia em Anel Na topologia em ANEL, cada computador está conectado a outros dois e os dados são passados de um computador para o outro através do anel até que chegue ao seu destino. É como se o grupo formasse um círculo e passasse a mensagem de mão em mão até o destinatário receber a mensagem com o seu nome escrito. Redes em Anel, são teoricamente capazes de transmitir e receber dados em qualquer direção. Todavia, as configurações mais usuais, são unidirecionais, de forma a simplificar o projeto dos repetidores e tornar menos sofisticados os protocolos de comunicação que asseguram a entrega da mensagem ao destino corretamente. Quando uma mensagem é enviada por um nó, ela entra no anel e circula até ser retirada pelo nó de destino, ou então voltar ao nó de origem, dependendo do protocolo empregado. Um grande problema das redes em anel, é que no caso de falha em um dos enlaces, toda a rede pode parar. Uma solução para o problema seria a utilização de caminhos alternativos: duplo anel, por exemplo. No duplo anel, um dos anéis é o anel principal e o outro é acionado somente em caso de falhas, sendo denominado anel secundário ou anel de backup. 25

41 3.2 Tipos de Topologias de Redes Corá, M.A.A. Figura 3.2: Topologia em Estrela Figura 3.3: Topologia em Anel Topologia em Barramento (BUS) Na Topologia de barramentos, cada computador se liga ao barramento e transfere dados diretamente ao computador com o qual ele quer falar. Isto é análogo a um grupo de pessoas jogar todos os envelopes sobre a mesa e cada pessoa reconhecer seu próprio envelope endereçado a ela. 26

42 3.2 Tipos de Topologias de Redes Corá, M.A.A. É bastante semelhante ao conceito de arquitetura em barra em um sistema de computador, onde todas as estações (nós) se ligam ao mesmo meio de transmissão. Nas redes em Barra, cada nó conectado a barra pode ouvir todas as informações transmitidas. Uma vantagem da topologia em barramento sobre a topologia em anel por exemplo, é que uma falha num determinado nó, não causa a parada total da rede, onde a utilização de HUBs facilita a localização e o isolamento de falhas. Figura 3.4: Topologia em Barramento O problema está no congestionamento gerado a medida que se aumenta o número de nós conectados ao barramento Topologia em Árvore A Topologia em Árvore, é uma topologia hierárquica, pouco utilizada pois apresenta vários incovenientes, no qual o principal é o gargalo (bottleneck), ou seja, o congestionamento de informações a medida que se sobe os níveis da árvore. Figura 3.5: Topologia em Árvore 27

43 Capítulo 4 Padronização de Redes 4.1 Introdução Existem muitos fabricantes e fornecedores de rede, cada qual com sua própria concepção. Sem coordenação haveria um caos completo e os usuários nada conseguiriam. Portanto, a única alternativa é a criação de alguns padrões para redes. Além de permitirem que diferentes computadores se comuniquem, os padrões também ampliam o mercado para os produtos que aderem as suas regras. Tudo isso estimula a produção em massa, proporciona uma economia no processo de produção, procura homogeneizar produtos e serviços num nível aceitável de qualidade e segurança, minimiza investimentos em estoques, etc. Existem para tanto, diversas organizações internacionais de padronização atualmente, dentre as quais, as que mais se destacam na área de redes e telecomunicações são: IEEE (Institute of Electrical and Electronic Engineers) O IEEE (Instituto dos Engenheiros Eletricistas e Eletrônicos) é uma organização que define padrões de rede e alguns outros, é normalmente referenciado como I3E. É uma associação profissional sem fins lucrativos com mais de 360 mil membros espalhados em aproximadamente 175 países. A instituição é referência mundial quando se trata de produção de conhecimento em de engenharia de computação, engenharia biomédica, potência elétrica, telecomunicações, tecnologia aeroespacial entre outras diversas áreas. Suas publicações e atividades possuem uma grande credibilidade em todo o planeta. O IEEE desenvolveu padrões utilizados massivamente em LANs, como a especificação IEEE (Ethernet) e a IEEE (Token Ring). Figura 4.1: IEEE (Institute of Electrical and Electronic Engineers) ISO (International Organization for Standardization) A ISO é uma organização internacional fundada em 1946 que tem por objetivos a elaboração de padrões internacionais. Os membros da ISO são os órgãos de padronização nacionais de 89 países membros. O representante do Brasil na ISO é a ABNT (Associação Brasileira de Normas Técnicas) e o representante dos EUA é o ANSI (American 28

44 4.1 Introdução Corá, M.A.A. National Standards Institute). A ISO é responsável por diversos tipos de padrões, incluindo muitos que são importantes para as redes de computadores. Sua mais conhecida contribuição é o modelo OSI, que será descrito na seção 4.2. Figura 4.2: ISO (International Organization for Standardization) ITU-T (International Telecommunication Union Telecommunication Standardization Sector) Criado em 1865, com o intuito de padronizar as telecomunicações internacionais, o ITU-T, antigamente chamado de CCITT (Committee for International Telegraph and Telephone), é uma organização que também desenvolve recomendações para telecomunicações (o ITU utiliza o termo recomendação ao invés de padrão). Figura 4.3: ITU (International Telecommunication Union) IETF (Internet Engineering Task Force) É conhecida como a principal organização para padrões internet. O IETF é composto por uma enorme comunidade de pessoas concentradas na evolução da arquitetura da Internet, dentre elas pesquisadores e empresas da área. Você pode fazer parte da força, pois as inscrições são abertas a membros individuais. O IETF está divido por áreas, nas quais cada área possui um número de Working Groups, e são estes que produzem as RFCs (padrões) e os drafts (rascunhos ou esboços). Figura 4.4: IETF (Internet Engineering Task Force) Existem muitos outros órgãos de padronização, porém não convém citar todos, pois são vários e tomaria muito tempo. O que não podemos deixar de falar, é da existência de Forums que não são entidades reconhecidas internacionalmente como geradoras de padrões. Sendo portanto, associações que congregam principalmente, fabricantes de equipamentos de rede. Um Forum gera recomendações que aparecem mais rápido no mercado, para suprir brechas na padronização de órgãos oficiais, como o caso do ATM Forum e o ITU-T por exemplo. 29

45 4.2 O Modelo de Referência OSI da ISO (RM OSI/ISO) Corá, M.A.A. Os Forums prestam um serviço importante em adiantar o trabalho dos órgãos oficiais, e muitas vezes as normas por eles gerados são adotados como padrões internacionais pelos órgãos oficiais. Existem muitos Forums atualmente, cada um atendendo a uma tecnologia específica, como por exemplo o ATM Forum ( o Frame Relay Forum ( e o Optical Internetworking Forum-OIF ( 4.2 O Modelo de Referência OSI da ISO (RM OSI/ISO) Na década de 70, começaram a surgir as primeiras redes experimentais. Dentre as mais conhecidas destaca-se a ARPANET, desenvolvida inicialmente em ambiente acadêmico. A medida que a tecnologia de redes foi evoluindo, elas se mostraram interessantes do ponto de vista comercial, e logo apareceram no mercado as primeiras redes, que possibilitavam a comunicação entre equipamentos através de protocolos especificados pelos próprios fabricantes. Normalmente, tais sistema de comunicação eram proprietários e não era possível interconectar sistemas de fabricantes diferentes. Dentro desse contexto, a ISO (International Organization for Standardization) decidiu criar em 1977 um subcomitê especial para a elaboração de normas de padronização para interconexão de sistemas abertos. E em 1979, foi concluído o Modelo de Referência para Interconexão de Sistemas Abertos, também conhecido como RM-OSI (Reference Model - Open Systems Interconnection) da ISO. O modelo de referência OSI apresentado na figura 4.5, baseia-se no conceito de camadas sobrepostas, onde cada camada executa um conjunto bem definido de funções. Ele é composto de sete camadas: a camada física, enlace de dados, rede, transporte, sessão, apresentação e aplicação. Esse modelo é baseado em uma proposta desenvolvido como primeiro passo na direção da padronização internacional dos protocolos utilizados nas diversas camadas. Host A Aplicação Protocolo de Aplicação Host B Aplicação Apresentação Protocolo de Apresentação Apresentação Sessão Protocolo de Sessão Sessão Transporte Protocolo de Transporte Transporte Limite da sub-rede de comunicação Rede Protocolo de Rede Rede Enlace de Dados Enlace de Dados Físico Físico Figura 4.5: As 7 camadas do Modelo de Referência OSI [1] As três camadas inferiores possibilitam a interconexão de sistemas ou de equipamentos individuais, estando mais relacionadas a aspectos de transmissão. A camada de transporte por 30

46 4.2 O Modelo de Referência OSI da ISO (RM OSI/ISO) Corá, M.A.A. sua vez, provê comunicação fim a fim entre processos individuais. Por último, as três camadas ditas superiores, prestam serviços relacionados com a natureza da aplicação. Em seguida, serão apresentados resumidamente as funções de cada uma das camadas do modelo, começando da camada 1 ou nível físico até a camada 7 ou nível de aplicação Camada 1 (Física) Esta camada tem por objetivo realizar a transmissão das unidades de dados através de um canal de comunicação que conecta dois ou mais equipamentos, trocando sinais entre eles através de uma interface física, seja ela eletromecânica, optoelétrica ou de outra natureza. Nessa camada é que são verificadas e especificadas as características mecânicas, elétricas, e funcionais do meio físico de transmissão. As características mecânicas, relacionam as propriedades físicas da interface com o meio físico de transmissão, o que inclui por exemplo a especificação do tipo de conector. Já as características elétricas estão relacionadas com a representação dos bits em termos dos níveis de tensão utilizados, e com a taxa de transmissão bits. O protocolo deste nível, dedica-se a transmissão de uma cadeia de bits. Ao projetista desse protocolo cabe decidir como representar 0 s e 1 s, quantos microsegundos durará um bit (intervalo de sinalização), se a transmissão será half-duplex ou full-duplex, como a conexão será estabelecida e desfeita, quantos pinos terá o conector de rede e quais seus significados, bem como outros detalhes elétricos e mecânicos. A principal função do nível físico, é permitir o envio de uma cadeia de bits pela rede sem se preocupar com seu significado ou com a forma como esses bits são agrupados. Não é função desse nível tratar de problemas tais como erros de transmissão Camada 2 (Enlace) O objetivo desta camada é detectar e opcionalmente corrigir erros que por ventura ocorram no nível físico, com o objetivo de realizar uma transferência de dados sobre uma conexão física de maneira confiável. Para executar essa tarefa, a camada de enlace de dados faz com que o emissor particione os dados de entrada em quadros de dados (que em geral tem alguns bytes), e transmite-os sequencialmente. Como a camada física apenas recebe e transmite um fluxo de bits sem qualquer preocupação com relação ao significado ou a estrutura, cabe a camada de enlace de dados criar e reconhecer os limites do quadro. Em geral quase todos os protocolos de nível de enlace incluem bits de redundância em seus quadros para detecção de erros. A correção de erros por sua vez, é opcional neste nível Camada 3 (Rede) A camada de rede controla a operação da rede. Uma questão de fundamental importância para o projeto de rede diz respeito ao modo como os pacotes são roteados da origem ao destino. As rotas normalmente baseiam-se em tabelas, que são construídas por protocolos ditos protocolos de roteamento. Exemplos de protocolos de roteamento são: OSPF, RIP e BGP, que são descritos no capítulo 8. Existem duas filosofias quanto ao serviço oferecido pelo nível de rede: serviço não orientado a conexão e serviço orientado a conexão. 31

47 4.2 O Modelo de Referência OSI da ISO (RM OSI/ISO) Corá, M.A.A. O serviço não orientado a conexão, não tem relação alguma de passado ou futuro com qualquer outro pacote, devendo assim carregar, de uma forma completa, seu endereço de destino. Nesse tipo de serviço o roteamento é calculado toda vez que um pacote tem de ser encaminhado por um nó da rede. Já no serviço orientado a conexão, é necessário que o transmissor primeiramente envie um pacote de estabelecimento de conexão. A cada estabelecimento é dado um número, correspondente ao circuito, para uso pelos pacotes subsequentes com o mesmo destino. Nesse método, os pacotes pertencentes a uma única conversação, não são independentes Camada 4 (Transporte) A função básica da camada de transporte é aceitar dados da camada de sessão, dividí-los em unidades menores, em caso de necessidade, e passá-los para a camada de rede e garantir que todas essas unidades cheguem corretamente a outra extremidade. Além disso, tudo deve ser feito com eficiência e de forma que as camadas superiores fiquem isoladas das inevitáveis mudanças de tecnologia de hardware. Esse nível vai isolar dos níveis superiores a parte de transmissão da rede. A camada de transporte também poderá multiplexar diversas conexões de transporte na mesma conexão de rede. Ou seja, podem ter várias conexões de transporte partilhando a mesma conexão de rede. Em todos os casos, a camada de transporte é necessária para tornar a multiplexação transparente em relação a camada de sessão. A camada de transporte é uma verdadeira camada fim a fim, que liga a origem ao destino. Em outras palavras, um programa da máquina de origem mantém uma conversa com um programa semelhante instalado na máquina destino utilizando cabeçalhos de mensagem e mensagens de controle. Nas camadas inferiores, os protocolos são trocados entre cada uma das máquinas e seus vizinhos, e não entre máquinas de origem e destino, que podem estar separados por muitos roteadores. A diferença entre as camadas inferiores (de 1 a 3) e as superiores (4 a 7) é que as primeiras são encadeadas e as outras são fim a fim. Com isso queremos dizer que as camadas de 1 a 3 cuidam apenas das questões de roteamento até o destino e as camadas de 4 a 7 é que realmente fazem a comunicação com o host destino. Muitos hosts são multiprogramados, isso significa que muitas conexões estarão entrando e saindo de cada host. É preciso, no entanto, criar alguma forma de determinar a qual conexão uma mensagem pertence. Essas informações podem ser colocadas no cabeçalho de transporte Camada 5 (Sessão) A camada de sessão permite que os usuários de diferentes máquinas estabeleçam sessões entre eles. Uma sessão permite o transporte de dados normal, assim como faz a camada de transporte, mas oferece também serviços aperfeiçoados que podem ser de grande utilidade em algumas aplicações. Uma sessão pode ser usada para permitir que um usuário estabeleça um login com um sistema remoto de tempo compartilhado ou transfira um arquivo entre duas máquinas. A conexão entre dois usuários se chama conexão de sessão, na qual é feita a conferência da identificação da conexão entre os dois sistemas Os principais serviços da camada 5 (Sessão) são: gerenciamento de token, controle de diálogo e gerenciamento de atividades. No caso do gerenciamento do token, o serviço de sessão oferece mecanismos para gerenciar a posse e passagem do token entre as entidades de aplicação que estão utilizando o serviço. Em algumas aplicações, um volume muito grande de dados, por exemplo um arquivo muito 32

48 4.2 O Modelo de Referência OSI da ISO (RM OSI/ISO) Corá, M.A.A. extenso, é transmitido em redes muitas vezes não muito confiáveis. Embora o nível de transporte tente oferecer um circuito confiável, a rede pode simplesmente deixar de funcionar. Quando isso acontece, só resta ao nível de transporte indicar a falha e deixar a aplicação decidir o que deve ser feito. Eventualmente a rede pode voltar a funcionar, podendo a conexão ser restabelecida. Nesse caso, o ideal seria que a transferência dos dados pudesse ser retomada do ponto imediatamente anterior ao da interrupção. Com o objetivo de fornecer este tipo de serviço, o nível de sessão usa o conceito de ponto de sincronização. Um ponto de sincronização é uma marca lógica posicionada ao longo do diálogo entre dois usuários do serviço de sessão. Toda vez que recebe um ponto de sincronização, o usuário do serviço de sessão deve responder com um aviso de recebimento ao usuário com quem está dialogando. Deste modo, se por algum motivo a conexão for interrompida e depois restabelecida, os usuários podem retomar o diálogo a partir do último ponto de sincronização confirmado Camada 6 (Apresentação) A função do nível de apresentação é a de realizar transformações adequadas nos dados, antes do seu envio ao nível de sessão. Transformações típicas dizem respeito a compressão de textos, criptografia, conversão de padrões de terminais e arquivos para padrões de rede e vice-versa. O nível de apresentação deve conhecer a sintaxe de seu sistema local bem como a sintaxe do sistema de transferência. Os serviços oferecidos por este nível são: transformação de dados, formatação de dados, seleção de sintaxes e estabelecimento e manutenção de conexões de apresentação Camada 7 (Aplicação) O nível de aplicação oferece aos processos de aplicação, os meios para que estes utilizem o ambiente de comunicação OSI. Nesse nível são definidas funções de gerenciamento e mecanismos genéricos que servem de suporte a construção de aplicações. Existem portanto, elementos de serviços genéricos, tais como: suporte a chamadas de procedimentos remotos, elementos de serviços de transferência de dados confiável, etc. Existem também, elementos de serviços específicos, de cada protocolo de aplicação, tais como: transferência de arquivos, serviços de diretório, sistema de mensagens e uma série de outros recursos específicos e genéricos Transmissão de Dados no Modelo OSI Figura 4.6: Exemplo de Colocação de Cabeçalhos no Modelo OSI O processo começa com a entrega dos dados a serem transmitidos pelo usuário para uma entidade do nível de aplicação no sistema A. Os dados do usuário recebem a denominação 33

49 4.3 O Projeto IEEE 802 Corá, M.A.A. Unidade de Dados do Serviço (Service Data Unit - SDU), sendo eles, nesse caso, a SDU do nível de aplicação, e é juntado a um cabeçalho, denominado cabeçalho da camada de aplicação. O objeto resultante dessa junção é chamado Unidade de Dados do Protocolo (Protocol Data Unit - PDU). A PDU é a unidade de informação trocada pelas entidades pares, ao executar o protocolo de uma camada, para fornecer o serviço que cabe a camada em questão. A PDU do nível de aplicação (cabeçalho + dados do usuário) é então passada para o nível de apresentação. Neste momento dizemos que ocorreu um encapsulamento. A entidade do nível de apresentação trata a unidade que recebe da mesma forma que o nível de aplicação trata os dados do usuário (a PDU do nível de aplicação é uma SDU no nível de apresentação), e acrescenta seu cabeçalho compondo assim a PDU do nível de apresentação. Esse processo continua até o nível de enlace, que geralmente acrescenta um cabeçalho e um fecho para detecção de erros. A PDU do nível de enlace, que é denominada quadro (frame), é transmitida pelo nível físico através do meio de transmissão, depois de agregar ao quadro seu cabeçalho e seu fecho. Quando o quadro é recebido pelo destinatário, o processo inverso ocorre. A medida que a unidade de dados vai sendo passada para as camadas superiores, cada camada retira o cabeçalho e o fecho que foi acrescentado por sua entidade para na origem, executa as operações do protocolo de acordo com a informação contida no cabeçalho, e passa a unidade de dados para a camada superior. O processo se encerra com o usuário no sistema remoto B recebendo os dados enviados pelo usuário do sistema A. 4.3 O Projeto IEEE 802 Com o objetivo de elaborar padrões para redes locais de computadores, nasceu o projeto IEEE 802, que ficou a cargo de um comitê instituído em Fevereiro de 1980 pela IEEE Computer Society. O comitê 802 publicou um conjunto de padrões, dentre eles, os mais conhecidos são o IEEE (Ethernet) e o (Token Ring), descritos com detalhes nas seções e respectivamente. Os demais padrões do projeto 802, serão brevemente descritos na seção Este modelo de referência definiu uma arquitetura em três camadas: Na primeira camada (LLC - Logical Link Control, veja seção 4.3.3), são agrupadas a primeira função e suas subfunções fornecidas pelo nível de enlace (camada 2) do RM-OSI. A segunda camada (MAC - Medium Access Control) que reúne as três funções restantes do nível de enlace do RM-OSI (montar os dados a serem transmitidos, desmontar os quadros recebidos e reconhecidos e gerenciar a comunicação de enlace). No nível mais baixo (físico), são reunidas as funções associadas ao nível físico (codificação/decodificação de sinais, geração e remoção de preâmbulos para sincronização e transmissão/ recepção de bits), sempre em associação com o modelo de referência OSI da ISO. A figura 4.7 mostra de forma resumida a relação entre o Modelo de Referência OSI e os Padrões IEEE Padrão IEEE (Ethernet) Descreve redes em barra utilizando o CSMA/CD como método de acesso. Este padrão especifica os requisitos para redes que operam em banda base entre 1 e 10 Mbps. Criado em 1973 por Bob Metcalfe, é sem dúvida, a tecnologia de rede local (LAN) mais usada atualmente no mundo. Os estudos de mercado indicam que centenas de milhões de placas de interface de rede Ethernet, foram vendidas até hoje, e o mercado continua a crescer. No total, o Ethernet vende mais do que todas as outras tecnologias de LAN, com uma margem bem grande. 34

50 4.3 O Projeto IEEE 802 Corá, M.A.A. Figura 4.7: Relação entre o Modelo de Referência OSI e os Padrões IEEE 802 [2] O Ethernet alcança seu 30 o aniversário em 2003 e vê muitas mudanças a medida que a tecnologia de computador evolui com o passar dos anos. Assim sendo, o Ethernet tem sido constantemente reinventado, gerando novos recursos. O primeiro padrão Ethernet desenvolvido, foi para cabos coaxiais, cuja taxas de transmissão chegavam a 10 Mbps (802.3a - 10BASE2) para coaxial fino e (10BASE5) para coaxial grosso. Logo depois, vieram diversas novas variedades de mídia para o sistema de 10 Mbps, incluindo o par de fios trançados (802.3i - 10BASE-T) e a fibra óptica (802.3j - 10BASE-F). Em seguida foi desenvolvido o sistema Fast Ethernet de 100 Mbps (802.3u - 100BASE-T), que também incluía diversas variedades de sistemas de par trançado e fibra óptica. Recentemente, foi desenvolvido o sistema Gigabit Ethernet, usando cabeamento de fibra óptica e par trançado (802.3z BASE-X) O método de acesso CSMA/CD O memorando sobre Ethernet de Bob Metcalfe, em 1973, descreve um sistema de rede baseado em uma experiência anterior com redes, chamada rede Aloha. A rede Aloha foi iniciada na Universidade do Havaí, no final dos anos 60, quando um grupo de pesquisadores desenvolveram uma rede de rádio para comunicação entre as ilhas havaianas. Esse sistema foi a primeira experiência no desenvolvimento de mecanismos para compartilhar um canal de comunicação comum, nesse caso, um canal de rádio comum. O protocolo Aloha era muito simples: uma estação Aloha poderia enviar o que quisesse, e depois esperava uma confirmação. Se uma informação não fosse recebida dentro de um curto período de tempo, a estação considerava que outra estação também tinha transmitido algo simultaneamente, gerando uma colisão. Ao detectar uma colisão, as duas estações transmissoras escolhiam um tempo aleatório e depois retransmitiam seus pacotes, com uma boa probabilidade de sucesso. No entanto, a medida que o tráfego aumentava no canal Aloha, a taxa de colisão também crescia rapidamente. A invenção do Ethernet Tempos depois, Metcalfe observou que poderia melhorar o sistema Aloha de arbitragem de acesso para um canal de comunicação compartilhado. Então, ele desenvolveu um novo sistema que incluía um mecanismos para detectar quando ocorria uma colisão (Collision Detection). O sistema também incluía o conceito de ouvir antes de falar, em que as estações ouviam a 35

51 4.3 O Projeto IEEE 802 Corá, M.A.A. atividade (Carrier Sense) antes de transmitir e aceitavam o acesso a um canal compartilhado por várias estações (Multiple Access). Junte todos esses componentes e você verá porque o protocolo de acesso do Ethernet é chamado Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Padrão IEEE (Token Ring) O Token Ring foi um padrão proposto pela IBM e padronizado pelo IEEE, através do padrão 802.5, que descreve redes em anel utilizando o método de acesso Token Passing, descrito na seção O método de acesso utilizado pelo padrão Token Ring (passagem de permissão), para determinar qual estação tem permissão para transmitir, é o circular. O Token Ring opera na topologia em anel e garante que todas as estações da rede tenham chance de transmitir dados. Ele atinge esse objetivo utilizando um padrão especial de bit conhecido como token ou permissão. As velocidades de transmissão nas redes Token Ring, variam entre 4 Mbps e 16 Mbps O método de acesso Token Passing O Token é um quadro de controle que circula pela rede dando permissão de transmissão a cada estação, não contém dados e circula de nó em nó ao longo do anel lógico. Quando um nó pretende emitir espera que o token lhe seja entregue, para poder então fazer a transmissão, mas dispõe de um tempo limitado para o fazer, quando esse tempo se esgota ou a informação já foi transmitida, o token é enviado ao nó seguinte. Como já foi referido as técnicas de token implicam uma lógica bem mais complexa do que o CSMA/CD, é necessário definir mecanismos para inicialização do anel lógico, adição de nós, eliminação de nós e recuperação de erros. Desta forma, podemos afirmar que as técnicas de token são deterministas permitindo estabelecer prioridades na utilização do meio de transmissão. O token dá o direito a quem a tem, de transferir os dados pela rede. Após a transmissão do dado a ficha é passada ciclicamente entre os nós da rede. O tempo máximo de recebimento é determinado pelo número de nós da rede e pelo tempo de transmissão Outros Padrões IEEE 802 Existem outros padrões pertencentes ao Projeto IEEE 802. Alguns não são verdadeiramente padrões, mas grupos técnicos que estão trabalhando no desenvolvimento do mesmo, atuando normalmente em áreas que estão crescendo e ganhando a atenção cada vez mais dos pesquisadores e dos fabricantes. Por outro lado, outros padrões estão em decadência. Segue abaixo uma pequena relação de alguns padrões IEEE 802: Descreve o relacionamento entre os padrões IEEE com o Modelo de Referência OSI da ISO (LLC - Logical Link Control) Este padrão faz referência a subcamada superior da camada 2 (enlace) de comunicação de dados do modelo de referência OSI da ISO. Em outras palavras, o IEEE divide este nível em duas subcamadas (subníveis): LLC (Logical Link Control) e MAC (Media Access Control). 36

52 4.3 O Projeto IEEE 802 Corá, M.A.A. O protocolo LLC descrito neste padrão, forma a metade superior da camada de enlace e tem como principal função, ocultar as diferenças entre os diversos tipos de redes 802, fornecendo um único formato e uma única interface com a camada de rede (Token Bus) Consiste numa rede em barra, assim como o Ethernet (802.3), mas que assim como o padrão Token Ring (802.5), utiliza o método de acesso Token Passing. Ou seja, embora a topologia física seja do tipo barramento, em termos lógicos forma-se um anel onde cada nó sabe qual é o nó anterior e o nó seguinte. Veja figura 4.8. Figura 4.8: Padrão IEEE (Token Bus) [1] (DQDB - Distributed Queue Dual Bus) Padrão proposto para redes Metropolitanas (Metropolitan Area Networks - MANs), no final de 1981, devido a necessidade levantada pelas companhias de comunicação de dados, da definição de um padrão para transporte de dados a alta velocidade dentro de uma região metropolitana. Segundo a definição do grupo IEEE 802.6, o DQDB é uma sub-rede que pode ser usada como parte integrante de uma MAN. Tipicamente, uma MAN consiste em sub-redes DQDB interconectadas. A sub-rede DQDB consiste em duas barras unidirecionais interconectando, ponto a ponto, vários nós, conforme é mostrado na figura 4.9. As barras suportam a comunicação em direções opostas, oferecendo um caminho full-duplex entre qualquer par de estações. Figura 4.9: Padrão IEEE (DQDB - Distributed Queue Dual Bus) [2] 37

53 4.3 O Projeto IEEE 802 Corá, M.A.A (Fiber Optical Technical Advisory Group) grupo consultivo técnico para tecnologias de Fibra Óptica (WLAN) O padrão tem como objetivo definir padrões para redes locais sem fio (Wireless LANs ou WLANs), ou seja, para redes locais em que as transmissões são realizadas na frequência de ondas de rádio ou qualquer outro meio sem cabeamento. É razoavelmente popular em países como os Estados Unidos e vem ganhando popularidade também no Brasil. O termo Wi-Fi (Wireless Fidelity) que significa fidelidade sem fio, é uma marca comercial, porém também é constantemente associado ao padrão e suas variantes. Este padrão permite transmissão de dados de 1 a 2 Mbps e opera na faixa de frequência de 2.4 GHz, o que em teoria pode causar conflitos com outros padrões de rede sem fio, como o Bluetooth. Duas razões contribuíram bastante para que a tecnologia sem fio avançasse: a aprovação do padrão IEEE , em 1997, o que ajudou a tornar as WLANs (Wireless LANs) uma realidade; e o barateamento dos equipamentos para WLAN, que fizeram com que as redes sem fio ficassem mais acessíveis para algumas empresas, aumentando consideravelmente a comercialização de produtos para computadores móveis, como o cartão PCMCIA para Notebook e o cartão ISA/PCI para PCs b Esse padrão permite transmissão de dados de 5 a 11 Mbps, e especificam uma arquitetura comum, métodos de transmissão, e outros aspectos de transferência de dados sem fio, permitindo a interoperabilidade entre os produtos. Esta é a tecnologia de rede sem fio mais popular atualmente. O b opera na faixa dos 2.4 GHz. e permite transferências de dados a 11 megabits,. A topologia das redes b é semelhante à das redes de par trançado, com um Hub central. A diferença no caso é que simplesmente não existem os fios. Neste caso, no lugar do Hub temos um equipamento chamado Ponto de Acesso ou Access Point, que tem a mesma função que o Hub desempenha nas redes Ethernet: retransmitir as transmissões de forma que todos os micros da rede as recebam a O a utiliza a faixa de frequência de 5 GHz, em oposição ao b e ao g, que utilizam a faixa dos 2.4 GHz. A faixa dos 5 GHz é mais limpa pois não existe a interferência potencial com aparelhos eletrodomésticos (como telefones sem fio por exemplo), nem com outras arquiteturas de rede, como o Bluetooth, o que pode, em alguns casos, diminuir a velocidade das transferências. Graças à frequência mais alta, o IEEE a também é quase cinco vezes mais rápido, atingindo até 54 Mbps. Embora este padrão apresente várias vantagens, o mesmo é menos popular que os outros padrões existentes (b e g). Fatores que levam ao desuso deste padrão são o alto custo e o fato de não ser compatível com outras tecnologias Wi-Fi existentes Consequentemente, os fabricantes de produtos tendem a projetar menos produtos para redes a do que para redes b e g. 38

54 4.3 O Projeto IEEE 802 Corá, M.A.A. Outro fator, é que devido à utilização de frequência maior (que reduz a distância do alcance), o a exige mais equipamentos do que o 802.g para cobrir a mesma área. Todavia, existe também uma tendência, segundo alguns especialistas, em combinar os protocolos a e g. Alguns fabricantes, já embarcaram no desenvolvimento de produtos (placas e pontos de acesso) dual band, que podem ser usados tanto em redes g como a e de quebra por quem já tem uma rede baseada no protocolo b g Este é um padrão recentemente aprovado pelo IEEE, que é capaz de transmitir dados a 54 Mbps, assim como o a, porém a principal novidade é que este padrão utiliza a mesma faixa de frequência do b atual, ou seja, 2.4 GHz. Isso permite que os dois padrões sejam compatíveis teoricamente. A idéia é que você possa montar uma rede b agora e mais pra frente adicionar placas e pontos de acesso g, mantendo os componentes antigos, assim como hoje em dia temos liberdade para adicionar placas e hubs de 100 megabits a uma rede já existente de 10 megabits. A velocidade de transferência nas redes mistas pode ou ser de 54 Mbps ao serem feitas transferências entre pontos g e de 11 Mbps quando um dos pontos b estiver envolvido, ou então ser de 11 Mbps em toda a rede, dependendo dos componentes que forem utilizados. Esta é uma grande vantagem sobre o a, que também transmite a 54 Mbps, mas é incompatível com os outros dois padrões. Alguns fabricantes de equipamentos com tecnologia g, oferecem variantes como: g turbo, g+ (plus) ou ainda super , cujas taxas de transmissão variam de 88 Mbps à 108 Mbps. Essas taxas são normalmente obtidas através de funcionalidades que podem ser ativadas no ponto de acesso. Vale fazer uma observação: testes mostram que na prática, a velocidade obtida nas redes g fica na média de 25 Mbps, uma taxa bem diferente da velocidade nominal prometida para redes g n O próximo passo no caminho da evolução da velocidade do Wi-Fi é o n, que ainda está em fase de padronização. Assim como o a, ele usará a frequência de 5 GHz, porém terá uma potência maior. Na teoria a expectativa é que a velocidade de transmissão no n chegue a 200 Mbps, mas isso só será definido com precisão quando a padronização estiver concluída i Trata-se de um grupo de trabalho para cuidar especificamente da questão segurança, considerado o ponto mais crítico das redes Wi-Fi atualmente. O i é basicamente um subprotocolo que permite o controle de acesso dos usuários à rede wireless. É nele que se baseia a certificação WPA (Wi-Fi Protected Access) que utiliza criptografia. 39

55 4.3 O Projeto IEEE 802 Corá, M.A.A e Também é um subprotocolo, criado para melhorar a qualidade de serviço, principalmente em aplicações multimídia, que envolvem a transmissão de voz, áudio e vídeo pela rede Wi- Fi. Com base nesse subprotocolo, foi lançado a certificação WMM (Wi-Fi Multimedia). O objetivo é a adoção da tecnologia Wi-Fi em aparelhos eletrônicos de consumo, como televisores, DVD players, e até mesmo em telefones celulares f Este outro subprotocolo já definido pelo IEEE, tem a finalidade de melhorar a comunicação entre os pontos de acesso de fornecedores diferentes, garantindo a interoperabilidade em funções como roaming, por exemplo (WPAN) Wireless Personal Area Networks (Bluetooth). É o nome dado a uma nova tecnologia que usa links de rádio de baixo alcance, e que pretende substituir os cabos que conectam dispositivos eletrônicos portáteis e/ou fixos. Suas características chaves são robustez, baixa complexidade, baixa potência e custo baixo. Os dispositivos Bluetooth podem detectar, conectar e descobrir os serviços oferecidos por outros dispositivos na vizinhança tudo sem o usuário estar ciente disto. Minúsculos rádios embutidos em chips, utilizando uma tecnologia chamada transmissão por salto de frequência, permitem uma comunicação confiável, segura e a prova de interferências. Tais fatores, tornam esta tecnologia atrativa também para a construção de WLANs (WMAN) Também conhecido como WiMax, o especificado pelo IEEE pretende ser um padrão para WMANs (Wireless Metropolitan Area Networks), ou seja, Redes Metropolitanas sem fio. Este é o primeiro padrão oficial para redes wireless de longa distância, aprovado em Janeiro de Naturalmente, antes do já existiam vários projetos de redes sem fio de longa distância, a maioria utilizando transmissores b e antenas de alta potência. Mesmo assim, as distâncias não superam a marca de alguns poucos Kilômetros, fazendo com que fossem necessários vários repetidores pelo caminho para atingir distâncias mais longas. A partir de um certo limite a única opção eram as caras transmissões via satélite. O IEEE visa resolver este problema. Ao contrário do b ou até mesmo do g, o padrão utiliza um espectro variável, utilizando basicamente 03 (três) faixas de frequência principais: 2,5 GHZ, 3,5GHz e 5,8 GHz. A velocidade das redes WiMax pode chegar a 75 Mbps com uma cobertura de até 50 Kilômetros. Existe ainda um recurso que permite aos dispositivos reconhecerem o tipo de dados transmitidos (voz ou dados por exemplo) e com base nisso priorizarem o tempo de latência ou a taxa de transferência de dados. O principal uso previsto para o padrão é o fornecimento de acesso a banda larga, sobretudo em áreas rurais e cidades onde o acesso via cabo ou ADSL não está disponível. A tecnologia também pode ser utilizada para substituir o cabo ou a fibra óptica no trecho conhecido como last mile, que separa a operadora ou provedor de serviço da casa do usuário. Mesmo sendo uma tecnologia recente, já existe esforços para uma evolução do WiMax, conhecida como e, onde será possível a mobilidade entre células sem perder a conexão. 40

56 4.3 O Projeto IEEE 802 Corá, M.A.A. Digo isto, porque atualmente o usuário só pode conectar à rede por meio de uma antena fixa que atende a uma célula e movimentar-se dentro dela (Mobile-Fi) O Mobile-Fi, ou MBWA (Mobile Broadband Wireless Access), teve seu desenvolvimento aprovado em Dezembro de Formado pelo padrão de comunicação , apresenta como missão desenvolver uma especificação para uma interface de pacote voltada para o transporte de serviços utilizando o protocolo IP. Seu objetivo principal é permitir, mundialmente, o desenvolvimento de uma rede de acesso de banda larga sem-fio para celulares que atendam as necessidades do mercado. Como características dessa rede, poderíamos citar fatores como custo, onipresença e operabilidade de diversos fabricantes de celulares. O protocolo vem sendo desenvolvido por um consórcio formado por empresas e pesquisadores e coordenado pelo IEEE desde Dezembro de Seu desenvolvimento começou com o intuito de ser um complemento ao protocolo , que já especifica padrões de transmissão sem fio em redes estáticas. O especificaria redes sem fio móveis. Esses dois padrões começaram baseados em aspectos técnicos diferentes e endereçaram problemas suavemente diferentes, mas seu desenvolvimento tem feito com que o IEEE e, cujo desenvolvimento é comandado pela Intel, ameace tornar o redundante. Por trás do temos a Motorola e a Cisco que parecem estar bem determinadas em fazer de seu padrão preferido o padrão dominante do BWA (Broadband Wireless Access), ao invés de buscar uma aproximação com o padrão comandado pela Intel. Aparentemente, essa determinação pode ser desastrosa. O WiMax já está pronto e o Mobile-Fi ainda não conseguiu ser especificado. Esta disputa de padrões é devido à certeza que se tem de que o BWA representará uma revolução na Internet móvel, proporcionando a conexão sem fio a longa distância e em boa velocidade. 41

57 Capítulo 5 Detecção e Correção de Erros 5.1 Introdução Em todo sistema de transmissão de informação a distância, há sempre a possibilidade de ocorrerem deformações na informação transmitida. Isso ocorre devido a interferências no meio de transmissão. A memória principal ou qualquer outro tipo de memória, utiliza um meio de transmissão (barramento de dados) para o trânsito da informação entre a memória RAM e a CPU. Esse trânsito sofre interferências que podem alterar o valor de um ou mais bits (de 0 para 1 ou de 1 para 0). Todo sistema de memória de semicondutor está sujeito a erros. Esses erros podem ser classificados como falhas graves ou erros moderados. Uma falha grave constitui um defeito físico permanente; a célula ou células de memória afetadas não são capazes de armazenar os dados com segurança, podendo permanecer sempre com valor 0 ou 1 ou variar entre 0 e 1 aleatoriamente. Falhas graves podem ser causadas pelo uso excessivo em ambiente inadequado, por defeitos de fabricação ou por desgaste. Um erro moderado é um evento aleatório e não-destrutivo, que altera o conteúdo de uma ou mais posições de memória sem danificar a memória. Erros moderados podem ser causados por problemas de fornecimento de energia ou pela presença de partículas alfa. Essas partículas resultam de decaimento radiativo e são lamentavelmente comuns, pois pequenas quantidades de núcleos radiativos são encontradas em quase todos os materiais. Tanto falhas graves quanto erros moderados são obviamente indesejáveis; a maioria dos sistemas de memória principal modernos inclui uma lógica de detecção e correção de erros. Em redes de computadores, as estratégias utilizadas para verificação de erros são praticamente as mesmas utilizadas na arquitetura de um computador, salvo pequenas alterações, dependendo da técnica. Podemos classificar as técnicas de verificação de erros em dois grandes grupos. Um destes inclui informações redundantes suficientes em cada bloco de dados (bits) enviado. Com isso, o receptor é capaz de deduzir qual deveria ser o caracter transmitido, ou em outras palavras, qual é o bit que sofreu deformação, e corrige o bit com erro sem recorrer a retransmissão. A outra forma, é incluir uma redundância suficiente para permitir que o receptor deduza que houve um erro, mas sem identificar qual, e solicite uma retransmissão. A primeira estratégia utiliza códigos de correção de erros e a segunda emprega códigos de detecção de erros. 42

58 5.2 Técnicas de Detecção de Erros Corá, M.A.A. 5.2 Técnicas de Detecção de Erros Todos os métodos de detecção de erros são baseados na inserção de bits extras na informação transmitida. Esses bits consistem em informação redundante, isto é, que pode ser obtida a partir da informação original. Esses bits são computados pelo transmissor através de algum algoritmo que tem como entrada os bits originais a serem transmitidos. Após computar esses bits, o transmissor os acrescenta aos bits de informação propriamente dita, para então prosseguir com a transmissão do quadro. Quando o quadro é recebido, o receptor, conhecendo o algoritmo utilizado pelo transmissor, pode recomputar os bits de redundância e compará-los com os respectivos bits recebidos no quadro. Se eles forem diferentes, detectou-se a presença de um erro. A detecção de erros é utilizada para encontrar alterações nos grupos de dados transmitidos em esquemas que exigem alta confiabilidade. Quando um erro é encontrado, exige-se uma retransmissão da informação Paridade A forma mais simples de redundância para detecção de erros, é através do uso de bits de paridade. A técnica consiste na inserção de um bit de paridade ao final de cada informação. O valor desse bit é escolhido de forma a deixar todos os caracteres com um número par de bits 1 (paridade par), ou com um número ímpar de bits 1 (paridade ímpar). Por exemplo, se o transmissor desejar transmitir a informação , utilizando paridade ímpar, ele acrescentará um bit 1 a informação, de forma que a sequência resultante terá um número ímpar de bits 1 (no caso, igual a 5: ). O receptor examinando a informação recebida, deverá sempre encontrar um número de bits 1 ímpar, caso em que assumirá que a transmissão foi efetuada com sucesso. Caso contrário, houve algum erro durante a transmissão que ocasionou a inversão de um ou mais bits. Note que, caso um número par de bits tenha sido invertido, o receptor não será capaz de perceber a existência de erro, pois a paridade ainda estará correta. A figura 5.1 mostra um exemplo de implementação da técnica de paridade PAR através de um circuito lógico para a seguinte cadeia de bits: Checksum O Checksum ou Soma de Verificação, consiste na somatória de dados feitas em uma única transmissão, colocando esta somatória no final da transmissão, ou em algum campo específico. A somatória pode ser referente ao pacote inteiro ou parte do pacote, como payload, cabeçalho, ou algum conjunto de campos específicos. Do lado do receptor, o mesmo pode recalcular o checksum e compará-lo com o original. Se alguém na rede tiver alterado os dados ou se os dados forem corrompidos por interferência, os dois checksums deverão ser diferentes. Checksum criptografado de dados usa algoritmos mais complicados que fazem uso de chaves de encriptação para calculá-los. Isto evita que indivíduos não autorizados, alterem os dados e atualizem o checksum, caso ocorra uma interceptação dos pacotes Código Polinomial Outro esquema de detecção de erros, é através do uso de polinômios. Nesse esquema, uma informação de k bits, é representado por um polinômio em X, de ordem k 1. Assim, por 43

59 5.3 Técnicas de Correção de Erros Corá, M.A.A. A B XOR Tabela Verdade daoperação lógica XOR (OUExclusivo ) Gerador do Bit de Paridade Par = 0 Ímpar = Bit de Paridade Figura 5.1: Exemplo de Circuito Lógico para Paridade PAR exemplo, a informação seria representada pelo polinômio X 7 +X 5 +X Ou seja, o termo X do polinômio, representa as posições dos bits 1 numa informação de k bits. O receptor de posse do polinômio, pode então verificar se ocorreu ou não erros durante a transmissão. A técnica de detecção de erros através do uso polinômios mais conhecida é a chamada CRC (Código de Redundância Cíclica), onde transmissor e receptor combinam previamente um polinômio gerador G(x). No receptor após a chegada do polinômio que representa os bits de informação T(x), é realizada uma divisão em módulo 2 (de acordo com as regras da teoria algébrica) do polinômio T(x) pelo polinômio gerador G(x). O resto desta divisão é que dirá se ocorreu ou não erros durante a transmissão. Alguns polinômios geradores são largamente utilizados e se tornaram padrões internacionais como o CRC-12 = X 12 +X 11 +X 3 +X 2 +X 1 +1 e o CRC-16 = X 16 +X 15 +X Técnicas de Correção de Erros A Teoria de Códigos Corretores de Erros surgiu no começo da década de 50 como parte complementar de um trabalho teórico do matemático americano Claude E. Shannon, que em 1948 publicou uma série de resultados que se tornaram conhecidos como Teoria Matemática das Comunicações, hoje conhecida como Teoria da Informação. As técnicas de correção de erros, permitem não somente detectar erros durante a transmissão 44

60 5.3 Técnicas de Correção de Erros Corá, M.A.A. (como fazem as técnicas de detecção de erros), como também podem corrigir os possíveis erros. Um código corretor de erros visa recuperar informações que no processo de emissão tenham sofrido algum tipo de ruído. Pode-se afirmar que hoje praticamente todo sistema de envio de informações possui algum tipo de código corretor de erros. Como exemplos típicos, a telefonia digital, a transmissão de dados via satélite, a comunicação interna em computadores, armazenamento óptico de dados e armazenamento de dados em fitas ou discos magnéticos Códigos de Hamming O código de Hamming é utilizado quando desejamos ser capazes de detectar e corrigir erros em uma transmissão. É o código de correção de erro mais simples, projetado por Richard Hamming da Bell Laboratories. O código de Hamming também faz uso de bits adicionais (bits de redundância). O primeiro passo na execução de um código de hamming é definir quantos bits de redundância são necessários ser acrescentados na informação original (palavra código). Isto é dado pela equação 2 m m + k + 1, onde m é igual a quantidade de bits que será acrescentada a palavra código e k é igual ao tamanho da mensagem em bits. O segundo passo, é obter a posição dos bits 1 da mensagem k, e representá-los na forma binária com tamanho igual a m. Tendo em mãos os respectivos valores aplica-se a operação de OU EXCLUSIVO (XOR). Ao final desse processo, obtém-se os valores bits de redundância que serão inseridos. O mesmo processo é realizado sobre a informação recebida (conjunto de bits recebidos) e então aplica-se a operação de XOR sobre o os bits de redundância gerados através da informação original e dos bits de redundância gerados através da mensagem recebida. O resultado da operação XOR dirá se houve ou não erros durante a transmissão. Caso seja detectado um erro, automaticamente será dada a posição em que o erro ocorreu, devendo então somente, inverter o bit (de 0 para 1 ou de 1 para 0) na posição indicada. Para tornar os conceitos envolvidos mais claros o código de Hamming aqui utilizado, é um código de Hamming simples capaz de detectar e corrigir apenas um erro, que ocorra em um único bit numa dada informação. Existem porém, outros códigos capazes de detectar e corrigir mais erros numa mesma informação. 45

61 Capítulo 6 Equipamentos de Redes 6.1 Introdução à Interconexão de Redes de Computadores Para que possa haver interconexão entre redes de computadores, é necessária a utilização de equipamentos capazes de transferir os dados entre as várias sub-redes. O objetivo das técnicas envolvidas na interconexão de redes de computadores visa permitir que se crie uma única rede global que será constituída na realidade da interconexão de várias sub-redes. A idéia de uma rede global procura emular, por exemplo, a funcionalidade oferecida atualmente pela rede telefônica, através da qual é possível acessar sem dificuldades qualquer outro telefone em qualquer parte do planeta. Esta mesma possibilidade é desejável no caso das redes de computadores, de modo que um computador possa interagir com outro independentemente das suas localizações. Este objetivo seria mais facilmente alcançável se fosse utilizada uma única tecnologia de rede para criar a infraestrutura necessária a interconexão dos computadores. Entretanto, a utilização de uma única tecnologia não representa em geral a melhor solução já que dificilmente existirá uma tecnologia que possa atender satisfatoriamente os requisitos dos diversos usuários e das várias aplicações. Desta maneira a interconexão de computadores passa pela interconexão de subredes, onde subrede neste contexto, representa uma estrutura de comunicação envolvendo uma única tecnologia. No contexto da discussão envolvendo a interconexão de redes de computadores, um aspecto essencial consiste na localização dos sistemas computacionais que se deseja acessar. Esta localização depende do uso de esquemas de endereçamento adequados os quais dependem do protocolo utilizado. Do ponto de vista da questão do endereçamento, dois tipos de endereços devem ser destacados: endereço da camada de enlace (endereço físico) que possui uma estrutura plana, e endereço da camada de rede (endereço lógico ou virtual) que possui uma estrutura hierárquica. Em geral o endereço de enlace (endereço físico) no caso da maioria das redes locais tem seu valor fixado a uma interface de rede. Este endereço deve ser único, ou seja, ele não deve se repetir em qualquer outra interface que venha a ser fabricada, sendo o controle dos endereços realizado pela organização responsável pela definição do padrão da interface. Como em geral, os computadores possuem uma única conexão física de rede, eles somente possuem um único endereço para a camada de enlace. No caso dos roteadores, por outro lado, estes possuem mais de um endereço de enlace. Os endereços de enlace possuem uma estrutura plana, isto é, a sua estrutura não possui qualquer referência hierárquica na constituição do respectivo endereço. Os endereços correspondentes à camada de rede, também denominados de endereços lógicos 46

62 6.2 Equipamentos de Redes Corá, M.A.A. ou virtuais, costumam ser organizados em uma forma hierárquica, podendo fazer uma analogia, por exemplo, ao sistema de correios atual. Resolvida a questão de endereçamento, a informação é trocada entre o remetente e o destinatário. 6.2 Equipamentos de Redes Os equipamentos de redes de computadores, podem servir apenas como equipamentos de concentradores de cabos, ou como dispositivos de interconexão de redes de computadores que atuam conforme as camadas do modelo de referência OSI da ISO. Os principais equipamentos de redes, são citados na sequência a seguir Patch-Panels O Patch-Panel é um painel intermediário de distribuição de cabos que fica normalmente entre os pontos de conexão de equipamentos e o Hub. Esse painel distribuidor concentra os cabos que vem dos pontos de rede com ou sem equipamentos. Do Patch-Panel saem os cabos para conexão ao Hub. Quando colocamos uma nova estação (um novo nó de rede) num ponto ainda não utilizado, basta conectarmos essa posição do Patch-Panel ao Hub, sem a necessidade de passar um novo cabo do local da nova estação. Ou seja, os cabos são instalados em todos os pontos que possam ter estações e deixados no Patch-Panel, e podem ser ligados ao Hub quando necessário Repetidores O repetidor é o dispositivo mais básico dentre aqueles utilzados na interconexão de redes. A principal função de um repetidor é a restauração do sinal. Restaurar o sinal significa trazê-lo a sua forma original o que inclui não somente uma reamplificação do sinal, mas também alguma interpretação do sinal recebido. O repetidor atua na camada Física (camada 1) do modelo de referência OSI da ISO Hubs Algumas redes requerem um ponto central de conexão entre segmentos de mídia. Estes pontos centrais são denominados Hubs, repetidores de portas múltiplas ou concentradores. O Hub organiza os cabos e transmite os sinais de entrada aos outros segmentos de mídia. Atualmente podemos encontrar três tipos de Hubs no mercado: Passivos: somente transmite o sinal para todas as portas (Broadcast), não há regeneração do sinal, portanto cada segmento pode ser estendido somente a distância máxima permitida pelo tipo de mídia de transmissão que está sendo utilizada. Ativos: iguais aos Hubs Passivos, porém amplificam e limpam os sinais de ruídos, mas mesmo assim transmitem o sinal para todas as portas (Broadcast). É o equivalente a um repetidor com múltiplas portas. Inteligentes: são parecidos com os switches, possuem uma tabela com os endereços MAC e portanto possuem a capacidade de fazer comutação (chaveamento) baseado no endereço físico. 47

63 6.2 Equipamentos de Redes Corá, M.A.A Bridges (Pontes) Figura 6.1: Um Hub [28] Os Bridges permitem o tráfego de pacotes entre segmentos de rede, ou seja, as pontes permitem interconectar redes. Elas realizam estas tarefas determinando a localização física dos computadores de origem e destino na mídia de rede. Essa localização é chamada de endereçamento. As pontes atuam na camada de Enlace (camada 2) do modelo de referência OSI da ISO, portanto, seu endereçamento é baseado no endereço de enlace (endereço físico). Outro aspecto importante no caso das pontes, é a transparência relativamente aos protocolos de nível mais alto. Isto porque ao limitarem-se ao nível de enlace, as pontes não necessitam acessar as informações da camada de rede. Outra função importante diz respeito a função de filtragem, onde é possível uma ponte descartar sinais endereçados a outros nós de um mesmo segmento, evitando broadcasts desnecessários. Um dos aspectos críticos relacionados as pontes diz respeito as diferenças de velocidades entre as redes que a ponte interliga. Esta diferença de velocidades impede muitas vezes que aplicações que executam em redes locais e que são sensíveis ao atraso sejam executadas através de uma interconexão de LANs por exemplo. Apesar de não serem capaz de melhorar a velocidades das redes, as pontes podem amortecer as diferenças de velocidades entre dois tipos de redes através do armazenamento temporário dos quadros Switches Os switches operam no mesmo nível que as pontes (camada de Enlace camada 2 do modelo de referência OSI da ISO), sendo que as diferenças básicas são: Switches tipicamente interconectam um maior número de LANs; Switches são muito mais rápidos que pontes; Switches modernos podem até prover isolamento de tráfego entre múltiplas LANs, permitindo a implantação de LANs virtuais (VLANs), onde os recursos são agrupados segundo critérios de utilização e não de proximidade física. Outra questão importante diz respeito ao aprendizado da topologia da rede através dos segmentos interconectados. Em geral os switches possuem uma tabela que indica em quais segmentos de rede os hosts estão conectados. Desta maneira os switches aprendem sobre um determinado host quando um quadro é recebido e este não possui o endereço daquele host na tabela. Neste caso o switch atualiza automaticamente a tabela através do armazenamento do endereço de origem do quadro recebido, juntamente com o número da porta ao qual encontra-se conectado o segmento onde o quadro foi recebido, ou seja, o switch aprendeu que o host situa-se naquele segmento de rede. 48

64 6.2 Equipamentos de Redes Corá, M.A.A. Figura 6.2: Switch [28] Roteadores Figura 6.3: Exemplo simplificado de uma Tabela de Comutação Os roteadores atuam na camada de Redes (camada 3) do modelo de referência OSI da ISO, portanto, seu endereçamento é baseado no endereço de rede (endereço lógico ou virtual). Os roteadores possuem duas funções básicas: Determinação de rotas ótimas Transporte da informação (pacotes) através da internet Para determinação de rotas ótimas os algoritmos de roteamento normalmente utilizam métricas, como por exemplo, o comprimento do caminho. Para auxiliar nesse processo empregase informações de roteamento armazenadas em tabelas de roteamento. As informações variam de acordo com o algoritmo de roteamento empregado. As tabelas são normalmente organizadas através da associação do destino com o próximo roteador no caminho para alcançar o destino do pacote. Ao receber um pacote em uma de suas entradas o roteador tenta associar este endereço com o próximo roteador. 49

65 6.2 Equipamentos de Redes Corá, M.A.A. Interface Rede de Próximo Custo Interface de Entrada Destino Hop de Saída n o da porta Endereço IP Endereço do segundo n o da porta de entrada da rede de destino próximo hop uma métrica de saída x x x x x x x x x x x x x x x x IP da rede de destino Default x Default Tabela 6.1: Modelo simplificado de uma Tabela de Roteamento O encaminhamento dos pacotes por parte dos roteadores é relativamente simples. Na maior parte das vezes um host determina que ele tem que enviar um pacote a outro host. Após adquirir o endereço do roteador, o host de origem envia um pacote endereçado especificamente ao endereço físico do roteador. Após examinar o endereço de destino do pacote, o roteador determina se ele conhece ou não onde encaminhar o pacote. Caso ela não conheça, ele deve descartar o pacote ou enviá-lo em uma rota default. Caso ele conheça como encaminhar o pacote, o roteador altera o endereço físico do destino para encaminhar o pacote ao próximo roteador, e envia o pacote. O próximo roteador pode ou não ser responsável pela entrega do pacote ao host destino caso este último esteja conectado ao uma subrede conectada ao roteador. Caso contrário o processo se repete com o envio do pacote ao um outro roteador. Figura 6.4: Roteador - (Router) [28] Comutadores Ópticos Com o crescimento das Redes Ópticas, o uso de tecnologias para equipamentos ópticos tem aumentado massivamente. Equipamentos ópticos possibilitam por exemplo, que vários comprimentos de ondas (Lambdas) sejam estreitamente multiplexados, transformando a fibra óptica numa mídia com capacidade multi-terabit. Comutadores ópticos operam com comprimento de ondas (Lambdas) e a designação de comutador óptico é no entanto abusiva, uma vez que subentende-se um encaminhamento integralmente fotônico. Contudo a maior parte destes equipamentos procedem a uma transmissão óptico-elétrico das ondas luminosas. 50

66 6.2 Equipamentos de Redes Corá, M.A.A. Podemos então classificar os comutadores ópticos em dois tipos: Transparentes: que não necessitam de conversões OEO (Óptico-Elétrico-Óptico), sendo portanto equipamentos capazes de operar totalmente óptico OOO. Opacos: que necessitam de conversão OEO (Óptico-Elétrico-Óptico). Figura 6.5: Comutadores Ópticos - Optical Network Switch (ONS) [28] Existem duas nomenclaturas usadas para comutadores ópticos: OXC (Optical Cross Connects) e PXC (Photonic Cross Connects). Na verdade, os dois termos se confundem um pouco, no entanto, o termo OXC é utilizado normalmente para se referir a ambos os tipos de comutadores, tanto opacos quanto transparentes. Já o termo PXC, normalmente é atribuído somente ao comutadores ópticos transparentes. 51

67 Capítulo 7 Moldagem de Tráfego (Traffic Shaping) 7.1 Introdução São várias as causa de congestionamento como: processamento lento nos nós intermediários, largura de banda insuficiente, roteadores com memória insuficiente, jitter, etc. Além destas, uma das principais causas, que inclusive é muito comum em redes IP é o tráfego em rajadas. Se fosse possível fazer os hosts transmitirem em uma taxa uniforme, o congestionamento seria menos comum. As técnicas de moldagem de tráfego são uma tentativa de minimizar o tráfego em rajadas, tentando regular um taxa média de transmissão de dados, ou seja, em intervalos constantes. Algumas tecnologias possuem seus próprios mecanismos de controle de congestionamento como é o caso das redes ATM e das redes Frame Relay, que possuem nos cabeçalhos de seus pacotes, campos voltados para esta função. Na arquitetura TCP/IP, também existem protocolos que possuem mecanismos para controlar o congestionamento, como é o caso do conceito de janelas deslizantes presentes no protocolo TCP. Veja seção No entanto, serão abordados neste capítulo, dois algoritmos que são os mais conhecidos para esta função: o algoritmo de Balde Furado (Leaky Bucket) e o algoritmo de Balde de Tokens (Token Bucket). 7.2 O Algoritmo de Balde Furado (Leaky Bucket) Imagine um balde com um pequeno furo na parte de baixo, não importa a velocidade com que a água entra no balde, o fluxo de saída está a uma taxa constante quando há alguma água no balde e zero quando o balde está vazio. Além disso, uma vez que o balde estiver cheio, a água que entrar nele escorrerá pelos lados e será perdida (ou seja, não aparece no fluxo de saída sob o furo). A mesma idéia pode ser aplicada a pacotes. Ou seja, o balde é uma fila finita, onde se um pacote chegar a fila e houver espaço na fila, ele é incluído. Caso contrário, quando a fila estiver cheia, o pacote será descartado. Na verdade trata-se simplesmente de um sistema de enfileiramento com um único servidor e que tem tempo de serviço constante. No que diz respeito a retirada dos pacotes da fila, quando os pacotes são todos do mesmo tamanho (por exemplo, células ATM), esse algoritmo pode ser usado da forma que descrevemos. 52

68 7.3 O Algoritmo de Balde de Tokens (Token Bucket) Corá, M.A.A. Figura 7.1: Algoritmo Leaky Bucket Entretanto, quando os pacotes são de tamanho variados, a melhor opção é permitir um número fixo de bytes por pulso (retirada), em vez de um pacote de cada vez. Assim, se a regra for bytes em um pulso, é possível admitir um único pacote de bytes em um único pulso, ou dois pacotes de 512 bytes, quatro pacotes de 256 bytes, etc. 7.3 O Algoritmo de Balde de Tokens (Token Bucket) O algoritmo de Leaky Bucket força um padrão de saída rígido na taxa média, independente da irregularidade do tráfego. Porém, em muitas aplicações, é melhor permitir que a saída aumento um pouco sua velocidade quando chegarem rajadas maiores. Portanto, é necessário um algoritmo mais flexível, de preferência que nunca perca dados. Um algoritmo como esse é o algoritmo de balde de tokens. Nesse algoritmo, o balde furado retém tokens, gerados por um clock na faixa de um token a cada T segundos. Para que um pacote possa ser transmitido ele precisa capturar e destruir um token. Caso não tenha tokens suficientes para uma rajada, os pacotes que ficaram sem tokens ficam aguardando até que seja gerados mais tokens. A diferença principal entre os dois algoritmos (Leaky Bucket e Token Bucket), é que o algoritmo de balde de tokens joga tokens fora quando o balde enche mas nunca descarta pacotes. Em contrapartida o algoritmo de balde furado, descarta pacotes quando o balde fica cheio. No caso de pacotes de tamanhos variados, um pacote só pode ser transmitido se houver tokens suficientes disponíveis para englobar seu comprimento em bytes. Basicamente, o algoritmo de Token Bucket é capaz de permitir rajadas, mas até um comprimento máximo permitido, dado pela capacidade do balde. 53

69 7.3 O Algoritmo de Balde de Tokens (Token Bucket) Corá, M.A.A. Figura 7.2: Algoritmo Token Bucket. 54

70 Capítulo 8 Roteamento 8.1 Introdução à Roteamento Roteamento é um processo de decisão do qual roteadores se valem para encaminhar tráfego para outros roteadores. Em sendo um processo de decisão, roteamento é uma tarefa computacionalmente intensa, além de consumir determinada banda da rede de comunicação na troca de informações de roteamento entre roteadores. O roteamento consiste no processo de escolha do caminho através do qual deve ser enviado o dado para o sistema destino, e para isto, é necessário determinar a melhor rota (segundo algum critério) para um dado destino. Caso o destino esteja localizado na mesma sub-rede, esta é uma tarefa fácil. Porém quando o destino se encontra em um sub-rede diferente, a transmissão dos dados é feita através de um gateway. Um gateway funciona como uma porta de saída de uma rede; ele é um máquina equipada com duas ou mais interfaces ou dispositivos de rede e é capaz de fazer o repasse de datagramas para fora ou para dentro da rede. O gateway faz o roteamento baseado no endereço IP de destino do datagrama. Se o gateway já estiver conectado a rede para onde o dado deve ser enviado, o problema acabou. Porém, o gateway pode não estar ligado diretamente a rede de destino. Neste caso, a partir da identificação da sub-rede, o endereço físico do próximo gateway na rota é obtido, através de processos de mapeamento Conforme mencionado em tópicos anteriores, roteadores utilizam tabelas de roteamento para conduzir o processo de tomada de decisão. Tipicamente uma tabela de roteamento possui três colunas: subrede de destino, interface de roteador e custo. A subrede de destino é o endereço de destino do pacote a ser roteado. A interface do roteador é o ponto de saída do pacote sendo uma via de conexão para um roteador mais próximo da subrede de destino ou a própria subrede de destino. O custo é uma métrica associada a decisão de rotear o pacote via determinada interface. O algorítmo de roteamento é a parte do software da camada de rede responsável pela decisão sobre a linha de saída a ser usada na transmissão do pacote de entrada. Se a subrede utilizar datagramas internamente, essa decisão deverá ser tomada mais uma vez para cada pacote de dados recebido, pois a melhor rota pode ter sido alterada desde a última vez. Se a subrede utilizar circuitos virtuais internamente, as decisões de roteamento serão tomadas somente quando um novo circuito virtual estiver sendo estabelecido. Daí em diante os pacotes de dados seguirão a rota previamente estabelecida. 55

71 8.2 Sistemas Autônomos Corá, M.A.A Roteamento Estático No roteamento estático cada roteador tem que ter as suas rotas configuradas manualmente, e é por isso que os administradores de sistemas não utilizam esta técnicas se tiverem escolha. O roteamento estático tem a desvantagem de caso um destino estiver inativo, as rotas estáticas permanecem na tabela de roteamento, e o tráfego ainda continua a ser enviado em vão em direção ao destino, sem tomar conhecimento da existência ou não de um caminho alternativo. Entretanto, há circunstâncias em que o roteamento estático pode-se tornar atraente, por exemplo para definir uma rota padrão por motivos diversos. Como provocam um trabalho considerável, o roteamento estático é mais adequado para rotas que não mudam com muita frequência. Já o roteamento dinâmico depende de algoritmos do próprio roteador para descobrir o melhor caminho Roteamento Dinâmico Existem dois algoritmos para roteamento dinâmico: Roteamento por Vetor de Distância (Distance Vector) Os protocolos baseados no algorítmo vetor-distância partem do princípio de que cada roteador do AS (Autonomous System), deve conter uma tabela informando todas as possíveis rotas dentro deste AS. A partir desta tabela o algorítmo escolhe a melhor rota e o enlace que deve ser utilizado. Roteamento por Estado de Enlace (Link State) Nesse algorítmo o que é levado em consideração é o estado do enlace entre os roteadores. Cada roteador verifica verifica o estado do seu enlace com seus vizinhos, e a qualquer alteração, notifica os demais. Cada roteador constrói um pacote chamado de Link State Packet ou LSP, que contém o seu nome, o nome de seus vizinhos e o custo necessário para chegar até eles, e envia esse pacote a todos outros roteadores (flooding). 8.2 Sistemas Autônomos Na Internet, Sistema Autônomo é um domínio de rede interna em que um conjunto de estações e roteadores são administrados por uma só entidade que possui um número de identificação AS (Autonomous System), que identifica todos os roteadores dessa área. Em ASs, redes e roteadores estão sob o controle de uma mesma entidade administrativa. Esse conceito substitui a idéia das redes locais conectadas ao backbone central, como era no princípio da Internet ARPANET. Existem duas classes principais de protocolos de roteamento, os IGPs (Interior Gateway Protocols), e os EGPs (Exterior Gateway Protocols). É necessária uma diferenciação entre protocolos IGP e EGP, pois os objetivos não são os mesmos IGPs (Interior Gateway Protocols) Um protocolo IGP se preocupa com a melhor rota até a rede de destino dentro do mesmo domínio, sem pensar em política. 56

72 8.2 Sistemas Autônomos Corá, M.A.A. Os roteadores utilizados para trocar informações dentro de Sistemas Autônomos são chamados roteadores internos (interior routers) e podem utilizar uma variedade de protocolos de roteamento interno (Interior Gateway Protocols - IGPs). Dentre eles, podemos citar o RIP e o OSPF O Protocolo RIP (Routing Information Protocol) O protocolo de roteamento RIP, é empregado para que roteadores interiores ao domínio cooperem nas atividades de roteamento. É o protocolo de roteamento interior introduzido nos sistemas UNIX BSD e utilizado em pequenas variantes nas redes Novell e AppleTalk. O protocolo RIP utiliza o conceito broadcast, desta forma um roteador envia sua tabela para todos os seus vizinhos em intervalos predefinidos de tempo (geralmente 30 segundos). Estas mensagens fazem com que os roteadores vizinhos atualizem suas tabelas e que por sua vez serão enviadas aos seus respectivos vizinhos. A métrica de custo no protocolo RIP é o número de hops na rota. Este número varia de 1 a 15, sendo 16 utilizado para distância infinita (inexistência de caminho). Ou seja, uma rede com protocolo de roteamento RIP com dimensão maior do que 15 hops (15 roteadores) é considerada inalcançável. O protocolo RIP utiliza o protocolo de transporte UDP (User Datagram Protocol) para condução de suas mensagens. No protocolo RIP, roteadores difundem periodicamente informações de roteamento. O broadcast periódico de toda a tabela de roteamento consome uma grande quantidade de banda. Este é um grande problema em grandes redes, principalmente com links lentos. A convergência é lenta, e o tempo de convergência é muito importante para que a rede não fique por muito tempo desatualizada. O RIP não suporta o conceito de ASs (Autonomous Systems). No RIP não há conceito de atraso de rede e custo do link (a não ser o número de hops). As decisões de roteamento são baseadas na contagem de hops. A rota com menor número de hops até o destino é sempre a escolhida, mesmo que a rota mais longa possua a melhor relação largura de banda e atraso O Protocolo OSPF (Open Shortest Path First) O protocolo de roteamento OSPF é uma alternativa ao protocolo RIP para roteamento interior em domínios de grandes dimensões. O OSPF executa o algorítmo de SPF (Shortest Path First) para cômputo de rotas ótimas. No OSPF não há limites de hops. O OSPF usa multicast para enviar atualizações de estado dos links, garantindo um menor processamento nos roteadores. Além disso, a atualizações só são enviadas nos casos em que mudanças ocorrem, ao invés de periodicamente, isso garante uma melhor utilização da banda. Cada roteador constrói um pacote chamado de Link State Packet ou LSP, que contém o seu nome, o nome de seus vizinhos e o custo necessário para chegar até eles, e envia esse pacote a todos outros roteadores (flooding). O OSPF possui apoio ao roteamento ToS (Type of Service). Fornecimento de balanceamento de carga. Ou seja, nem sempre a melhor rota entre X e Y deve ser a única utilizada, pois isso pode implicar em sua sobrecarga. Análises matemáticas provaram que a divisão do tráfego em duas rotas é mais eficiente. Por isso o OSPF utiliza esse método de divisão de caminhos. Essa divisão é realizada por um algorítmo muito complexo, pois, como dificilmente uma fonte e um destino tem duas rotas possíveis exatamente iguais, 57

73 8.2 Sistemas Autônomos Corá, M.A.A. portanto, é feita uma análise se as rotas são suficientemente iguais. Além disso, deve-se decidir a fração do tráfego que deve ser enviado em cada uma delas. Estes pontos obviamente levam a uma maior complexidade na configuração e resolução de problemas. Administradores acostumados com a simplicidade do RIP, ficam assustados com a quantidade de nova informação requerida para ficar a par de redes OSPF. Isto também adiciona um maior overhead EGPs (Exterior Gateway Protocols) Já um protocolo EGP assume que por exemplo, empresas diferentes, organizações diferentes e até mesmo países diferentes precisam se comunicar, e existem certas políticas que devem ser respeitadas, até mesmo por questões econômicas e de segurança. Roteadores que trocam dados entre Sistemas Autônomos são chamados de roteadores externos (exterior routers), e estes utilizam protocolos de roteamento externo, ou seja, entre ASs (Autonomous Systems), dentre estes podemos citar o BGP O Protocolo BGP (Border Gateway Protocol) O BGP possibilita o intercâmbio de informações de roteamento entre os diversos Sistemas Autônomos, ou ASs (Autonomous Systems), que em conjunto, formam a Internet. Explicando de uma forma simplificada, ele permite que os dados possam trafegar entre os ASs até chegar ao AS de destino, e daí em diante, assume que o roteamento interno do AS é feito através de um sistema IGP (Interior Gateway Protocol) de roteamento interno. Este pode ser um protocolo de roteamento como o RIP ou OSPF ou até mesmo através de rotas estáticas. A última versão do BGP é a 4 (BGP-4) Border Gateway Protocol Version 4. O BGP constrói um gráfico dos ASs, usando as informações trocadas pelos vizinhos BGP (BGP neighbors), que são compostas dos números identificadores dos ASs. A conexão entre ASs forma um caminho (path), e a coleção desses caminhos acaba formando uma rota composta pelos números dos ASs que devem ser percorridos até se chegar a um determinado AS destino. A atualização das tabelas de rotas feitas de forma incremental, como nos algoritmos de estado de enlace. A atualização completa da tabela de rotas é feita somente uma vez, quando se estabelece a sessão entre os neighbors ou peers. Para o estabelecimento de uma sessão BGP entre neighbors ou peers, basicamente, os seguintes passos são executados: É estabelecida a conexão TCP (Transmition Control Protocol) entre os dois roteadores que trocam mensagens de abertura da sessão e negociam os parâmetros de operação; O primeiro fluxo de dados transmitido é a tabela de rotas BGP completa. Posteriores atualizações nesta tabela são feitas, incrementalmente, a medida que as mudanças ocorrerem; Como não há a atualização completa da tabela após a primeira, o roteador mantém a informação da versão da tabela que todos os seus peers possuem, enquanto durar a sessão entre eles. Se esta for interrompida por qualquer motivo, o processo é iniciado novamente a partir do primeiro passo; Mensagens de keepalive são enviadas periodicamente para manter a sessão aberta; Mensagens de aviso são enviadas quando ocorrem erros ou outras situações especiais; 58

74 8.2 Sistemas Autônomos Corá, M.A.A. Caso uma conexão verifique um erro, uma mensagem é enviada e a conexão fechada, encerrando a sessão. Figura 8.1: ASs comunicando-se via BGP 59

75 Capítulo 9 Endereçamento IP 9.1 Introdução à Endereçamento Teoricamente, um endereço IP deve ser único (exclusivo) para cada host conectado a Internet. Portanto, surge a seguinte questão: quem administra o provimento de endereços IP em nível global? A presença de um ou mais órgãos responsáveis pela administração e gerenciamento da entrega de endereços IP é fundamental. Portanto, o governo dos EUA mantém uma infraestrutura de entidades responsáveis para esta função. Cada órgão possui um conjunto de funções bem determinadas e que em conjunto fornecem toda a base necessária para o funcionamento correto da rede mundial. No topo da hierarquia destes órgãos, encontra-se o IANA (Internet Assigned Numbers Authority) que foi o organismo contratado pelo governo dos EUA para administrar a alocação de números IP em nível mundial. O IANA atuou por 30 anos mediando as disputas e fazendo as funções técnicas de todas as partes do sistema de domínios. Entretanto, desde Setembro de 1998 outro órgão assumiu o lugar do IANA. Trata-se do ICANN (Internet Corporation for Assigned Names and Numbers), que será discutido com detalhes ainda nesta seção. Com a explosão da Internet desencadeada pela generalização da infra-estrutura nos países desenvolvidos e a expansão dos serviços baseados no protocolo HTTP (HyperText Transfer Protocol), sérios problemas no DNS (Domain Name Server) começaram a ficar evidentes. Surgiram disputas tanto em torno de nomes de domínio e marcas registradas, como em relação a quem realmente deveria operar e coordenar todo o sistema, já que a Internet passava a ser de fato mundial. Em 1997, uma equipe de técnicos de alto nível propôs a formalização de um conjunto de mais de 100 gtlds (Global Top Level Domains) como domínios internacionais. Na verdade, qualquer instituição ou indivíduo de um país capaz de pagar em dólares americanos podia registrar domínios.com,.net,.org, mas a idéia era criar muitos outros. O fato gerou mais discussão sobre a jurisdição de todo o processo de criação e distribuição de nomes e números IP, levando finalmente o governo dos EUA a conceber uma organização de escopo internacional para administrar o sistema. O então presidente Bill Clinton encarregou o Departamento do Comércio dessa tarefa, começando assim a desvincular o Departamento de Defesa do controle da infra-estrutura Internet. Após um processo limitado de consultas públicas, foi criada em Setembro de 1998 a entidade civil sem fins lucrativos ICANN (Internet Corporation for Assigned Names and Numbers), sediada em Marina del Rey, Califórnia. Além de passar a administrar a definição e manutenção da tabela de números de portas lógicas dos diversos serviços-padrão da Internet, coube à ICANN a gestão de números IP, dos nomes de domínio de primeiro nível (gtlds) e a gerência dos servidores-raiz. 60

76 9.1 Introdução à Endereçamento Corá, M.A.A. A ICANN funciona basicamente com três divisões: DNSO (Domain Name Supporting Organization), PSO (Protocol Supporting Organization) e ASO (Address Supporting Organization), sendo esta última responsável pelo controle da distribuição de endereços IP. A ASO funciona em estreita cooperação com alguns organismos regionais de administração de infra-estrutura, como a ARIN, APNIC, LACNIC e RIPE/NCC. Veja figura 9.1. IANA/ICANN (Internet Assigned Numbers Authority/Internet Corporation for Assigned Numbers and Names) DNSO (Domain Name Supporting Organization) ASO (Address Supporting Organization) PSO (Protocol Supporting Organization) cctld Registries gtld Registries ARIN (American Registry for Internet Numbers) APNIC (Asia Pacific Network Information Centre) RIPE/NCC (Réseaux IP Européens/Network Coordination Centre) LACNIC (Latin American and Caribbean Internet Address Registry) ITU-T (International Telecommunication Union) IETF (Internet Engineering Task Force) FAPESP (Fundação de Amparo à Pesquisa do Estado de São Paulo) Figura 9.1: Estrutura hierárquica do ICANN. ARIN (American Registry for Internet Numbers) O ARIN foi criado em 1997 com o objetivo de administrar o registro de números IP em separado da administração de nomes de domínio a cargo da empresa privada Network Solutions. Hoje o ARIN, que administra os números IP por delegação da ICANN para as Américas, é um corpo técnico constituído basicamente por empresas americanas e canadenses de serviços e produtos Internet. APNIC (Asia Pacific Network Information Centre) Com funções semelhantes à ARIN, o APNIC é praticamente um consórcio de empresas de produtos e serviços Internet distribuídas por 62 países da região com função de administrar os números IP dessa região. RIPE/NCC (Réseaux IP Européens/Network Coordination Centre) - é uma comunidade colaborativa aberta de organizações e indivíduos que operam as redes IP européias, com alcance em alguns outros países. O objetivo é garantir a coordenação técnica e administrativa necessárias para permitir a operação de uma rede IP pan-européia. LACNIC (Latin American and Caribbean Internet Addresses Registry) Desempenha papel similar ao do APNIC, ARIN e RIPE na respectiva região: administração do espaço de endereços IP alocado para os países da região e do ASN (Autonomous System Numbers), operação da resolução reversa de domínios e outros recursos. É constituído basicamente por empresas de serviços e produtos Internet. FAPESP (Fundação de Amparo à Pesquisa do Estado de São Paulo) Maior órgão público brasileiro de fomento à pesquisa, supera em volume de recursos o próprio CNPq (Conselho Nacional de Pesquisas). A FAPESP tem participado com pesquisadores, apoio financeiro e de infra-estrutura da implantação das redes de computadores orientadas à educação e pesquisa desde os anos 80. Por decisão do Comitê Gestor da Internet no Brasil, a Fundação foi escolhida como administradora técnica do registro de nomes de domínio e distribuição de números IP para o domínio.br. 61

77 9.2 Endereçamento IPv4 Corá, M.A.A. 9.2 Endereçamento IPv4 A composição do endereçamento de um protocolo consiste de uma sintaxe e uma semântica. A sintaxe de um protocolo define os conjuntos de bits (séries de uns e zeros) divididos em campos, ou seja, a forma como os bits estão dispostos. Já a semântica de um protocolo define o significado exato dos bits dentro de cada campo. Por exemplo, um endereço de 48 bits iguais, significa que é um endereço de broadcast, ou seja, representa algo que pode ser lido por todos os computadores da rede. Os endereços IPv4 são números com 32 bits (4 bytes), normalmente escritos como 4 octetos. Para maior comodidade, o endereço é representado na forma decimal, portanto cada byte pode assumir valores de 0 a 255, como por exemplo Figura 9.2: Representação de um octeto Sendo assim, se todos os bits de um octeto recebem o valor 1, seu valor decimal é 255, ou seja: = 255 O endereço IP é divido em duas partes, a primeira parte do endereço identifica uma rede específica na inter-rede, a segunda parte identifica um host dentro desta rede. Devemos notar que um endereço IP não identifica uma máquina individual, mas uma conexão a inter-rede. Assim, um gateway conectando n redes tem n endereços IP diferentes, um para cada conexão. Para saber quais dos 4 octetos pertencem ao endereço de rede e quais pertencem ao endereço de host, existem o conceito de classes de endereçamento e máscaras de rede. Como dito, os endereços IP pode ser usados para nos referirmos tanto a redes quanto a um host individual. Entretanto, existem algumas regras relativas ao endereçamento IP, como por exemplo, todos os 32 bits iguais a 1, ou seja, ( ), é considerado um endereço para difusão (broadcast). O endereço é reservado para teste (loopback) e comunicação entre processos da mesma máquina Classes de Endereçamento IP Existem 5 classes de endereços (classes A,B,C,D e E), todavia, as classes D e E são destinadas para multicast e uso futuro respectivamente. Portanto, iremos abordar com detalhes, somente as classes A,B e C. A definição de classes de endereços deve-se ao fato do tamanho das redes que compõem a internet variar muito, indo desde de redes locais de computadores de pequeno porte até redes públicas interligando milhares de hosts. A primeira classe de endereços, classe A, o bit mais significativo é 0, os outros 7 bits do primeiro octeto identificam a rede e os 24 bits restantes definem o endereço local. Essas 62

78 9.2 Endereçamento IPv4 Corá, M.A.A. classe de endereços é usada para redes de grande porte, onde é possível representar 126 redes e hosts. A classe B, usa dois octetos para o número da rede e dois para endereços de hosts. Os endereços da rede B variam na faixa de até (os números 0 e 255 do segundo octeto, e 127 do primeiro, são usados para funções especiais). Nessa classe é possível representar redes e hosts para cada uma das redes. Finalmente os endereços de classe C, utilizam três octetos para identificar a rede e um para o host. Os endereços de rede situam-se na faixa de até Os endereços acima de 223 no primeiro octeto, foram reservados para uso futuro. Nesta classe, é possível representar redes com 254 hosts cada. Redes Endereços Classe A Classe B Classe C Tabela 9.1: Classes de Endereçamento IP Figura 9.3: Classes de Endereçamento IP Para simplificar o roteamento, foram alocadas faixas de endereços IP classe C por região geográfica, como mostra a tabela Máscaras e Sub-Redes Quando configuramos o endereço IP num computador, devemos configurar a máscara de sub-rede. A máscara serve para definir a classe de endereçamento, especificando que parte do endereço IP representa a rede e que parte representa o host (computador). O número 255 na máscara, confirma que o respectivo byte (octeto de bits) do endereço IP faz parte do endereço de rede. Em outras palavras, apaga a parte do endereço IP que designa o host ressaltando o endereço de rede. Pode-se assim dizer que as máscaras aumentam o número de endereço de rede e em contrapartida diminuem o número de endereço de hosts. Numa rede local, a máscara também pode designar endereços de sub-redes, designando desta forma uma parte para o endereço de rede, outra parte para o endereço de sub-rede e ainda uma outra parte para o endereço do host. Esta escolha é determinada pelo administrador de redes. 63

79 9.2 Endereçamento IPv4 Corá, M.A.A. Faixa de Endereços Região a Diversas a Europa a a África a a América do Norte a América do Sul e Central a a Ásia e Oceania Tabela 9.2: Endereços IP de Classe C divididos por região geográfica Uma outra característica importante, é que esta configuração é transparente a redes remotas, ou seja, outras redes realizam seu encaminhamento baseado apenas o endereço de rede, pois os endereços de sub-redes é interpretado apenas na rede local. Por exemplo, dado o endereço IP e a máscara , o endereço de rede é e broadcast nesta rede dá-se através do endereço A figura 9.4 traz um exemplo de uma máscara dentro de uma rede local para um endereço de Classe C. Figura 9.4: Exemplo de uma Máscara de Rede Verificamos na figura 9.4 que foi atribuído mais bits para a sub-rede, limitando desta forma a quantidade de hosts que a sub-rede poderá ter, para no máximo 62 hosts, sendo 63 utilizado para broadcast dentro da subrede. Este cálculo para descobrir tanto o número de possíveis sub-redes como o número de hosts possíveis por sub-rede, é dado pela equação genérica: 2 n 2, onde n é igual ao número de bits da sub-rede ou do host. A maneira como as sub-redes operam é emprestar um ou mais dos host bits disponíveis e deixá-los fazer interfaces localmente interpretando estes bits emprestados como parte dos bits de rede. A tabela 9.3 mostra algumas das opções de sub-rede que você tem, para um endereço de rede Classe C Endereços IP Não-Roteáveis Endereços não roteáveis, endereços inválidos ou endereços privados, são os nomes que damos ao conjunto de endereços que não são visíveis na Internet. estes endereços são reservados para utilização em redes locais. Não é necessário nem um tipo de registro para se utilizar esses endereços, basta escolher a classe, atribuir os endereços as máquinas e pronto, você tem uma rede baseada em TCP/IP funcionando, sem burocracias. A tabela 9.4 mostra quais são os 64

80 9.2 Endereçamento IPv4 Corá, M.A.A. N o de Sub-Redes N o de Hosts Máscara ( ) ( ) ( ) ( ) ( ) ( ) Tabela 9.3: Relação Sub-Redes vs Hosts de acordo com a máscara adotada endereços inválidos que você pode utilizar em sua rede local. Vale lembrar que o valor xxx apresentado na tabela 9.4 pode variar de 0 até 255. Classe IP Faixa de Endereços Disponíveis Classe A 10.xxx.xxx.xxx Classe B xxx.xxx até xxx.xxx Classe C xxx.xxx Tabela 9.4: Endereços IP não roteáveis O primeiro bloco não é nada mais que um bloco de endereços de classe A, enquanto que o segundo é de classe B, e o terceiro, um bloco de endereços de classe C. Uma empresa que decida usar endereços IP fora do espaço de endereço definidos na RFC 1918 [40] pode fazer sem nenhuma coordenação com o IANA ou com um Internet Registry. Dessa forma, estes endereços podem ser usados por muitas empresas. Os endereços dentro deste intervalo serão válidos somente dentro da empresa, ou para um conjunto de empresas que escolherem se comunicar usando uma rede privada. Toda a empresa que necessitar de um endereço IP válido na Internet, deverá requerer tais endereços de um Internet Registry. Uma empresa que peça endereços IP válidos, nunca receberá endereços dos blocos definidos acima. Para utilizar uma faixa de endereços IP não-roteáveis, uma empresa necessita determinar quais os hosts que não necessitam ter conectividade fora da empresa. Tais hosts usarão endereços não-roteáveis definidos acima. Eles podem comunicar-se com todos os outros hosts dentro da empresa. Entretanto, não podem ter conectividade a nenhum host fora da empresa. Enquanto que eles conseguem ter acesso a serviços externos através de um gateway. Todos os hosts restantes serão públicos e usarão um endereço válido atribuído por um Internet Registry. Os hosts públicos podem comunicar-se com outros hosts dentro da empresa e podem ter conectividade com hosts públicos fora da empresa. Os hosts públicos não tem conectividade com hosts privados de outras empresas. Mover um host de privado para público ou vice-versa envolve uma mudança do endereço IP, do DNS (Domain Name Server), e das linhas de configuração em outros hosts que fazem referência ao host pelo endereço IP. 65

81 9.2 Endereçamento IPv4 Corá, M.A.A. Como os endereços IP não-roteáveis não tem nenhum significado global, a informação de roteamento sobre redes privadas não será propagada e os pacotes com fonte ou endereços de destino privados não devem ser enviados através de tais ligações. Os roteadores nas redes que não usam o espaço de endereço privado, em especial aqueles do ISP, esperam ser configurados para rejeitar a informação de roteamento sobre redes privadas. Se um roteador receber tal informação, a rejeição não será tratada como um erro do protocolo de roteamento. As referências indiretas a tais endereços devem ser contidas dentro da empresa. Os exemplos proeminentes de tais referências são registros do recurso do DNS e outras informações que consultam os endereços internos não-roteáveis. A vantagem em usar o endereço IP não-roteável se deve grande parte ao fato de conservar os endereços válidos, não usando onde não são requeridos. As empresas também apreciam os benefícios que seu uso traz, pois ganham muito em flexibilidade no projeto de rede, tendo mais endereços do que poderiam obter do pool global válido. Por inúmeras razões, a Internet tem encontrado situações onde uma empresa conectada a Internet tinha usado endereços IP para seus hosts sem que eles tenham sido atribuídos pelo IANA. Em alguns casos, estes endereços tinham sido atribuídos já a outras empresas. Se tal empresa conectar mais tarde à Internet, este poderia criar problemas muito sérios, porque o roteamento IP não poderia fornecer operações corretas na presença de endereços ambíguos. Embora no princípio os ISP devessem evitar tais erros com o uso de filtros de rota, este não acontece na prática. Usar endereços IP não-roteáveis fornece uma escolha segura para tais empresas, evitando problemas, uma vez que a conectividade com o mundo exterior é precisa. Um inconveniente causado pelo uso do endereço IP não-roteável é que pode realmente reduzir a flexibilidade de uma empresa em alcançar a Internet. Uma vez que uma empresa comece a usar um endereço não-roteável, ela precisará renumerar parte dela ou toda a empresa, se decidir fornecer conectividade externa a esta parte ou ao todo com a Internet. Geralmente o custo de renumerar pode ser medido contando o número de hosts que esta transição terá. Um outro inconveniente ao uso de endereços não-roteáveis é que ele pode requerer uma renumeração ao fundir diversas redes privadas em apenas uma única rede privada. O custo de renumerar pode muito bem ser reduzido pelo desenvolvimento e distribuição de ferramentas que facilitam este serviço, como por exemplo: DHCP (Dynamic Host Configuration Protocol). Com o esquema descrito, muitas empresas grandes necessitarão somente de um bloco relativamente pequeno de endereços IP válidos. As empresas beneficiam-se da flexibilidade aumentada fornecida por um range de endereços IP não-roteáveis relativamente grande. Entretanto, o uso destes endereços requer que uma organização renumere uma parte ou toda a sua rede, porque suas exigências de conectividade mudam o tempo todo NAT (Network Address Translator) O NAT (Network Address Translator) é um serviço de rede cuja principal função é possibilitar que uma rede local, com endereços IP não roteáveis, se conecte com a Internet. Dessa forma, é necessário um único endereço IP válido que será atribuído a máquina que exercerá uma função de servidora. Normalmente, esta máquina possui o serviço de Firewall que será discutido com mais detalhes na seção Desta forma, todas as máquinas da rede que não possuem endereços IP roteáveis, passarão a ter acesso a Internet e poderão utilizar seus recursos através de um servidor. O NAT veio também como uma solução a curto prazo paro o problema do esgotamento de endereços IPv4, onde a solução a longo prazo é a migração para o IPv6. A idéia básica é atribuir um único endereço IP para cada empresa ou no máximo um número pequeno deles para tráfego na Internet. Dentro da empresa, todo computador obtém 66

82 9.2 Endereçamento IPv4 Corá, M.A.A. um endereço IP exclusivo, situado dentro de um intervalo de IP não-roteáveis, usado somente para roteamento do tráfego interno. Dentro das instalações da empresa, toda máquina tem um endereço IP exclusivo e não roteável, sendo que ao passar pelo servidor NAT, ele é convertido no endereço IP válido e roteável. Como dito anteriormente, o servidor NAT geralmente está combinado no mesmo dispositivo que o Firewall, já que os dois atuam na porta de entrada e saída da rede (gateway). O grande problema do serviço NAT está na resposta às requisições feitas pelos dispositivos situados internos ao gateway. Para resolver este problema seria necessário termos um campo para controlar qual é o transmissor real, mas resta somente um bit no cabeçalho IPv4 que ainda não é utilizado. Como opção, poderia ser criado um campo para conter este endereço de origem verdadeiro, porém isso exigiria que todas as máquinas na Internet tivessem seu código IP mudado para que pudessem manipular a nova opção. Para resolver este problema, os projetistas perceberam que a maioria dos pacotes IP transporta uma carga útil TCP ou UDP. Ambos os protocolos, possuem em seu cabeçalho uma porta de origem e outra porta de destino. As portas são inteiros de 16 bits que indicam onde a conexão começa e termina. Elas fornecem o campo necessário para o serviço NAT funcionar. Os cabeçalhos TCP e UDP são mostrados nas figuras e respectivamente. Usando o campo Source Port, presentes nos dois protocolos, podemos resolver o problema de mapeamento. Sempre que um pacote de saída entra no servidor NAT, o endereço de origem é substituído pelo endereço IP verdadeiro da empresa. Além disso, o campo Source Port do TCP é substituído por um índice para a tabela de conversão de entradas do servidor NAT. Essa entrada de tabela contém a porta de origem e o endereço IP original. Por fim, tanto o total de verificação do cabeçalho IP quanto do cabeçalho TCP são recalculados e inseridos no pacote. Quando um pacote chega ao servidor NAT vindo do ISP (Internet Service Provider), o campo Source Port do cabeçalho de TCP é extraído e usado como índice para a tabela de mapeamento do servidor NAT. Esse método é denominado NAPT (Network Address and Port Translation). A partir da entrada localizada, o endereço IP interno e o campo Source Port do TCP original são extraídos e inseridos no pacote. Em seguida são recalculados os totais de verificação do IP e do TCP e inseridos no pacote. O pacote é então repassado ao roteador da empresa para entrega normal. Embora o serviço NAT venha a resolver uma parte dos problemas, ele apresenta muitas objeções. Primeiro, o NAT contraria a regra em que cada endereço IP identifica de forma exclusiva uma única máquina em todo o mundo. Toda a estrutura de software da Internet se baseia nesse fato. Com a estrutura NAT, milhares de máquina podem e usam o endereço , o que de fato, vai de contra ao princípio do protocolo IP. Em segundo lugar, o NAT faz a Internet mudar suas características de rede sem conexões para uma espécie de rede orientada a conexões. O problema é que o servidor NAT deve manter o mapeamento para cada conexão que passa por ele. Manter o estado da conexão é uma propriedade das redes orientadas a conexões, e não das redes sem conexões. Se o servidor NAT sofrer uma pane e sua tabela de mapeamento se perder, todas as conexões TCP serão destruídas. Na ausência deste serviço, panes em roteadores não terão nenhum efeito sobre o TCP. O processo transmissor simplesmente entrará em timeout dentro de alguns segundos e retransmitirá todos os pacotes não-confirmados. Em terceiro lugar, o NAT viola a regra mais fundamental da distribuição de protocolos em camadas. Esse princípio básico existe para manter as camadas independentes. Se o TCP for atualizado mais tarde, com um layout de cabeçalho diferente, o NAT falhará. Toda a idéia de protocolos em camadas tem o objetivo de assegurar que as mudanças em uma camada não 67

83 9.2 Endereçamento IPv4 Corá, M.A.A. exigirão mudanças em outras camadas. O NAT destrói essa independência. Em quarto lugar, os processos na Internet não são obrigados a usar o TCP ou o UDP. Se um usuário quiser criar o seu próprio protocolo de transporte para se comunicar com outras máquinas, o serviço NAT falhará, porque não será capaz de localizar corretamente o campo Source Port do cabeçalho TCP. Em quinto lugar, algumas aplicações inserem endereços IP no corpo do texto. O receptor então, extrai esses endereços e os utiliza. Tendo em vista que o NAT nada sabe sobre esses endereços, ela não pode substituí-los; assim, qualquer tentativa de usá-los no lado remoto falhará. O FTP (File Transfer Protocol) padrão funciona desta maneira e pode falhar na presença do NAT, a menos que sejam adotadas precauções especiais. Esse e outros problemas com o NAT são discutidos na RFC 2993 [48].Em geral, os opositores do NAT afirmam que solucionar o problema de insuficiência de endereços IPv4 com uma correção temporária e detestável significa reduzir a pressão para implementar a verdadeira solução, ou seja, a transição para o IPv6. LAN da empresa Pacote antes da conversão Pacote após a conversão Roteador da empresa Servidor NAT/Firewall Linha dedicada Roteador do ISP Servidor Limite das instalações da empresa Figura 9.5: Posicionamento e operação de um servidor NAT [1] CIDR (Classless InterDomain Routing) O IP vem sendo amplamente usado há mais de uma década. Ele tem funcionado muito bem, o que é demonstrado pelo crescimento exponencial da Internet. Infelizmente, o IP está se tornando uma vítima de sua própria popularidade, pois está ficando sem endereços. Esse enorme desastre causou muita discussão e controvérsia na comunidade Internet sobre o que fazer em relação a ele. Em 1987, alguns visionários previam que algum dia a Internet chegaria a redes interligadas. Muitos especialistas desdenharam, dizendo que isso só aconteceria após muitas décadas, isto, se acontecesse. Pois bem, em 1996, menos de uma década após, a Internet já possuia redes. O problema, resumindo, é que rapidamente a Internet está ficando sem endereços IP. Em princípio, existem mais de 2 bilhões de endereços, mas a prática de organizar o espaço dos endereços por classes, faz com que milhões deles sejam desperdiçados. 68

84 9.2 Endereçamento IPv4 Corá, M.A.A. Particularmente, o grande vilão é a rede de classe B. Para muitas empresas, uma rede de classe A com 16 milhões de endereços é muito grande, e uma rede de classe C com 254 endereços é muito pequena. Daí, uma rede classe B, com , é a única solução. Imagine por exemplo, uma organização que precise de endereços ou endereços, neste caso, seria obrigada a alocar uma rede de classe B, e o desperdício seria inevitável. Na realidade, um endereço de classe B é grande demais para a maioria das organizações, e estudos mostraram que a maioria delas não utilizam sequer metade do número de endereços disponíveis. É claro que todas as empresas que solicitaram um endereço de classe B, pensaram que um dia pudessem utilizar todo esse limite. Uma solução seria fazer com que as redes de classe C utilizassem 10 bits ao invés de 8 para o número de hosts, permitindo assim hosts por rede. Se isso tivesse acontecido, a maioria das empresas provavelmente optariam por uma rede de classe C, e haveria aproximadamente meio milhão dessas redes, contra somente redes de classe B. Entretanto, um outro problema teria surgido com maior rapidez: a explosão da tabela de roteamento. Pois do ponto de vista dos roteadores, o espaço de endereço IP, tem dois níveis hierárquicos, com números de rede e números de host. Os roteadores não precisam conhecer todos os hosts, mas sim, todas as redes. Se meio milhão de redes classe C estivesse em uso, cada roteador da Internet precisaria de uma tabela com meio milhão de entradas, uma por rede, indicando qual linha deveria ser usada para se chegar a uma determinada rede, além de outras informações. O armazenamento físico de meio milhão de entradas na tabela, é provavelmente viável, o maior problema estaria na complexidade dos diversos algoritmos relacionados ao gerenciamento das tabelas. Isto, levando em consideração, que a maior parte dos softwares para roteadores existentes, foi projetada em uma época em que a Internet tinha pouco mais de redes interligadas. Além disso, diversos algoritmos de roteamento, requerem que cada roteador transmita suas tabelas periodicamente, e quanto maiores forem as tabelas, maior será a probabilidade de elas se perderem pelo caminho, resultando em dados incompletos na outra extremidade. O problema da tabela de roteamento poderia ter sido solucionado através do estabelecimento de uma hierarquia mais profunda. Ou seja, fazer com que cada endereço IP contenha por exemplo, um campo País, Estado, Cidade, Rede e Host. Mas infelizmente, esta solução exigiria muito mais do que 32 bits para endereços IP. Resumindo, muitas soluções resolviam um problema, mas criavam outro. Assim sendo, a melhor proposta implementada até agora, e que dá a Internet um pouco de espaço extra para respirar é o CIDR (Classless InterDomain Routing). A idéia básica por detrás do CIDR, é alocar as redes de classe C restantes, em blocos de tamanhos variados. Ou seja, se uma organização precisar de endereços, ela receberá um bloco de endereços (equivalente a oito redes classe C contíguas) e não um endereço de classe B completo. Da mesma forma, uma instalação que precisasse de endereços, obteria endereços (equivalente a 32 redes de classe C contíguas). Em outras palavras, a idéia é usar um intervalo de endereços de classe C em vez de um único endereço de classe B. O CIDR não roteia de acordo com a classe do número da rede (por isso o termo Classless, sem classe), mas apenas de acordo com os bits de ordem mais alta do endereço IP, chamados de prefixo IP. Cada entrada de tabela de roteamento CIDR contém um endereço IP de 32 bits e uma máscara de rede de 32 bits, que juntos fornecem o comprimento e o valor do prefixo IP. Isto pode ser representado como (endereço-ip máscara-rede). Por exemplo, para uma organização que precisa de endereços, é necessário endereçar um bloco de oito endereços de classe C, isto porque cada endereço de classe C pode ter 256 endereços, portanto oito endereços 69

85 9.3 Endereçamento IPv6 Corá, M.A.A. de classe C seria o equivalente a endereços, isto tudo com uma única entrada na tabela de roteamento. Assim sendo, a representação seria a seguinte: ( ) ou ainda ( /21), ou seja: = = que também pode ser representado da seguinte forma: /21 Isto porque, conforme a equação 2 n, onde n neste caso é igual ao número de bits referente aos hosts, teríamos então 2 11 que é igual a endereços. Claro que embora alternativas como CIDR e NAT tenham ajudado no problema de escassez de endereços IPv4, todo mundo percebe que o IP em sua forma atual está com os dias contados, daí a necessidade de uma nova versão do protocolo, o IPv6, que será abordado com mais detalhes na seções 9.3 e Endereçamento IPv6 O IPv6 (IP versão 6) foi desenvolvido como uma solução para a escassez de endereços IPv4 e também com o intuito de corrigir inadequações do IPv4 e prover novas funcionalidades a este protocolo, como segurança e QoS (Quality of Service) por exemplo. Só por curiosidade, a identificação IPv5, não foi atribuída porque já estava sendo utilizada por um outro protocolo experimental de fluxo em tempo real Representação do Endereço IPv6 Os endereços IPv4 são representados por quatro seções de 8 bits separados por ponto, e cada seção é representada por um decimal entre 0 e 255, como já visto na seção 9.2. Os endereços IPv6 possuem 128 bits, consequentemente, um método de representação diferente foi necessário. Como especificado na RFC 2373, a representação recomendada é da seguinte forma: X:X:X:X:X:X:X:X, onde cada X representa 16 bits representados em hexadecimal, ou seja, 8 grupos representados por valores hexadecimais separados por :. Um exemplo de um endereço IPv6 válido poderia ser: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 Note que cada seção de 16 bits é delimitada por dois pontos. Se uma seção contiver zeros insignificantes estes podem ser suprimidos. Além disso, se uma seção é composta apenas por zeros, ela poderá ser representada por um único zero. O exemplo abaixo mostra um endereço com múltiplos zeros. 1080:0000:0000:0000:0008:0800:200C:417A Este endereço poderia ser representado da seguinte forma: 1080:0:0:0:8:800:200C:417A Se no endereço estiverem presentes longas sequências de zeros, um duplo dois pontos ( :: ) pode ser usado para indicar múltiplos grupos de 16 bits contendo o valor zero. Sendo assim, o exemplo acima pode ser reescrito como: 70

86 9.3 Endereçamento IPv6 Corá, M.A.A. 1080::8:800:200C:417A Todavia, a substituição de uma sequência de zeros só pode ser feita uma única vez em cada endereço, pois se contraíssemos mais de uma, o endereço tornar-se-ia ambíguo. Por exemplo, dado o endereço 10AC::0015::0002, qual a posição da palavra 0015 dentro do endereço? Em ambientes híbridos com nós IPv4 e IPv6, a representação pode ser feita da seguinte da forma X:X:X:X:X:X:D:D:D:D, onde X são números hexadecimais (16 bits) e D são valores decimais de 8 bits referentes à representação padrão já bem conhecida do IPv4. Veja o exemplo: ou ainda, na forma abreviada: 0:0:0:0:0:0: :: Esta forma de notação é bastante útil durante a migração do IPv4 para o IPv6 e na coexistência entre ambos. Quanto ao endereço de loopback que no IPV4 era , no IPv6 fica da seguinte forma: 0:0:0:0:0:0:0:1 ou simplesmente ::1 No IPv6 não existe o conceito de classes como A, B e C. Entretanto, o IPv6 pode utilizar o conceito de CIDR, onde um determinado número de bits corresponde ao prefixo da rede, e os bits restantes identificam o nó. Exemplo: FFFF:FFFF:FFFF:FFFF:0000:0000:0000:0000 ou simplesmente FFFF:FFFF:FFFF:FFFF:: O endereço acima expressa uma máscara de rede de 64 bits. As máscaras de rede IP na notação acima são pouco práticas, e aparecem apenas em textos didáticos. A notação usual é a notação de barra já utilizada pelo CIDR, com o número de bits 1 da máscara sufixando o endereço IP. Exemplo: 1080:3C/ Hierarquia de Endereçamento IPv6 Muitas das comparações entre os protocolos IPv4 e IPv6 se focam no tamanho dos endereços permitidos pelos dois (32 versus 128 bits). No entanto, como tem mostrado a experiência com o atual protocolo IPv4, não basta simplesmente aumentar a quantidade de endereços disponíveis. É necessário organizar o espaço de endereçamento de forma hierárquica, com o objetivo de prover a maior eficiência possível no roteamento. Sem tal preocupação, o tamanho das tabelas de rotas da Internet se tornaria tão elevado, que não seria possível a expansão da rede. Com isso em mente, os projetistas do IPv6 tiveram como uma de suas principais preocupações criar um espaço de endereçamento que permitisse, eficientemente, o particionamento em uma hierarquia global de roteamento. Descrição detalhada do formato da hierarquia IPv6: 71

87 9.3 Endereçamento IPv6 Corá, M.A.A. Figura 9.6: Hierarquia do endereço IPv6 FP (Format Prefix). 3 bits. Neste caso igual a 001; TLA ID Identificador Top-Level Aggregation. 13 bits. Os identificadores TLA são o topo da hierarquia de roteamento. Este formato suporta identificadores TLA, que podem ser aumentados através do aumento do tamanho do campo TLA, utilizando os bits reservados do campo RES, ou utilizando um prefixo de formato adicional. Os roteadores default-free devem ter uma entrada na tabela de roteamento para cada TLA ID ativa, e podem ter entradas adicionais para otimizar o roteamento de suas topologias específicas. Mas, em todos os níveis, a topologia de roteamento deve ser projetada para minimizar a quantidade de entradas na tabela de roteamento. RES. 8 bits. Reservado para uso futuro, deve ter todos os bits zerados; NLA ID. Identificador Next-Level Aggregation. 24 bits. Os identificadores NLA são utilizados pelas organizações que possuam um TLA ID para criar uma estrutura de endereçamento hierárquica e identificar sites. Cada organização que recebe um TLA ID tem um espaço de endereçamento de 24 bits de espaço NLA, ou seja, de endereços. O que torna possível dizer que cada organização recebe aproximadamente a mesma quantidade de endereços que toda atual Internet IPv4 pode suportar. Supondo, então, uma distribuição plana de todo espaço NLA, teríamos uma tabela de rotas com aproximadamente 16 milhões de entradas. Daí a importância de se hierarquizar o endereçamento para minimizar a tabela de rotas e otimizar o roteamento. SLA ID Identificador Site-Level Aggregation. 16 bits. O identificador SLA é utilizado por uma organização individual, que é responsável por definir a estrutura de endereços do espaço SLA. Dentro deste espaço, a organização pode criar localmente sua própria estrutura de endereçamento hierárquica, num procedimento similar às divisões em subredes do IPv4, só que com um número muito maior de sub-redes. A exemplo do esquema apresentado no NLA, a organização possuidora do SLA pode decidir utilizar uma estrutura plana, aumentando as tabelas de rotas, ou definir uma estrutura hierárquica. Interface ID. 64 bits. Os Interface ID, como o próprio nome indica, são utilizados para identificar interfaces de um enlace específico e devem ser únicos para esse link. Também devem ser únicos num escopo mais abrangente. Em muitos casos, o identificador de interface será o endereço de interface da camada de enlace ou obtido a partir deste. Para os endereços aggregatable global unicast, os identificadores de interface de 64 bits devem ser construídos no formato IEEE EUI-64. Estes identificadores podem ter um escopo global quando formados a partir de registros de escopo global, como é o caso dos MAC Address de 48 bits definidos pelo IEEE; ou um escopo local quando não existirem tais registros. É o caso das conexões seriais ponto-a-ponto. Para cada RFC que define o protocolo IPv6 sobre algum enlace específico, como IPv6 sobre Ethernet ou IPv6 sobre FDDI, há procedimentos para formação do Interface ID. Em termos de topologia, essa estrutura permite uma organização em três níveis hierárquicos: pública, site e identificador de interface. A topologia pública (campos TLA, RES, e NLA) 72

88 9.3 Endereçamento IPv6 Corá, M.A.A. refletem o conjunto de provedores de serviços Internet, provedores de trânsito e pontos de troca de tráfego. A topologia site (campo SLA) tem abrangência local, uma organização específica que não provê serviços de trânsito para outras organizações ou sites. Já o identificador de interface (campos Interface ID), como o próprio nome indica, identifica a interface do nó. 73

89 Capítulo 10 Arquitetura TCP/IP 10.1 Histórico Para compreendermos a origem desta arquitetura, precisamos considerar o contexto histórico da época em que foi criada. Portanto, vamos voltar algumas décadas atrás e analisar os acontecimentos. Em 1957, os russos colocaram em órbita o Sputnik, o primeiro satélite artificial, ganhando uma corrida espacial contra os americanos. Como resposta, em 7 de Fevereiro de 1958 o Departamento de Defesa dos Estados Unidos, decidiu criar a DARPA (Defense Advanced Research Projects Agency). A DARPA tinha como missão garantir que os Estados Unidos estivessem sempre na dianteira tecnológica militar e antecipar quais seriam os avanços tecnológicos dos adversários. Com o passar dos anos, a DARPA teve a necessidade de criar um protocolo de comunicação por comutação de pacotes capaz de interconectar computadores heterogêneos. O objetivo era ter uma arquitetura de comunicação de dados aberta, que permitisse a interligação de diferentes redes de computadores, com hardwares diferentes ou até mesmo sistemas operacionais e aplicativos diferentes entre si. A primeira rede dentro deste conceito foi gerada em 1969, com o nome de ARPANET (Advanced Research Projects Agency Network), interligando universidades, utilizando um protocolo chamado NCP (Network Control Protocol). Em Maio de 1974, Vint Cerf e Bob Kahn publicaram um artigo chamado A Protocol for Packet Network Internetworking, que estabelecia o TCP (Transmission Control Protocol). Foi a primeira vez que o termo Internet foi utilizado. O protocolo TCP foi implementado na ARPANET em substituição ao NCP, por apresentar um controle de fluxo melhor. Em 1978, quando Vint Cerf, Steve Crocker e Danny Cohen decidiram passar as funções de roteamento do TCP para um protocolo separado, surgiu o IP, que também proveria funções de endereçamento. Em 1982 o TCP e o IP foram adotados como os protocolos oficiais da ARPANET. A popularização do IP veio quando ele passou a ser distribuído pelo Berkeley Software Distribution UNIX (BSD UNIX), versão 4.2c, em Desde então, o IP é o protocolo da camada de rede que mantém a Internet unida. Com a integração da NSF (National Science Foundation) à ARPANET em 1986, a arquitetura TCP/IP foi consolidada como padrão para interconexão entre redes. A arquitetura TCP/IP viabiliza a interoperabilidade de diferentes redes, tratando diferentes interfaces físicas de comunicação e protocolos de níveis mais baixos, de forma transparente ao usuário. A arquitetura TCP/IP (Transmission Control Protocol/Internet Protocol, ou Protocolo de 74

90 10.2 A Arquitetura TCP/IP e o Modelo OSI Corá, M.A.A. Controle de Transmissão / Protocolo da Internet) se refere ao conjunto de protocolos utilizados na Internet. Ela inclui uma série de padrões que especificam como os computadores vão se comunicar e cria convenções para interconectar redes e para o roteamento através dessas conexões A Arquitetura TCP/IP e o Modelo OSI A arquitetura TCP/IP é baseada em camadas sobrepostas, assim como o modelo OSI da ISO. Todavia, o modelo TCP/IP apresenta apenas 4 camadas e não é aderente ao modelo OSI, devendo-se ter um certo cuidado ao analisá-lo. Por exemplo, o que é denominado camada de rede ou interface de rede no TCP/IP, corresponde aproximadamente as camadas física e enlace do modelo OSI. A camada denominada Inter-Rede ou Internet corresponde a camada de rede do modelo OSI. Além disso, as camadas de sessão e apresentação do modelo OSI, não existem no modelo TCP/IP, estando seus conceitos embutidos nas camadas de transporte e aplicação do TCP/IP. A maior similaridade está na camada de transporte. A ISO possui protocolos de transporte com e sem conexão muito similares ao TCP e UDP na arquitetura TCP/IP. Figura 10.1: Comparação entre a Arquitetura TCP/IP e o Modelo OSI da ISO [1] 10.3 Conjunto de Protocolos TCP/IP O conjunto de protocolos TCP/IP, tem evoluído durante um período de 30 anos. Como a maioria dos softwares de rede, o TCP/IP é modelado em camadas. Esta representação em camadas leva ao termo de pilha de protocolos, que é sinônimo de conjunto de protocolos. Os protocolos Internet são modelados em quatro camadas: 75

91 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. Camadas Protocolos e Serviços Aplicação HTTP, FTP, Telnet, DNS, SMTP, SNMP,... Transporte TCP, UDP Inter-Redes IP, ICMP, ARP, RARP Rede Ethernet, Token-Ring, Wi-Fi, ATM, Frame Relay,... Tabela 10.1: Pilha de protocolos TCP/IP. Cada camada representa um conjunto de funções A Camada Inter-Redes IPv4 O IP (Internet Protocol) é o protocolo mais importante nesta camada. É um protocolo sem conexão que não pressupõe confiabilidade das camadas mais baixas. O IP não fornece confiabilidade, controle de fluxo, ou recuperação de erros. Estas funções devem ser fornecida por outros níveis. O IP fornece função de endereçamento para prover roteamento. Descrição detalhada do cabeçalho IPv4: Figura 10.2: Formato do cabeçalho IPv4 Version. 4 bits. Significa a versão do protocolo IP do datagrama. Examinando o número da versão, o roteador pode determinar como interpretar o restante do datagrama IP. Diferentes versões de IP usam diferentes formatos de datagramas. IHL (Internet Header Length). 4 bits. Define o comprimento do cabeçalho. Como o datagrama IPv4 pode conter um número variável de opções (incluídas no cabeçalho do datagrama IPv4), esses quatro bits são necessários para determinar onde, no datagrama IP, os dados realmente começam. A maior parte dos datagramas IP não contém opções; portanto o datagrama IP típico tem um cabeçalho de 20 bytes. O tamanho mínimo do cabeçalho é de 5 palavras de 32, e o tamanho máximo (o campo Option + Padding tem tamanho variável) é de 15 palavras de 32 bits. ToS (Type of Service). 8 bits. É utilizado para indicar o QoS (Quality of Service) desejado. Os bits de tipo de serviço foram incluídos no cabeçalho do IPv4 para poder distinguir as diferentes classes de serviço, podendo assim manipular os datagramas de forma diferente quando houver sobrecarga. Em se tratando de voz digitalizada, a entrega 76

92 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. rápida vence a entrega segura. Para a transferência de arquivos, uma transmissão sem erros é mais importante do que uma transmissão rápida. O campo ToS é ilustrado na figura Figura 10.3: Significado do campo ToS. O campo de 8 bits contém (da esquerda para a direita) um campo Precedence (Precedência) de 3 bits e 3 flags, D, T e R, além de 2 bits reservados que são obrigatoriamente 00. O campo Precedence tem uma prioridade que varia de 0 (normal) a 7 (pacote de controle de rede). Os 3 bits de flags permitem que o host especifique o que é mais importante no conjunto Retardo, Throughput (Vazão), Confiabilidade. Teoricamente, esse campo permite que os roteadores optem, por exemplo, entre um enlace de satélite com alto throughput, mas com grande retardo ou uma linha dedicada com baixo throughput e baixo retardo, ou em certas situações de grande congestionamento, por exemplo, aceitar somente pacotes com um certo nível mínimo de precedência. Na prática, os roteadores atuais ignoram completamente o campo Type of Service, porém, mais recentemente, um importante fabricante de equipamentos de rede (Cisco) passou a interpretar os três primeiros bits de TOS como a definição dos níveis diferenciais de serviço que podem ser oferecidos pelo roteador. O nível específico de serviço a ser fornecido é uma questão de política determinada pelo administrador do roteador. Total Length. 16 bits. É o comprimento total do datagrama IP (cabeçalho mais dados) medido em bytes. Uma vez que esse campo tem 16 bits de comprimento, o tamanho máximo do datagrama IP é bytes. Contudo, os datagramas raramente são maiores do que bytes e frequentemente ficam limitados a 576 bytes. Recomenda-se que os hosts só enviem datagramas maiores que 576 bytes se houver a certeza que o endereço destino aceita receber a quantidade de dados enviados. Identification. 16 bits. Este campo é necessário para permitir que o host de destino determine a qual datagrama pertence um fragmento recém-chegado. Todos os fragmentos de um datagrama contêm o mesmo valor de Identification. 77

93 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. Flags. 3 bits. Identificam a transmissão de sinais de controle. Dentre eles, apenas os dois últimos são utilizados. O campo Flags é ilustrado na figura O primeiro bit utilizado significa DF (Don t Fragment). Trata-se de uma ordem para os roteadores não fragmentarem o datagrama, porque a máquina de destino é incapaz de juntar os fragmentos novamente. O bit MF (More Fragments) é colocado em todos os fragmentos, exceto o último, têm esse conjunto de bits, necessário para se saber quando chegaram todos os fragmentos de um datagrama. Figura 10.4: Subdivisão do campo Flags. Fragment Offset. 13 bits. O campo Fragmento offset informa a que ponto do datagrama atual o fragmento pertence. Todos os fragmentos de um datagrama, com exceção do último, devem ser múltiplos de 8 bytes, a unidade elementar de fragmento. Como são fornecidos 13 bits, existem no máximo fragmentos por datagrama, resultando em um tamanho máximo de datagrama igual a bytes, um a mais que o campo Total Length. O primeiro fragmento tem valor 0 nesse campo. TTL (Time to Live). 8 bits. É um contador usado para limitar a vida útil dos datagramas. Esse campo conta o tempo em segundos, porém, na prática, ele simplesmente conta os hops. Esse contador deve ser decrementado a cada hop e supõe-se que ele seja decrementado diversas vezes quando estiver enfileirado durante um longo tempo em um roteador. Quando o contador chega a zero, o pacote é descartado e um pacote de advertência é enviado ao host de origem. Esse recurso evita que os datagramas fiquem vagando indefinidamente, algo que aconteceria se as tabelas de roteamento fossem danificadas. Protocol. 8 bits. Quando tiver montado um datagrama completo, a camada de rede precisará saber o que fazer com ele. O campo Protocol indica qual protocolo de camada superior está utilizando os serviços da camada IP. Estes valores são definidos na RFC 790 de 1981, que foi substituída pela RFC 1700 [37]. Por exemplo, o número do TCP é 6, do UDP é 17, do ICMPv4 é 1, e quando o IP estiver encapsulado em uma outra camada IP (IP in IP encapsulation), como em uma VPN (Virtual Private Network), por exemplo, o valor desse campo é 4. Header Checksum. 16 bits. A soma de verificação do cabeçalho auxilia um roteador na detecção de erros de bits em um datagrama IP recebido. Ela é calculada utilizando a técnica de soma de complemento de 1. Um roteador calculará o valor da soma de verificação para cada datagrama IP recebido e detectará uma condição de erro se o valor de verificação carregado pelo datagrama não for igual à soma de verificação calculada. 78

94 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. Os roteadores normalmente descartam datagramas quando um erro é detectado. A soma de verificação deve ser recalculada e restabelecida em cada roteador, pois o campo TTL e, possivelmente, os campos de opções podem mudar. Source Address. 32 bits. Indica o endereço IP da origem do datagrama. Destination Address. 32 bits. Indica o endereço IP de destino do datagrama. Options. Tamanho variável, entre 0 e 320 bits. Este campo permite que um cabeçalho IP seja ampliado. Ele foi projetado para permitir que versões posteriores do protocolo incluam informações inexistentes no projeto original, possibilitando a experimentação de novas idéias e evitando a alocação de bits de cabeçalho para informações raramente necessárias. Contudo, a mera existência do campo de opções complica as coisas, já que os cabeçalhos de datagrama podem ter comprimentos variáveis, não podendo determinar a priori onde começa o campo de dados. Além disso, uma vez que alguns datagramas podem requerer processamento de opções e outros não, a quantidade de tempo necessária para processar um datagrama IP em um roteador pode variar bastante. Essas considerações se tornam particularmente importantes para o processamento do IP em roteadores e hospedeiros de alto desempenho Fragmentação e Remontagem do IPv4 Nem todos os protocolos de camada de enlace podem carregar pacotes do mesmo tamanho. Alguns protocolos podem carregar pacotes grandes, ao passo que outros podem carregar apenas pacotes pequenos. Por exemplo, os pacotes Ethernet não podem carregar mais do que 1500 bytes de dados, enquanto os pacotes para muitos enlaces de longa distância não podem carregar mais do que 576 bytes. A quantidade máxima de dados que um pacote de camada de enlace pode carregar é chamada de unidade máxima de transferência (Maximum Transfer Unit - MTU). Como cada datagrama IP é encapsulado dentro do pacote de camada enlace para ser transportado de um roteador até o roteador seguinte, a MTU do protocolo de camada de enlace coloca um limite severo no comprimento do datagrama IP. Ter uma limitação severa para o tamanho do datagrama IP não é o grande problema. O problema maior é que cada um dos enlaces ao longo da rota entre o remetente e o destinatário pode usar diferentes protocolos de camada de enlace, e cada um desses protocolos pode ter diferentes MTUs. Para entender melhor o problema, imagine que você é um roteador que está interligando diversos enlaces, cada um rodando diferentes protocolos de camada de enlace com diferentes MTUs. Suponha que você receba um datagrama IP de enlace, verifique sua tabela de roteamento para determinar o enlace de saída e veja que esse enlace de saída tem uma MTU que é menor do que o comprimento do datagrama IP. Neste ponto, existem poucas alternativas: descartar o pacote; comprimir esse pacote de tamanho excessivo através de algum algoritmo de compressão, para que o mesmo possa caber no campo de carga útil do quadro da camada de enlace; fragmentar os dados do datagrama IP em dois ou mais datagramas IP menores e, então, enviar esses datagramas menores pelo enlace de saída. (Solução Ideal) Cada um desses datagramas menores é chamado de fragmento. Os fragmentos precisam ser remontados antes que cheguem à camada de transporte no destino. Na verdade, tanto o TCP quanto o UDP esperam receber da camada de rede segmentos completes, e não fragmentados. 79

95 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. Os projetistas do IPv4 perceberam que a remontagem (e a possível refragmentação) de datagramas nos roteadores introduziria uma complicação significativa no protocolo e colocaria um freio no desempenho do roteador. (Se você fosse um roteador, iria querer remontar fragmentos além de tudo mais que você tem de fazer?) Seguindo o princípio de conservar a simplicidade da camada de rede, os projetistas do IPv4 decidiram passar a tarefa de remontagem de datagramas aos sistemas finais, preparando os roteadores da rede. Quando um hospedeiro destinatário recebe uma série de datagramas da mesma fonte, ele precisa determinar se, dentre esses datagramas, algum é fragmento de um datagrama original de maior tamanho. Se ele, de fato, determinar que alguns desses datagramas são fragmentos, deve determinar, adicionalmente, quando recebeu o ultimo fragmento e como os fragmentos recebidos devem ser remontados para voltar à forma do datagrama original. Para permitir que o hospedeiro destinatário realize essas tarefas de remontagem, os projetistas do IPv4 criaram campos de identificação, flag e fragmentação no datagrama IP, como mostra a figura Quando um datagrama é criado, o hospedeiro remetente marca o datagrama com um número de identificação, bem como com um endereço da fonte e do destino. O hospedeiro remetente incrementa o número de identificação para cada datagrama que envia. Quando um roteador precisa fragmentar um datagrama, cada datagrama resultante (isto é, cada fragmento ) é marcado com o endereço da fonte, o endereço do destino e o número de identificação do datagrama original. Quando o destinatário recebe uma série de datagramas do mesmo hospedeiro remetente, ele pode examinar o número de identificação dos datagramas para determinar quais deles são, na verdade, fragmentos de um mesmo datagrama de tamanho maior. Como o IP é um serviço não confiável, é possível que um ou mais desses fragmentos jamais cheguem ao destino. Por essa razão, para que o hospedeiro de destino fique absolutamente seguro de que recebeu o último fragmento do datagrama original, o último datagrama tem um bit de flag ajustado para 0 (zero), ao passo que todos os outros fragmentos têm um bit de flag ajustado para 1 (um). Além disso, para que o hospedeiro destinatário possa determinar se está faltando algum segmento (e possa remontar os fragmentos na ordem correta), o campo de deslocamento é usado para especificar a localização exata do fragmento no datagrama IP original. tamanho ID fragflag offset =4000 =x =0 =0 Umgrande grande datagramasetorna torna vários vários datagramas datagramas menores menores tamanho ID fragflag offset =1500 =x =1 =0 tamanho ID fragflag offset =1500 =x =1 =1480 tamanhoid =1040 =x fragflag =0 offset =2960 Figura 10.5: Exemplo de um pacote grande sendo fragmentado em 3 pacotes menores 80

96 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. A Figura 10.5 apresenta um exemplo de um datagrama de 4000 bytes que chega a um roteador e deve ser repassado a um enlace com MTU de 1500 bytes. Isso implica que os 4000 bytes de dados do datagrama original devem ser alocados em três fragmentos separados (cada qual é também datagrama IP). A carga útil do datagrama somente é passada para a camada de transporte no destino quando a camada IP remonta o datagrama IP original. Se um ou mais fragmentos não chegarem ao destino, o datagrama será descartado e não será passado à camada de transporte. Mas, caso o TCP estiver sendo usado na camada de transporte, ele recuperará essa perda fazendo com que a fonte retransmita os dados do datagrama original. A fragmentação e a remontagem colocam uma carga adicional sobre os roteadores da Internet (o esforço adicional de criar fragmentos a partir de um datagrama) e sobre os hospedeiros destinatários (o esforço adicional de remontar fragmentos). Por essa razão, é desejável que se mantenha a fragmentação no mínimo. Isso é feito com frequência limitando os segmentos TCP e UDP a tamanhos relativamente pequenos, de modo que a fragmentação dos datagramas correspondentes seja pouco provável. Como todos os protocolos de enlace suportados pelo IP supostamente tem MTUs de, no mínimo, 576 bytes, a fragmentação pode ser eliminada usandose um MSS (Maximum Segment Size) de 536 bytes, 20 bytes para o cabeçalho do segmento TCP e 20 bytes para o cabeçalho do datagrama IP. É por isso que a maioria dos segmentos IP para transferência de dados (tal como o HTTP) tem em média 512 à 536 bytes de comprimento. O IPv6, assim como o IPv4, implementa a fragmentação do Datagrama. A grande diferença se dá na maneira com que isto ocorre. No IPv4 cada roteador intermediário deveria fragmentar e reorganizar datagramas de acordo com o MTU da sub-rede. No IPv6, a fragmentação é feita na origem, antes de enviar um Datagrama, utiliza a técnica de enviar um Path MTU Discovery para descobrir qual o menor dos MTUs. Quando o envio se dá, a origem fragmenta de maneira que cada fragmento deverá ser menor que o MTU mínimo descoberto. Desta forma a fragmentação não ocorre nos roteadores intermediários IPv6 No começo da década de 90, a IETF iniciou um esforço para desenvolver o sucessor do protocolo IPv4. Uma motivação primária para esse esforço foi o entendimento de que o espaço de endereços IP de 32 bits (IPv4) estava começando a ficar escasso, com novas redes e nós IP sendo anexados à Internet (e ainda recebendo endereços exclusivos) a uma velocidade estonteante. Para atender a essa necessidade de maior espaço para endereços IP, um novo protocolo IP, o IPv6, foi desenvolvido. Todavia, os projetistas do IPv6 aproveitaram essa oportunidade para arrumar e ampliar outros aspectos do IPv4 com base na experiência operacional acumulada sobre esse protocolo. O momento em que os endereços IPv4 seriam integralmente alocados (e, por conseguinte, mais nenhuma rede poderia ser adicionada à Internet) foi objeto de considerável debate. Com base nas tendências correntes sobre a alocação de endereços existentes na época, os dois líderes do grupo de trabalho Expectativa de Tempo de Vida dos Endereços (Address Lifetime Expectations) do IETF, que trabalhavam em conjunto, estimaram que os endereços se esgotariam em 2008 e 2018, respectivamente [25]. Em 1996, o Registro Americano para Números da Internet (American Registry for Internet Numbers - ARIN) noticiava que já haviam sido alocados todos os endereços da classe A do IPv4, 62 por cento dos endereços da classe B e 37 por cento dos endereços da classe C [26]. Embora essas estimativas e números sugerissem que havia um tempo considerável até que o espaço de endereços IPv4 fosse exaurido, ficou claro que seria necessário um tempo expressivo para disponibilizar uma nova tecnologia em escala tão gigantesca. Assim, 81

97 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. foi dado início ao esforço chamado Próxima Geração do IP (IP Next Generation - IPng)[RFC 1752] [38]. O formato do datagrama IPv6 é mostrado na figura As mudanças mais importantes introduzidas no IPv6 ficam evidentes no formato do pacote. Dentre as novas características e funcionalidades do IPv6, pode-se citar: Endereços de 128 bits capazes de prover uma imensa quantidade de hosts. Este espaço de endereçamento deve ser suficiente por muitos anos; Simplificação do cabeçalho, permitindo um aumento na eficiência do mecanismo de roteamento e processamento dos pacotes; Cabeçalho fixo de 40 bytes. Como discutido antes, uma série de campos IPv4 foi descartada ou ficou opcional. O cabeçalho de comprimento fixo de 40 bytes resultante permite processamento mais veloz do datagrama IP, principalmente nos roteadores intermediários (Backbone). Uma nova codificação de opções permite um processamento de opções mais flexível. Flexibilidade para a utilização de opções através do uso de cabeçalhos de extensão capazes de prover um conjunto de novas características ao datagrama; Implementação de mecanismos de segurança nativos com o uso do IPSec, capazes de prover confidencialidade e autenticação; Suporte para a alocação de recursos e especificação de tipos de serviço para aplicações de tempo-real e para aplicativos que necessitem de pré-alocação de recursos. O grande questão ainda é definir o que é um fluxo. O IPv6 tem uma definição esquiva de fluxo, a RFC 1752 e a RFC 2460 estabelecem que isso permite identificação de pacotes que pertencem a fluxos particulares para os quais o remetente requisita tratamento especial, tal como um serviço de qualidade não padrão ou um serviço em tempo real. Por exemplo, a transmissão de áudio e vídeo poderia ser tratada como um fluxo. Por outro lado, as aplicações mais tradicionais, como a transferência de arquivos e o , poderiam não ser tratadas como fluxos. É possível que o tráfego carregado por um usuário de alta prioridade (por exemplo, alguém que paga por um serviço melhor quanto ao tráfego) seja também tratado como fluxo. O que fica claro, contudo, é que os projetistas do IPv6 prevêem a possível necessidade de poder diferenciar os fluxos, mesmo que o exato significado de fluxo ainda não tenha sido determinado. O cabeçalho IPv6 também tem um campo de 8 bits para classe de tráfego. Esse campo, assim como o campo ToS do IPv4, pode ser usado para dar prioridade a certos pacotes dentro de um fluxo ou a datagramas de certas aplicações (por exemplo, pacotes ICMP) em relação a datagramas de outras aplicações (por exemplo, notícias pela rede). Suporte para a utilização de endereços multicast e anycast. Esta característica, permite que um pacote enviado a um endereço anycast seja entregue a qualquer hospedeiro de um grupo. (Por exemplo, para enviar uma mensagem http GET ao membro mais próximo dos sites espelhados que contenham um dado documento.); Implementação de técnicas capazes de permitir a convivência das duas versões do protocolo IP. 82

98 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. Figura 10.6: Formato do cabeçalho IPv6 Muitas das novas características são fundamentais para a manutenção da Internet nos próximos anos. Outras foram definidas com base na identificação de problemas futuros. Descrição detalhada do cabeçalho IPv6: Version (Versão): 4 bits. Para essa versão, o valor é 6. Traffic Class (Classe de Tráfego): 8 bits. Esse campo ainda é experimental e pode vir a ser modificado. Na primeira especificação do IPv6, RFC 1883, esse campo não existia. Em seu lugar havia um campo de 4 bits chamado Priority (Prioridade). A função desse campo é permitir diferenciação de tráfego (classes de tráfego) e mecanismos de prioridade, para que os roteadores possam prover tratamento apropriado em cada caso. Algumas idéias do ToS e dos bits Precedence do IPv4 foram aproveitadas. Ainda há muita discussão sobre a divisão mais útil e eficiente dos vários tipos de tráfego em classes. Cabe à camada superior informar a camada IPv6 qual a classe de tráfego a ser utilizada. Um roteador pode alterar os bits do campo Traffic Class da forma que desejar. Por esse motivo, uma estação não deve assumir que um determinado tipo de tráfego que ela associou a uma certa classe, será recebido com o campo Traffic Class com o mesmo valor com o qual ela transmitiria. Flow Label (Identificação do Fluxo): 20 bits. Um flow é uma sequência de pacotes enviados a partir de uma determinada origem, para um determinado destino (unicast ou multicast), requerendo um tratamento especial pelos roteadores, como QoS ou reserva de banda (RSVP Resource Reservation Protocol), por exemplo. O campo Flow Label ainda é experimental e pode vir a ser modificado, como já ocorreu desde a primeira especificação do IPv6, onde ele possuía 24 bits. As mudanças dependem da identificação das características que forem surgindo do tráfego na Internet. A intenção do Flow Label é permitir que a origem possa atribuir uma identificação (padronizada) aos pacotes, para que eles recebam tratamento especial por um roteador (fazer QoS, tráfego de tempo real, etc). Roteadores e hosts que não são capazes de identificar o Flow Label de um pacote 83

99 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. devem deixar o campo com valor igual a 0, quando originá-lo, deixá-lo inalterado, quando retransmiti-lo, ou ignorá-lo, quando recebê-lo. Payload Length (Comprimento da Carga): 16 bits. Informa o tamanho do campo de dados, encapsulados pela camada de rede, isto é, quantos bytes vêm depois do cabeçalho IPv6 (os campos de extensão são contabilizados). Caso esse campo seja 0, indica que o comprimento do payload é superior a octetos e é informado em um Extension Header. Next Header (Próximo Cabeçalho): 8 bits. Informa qual o protocolo da camada superior que está utilizando os serviços da camada IP. A numeração também segue o RFC O UDP, por exemplo, é número 17. No IPv6, pode haver um campo opcional após o cabeçalho. Nesse caso, o valor de Next Header informa qual o tipo de extensão que vem após o cabeçalho IPv6. Hop Limit (Limite de Hop): 8 bits. Semelhante ao TTL do IPv4, cada unidade processadora de pacotes, decrementa esse valor de 1 unidade e quando esse valor chegar a 0, o pacote é descartado. Source Address (Endereço de Origem): 128 bits. Informa o endereço de origem do pacote. Destination Address (Endereço de Destino): 128 bits. Informa o endereço de destino. Extension Header (Cabeçalho de Extensão): Tamanho variável. Pode haver mais de um campo de extensão. A presença de um campo de extensão pode ser determinada pelo valor do campo Next Header. Cada Extension Header tem um campo Next Header informando o próximo protocolo. Normalmente, somente o nó de destino irá processar os Extension Headers. Os Extension Headers precisam ser processados exatamente na ordem em que eles aparecem. Uma implementação completa do IPv6 tem ser capaz de reconhecer e processar os seguintes tipos de Extension Headers: Hop-by-Hop Options (Opções Hopa-Hop), Routing Type 0 (Roteamento Tipo 0), Fragment (Fragmento), Destination Options (Opções de Destino), Authentication (Autenticação) e Encapsulating Security Payload (Encapsulando Carga de Segurança). Detalhes podem ser encontrados da RFC Nessa discussão, apresentamos a finalidade dos campos que estão incluídos no cabeçalho do datagrama IPv6. Quando comparamos o formato do datagrama IPv6 da figura 10.6 com o formato do datagrama IPv4 que vimos na figura 10.2, notamos que diversos campos que aparecem no IPv4 não estão presentes no datagrama IPv6: Fragmentação/remontagem. O IPv6 não permite fragmentação e remontagem em roteadores intermediários, essas operações podem ser realizadas somente pela fonte e pelo destino. Se um datagrama IPv6 recebido por um roteador for muito grande para ser repassado pelo enlace de saída, o roteador simplesmente descartará o datagrama e enviará uma mensagem ICMP de erro ( Pacote muito grande ) para o remetente. O remetente pode então reenviar os dados usando um datagrama IP de tamanho menor. Fragmentação e remontagem são operações que tomam muito tempo; remover essas funcionalidades dos roteadores e colocá-las nos sistemas finais acelera consideravelmente a repassagem do IP dentro da rede, diminuindo dessa forma, a latência. 84

100 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. Para que o nó de origem possa determinar qual a menor MTU de enlace do percurso até ao destino, é utilizada a técnica Path MTU Discovery descrita na RFC Normalmente, os nós que não implementam Path MTU Discovery usam o MTU=1280. Soma de verificação. Como os protocolos de camada de transporte (por exemplo, TCP e UDP) e o enlace de dados (por exemplo, Ethernet) nas camadas da Internet realizam verificação de erros, os projetistas do IP provavelmente acharam que essa funcionalidade era tão redundante na camada de rede que podia ser removida. De novo, o processamento rápido de pacotes IP, ou seja, a diminuição da latência, era a preocupação principal. Lembre-se de que em nossa discussão sobre o IPv4 vimos que o cabeçalho IPv4 precisava ser recalculado em cada roteador (a cada Hop) principalmente devido as alterações do campo TTL presente no cabeçalho. Como acontece com a fragmentação e a remontagem, esta também era uma operação de alto custo de processamento no IPv4. Opções. O campo opções não faz mais parte do cabeçalho padrão do IP como é no IPv4. Contudo, ele ainda não foi afastado. Em vez disso, ele é uma das possíveis opções do campo Next Header (Próximo Cabeçalho) que serão direcionados para o interior do IPv6. Em outras palavras, exatamente como os cabeçalhos dos protocolos TCP e UDP podem ser os próximos cabeçalhos em um pacote IP, o campo opções, agora chamado de Extension Header (Cabeçalho de Extensão) também pode. A remoção do campo opções resulta em um cabeçalho IP de tamanho fixo de 40 bytes Transição do IPv4 para o IPv6 Tendo visto detalhes técnicos do IPv6 e do IPv4, vamos tratar de um assunto muito prático: como o público da Internet, que é baseado no IPv4, vai fazer a transição para o IPv6? Uma opção seria adotar um dia de vacinação, ou seja, uma data e um horário determinados para que todas as máquinas da Internet fossem desligadas e atualizadas, passando do IPv4 para o IPv6. A última transição importante desta proporção foi a do uso do NCP para o uso do TCP para serviço confiável de transporte, que ocorreu cerca de 20 anos atrás. E, mesmo naquela época, quando a Internet era pequena, ficou claro que esse dia de vacinação não era possível. Um dia como esse, envolvendo centenas de milhares de máquinas e milhões de gerenciadores de rede, é ainda mais indispensável hoje. A probabilidade de que o IPv6 virá a ser um dia tão prevalecente como seu predecessor está aumentando. O sucesso eminente do IPv6 é também uma consequência dos déficits apresentados pelo IPv4. Assim sendo, o obstáculo mais provável estará em realizar e controlar o processo de transição entre os mesmos. O IETF (Internet Engineering Task Force), propôs alguns mecanismos de transição sempre levando em consideração que este processo evolucionário deverá ocorrer da forma mais transparente possível e de fácil gerenciamento, permitindo aos administradores de rede um trajeto mais fácil à migração. Estas soluções permitem que os nós da rede, mais especificamente aplicações nestes nós, comuniquem-se com outros nós, sobre um ambiente totalmente heterogêneo. Este ambiente heterogêneo, nos apresenta diferentes cenários e consequentemente diferentes técnicas são necessárias para prover a coexistência de ambas as versões do IP. Alguns possíveis cenários, mais comuns, podem ser vistos na figura

101 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. Figura 10.7: Possíveis cenários IPv4/IPv6 As principais técnicas de transição IPv6 propostas atualmente pelo IETF estão dividas em 3 (três) formas, conforme a RFC 1933: Dual Stack Translation Tunneling O principal método de transição é o Dual-stack. Dual-Stack, como o nome sugere, literalmente mantém duas pilhas de protocolos que operam em paralelo e, dessa forma, permitem que os dispositivos operem cada qual com seu protocolo. Dual stacks podem ser implementadas nos sistemas finais e nos dispositivos de rede. Nos sistemas finais, elas habilitam aplicações de ambos os protocolos, IPv4 e IPv6, a operarem no mesmo nó. A capacidade de trabalhar com dual-stack nos dispositivos de rede, faz com que possam manipular tanto pacotes IPv6, quanto IPv4. Sendo assim, um roteador de pilha dupla (Dual-Stack Router), possui uma implementação tanto IPv6 quanto IPv4 completa. Esse roteador, estaria habilitado a enviar e receber tanto datagramas IPv4 quanto datagramas IPv6. Quando estiver interoperando com um roteador IPv4, poderá usar datagramas IPv4, e quando estiver interoperando com um roteador IPv6, poderá utilizar IPv6. A figura 10.8, mostra o funcionamento de um Dual-Stack Router. 86

102 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. Figura 10.8: Dual-Stack Router No entanto, vale ressaltar que somente o mecanismo dual-stack, não resolve todos os problemas de interconexão de redes IPv4 e IPv6. Um segundo mecanismo é requerido para isso, como o mecanismo Translation ou o mecanismo Tunneling. O mecanismo de Translation refere-se diretamente a conversão de protocolos e pode incluir a transformação de ambos os protocolos de cabeçalho e payload. Translation pode ocorrer nas diversas camadas da pilha de protocolos, incluindo rede, transporte e camada de aplicação. A tradução de protocolos pode ter como resultado, a perda de algumas funções, onde não haja um mapeamento claro dentre as características providas pelos mecanismos traduzidos. Por exemplo, a tradução de um cabeçalho IPv6 em um cabeçalho IPv4, resulta na perda do campo Flow Label do IPv6, assim como a tradução de um cabeçalho IPv4 em um cabeçalho IPv6 resulta na perda do campo Header Checksum. Ambos os sistemas finais e os dispositivos de rede podem ser usados para executar o processo de tradução. Translation é considerado transparente quando o tráfego é inerentemente roteado através de um tradutor na rede. Outro mecanismo para transição é o Tunneling [23], que é utilizado como uma ponte que liga duas redes compatíveis através de uma rede intermediária incompatível. Por exemplo, suponha que dois nós IPv6 queiram interoperar usando datagramas IPv6, mas são conectados por um backbone composto basicamente por roteadores IPv4. Isto pode ser visto tecnicamente como a transferência do datagrama presente no sistema final, encapsulado no payload do datagrama do sistema intermediário. O encapsulamento é realizado na borda de entrada do túnel e o desencapsulamento é realizado na saída do túnel. Por exemplo, no cenário descrito acima (nós finais IPv6 interligados por um backbone IPv4), a implementação do túnel se dá da seguinte forma: o nó IPv6 no lado remetente do túnel (roteador de borda - ingresso) pega um datagrama IPv6 integral e o coloca no campo de dados (Payload) de um datagrama IPv4. Esse datagrama IPv4 é então endereçado ao nó IPv6 no lado receptor do túnel (roteador de borda - egresso) e então enviado para o próximo hop do túnel. Os roteadores IPv4 intervenientes no túnel roteiam esses datagramas IPv4 entre eles, exatamente como fariam com qualquer outro datagrama, alheios ao fato de que o datagrama IPv4 contém em si um datagrama IPv6 completo. O nó IPv6 do lado receptor do túnel (roteador de borda - egresso) possivelmente recebe o datagrama IPv4, determina que o datagrama IPv4 contém um datagrama IPv6, extrai o datagrama IPv6 e, em seguida, roteia o datagrama IPv6 do mesmo modo como o faria se tivesse recebido o datagrama IPv6 de um vizinho IPv6 diretamente ligado 87

103 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. a ele. Em muitos casos, tunneling é descrito como uma simples configuração ponto-a-ponto. Entretanto, os túneis também podem existir hierarquicamente (um túnel dentro de outro) e sequencialmente (túneis concatenados). As configurações hierárquicas são usadas frequentemente onde haja necessidade de existirem túneis cuja finalidade seja prover segurança e QoS. Como exemplo, um túnel IPSec (RFC 1825) provendo segurança. Encerro esta seção mencionando que a adoção do IPv6 tem demorado para decolar. Mas o que justifica esta demora? Quais fatores influenciam na demora da transição do IPv4 para IPv6? São várias as respostas possíveis para este impasse. Por exemplo, lembre-se de que um dos principais incentivos iniciais do IPv6 era o esgotamento de endereços IPv4 disponíveis. Vimos porém, que alternativas como CIDR e NAT (seções e respectivamente) contribuíram como soluções rápidas para a escassez de endereçamentos IPv4. Outros fatores são: o custo de atualização dos equipamentos envolvidos no processo de comunicação, o custo de adaptação dos softwares como sistemas operacionais, além é claro, da própria natureza humana, que em muitos casos, diz: Está funcionando, para que mexer!?. É possível, entretanto, que a proliferação de dispositivos como os fones habilitados IP (VoIP - Voice over IP) e outros dispositivos portáteis possam oferecer o empurrão necessário, promovendo uma aceleração na aplicação mais ampla do IPv6. Uma lição importante que podemos aprender com a experiência do IPv6 é que há enorme dificuldade para mudar protocolos de camada de rede. Na verdade introduzir novos protocolos na camada de rede é como substituir as fundações de uma casa, é difícil fazê-lo sem demolir a casa inteira, ou no mínimo retirar os moradores da residência. Por outro lado, a Internet proporciona a rápida disseminação de novos protocolos na camada de aplicação. Exemplos clássicos são: o HTTP, a recepção de áudio e vídeo e o bate-papo. Introduzir novos protocolos de camada de aplicação é como pintar a casa, é relativamente mais fácil de se fazer, e se você escolher uma cor atraente, outras casas da vizinhança vão imitá-lo. Em resumo, no futuro podemos esperar mudanças na camada de rede, todavia, essas mudanças vão ocorrer dentro de uma escala de tempo bem mais lenta do que as que vão ocorrer na camada de aplicação [25] ICMPv4 O ICMP é um protocolo obrigatório da camada de rede da arquitetura TCP/IP e serve para a transmissão de mensagens de erro, controle e obtenção de outras informações relacionadas à rede. Apesar do ICMP ser um protocolo da camada de rede, ele utiliza os serviços do próprio IP para ser transmitido (é encapsulado no IP), sendo que no campo Protocol do IPv4, o valor é 1, que é o número do ICMP. Se uma mensagem ICMP não pode ser enviada, não será gerada outra em seu lugar, evitando uma enchente de mensagens ICMP. Sua especificação encontra-se na RFC 792. Em suma, o ICMP relata erros ocorridos e envia mensagens de controle. Por exemplo, o comando Ping (seção A.5) usa o protocolo ICMP. Figura 10.9: Formato do cabeçalho ICMP 88

104 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. O formato do cabeçalho ICMP é variável. Os campos marcados com * nem sempre estão presentes e pode haver campos adicionais, para informar um timestamp ou o endereço de um gateway, por exemplo. Não serão apresentados aqui todos os formatos do ICMP. Descrição detalhada do cabeçalho ICMP: Type (Tipo): 8 bits. Identifica o tipo de mensagem enviada ou de resposta recebida (ver especificação abaixo). Code (Código): 8 bits. Identifica a causa do tipo de mensagem recebida (ver especificação abaixo). Checksum (Verificação da Soma): 16 bits. Esse checksum é calculado somente sobre o cabeçalho ICMP. Para se calculá-lo, faz-se o complemento de um de cada palavra de 16 bits do cabeçalho, soma-se elas e faz-se o complemento de um da soma total (para efeitos de cálculo, o campo Checksum vale 0). Identifier (Identificador): 16 bits. Serve para associar um Reply a um Request. Pode ser 0. Sequence Number (Número de Sequência): 16 bits. Também serve para associar um Reply a um Request. Pode ser 0. Abaixo segue uma relação dos tipos e códigos suportados pelo ICMPv4. tipo 0 código - (Echo Reply) Mensagem recebida de um gateway ou de um host. Um Echo Request foi recebido e a mensagem de resposta deve conter os mesmos dados do Echo Request. tipo 3 código - (Destination Unreachable) Mensagem recebida de um gateway. O endereço destino não pode ser alcançado por um dos motivos especificados pelo campo Code. tipo 3 código 0 (Net Unreachable) Mensagem recebida de um roteador. Causa: O pacote foi descartado, porque o roteador não conseguiu enviar o pacote para a rede destino. Ou o roteador não possui uma rota para a rede destino, ou então o endereço de rede destino não existe. tipo 3 código 1 (Host Unreachable) Mensagem recebida de um roteador. Causa: A rede destino foi alcançada, mas não foi possível entregar o pacote para o host destino, provavelmente por causa de uma submáscara configurada erroneamente ou por que o host destino não está acessível. tipo 3 código 2 (Protocol Unreachable) Mensagem recebida de um host. Causa: O host destino provavelmente não suporta o protocolo de camada superior especificado. tipo 3 código 3 (Port Unreachable) Mensagem recebida de um host. Causa: O socket ou a porta TCP não estão disponíveis. tipo 3 código 4 (Fragmentation Needed and DF Set) Mensagem recebida de um gateway. Causa: O pacote possuía um tamanho maior que o MTU (Maximum Transmission Unit Unidade Máxima de Transmissão) de alguma 89

105 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. rede por onde ele tentou passar, necessitando então ser fragmentado, porém o bit Dont Fragment do IPv4 estava com valor igual a 1, indicando que o pacote não pode ser fragmentado. Como resultado o pacote foi descartado. tipo 3 código 5 (Source Route Failed) Mensagem recebida de um roteador. A rota especificada pela origem no campo Options do cabeçalho IP não pôde ser completada. tipo 4 código - (Source Quench) Mensagem recebida de um gateway ou de um host. Significa Redução da Fonte.Quando um roteador ou um host está com seus buffers cheios e começa (ou está prestes) a descartar pacotes, essa mensagem é enviada para a origem, pedindo a ela que pare de mandar mais pacotes. É um método de contenção de congestionamento. O roteador ou host continua mandando essa mensagem enquanto estiver com dificuldades em processar pacotes. A origem só volta a transmitir pacotes quando parar de receber essa mensagem. tipo 5 código - (Redirect) Mensagem recebida de um gateway. Nesse tipo de mensagem ICMP há um campo extra, chamado Gateway Internet Address (Endereço Internet do Gateway), que especifica por qual gateway devem passar os datagramas para a rede destino do cabeçalho IP. Esse tipo de mensagem é recebida na situação a seguir. Um host, H1, está diretamente conectado à rede de um gateway, G1. G1 recebe de H1 um datagrama, cujo destino é um outro host, Hx, na rede X. Então, G1 consulta em sua tabela de roteamento e descobre que o próximo gateway na rota para a rede X é o gateway G2. Se G2 estiver na mesma rede que o host que originou o datagrama, G1 manda uma mensagem Redirect para o host, avisando-o que os próximos datagramas para a rede X devem ser encaminhados diretamente para G2. Se o host especificar uma rota para um determinado destino, mesmo que G1 conheça uma rota mais curta, a rota especificada será seguida e não será enviado um Redirect. tipo 5 código 0 (Redirect Datagrams for the Network) O host deve encaminhar os datagramas cujo destino é a rede X para um determinado gateway. tipo 5 código 1 (Redirect Datagrams for the Host) O host deve encaminhar os datagramas cujo destino é o host Hx para um determinado gateway. tipo 5 código 2 (Redirect Datagrams for the Type of Service and Network) O host deve encaminhar os datagramas cujo destino é a rede X e que requerem o Tipo de Serviço T para um determinado gateway. tipo 5 código 3 (Redirect Datagrams for the Type of Service and Host) O host deve encaminhar os datagramas cujo destino é o host Hx e que requerem o Tipo de Serviço T para um determinado gateway. tipo 8 código 0 (Echo Request) Mensagem recebida de um gateway ou de um host. O Echo Request é um datagrama enviado pelo comando ping (será explicado mais adiante) para testar se um destino é alcançável. Os dados enviados devem ser retransmitidos pelo destino para a origem. 90

106 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. tipo 11 código - (Time Exceeded) O tempo de vida de um pacote ou o tempo de remontagem de pacotes fragmentados foi excedido. tipo 11 código 0 (Time to Live Exceeded in Transit) Mensagem recebida de um gateway. Se o campo TTL de um datagrama chega a 0, ele deve ser descartado e o host que o originou deve ser notificado através de uma mensagem Time Exceeded tipo TTL Exceeded in Transit. tipo 11 código 1 (Fragment Reassemble Time Exceeded) Mensagem recebida de um host. Se um host não receber todos os fragmentos necessários para a remontagem de um pacote dentro de um determinado tempo, os fragmentos são descartados e uma mensagem Fragment Reassemble Time Exceeded é enviada para o host de origem. Se o fragmento 0 não está presente, não é enviada a mensagem. tipo 12 código - (Parameter Problem) Mensagem pode ser recebida de um host ou de um gateway. Se um gateway não conseguir decodificar corretamente os campos de um datagrama e por causa disso ele precisar ser descartado, a origem é notificada através de uma mensagem Parameter Problem, indicando o campo com problema. Esse tipo de problema é mais frequente nos argumentos do campo Option do cabeçalho IP. Essa mensagem só é enviada caso o pacote precise ser descartado. tipo 13 código - (Timestamp) Marca de tempo. Possui um campo adicional de 32 bits informando o último momento (em ms contados a partir de meia noite de Greenwich) no qual o originador da mensagem mexeu nela. Se não houver sincronismo com o horário de Greenwich, ou se não for possível a precisão com ordem de ms, o bit mais significativo desses 32 bits deve ser setado, indicando o uso de uma base de tempo diferente. tipo 14 código - (Timestamp Reply) Possui três campos adicionais de 32 bits informando o momento enviado pelo originador da mensagem, o instante no qual a mensagem foi recebida e o instante no qual ela foi enviada. tipo 15 código - (Information Request) Mensagem enviada por um host, com os campos origem e destino do cabeçalho IP iguais a 0 (significa esta rede ). Esse é um modo de um host descobrir a qual rede ele pertence. tipo 16 código - (Information Reply) Mensagem enviada por um host ou um gateway, quando eles recebem um Information Request. A mensagem Information Reply deve conter os endereços preenchidos corretamente. Os campos Identifier e Sequence Number são utilizados para associar corretamente uma Information Reply a uma Information Request ICMPv6 O ICMP para IPv6 (ICMPv6), funciona tal como já funcionava para o IPv4, contudo foram necessárias algumas alterações (RFC 2463): 91

107 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. O identificador de protocolo 1, usado para o ICMPv4 foi abandonado, um cabeçalho e mensagem ICMPv6 são identificados pelo valor 58 no campo Next Header do cabeçalho IPv6. Ao contrário do que acontecia com o ICMPv4, o checksum é calculado sobre a mensagem, incluindo também o Pseudo-cabeçalho IPv6. Algumas mensagens também foram adicionadas, como por exemplo: tipo 2 (Packet Too Big) Como já visto, o IPv6 implementa fragmentação apenas nos hospedeiros finais e não no domínio intermediário, como acontecia com o IPv4. Quando um roteador IPv6 recebe um datagrama ou fragmento de datagrama, e a MTU correspondente ao próximo hop for demasiadamente pequeno, esta mensagem é enviada até a origem com código ARP O ARP (Address Resolution Protocol) é responsável por descobrir o endereço da interface de rede de um host (endereço MAC) a partir do endereço IP dele. Tanto o protocolo ARP como o RARP têm por objetivo facilitar a comunicação entre máquinas pertencentes a uma mesma rede. O ARP possui o endereço IP, mas não possui o endereço físico, para obtê-lo envia uma requisição broadcast para os computadores da rede. A máquina que reconhece seu endereço IP na requisição, retorna uma mensagem que conterá seu endereço físico. Então a máquina que enviou um broadcast armazena os dois endereços e finalmente envia a mensagem para o local correto. O endereço IP é utilizado para roteamento, ou seja, a escolha do caminho ideal em determinada circunstância e o instante para a conexão entre dois nós. Para solucionar o problema de mapear o endereço de nível superior (IP) para endereço físico (Ethernet) foi proposto (e aceito) através da RFC 826 o Address Resolution Protocol (ARP). O ARP permite que um host encontre o endereço físico de um host destino, tendo apenas o seu endereço IP. Apesar de ter sido criado especificamente para uso com IP sobre Ethernet, devido à forma que foi implementado, seu uso não está restrito a este ambiente O ARP é dividido em duas partes: a primeira determina endereços físicos quando manda um pacote, e a segunda responde os pedidos de outros hosts. Geralmente antes de enviar, o host consulta seu cache ARP procurando o endereço físico. Se encontrar o endereço, anexa-o no frame e envia acrescentando os dados. Se o host não encontrar o endereço, é realizado um broadcast de pedido ARP. A segunda parte do código do ARP manuseia os pacotes recebidos da rede. Quando chega um pacote, o programa extrai e examina o endereço físico e IP para verificar se já existe a entrada no cache e atualiza novamente sobrescrevendo os endereços. Funcionamento do protocolo ARP: 1. Quando uma máquina A quer falar com uma máquina B, primeiro procura seu endereço físico na cache ARP. 2. Caso não possua o endereço físico de B na cache ARP, envia um pacote ARP de request em modo broadcast. 3. Todas as máquinas em operação recebem o pedido, mas somente a máquina B responde, pois ela reconhece que o endereço pedido é o seu. 92

108 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. 4. A guarda o endereço físico de B na cache ARP. 5. A de posse do endereço físico de B, A atualiza sua cache e envia a mensagem para B através do endereço físico de B. Cache ARP: Em uma rede de grande porte e ocupada, o envio de pacotes em broadcasting interromperá todos os hosts para que eles processem cada pacote da rede. Essa interrupção prejudicará de maneira significativa a eficiência da rede e a tornaria mais lenta. Para reduzir os broadcasts, os hosts de redes que necessitam utilizar o ARP mantêm uma lista de endereços IP e Ethernet que correspondem a eles obtidos por solicitações anteriores. Isto é listado como Cache ARP e é atualizado sempre que uma solicitação for enviada. Depois de algum tempo o endereço no ARP Cache é removido, independentemente de estar sendo usado ou não. Isto é chamado de Aging. Formato do Cabeçalho ARP: Figura 10.10: Formato do cabeçalho ARP Os dados nos pacotes do ARP não possuem um cabeçalho de formato fixo, ao contrário de outros protocolos. A mensagem é montada para ser utilizada em diferentes redes. Por isso, o primeiro campo no cabeçalho indica os comprimentos dos campos seguintes. O ARP pode ser usado com endereços físicos e protocolos arbitrários. Ao contrário da maioria dos protocolos, o pacote ARP não alinha no tamanho de 32-bits. Por exemplo, o endereço do emissor (sender) ocupa 6 octetos contíguos, expandindo-se para próxima linha. Descrição dos campos: Hardware Type (tipo do hardware): composto de dois octetos, especifica o tipo de hardware utilizado na rede física. Se for 1, é rede Ethernet. 93

109 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. Protocol Type (tipo do protocolo): composto de dois octetos, especifica o endereço do protocolo utilizado no nível superior do emissor. Operation (operação): especifica se o datagrama é um pedido ARP (request 1 ) ou uma resposta ARP (reply 2), ou ainda um RARP (request 3, reply 4). HLEN e PLEN: habilitam o ARP para ser usado com redes arbitrárias porque eles especificam o comprimento dos endereços do hardware e dos protocolos do nível superior. O HLEN (Hardware Lenght) é utilizado para identificar o tamanho dos campos SENDER HA e TARGET HA. PLEN (Protocol Lenght) especifica o tamanho dos campos SENDER IP e TARGET IP. SENDER HA (Sender Hardware Address): endereço físico (Ethernet) de quem envia o pacote. SENDER IP (Sender Protocol Address): endereço lógico (IP) de quem envia o pacote. TARGET HA (Target Hardware Address): Endereço físico desejado. Na operação de request vai em branco, e, quem responder preenche este campo. TARGET IP (Target Protocol Address): Endereço lógico da máquina desejada RARP O RARP (Reverse Address Resolution Protocol) é responsável pela conversão de endereços físicos (de enlace) para endereços de rede (endereços IP), em outras palavras, faz o contrário do protocolo ARP. Comum em redes que operam com máquinas diskless, ou seja, sem Disco Rígido, e portanto não tem como armazenar seu próprio endereço IP. O RARP tem a mesma função de outros protocolos como: o protocolo BOOTP (BOOT Protocol) e o protocolo DHCP (Dynamic Host Configuration Protocol). A utilização destes protocolos é muito vantajosa em termos administrativos, a configuração de todas as máquinas é centralizada num host onde se instala um servidor adequado (BOOTP, DHCP ou RARP). O protocolo DHCP é mais completo do que o RARP. Entre os parâmetros IP fornecidos encontram-se, além do endereço IP, a mascara de rede, uma lista de servidores de nomes e uma lista de gateways. Ambos os protocolos utilizam princípios semelhantes, emitem em broadcast um pacote, o servidor ao receber o pacote verifica o endereço físico de origem e consulta a sua base de dados para devolver a informação que está associada a esse endereço físico. O formato dos pacotes RARP é idêntico ao dos pacotes ARP A Camada de Transporte TCP O protocolo TCP (Transmition Control Protocol), é um protocolo orientado a conexão ou fim a fim, ou seja, garante que os dados que foram transmitidos serão todos recebidos. Portanto, é um protocolo que oferece mais segurança na transmissão de dados contra a perda de pacotes. 94

110 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. Figura 10.11: Formato do cabeçalho TCP Descrição dos campos do cabeçalho TCP: Source/Destination Port: Identificam os processos origem e destino da conexão Sequence Number: Posição do segmento dentro do stream de dados Acknowledgement Number: Número do próximo byte que o destino espera receber. Data offset: o número de palavras de 32 bits do cabeçalho TCP. Reserved: reservado para uso futuro. Flags: usado para uma variedade de informações de controle, como SYN e ACK para estabelecer conexão e FIN para terminar. Os significados exatos destes flags são: SYN Quando setado em 1 indica o pedido de abertura de sessão TCP. ACK Quando setado em 1, sinaliza que este segmento contém o próximo octeto que o host origem espera receber. O flag ACK está sempre presente nos segmentos TCP, exceto na abertura de sessão. FIN Quando setado em 1, sinaliza um pedido de desconexão. Como o TCP é full duplex a desconexão pode se dar em um único sentido ou em ambos. Se um host enviar uma solicitação FIN, este pedido terá que ser confirmado, mas dados podem ainda ser transmitidos até que finalize suas atividade, onde outro segmento com o flag SYN deve ser enviado devendo também se confirmado pelo outro host. PUSH Quando setado em 1, avisa ao receptor que os dados podem ser entregues diretamente à aplicação. Uma resposta afirmativa a este comando significa que o receptor enviou todos os dados à aplicação correspondente. 95

111 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. URG Quando setado em 1, sinaliza que o campo Urgent Pointer deve ser lido, pois contém dados válidos. È um flag muito pouco utilizado hoje em dia. Este flag é também conhecido como OOB (Out Off Band) já que ele especifica uma condição na qual os dados devem ser retirados não do fluxo de dados normal, mas do campo URGENT POINT. RST Indica que a conexão está sendo abortada. Para uma conexão ativa, se um segmento com o flag RST é enviado a conexão é fechada de forma abrupta de maneira que os dados armazenados nos buffers ou em transito sejam descartados. Window: Especifica o tamanho da janela Checksum: Verificação de erro no segmento Urgent Pointer: Posição no segmento onde os dados urgentes se localizam Options: Tamanho de Segmento Máximo (MSS) As conexões lógicas estabelecidas, são feitas através de determinadas portas. Portas são endereços de 16 bits que servem para identificar a qual aplicação ou protocolo de alto nível as mensagens devem ser entregues. Exemplos de portas: Portas Protocolos e Aplicações 20 ou 21 FTP 22 SSH 23 Telnet 25 SMTP 53 DNS 80 HTTP 88 Kerberos 161 SNMP 443 HTTPS Tabela 10.2: Exemplos de Portas e Aplicações Tanto o TCP quanto o UDP possibilitam utilizar 2 16 (65.536) portas, que são empregadas pelos respectivos serviços habilitados nos hosts. Quando um determinado serviço está ativo uma porta específica é habilitada para que o processo de comunicação entre os hosts ocorra. Todavia, são divididas em 3 (três) grupos: Portas bem conhecidas (Well Known Ports): 0 à 1023 Portas registradas (Registered Ports): 1024 à Portas dinâmicas (Dynamic and/or Private Ports): à Outro importante conceito ligado ao protocolo TCP é o de Janelas Deslizantes. O controle de fluxo no TCP é gerenciado por meio de uma janela deslizante. Em outras palavras, o TCP provê meios para que o receptor possa determinar o volume de dados que o transmissor possa lhe enviar, ou seja, para controlar o fluxo dos dados. O campo Window presente no cabeçalho TCP indica o tamanho da janela, ou seja, quantos bytes podem ser enviados (normalmente usa-se bytes como unidade e não pacotes, devido ao fato de que os pacotes podem ter tamanhos variados). 96

112 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A UDP Figura 10.12: Conceito de Janelas Deslizantes O protocolo UDP (User Datagram Protocol) é um TCP sem controle fim a fim, ou seja, possui menos controles, logo é mais rápido e versátil para aplicações que podem perder pacotes, pois em muitas aplicações, a perda de pacotes pode ser desejável no caso de erros, ao invés de retransmissão. Então, o overhead (campos de controle) do UDP é bem menor que o do TCP, pois identifica apenas a porta utilizada e não implementa confirmações nem de controle, nem de sequenciamento de pacotes. Figura 10.13: Formato do cabeçalho UDP O UDP é útil principalmente nas seguintes situações: Pequena quantidade de dados a transmitir Serviços em que pequenas porções de informações podem ser perdidas Aplicações tipo query/responsed Aplicações que implementam mecanismo de entrega confiável A Camada de Aplicação HTTP O HTTP (HiperText Transfer Protocol) é o protocolo de comunicação entre o Browser (programa client ) do computador e o servidor Web que ele irá acessar ( server ). O processo de transferência desses documentos ocorrem quando o cliente HTTP conecta com o servidor HTTP quando digitado a URL (Uniform Resource Locator) no campo endereço do browser. 97

113 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A FTP O FTP (File Transfer Protocol) é o protocolo utilizado para transferência de arquivos entre computadores. O FTP permite a interatividade entre o computador cliente e o servidor, com segurança e por meio de logins e senhas. O FTP oferece um meio de transferência e compartilhamento de arquivos remotos. Entre os seus serviços, o mais comum é o FTP anônimo, pois permite o download de arquivos contidos em diretórios sem a necessidade de autenticação. Entretanto, o acesso anônimo é restrito a diretórios públicos que foram especificados pelo administrador da rede. O protocolo FTP disponibiliza interatividade entre cliente e servidor, de forma que o cliente possa acessar informações adicionais no servidor, não só ao próprio arquivo em questão. Como exemplo de facilidades podemos citar a lista de arquivos, onde o cliente lista os arquivos existentes no diretório, ou opções do tipo Help Telnet O Telnet, é um protocolo que faz a conexão remota de um host a um servidor, como se o host fosse uma estação local do servidor. Ou seja, o Telnet simula um terminal do servidor que se quer acessar DNS O DNS (Domain Name System) é o sistema de tradução de nomes e domínios (WWW) para os seus respectivos endereços IP que trafegam na rede. Ou seja, este sistema nos possibilita acessar os serviços de rede através de nomes de domínio (de fácil memorização) ao invés de utilizar os endereços IP das máquinas. Toda rede deve ter um servidor DNS, que lê um nome de domínio (WWW) e descobre seu endereço IP correspondente. O DNS é um sistema de gerenciamento de nomes hierárquico e distribuído e opera segundo duas definições: a primeira é examinar e atualizar seu banco de dados e a segunda, reproduzir a informação do banco de dados entre servidores. Começou quando a Internet era uma pequena rede estabelecida pelo Departamento de Defesa para propósitos de pesquisa. O endereçamento dos computadores nesta rede era administrado por um único arquivo de hosts localizado em um único servidor central. Cada rede que precisasse solucionar nomes de hosts em outras redes, carregava este arquivo. Como o número de hosts na Internet cresceu, o tráfico gerado pelo processo de atualização bem como o tamanho do arquivo de hosts também, com isso, surgiu a necessidade de um novo sistema que oferecesse características como a escalabilidade aliada à administração descentralizada. O sistema de distribuição de nomes de domínio foi introduzido em 1984 e com ele os nomes de hosts residentes em um banco de dados pôde ser distribuído entre servidores múltiplos, baixando assim a carga em qualquer servidor que provê administração no sistema de nomeação de domínios. Ele baseia-se em nomes hierárquicos e permite a inscrição de vários dados digitados além do nome do host e seu IP. Em virtude do banco de dados de DNS ser distribuído, seu tamanho é ilimitado e o desempenho não degrada tanto quando se adiciona mais servidores nele. O DNS existe porque as aplicações utilizam endereços IP de 32 bits quando vão abrir conexões ou enviar datagramas IP. Entretanto, as aplicações normalmente identificam os hosts por nomes ao invés de identificar por números. O funcionamento básico está em pegar o nome que a aplicação forneceu e devolver o número IP correspondente, mas, isso só acontece porque 98

114 10.3 Conjunto de Protocolos TCP/IP Corá, M.A.A. o servidores possuem algoritmos de pesquisas locais e remotas bem como um banco de dados com as informações sobre os domínios no qual eles são responsáveis. O DNS é administrado por uma Autoridade de Inscrição de Nome na Internet. Esta entidade é responsável por manter domínios de nível de topo que são nomeados através de organizações e por fim, por países SMTP O protocolo SMTP é usado para enviar ao servidor para que o mesmo se encarrega de fazer o envio para o destinatário final. Resumindo, quando um é enviado da maquina do usuário para alguém na Internet ou rede local, o cliente SMTP conecta com o Servidor SMTP e instrui o mesmo usando SMTP comandos para que o seja enviado ao destinatário final. Um servidor SMTP é um computador que fica aguardando conexões SMTP de modo a proceder com o envio de s. Por padrão, conexões SMTP são feitas na porta 25 TCP. O Protocolo SMTP é baseado em comandos (enviados pelo cliente) e respostas (enviadas pelo servidor) SNMP No início da década de 80 o protocolo Simple Network Management Protocol SNMP, começou a ser desenvolvido pelo Internet Engineering Task Force IETF, com o objetivo de disponibilizar uma forma simples e prática de realizar o controle de equipamentos em uma rede de computadores. Atualmente as pesquisas na área de gerenciamento de redes possuem o objetivo de obter da rede seu rendimento máximo. O protocolo SNMP permite que uma determinada rede ou varias redes conectadas sejam gerenciada de um único ou vários pontos distintos. A implementação do protocolo SNMP possibilita que informações relevante ao gerenciamento de rede seja enviado aos pontos de gerenciamento predeterminados. 99

115 Capítulo 11 Sistemas Operacionais de Redes 11.1 Introdução Ao longo da história, podemos acompanhar uma rápida evolução da informática em nível de hardware e de software. Quando foram construídos os primeiros computadores, seus usuários programavam as aplicações em linguagem de máquina (baixo nível), interagindo diretamente com o hardware. Logo percebeu-se que algumas tarefas básicas se repetiam nas mais diversas aplicações. Por exemplo, transferência de dados entre a memória e os dispositivos de entrada e saída (impressora, unidade de armazenamento, etc). Foi a partir daí que surgiram os sistemas operacionais. Podemos definir um Sistema Operacional (SO) como sendo um software composto por um conjunto de rotinas que fornecem serviços básicos de uso geral que simplificam a utilização dos recursos de hardware de uma máquina. As rotinas ou módulos que compõem um SO fornecem serviços como: gerenciamento do uso do processador, alocação dos processos (programas em execução) na memória principal, controle de acesso aos dispositivos de entrada e saída, alocação de informações nos dispositivos de armazenamento (gerenciamento do sistema de arquivos) etc. No princípio, os computadores eram máquinas muito caras que centralizavam em um único ponto o processamento de aplicações de vários usuários e muitas vezes de toda uma organização. com o passar do tempo o hardware foi ficando mais barato, e os microcomputadores invadiram o cenário da informática, onde a estrutura centralizada cedeu lugar a uma estrutura totalmente distribuída. E foi nesse cenário que surgiram as redes de computadores, onde um sistema de comunicação foi introduzido para interligar as estações de trabalho, que antes operavam isoladamente, com o objetivo de permitir o compartilhamento de recursos, como impressoras, discos, scanner, etc. É importante observar que, quando surgiram as redes, os computadores, antes funcionando isoladamente, já possuíam seus respectivos sistemas operacionais locais. Portanto, uma premissa básica do software introduzido para fornecer novos serviços, foi perturbar o menos possível o ambiente local, principalmente na interface que esse ambiente oferecia a seus usuários. Neste contexto, surgiram os sistemas operacionais de redes como uma extensão dos sistemas operacionais locais, complementado-os com um conjunto de funções básicas, e de uso geral, necessárias a operação das estações, de forma a tornar transparente o uso dos recursos compartilhados. Dentre as funções do sistema operacional de rede, destaca-se assim, o gerenciamento do acesso ao sistema de comunicação e, consequentemente, as estações remotas para utilização de recursos de hardwares e softwares remotos. Neste sentido, os sistemas operacionais de redes devem atuar de forma que os usuários utilizem os recursos de outras estações da rede, como se estivessem operando localmente. 100

116 11.2 Arquitetura Cliente/Servidor Corá, M.A.A. É importante ressaltar a diferença entre Sistema Operacional de Rede e Sistema Operacional Distribuído. Sistemas Operacionais de Redes são conjuntos de vários sistemas distintos que compartilham recursos entre usuários, e o mais importante, é que os usuários precisam saber onde estão os recursos, ou seja, necessitam conhecer o path de cada recurso para poder acessá-lo. Já os Sistemas Operacionais Distribuídos, são sistemas distintos, mas com uma visão unificada dos recursos. Em outras palavras, o usuário não precisa saber onde está localizado o recurso compartilhado, pois estes estão acessíveis de forma transparente, apresentando-se ao usuário como um único computador. O usuário vê o sistema como um ambiente virtual, e não como um conjunto de computadores conectados por uma rede Arquitetura Cliente/Servidor A relação entre as aplicações e o sistema operacional baseia-se em interações do tipo solicitação/resposta, onde a aplicação solicita um serviço (abertura de um arquivo, impressão de um bloco de dados, alocação de uma área de memória, etc) através de uma chamada ao sistema operacional. O sistema operacional em resposta a chamada, executa o serviço solicitado e responde, informando o status da operação (se foi executada com sucesso ou não) e transferindo os dados resultantes da execução para a aplicação, quando for o caso. Este modo de interação é chamado Cliente/Servidor, onde a entidade que solicita um serviço é denominada cliente e a que presta o serviço é denominada servidor. A interação cliente/servidor constitui-se no modo básico de interação dos sistemas operacionais de redes. As estações que disponibilizam a outras estações o acesso a seus recursos através da rede, devem possuir um módulo servidor. As estações que permitem que suas aplicações utilizem recursos compartilhados com outras estações, devem possuir um módulo cliente. Nas estações que possuem o módulo cliente, o sistema operacional de rede, ao receber um pedido de acesso a um recurso localizado em outra estação da rede, monta uma mensagem contendo o pedido e a envia ao módulo servidor da estação onde será executado o serviço. Na estação remota, o sistema operacional de rede, recebe a mensagem, providencia a execução do serviço solicitado, monta uma mensagem com o resultado da execução, e a envia de volta para o sistema operacional de rede na estação requerente. Quando o sistema operacional de rede na estação que requisitou recebe a mensagem transportando a resposta, ele faz sua entrega a aplicação local. É importante perceber que as funções necessárias ao sistema operacional de rede nos módulos clientes são diferentes das funções nos módulos servidores. No módulo cliente, o sistema operacional de rede restringe-se praticamente a fornecer serviços de comunicação de pedidos para o servidor e a entregar as respostas as aplicações. Já no módulo servidor, além das funções de comunicação, vários outros serviços são executados, conforme veremos na seção Em suma, podemos classificar os módulos de um sistema operacional de rede instalados nas estações, em dois tipos: Módulo Cliente Módulo Servidor Na arquitetura Cliente/Servidor, as estações servidoras necessariamente possuem as funções do módulo servidor e podem, opcionalmente, possuir também as funções do módulo cliente, possibilitando desta forma, que um servidor seja cliente de outro. Por exemplo, um servidor de 101

117 11.2 Arquitetura Cliente/Servidor Corá, M.A.A. impressão pode ser cliente de um servidor de arquivos, ao fornecer serviços aos seus próprios clientes. Existem também, duas variações, definidas pela forma como são utilizados os servidores: Arquitetura Cliente/Servidor com servidor dedicado Arquitetura Cliente/Servidor com servidor não dedicado Na arquitetura Cliente/Servidor com servidor dedicado, geralmente as estações não permitem usuários locais, sendo integralmente dedicadas ao atendimento de pedidos enviados pelas estações clientes através da rede. No entanto, na arquitetura Cliente/Servidor com servidor não dedicado, as estações atendem tanto as funções do módulo servidor do sistema operacional de rede, como as aplicações dos usuários locais da estação O Módulo Servidor Uma das funções básicas das redes locais que viemos constantemente frisando é o compartilhamento de recursos caros e especializados (equipamentos, programas, bancos de dados, etc) ou seja, serviços. Vários serviços são usuais para todas as aplicações, fazendo com que módulos servidores de propósitos específicos fossem projetados de forma a melhor oferecê-los. Estações que possuem tais módulos, são comumente chamados de servidores e são distinguidas das outras estações pelo software de suporte ao serviço e algum hardware especial que contenham. Entre os serviços mais oferecidos podemos citar: serviço de arquivos, serviço de banco de dados, serviço de impressão, serviço de web, serviço de , e muitos outros. Por definição, utilizamos o termo módulo servidor como a entidade do sistema operacional de rede que torna disponíveis os recursos de uma estação aos usuários da rede. E chamamos de estação servidora, na arquitetura cliente/servidor, a estação que possui pelo menos um módulo servidor em seu sistema operacional de rede. A partir de agora, estaremos chamando de servidor de X o módulo servidor de um sistema operacional de rede que implementa o serviço X Servidor de Arquivos Um servidor de arquivos tem a função de oferecer a seus clientes os serviços de armazenamento e acesso a informações, e de compartilhamento de discos. Os servidores de arquivos controlam unidades de disco ou outras unidades de armazenamento, sendo capazes de aceitar pedidos de transações das estações clientes e atendê-los utilizando seus dispositivos de armazenamento de massa. Gerenciam assim, um sistema de arquivos, que pode ser utilizado pelo usuário em substituição ou em adição ao sistema de arquivos existente na própria estação. Em geral, o sistema de arquivos possui uma estrutura hierárquica de diretórios, proteção de arquivos individuais e de diretórios através de palavras-chave (proteção especial para direito de acesso conforme definido pelo usuário: acesso público, acesso por grupo ou acesso privado) e várias outras características, como por exemplo, garantia da integridade dos dados em caso de falhas do sistema ou de acessos concorrentes. A comunicação de um cliente com um servidor de arquivos pode ser totalmente transparente ou não, isto é, o servidor pode tornar totalmente transparente para o cliente a localização de 102

118 11.2 Arquitetura Cliente/Servidor Corá, M.A.A. um arquivo, ou então caberá ao cliente o conhecimento da localização do arquivo e da troca de primitivas com o servidor. Nada impede que uma rede possua mais de um servidor de arquivos. Nesse caso, se a transparência de localização é desejada, algum esquema de gerenciamento de arquivos distribuídos é necessário. Esse esquema deve prover globalmente as mesmas funções de um servidor individual no que diz respeito a direitos de acesso, proteção, integridade de dados, etc. O servidor de arquivos também possui a vantagem de facilitar a implementação de alguns recursos, como um sistema de backup e um sistema de antivírus, onde mesmo que a estação de trabalho do usuário possua algum vírus, no momento em que este usuário gravar algum dado no servidor de arquivos, um software antivírus poderá remover o vírus ou tentar bloquear o acesso ao disco, caso o vírus não possa ser removido Servidor de Banco de Dados Aplicações que necessitam de acesso a um banco de dados, podem utilizar um SGBD (Sistema Gerenciador de Banco de Dados) executado no cliente, que usa um servidor de arquivos para armazenar os arquivos de um banco de dados, conforme mostra a figura Porém, essa solução além de tornar muito difícil a manutenção da integridade da base de dados, acessada por vários clientes, ainda pode degradar o desempenho da rede, como veremos mais a adiante. Cliente Aplicação SGBD Servidor de Arquivos solicitação resposta Figura 11.1: Serviço de Banco de Dados através de um Servidor de Arquivos Alternativamente, poderíamos pensar em uma solução onde parte das funções do SGBD fosse executada no servidor, onde agora assumiria não apenas as funções de armazenamento de um servidor de arquivos, mas também funções de processamento de consultas, sendo por isso denominado servidor de banco de dados, conforme mostra a figura A utilização de servidores de banco de dados permite a centralização de funções como controle de concorrência e manutenção de consistência dos bancos de dados. Outro aspecto positivo da utilização de servidores de bancos de dados, é o aumento do desempenho das aplicações e da rede. Para entender o porquê desse desempenho, imagine por exemplo uma transação entre um cliente e um servidor, utilizando um servidor de arquivos para executar a tarefa. Nesse caso, o SGBD local (cliente) tem que ler todos os registros da base de dados residente no servidor de arquivos e transfere, através da rede, todos os registros para a estação cliente. Após receber os registros, o SGBD local aplica o critério de seleção e entrega a aplicação cliente os registros selecionados. Agora, se utilizarmos um servidor de banco de dados, o SGBD local (cliente), codifica o pedido do usuário, por exemplo através de uma consulta SQL (Structured Query Language) com o critério de seleção definido pela aplicação. Em seguida, envia a consulta para o SGBD 103

119 11.2 Arquitetura Cliente/Servidor Corá, M.A.A. servidor. O servidor de banco de dados, após receber o pedido, processa a consulta, lendo todos os registros do banco de dados, localmente, selecionando-os de acordo com o critério definido. Após selecionados os registros relevantes, o SGBD (servidor) os envia ao SGBD (cliente), que entrega a aplicação. Veja figura Cliente Aplicação Cliente SGBD consulta SQL Servidor SGBD Servidor de Banco de Dados resposta SQL Figura 11.2: Servidor de Banco de Dados O aumento do desempenho da rede, se dá pelo fato de que a rede só será utilizada para transportar os registros que efetivamente são pertinentes a aplicação. Um segundo aspecto a ser observado, é a possibilidade de concentrar os investimentos de hardware no servidor. Normalmente, o servidor de banco de dados é uma máquina exclusivamente dedicada a este serviço. Os aplicativos das estações de trabalho, fazem requisições direta e constantemente ao servidor e dependem da resposta do servidor para apresentarem os dados aos usuários. Portanto, se atribuirmos a mesma máquina outros serviços, o servidor de banco de dados poderá ser prejudicado Servidor de Impressão Um servidor de impressão, tem como finalidade oferecer serviços de impressão a seus clientes, possuindo um ou mais tipos de impressoras aclopadas a ele. Existem várias formas para se implementar um servidor de impressão. Todavia, duas formas são mais utilizadas, uma baseada na alocação da impressora, onde o cliente envia o pedido ao servidor para alocar uma determinada impressora e assim ele passa a gerenciar a impressora durante o determinado intervalo de tempo. Outra forma, mais utilizada, é através da técnica de spooling. Nesse caso, o cliente ao invés de pedir a alocação de uma impressora, envia diretamente ao servidor o documento a ser impresso. Esse documento é colocado numa fila de espera, sendo impresso quando uma impressora estiver disponível, como mostra a figura Esta técnica também permite a implementação de algoritmos de escalonamento de impressão baseado em prioridades. Um servidor de impressão pode atuar como um cliente de um servidor de arquivos, quando o documento a ser impresso encontra-se no servidor de arquivos e não nas estações de trabalho dos usuários. Um servidor de impressão também pode facilitar a implementação de um sistema de quota de impressão por usuário. 104

120 11.3 Drivers da Placa de Rede (Device Drivers) Corá, M.A.A. Estações Clientes Servidor de Impressão Impressoras documento 2 documento 5 documento 7 documento 3... documento 2 documento 5 documento 7 documento 3 Fila de Impressão Figura 11.3: Servidor de Impressão Servidor Web Um servidor Web tem a função de hospedar e disponibilizar páginas para web que são solicitadas pelos clientes através de um software aplicativo denominado browser, conforme figura Cliente Browser Servidor Web solicitação da página resposta Figura 11.4: Servidor Web As transações entre o cliente e o servidor são feitas através do protocolo HTTP (Hiper- Text Transfer Protocol), protocolo de camada 7 (camada de Aplicação) conforme modelo de referência OSI. No princípio, a idéia era disponibilizar somente páginas estáticas no formato HTML (Hiper- Text Markup Language). Mas devido ao crescimento exponencial da Internet, novas tecnologias para o desenvolvimento de páginas, como ASP, PHP e JSP, surgiram para possibilitar a criação de páginas dinâmicas, personalizando seu conteúdo em resposta aos dados fornecidos pelos usuários e possibilitando acesso a banco de dados através de servidores de banco de dados Drivers da Placa de Rede (Device Drivers) Device driver, é um nome genérico para um driver de uma interface de rede que é independente de qualquer implementação de hardware ou software. Quando um programa qualquer deseja utilizar uma placa de rede diretamente para transmitir ou receber dados, precisa lidar com detalhes específicos de cada tipo de placa. Essa aplicação 105

121 11.3 Drivers da Placa de Rede (Device Drivers) Corá, M.A.A. teria de ser reescrita ou reconfigurada para cada tipo diferente de placa que viesse a utilizar. Com o objetivo de diminuir essa dependência é que surgiram os devices drivers. O device driver, é normalmente fornecido junto com a placa de rede pelos fabricantes. Todavia, é preciso notar que apesar do device driver simplificar a tarefa de transmitir dados usando a placa de rede, as aplicações continuam tendo que ser escritas especificamente para utilizar a interface definida por um determinado tipo de driver de dispositivo. Por exemplo, nada impede que diferentes fabricantes de placas de rede, implementem drivers de dispositivos com diferentes interfaces. Foi visando eliminar essa dependência de aspectos de implementação que alguns fabricantes concordaram em desenvolver interfaces comuns, onde as mais conhecidas serão descritas nas sessões seguintes NDIS (Network Driver Interface Specification) A interface NDIS (Network Driver Interface Specification) foi desenvolvida pela 3Com e pela Microsoft. É um driver instalado no sistema operacional que permite que uma única placa de rede possa utilizar mais de um protocolo de rede, funcionando como uma interface padrão ODI (Open Data Link Interface) O ODI (Open Data Link Interface) é um driver com o mesmo objetivo que o NDIS, criado pela Novell e pela Apple Computers para os seus sistemas operacionais, visando também diminuir a dependência entre as implementações dos drivers de placa de rede, só que o ODI possui um funcionamento um pouco mais complexo, porém mais completo. A grande diferença entre o NDIS e o ODI é que o ODI faz uso da camada LLC (Logical Link Control), que não é usada no NDIS. Detalhes sobre a camada LLC estão na sessão do capítulo

122 Capítulo 12 Segurança em Redes de Computadores 12.1 Introdução O termo segurança é usado com o significado de minimizar a vulnerabilidade de bens (qualquer coisa de valor) e recursos. Vulnerabilidade é qualquer fraqueza que pode ser explorada para se violar um sistema ou as informações que ele contém [2]. A segurança está relacionada a necessidade de proteção contra o acesso ou manipulação, intencional ou não, de informações confidenciais por elementos não autorizados, e a utilização não autorizada do computador ou de seus dispositivos periféricos. A necessidade de proteção deve ser definida em termos de possíveis ameaças e riscos e dos objetivos de uma organização, formalizados nos termos de uma política de segurança [2]. Este capítulo, não tem intenção de abordar o perfil dos mais variados tipos de atacantes (hackers, crackers, etc) mas sim, uma breve abordagem sobre alguns dos principais mecanismos de ataque e de defesa utilizados atualmente Mecanismos de Ataque São vários os mecanismos de ataque utilizados pelos mais variados tipos de atacantes. Isto vai desde ataques passivos, que não destroem ou modificam qualquer informação, até ataques ativos, que modificam, roubam e destroem informações. Vale ressaltar, que nem todo mecanismo de ataque é necessariamente um mecanismo de invasão, e quase sempre um ataque se dá por um conjunto de mecanismos aplicados simultaneamente ou em sequência. As próximas seções abordam apenas alguns dos mecanismos de ataque mais utilizados hoje em dia Engenharia Social A Engenharia Social, é o método mais simples, mais usado e mais eficiente de se descobrir informações importantes sobre uma organização qualquer. Ela explora a ingenuidade das pessoas. Os ataques desta natureza podem ser realizados através de telefonemas, envio de mensagens por correio eletrônico, salas de bate-papo e até mesmo pessoalmente. Existem relatos dos mais variados casos. Por exemplo, casos em que alguém, se passando por um funcionário do suporte técnico de um provedor de acesso Internet, telefona para um usuário informando que a conexão estava com algum tipo de problema e que para consertar, necessitava da senha. 107

123 12.2 Mecanismos de Ataque Corá, M.A.A. Normalmente, o engenheiro social possui um enorme poder de persuasão sendo difícil para a vítima, normalmente um usuário comum ou um funcionário despreparado, não liberar as informações que o engenheiro social quer. Muitas vezes, o engenheiro social, chega a procurar por informações até mesmo nos papéis jogados nos lixos da empresa. Com o crescente avanço da tecnologia, as empresas estão dedicando uma boa parte do tempo para resolver os problemas técnicos de segurança, e neste contexto, a engenharia social apresenta-se como uma solução alternativa para invasões Trojans Os trojans servem para enganar a vítima e retirar dela informações importantes. Também conhecidos como Cavalos de Tróia, normalmente apresentam-se como programas que aparentam ter uma função útil, mas possuem alguma função maliciosa que burla os mecanismos de segurança. Não possuem a capacidade de se auto replicar como os Worms, portanto, costumam permanecer indefinidamente no PC ou se auto-destruir junto com os dados que visa apagar ou corromper. Funcionam das mais variadas formas, onde as mais comuns são através de falsas telas de Login e também através de aplicações que na verdade, trata-se de uma falsas aplicações. Vejamos um exemplo: um invasor envia para sua vítima uma falsa tela, um falso cartão virtual por exemplo. Quando esta o executa abre em seu computador uma determinada porta. Depois do software instalado de forma involuntária no computador, o invasor pode se conectar ao computador da vítima. Os Trojans mais conhecidos são o Back Oriffice (BO) e o Netbus. Estes tipos de trojans, por serem programas de administração remota, ou seja, possibilitam o controle de um computador à distância sem que o usuário saiba, são comumente chamados Backdoors. Os trojans também podem ter um caráter destrutivo. Trojans deste tipo, quando executados, fazem alguma coisa prejudicial ao seu computador, onde as mais comuns são apagar todos os arquivos, ou apagar arquivos importantes e essenciais para o funcionamento do sistema operacional Sniffers Sniffers são programas que permitem recuperar informações que transitem na rede. Isso sendo em qualquer protocolo utilizado. Os sniffers trabalham em Promiscuous Mode, ou seja, Modo Promíscuo e isto significa que um sniffer observa e captura todas as informações da rede, mesmo que o endereçamento não seja o seu. A ação de capturar informações destinadas a uma outra máquina é chamada sniffing [12]. O sniffer deve ser instalado na mesma parte da rede que tem de ser observada. Por isso, podese considerar o ataque através de um sniffer como sendo um ataque de segundo nível, visto que o hacker já deve ter trabalhado previamente para infiltrar o sniffer. Normalmente, o processo de invasão de uma rede alheia começa quando o atacante obtém algum tipo de privilégio de administrador em uma máquina dessa rede. Isso pode ser conseguido de diversas formas, como com a exploração de vulnerabilidades remotas em software da rede, uso de vírus, acesso físico irrestrito às máquinas da rede ou ao meio transmissor de dados e, muito comumente, através da utilização de técnicas de engenharia social. Em um ambiente de rede normal, os nomes e as senhas dos usuários são passadas através da rede em claro, ou seja, texto não criptografado. Não é difícil portanto, um intruso utilizando uma máquina com interface de rede em modo promíscuo, obter qualquer senha, inclusive a do 108

124 12.2 Mecanismos de Ataque Corá, M.A.A. root, usando um sniffer. É preciso compreender que um sniffer é uma aplicação passiva que não produz nada. Não deixa por isso nenhum rastro no sistema. Uma maneira de detectar um sniffer é de controlar todos os processo ativos no seu computador, mas mesmo assim não é tão confiável. Um dos modos mais simples de contornar os sniffers, é através da criptografia, pois assim, o sniffer irá capturar os dados mas não poderá utilizá-los. Um sniffer quando usado com boas intenções pelo administrador do sistema não implica em um mecanismo de ataque, mas sim numa ferramenta extremamente útil para obtenção de detalhes úteis para solução de problemas na rede. Os sniffers mais conhecidos para sistemas Linux são tcpdump e o ethereal, sendo que este último apresenta uma interface gráfica para fácil operação em máquinas que executam o servidor X. Para detectar um dispositivo sniffer, é necessário o exame físico de todas as conexões e a verificação individual das interfaces. Um sniffer, rodando em uma máquina, coloca a interface de rede em modo promíscuo com o intuito de capturar todos os pacotes de um determinado segmento. Na maioria dos sistemas Unix é possível detectar uma interface promíscua através de comandos, como por exemplo: ifconfig -a, que mostrará todas as informações relativa a interface. Daí caso, exista a indicação de alguma interface em modo promíscuo, use o seguinte comando para retirar a interface deste modo: ifconfig XXX -promisc, onde XXX é a identificação da interface [12]. Todavia, a utilização de IDSs (Intrusion Detection Systems), ou seja, Sistemas de Detecção de Intrusão, facilitam o trabalho de detecção de sniffers. Os Sistemas de Detecção de Intrusão podem ser divididos em duas categorias: os destinados à redes (Network Intrusion Detection Systems - NIDS) e os destinados a uma única máquina (Host Based Intrusion Detection Systems). Ambos, são caracterizados pela análise de tráfego e informações que evidenciem tentativas ou ocorrências de ataques, atuando como espécies de alarmes. Mais informações sobre IDSs na seção A utilização de Switches, dificulta a captura de pacotes em redes distribuídas, mas existem casos em que mesmo o host estando diretamente conectado ao switch, é possível a utilização de sniffers. Uma causa possível é porque um switch possui uma memória interna limitada para armazenar as entradas dos endereços MACs das máquinas para fazer a divisão do tráfego, onde o tamanho da memória varia conforme fabricante e modelo. Alguns switches, ao estourar esse limite, passam a funcionar como Hubs. Um atacante pode por exemplo utilizar algum programa para jogar pacotes com endereços MACs falsos na rede com intuito de forçar esse estouro. Outra hipótese, seria uma configuração do switch para que o mesmo opere com uma porta mirror, com isso essa porta receberia todo o tráfego que passa pelo equipamento. Como dito anteriormente, o uso de canais de comunicação criptografados, embora não evite o uso de sniffers, é a técnica mais eficaz para a proteção de informações na rede, pois torna o tráfego incompreensível a quem não conheça a chave para descriptografia DoS (Denial of Service) Atualmente, estamos presenciando um crescimento muito grande de ataques do tipo DoS (Denial of Service), isto é, negação de serviço. O DoS consiste em enviar uma quantidade de mensagens, para um determinado alvo, maior do que a quantidade que ele pode suportar. Este tipo de ataque ficou ainda mais conhecido quando alguns crackers usaram o método para derrubar sites de grande porte como: Yahoo.com, ZDnet.com, Amazon.com, ebay.com e outros. Um ataque do tipo DoS basicamente visa indisponibilizar os serviços oferecidos por algum 109

125 12.2 Mecanismos de Ataque Corá, M.A.A. servidor de rede, como Web, mail ou Domain Name Services (DNS). Indisponibilizar, pode significar retirar totalmente o servidor de operação ou apenas deixá-lo lento, ao ponto do cliente abandonar o serviço devido ao tempo de resposta. Um ataque DoS não implica em invasão. Um dos programas mais usados para realizar este serviço sujo é o ping. O que o ping faz é simplesmente enviar constantemente uma quantidade alta de pacotes para que possa sobrecarregar o seu alvo e assim brecar os seus serviços por falta de recurso. Leia sobre Ping da Morte na seção Em essência, o comando ping é usado para verificar se um determinado destino é alcançável, ou se está com uma conexão ativa na rede. O ping envia uma baixa quantidade de bytes (pacotes de 32 ou 64 bytes) para se comunicar com outro computador. Se este estiver ativo, retornará uma mensagem dizendo que os pacotes foram recebidos com sucesso. Mais detalhes do ping na seção A.5. Outro exemplo comum de ataque DoS é TCP SYN Attack. De forma simplificada, toda vez que um cliente deseja iniciar uma conexão com um servidor, o cliente envia um pedido, utilizando o bit de SYN (sincronização) do pacote TCP. O servidor recebe o pacote e devolve um ACK (confirmação) para iniciar a conexão. A cada pedido gerado pelo cliente, o servidor aloca recursos internos, como memória, para poder atender a solicitação. Se um número muito grande de solicitações forem feitas, o servidor pode simplesmente parar ou ficar tão sobrecarregado que recuse novas conexões. Geralmente, o endereço de origem do cliente que solicita a conexão é forjado (spoofed) para tornar o ataque ainda mais efetivo e encobrir o seu autor DDoS (Distributed Denial of Service) Um ataque Distributed DoS nada mais é que um ataque DoS em larga escala, utilizando uma dezena, centena ou milhares de sistemas ao mesmo tempo no ataque de um ou mais alvos. Este tipo de ataque é considerado como sendo de alto risco e de difícil defesa. Os ataques DDoS funcionam com base no modelo cliente/servidor. O cracker invade um pequeno número de sistemas que passam a ficar sob seu controle, como clientes. O invasor se comunica com os sistemas que lançam o ataque a um ou mais alvos. Geralmente os clientes invadidos são escolhidos em função de sua capacidade de comunicação. Quanto maior a conexão de rede, maior será o volume de pacotes gerados. Para invasão, são utilizados várias técnicas, como por exemplo os famosos trojans. Os trojans depois de instalados em vários computadores pela rede, a uma determinada hora (préestabelecida ou comandada pelo cracker), executam o comando já programado para enviar constantemente uma quantidade grande de pacotes para o seu alvo. Com certeza este processo causa uma sobrecarga de dados, levando à extinção temporária do serviço e deixando aquele computador inativo Ping da Morte (Ping of Death) É um tipo de ataque DoS, portanto, não pode ser caracterizado como técnica de invasão. O ping com pacotes acima de alguns KiloBytes (considerados grandes se comparados com o padrão de 32 ou 64 Bytes) eram chamados de Ping da Morte, pois ao pingar um host destino com este tamanho de pacote, a maquina saía do ar, forçando até mesmo o seu reboot. A possibilidade de se poder derrubar um site por exemplo, usando um mero ping é algo relativamente simples, pois o atacante não precisa saber nada sobre a máquina vítima, a não ser seu endereço IP. Um pacote, com bytes é praticamente ilegal, mas pode ser criado graças à forma que é fragmentado para possibilitar a transmissão. Quando os fragmentos são remontados para 110

126 12.2 Mecanismos de Ataque Corá, M.A.A. formar o pacote original, o tamanho final supera a capacidade de armazenamento (buffer) de alguns sistemas, eventualmente causando a derrubada, reboot, travamento ou algo semelhante. Atualmente, quase todos os sistemas já solucionaram esta falha, através de alguns patches (remendos) de correção Spoofing O Spoofing também é um método de invasão muito utilizado. Trata-se de uma técnica de ataque onde o objetivo é falsificar o remetente de um pacote de transmissão de dados, para que o receptor o trate como se fosse de um outro utilizador, em outras palavras, esta técnica consiste em disfarçar o endereço IP ou DNS de forma que a vítima pense que quem está tentando estabelecer uma conexão, é um computador confiável. As comunicações entre computadores na internet baseiam-se em endereços confiáveis para que se possa haver troca de informações, sem que seja necessário verificar a toda hora a autenticidade das partes relevantes a conexão estabelecida. Por exemplo, o protocolo TCP utiliza um procedimento onde 3 mensagens são requeridas para estabelecer a conexão. Entre as informações negociadas está o número de sequência que ambas utilizarão para estabelecer a comunicação. Estes números são exclusivos para a comunicação entre essas duas máquinas, e se baseiam na hora do relógio interno do sistema. Uma vez aberta a conexão, as duas máquinas já autenticadas, estão prontas para trocar dados. Desta forma, uma vez que um atacante possui conhecimento de um endereço confiável para a rede que deseja invadir, ele precisa sobrecarregar o computador que possui o endereço que ele está imitando, para que ele não responda as mensagens vindas do computador que é o alvo do ataque, evitando dessa forma, que o computador (que está sendo imitado) respondesse: Mas eu não te perguntei nada!, e o computador (alvo do ataque) cancelasse a conexão. No que diz respeito ao número de sequência combinado no momento em que está sendo estabelecida a conexão, o atacante costuma agir da seguinte forma: o atacante envia, através de um pacote legítimo, com o endereço de origem verdadeiro, vários pedidos de conexão ao computador alvo do ataque. Este responde com um número de sequência para que o atacante o repita e efetue a conexão, mas a máquina de origem (o atacante) não tem privilégios e não lhe interessa fechar esta conexão. Então ele não responde a estes pacotes vindo do computador alvo do ataque, e apenas os guarda e verifica seu número de sequência. Após vários pedidos de conexão com o computador alvo, o atacante pode aprender como o computador alvo gera seus números e então mandar um pedido de conexão, só que desta vez com o endereço de origem do computador confiável que ele está imitando Spywares Spywares são programas instalados em seu computador que armazenam e transmitem dados sobre suas atividades, sites que você acessa, programas instalados, senhas que você digita, e informações pessoais. Talvez a melhor descrição para spyware seja um software de dupla personalidade, pois ele é armazenado no disco rígido de seu computador e normalmente tem um conjunto prático e atrativo de funções primárias. O problema é que, além de suas funções primárias, o spyware também tem um segundo, menos evidente, componente que recolhe informações suas e envia essas informações pela Internet, normalmente para empresas anunciantes ou outras partes interessadas. Como essa ação secundária geralmente ocorre sem o seu conhecimento, um software com esse tipo de funcionalidade dupla e passa a ser chamado de spyware. Por exemplo, ao 111

127 12.3 Mecanismos de Defesa Corá, M.A.A. acessar a Web nos deparamos com a página inicial alterada, isto pode ter sido feito por um spyware, não permitindo muitas vezes nem a restauração da página inicial original, mesmo se reiniciarmos o computador ela voltará personalizada. O maior problema é que muitas vezes voce está ciente da sua instalação, mas como poucos de nós temos o hábito de ler os license agreement dos programas, acabamos sem perceber que estamos instalando um spyware também, acoplados aos softwares originais. Existem softwares no mercado para remover e prevenir a instalação de spywares, que fazem um excelente trabalho, todavia, ninguém está totalmente livre destes programas. Um antispyware bem conhecido é o Spybot Search and Destroy, software do tipo freeware, que pode ser encontrado no site Phishing Phishing é um novo esquema inteligente e sofisticado de ataque, que utilizam s fictícios (spoofed) e websites fraudulentos destinados a enganar os destinatários e fazer com que eles revelem dados financeiros pessoais, como números de cartão de crédito, nome de usuário e senha de contas, e números de previdência social. Num esquema de phishing, uma pessoa mal intencionada tenta obter informação como o número do cartão de crédito, palavras-passe, informação de contas bancárias, ou outras informações pessoais convencendo-o a facultar-lhe estas informações sob falsos pretextos. Os esquemas de phishing chegam geralmente através de s com mensagens convincentes, como por exemplo: Atualize seus dados!!! ou através de janelas de publicidade. Estes s parecem ter sido enviadas de Web sites conhecidos, de sua confiança, como o seu banco ou a empresa do seu cartão de crédito. Estas cópias são frequentemente denominadas spoofed Web sites Mecanismos de Defesa Uma boa política de segurança, pode ser implementada com a utilização de vários mecanismos de segurança, que em sua maioria são complementares. Nas próximas seções, abordaremos de forma resumida, alguns dos principais mecanismos de defesa utilizados atualmente. No entanto, segue abaixo os conceitos básicos necessários para se estabelecer uma comunicação segura entre agentes. Confidencialidade - A Confidencialidade consiste da garantia da comunicação segura, ou seja, o usuário codifica a mensagem de maneira ininteligível (através de criptografia) antes da transmissão, e a mensagem cifrada só pode ser lida (decifrada) pelo destinatário. A criptografia é geralmente feita por aplicação específica, ou em alguns casos, pela camada de aplicação do software de rede, como o SSL para HTTP (seção ). Autenticidade - A Autenticidade garante a identidade do emissor de uma mensagem, ou seja, o receptor tem a garantia de que a mensagem provém realmente do transmissor esperado. Normalmente esse processo se dá por meio de Autenticação que é uma prova de identidade. Existem basicamente 3 (três) maneiras nas quais uma pessoa pode ser autenticada: 1. Prova por Biometria, ou seja, alguma coisa que você (usuário) é. 2. Prova por Conhecimento, ou seja, alguma coisa que você (usuário) sabe. 112

128 12.3 Mecanismos de Defesa Corá, M.A.A. 3. Prova por Posse, ou seja, alguma coisa que você (usuário) tem. Sendo o método de prova por conhecimento, o mais usual em ambientes computacionais. Exemplo: Nome da conta + senha. Integridade - A Integridade é a garantia de que a mensagem que foi recebida é equivalente aquela que transmissor enviou, sem alterações. Não Repúdio - O Não Repúdio garante a origem da mensagem, evitando que o emissor negue o envio da mensagem posteriormente Esteganografia A esteganografia é a prática de esconder informações dentro de outras informações. Embora esta palavra conste em alguns dicionários como sinônimo de escrita em cifra, ela não é sinônimo de criptografia, pois os métodos usados para proteger os dados na esteganografia são diferentes da criptografia [11]. O termo significa, escrita encoberta, e assim como a criptografia, a esteganografia é usada desde os tempos antigos. A esteganografia permite que você pegue uma unidade de informações, como uma mensagem, uma imagem ou até mesmo um áudio, e esconda dentro de outro semelhante. Considere um exemplo simples: se você tem uma mensagem que quer enviar secretamente, você pode esconder as informações dentro de uma outra mensagem, de modo que ninguém, a não ser o destinatário pretendido, possa lê-la. Por exemplo se você quer dizer ao seu corretor de ações para comprar uma ação e sua mensagem precisa ser transmitida através de um canal inseguro, você pode enviar a mensagem CAMINHANDO OU MARCHANDO PARA RIO ENCANTADO. Se você combinou antecipadamente que sua mensagem está escondida nas primeiras letras de cada palavra, o corretor de ações separa as letras e lê COMPRE [11]. Uma aplicação mais popular da esteganografia são as marcas d água utilizadas para comprovação de propriedade. Outra aplicação por exemplo, seria fazer mudanças imperceptíveis em uma parte de uma música em uma frequência que não é audível para os seres humanos, para comprovação de propriedade, numa tentativa de evitar cópias não autorizadas Criptografia A criptografia surgiu da necessidade de se manter a privacidade e segurança das informações transmitidas através de meios de comunicação não confiáveis. A palavra de origem grega ( kriptos que significa escondido, oculto e grifo que significa grafia), representa a transformação de informação inteligível (texto plano ou texto claro) numa forma aparentemente ilegível (texto cifrado), a fim de ocultar as informações de pessoas não autorizadas, garantindo privacidade. A Criptografia é a ciência de tornar possível a comunicação segura entre dois agentes, sobre um canal aberto. Possui profundas raízes na Matemática e existe desde a antiguidade. Foi sempre uma ciência associada as atividades militares. Esta tendência acentuou-se no Século XX, nomeadamente durante a 1 a e 2 a Guerra Mundial e prolongou-se durante as primeiras décadas da Guerra Fria. Só no princípio dos anos 70 surgiu como área de pesquisa acadêmica. Hoje, a Criptografia e a sua utilização nos Sistemas de Informação modernos ganham cada vez mais importância. O processo para transformação de um texto plano em texto cifrado é chamado de algoritmo de codificação (uma sequência de operações lógicas), que funciona em conjunto com uma chave, 113

129 12.3 Mecanismos de Defesa Corá, M.A.A. que é um parâmetro que determina as condições da transformação. Várias chaves diferentes podem ser usadas em parceria com o mesmo algoritmo, porém para cada chave usada, o algoritmo retorna um resultado diferente. A transformação do texto cifrado em texto legível (processo inverso ao de codificação) utiliza um algoritmo de decodificação e uma chave correspondente à utilizada no processo de codificação. A utilização da mesma chave no processo de codificação e decodificação é chamada de criptografia simétrica (seção ) e o uso de diferentes chaves no processo de codificação e decodificação é chamado de criptografia assimétrica (seção ). A criptografia tem relatos de mais 100 anos a.c., desde os antigos tempos egípcios. Naquela época, as mensagens eram criptografadas a mão, usualmente com um método baseado nos caracteres alfabéticos da mensagem. Os dois métodos mais comuns de cifras eram as cifras por substituição e as cifras por transposição. Em uma cifra por substituição, todas as ocorrências de uma dada letra são substituídas por uma letra diferente. Júlio César foi talvez o pioneiro nesse tipo de cifragem, e usou sua famosa cifra de substituição para encriptar comunicações governamentais ou mensagens seguras aos militares. Para compor seu texto cifrado, César alterou letras desviando-as em duas posições: A se tornava C, B se tornava D, etc, como mostra a figura As vezes, César reforçava sua encriptação substituindo letras latinas por gregas. Atualmente denomina-se qualquer cifra baseada na substituição cíclica do alfabeto de Cifra de César. As cifras por substituição tem sido utilizadas até hoje apesar de representar um retrocesso em relação a criptografia existente na época. Texto Plano: CASA Texto Cifrado: ECUC Chave: Deslocamento de 2 posições em relação ao alfabeto. a b c d e f g h i j k l m n o p q r s t u v w x y z c d e f g h i j k l m n o p q r s t u v w x y z a b Figura 12.1: Cifra por substituição (Cifra de César) [14] Já, em uma cifra por transposição, a ordem das letras é deslocada, conforme a regra em questão, quer seja por ordem alfabética ou outra regra qualquer. Nestes métodos, cada caracter permanece inalterado, mas sua posição na mensagem é alterada de acordo com alguma regra ou função (que também podem estar baseadas em alguma chave). Por exemplo, em uma transposição colunar o texto é inicialmente escrito em linhas de tamanho fixo e depois rescrito percorrendo-se as colunas, como mostra a figura No exemplo da figura, o texto foi cifrado de acordo a ordem alfabética da palavra chave SENHA : PE A SÇ XOUIPROOMDARRNI E MFOAS EL C TPÃ Antes da era computacional, a maioria dos métodos de criptografia era orientado a caracteres, substituindo um caracter por outro ou trocando caracteres de posição. Os métodos mais seguros realizavam ambas operações, e de preferência várias vezes. Atualmente a complexidade aumentou e em vez de caracteres se trabalham com bits, mas os métodos básicos continuam a 114

130 12.3 Mecanismos de Defesa Corá, M.A.A. Figura 12.2: Cifra por Transposição ser utilizados. Note-se que todos os métodos da criptografia tradicional são sistemas simétricos, ou seja, utiliza-se para a decifragem a mesma chave da cifragem. Todas as técnicas de criptografia são fundamentadas na matemática, o exemplo das cifras de César é simples e pode ser resolvido rapidamente, existem outras técnicas baseadas em cálculos mais extensos, complicados e demorados para serem resolvidos Criptografia Simétrica ou de Chave Secreta É a metodologia que utiliza uma mesma chave para criptografar e para descriptografar. Para explicar o funcionamento da criptografia simétrica daremos um exemplo. Suponhamos que A queira enviar uma mensagem codificada para B. Quando A cifra uma mensagem, ele utiliza um algoritmo de codificação e uma chave secreta para transformar um texto plano num texto cifrado. B, por sua vez, ao decifrar uma mensagem, utiliza o algoritmo de decodificação correspondente e a mesma chave para transformar o texto cifrado em um texto plano [18]. Figura 12.3: Criptografia Simétrica ou de Chave Privada[14] A criptografia simétrica apresenta pontos positivos e negativos. Seu ponto positivos é o fato de ser veloz no processo de codificação e decodificação, graças a velocidade dos seus algoritmos. No entanto, seu ponto negativo está na necessidade do processo de transmissão da chave, que pode tornar esse método vulnerável, isto porque, para que ambos os lados possam cifrar e decifrar as mensagens é necessários que ambos tenham conhecimento da chave secreta e para 115

131 12.3 Mecanismos de Defesa Corá, M.A.A. isso é necessário, por exemplo, que o transmissor envie anteriormente ou posteriormente a chave compartilhada para receptor. Resumindo, as principais características de um sistema de Criptografia Simétrico são: A mesma chave é usada para cifrar e decifrar a mensagem. A segurança do sistema depende da chave ser conhecida apenas pelos trocadores de mensagem. A chave secreta deve ser fornecida de alguma forma para o destinatário para que a mensagem possa ser decifrada. Um dos principais métodos de criptografia baseado em chave secreta é o DES (Data Encryption Standard), desenvolvido pela IBM em 1977 e adotado pelos EUA como método de criptografia padrão. O método DES codifica blocos de 64 bits de texto normal gerando 64 bits de texto cifrado e para isso utiliza uma chave de encriptação de 56 bits, o que resulta em cerca de 72 quadrilhões de combinações (2 56 ). Para um melhor entendimento sobre o funcionamento do algoritmo DES e sobre criptografia de modo geral, recomendo a leitura da literatura [4] Criptografia Assimétrica ou de Chave Pública É a metodologia que utiliza chaves diferentes, uma para criptografar e outra para descriptografar (Chave Pública). O problema de compartilhamento da chave secreta e de gerenciamento das chaves, que ocorre na criptografia simétrica, pode ser contornado com a utilização da criptografia assimétrica. O sistema de criptografia assimétrica fundamenta-se na existência de duas chaves, uma privada e outra pública. Neste caso, uma das chaves é de conhecimento público, e somente a outra é que deve ser mantida secreta. O problema de distribuição de chaves é eliminado, pois as chaves públicas podem circular livremente, e não existe nenhuma necessidade de enviar a chave secreta a qualquer outro participante do sistema. Portanto, trabalha-se com um par de chaves e as mensagens cifradas com uma das chaves do par só podem ser decifradas com a outra chave correspondente. A chave pública pode ser distribuída para qualquer interessado, enquanto que a chave privada somente deve ser de conhecimento do proprietário ou titular da chave. Resumindo, as principais características de um sistema de Criptografia Assimétrico são: Utiliza um par de chaves. Uma chave pública para cifrar a mensagem. Uma chave privada para decifrar a mensagem. A chave pública não é secreta. A chave privada é secreta. A chave pública deve ser distribuída para os usuários que desejarem enviar uma mensagem com segurança. 116

132 12.3 Mecanismos de Defesa Corá, M.A.A. Todavia, a Criptografia através de Chave Pública, apresenta o seguinte incoveniente: como saber se a chave pública realmente pertence ao usuário com o qual se quer comunicar? Para solucionar este problema, surgiu o conceito de Certificação das Chaves, que é um mecanismo para certificar que a chave realmente pertence a pessoa com quem se deseja comunicar, e normalmente se dá através de uma Autoridade Certificadora. O método de criptografia assimétrica mais amplamente utilizado atualmente, além de ser uma das mais poderosas formas de criptografia de chave pública conhecidas até o momento, é o RSA que possui este nome devido a seus inventores: Ron Rivest, Adi Shamir e Len Adleman que pertencem ao MIT (Massachusetts Institute of Technology). O RSA, além de ser uma poderosa forma de criptografia de chave pública conhecidas até o momento, é atualmente o algoritmo de chave pública mais utilizado em sistemas que envolvem o uso do par de chaves. Assim como todos os algoritmos de criptografia o RSA também é fundamentado na matemática, especificamente nos números primos. A estrutura do RSA pode ser resumida da seguinte forma: é fácil multiplicar dois números primos para obter um terceiro número, mas muito difícil recuperar os dois primos a partir daquele terceiro número. Isto é conhecido como fatoração. Por exemplo, os fatores primos de são 47 e 71. Gerar a chave pública envolve multiplicar dois primos grandes e qualquer um pode fazer isto. Derivar a chave privada a partir da chave pública envolve fatorar um grande número. Daí, se o número for grande o suficiente e bem escolhido, fica difícil fazer isto em uma quantidade de tempo razoável [18]. Para um melhor entendimento sobre o funcionamento do algoritmo RSA e sobre criptografia de modo geral, recomendo a leitura da literatura [4] Firewalls Um Firewall pode ser traduzido como parede de fogo, mas na informática este termo é utilizado para denominar uma máquina, cujo software seja capaz de tomar decisões em relação ao tráfego de rede, controlando todo o tráfego que passa por ela. Geralmente, um firewall fica localizado em um gateway entre duas redes (normalmente entre a Internet e a sua rede interna) e atua como uma barreira para impedir que informações sem autorizações saiam ou até mesmo entrem na rede, conforme mostra a figura Figura 12.4: Esquema simplificado de um Firewall Um firewall pode ser um PC, um roteador, uma estação de trabalho UNIX, ou até mesmo um hardware específico para firewall, desde que possua um software adequado para controle do tráfego que entra ou sai da rede, protegendo desta forma, a rede interna segura, de uma rede externa não confiável. Existem vários tipos de firewall, onde dentre estes, podemos citar como tipos de firewall, as máquinas que executam os seguintes serviços: 117

133 12.3 Mecanismos de Defesa Corá, M.A.A. Roteamento controlado por regras de análise do cabeçalho do pacote (filtro de pacotes ou firewall de passagem). Quando um pacote chega firewall de passagem, este extrai certas informações do cabeçalho do pacote e toma determinadas decisões de acordo com as regras do filtro. Podemos por exemplo, extrair as seguintes informações do cabeçalho do pacote: (Endereço IP de origem e destino, Porta de TCP/UDP de origem e destino, Tipo de mensagem ICMP, etc); Roteamento controlado por regras de análise de conteúdo de pacotes (filtro de análise de pacotes ou firewall de conteúdo); Roteamento mascarado controlado por regras de análise de URL (Proxy), veja seção Existem outros tipos de firewalls e muito mais conceitos envolvidos além dos apresentados aqui. Portanto, devido a grande extensão do assunto, sugiro a leitura de uma literatura mais específica como [10][4] Proxies Um proxy, normalmente está rodando em um servidor firewall ou qualquer outro servidor interno que tenha acesso total a internet. Assim sendo, os proxies adquirem as requisições dos usuários de serviços da Internet, e se estiverem de acordo com a política de segurança, passam as requisições para os respectivos serviços. Os proxies agem como gateways para os serviços, por essa razão, os proxies são conhecidos como Application-Level Gateways. Todo o fluxo de informação referente a Internet deve passar obrigatoriamente pelo proxy, pois ele é o responsável pela segurança na comunicação dos usuários e dos serviços disponíveis na Internet. O servidor Proxy, permite um alto nível de logs das transações de clientes, incluindo endereço IP, data e hora e URL. Qualquer campo em uma transação HTTP é um candidato para log. O administrador da rede, deve examinar regularmente todos os logs registrados e alarmes gerados pelo proxy. Outra característica interessante no serviço de Proxy, é que normalmente, o mesmo proxy é usado por todos os clientes em uma subrede, tornando possível para ele fazer caching eficiente de todos os documentos requisitados. Esta habilidade que o proxy tem no uso do cache, o torna atrativo para aqueles que não estão dentro do firewall. Sendo assim, torna-se simples a tarefa de configurar um grupo de trabalho inteiro para usar o serviço de cache do proxy. Isto reduz os custos com tráfego de rede (consumo de banda) porque muitos documentos que são requisitados são lidos do cache local, não necessitando a transferência através do link de Internet Wrappers Wrappers, é um termo que do Inglês significa envoltório, envolvedor, porém, na informática são programas que envolvem outros programas afim de alterar a maneira que estes operam. Estes programas são usados para controlar o acesso a outros programas e tem como objetivo o aumento de segurança no uso dos serviços da Internet como finger, telnet, ftp, e outros. Os wrappers registram logs dos resultados das checagens, guardando assim informações valiosas sobre ataque ou tentativas de ataques. 118

134 12.3 Mecanismos de Defesa Corá, M.A.A. Como principal exemplo de wrapper temos o TCP Wrapper, escrito por Wietse Venema, é um utilitário fácil de ser instalado e usado, com a função de interceptar, filtrar e aumentar o nível de detalhamento de logs. Funciona da seguinte forma: quando for solicitado alguma conexão, como por exemplo o telnet, ao invés do software original da conexão (o Inetd por exemplo) executar diretamente o programa responsável pelo telnet (o telnetd ), ele irá executar o wrapper, que fará uma série de validações e armazenará no log o IP do host que quer o serviço, dentre outras informações, para só então depois, executar o telnetd responsável pelo telnet. Agindo assim, o wrapper fica como um protetor, ou embrulho do programa original, verificando a origem da conexão, registrando o acesso e tomando ações pré-definidas. É preciso ressaltar que o processo wrapper fica completamente transparente para os diversos serviços de rede, não interage com o server nem com o cliente. Desta forma o wrapper fica independente de aplicação, permitido que funcione com diversos tipos e versões de programas de rede Sistemas de Detecção de Intrusão (IDS) Esses programas têm a função de detectar, em tempo real, movimentações características de um ataque, ou seja, qualquer mudança suspeita no comportamento da rede que pareça um padrão de ataque, e avisar imediatamente o administrador da rede, seja via , mensagem no terminal do administrador ou alarme sonoro. Alguns IDSs têm inclusive o recurso de solicitar o fechamento de determinadas portas no firewall. É mais um mecanismo útil que serve como suporte a tomada de decisões, e tem se mostrado um vasto campo para novas pesquisas. O conceito de Sistema de Detecção de Intrusão (IDS-Intrusion Detection System) surgiu em meados da década de 80, quando o governo americano passou a investir em pesquisas de desenvolvimento da tecnologia de detecção de intrusão, uma vez que eles precisavam realizar grandes auditorias em seus sistemas vitais em busca de atividades suspeitas, e muitas vezes levavam semanas para encontrar algo suspeito ou fora do padrão. A proposta era desenvolver um IDS que permitisse uma resposta em tempo-real a invasões de usuários externos e internos. Em suma, um Sistema de Detecção de Intrusão pode ser definido como um programa ou sistema, que está constantemente, em segundo plano, de maneira imperceptível para o usuário comum, monitorando o tráfego de uma rede de computadores a procura de indícios de invasões. Se acha-las, aciona as rotinas pré definidas pela organização a fim de tentar evitar o acesso. Existem atualmente, dois grandes grupos de técnicas: técnicas baseadas em comportamento e técnicas baseadas em assinaturas. O primeiro grupo, também conhecido por detecção por anomalia, baseia-se na análise do comportamento do sistema e na identificação de possíveis desvios, comparando o estado observado a um padrão de comportamento considerado normal. No outro grupo, também chamado de detecção por conhecimento ou de detecção por mau-uso, as técnicas buscam sequências de ações nitidamente caracterizadas como inválidas, registradas em uma base de dados que contém o conhecimento acumulado sobre ataques específicos e vulnerabilidades do sistema. Utilizado pela ampla maioria dos IDSs atuais, métodos baseados em assinaturas dividem as ações possivelmente desempenhadas no sistema em aceitáveis e não-aceitáveis. Tomando por base dados de diferentes fontes, como tráfego de rede ou registros de auditoria, essas técnicas comparam as ações em andamento com o seu conceito de aceitável ou não e alertam para violações dessa política. Dessa forma, o acesso local ao arquivo de senhas (/etc/passwd por exemplo), por um usuário com permissões de administrador (root, por exemplo), pode ser considerado como uma ação aceitável, enquanto um usuário remoto acessando o mesmo arquivo pode ser considerado um intruso. 119

135 12.3 Mecanismos de Defesa Corá, M.A.A. Por outro lado, as técnicas baseadas em comportamento, caracterizam o comportamento de partes do sistema como normal ou anormal. Podendo utilizar também diferentes grupos de dados, seja o tráfego de rede ou a carga de processamento da CPU, essas técnicas estabelecem para cada grupo um padrão de comportamento considerado normal, considerando horário, quantidade de dados, tipo de aplicações utilizadas, dentre outros, e criando um perfil de utilização do sistema. Esse perfil é usado para alertar aos administradores qualquer desvio de comportamento, caracterizando um possível ataque. Por exemplo, para um usuário que possui o hábito de utilizar o sistema somente em horário comercial e executar aplicativos simples como leitores de e navegadores, entrar no sistema às 4h da manhã e compilar uma dezena de programas é um forte indício de uma intrusão. Outras ferramentas poderiam utilizar a carga da rede em determinados horários ou a quantidade de requisições a um determinado serviço como subsídio para a caracterização de uma intrusão. Segue abaixo, algumas ferramentas utilizadas para IDS: Snort: pode ser considerado como um dos IDSs mais utilizados atualmente, está disponível para plataformas UNIX ou Windows e a distribuição é livre, ou seja, é distribuído sob a licença GPL ( Bro: desenvolvido pelo Lawrence Berkeley National Laboratory, disponíveis para FreeBSD, Solaris e Linux. Distribuição livre ( EMERALD: (Event Monitoring Enabling Response to Anomalous Live Disturbance), desenvolvido pela SRI International, possui uma arquitetura distribuída, projetado para redes de larga escala. RealSecure: Desenvolvido pela ISS (Internet Security System), tem grande aceitação no mercado, disponível para plataformas WinNT. NIDES: (Next-Generation Intrusion Detection Expert System), foi o primeiro IDS a ser desenvolvido, no entanto ele possui uma grande capacidade de trabalhar em um ambiente distribuído, trocando informação com um gerente central via RPC (Remote Procedure Call) Certificados Digitais O Certificado digital é um documento eletrônico que pode ser usado para identificar um indivíduo, um servidor, uma companhia, ou qualquer outra entidade e associar este indivíduo com uma chave pública [18]. Um certificado digital serve para, na Internet ou em uma rede local, verificar se uma entidade é quem ela realmente diz ser. Pode-se dizer que um certificado digital é uma carteira de identidade virtual, e como qualquer documento válido ele precisa ser emitido por uma autoridade confiável, uma Autoridade Certificadora. Os Certificados Digitais não são todos idênticos, existem vários tipos de Certificados Digitais e a tendência é que eles aumentem, pois a medida que novas aplicações surgem é necessário criar Certificados Digitais com particularidades específicas para atender a demanda. Desta maneira, os Certificados Digitais que se podem emitir variam de acordo com a sua funcionalidade, destino e uso. Os mais comuns são: Certificados Pessoais: Emitidos para os usuários físicos ou jurídicos. Servem para identificação, correio eletrônico, assinatura digital, criptografia de dados, criptografia de arquivos e criptografia de documentos; 120

136 12.3 Mecanismos de Defesa Corá, M.A.A. Certificados de Servidores: Utilizado para autenticação do servidor, privacidade da Informação e integridade da informação; Certificados para Entidades: Servem para certificar entidades certificadoras; Certificados de Softwares: Utilizados para garantir ao usuário (que vai utilizar um determinado software) a validade e a garantia da procedência. A Autoridade Certificadora é uma entidade de confiança responsável pela administração dos certificados digitais através da emissão, revogação e renovação dos mesmos. Ela existe para estabelecer uma relação de segurança entre as partes envolvidas numa transação e atestar a validade e a autenticidade dos Certificados Digitais usados na rede. As Autoridades Certificadoras são dispostas de maneira hierárquica e seguem ou atendem a legislação do país onde operam. Elas podem ser empresas especializadas prestadoras de serviços, entidades governamentais ou organizações que utilizam softwares capazes de emitir certificados. Um exemplo deste último são empresas de médio ou grande porte que emitem Certificados Digitais usados dentro da própria empresa pelos seus funcionários [18] Verificadores de Senhas Verificadores de senha tem um objetivo simples e direto: tentar quebrar as senhas escolhidas pelos usuários. A idéia básica é analisar antecipadamente se uma senha escolhida por usuário de sua rede é uma senha fraca ou não. Entende-se por fraca, uma senha fácil de ser quebrada, como por exemplo: login=joão / senha=joão, ou ainda, senhas com números sequenciais, datas de nascimento, e outras. Vale lembrar que todo hacker possui um vasto arsenal de programas para quebrar senhas, portanto se nos anteciparmos, talvez seja possível evitar esse incidente. Ao adotar este procedimento, o administrador terá condições de solicitar a mudança de senha para seu usuário, e tomar algumas medidas como adotar alguma outra ferramenta para obrigar a utilização de senhas mais difíceis. A importância de aperfeiçoar os controles de acesso é enorme. Um grande número de invasões ocorre justamente pelo uso de senhas triviais. Uma vez instalado no sistema, um verificador de senhas deve ser executado regularmente. O verificador de senhas mais conhecido e utilizado é o Crack, escrito por Alec Muffet Analisadores de Logs Os analisadores de logs, tem por objetivo facilitar a análise de arquivos de logs e realizar logs mais detalhados, além de simples combinações de comandos, como por exemplo através do comando grep em sistemas Unix. Administrar a segurança de um sistema é basicamente acompanhar todos os acontecimentos do dia a dia. Através deles é possível descobrir um ataque em andamento ou tentativas de invasão [13]. A maior dificuldade de realizar essa tarefa de maneira sistemática decorre da imensa quantidade de informação gerada pelos eventos diários de um sistema. Separar os dados relevantes dos comuns é algo que requer muito tempo e atenção [13]. Numa tentativa de automatizar isso tudo, temos os analisadores de logs, que através de uma configuração muito flexível, essas ferramentas, permitem a procura de certas ocorrências, como tentativas de logins, e a tomada de ações, como envio de mails ou interrupção de algum 121

137 12.3 Mecanismos de Defesa Corá, M.A.A. serviço. Essa procura de padrões é feita nos arquivos de log do sistema, simultaneamente ou após a coleta dos registros. Os analisadores de logs mais conhecidos e utilizados são: o Swatch (Simple Watcher), o Netlog, o LogSurfer, o LogAnalyzer, o Analog e muitos outros Ferramentas de Auditoria Existe uma lista muito grande de pacotes de softwares na área de segurança em redes de computadores. Dentre estes, as ferramentas de auditoria, também conhecidos como scanners de invasão, tem sido amplamente utilizadas pelos administradores de redes para identificar vulnerabilidades e revelar falhas na segurança da rede. Além de informações como estrutura topológica, serviços de rede que estão rodando, tipos de hardware e software usados na rede, essas ferramentas podem obter informações sobre o estado do sistema, permitindo monitorar o seu nível de segurança. Algumas, constituem verdadeiros pacotes de auditoria e checam furos de segurança bem conhecidos. Verificam as versões dos softwares, as falhas de configurações, e outros aspectos relevantes, para subconjuntos significativos de vulnerabilidades. Porém, algumas dessas ferramentas vem sendo muito criticadas. O problema é que algumas ferramentas, não necessitam de privilégios de root para rodar e desta forma, qualquer usuário pode detectar as falhas do sistema. Assim, estas ferramentas são muito utilizadas por intrusos, para descobrir os furos do sistema alvo. Segue aqui, uma pequena relação de algumas das principais ferramentas utilizadas atualmente: SATAN (Security Analysis Tool for Auditing Network), que pode ser adquirido através do site: ( SAINT (Security Administrator Integrated Network Tool), COPS (Computer Oracle and Password Program), ISS (Internet Security Scanner) e Nessus ( Honeypots e Honeynets O uso de armadilhas é uma técnica amplamente usada na detecção e estudo de ataques de diversos tipos. Consiste na utilização de iscas, que geralmente são máquinas em ambientes bem controlados para serem invadidas e exploradas por atacantes. A partir das informações coletadas em tais ambientes é possível conhecer melhor o atacante, suas técnicas e em muitos casos chegar a sua identificação. Honeypots e Honeynets são recursos de segurança criados para serem sondados, atacados ou comprometidos por um atacante. Podem ser utilizados para distrair atividade maliciosa de máquinas valiosas da rede ou como mecanismo de alerta (honeypots de produção); ou ainda podem ser utilizados para monitoração de um ataque (honeypots de pesquisa). Tradicionalmente um honeypot é um único sistema conectado a uma rede. Este pode estar localizado em frente ao firewall ou atrás do firewall. Com a disposição do honeypot em frente ao firewall, ou seja, fora da rede, não existe risco para rede interna e também não é gerado logs do firewall e do IDS. Em caso de domínio do sistema pelos atacantes, não é possível controlar o tráfego, podendo colocar em risco outras redes. Por outro lado, o honeypot atrás do firewall (provavelmente na intranet) é normalmente implementado para descoberta de atacantes internos ou detectar configuração vulnerável de firewall. Se o honeypot for comprometido por um atacante externo, este terá acesso a toda rede, sem bloqueios do firewall. Um honeynet não é um sistema único, mas sim uma rede de sistemas e aplicativos múltiplos, projetada para ser comprometida e observada. Honeynet é um tipo de honeypot 122

138 12.3 Mecanismos de Defesa Corá, M.A.A. de alta interação, utilizada principalmente para pesquisa. É criado um ambiente que reflete uma rede de produção real, assim os riscos e vulnerabilidades descobertos serão os mesmos que existem em organizações comuns [19] Sistemas Biométricos Os sistemas biométricos fazem uso da Biometria, cujo dicionário traduz como sendo a Ciência que estuda a mensuração dos seres vivos. No entanto, nos últimos anos a biometria tem sido alvo de pesquisas na área segurança, principalmente pelo desenvolvimento de sistemas automáticos de verificação de identidade baseados em características físicas do usuário. Esses estudos têm como objetivo suprir deficiências de segurança das senhas, que podem ser reveladas ou descobertas. Um sistema biométrico é essencialmente um sistema de reconhecimento de padrões que faz a identificação de um indivíduo através da determinação da autenticidade de uma característica física. Tais sistemas, utilizam informações pessoais únicas tais como impressões digitais, voz, íris, face e palma da mão, para efeitos de autenticação do usuário ao sistema. Em qualquer circunstância em que seja necessária a identificação segura de um indivíduo, a tecnologia biométrica é a melhor escolha, devido a segurança e facilidade de utilização. Atualmente, tem-se intensificado o uso de sistemas biométricos, principalmente utilizando dispositivos de varredura de impressões digitais montados no teclado em vez de senhas para se conectar a sistemas, inclusive para acesso a web. Os sistemas que utiliza tecnologias biométricas realizam basicamente três passos para a realização de um processo de autenticação: 1 o passo: Capturar o dado biométrico (Coleta de Dados); 2 o passo: Analisar o dado biométrico capturado, e recapturá-lo caso necessário. Depois, processá-lo para criar uma amostra biométrica (Processamento de Sinais / Extração de Características); 3 o passo: Comparar a amostra biométrica (Comparação) com o modelo gerado e armazenado anteriormente no cadastramento (Armazenamento). Isto significa que o indivíduo a ser identificado deve estar fisicamente presente no ponto de identificação. Enfim, o uso de técnicas biométricas eliminam de vez a necessidade de memorização e utilização de senhas e cartões, mostrando ser uma forma de identificação mais confiável e cômoda. Quanto à natureza das características testadas pelos sistemas biométricos, existem duas vertentes principais: Aqueles que se baseiam no reconhecimento de características físicas, portanto únicas (Impressões digitais, Íris, Face, Geometria mãos, Dedos, palma, etc...); Aqueles que se baseiam em características comportamentais (Voz, Dinâmica de Digitação (Keystroke Dinamics), Assinatura, etc). 123

139 12.4 Protocolos de Segurança Corá, M.A.A. Sistemas Biométricos Físico Comportamento Digitais Olhos Mãos Faces Digitação Voz Assinatura Figura 12.5: Sistemas de reconhecimento Biométrico [20] 12.4 Protocolos de Segurança IPSec (IP Security) O IPSec (IP Security) é um protocolo de segurança desenvolvido pelo grupo de trabalho IP Security Protocol do IETF (Internet Engineering Task Force) em resposta aos desafios de segurança de redes. Em outras palavras, o IPSec é um protocolo que serve para autenticar e garantir a segurança dos dados que estão sendo transportados através do protocolo IP [22]. O objetivo é desenvolver mecanismos que forneçam proteção ao pacote IP e as aplicações que rodam sobre o protocolo IP, estabelecendo níveis de segurança para as comunicações. Foi desenvolvida para prover serviços de segurança de alta qualidade, baseados em criptografia, para o nível IP e/ou para as camadas superiores [14]. O IPSec é uma plataforma aberta formada por um conjunto de protocolos que provêm serviços de autenticação, integridade, controle de acesso e confidencialidade na camada de rede IP, tanto em ambientes IPv4 como em ambientes IPv6 (o IPSec é um componente obrigatório do IPv6). Assim, o IPSec e seus serviços podem ser utilizados por quaisquer protocolos das camadas superiores como TCP, UDP, BGP, etc[14]. A arquitetura IPSec é um pouco complexa e os assuntos referentes a mesma são muito extensos, portanto, recomendo a leitura de literaturas mais específicas sobre o assunto como [14][22][6] SSL (Secure Sockets Layer) O protocolo SSL (Secure Sockets Layer) foi desenvolvido pela Netscape Communications, mas é um protocolo não proprietário usado comumente para dar segurança a comunicações na Internet e na Web. O SSL vem junto com muitos browsers, incluindo o Netscape Communicator e o Microsoft Internet Explorer. Ele opera entre os protocolos de comunicação da arquitetura TCP/IP e o aplicativo [11]. O SSL criptografa todas as informações trocadas entre um servidor Web e os clientes, utilizando uma chaves de criptografia. O SSL tem portanto, a finalidade de proteger dados de qualquer aplicação que faça utilização dele, como por exemplo, o HTTP (mais frequentemente utilizado), o FTP e o Telnet. O HTTP utilizado em conjunto com o SSL é chamado de HTTPS, e faz uso da porta 443, já o ftp utilizado em conjunto com o SSL é chamado de SFTP (Secure File Transfer Protocol) e existem 124

140 12.4 Protocolos de Segurança Corá, M.A.A. aplicações como o SSH (Secure Shell Client) que utilizam o telnet em parceria com o SSL [18]. Figura 12.6: Uma transação Web através do protocolo HTTPS [18] O SSL é fundamental para transações comerciais através da Web que exigem um maior grau de segurança, principalmente em conjunto da utilização de certificados digitais. Mais detalhes sobre o protocolo SSL, podem ser encontradas nas literaturas [6][18][11]. 125

141 Apêndice A Utilitários de Rede Este apêndice tem por objetivo oferecer ao aluno uma aula prática, através de alguns utilitários de rede que podem ajudá-lo a verificar as configurações da interface, conhecer melhor a estrutura da rede, e também identificar problemas que possam ocorrer. Serão citados apenas alguns utilitários de rede, sendo que a maioria está disponível tanto para redes com sistema operacional Windows quanto para redes com sistema operacional Linux. Vale destacar, que todos os comandos podem ser executados através de linhas de comando, numa janela do DOS (ambiente Windows), ou de um terminal Shell (ambiente Linux). A.1 winipcfg No ambiente Windows temos vários comandos que retornam tanto o endereço lógico (endereço IP) quanto o endereço físico (endereço MAC) da sua interface de rede, além de outros dados importantes. Digo interface, e não do seu computador, pois temos que lembrar que os endereços são atribuídos às interfaces, portanto, se uma máquina possuir mais de uma interface de rede, certamente terá um endereço para cada. Vamos começar pelo comando winipcfg (figura A.1) que está disponível somente nos sistemas Windows 9x (95 ou 98) e possui a função de exibir as configurações da rede, como endereço lógico (IP), endereço físico (MAC), máscara de rede, gateway, entre outros dados. Figura A.1: Comando winipcfg para Windows 9x 126

142 A.2 ipconfig Corá, M.A.A. A.2 ipconfig Para sistemas Windows com tecnologia NT (Windows NT, 2000, ou 2003) existe o comando ipconfig. Este comando exibe toda configuração do IP e possui atributos conforme figura A.2: Figura A.2: Comando ipconfig /? Figura A.3: Comando ipconfig Figura A.4: Comando ipconfig /all 127

143 A.3 ifconfig - para ambiente LINUX Corá, M.A.A. A.3 ifconfig - para ambiente LINUX No Linux o comando mais comum para se verificar as configurações da interface de rede é o comando ifconfig, que pode ser executado a partir de uma janela do shell, conforme a figura A.5 Figura A.5: Comando ifconfig para Linux A.4 arp Logo em seguida, temos o comando arp (figura A.6) que exibe e modifica as tabelas de tradução de endereços IP para endereços físico usados pelo protocolo de resolução de endereços ARP. Vale lembrar que o comando arp também funciona em ambientes UNIX, conforme figura A.8. Figura A.6: Comando arp 128

144 A.5 ping Corá, M.A.A. Figura A.7: Comando arp -a A.5 ping Figura A.8: Comando arp -n [hostname ou IP] O utilitário ping (analogia com o jogo de ping-pong) presente em grande parte dos sistemas operacionais e equipamentos de redes, serve para verificar se um determinado destino é alcançável. O ping envia pacotes ICMP (Internet Control Message Protocol) tipo 8 código 0 (Echo Request), requisitando uma resposta do endereço destino, e este por sua vez responde através de um pacote semelhante mas com uma mensagem ICMP do tipo 0 código 0 (Echo Reply). Com isto, o ping consegue exibir uma série de informações interessantes, como por exemplo, o endereço IP de destino, a quantidade de bytes enviados, o tempo de resposta de cada pacote e o TTL (Time To Live ou Tempo de Vida) do pacote, veja figura A.9. O ping default do Windows sempre manda 4 pacotes, no Unix, ao contrário o ping funciona indefinidamente até o usuário cancelar com CTRL+C, esta função é feita pela opção -t no Windows. Este utilitário também auxilia verificar se a pilha de protocolos de seu próprio computador está funcionando corretamente. Para verificar isto, basta pingar o endereço (loopback) que é reservado para endereçar sua própria interface. Informações sobre a sintaxe do comando ping pode ser obtida digitando apenas ping na linha de comando do prompt. Todavia, segue abaixo o formato básico: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host list] [-k host list]] [-w timeout] endereço_destino 129

145 A.5 ping Corá, M.A.A. Os campos entre [ e ] são opcionais e suas funções são apresentadas abaixo: -t Pinga o endereço destino até que o processo seja interrompido (CTRL+C no Windows), ou para ver estatísticas e continuar, pressione CTRL+Break. Exemplo: ping -t a Pinga o endereço destino, dado o nome do host. Normalmente, a opção a é habilitada por default, isto é, não precisa-se digitar o a para se pingar um host a partir do nome. Exemplo: ping -a -n count Especifica o número de Echo Requests a ser enviado. Exemplo: ping -n l size Especifica o tamanho em bytes do Echo Request a ser enviado. Se o tamanho do ping (mensagem ICMP Echo Request) for maior que a MTU da camada de enlace da rede, o ping será fragmentado. No caso do IPv4, o campo Total Length tem 16 bits e portanto, o valor máximo desse parâmetro é Exemplo: ping -l f Seta o campo Dont Fragment (DF=1) do cabeçalho IPv4, não deixando que o datagrama seja fragmentado. A MTU da rede Ethernet é bytes, mas devido aos cabeçalhos das camadas inferiores (26 bytes da camada de enlace + 20 bytes do cabeçalho IP), não é possível enviar um ping com mais de bytes. Exemplo: ping -f -l i TTL Define o valor do campo TTL do cabeçalho IPv4. O valor máximo é 255. O valor default do ping no ambiente Windows é 32. Exemplo: ping -i 2 -v ToS Define o valor (em decimal) do campo ToS (Type of Service), composto pelos sub-campos Precedence, Delay, Throughput, Reliability e bits reservados no cabeçalho IPv4. Exemplo: ping -v Campos do ToS (em binário): Precedence = 111 (Network Control) Delay = 1 (Atraso baixo) Throughput = 1 (Alta vazão) Reliability = 1 (Confiabilidade alta) Bits reservados = 00 -j host list Sugere uma rota para o destino, mas a rota não precisa ser seguida exatamente. Exemplo: ping -j <IP do primeiro hop> [...] [IP do n-ésimo hop] <IP destino> -k host list Especifica uma rota para o destino, que deve ser seguida exatamente. Exemplo: ping -k <IP do primeiro hop> [...] [IP do n-ésimo hop] <IP destino> 130

146 A.6 traceroute Corá, M.A.A. -w timeout Especifica o tempo em milisegundos que o Echo Reply tem para ser recebido antes de dar timeout. Em outras palavras, especifica o tempo máximo que irá aguardar para cada resposta. Exemplo: ping -w C:\WINDOWS>ping Disparando contra lvs0.unicamp.br [ ] com32 bytes de dados: Resposta de :bytes=32 tempo= Esgotado o tempo limitedo pedido Resposta de :bytes=32 tempo= Resposta de :bytes=32 tempo= 14ms Tempo de vida=245 27ms Tempo de vida=245 28ms Tempo de vida=245 Estatísticas do Pingpara : Pacotes: Enviados= 4, Recebidos= 3, Perdidos= 1 (25% de perda), Temposaproximados deidaevolta emmilissegundos: Mínimo= 14ms,Máximo= 28ms,Média= 23ms Figura A.9: Comando ping A.6 traceroute O comando traceroute serve para exibir a rota por onde o datagrama passou até chegar ao destino. Dessa forma, é possível identificar problemas com roteamento, performance, identificação de gargalos, etc. No ambiente Windows o comando chama-se tracert devido a limitação de 8 bytes para nomes de arquivos, presente no sistema DOS. O formato geral do comando tracert (ou traceroute no Linux) é: tracert [-d] [-h maximum hops] [-j host list] [-w timeout] endereço_destino Os campos entre [ e ] são opcionais e suas funções são apresentadas abaixo: -d Mostra a rota por onde o datagrama passou, mas não descobre o nome dos hosts e gateways por onde ele passou. Exemplo: tracert -d -h maximum hops Especifica um número máximo de hops para tentar alcançar o destino. Exemplo: tracert h 5 -j host list Sugere uma rota para o destino, mas a rota não precisa ser seguida exatamente. Exemplo: tracert -j <IP do primeiro hop> [...] [IP do n-ésimo hop] <IP destino> -w timeout Especifica o tempo em milisegundos que cada hop tem para enviar a resposta antes de dar timeout. Exemplo: tracert w Normalmente, em ambientes Unix, como no caso do Linux, o comando traceroute oferece algumas opções extras como a opção -q 1 que serve para que o traceroute envie apenas um pacote a cada requisição, visto que o default são

147 A.7 nslookup Corá, M.A.A. A.6.1 Funcionamento do traceroute O utilitário traceroute faz uso de um campo presente no cabeçalho IPv4 chamado TTL (Time To Live) para conseguir exibir a rota por onde passa o datagrama até chegar ao destino. O campo TTL serve para determinar por quantas passagens em roteadores este pacote pode sobreviver, ou seja, quantos hops o datagrama pode dar. A cada hop, o roteador decrementa o campo em 1 (uma) unidade. Este mecanismo é utilizado para evitar que pacotes percorram a rede eternamente. Caso ocorra do roteador decrementar o campo TTL e este zerar antes de alcançar o destino, o roteador deverá retornar um pacote ICMP do tipo 11 código 0 (Time to Live Exceeded in Transit). É baseado nessa característica do protocolo que o utilitário traceroute se baseia para traçar uma rota entre dois pontos da rede. O traceroute pode utilizar tanto pacotes ICMP Echo Request (tipo 8 código 0) como pacotes UDP (mais comum), ambos encapsulados no pacote IP. Vamos supor que um determinado host (host 1) esteja separado de outro host (host 2) por dois roteadores, chamados router A e router B. A partir do host 1 é executado um traceroute para o host 2. O utilitário cria um pacote UDP destinado ao host 2, mas configura o seu TTL para 1 (um). O router A recebe este pacote e, apesar de saber para onde rotear o pacote, ao decrementar o TTL este torna-se 0 (zero) o que significa que este pacote deve ser descartado, retornando uma mensagem ICMP do tipo 11 código 0 (Time to Live Exceeded in Transit) para o host 1 (origem). Quando o host 1 recebe esta resposta ele tem o endereço do primeiro roteador, além do tempo gasto (ida e volta) pela mensagem até alcançar o roteador, e portanto o comando traceroute pode exibir esta informação ao usuário. Em seguida, a origem (host 1) cria outro pacote UDP, com o TTL igual a 2 (dois). O pacote sobrevive ao primeiro roteador mas é descartado no segundo, e este também retorna uma mensagem ICMP do tipo 11 código 0 (Time to Live Exceeded in Transit) para o host 1 (origem) que também mostrará essas informações na saída do traceroute. O passo seguinte é um pacote com TTL igual a 3, o qual alcança o destino final (host 2). Neste ponto vale destacar que os pacotes UDP são sempre enviados com uma porta de destino inválida, o que força que o host 2, ao receber o pacote, retornar uma mensagem ICMP do tipo 3 (Destination Unreachable - Destino Inalcançável), código 3 (Port Unreachable - Porta Inalcançável). Ao fim deste último passo, o traceroute sabe então o caminho completo entre dois hosts, e exibe uma mensagem ao usuário indicando que o rastreamento foi finalizado. Veja figura A.10. A.7 nslookup O nslookup é uma ferramenta utilizada para consultar os servidores de DNS (Domain Name Service) espalhados na Internet, ou seja, serve para traduzir nomes de domínio para os endereços IP correspondentes. Este utilitário permite a qualquer usuário consultar um servidor de nomes e recuperar qualquer informação conhecida por este servidor. É extremamente útil para identificar problemas com servidores de nomes, se estão configurados corretamente e também para obter informações fornecidas por servidores remotos. O nslookup ao contrário dos outros utilitários vistos até agora, oferece um prompt para o usuário digitar nomes de domínios para consulta, veja figura A.11. Para ter acesso as opções de comandos do utilitário nslookup, basta digitar help no prompt. 132

148 A.8 netstat Corá, M.A.A. C:\WINDOWS>tracertwww.sdsc.edu Rastreandoa rotaparawww.sdsc.edu[ ] comnomáximo30saltos: 1 <10 ms <10 ms <10 ms tebas.i2.com.br[ ] 2 2 ms 2 ms 1 mshardwick.i2.com.br[ ] ms 148 ms 210 msi2-gw.pop-mg.rnp.br[ ] ms 561 ms 666 msarrozdoce.pop -mg.com.br[ ] ms * 156 mscasadinho -a3.pop-mg.rnp.br[ ] ms 198 ms 362 msbb2.pop-mg.rnp.br[ ] ms 1093 ms 939 msborder1-serial2-2.newyork.cw.net[ ] ms 1167 ms 1161 mscore1-fddi-0.newyork.cw.net[ ] ms 2432 ms 2190 mscore1-hssi -3.WestOrange.cw.net[ ] ms 1198 ms 891 ms ms 857 ms 932 msatm5-0-1.nyc-bb9.cerf.net[ ] ms * 985 mspos m.nyc-bb8.cerf.net[ ] ms 619 ms 850 mspos m.chi-bb4.cerf.net[ ] ms 964 ms 912 msso m.dfw-bb2.cerf.net[ ] ms 1148 ms 1287 mspos m.lax-bb4.cerf.net[ ] ms 673 ms 687 msatm m.san-bb6.cerf.net[ ] 17 * 630 ms 656 mspos m.san-bb1.cerf.net[ ] ms 628 ms 633 mssdsc -gw.san-bb1.cerf.net[ ] ms 708 ms 643 ms medusa- atm.sdsc.edu[ ] ms 631 ms 690 mswww.sdsc.edu[ ] Rastreamentocompleto. Figura A.10: Comando tracert A.8 netstat Figura A.11: Comando nslookup O netstat serve para mostrar as conexões ativas atualmente com a máquina em questão. Ele lista na tela todas as conexões TCP/IP em andamento. Além disso, existe a opção -r que serve para mostrar o conteúdo da tabela de roteamento da sua estação. Essa tabela mostra para qual endereço cada pacote deve ser enviado em função do seu endereço IP. Desta forma, a máquina garante que o pacote será entregue para a máquina de destino corretamente. A saída é mostrada em 4 colunas. Na primeira está o protocolo, na segunda o endereço da conexão na porta local. A terceira coluna mostra o endereço na máquina remota (o endereço da máquina e a porta TCP da conexão) e a quarta coluna mostra o estado da conexão (ESTABLISHED, LISTENING, CLOSE WAIT, etc). 133

149 A.8 netstat Corá, M.A.A. Figura A.12: Comando netstat. 134

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Rede é um conjunto de módulos processadores capazes de trocar informações e compartilhar recursos. O tipo de rede é definido pela sua área de abrangência, podemos classificar as redes

Leia mais

QUANDO TRATAMOS SOBRE MEIOS DE TRANSMISSÃO, DEVEMOS ENFATIZAR A EXISTÊNCIA DE DOIS TIPOS DESSES MEIOS, SENDO:

QUANDO TRATAMOS SOBRE MEIOS DE TRANSMISSÃO, DEVEMOS ENFATIZAR A EXISTÊNCIA DE DOIS TIPOS DESSES MEIOS, SENDO: CABEAMENTO DE REDE QUANDO TRATAMOS SOBRE MEIOS DE TRANSMISSÃO, DEVEMOS ENFATIZAR A EXISTÊNCIA DE DOIS TIPOS DESSES MEIOS, SENDO: MEIO FÍSICO: CABOS COAXIAIS, FIBRA ÓPTICA, PAR TRANÇADO MEIO NÃO-FÍSICO:

Leia mais

MÓDULO 4 Meios físicos de transmissão

MÓDULO 4 Meios físicos de transmissão MÓDULO 4 Meios físicos de transmissão Os meios físicos de transmissão são compostos pelos cabos coaxiais, par trançado, fibra óptica, transmissão a rádio, transmissão via satélite e são divididos em duas

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES Conteúdo 1 Topologia de Redes 5 Escalas 5 Topologia em LAN s e MAN s 6 Topologia em WAN s 6 2 Meio Físico 7 Cabo Coaxial 7 Par Trançado 7 Fibra Óptica 7 Conectores 8 Conector RJ45 ( Par trançado ) 9 Conectores

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Rede é um conjunto de módulos processadores capazes de trocar informações e compartilhar recursos. O tipo de rede é definido pela sua área de abrangência, podemos classificar as redes

Leia mais

Prática em Redes de Computadores. Meios de Transmissão. Prof. M.Sc. Eduardo Luzeiro Feitosa efeitosa@dcc.ufam.edu.br

Prática em Redes de Computadores. Meios de Transmissão. Prof. M.Sc. Eduardo Luzeiro Feitosa efeitosa@dcc.ufam.edu.br Prática em Redes de Computadores Meios de Transmissão Prof. M.Sc. Eduardo Luzeiro Feitosa efeitosa@dcc.ufam.edu.br Sumário Introdução Meios de Transmissão Cabo coaxial Cabo Par Trançado Fibra Óptica Interferências

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Teoria e Prática Douglas Rocha Mendes Novatec Sumário Agradecimentos...15 Sobre o autor...15 Prefácio...16 Capítulo 1 Introdução às Redes de Computadores...17 1.1 Introdução... 17

Leia mais

Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira

Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira 1. Introdução 1.1 - Meios de Transmissão e Topologias 1.2 - Classificação das Redes 1.3 - Métricas de Desempenho 1.4 - Fatores que Impactam no Desempenho

Leia mais

REDE DE COMPUTADORES

REDE DE COMPUTADORES SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL REDE DE COMPUTADORES Tecnologias de Rede Topologias Tipos de Arquitetura Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 REDES LOCAIS LAN -

Leia mais

Tecnologia e Infraestrutura. Conceitos de Redes

Tecnologia e Infraestrutura. Conceitos de Redes Tecnologia e Infraestrutura Conceitos de Redes Agenda Introdução às Tecnologias de Redes: a) Conceitos de redes (LAN, MAN e WAN); b) Dispositivos (Hub, Switch e Roteador). Conceitos e tipos de Mídias de

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - MODELO DE REFERÊNCIA TCP (RM TCP) 1. INTRODUÇÃO O modelo de referência TCP, foi muito usado pela rede ARPANET, e atualmente usado pela sua sucessora, a Internet Mundial. A ARPANET é de grande

Leia mais

Centro Federal de Educação Tecnológica CEFET/BA

Centro Federal de Educação Tecnológica CEFET/BA Centro Federal de Educação Tecnológica CEFET/BA Disciplina: Redes de Computadores Prof.: Rafael Freitas Reale Aluno: Data / / Prova Final de Redes Teoria Base 1) Qual o tipo de ligação e a topologia respectivamente

Leia mais

Redes de Computadores. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br

Redes de Computadores. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Redes de Computadores Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Open Systems Interconnection Modelo OSI No início da utilização das redes de computadores, as tecnologias utilizadas para a comunicação

Leia mais

REDE DE COMPUTADORES

REDE DE COMPUTADORES SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL REDE DE COMPUTADORES Tecnologias de Rede Arquitetura Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 A arquitetura de redes tem como função

Leia mais

09/06/2011. Profª: Luciana Balieiro Cosme

09/06/2011. Profª: Luciana Balieiro Cosme Profª: Luciana Balieiro Cosme Revisão dos conceitos gerais Classificação de redes de computadores Visão geral sobre topologias Topologias Barramento Anel Estrela Hibridas Árvore Introdução aos protocolos

Leia mais

Revisão. Karine Peralta karine.peralta@pucrs.br

Revisão. Karine Peralta karine.peralta@pucrs.br Revisão Karine Peralta Agenda Revisão Evolução Conceitos Básicos Modelos de Comunicação Cliente/Servidor Peer-to-peer Arquitetura em Camadas Modelo OSI Modelo TCP/IP Equipamentos Evolução... 50 60 1969-70

Leia mais

TI Aplicada. Aula 05 Redes de Computadores (parte 2) Prof. MSc. Edilberto Silva edilms@yahoo.com http://www.edilms.eti.br

TI Aplicada. Aula 05 Redes de Computadores (parte 2) Prof. MSc. Edilberto Silva edilms@yahoo.com http://www.edilms.eti.br TI Aplicada Aula 05 Redes de Computadores (parte 2) Prof. MSc. Edilberto Silva edilms@yahoo.com http://www.edilms.eti.br Conceitos Básicos Equipamentos, Modelos OSI e TCP/IP O que são redes? Conjunto de

Leia mais

UTP ( PAR TRANÇADO SEM PROTEÇÃO)

UTP ( PAR TRANÇADO SEM PROTEÇÃO) Par Trançado UTP ( PAR TRANÇADO SEM PROTEÇÃO) O cabo UTP é composto por pares de fios, sendo que cada par é isolado um do outro e todos são trançados juntos dentro de uma cobertura externa, que não possui

Leia mais

Redes de Computadores. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Redes de Computadores. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Redes de Computadores Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com 2/16 Nível Físico Tem a função de transmitir uma seqüência de bits através de um canal e comunicação. Este nível trabalha basicamente

Leia mais

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta Protocolo O que é um protocolo? Humano: que horas são? eu tenho uma pergunta Máquina: Definem os formatos, a ordem das mensagens enviadas e recebidas pelas entidades de rede e as ações a serem tomadas

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Cabeamento Gustavo Reis gustavo.reis@ifsudestemg.edu.br Os cabos são usados como meio de comunicação há mais de 150 anos. A primeira implantação em larga escala de comunicações via

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Rede é um conjunto de módulos processadores capazes de trocar informações e compartilhar recursos. O tipo de rede é definido pela sua área de abrangência, podemos classificar as redes

Leia mais

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede Interconexão de redes locais Existência de diferentes padrões de rede necessidade de conectá-los Interconexão pode ocorrer em diferentes âmbitos LAN-LAN LAN: gerente de um determinado setor de uma empresa

Leia mais

Aula 6 Modelo de Divisão em Camadas TCP/IP

Aula 6 Modelo de Divisão em Camadas TCP/IP Aula 6 Modelo de Divisão em Camadas TCP/IP Camada Conceitual APLICATIVO TRANSPORTE INTER-REDE INTERFACE DE REDE FÍSICA Unidade de Dados do Protocolo - PDU Mensagem Segmento Datagrama /Pacote Quadro 01010101010100000011110

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Profº Alexsandro M. Carneiro alexsandro@ucdb.br Bacharelado em Sistemas de Informação AULA 06 Bacharelado em Sistemas de Informação UCBD SG - 2005 Tópicos Abordados Camada Física:

Leia mais

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br FACULDADE PITÁGORAS DISCIPLINA FUNDAMENTOS DE REDES REDES DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Material elaborado com base nas apresentações

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Cabeamento Fabricio Breve Um dos primeiros tipos de cabos utilizados em rede Possui dois fios, sendo um uma malha que envolve o cabo em toda a sua extensão Essa malha funciona como

Leia mais

Evolução na Comunicação de

Evolução na Comunicação de Evolução na Comunicação de Dados Invenção do telégrafo em 1838 Código Morse. 1º Telégrafo Código Morse Evolução na Comunicação de Dados A evolução da comunicação através de sinais elétricos deu origem

Leia mais

Cap 01 - Conceitos Básicos de Rede (Kurose)

Cap 01 - Conceitos Básicos de Rede (Kurose) Cap 01 - Conceitos Básicos de Rede (Kurose) 1. Quais são os tipos de redes de computadores e qual a motivação para estudá-las separadamente? Lan (Local Area Networks) MANs(Metropolitan Area Networks) WANs(Wide

Leia mais

Assumiu em 2002 um novo desafio profissional como empreendedor e Presidente do Teleco.

Assumiu em 2002 um novo desafio profissional como empreendedor e Presidente do Teleco. O que é IP O objetivo deste tutorial é fazer com que você conheça os conceitos básicos sobre IP, sendo abordados tópicos como endereço IP, rede IP, roteador e TCP/IP. Eduardo Tude Engenheiro de Teleco

Leia mais

Meios Físicos de Transmissão

Meios Físicos de Transmissão Meios Físicos de Transmissão O meios de transmissão diferem com relação à banda passante, potencial para conexão ponto a ponto ou multiponto, limitação geográfica devido à atenuação característica do meio,

Leia mais

Redes de Computadores e Teleinformática. Zacariotto 4-1

Redes de Computadores e Teleinformática. Zacariotto 4-1 Redes de Computadores e Teleinformática Zacariotto 4-1 Agenda da aula Introdução Redes de computadores Redes locais de computadores Redes de alto desempenho Redes públicas de comunicação de dados Computação

Leia mais

Redes. Pablo Rodriguez de Almeida Gross

Redes. Pablo Rodriguez de Almeida Gross Redes Pablo Rodriguez de Almeida Gross Conceitos A seguir serão vistos conceitos básicos relacionados a redes de computadores. O que é uma rede? Uma rede é um conjunto de computadores interligados permitindo

Leia mais

Elementos ativos de rede e meios de transmissão. Eduardo Max A. Amaral Aula 5

Elementos ativos de rede e meios de transmissão. Eduardo Max A. Amaral Aula 5 Elementos ativos de rede e meios de transmissão Eduardo Max A. Amaral Aula 5 Hub Os hubs são dispositivos concentradores, responsáveis por centralizar a distribuição dos quadros de dados em redes fisicamente

Leia mais

REDES COMPONENTES DE UMA REDE

REDES COMPONENTES DE UMA REDE REDES TIPOS DE REDE LAN (local area network) é uma rede que une os micros de um escritório, prédio, ou mesmo um conjunto de prédios próximos, usando cabos ou ondas de rádio. WAN (wide area network) interliga

Leia mais

Universidade de Brasília

Universidade de Brasília Universidade de Brasília Introdução a Microinformática Turma H Redes e Internet Giordane Lima Porque ligar computadores em Rede? Compartilhamento de arquivos; Compartilhamento de periféricos; Mensagens

Leia mais

Faculdades NDA Sistemas de Informação Disciplina: Redes de Computadores Questionário de apoio ao Módulo I

Faculdades NDA Sistemas de Informação Disciplina: Redes de Computadores Questionário de apoio ao Módulo I Faculdades NDA Sistemas de Informação Questionário de apoio ao Módulo I 1) Cite alguns exemplos de aplicações de redes de computadores. 2) Cite alguns serviços que usam as redes de computadores como para

Leia mais

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas MÓDULO 5 Tipos de Redes 5.1 LAN s (Local Area Network) Redes Locais As LAN s são pequenas redes, a maioria de uso privado, que interligam nós dentro de pequenas distâncias, variando entre 1 a 30 km. São

Leia mais

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa 1ª Exercícios - REDES LAN/WAN INSTRUTOR: MODALIDADE: TÉCNICO APRENDIZAGEM DATA: Turma: VALOR (em pontos): NOTA: ALUNO (A): 1. Utilize 1 para assinalar os protocolos que são da CAMADA DE REDE e 2 para os

Leia mais

Cabeamento Estruturado

Cabeamento Estruturado CabeamentoEstruturado Compostoporseiselementos: CabeamentoHorizontal(HorizontalCabling); CabeamentoBackbone(BackboneDistribution); ÁreadeTrabalho(WorkArea); SaladeTelecomunicações(TelecommunicationsRoom

Leia mais

Tecnologia da Informação e Comunicação. Euber Chaia Cotta e Silva

Tecnologia da Informação e Comunicação. Euber Chaia Cotta e Silva Tecnologia da Informação e Comunicação Euber Chaia Cotta e Silva Redes e a Internet Conceitos Básicos 01 Para que você possa entender o que é e como funciona a Internet é necessário primeiro compreender...

Leia mais

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural Arquitetura e Protocolos de Rede TCP/IP Modelo Arquitetural Motivação Realidade Atual Ampla adoção das diversas tecnologias de redes de computadores Evolução das tecnologias de comunicação Redução dos

Leia mais

Rede de Computadores

Rede de Computadores Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso

Leia mais

REDE DE COMPUTADORES

REDE DE COMPUTADORES REDE DE COMPUTADORES Tipos de classificação das redes de acordo com sua topologia Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 Ao longo da historia das redes, varias topologias foram

Leia mais

REDES DE COMPUTADORES - I UNI-ANHANGUERA CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF.

REDES DE COMPUTADORES - I UNI-ANHANGUERA CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF. 1 REDES DE COMPUTADORES - I UNI-ANHANGUERA CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF. MARCIO BALIAN E L A B O R A Ç Ã O : M Á R C I O B A L I A N / T I A G O M A

Leia mais

Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012

Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012 Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012 As redes de computadores possibilitam que indivíduos possam trabalhar em equipes, compartilhando informações,

Leia mais

P L A N O D E D I S C I P L I N A

P L A N O D E D I S C I P L I N A INSTITUTO FEDERAL DE SANTA CATARINA CAMPUS SÃO JOSÉ SC CURSO TÉCNICO EM TELECOMUNICAÇÕES / REDES DE COMPUTADORES P L A N O D E D I S C I P L I N A DISCIPLINA: Redes de Computadores Carga Horária: 95 HA

Leia mais

Fundamentos da Informática e Comunicação de Dados

Fundamentos da Informática e Comunicação de Dados Fundamentos da Informática e Comunicação de Dados Aula 07 Os direitos desta obra foram cedidos à Universidade Nove de Julho Este material é parte integrante da disciplina, oferecida pela UNINOVE. O acesso

Leia mais

Modelo de referência OSI. Modelo TCP/IP e Internet de cinco camadas

Modelo de referência OSI. Modelo TCP/IP e Internet de cinco camadas Modelo de referência OSI. Modelo TCP/IP e Internet de cinco camadas Conhecer os modelo OSI, e TCP/IP de cinco camadas. É importante ter um padrão para a interoperabilidade entre os sistemas para não ficarmos

Leia mais

CAMADA DE REDE. UD 2 Aula 3 Professor João Carneiro Arquitetura de Redes 1º e 2º Semestres UNIPLAN

CAMADA DE REDE. UD 2 Aula 3 Professor João Carneiro Arquitetura de Redes 1º e 2º Semestres UNIPLAN CAMADA DE REDE UD 2 Aula 3 Professor João Carneiro Arquitetura de Redes 1º e 2º Semestres UNIPLAN Modelo de Referência Híbrido Adoção didática de um modelo de referência híbrido Modelo OSI modificado Protocolos

Leia mais

Protocolos de Redes Revisão para AV I

Protocolos de Redes Revisão para AV I Protocolos de Redes Revisão para AV I 01 Aula Fundamentos de Protocolos Conceituar protocolo de rede; Objetivos Compreender a necessidade de um protocolo de rede em uma arquitetura de transmissão entre

Leia mais

Administração de Sistemas de Informação Gerenciais

Administração de Sistemas de Informação Gerenciais Administração de Sistemas de Informação Gerenciais UNIDADE V: Telecomunicações, Internet e Tecnologia Sem Fio. Tendências em Redes e Comunicações No passado, haviam dois tipos de redes: telefônicas e redes

Leia mais

Davidson Rodrigo Boccardo flitzdavidson@gmail.com

Davidson Rodrigo Boccardo flitzdavidson@gmail.com Fundamentos em Sistemas de Computação Davidson Rodrigo Boccardo flitzdavidson@gmail.com Camada Física Primeira cada do modelo OSI (Camada 1) Função? Processar fluxo de dados da camada 2 (frames) em sinais

Leia mais

Fernando Albuquerque - fernando@cic.unb.br REDES LAN - WAN. Fernando Albuquerque (061) 273-3589 fernando@cic.unb.br

Fernando Albuquerque - fernando@cic.unb.br REDES LAN - WAN. Fernando Albuquerque (061) 273-3589 fernando@cic.unb.br REDES LAN - WAN Fernando Albuquerque (061) 273-3589 fernando@cic.unb.br Tópicos Modelos Protocolos OSI e TCP/IP Tipos de redes Redes locais Redes grande abrangência Redes metropolitanas Componentes Repetidores

Leia mais

TECNOLOGIA WEB INTERNET PROTOCOLOS

TECNOLOGIA WEB INTERNET PROTOCOLOS INTERNET PROTOCOLOS 1 INTERNET Rede mundial de computadores. Também conhecida por Nuvem ou Teia. Uma rede que permite a comunicação de redes distintas entre os computadores conectados. Rede WAN Sistema

Leia mais

Redes de Computadores. Prof. Késsia Marchi

Redes de Computadores. Prof. Késsia Marchi Redes de Computadores Prof. Késsia Marchi Redes de Computadores Redes de Computadores Possibilita a conexão entre vários computadores Troca de informação Acesso de múltiplos usuários Comunicação de dados

Leia mais

Aula 4. Pilha de Protocolos TCP/IP:

Aula 4. Pilha de Protocolos TCP/IP: Aula 4 Pilha de Protocolos TCP/IP: Comutação: por circuito / por pacotes Pilha de Protocolos TCP/IP; Endereçamento lógico; Encapsulamento; Camada Internet; Roteamento; Protocolo IP; Classes de endereços

Leia mais

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s: Tecnologia em Redes de Computadores Redes de Computadores Professor: André Sobral e-mail: alsobral@gmail.com Conceitos Básicos Modelos de Redes: O O conceito de camada é utilizado para descrever como ocorre

Leia mais

FICHA INFORMATIVA E DE TRABALHO MÓDULO 0773 - REDE LOCAL INSTALAÇÃO

FICHA INFORMATIVA E DE TRABALHO MÓDULO 0773 - REDE LOCAL INSTALAÇÃO CURSO EFA 2012 / 2013 Formando: Data: / / ÁREA/Assunto: Formador / Mediador: Avaliação Formando Formador FICHA INFORMATIVA E DE TRABALHO MÓDULO 0773 - REDE LOCAL INSTALAÇÃO Standard IEE 802 Para que as

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES 09/2013 Cap.3 Protocolo TCP e a Camada de Transporte 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores

Leia mais

Unidade 2.1 Modelos de Referência. Bibliografia da disciplina. Modelo OSI. Modelo OSI. Padrões 18/10/2009

Unidade 2.1 Modelos de Referência. Bibliografia da disciplina. Modelo OSI. Modelo OSI. Padrões 18/10/2009 Faculdade INED Unidade 2.1 Modelos de Referência Curso Superior de Tecnologia: Redes de Computadores Disciplina: Fundamentos de Redes Prof.: Fernando Hadad Zaidan 1 2 Bibliografia da disciplina Bibliografia

Leia mais

Capítulo 6 - Protocolos e Roteamento

Capítulo 6 - Protocolos e Roteamento Capítulo 6 - Protocolos e Roteamento Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 53 Roteiro (1 / 2) O Que São Protocolos? O TCP/IP Protocolos de Aplicação Protocolos de Transporte Protocolos

Leia mais

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de 2007 - Página

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de 2007 - Página Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento IP 1 História e Futuro do TCP/IP O modelo de referência TCP/IP foi desenvolvido pelo Departamento de Defesa dos Estados Unidos (DoD). O DoD exigia

Leia mais

Unidade 2.1 Modelos de Referência

Unidade 2.1 Modelos de Referência Faculdade INED Curso Superior de Tecnologia: Banco de Dados Redes de Computadores Disciplina: Redes de Computadores Prof.: Fernando Hadad Zaidan 1 Unidade 2.1 Modelos de Referência 2 Bibliografia da disciplina

Leia mais

Administração de Sistemas de Informação I

Administração de Sistemas de Informação I Administração de Sistemas de Informação I Prof. Farinha Aula 03 Telecomunicações Sistemas de Telecomunicações 1 Sistemas de Telecomunicações Consiste de Hardware e Software transmitindo informação (texto,

Leia mais

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Informática I Aula 22 http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Critério de Correção do Trabalho 1 Organização: 2,0 O trabalho está bem organizado e tem uma coerência lógica. Termos

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

Mídias Físicas Utilizadas Cabo Coaxial e Par Trançado. Prof. Alexandre Beletti Ferreira

Mídias Físicas Utilizadas Cabo Coaxial e Par Trançado. Prof. Alexandre Beletti Ferreira Mídias Físicas Utilizadas Cabo Coaxial e Par Trançado Prof. Alexandre Beletti Ferreira Cabo Coaxial COMPOSTO POR: Fio de cobre rígido que forma o núcleo Envolto por um material isolante, O isolante, por

Leia mais

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação AULA 01 INTRODUÇÃO Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação CONCEITO Dois ou mais computadores conectados entre si permitindo troca de informações, compartilhamento de

Leia mais

09/08/2015 DISCIPLINA: TECNOLOGIA DE REDES DE COMPUTADORES. Tecnologia em Jogos Digitais. Mídias (meios) de transmissão

09/08/2015 DISCIPLINA: TECNOLOGIA DE REDES DE COMPUTADORES. Tecnologia em Jogos Digitais. Mídias (meios) de transmissão Tecnologia em Jogos Digitais Mídias (meios) de transmissão DISCIPLINA: TECNOLOGIA DE REDES DE COMPUTADORES Mídias físicas: composta pelo cabeamento e outros elementos componentes utilizados na montagem

Leia mais

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

O modelo ISO/OSI (Tanenbaum,, 1.4.1) Cenário das redes no final da década de 70 e início da década de 80: Grande aumento na quantidade e no tamanho das redes Redes criadas através de implementações diferentes de hardware e de software Incompatibilidade

Leia mais

Prof. Samuel Henrique Bucke Brito

Prof. Samuel Henrique Bucke Brito - Metro-Ethernet (Carrier Ethernet) www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito - Ethernet na LAN www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

RCO2. LANs, MANs e WANs Visão geral

RCO2. LANs, MANs e WANs Visão geral RCO2 LANs, MANs e WANs Visão geral 1 LAN, MAN e WAN Classificação quanto a alcance, aplicação e tecnologias Distâncias: WAN: : distâncias arbitrariamente longas MAN: : distâncias médias (urbanas) LAN:

Leia mais

Capítulo 2 - Conceitos Básicos de Redes. Associação dos Instrutores NetAcademy - agosto de 2007 - Página

Capítulo 2 - Conceitos Básicos de Redes. Associação dos Instrutores NetAcademy - agosto de 2007 - Página Capítulo 2 - Conceitos Básicos de Redes 1 Redes de Dados Inicialmente o compartilhamento de dados era realizado a partir de disquetes (Sneakernets) Cada vez que um arquivo era modificado ele teria que

Leia mais

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto Introdução Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 1. Introdução i. Conceitos e Definições ii. Tipos de Rede a. Peer To Peer b. Client/Server iii. Topologias

Leia mais

Linhas de transmissão

Linhas de transmissão Linhas de transmissão 1 - Introdução Linha de transmissão é um termo genérico utilizado para referenciar qualquer tipo de meio físico construído para transmissões de sinais elétricos ou óticos. No setor

Leia mais

Professor: Gládston Duarte

Professor: Gládston Duarte Professor: Gládston Duarte INFRAESTRUTURA FÍSICA DE REDES DE COMPUTADORES Computador Instalação e configuração de Sistemas Operacionais Windows e Linux Arquiteturas físicas e lógicas de redes de computadores

Leia mais

REDES DE COMPUTADORES - I UNI-ANHANGUERA. CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF. MARCIO BALIAN

REDES DE COMPUTADORES - I UNI-ANHANGUERA. CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF. MARCIO BALIAN 1 REDES DE COMPUTADORES - I UNI-ANHANGUERA. CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF. MARCIO BALIAN 2 INTERFACE E CABEAMENTO DE REDES - Parte física da rede - Cabeamento - Placas de rede (interfaces)

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

TOPOLOGIAS. Em redes de computadores modernos a transmissão de dados não ocorre através de bits contínuos.

TOPOLOGIAS. Em redes de computadores modernos a transmissão de dados não ocorre através de bits contínuos. TOPOLOGIAS Fundamentos de Redes Prof. Marcel Santos Silva Pacotes Em redes de computadores modernos a transmissão de dados não ocorre através de bits contínuos. Os dados são divididos em pequenos blocos

Leia mais

Equipamentos de Rede

Equipamentos de Rede Equipamentos de Rede Professor Carlos Gouvêa SENAIPR - Pinhais 2 Introdução Objetivos Finalidade dos equipamentos Equipamentos e descrição Nomenclatura de desenho técnico para redes Exercício de orientação

Leia mais

Voltar. Placas de rede

Voltar. Placas de rede Voltar Placas de rede A placa de rede é o dispositivo de hardware responsável por envio e recebimento de pacotes de dados e pela comunicação do computador com a rede. Existem placas de rede on-board(que

Leia mais

19/07/2013. Camadas. Camadas de Enlace e Física. Camadas de Enlace e Física. Topologias de Rede NOÇÕES DE REDE: CAMADAS DE ENLACE E FÍSICA

19/07/2013. Camadas. Camadas de Enlace e Física. Camadas de Enlace e Física. Topologias de Rede NOÇÕES DE REDE: CAMADAS DE ENLACE E FÍSICA 2 Camadas NOÇÕES DE REDE: CAMADAS DE ENLACE E FÍSICA Introdução à Microinformática Prof. João Paulo Lima Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática Aplicação Transporte

Leia mais

CCNA 1 Modelos OSI e TCP/IP. Kraemer

CCNA 1 Modelos OSI e TCP/IP. Kraemer CCNA 1 Modelos OSI e TCP/IP Modelos OSI e TCP/IP Modelo em camadas Modelo OSI Modelo TCP/IP Comparação dos modelos Endereçamento de rede Modelo de camadas Encapsulamento Desencapsulamento Modelo OSI Sistema

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Vejamos, então, os vários tipos de cabos utilizados em redes de computadores:

Vejamos, então, os vários tipos de cabos utilizados em redes de computadores: Classificação quanto ao meio de transmissão Os meios físicos de transmissão são os cabos e as ondas (luz, infravermelhos, microondas) que transportam os sinais que, por sua vez, transportam a informação

Leia mais

Camadas da Arquitetura TCP/IP

Camadas da Arquitetura TCP/IP Camadas da Arquitetura TCP/IP A arquitetura TCP/IP divide o processo de comunicação em quatro camadas. Em cada camada atuam determinados protocolos que interagem com os protocolos das outas camadas desta

Leia mais

Comunicação de Dados. Aula 9 Meios de Transmissão

Comunicação de Dados. Aula 9 Meios de Transmissão Comunicação de Dados Aula 9 Meios de Transmissão Sumário Meios de Transmissão Transmissão guiada Cabo par trançado Coaxial Fibra ótica Transmissão sem fio Ondas de rádio Micro ondas Infravermelho Exercícios

Leia mais

III.2. CABLE MODEMS CARACTERÍSTICAS BÁSICAS UNIDADE III SISTEMAS HÍBRIDOS

III.2. CABLE MODEMS CARACTERÍSTICAS BÁSICAS UNIDADE III SISTEMAS HÍBRIDOS 1 III.2. CABLE MODEMS III.2.1. DEFINIÇÃO Cable modems são dispositivos que permitem o acesso em alta velocidade à Internet, através de um cabo de distribuição de sinais de TV, num sistema de TV a cabo.

Leia mais

Revisão. 1.1 Histórico 1.2 Protocolo 1.3 Classificação 1.4 Lan 1.5 Wan

Revisão. 1.1 Histórico 1.2 Protocolo 1.3 Classificação 1.4 Lan 1.5 Wan Tecnologia Revisão 1.1 Histórico 1.2 Protocolo 1.3 Classificação 1.4 Lan 1.5 Wan Comunicação de Dados As redes de computadores surgiram com a necessidade de trocar informações, onde é possível ter acesso

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula Complementar - EQUIPAMENTOS DE REDE 1. Repetidor (Regenerador do sinal transmitido) É mais usado nas topologias estrela e barramento. Permite aumentar a extensão do cabo e atua na camada física

Leia mais

Exercícios de Redes de Computadores Assuntos abordados: Conceitos gerais Topologias Modelo de referência OSI Modelo TCP/IP Cabeamento 1.

Exercícios de Redes de Computadores Assuntos abordados: Conceitos gerais Topologias Modelo de referência OSI Modelo TCP/IP Cabeamento 1. Exercícios de Redes de Computadores Assuntos abordados: Conceitos gerais Topologias Modelo de referência OSI Modelo TCP/IP Cabeamento 1. (CODATA 2013) Em relação à classificação da forma de utilização

Leia mais

MÓDULO 8 Modelo de Referência TCP/IP

MÓDULO 8 Modelo de Referência TCP/IP MÓDULO 8 Modelo de Referência TCP/IP A internet é conhecida como uma rede pública de comunicação de dados com o controle totalmente descentralizado, utiliza para isso um conjunto de protocolos TCP e IP,

Leia mais

Arquiteturas de Redes Prof. Ricardo J. Pinheiro

Arquiteturas de Redes Prof. Ricardo J. Pinheiro Fundamentos de Redes de Computadores Arquiteturas de Redes Prof. Ricardo J. Pinheiro Resumo Arquiteturas de Redes Organizações de padronização Modelos de referência Modelo OSI Arquitetura IEEE 802 Arquitetura

Leia mais

Padrões de Rede 15/02/2014. Padrões de rede. Padrão Ethernet IEEE 802.3 802.3

Padrões de Rede 15/02/2014. Padrões de rede. Padrão Ethernet IEEE 802.3 802.3 Padrões de Rede Fundamentos de Redes de Computadores Prof. Marcel Santos Silva Padrões de rede Existem diversos padrões Ethernet, que são utilizados pela maioria das tecnologias de rede local em uso. Definem

Leia mais

Fundamentos de Redes de Computadores. Elementos de Redes Locais

Fundamentos de Redes de Computadores. Elementos de Redes Locais Fundamentos de Redes de Computadores Elementos de Redes Locais Contexto Implementação física de uma rede de computadores é feita com o auxílio de equipamentos de interconexão (repetidores, hubs, pontos

Leia mais

Prof. Edson Maia Graduado em Web Design e Programação Bacharel e Licenciado em Geografia Especialista em Gestão Ambiental Complementação para

Prof. Edson Maia Graduado em Web Design e Programação Bacharel e Licenciado em Geografia Especialista em Gestão Ambiental Complementação para Prof. Edson Maia Graduado em Web Design e Programação Bacharel e Licenciado em Geografia Especialista em Gestão Ambiental Complementação para Magistério Superior Especialista em Docência para Educação

Leia mais