Baixe o app para aproveitar ainda mais
Prévia do material em texto
FUNDAMENTOS DE REDES DE COMPUTADORES (EEX0005/3629612) 1.0. – TEMA 01 – AULA 1.1. – INTRODUÇÃO A REDES DE COMPUTADORES E HISTÓRICO A Advanced Research Projects Agency Network (ARPANET; em português: Rede da Agência para Projetos de Pesquisa Avançada) foi uma rede de comutação de pacotes e a primeira rede a implementar o conjunto de protocolos TCP/IP. Ambas as tecnologias se tornaram a base técnica da Internet. Um dos conceitos fundamentais e inerentes às redes de computadores, que causou uma mudança de paradigma nas comunicações e foi um dos responsáveis pelo grande sucesso da Internet, é o paradigma da comutação de pacotes. COMUTAÇÃO DE CIRCUTOS - é necessário o estabelecimento prévio de um circuito físico entre a origem e o destino antes da transmissão da informação propriamente dita. Tomemos como exemplo a ilustração de uma conversa telefônica que utilize as redes tradicionais de telefonia fixa. Fase 1 – Estabelecimento de circuito; Fase 2 – Troca de dados usando o circuito estabelecido; Fase 3 – encerramento do circuito COMUTAÇÃO DE PACOTES - Na comutação de pacotes, não existem as fases 1 e 3 descritas anteriormente, que compreendem o estabelecimento prévio de um circuito antes da transmissão dos dados e a desconexão ou o encerramento do circuito estabelecido ao final da comunicação. A comutação de pacotes trouxe uma mudança de paradigma na comunicação de dados. REDES DEFINIDAS POR SOFTWARE - Dada a grande evolução e o crescimento das redes de computadores, essas estruturas passaram a integrar grande quantidade e diversidade de sistemas, equipamentos, dispositivos, enlaces e serviços, tornando as tarefas de gerência bastante complicadas e dispendiosas. As Redes Definidas por Software (SDN: Software Defined Networks) permitem programar o comportamento da rede de forma centralizada e controlada por meio de interfaces de programação abertas. Internet das coisas – Conceito de interconecção das coisas .... pcs, smartphones, tablets... entre outros. 1.2. – CLASSIFICAR AS REDES QUANTO À TIPOLOGIA, AOS MEIOS DE TRANSMISSÃO E À ÁREA DE COBERTURA As redes de computadores são constituídas de três componentes fundamentais: nós, enlaces e protocolos. • Nós - Os nós representam os sistemas finais ou sistemas intermediários que são interconectados em rede. • Enlaces - Os enlaces representam as ligações físicas entre os nós da rede, podendo empregar os mais diferentes meios de transmissão: fibra ótica, par trançado, cabo coaxial, transmissão em RF, micro- ondas, enlace satelital, etc. • Protocolos - Os protocolos implementam as regras de comunicação nas redes que organizam e controlam o fluxo de informação. Os protocolos automatizam a comunicação entre os nós e resolvem os problemas de transmissão, erros, controles, gerência, serviços e políticas de uso. CLASSIFICAÇÃO QUANTO À TOPOLOGIA A topologia de uma rede é representada pelo arranjo de ligação dos nós através dos enlaces. Essas ligações podem ocorrer das mais diversas formas, o que resulta em diferentes tipos de topologia. Vejamos alguns tipos de arranjos e os respectivos nomes dados às topologias: Barramento, Estrela, Anel(ring), Arvore, Ponto a Ponto e Mesh. A topologia de uma rede tem influência direta no seu desempenho e na sua robustez. A topologia distribuída apresenta uma maior tolerância a falhas do que as topologias descentralizadas e centralizadas. CLASSIFICAÇÃO QUANTO À ÁREA DE COBERTURA (ALCANCE) As redes de computadores podem também ser classificadas quanto à região ou área física em que são dispostas para prestarem serviços aos usuários. São classificadas sob diversas siglas, que detalharemos no vídeo a seguir: LAN, MAN, WAN, WLAN, WMAN, SAN e PAN. (LAN-WAN) <-(MAN-WMAN) <- (VAN-WVAN) CLASSIFICAÇÃO SEGUNDO O MEIO DE TRANSMISSÃO Podemos também classificar as redes em dois grandes grupos de acordo com o tipo de meio físico usado para interconectar os dispositivos: redes cabeadas ou redes sem fio. 1.3. – IDENTIFICAR AS CARACTERISTICAS E PECULIARIDADES DAS REDES SEM FIO A primeira transmissão de dados sem fio foi feita em 1970, na universidade do Havai, mais conhecida como ALOHAnet. A tecnologia dominante empregada em redes locais sem fio é a tecnologia WiFi, identificada pelo padrão IEEE 802.11. BS- Base station ( estação base) HANDOFF - Um dos objetivos das redes móveis celulares é oferecer mobilidade total aos usuários. Ao se movimentarem, os usuários podem trocar de célula de cobertura e, assim, trocar também de acesso a outra BS. Esse processo é conhecido como handoff. O handoff é totalmente despercebido pelos usuários e realizado automaticamente pela rede e pelos dispositivos móveis. Soluções de múltiplo acesso ao meio físico são empregadas tanto nas WLANs quanto nos uplinks de redes móveis celulares. Um dos objetivos do protocolo CSMA/CA é evitar a colisão entre os terminais durante as transmissões. Em uma BSS só pode existir um AP. O handoff garante o suporte à mobilidade em redes celulares. 2.0. – TEMA 02 – AULA 2.1. IDENTIFICAR O OBJETIVO DA DIVISÃO DA ESTRUTURA DAS REDES EM CAMADAS A internet é um conjunto de redes de computadores que permite a troca de informações entre dispositivos computacionais. Para que essa troca seja realizada de forma eficiente, devem ser estabelecidas regras de comunicação. Essas regras são os protocolos de rede, que devem garantir que a comunicação ocorra de forma confiável, segura, eficaz, no momento certo e para a pessoa certa. Modelo em camadas A internet é um conjunto de redes de computadores que permite a troca de informações entre dispositivos computacionais. Protocolos de rede, que são regras que devem garantir que a comunicação ocorra de forma confiável, segura, eficaz, no momento certo e para a pessoa certa. Dividir para conquistar - Nesta técnica, os projetistas dividem o problema em problemas menores e resolvem cada um de forma isolada. Se cada pequeno problema for resolvido, o grande problema será resolvido. A quantidade de camadas utilizadas depende de como as funcionalidades são divididas. Quanto maior a divisão, maior o número de camadas que serão empilhadas, numerando da mais baixa, camada 1, para a mais alta, camada n. Para que essa divisão ocorresse de forma simplificada, os projetistas dividiram a organização das redes de computadores em camadas, em que cada camada é responsável por cuidar de determinada regra ou protocolo necessário ao processo de comunicação. ELEMENTOS DA CAMADA As camadas são formadas por três elementos principais: • SERVIÇO: É o conjunto de funcionalidades que uma determinada camada oferece. Por exemplo, uma camada ser responsável pela verificação de erros na transmissão, por determinar o endereço de um computador, ente outras funcionalidades. O serviço diz o que a camada faz e não como ela faz. • PROTOCOLO: Responsável pelo como a camada faz. Assim, o protocolo é a implementação do serviço da camada, ou seja, executa as regras para que os erros possam ser corrigidos ou para que um computador possa ser identificado. • INTERFACE: Para que uma camada possa utilizar a camada imediatamente inferior, é necessário que haja um ponto de comunicação entre ambas, chamado interface. Por meio dela, uma camada pode utilizar o serviço de outra, passando informações para a camada vizinha. COMUNICAÇÃO HORIZONTAL E VERTICAL Já vimos que uma camada utiliza os serviços de outra imediatamente inferior, sucessivamente, até chegar à camada mais baixa. Como estão empilhadas, podemos fazer analogia à comunicação vertical, uma vez que o dado original, no topo do conjunto de camadas, desce até a camada 1, caracterizando a verticalidade desse processo. ENCAPSULAMENTO Ainda pode estar um pouco abstrato como realmente a comunicação vertical e, principalmente, horizontal funcionam. Como a camada 2da máquina de origem consegue conversar com a mesma camada na máquina de destino? A comunicação horizontal ocorre de forma virtual. A camada 2 da máquina de origem, ao preparar o dado para ser enviado, adiciona informações que serão lidas e tratadas única e exclusivamente pela mesma camada do dispositivo de destino. Essas informações são denominadas cabeçalhos. Cada camada adicionará um novo cabeçalho ao dado que será enviado, e esse processo é chamado de encapsulamento. Cada camada receberá o dado da camada superior, através da interface, e adicionará seu próprio cabeçalho, encapsulando o dado recebido. 2.2. IDENTIFICAR AS CAMADAS DO MODELO OSI E SUAS FUNCIONALIDADES Na década de 1970, a International Organization for Standardization (ISO), um órgão que desenvolve padrões internacionais, criou um modelo de referência de camadas denominado OSI (Open System Interconnection - ISO/IEC 7498-1:1994). O que utilizamos hoje do modelo OSI é a referência para as funções das camadas, então, quando ouvimos falar que determinado protocolo é da camada X (1, 2, 3, ...). Esse X refere-se ao OSI, tanto que é encontrada, em diversos livros e artigos, a expressão modelo de referência OSI (RM-OSI em inglês). O modelo OSI possui sete camadas, de cima para baixo: aplicação, apresentação, sessão, transporte, rede, enlace e física. Os conceitos estudados de comunicação vertical, horizontal e encapsulamento são válidos nesse modelo. Portanto, um dado transmitido por um dispositivo de origem será inserido na estrutura de rede a partir da camada de aplicação e irá descer até a camada física, quando será enviado pelo meio de transmissão. • AS TRÊS CAMADAS MAIS ALTAS (APLICAÇÃO, APRESENTAÇÃO E SESSÃO) ESTÃO RELACIONADAS A FUNÇÕES QUE DÃO SUPORTE PARA QUE OS USUÁRIOS POSSAM ACESSAR OS DIVERSOS SERVIÇOS DE REDES, GARANTINDO A INTEROPERABILIDADE DE SISTEMAS HETEROGÊNEOS. • A CAMADA DE TRANSPORTE FAZ A INTERLIGAÇÃO ENTRE O SUPORTE AO USUARIO E O SUPORTE DE REDE. ELA VAI PERMITIR QUE OS DADOS QUE CHEGARAM DAS CAMADAS MAIS BAIXAS ESTEJAM EM CONDIÇÕES DE SEREM UTILIZADOS PELAS CAMADAS MAIS ALTAS. • AS TRÊS CAMADAS MAIS INFERIORES (REDE, ENLANCE E FISICA) ESTÃO RELACIONADAS ÁS OPERAÇÕES LIGADAS AOS ASPECTOS DA MOVIMENTAÇÃO DOS DADOS DE UM DISPOSITIVO PARA O OUTRO, DANDO SUPORTE ÁS OPERAÇÕES DE REDE. APLICAÇÃO A camada de aplicação é a que está mais próxima de nós, usuários da rede. Podemos citar algumas das aplicações oferecidas por essa camada: Serviço Web, Serviço de correio eletrônico, Serviço de transferência de arquivos, Serviço de streaming de áudio e vídeo e Serviço de compartilhamento de arquivos. APRESENTAÇÃO A camada de apresentação é responsável por garantir a interoperabilidade dos sistemas heterogêneos, ou seja, permitir que, independentemente do dispositivo que você esteja utilizando (computador, smartphone, televisão, carro etc.) e do sistema operacional (MS Windows, Apple IOS, Linux etc.), seja possível acessar qualquer tipo de serviço disponibilizado pela rede. SESSÃO Essa camada é responsável por organizar a comunicação entre os dispositivos e permitirá que os usuários, em diferentes máquinas, possam estabelecer sessões de comunicação; cada sessão terá dois serviços básicos: controle de diálogo e sincronização. TRANSPORTE Essa camada tem por finalidade garantir a entrega de processo a processo de todos os dados enviados pelo usuário. Podemos dizer que a camada de transporte é responsável por entregar os dados corretamente para os processos que estão em execução na camada de aplicação. REDE A camada de rede é responsável por determinar o caminho da origem até o destino. Ela receberá os segmentos gerados pela camada de transporte e, no cabeçalho da camada de rede, irá inserir o endereço da máquina de destino para que seja enviado pela rede por meio dos diversos dispositivos intermediários. ENLACE A camada de rede tem a responsabilidade da entrega dos dados para a máquina de destino. Normalmente, as máquinas não estão diretamente conectadas, ou seja, origem e destino não estão ligados diretamente por um meio físico, mas por dispositivos intermediários, como a internet. Então, como visto na camada de rede, os dados serão roteados por essa internet até chegar ao destino. Após ser definido por qual caminho os dados devem prosseguir, a camada de enlace surgirá para garantir essa comunicação ponto a ponto ou hop to hop. A camada de enlace é responsável por oferecer um serviço de transmissão de bits confiável para a camada de rede. FÍSICA Essa camada é responsável por transmitir os dados pelo meio de transmissão. Ela receberá os quadros da camada de enlace, que serão formados por uma sequência de bits, e irá codificar corretamente para que sejam enviados pelo meio de transmissão. 2.3. ARQUITETURA TCP/IP “A arquitetura foi batizada por TCP/IP por causa dos seus dois principais protocolos: Transmission Control Protocol (TCP) e Internet Protocol (IP). Ela foi apresentada pela primeira vez em 1974 (CERF, 1974) com o objetivo de criar uma arquitetura que permitisse a interligação de diversas redes de comunicação, sendo posteriormente adotada como padrão, de fato, para a comunidade internet.” EVOLUÇÃO DO PROTOCOLO TCP/IP Vamos conhecer um pouco mais sobre o protocolo TCP/IP e o seu papel na história da internet. A arquitetura foi criada utilizando quatro camadas: aplicação, transporte, internet e acesso à rede.As duas últimas camadas podem ser encontradas com nomes diferentes na literatura. A camada de rede pode ser encontrada como rede e inter-rede e a camada de acesso à rede pode ser encontrada como camada de enlace, host-rede, intrarrede e host-network. Uma grande diferença que temos entre o modelo de referência OSI e a arquitetura TCP/IP é: Modelo OSI É baseado, principalmente, nas funcionalidades das camadas. Arquitetura TCP/IP Não ficou presa apenas nas funcionalidades, mas, sim, no desenvolvimento de protocolos relativamente independentes e hierárquicos. A hierarquia baseia-se em um protocolo de nível superior que é suportado pelos protocolos de nível inferior. APLICAÇÃO A camada de aplicação da arquitetura TCP/IP nos permite acessar uma infinidade de serviços na internet. Desde os que são utilizados de forma direta pelos usuários, como o serviço Web, serviço de correio eletrônico, entre outros, bem como os que funcionam dando suporte à operação da rede, como o serviço de nomes (DNS). Os serviços são implementados pelos diversos protocolos existentes. Correlacionamos, a seguir, alguns serviços e protocolos utilizados na camada de aplicação. SERVIÇOS PROTOCOLO Web HTTP Correio eletrônico SMTP, POP e IMAP Nomes DNS Transferência de arquivos FTP, TFTP Áudio e vídeo em tempo real RTP Os protocolos apresentados são implementados por meio de softwares, que são executados nos diversos dispositivos computacionais, e podem estar associados a dois tipos principais de arquitetura: CLIENTE-SERVIDOR PAR A PAR (PEER-TO-PEER (P2P)) Na arquitetura cliente-servidor, como já evidencia o nome, existirá um cliente e um servidor. O cliente será executado por um usuário como nós e irá requisitar um serviço do servidor. Por exemplo, para o serviço Web, o cliente é o navegador que acessa determinado servidor, por exemplo, o servidor que está disponibilizando esse conteúdo. A arquitetura P2P foi pensada no emprego mínimo de servidores, caso exista algum. A ideia da arquitetura peer-to-peer é que os usuários possam trocar informações de forma direta. Esse tipo de arquitetura ficou muito conhecida com os programas de compartilhamento de arquivos, mas também pode ser utilizada em outras situações, como em um chat entre duas pessoas. Camada de aplicação inclui as funções da camada de apresentação e sessão. TRANSPORTE Tem a mesma funcionalidade da camada existente no modelo OSI: garantira entrega de processo a processo de todos os dados enviados pelo usuário. Porém, na arquitetura TCP/IP temos dois protocolos principais: TCP (TRANSMISSION CONTROL PROTOCOL) UDP (USER DATAGRAM PROTOCOL) O protocolo TCP, efetivamente, confere confiabilidade. O protocolo UDP não confere confiabilidade. O protocolo TCP é um protocolo orientado à conexão, com controle de erros, de congestionamento e de fluxo. Também define os endereços das portas e divide a mensagem (PDU-A) da camada de aplicação em segmentos (PDU-T), determinando números de sequência para cada um, para garantir a entrega dos dados na ordem correta para a aplicação. O TCP é adequado para as aplicações de rede que precisam de confiabilidade na troca de mensagens entre processos. O protocolo UDP é o oposto do TCP. Ele não é orientado à conexão e não faz a maioria das funções da camada de rede. Podemos dizer que o UDP existe apenas para permitir que uma mensagem (PDU-A) seja encapsulada em um datagrama (PDU-T) e entregue para o processo de destino correto, já que ele utiliza o endereço da porta para fazer a correta entrega na máquina de destino. INTERNET A camada internet ou, simplesmente, camada de rede tem por objetivo permitir que os dados injetados na rede pela máquina de origem possam alcançar o destino. O principal protocolo da camada de rede é o IP (Internet Protocol). Possuindo duas versões o IP versão 4(IPv4) e a IP versão 6(IPv6). OBJETIVO DIFERENÇA SEMELHANÇA Os dois protocolos têm por objetivo definir o endereço lógico, conhecido como endereço IP, e permitir o tratamento dos datagramas (PDU-R) para que possam ser roteados da origem até o destino. A diferença entre as duas versões do protocolo está no tamanho do endereço lógico, 32 bits para o IPv4 e 128 bits para o IPv6, no formato do datagrama e em algumas funções mais específicas que não abordaremos neste tema. Mas, os dois têm em comum o fato de serem não orientados à conexão, sem confiabilidade, ou seja, não realizam o tratamento de erros e os datagramas são enviados de forma independente, portanto, podem chegar em ordem diferente da qual foram enviados. ACESSO À REDE A camada de acesso à rede não foi bem definida pela arquitetura TCP/IP, nem define um protocolo específico a ser empregado. O que foi dito inicialmente é que a camada de acesso à rede seria qualquer coisa que pudesse ligar o dispositivo ao enlace de transmissão. Mas, como para chegar até aqui já estudamos vários conceitos, sabemos que, apesar de não estar definida pela arquitetura TCP/IP, nesta camada encontraremos os serviços que são oferecidos pelas camadas de enlace e física do modelo OSI. Apesar de não fazer parte da arquitetura TCP/IP, a arquitetura desenvolvida pelo Instituto de Engenheiros Eletricistas e Eletrônicos (Institute of Electrical and Electronics Engineers – IEEE), denominada IEEE 802, é largamente utilizada na camada de acesso à rede. 3.0. – TEMA 03 – AULA – CAMADAS DE APLICAÇÃO E TRANSPORTE 3.1. RECONHECER AS ARQUITETURAS DE APLICAÇÕES O software de aplicação, também conhecido como software aplicativo, é nossa interface com o sistema (e, por consequência, com toda a rede de comunicação que suporta essa operação). Portanto, sempre que houver um serviço na rede, virá à mente a interface com ele. ARQUITETURAS DE APLICAÇÕES Façamos a seguinte suposição: nosso objetivo é desenvolver uma aplicação a ser executada em rede. Para criá-la, deve-se utilizar uma linguagem de programação que possua comandos e/ou funções para a comunicação em rede. Mas não basta conhecer uma linguagem de programação e suas bibliotecas. Antes disso, é preciso definir qual arquitetura terá sua aplicação. Entre as mais conhecidas, destacam-se as seguintes: • CLIENTE-SERVIDOR: Nesta arquitetura, há pelo menos duas entidades: um cliente e um servidor. O servidor executa operações continuamente aguardando por requisições daquele(s). Quando chega uma solicitação, o servidor pode: 1. Atender imediatamente caso esteja ocioso; 2. Enfileirar a solicitação para ser atendida mais tarde; 3. Gerar um processo-filho para o atendimento da solicitação; 4. Criar uma thread para esse atendimento. Independentemente do momento em que uma solicitação é processada, o servidor, no final, envia ao cliente uma mensagem contendo o resultado do processamento. Para obtê-la, este servidor deve enviar uma mensagem ao servidor de banco de dados solicitando aqueles de que necessita para continuar. Neste momento, ele atua como um cliente do servidor de banco de dados. • PEER-TO-PEER (OU P2P) Enquanto existe uma distinção bem clara entre os processos que trocam informações na arquitetura cliente-servidor, na peer-to-peer – também conhecida como arquitetura P2P –, todos os processos envolvidos desempenham funções similares. Em geral, nesses sistemas, os processos não são uma propriedade de corporações. Quase todos os participantes (senão todos) são provenientes de usuários comuns executando seus programas em desktops e notebooks. Exemplo dessa arquitetura é o Bittorrent. 3.2. IDENTIFICAR OS PRINCIPAIS SERVIÇOS OFERECIDOS PELA CAMADA DE APLICAÇÃO PROTOCOLOS DA CAMADA DE APLICAÇÃO Conforme estudamos, é na camada de aplicação que são executados os processos dos usuários. Nos processos em que eles interagem, realiza-se o que seus usuários esperam. Porém, para que uma aplicação possa trocar dados com outra, é necessário definir um protocolo de aplicação. Um protocolo de camada de aplicação define como processos de uma aplicação, que funcionam em sistemas finais diferentes, passam mensagens entre si. Enquanto o algoritmo da camada de aplicação determina seu funcionamento no ambiente local, o protocolo dela estipula tudo que é necessário para que aplicações em diferentes hospedeiros possam trocar mensagens de maneira estruturada. Os protocolos públicos da internet são especificados por RFCs (Request for Comments). Desse modo, qualquer pessoa é capaz de acessar as especificações de tais protocolos e implementar os próprios softwares. Servidores de aplicações podem estar espalhados por todo o mundo, cada um deles com o próprio endereço. Dessa forma, o protocolo da camada de aplicação não pode determinar em qual endereço de rede o servidor está localizado. CAMADA DE APLICAÇÃO NA INTERNET Descreveremos a seguir o funcionamento de três importantes aplicações das camadas de aplicação na internet: • HTTP (serviço web) Implementado pelo protocolo HTTP, que muita gente confunde com a própria internet. Definido pelas RFCs 1945 e 2616, o HTTP (hypertext transfer protocol) é o protocolo padrão para transferência de páginas web na internet. Uma página web típica é um documento em formato HTML que pode conter imagens e outros tipos de objetos, como vídeos, texto, som etc. Esse padrão é o protocolo HTTP. A mensagem HTTP, por sua vez, é carregada pelo por outro protocolo: TCP. Uma interação entre cliente e servidor se inicia quando ele envia uma requisição a um servidor. A solicitação mais comum consiste em: o Enviar um texto em formato ASCII; o Iniciar com a palavra GET; o Inserir página solicitada, protocolo utilizado na transferência e servidor a ser contatado. • CORREIO ELETRÔNICO (E-MAIL) Serviço de correio eletrônico. Criação das RFC’s 821 e 822; A arquitetura do sistema de correio eletrônico é construída com base em dois agentes, do usuário e de transferência de mensagens. Tendo 3 tipos de protocolos, sendo eles: o SMTP - O protocolo responsável pela transferência da mensagem até seu destino é o SMTP. Definido pela RFC 5321, ele utiliza o protocolo de transporte TCP, obtendo, assim, a garantia de que ela será entregue no destino sem erros. O servidor SMTP aguarda por conexões de seus clientes. Quando uma conexão é estabelecida, o servidor inicia a conversação enviando uma linha de textona qual se identifica e informa se está pronto (ou não) para receber mensagens. Se ele não estiver, o cliente deverá encerrar a conexão e tentar novamente mais tarde. o POP3 - A RFC 1939 estipula que o POP3 (post office protocol version 3) tem a finalidade de fazer o download das mensagens que se encontram no mailbox do usuário para o sistema local. Caso estejam neste sistema, ele pode utilizá-las em qualquer momento, mesmo sem ter conexão com a internet. O POP3 é implementado na maioria dos agentes de usuário. Basta configurar os parâmetros de conta e senha do usuário para que o agente faça o download das mensagens. Ele permite o download seletivo delas, assim como apagar as selecionadas no servidor. o IMAP - Assim como o POP3, o IMAP (internet message access protocol) permite que um usuário tenha acesso às mensagens armazenadas em sua caixa. Porém, enquanto o POP3 é baseado na transferência delas para o sistema local a fim de serem lidas, o IMAP consegue permitir sua leitura diretamente no servidor, dispensando, portanto, a transferência para o sistema local. Isso será particularmente útil para usuários que não utilizarem sempre o mesmo computador, pois isso permite que suas mensagens possam ser acessadas a partir de qualquer sistema. Definido pela RFC 3501, o IMAP também fornece mecanismos para criar, excluir e manipular várias caixas de correio no servidor. • DNS Sistema de resolução de nomes DNS. A comunicação entre hospedeiros na internet ocorre por meio de endereços binários de rede. Afinal, para se comunicar com um destino, o hospedeiro precisa conhecer seu endereço. Entretanto, é bem mais fácil trabalhar com nomes de hospedeiros do que com seus endereços de rede. Além de ser muito difícil conhecer todos os endereços dos hospedeiros com os quais precisamos trabalhar, precisaríamos ser notificados toda vez que algum deles mudasse de endereço. Além do mapeamento de nomes de hospedeiros em endereços IP, o DNS ainda provê: o Identificação de servidores de correios eletrônicos; o Apelidos para hospedeiros; o Distribuição de carga; o Descoberta de nomes de hospedeiros (mapeamento reverso). O espaço de nomes do DNS é dividido em domínios estruturados em níveis. Confira a organização do primeiro nível: Os domínios genéricos informam o tipo de organização ao qual o domínio está vinculado. Alguns exemplos são: .com = comercial; .edu = instituições educacionais; .int = algumas organizações internacionais; .org = organizações sem fins lucrativos. Os domínios de países, por sua vez, possuem uma entrada para cada país. Alguns exemplos são: .br = Brasil; .pt = Portugal; .jp = Japão; .ar = Argentina. 3.3. LOCALIZAR OS ELEMENTOS DA CAMADA DE TRANSPORTE Executadas na camada de aplicação, as aplicações precisam de um modelo de rede no qual haja a entrega de uma mensagem (ou um fluxo de dados) tanto em um ponto de rede quanto em sua aplicação par no hospedeiro destino. O objetivo da camada de transporte é, independentemente das redes físicas em uso, promover a confiabilidade na transferência de dados entre os hospedeiros origem e destino. O serviço da camada de transporte é em uma arquitetura de camadas, e podemos afirmar que o objetivo geral de uma camada é oferecer serviços àquela imediatamente superior. No caso da camada de transporte, sua pretensão é oferecê-los à de aplicação. Como um dos principais objetivos da camada de transporte é ofertar um serviço confiável e eficiente a seus usuários, ela precisa oferecer, no mínimo, um serviço orientado à conexão e outro sem conexão. Para atingir esse objetivo, a camada de transporte utiliza os serviços oferecidos pela de rede. No serviço de transporte orientado à conexão (serviço confiável), existem três fases: Estabelecimento da conexão, Transferência de dados, e encerramento da conexão. Pelo fato de ser preciso cuidar de cada pacote no serviço orientado à conexão, verificando-os e retransmitindo-os em caso de necessidade, esse controle gera um overhead. Como nada disso é feito no serviço sem conexão, os pacotes são entregues no destino de forma mais simples e rápida. MULTIPLEXAÇÃO E DEMULTIPLEXAÇÃO A multiplexação e a demultiplexação fornecem um serviço de entrega processo a processo para aplicações executadas nos hospedeiros. No hospedeiro destino, a camada de transporte recebe segmentos de dados da camada de rede, tendo a responsabilidade de entregá-los ao processo de aplicação correto. Para essa finalidade, cada segmento da camada de transporte tem um conjunto de campos de endereçamento no cabeçalho. No receptor, a camada de transporte examina esses campos para identificar a porta receptora e direcionar o segmento a ela. A tarefa de entregar os dados contidos em um segmento para a porta correta é denominada demultiplexação. Já a multiplexação consiste no trabalho de, no hospedeiro origem: Reunir porções de dados provenientes de diferentes portas; Encapsular cada porção de dados com as informações de cabeçalho (as quais, mais tarde, serão usadas na demultiplexação) para criar segmentos; Passar os segmentos para a camada de rede. 4.0. – TEMA 04 – AULA – CAMADA DE REDE 4.1. CONCEITO BASICO DA CAMADA DE REDE No Modelo OSI, a camada de rede situa-se logo acima da camada de enlace, utilizando os serviços oferecidos por esta camada. A camada de enlace tem como objetivo organizar a comunicação em nível de enlace, ou seja, ela deve garantir que um hospedeiro consiga se comunicar com o hospedeiro vizinho. O objetivo da camada de rede é, a partir deste serviço de comunicação lado a lado, promover uma comunicação de âmbito global, permitindo que a informação que sai de um hospedeiro chegue a seu destino não importando em qual local da rede esteja este destino. Para isso, ele deve realizar duas grandes funções: • definir um esquema de endereçamento que seja aceito por toda a grande rede; e • realizar o roteamento . A quantidade máxima de dados que podem ser trocados entre entidades da camada de rede possui um tamanho limitado. Para que as mensagens maiores que o limite possam ser trocadas entre aplicações, a camada de transporte deverá segmentar tais mensagens em partes menores e colocar cada segmento em uma unidade de dados da camada de rede. ESTA UNIDADE DE DADOS TROCADA ENTRE ENTIDADES DA CAMADA DE REDE RECEBE A DENOMINAÇÃO DE PACOTE. A camada de rede cuida da transferência de pacotes desde a origem até seu destino. Em uma grande rede, isso significa que estes pacotes podem necessitar passar por vários meios de comunicação e diferentes roteadores até que possam ser entregues. Para conseguir realizar esta comunicação a camada de rede deve: • Conhecer toda a topologia da sub-rede de comunicação. • Escolher rotas que evitem sobrecarregar partes da rede enquanto outras ficam ociosas. • Compatibilizar a comunicação entre os diferentes tipos de sub-redes existentes. Em sistemas com mais de uma interface de rede deve também consultar suas tabelas de repasse para determinar por qual interface o pacote deve ser encaminhado. 4.2. COMUTAÇÃO DE PACOTES STORE AND FORWARD Assim, um hospedeiro com um pacote a enviar, o transmite para o roteador mais próximo. O pacote é então totalmente recebido pelo roteador e, após ter chegado por completo, é conferido. Em seguida, ele é encaminhado para o próximo roteador ao longo do caminho até alcançar o hospedeiro de destino, onde é entregue. Esse mecanismo que tem como base armazenar totalmente o pacote antes de enviá-lo ao próximo hospedeiro é conhecido como comutação de pacotes “store and forward”. • REPASSE - Um roteador é um equipamento que possui, normalmente, várias interfaces de rede. Quando um pacote chega por uma de suas interfaces, o roteador deve verificar o destino deste pacote e decidir por qual de suas linhas o pacote deve ser enviado para queconsiga chegar ao destino. Chamamos de repasse o trabalho (local) de escolher por qual das interfaces deve seguir o pacote que chega. • ROTEAMENTO - Cabe à camada de rede decidir o caminho a ser seguido por um pacote para que este chegue ao seu destino, fazendo o melhor caminho possível. Para isso, os roteadores devem trocar informações entre si sobre o estado da rede, de forma a decidirem o melhor caminho para cada destino. Chamamos de roteamento o trabalho (global) de escolher os caminhos por uma rede para que o repasse possa ser realizado. O algoritmo que realiza esta tarefa é conhecido como algoritmo de roteamento. As tabelas de repasse são montadas pelos algoritmos de roteamento e consultadas pelo processo de repasse para determinar por qual interface deve seguir um pacote que chega. 4.3. CIRCUITOS VIRTUAIS E DATAGRAMAS Há basicamente duas formas para a organização da camada de rede de uma sub-rede: uma utilizando conexões e a outra trabalhando sem conexão. Na camada de rede, um serviço orientado à conexão costuma ser chamado de circuito virtual, enquanto um serviço que realiza a entrega de pacotes independentes, sem conexão, costuma ser chamado de serviço de datagramas. A camada de transporte também oferece serviços com conexão e sem conexão, mas estes se diferem dos serviços oferecidos pela camada de rede. 4.3.1. CIRCUITOS VIRTUAIS (CV) A ideia dos circuitos virtuais é evitar a necessidade de escolher uma nova rota para cada pacote que passa, sendo por isso utilizado em sub-redes com serviço de rede orientado à conexão. Ao se estabelecer uma conexão, é criada uma rota entre o hospedeiro origem e o hospedeiro destino como parte do estabelecimento da conexão. Essa rota é utilizada por todo o tráfego que flui pela conexão entre os hospedeiros. Quando a conexão é liberada o circuito virtual deixa de existir. De forma análoga, sempre que um CV termina, suas informações são removidas das tabelas do comutador ao longo do percurso. Existem 3 fases que podem ser identificadas em um circuito virtual, sendo elas: A. ESTABELECIMENTO DO CV - Nesta fase os comutadores estabelecem os parâmetros da conexão e o caminho pelo qual os pacotes irão seguir durante a fase de transferência de dados. B. TRANSFERÊNCIA DE DADOS - Fase seguinte ao estabelecimento do CV, durante a qual ocorre a transferência de pacotes desde a origem até o destino. Todos os pacotes seguem pelo caminho definido durante a fase de estabelecimento do CV. C. ENCERRAMENTO DO CV - Fase na qual o circuito virtual é desfeito. Necessária para que os comutadores sejam avisados do encerramento e possam retirar de suas tabelas as informações sobre o circuito virtual encerrado. 4.3.2. DATAGRAMAS Em uma sub-rede de datagramas, nenhuma rota é previamente definida. Ao ser transmitido, um pacote passa por uma série de roteadores, e cada roteador, ao longo do caminho, utiliza o endereço destino para determinar por qual interface de saída enviar o pacote (realiza o repasse). Como não há estabelecimento de circuitos para as transferências, os roteadores, ao longo do caminho, deverão manter tabelas de repasse baseadas no endereço destino do pacote, qualquer que seja o destino. Significa dizer que, se as tabelas de repasse forem alteradas durante uma transferência, os datagramas de uma mensagem podem fazer caminhos diferentes até o destino. Uma possibilidade é que os pacotes estavam passando por uma região que ficou sobrecarregada, e os roteadores descobriram uma outra região com melhores condições de tráfego, preferindo enviar os pacotes por essa nova região. Problemas que podem acontecer em uma rede de datagramas são: I. A perda de datagramas; II. Datagramas chegarem com erros; III. Datagramas chegarem fora de ordem; IV. Datagramas serem duplicados. 4.4. ENDEREÇAMENTO Alguns tipos de rede permitem que sejam criados vários endereços por hospedeiro, enquanto outros tipos de rede permitem a utilização de apenas um por hospedeiro. Porém, qualquer que seja o tipo de rede, o endereçamento deve ser completamente independente do endereçamento dos protocolos de outras camadas. A camada de rede tem a função de unificar toda a comunicação da rede, portanto ela deve definir uma forma de identificação dos hospedeiros que seja aceita por toda a rede. Basicamente dois tipos de endereçamento são possíveis: • No endereçamento hierárquico, o endereço de uma entidade é constituído de acordo com os endereços correspondentes aos vários níveis da hierarquia da qual faz parte. O endereço hierárquico é o método sugerido pelo ITU-T para interconexão de redes públicas de telefonia. Nessa recomendação, os endereços são números decimais formados por três campos: um código do país, um código para a rede, e um campo para o endereçamento dentro da rede. • No endereçamento horizontal, os endereços não têm relação alguma com o lugar onde estão as entidades dentro da rede. Um exemplo comum desse tipo de endereçamento são os endereços utilizados nas placas de rede ethernet, que são gravados durante seu processo de fabricação e será sempre o mesmo, não importando em qual lugar do mundo a placa seja utilizada. Apesar do endereçamento universal ser realizado pela camada de rede, o envio dos pacotes é realizado por camada inferior que possui seu próprio esquema de endereçamento específico da tecnologia da rede física em uso. Ocorre, portanto, um mapeamento entre os endereços físicos e de rede, e esta tarefa deve ser realizada pela camada de rede. Existem duas técnicas usuais para essa conversão: resolução através de mapeamento direto e resolução através de vinculação dinâmica. MAPEAMENTO DIRETO A estação sabe como computar o endereço de enlace por intermédio de uma função que mapeia o endereço de rede no endereço de enlace. Por exemplo, o endereçamento hierárquico onde o campo de endereçamento dentro da rede corresponda exatamente ao endereço físico da estação. Conversões mais complexas podem ser realizadas através de tabelas de conversão e técnicas de acesso rápido a estas tabelas. VINCULAÇÃO DINÂMICA Para evitar o uso de tabelas de conversão, uma vinculação dinâmica pode ser efetuada entre o endereço de rede e o físico por intermédio da utilização de algum protocolo de resolução. A exemplo, temos o protocolo ARP, o qual estudaremos mais adiante. 4.5. A CAMADA DE REDE NA INTERNET Na camada de rede, a Internet pode ser vista como um conjunto de sub-redes ou Sistemas Autônomos (SA) conectados entre si. Não existe uma estrutura real, mas diversos backbones que interligam redes regionais, que por sua vez estão conectadas às redes locais. O protocolo que mantém a Internet unida é o protocolo de camada de rede IP (Internet Protocol). A tarefa do IP é fornecer a melhor forma de transportar datagramas da origem para o destino, independentemente de esses hospedeiros estarem na mesma rede ou em outras redes intermediárias. Imagine que você está solicitando a transferência de dados de seu computador para um hospedeiro remoto (está fazendo o upload do arquivo). A camada de transporte de seu computador receberá o fluxo de dados referente à transferência de seu arquivo. Como provavelmente esse fluxo é muito grande para caber em um único pacote IP, ele será quebrado em partes menores pela camada de transporte e cada parte desta será entregue para a camada de rede (cada um será colocado em um datagrama IP). Estes datagramas serão transmitidos pela Internet, podendo ainda serem fragmentados ao longo do caminho. Quando todos os fragmentos de um datagrama chegam ao destino, o datagrama original é remontado pela camada de rede do destino sendo entregue à camada de transporte que recriará o fluxo original para o processo de recepção. 4.6. PROTOCOLO IP VERSÃO 4 (IPV4) Na Internet, a camada de rede trata cada pacote de forma independente, não tendo qualquer relação com pacotes anteriores ouposteriores. Pacotes com mesma origem e destino podem, inclusive, passar por diferentes rotas. O IPv4 é definido pela RFC 791, sendo atualizado pelas RFC 1349, RFC 2474 e RFC 6864. • Datagramas - São unidades básicas de informações que passam pela Internet. Dentro do datagrama está seu cabeçalho, que contém informações sobre sua origem e seu destino, assim como informações sobre para qual protocolo o IP deverá passar os dados. Também fazem parte dele os dados que devem ser entregues à camada de transporte no destino. • Fragmentos - São partes de um datagrama muito grande que foi quebrado em unidades menores. Como os dados precisam caber dentro da porção de dados da rede física, pode ser que seja necessário fragmentar os dados da aplicação para que eles possam ser transportados pela rede. O tamanho do fragmento é determinado pelo MTU da interface de hardware da rede. O IPv4 especifica que a fragmentação ocorre em cada roteador baseado na MTU da interface pela qual o datagrama IP deve passar. 4.7. ENDEREÇAMENTO IPV4 Um hospedeiro normalmente possui apenas uma interface com a rede de computadores. Quando o protocolo IP de um hospedeiro quer enviar um datagrama, ele o faz por meio dessa interface. Cada endereço IP tem comprimento de 32 bits (4 bytes), havendo um total de 232 endereços possíveis (aproximadamente 4 bilhões de endereços IP), os quais são escritos em notação decimal separada por pontos, na qual cada byte do endereço é escrito em sua forma decimal e separado dos outros bytes por um ponto. A estratégia de atribuição de endereços da Internet é conhecida como Roteamento Interdomínio sem Classes (Classless Inter-domain Routing – CIDR). O CIDR generaliza a noção de endereçamento de sub-rede. O endereço IP de 32 bits é dividido em 2 partes sendo representado por A.B.C.D/X, em que X indica o número de bits existentes na primeira parte do endereço. No CIDR o prefixo de rede é utilizado para determinar qual parte do endereço IP identifica a rede. • SUB-REDES - O mundo exterior a uma organização enxerga sua rede como sendo única, e nenhuma informação sobre sua estrutura interna é necessária. Porém, sem a utilização de sub-redes, o espaço de endereçamento pode se tornar muito ineficiente. A fim de tornar mais eficiente a utilização da rede, é comum sua divisão em várias sub-redes. O mecanismo que permite tal divisão é conhecido como máscara de rede. Uma rede pode ser dividida em diversas partes para uso interno, continuando a ser vista como uma única rede externamente. Essas partes são as sub-redes. Existem diversas razões para se dividir uma rede em sub-redes. Algumas destas razões são: o Isolar o tráfego de uma sub-rede, reduzindo assim o tráfego total da rede. o Proteger ou limitar o acesso a uma sub-rede. o Permitir a associação de uma sub-rede com um departamento ou espaço geográfico específico. 4.8. NAT Atualmente, endereços IP são escassos e este esgotamento não é um problema teórico que pode ocorrer em algum momento no futuro distante, ele já está acontecendo, e a solução atual para este problema é o NAT (Network Address Translation – Tradução de Endereço de Rede), descrito na RFC 3022. 4.9. ARP ( ADDRESS RESOLUTION PROTOCOL) Embora na Internet cada hospedeiro possua um ou mais endereços IP, na verdade eles não podem ser usados diretamente para o envio de informações pela rede, pois o hardware da camada de enlace de dados não entende os endereços Internet. A solução adotada é fazer com que o hospedeiro que precise descobrir o endereço de enlace do destinatário envie um pacote por difusão perguntando: “A quem pertence o endereço IP A.B.C.D?”. Então, o hospedeiro destinatário responderá com seu endereço de enlace. O protocolo que faz essa pergunta e obtém a resposta é o ARP (Address Resolution Protocol, que é definido na RFC 826. SÃO POSSÍVEIS VÁRIAS OTIMIZAÇÕES PARA TORNAR O ARP MAIS EFICAZ. EM PRIMEIRO LUGAR, DEPOIS QUE UMA MÁQUINA EXECUTA O ARP, ELA ARMAZENA O RESULTADO EM UM CACHE. 4.10. DHCP (DYNAMIC HOST CONFIGURATION PROTOCOL) Para ter acesso à Internet, um hospedeiro precisa ser configurado com alguns parâmetros. Os parâmetros mínimos a serem configurados são: • Endereço de IP; • Máscara de sub-rede; • Endereço do gateway(roteador); • Endereço do servidor DNS O DHCP é um protocolo que foi desenvolvido para facilitar a configuração de rede dos hospedeiros de uma sub-rede. Para facilitar a distribuição de endereços IP e demais parâmetros de rede entre os vários hospedeiros que podem estar presentes em uma rede, e administrar a atribuição destes parâmetros de forma automatizada, a IETF desenvolveu o DHCP, cuja especificação encontra-se na RFC 2131. De modo geral, o DHCP permite três tipos de atribuição de endereços: 1. CONFIGURAÇÃO MANUAL - O administrador especifica o endereço que cada hospedeiro receberá quando se conectar à rede. 2. CONFIGURAÇÃO AUTOMÁTICA - O administrador permite que um servidor DHCP atribua um endereço quando um hospedeiro se conectar pela primeira vez à rede. A partir deste momento, este endereço estará reservado para este hospedeiro para sempre. 3. CONFIGURAÇÃO DINÂMICA - O servidor “empresta” um endereço a um hospedeiro, por um tempo limitado. Quando o hospedeiro não estiver mais utilizando este endereço, ele poderá ser alocado a outro hospedeiro. 4.11. ICMP (INTERNET CONTROL MESSAGE PROTOCOL) Durante o tráfego de informações pela rede, podem ocorrer erros ou situações anormais que precisam ser do conhecimento dos hospedeiros. Para permitir a troca deste tipo de informação, foi criado o protocolo ICMP. Com ele, hospedeiros conseguem enviar mensagens de controle e erros para outros hospedeiros. O erro sempre é reportado ao sistema que gerou o datagrama. O ICMP é definido na RFC 792. Uma mensagem ICMP é carregada dentro de um datagrama IP, ou seja, as mensagens ICMP são transportadas pelo protocolo IP. Existem diversas mensagens ICMP. As mais importantes são: • DESTINATION UNREACHABLE (DESTINO INALCANÇÁVEL) - Datagrama não pode ser entregue. Usada quando a sub-rede ou um roteador não pode localizar o destino, ou um datagrama com o bit DF não pode ser entregue porque há uma rede de pacotes pequenos no caminho. • TIME EXCEEDED (TEMPO EXCEDIDO) - Campo tempo de vida do IP chegou a zero. Enviada quando um pacote é descartado porque seu contador chegou a zero. Esse evento é um sintoma de que os datagramas estão entrando em loop, de que há congestionamento ou de que estão sendo definidos valores muito baixos para o temporizador. • PARAMETER PROBLEM (PROBLEMA DE PARÂMETRO) - Campo de cabeçalho inválido. Essa mensagem indica existência de um problema no software IP do hospedeiro transmissor ou no software de um roteador pelo qual o pacote transitou. • PARAMETER PROBLEM (PROBLEMA DE PARÂMETRO) - Campo de cabeçalho inválido. Essa mensagem indica existência de um problema no software IP do hospedeiro transmissor ou no software de um roteador pelo qual o pacote transitou. • REDIRECT (REDIRECIONAR) – Usada quando um roteador percebe que o pacote pode ter sido incorretamente roteado. É usada pelo roteador para informar ao hospedeiro transmissor a respeito do provável erro. • ECHO REQUEST (SOLICITAÇÃO DE ECO) - Perguntar a um hospedeiro se ele está ativo. Ao receber a mensagem echo request, o destino deve enviar de volta uma mensagem echo reply. • ECHO REPLY (RESPOSTA DE ECO) - Confirmação de que o hospedeiro está ativo. • TIMESTAMP REQUEST (SOLICITAÇÃO DE CARIMBO DE DATA E HORA) - Mesmo que echo request, mas solicita que a hora da chegada da mensagem e da partida da resposta sejam registradas na mensagem de resposta. • TIMESTAMP REPLY (RESPOSTA DE CARIMBO DE DATA E HORA) - Resposta à mensagem timestamp request. 4.12. ROTEAMENTO A principal função da camada de rede é rotear pacotes do hospedeiro origem para o hospedeiro destino da melhorforma possível. Na maioria dos casos, os pacotes necessitarão passar por vários roteadores para chegar ao destino. O algoritmo 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 que entra. Caso a sub-rede utilize datagramas, esta decisão deverá ser tomada para todos os pacotes de dados recebidos e se utilizar circuitos virtuais internamente, as decisões de roteamento serão tomadas somente quando o circuito virtual estiver sendo estabelecido. 4.13. PRINCÍPIO DA OTIMIZAÇÃO O princípio da otimização de Bellman (1957) estabelece que se o roteador B estiver no caminho ótimo entre o roteador A e o roteador C, o caminho ótimo de B a C também estará na mesma rota. Esse princípio nos diz que o conjunto de rotas ótimas de todas as origens para um determinado destino é uma árvore conhecida como árvore de escoamento (sink tree, em inglês), cuja raiz é o hospedeiro destino. Os algoritmos de roteamento precisam descobrir a árvore de escoamento a partir da topologia da rede. 4.14. ROTEAMENTO PELO CAMINHO MAIS CURTO O protocolo de roteamento pelo caminho mais curto é um protocolo estático cuja ideia é criar um grafo da sub-rede, com cada nó do grafo representando um roteador e cada arco indicando um enlace. Para escolher uma rota entre um determinado par de roteadores, o algoritmo simplesmente encontra o caminho mais curto entre eles no grafo. 4.15. ALGORITMOS DE ROTEAMENTO Conforme estudamos anteriormente, os algoritmos de roteamento são executados pelos roteadores de uma sub-rede para que sejam criadas as tabelas de repasse dos roteadores. Para isso, eles precisam trocar informações sobre o estado da rede e concordarem com a árvore de escoamento a ser montada para cada destino. Os algoritmos de roteamento podem ser agrupados em: • NÃO ADAPTATIVOS - Não baseiam suas decisões de roteamento em medidas ou estimativas do tráfego e da topologia atuais. A escolha da rota a ser utilizada é previamente calculada e transferida para os roteadores quando a rede é inicializada. Tal procedimento também é conhecido como roteamento estático. • ADAPTATIVOS - Mudam suas decisões de roteamento para refletir mudanças na topologia e/ou no tráfego. Tal procedimento também é conhecido como roteamento dinâmico. • GLOBAL - Calcula o melhor caminho com base no conhecimento completo da rede. Para este fim, o roteador deve obter informações sobre o estado de todos os roteadores e enlaces que compõem a sub-rede. Um exemplo deste tipo de roteamento é o roteamento de estado de enlace. • DESCENTRALIZADO - Neste algoritmo, nenhum roteador possui informação completa sobre o estado da rede. As rotas são calculadas com base em informações obtidas com roteadores vizinhos. Um exemplo deste tipo de roteamento é o roteamento de vetor de distância. ROTEAMENTO DE VETOR DE DISTÂNCIAS O roteamento de vetor de distância é um algoritmo dinâmico que opera fazendo com que cada roteador mantenha uma tabela que fornece a melhor distância conhecida a cada destino e determina qual linha deve ser utilizada para se chegar lá. Essas tabelas são atualizadas através da troca de informações com os vizinhos. TRATA-SE DO ALGORITMO DE ROTEAMENTO ORIGINAL DA ARPANET QUE TAMBÉM FOI UTILIZADO NA INTERNET COM O NOME RIP. ALGUNS ROTEADORES UTILIZAM PROTOCOLOS DE VETOR DE DISTÂNCIA MAIS APERFEIÇOADOS. ROTEAMENTO HIERÁRQUICO Conforme as redes aumentam, as tabelas de roteamento crescem proporcionalmente até que chega um momento em que não é mais possível que os roteadores conheçam todos os caminhos da rede. Assim, é necessário pensar em uma nova forma de realizar o roteamento. Foi pensando nesta situação que foi criado o roteamento hierárquico. Quando o roteamento hierárquico é utilizado, os roteadores são divididos em regiões, com cada roteador conhecendo todos os detalhes sobre como rotear pacotes para destinos dentro de sua própria região, mas sem conhecer a estrutura interna de outras. No caso de redes muito grandes, uma hierarquia de dois níveis pode ser insuficiente, sendo necessário agrupar as regiões em clusters, os clusters em zonas, as zonas em grupos etc. 5.0. – TEMA 05 – AULA – CAMADAS DE ENLACE FISICA O Modelo de referência OSI divide as funções das redes de computadores em sete camadas. 5.1. CAMADA FÍSICA A camada física é responsável pela geração e transmissão do sinal propriamente dito, que é levado de um transmissor ao receptor correspondente. Eles estão conectados por um enlace físico de transmissão. Na camada física, a unidade de dados é o bit de informação. O bit é codificado em um sinal elétrico ou óptico, de forma a ser transmitido pelo transmissor do enlace até o receptor através do meio físico de transmissão 5.2. TRANSMISSÃO DE SINAIS Em redes de comunicação, a informação deve ser codificada em um sinal transmitido pelo canal do transmissor até o receptor, podendo ser dos tipos analógicos ou digitais. • SINAIS ANALÓGICOS - Apresentam a intensidade (amplitude), variando suavemente com o tempo. • SINAIS DIGITAIS - Mantêm um nível constante de intensidade e, depois, mudam abruptamente para outro nível constante de intensidade. • SINAL PERIÓDICO - Sinal periódico é qualquer sinal (analógico ou digital) que se repete em um período de tempo T. ( f = 1 / T). Quanto mais rápida for a variação do sinal (menor período), maior será a frequência. Além da frequência, o sinal ainda apresenta como propriedades a amplitude(A) que é o ponto máximo de intensidade e a Fase(Φ) que é a posição relativa do sinal dentro de um período de repetição. É possível codificar a informação variando as grandezas do sinal (f, A, Φ); assim, o sinal pode transportar o dado de um ponto ao outro do enlace. BANDA PASSANTE Trata-se do conjunto contíguo de frequências de sinal que, ao passarem pelo canal de comunicação, são praticamente inalteradas. As componentes de frequência do sinal que estão além da banda passante sofrem forte atenuação e são eliminadas. Podemos imaginar o canal de comunicação como um filtro que deixa passar as componentes dentro da faixa de frequências especificadas pela banda passante e bloqueia as demais componentes fora da banda passante. Um sinal digital apresenta variações abruptas na sua intensidade, o que pode ser representado no domínio da frequência por componentes de frequência muito elevados. Assim, ao passar por um canal de comunicação, o sinal sofre distorções causadas pela banda passante do canal. Quanto maior for a banda passante, menor será o efeito de filtragem do canal. Com isso, o receptor terá mais facilidade para interpretar a informação contida no sinal. TAXA DE TRANSMISSÃO Outro conceito importante é a taxa de transmissão (bit rate) de um canal ou meio físico, que é dada pela quantidade de bits que esse meio consegue transmitir por segundo. Essa taxa pode ser expressa em bits por segundo (bps), kilobits por segundo (Kbps), megabits por segundo (Mbps), gigabits por segundo (Gbps). O sinal recebido pelo receptor é diferente do sinal que foi transmitido, pois sofreu todos os efeitos introduzidos pelo canal de comunicação. Esses efeitos degradam o sinal e podem gerar erros de bits, ou seja, erros de interpretação na decodificação do sinal pelo receptor, em razão das alterações sofridas. Além das distorções causadas pela banda passante limitada dos meios físicos, o sinal pode sofrer também uma serie de outras degradações, como: • ATENUAÇÃO - A atenuação é a perda de potência do sinal devido à passagem pelo meio de transmissão (canal), fazendo com que a potência do sinal recebido pelo receptor seja menor do que a potência do sinal no momento em que foi transmitido. Caso a potência seja muito baixa na recepção (abaixo de determinado limiar), o sinal estará muito fraco e mais sujeito aos ruídos, podendo gerar erros no receptor. • RUÍDO- Pode ser entendido de forma ampla como sinais indesejados que são inseridos pelo meio físico de transmissão, comprometendo a integridade do sinal. Os ruídos são classificados em diversos tipos e podem ser provenientes de fontes distintas. O tipo de ruído mais comum é o ruído térmico (ou ruído branco), que afeta todos os sistemas, pois ocorre em função da agitação dos elétrons no meio físico em virtude da temperatura. O ruído branco esta presente em qualquer canal de comunicação. 5.3. MEIOS FÍSICOS DE TRANSMISSÃO Os meios físicos de transmissão que compõem o canal de comunicação são classificados em Guiados, onde o sinal é confinado e Não guiados, onde a transmissão é em espaço aberto. • MEIOS DE TRANSMISSÃO GUIADOS São geralmente empregados como meios físicos guiados o cabo de par trançado, o cabo coaxial ou o cabo de fibra óptica o PAR TRANÇADO - Esse meio físico é composto por dois fios de cobre em espiral. O trançado facilita o manejo e reduz interferências. Cada par trançado pode representar um canal de comunicação isolado. É um dos meios físicos mais comuns para telefonia e redes locais prediais. As categorias mais encontradas são: categoria 5, com banda passante de 100Mhz, e a categoria 7, com banda passante de 1Ghz. o COAXIAL - O cabo é composto de quatro elementos, de dentro para fora, no condutor interno (núcleo de cobre, isolador dielétrico interno, malha de cobre e revestimento plástico). Devido à sua própria confecção, ele é mais imune às interferências do que o par trançado, porém é menos flexível e usualmente mais caro. Alcança bandas passantes da ordem de 500Mhz, sendo muito empregado até os dias de hoje em redes de televisão a cabo. o FIBRA ÓPTICA - A fibra ótica é o outro tipo de meio físico guiado bastante utilizado. De forma diferente do par trançado e do cabo coaxial, na fibra óptica, os sinais são constituídos de pulsos de luz; sendo assim, a fibra óptica não sofre interferências eletromagnéticas. A fibra óptica é constituída de um filamento flexível e transparente fabricado a partir de vidro ou plástico. Ela é composta de um material com maior índice de refração (núcleo) envolto por um material com menor índice de refração (casca). • MEIOS DE TRANSMISSÃO NÃO GUIADOS A transmissão de sinais em meios não guiados se refere à transmissão em espaço aberto. Nesse ambiente, uma série de sinais e ondas eletromagnéticas estão presentes e compartilham o espaço em diferentes frequências. Os sinais de radiofrequência se espalham desde as centenas de Khz até, no máximo, poucas unidades de Ghz. Estão incluídas nessa faixa as ondas de rádio AM e FM, a TV e a telefonia celular. As redes Wi-Fi operam na faixa conhecida como ISM, nas frequências de 900Mhz, 2.4Ghz e 5Ghz. Nessas faixas de frequência, o sinal transmitido é irradiado em diversas direções, o que permite um bom suporte à mobilidade para as estações receptoras. Devido às altas frequências e consequentemente pequenos comprimentos de onda a faixa de micro-ondas requer linha de visada entre as antenas do transmissor e receptor. O feixe do sinal é direcional e requer alinhamento de antenas. 5.4. DESCREVENDO A CAMADA DE ENLANCE DA ARQUITETURA DE REDES DE COMPUTADORES A camada de enlace está situada imediatamente acima da camada física. Elas atuam juntas de forma direta. Os erros na recepção dos sinais são previstos e a camada física por si só não pode recuperá-los, cabendo à camada de enlace controlá-los. A camada de enlace é subdividida em duas subcamadas: LLC (Controle de Enlace Lógico) e MAC (Controle de Acesso ao Meio), tendo como suas funções: • DELIMITAÇÃO DE QUADROS; • CONTROLE DE ERROS; • CONTROLE DE FLUXO; • CONTROLE DE ACESSO AO MEIO. 5.5. DELIMITAÇÃO DE QUADROS (ENQUADRAMENTO) Para o melhor desempenho de suas funções, a camada de enlace utiliza o quadro como unidade de dados. O quadro é um conjunto de bytes de informação que pode variar de tamanho conforme o protocolo a ser utilizado. Suponhamos que determinado transmissor tenha uma quantidade muito grande de dados para transmitir ao receptor. Ao final dessa transmissão, percebe-se que, em algum momento, houve um erro no sinal recebido por conta dos problemas do canal. Dessa forma, o transmissor precisaria repetir toda a transmissão para garantir a informação correta ao receptor. No entanto, se dividíssemos essa grande quantidade de dados em conjuntos menores (quadros) e transmitíssemos quadro após quadro, havendo um erro na transmissão, seria possível identificar qual quadro foi afetado. Entendendo a importância da utilização de quadros no nível de enlace, verificaremos como criar os quadros, ou seja, como particionar os dados delimitando o início e o fim de cada quadro. Existem basicamente quatro técnicas para realizar o enquadramento dos dados e, em alguns casos, as técnicas são combinadas: Por violação de códigos do nível físico utiliza sinais especiais não empregados na codificação dos bits. 5.5.1. CONTAGEM DE CARACTERE Na técnica de contagem de caractere, a ideia é adicionar um campo no início do quadro, informando o número total de caracteres presentes. Ao receber o quadro, o receptor (RX) lê o campo de contagem e, a partir de então, consegue determinar onde está o final do quadro. O problema dessa técnica simples é que, se houver um erro justamente nesse campo de contagem, o transmissor (TX) e o receptor (RX) terão interpretações diferentes sobre os quadros e perderão completamente o sincronismo. 5.5.2. ENQUADRAMENTO POR CARACTERE Na técnica de enquadramento por caractere, a ideia é utilizar caracteres especiais para indicar o início (STX) e o fim do quadro (ETX). O transmissor insere essas marcas. Com isso, o receptor fica sabendo exatamente onde começa e termina cada quadro. Além disso, outros campos são incluídos no quadro, como os campos de sincronização (SYN), cabeçalho (HEADER) e códigos para verificação de erros (CRC). Uma dificuldade que pode ocorrer com essa técnica é que o campo de dados representa as informações do usuário, e a camada de enlace não tem controle sobre elas. Assim, pode estar presente no campo de dados o padrão idêntico ao do caractere ETX. Ao receber o quadro e percorrê-lo, o receptor interpretaria esse ETX como fim do quadro, o que seria um erro de interpretação. Software é, em primeiro lugar, a utilização de outro caractere especial (DLE) para indicar que, imediatamente após esse caractere, aparecerá o caractere delimitador (STX ou ETX). 5.5.3. ENQUADRAMENTO POR BIT; Nesta técnica, o delimitador de quadros é o flag – sequência padrão de bits, geralmente 01111110. Cada quadro começa e termina com uma marca flag. Havendo falta de sincronismo por algum motivo, tudo o que o receptor tem a fazer é procurar por um flag para ficar sincronizado com o transmissor novamente. De forma análoga à técnica anterior, aqui também ocorre o stuffing. O transmissor percorre o campo de DADOS todo e, ao perceber uma sequência de 5 bits “1”, ele insere um bit “0”, para quebrar o padrão de flag. Ao percorrer o quadro e identificar 5 bits “1” seguidos, o receptor fica alerta; se o próximo bit for “0”, ele sabe que esse bit foi inserido pelo transmissor, caso contrário (o próximo bit for “1”) ele sabe que se trata de um delimitador de quadro, flag. 5.5.4. VIOLAÇÃO DE CÓDIGOS DO NÍVEL FÍSICO. A última técnica de enquadramento estudada é conhecida como violação de códigos do nível físico. A ideia é bastante simples: na transmissão do sinal no meio físico, o bit “1” é representado por alguma característica ou variação do sinal, e o bit “0”, por outra. Se o sinal puder apresentar ainda outras variações que não sejam utilizadas para codificar os bits, essas variações podem ser utilizadas para marcar o início e o fim do quadro, tendo em vista que não serão confundidas com os bits propriamente ditos. Um exemplo é a codificação Manchesterpadronizada pelo IEEE para redes locais. Nesta codificação, o bit “1” é representado por uma transição do sinal de alto para baixo, e o bit “0”, pela transição contrária do sinal de baixo para alto. Assim, as outras duas transições (ou ausência de transições), de baixo para baixo e de alto para alto, estão livres para serem usadas como marcadores de quadro. 5.6. CONTROLE DE ERROS (CODIFICAÇÃO) Existem duas estratégicas básicas para o controle de erro no nível de enlace: open loop (malha aberta, sem canal de retorno) e feedback (malha fechada, com canal de retorno). 5.6.1. OPEN LOOP Na estratégia de open loop, a detecção e correção de erros são feitas completamente pelo receptor. São empregados códigos especiais (FEC: Forward Error Correction) para inserir informação redundante no quadro. Tudo isso para que, ao receber um quadro, o receptor: • Possa usar a codificação para verificar a integridade do quadro; • Havendo algum problema, possa, por si só, alterar o quadro para a forma correta. A desvantagem dessa técnica é a necessidade de se inserir grande quantidade de informação redundante no quadro, de forma que o receptor possa executar as duas tarefas listadas acima sozinho. No entanto, pode ser a única solução, caso a transmissão não tenha canal de retorno. 5.6.2. FEEDBACK A estratégia feedback emprega apenas códigos de detecção de erros, isto é, insere informação redundante que seja suficiente apenas para o receptor testar a integridade do quadro. Havendo um problema, o receptor solicita ao transmissor que retransmita aquele quadro. Assim, é necessário haver um canal de retorno do receptor ao transmissor, situação comum em redes de dados, pois as estações geralmente precisam transmitir e receber dados. 5.7. CONTROLE DE FLUXO O objetivo desse controle é evitar que um transmissor mais rápido acabe sobrecarregando um receptor mais lento com o envio de quadros a uma velocidade mais rápida que o receptor é capaz de suportar, causando um “afogamento” no receptor. Esse descompasso não é desejável, pois o receptor vai acabar descartando os quadros novos e o transmissor teria que retransmiti-los em um outro momento. Uma forma do receptor dosar a velocidade de transmissão de quadros quando estiver empregando os protocolos da família ARQ é simplesmente retardando o envio dos ACKs. Com o campo de um bit é possível numerar os quadros com os números “0” e “1”, o que é necessário para o corretor funcionamento do protocolo stop-and-Wait ARQ. 5.8. SUBCAMADA DE ACESSO AO MEIO. Acamada de enlace é subdividida em duas subcamadas: LLC (Controle de Enlace Lógico) e MAC (Controle de Acesso ao Meio), para lidar com o problema de acesso em enlaces multiponto, tema deste módulo. Nas ligações multiponto, o enlace é compartilhado por diversas estações, porém, para que uma transmissão seja recebida com sucesso pela estação receptora, é necessário que cada estação transmissora envie seus dados em momentos diferentes. Havendo mais de uma transmissão ao mesmo tempo no enlace multiponto, a estação receptora não terá condições de decodificar o sinal – fenômeno conhecido como colisão. Desta forma, em enlaces multiponto, é necessário haver uma regra de acesso a fim de organizar as transmissões, evitando (ou minimizando), com isso, as colisões. O uso do recurso compartilhado, no caso o enlace multiponto, requer o emprego de protocolos de controle de acesso ao meio, o que constitui a principal função da subcamada MAC. 5.9. COMO SOLUCIONAR OS PROBLEMAS As soluções para o problema de compartilhamento de enlaces entre múltiplas estações podem ser divididas em três grandes grupos: 5.9.1. ALOCAÇÃO ESTÁTICA Existem duas técnicas de alocação estática bastante comum, sendo: • FDMA (Acesso Múltiplo por Divisão em Frequência) A largura de banda W do enlace compartilhado é dividida em N, formando, assim, N canais individuais. Cada estação transmissora, ao ingressar no sistema, recebe a alocação estática de um desses subcanais e pode utilizá-la de forma exclusiva com o seu par até o momento de desconexão. • TDMA (Acesso Múltiplo por Divisão no Tempo) A divisão ocorre em função do tempo, onde o tempo de uso do canal é dividido em N fatias (ou slots). Cada estação recebe um slot designado a ela para as suas transmissões com a estação receptora. Mas esse tipo de técnica possui algumas desvantagens como: • Existe um número máximo de estações que podem ser atendidas pelo sistema. No exemplo, esse número é representado por N. Com a chegada de mais uma estação ao sistema (N+1), ela será bloqueada por falta de recursos. • Nessas técnicas, é comum haver desperdício de recursos. Imagine que determinada estação é alocada para utilizar determinado canal. Se essa estação, em algum momento, não tiver nada a transmitir, o canal ficará ocioso e não poderá ser utilizado por outra estação. Como o tráfego de dados ocorre em rajadas (períodos de muita atividade seguidos por períodos de silêncio), essas técnicas podem causar desperdícios significativos de recursos. 5.9.2. CONTENÇÃO Um dos primeiros protocolos a empregar a contenção como técnica de compartilhamento do enlace foi o protocolo ALOHA, no início da década de 1970, na Universidade do Havaí (ABRAMSON, 2009). Existia uma unidade central de processamento (um computador mainframe) que deveria ser acessada por terminais remotos espalhados pela universidade. O protocolo ALOHA determinava, então, que, em uma situação de colisão, o terminal precisaria sortear um número aleatório de espera e só poderia tentar novamente a transmissão após esse tempo. Como os intervalos de tempo de espera para cada terminal eram sorteados aleatoriamente, os terminais acabariam transmitindo em momentos diferentes, evitando novas colisões. A solução empregada pelo protocolo ALOHA era bastante simples, e isso ocasionava baixo desempenho para a rede como um todo. O baixo desempenho do protocolo ALOHA motivou o desenvolvimento de protocolos mais elaborados: • S-ALOHA - A ideia imediata era reduzir os eventos em que as colisões pudessem ocorrer. Levando isso em consideração, foi desenvolvido o S-ALOHA (ALOHA com slots de tempo). Assim, o terminal só poderia transmitir algo sempre no início de cada slot, fazendo com que o número de eventos de colisão ocorresse apenas nesses momentos. O desempenho do S-ALOHA era duas vezes maior do que o desempenho do ALOHA, mas, ainda assim, isso era considerado muito baixo. • CSMA - Na tentativa de reduzir as colisões, foi desenvolvido o protocolo CSMA (Acesso múltiplo com Detecção de Portadora). Para reduzir os eventos de colisão, os terminais que empregam o CSMA “escutam” o meio físico antes de transmitir e só realizam a transmissão ao perceberem que o meio está livre, ou seja, não existe outro terminal transmitindo naquele momento (não foi possível detectar a presença de algum sinal no meio). As colisões ainda podem ocorrer no CSMA se o meio estiver livre e mais de um terminal estiver “escutando” o meio antes de transmitir. Com o meio livre, esses terminais transmitem ao mesmo tempo, gerando a colisão. A detecção de um evento de colisão acontece tal como no ALOHA, ao aguardar a confirmação ACK do terminal receptor. Havendo colisão, os terminais aguardam um intervalo de tempo sorteado aleatoriamente. Depois disso, tentam iniciar novamente a transmissão. • CSMA/CD (Acesso múltiplo com detecção de portadora e detecção de colisão) - que foi padronizado pelo IEEE por meio da série IEEE802.3 (ETHERNET), para ser utilizado em redes locais cabeadas. 5.9.3. ORDENADO Na categoria de contenção e alocação de protocolos, encontramos aqueles que garantem o acesso ordenado ao meio físico, e, portanto, são livres de colisões. São várias as possibilidades dentro dessa categoria, mas nos concentraremos nos protocolos que utilizam passagem de permissão. Permissão nada maisé do que um quadro especial que circula pela rede. Com isso, a estação que capturar a permissão terá o direito de realizar a transmissão. Dois protocolos de passagem de permissão foram padronizados pelo IEEE: • TOKEN RING (PASSAGEM DE PERMISSÃO EM ANEL) a) Topologia de rede de passagem de permissão em anel:As estações são conectadas em uma estrutura topológica em anel para que a permissão (token) possa circular pelo anel. Quando a estação deseja transmitir, ela captura a permissão e realiza a sua transmissão. Após esse momento, ela libera novamente a permissão para circular pelo anel e permitir que outra estação possa também receber a permissão e realizar a sua transmissão. b) Formas de operação das interfaces de cada estação com o anel: A figura superior mostra o comportamento padrão da interface durante o modo de escuta do barramento em anel, enquanto a figura inferior ilustra a interface da estação quando no modo de transmissão. Durante a transmissão, a estação abre a interface com o anel para capturar o token e também para inserir o seu quadro de informação no barramento. O padrão IEEE 802.5 token ring especifica ainda uma série de modos de operação para o anel e as funções de gerência necessárias para o controle do token, contribuindo, assim, para o bom funcionamento da rede. • TOKEN BUS (PASSAGEM DE PERMISSÃO EM BARRA) As redes de passagem em permissão em barra, padrão IEEE 802.4, são semelhantes às redes em anel, porém as estações são conectadas em um barramento. Elas caracterizam um bom exemplo de topologia física (conexão física das estações) em barra e topologia lógica (dada pelo funcionamento do protocolo) em anel. A motivação para a padronização de tais redes veio do setor industrial e fabril, que opera com as suas máquinas em linhas de produção, o que exige como pré-requisito uma rede com topologia em barra. 6.0. – TEMA 06 – AULA – FUNDAMENTOS DE ADMINISTRAÇÃO E SEGURANÇA EM REDES DE COMPUTADORES A internet é uma rede comercial que pode ser utilizada por qualquer pessoa ou empresa em todos os cantos do mundo. Com isso, possíveis problemas de segurança afloram. Pessoas mal-intencionadas utilizam essa rede para realizar atividades maliciosas, como roubo de informações e de identidade, paralisação de serviços etc. DEFINIÇÕES Para identificar os riscos relacionados ao uso de uma rede de computadores, é importante conhecer algumas definições. Por conta disso, iremos nos basear na norma ABNT NBR ISO IEC 27001:2013, reconhecida mundialmente como uma referência na área de segurança. Essa norma apresenta as seguintes definições: • AMEAÇA - Causa potencial de um incidente indesejado que pode resultar em danos a um sistema ou organização. • ATAQUE - Tudo aquilo que tenta destruir, expor, alterar, desativar, roubar, obter acesso não autorizado ou fazer uso não autorizado de um ativo. • ATIVO - Qualquer coisa que tenha valor para uma pessoa ou organização. Exemplo: os dados do cartão de crédito, um projeto de uma empresa, um equipamento e até mesmo os colaboradores de uma empresa podem ser definidos como ativos humanos. Um incidente de segurança ocorre quando uma ameaça se concretiza e causa um dano a um ativo. Se uma ameaça se concretizou e causou um dano, isso significa que alguma propriedade da segurança foi comprometida. Três propriedades são tratadas como os pilares da segurança: Confidencialidade, Integridade e Disponibilidade (CID). Além delas, outras propriedades também são importantes no contexto de segurança. A norma ABNT NBR ISO IEC 27001:2013 destaca as seguintes: • CONFIDENCIALIDADE - Propriedade cuja informação não está disponível para pessoas, entidades ou processos não autorizados. Em outras palavras, a confidencialidade está relacionada ao sigilo dos dados. Somente entes autorizados podem acessá-los; • INTEGRIDADE - Propriedade que protege a exatidão e a completeza de ativos. Trata-se da indicação de que o dado não foi adulterado. Exemplo: um ativo permanece intacto após ser armazenado ou transportado. • DISPONIBILIDADE - Propriedade de tornar o dado acessível e utilizável sob demanda por fontes autorizadas. Se uma pessoa ou um processo autorizado quiser acessar um dado ou equipamento, ele estará em funcionamento. • AUTENTICIDADE - Propriedade que assegura a veracidade do emissor e do receptor de informações trocadas. A autenticidade assevera que quem está usando ou enviando a informação é realmente uma determinada pessoa ou processo. Em outras palavras, garante a identidade. • NÃO REPÚDIO OU IRRETRATABILIDADE - Propriedade muito importante para fins jurídicos. Trata-se da garantia de que o autor de uma informação não pode negar falsamente a autoria dela. Desse modo, se uma pessoa praticou determinada ação ou atividade, ela não terá como negá-la. O não repúdio é alcançado quando a integridade e a autenticidade são garantidas. • CONFIABILIDADE - Propriedade da garantia de que um sistema vai se comportar segundo o esperado e projetado. Exemplo: se determinado equipamento foi projetado para realizar uma operação matemática, esse cálculo será realizado corretamente. • LEGALIDADE - Propriedade relacionada com o embasamento legal, ou seja, ela afere se as ações tomadas têm o suporte de alguma legislação ou norma. No caso do Brasil, podemos citar o Marco Civil da Internet, a Lei Geral de Proteção de Dados (LGPD) e o conjunto de normas 27.000 da ABNT. 6.1. ATAQUES ATIVOS E PASSIVOS ETAPAS DE UM ATAQUE Precisamos dividir um ataque em sete etapas para poder analisá-lo de forma mais criteriosa: • RECONHECIMENTO - Na primeira etapa, o ator da ameaça realiza uma pesquisa para coletar informações sobre o local a ser atacado. Trata-se de uma fase preparatória na qual o atacante procura reunir o máximo de informações sobre o alvo antes de lançar um ataque ou analisar se vale a pena executá-lo. As informações podem ser obtidas por meio de diversas fontes como Sites, Dispositivos de rede voltados para o público, Artigos de notícias, Anais de conferências, Meios de comunicação social. • ARMAMENTO (WEAPONIZATION) - Após a coleta de informações, o atacante seleciona uma arma a fim de explorar as vulnerabilidades dos sistemas. É comum utilizar a expressão exploits para essas armas, que podem estar disponíveis em sites na internet ou ser desenvolvidas especificamente para determinado ataque. O desenvolvimento de uma arma própria dificulta a detecção pelos mecanismos de defesa. Essas armas próprias são chamadas de zero-day attack. • ENTREGA (DELIVERY) - Nesta fase, o atacante entrega a arma desenvolvida para o alvo. Para essa entrega, podem ser utilizados diversos mecanismos. Eis alguns exemplos Mensagens de correio eletrônico (e-mail); Mídias USB; Websites falsos ou infectados; Interação nas redes sociais. • EXPLORAÇÃO - A etapa de exploração ocorre quando o atacante, após entregar a arma, explora alguma vulnerabilidade (conhecida ou não) na máquina infectada em busca de outros alvos dentro da rede de destino. As vulnerabilidades que não são publicamente conhecidas são chamadas de zero-day. No caso do emprego de phishing, a exploração ocorre quando o e-mail recebido é aberto e o usuário clica no link ou abre o anexo, instalando um software malicioso que infecta a sua máquina. Isso permite o controle dela por parte do autor do ataque. • INSTALLATION - A partir da exploração da máquina realizada na fase anterior, o atacante busca instalar algum tipo de software que permita a manutenção do acesso à máquina ou à rede em um momento posterior. Para essa finalidade, é instalado no sistema alvo um Remote Access Trojan (RAT). Conhecido também como backdoor, o RAT permite ao atacante obter o controle sobre o sistema infectado. • COMANDO E CONTROLE - A partir do momento em que um RAT (backdoor) é instalado no sistema alvo, o atacante passa a ter um canal de comunicação com o software instalado no alvo. Denominado
Compartilhar