Tele-Processamento e Redes (Redes de Computadores) Prof. Fábio Moreira Costa Capítulo 1 Introdução Usos de redes de computadores e suas implicações Hardware de redes: visão geral LANs, MANs, WANs, PANs, SANs Tecnologias de interconexão (com fio, sem fio, broadcast) Software de redes: visão geral Protocolos de rede: hierarquias, camadas Serviços: interfaces, primitivas, com e sem conexão Modelos de referência: OSI, TCP/IP Exemplos de redes e serviços de comunicação Capítulo 1, Tanenbaum Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 2 Comentários Iniciais No princípio: computadores isolados, sem comunicação Cenário intermediário: computadores (mainframes) com terminais conectados a eles através de linhas telefônicas ou canais dedicados Relação mestre-escravo Atualmente: convergência das tecnologias de computação e comunicações Conectividade em rede tornou-se a regra Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 3 Rede de Computadores Uma coleção interconectada de computadores autônomos. Interconectividade: computadores capazes de trocar informações Cabo de cobre, fibra ótica, micro-ondas, satélite, etc. Autonomia: computadores são independentes entre si Nenhuma relação do tipo mestre-escravo: em geral, um computadore não pode controlar outros na rede Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 4 Rede de Computadores (2) intranet ISP backbone satellite link desktop computer: server: network link: [Coulouris,Dolimore&Kindberg, 2001] Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 5 Redes vs. Sistemas Distribuídos Sistema Distribuído: mascara a existência de múltiplos computadores autônomos Transparência: a rede se passa por um sistema computacional unificado - um uniprocessador virtual Rede de computadores: uso explícito dos recursos na rede O sistema operacional distribuído (ou middleware) se encarrega dos problemas relativos à distribuição Ex.: login, acesso a arquivos remotos, disparo de processos remotos, aspectos de localização Uma questão de software Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 6 Usos de Redes de Computadores Em empresas compartilhamento de recursos elevada confiabilidade e disponibilidade economia - fator custo/desempenho meio de comunicação Indivíduos acesso a informações remotas meio de comunicação entretenimento Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 7 Implicações Sociais Privacidade Segurança Sobrecarga de informações Facilidade de se publicar idéias ex.: e-mail spams mais quantidade do que qualidade Questões éticas Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 8 Algumas Novas Aplicações Correio eletrônico Multimídia e Hipermídia distribuída Grupos de discussão Teleconferência Ensino à distância Comércio eletrônico Jogos interativos à distância TV interativa Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 9 Hardware de Redes Classificações de redes Redes de broadcast vs. ponto-a-ponto Área de cobertura da rede Redes locais (LAN) Redes metropolitanas (MAN) Redes de longa distância (WAN) Redes de área pessoa (PAN) Redes de área de sistema (SAN) Redes sem-fio vs. redes com fio Inter-redes (internetworks) Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 10 Redes de Broadcast (difusão) Todas as estações conectadas a um meio físico compartilhado Mensagens (pacotes) enviados por uma estação são vistas por todas as demais Endereçamento: para destinos específicos: unicasting Mensagens endereçadas para outras máquinas são ignoradas para todas as estações: broadcasting para grupos de estações: multicasting Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 11 Redes ponto-a-ponto Conexões dedicadas interconectam pares de estações Mensagens precisam passar por estações intermediárias até chegar ao destino roteamento caminhos alternativos Em geral: unicasting Broadcasting/Multicasting: requer o envio de múltiplas mensagens Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 12 Área de Cobertura de uma Rede 0.1m: multiprocessadores, máquinas data flow 1m: multicomputadores 1-10m: redes de área de sistema (SAN), cluster, redes de área pessoal (PAN) 10-1000m: redes locais (LAN) 10Km: redes metropolitanas (MAN) > 100Km: redes de longa distância (WAN), redes globais (ex.: Internet) Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 13 Redes Locais (LAN) Área de cobertura limitada Dentro de uma área física Dentro de uma instituição Permite suposições sobre: atrasos de transmissão, padrões de uso Simplifica o projeto e gerenciamento Meios de transmissão Meios compartilhados (broadcast) Cabos de cobre, fibra ótica, rádio Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 14 Redes Locais (2) Desempenhos típicos Taxas de transmissão: 10Mbps – 1Gbps 1 megabit = 1.000.000 bits (não 220 bits!) Atrasos de transmissão: da ordem de dezenas de microssegundos Taxa de erros: 10-6 – 10-9 Topologias Barramento Anel Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 15 Redes Locais (3) Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 16 Redes Locais (4) Controle de acesso ao meio Estático Reservar fatias de tempo fixas para cada estação transmitir Dinâmico Centralizado: um nó central da rede dertermina qual estação será a próxima a transmitir, com base em algum algoritmo de alocação Descentralizado: cada estação decide quando transmitir ou não Algoritmos (distribuídos) de controle de contenção Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 17 Redes Metropolitanas Versão ampliada de uma rede local Protocolos e estruturas especiais para lidar com distâncias maiores Tipicamente sem elementos de chaveamento Meio compartilhado, controle de acesso ao meio, etc Uma única rede física (ex. um par de cabos) Atualmente: Tecnologias LAN / WAN têm ganhado terreno no contexto de redes metropolitanas Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 18 Redes Metropolitanas (2) Exemplo clássico DQDB (Distributed Queue Dual Bus) – IEEE 802.6 MAN Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 19 Redes de Longa Distância (WAN) Extensão geográfica Dois tipos de hardware: Hosts: processamento de aplicação Estações de trabalho, sistemas terminais (end systems) Sub-Rede de comunicação (subnet): dedicada à condução de mensagens entre hosts Linhas de comunicação (canais, circuitos, troncos) Elementos de comutação (chaveamento): computadores especializados usados para interconectar duas ou mais linhas de transmissão Ponto-a-ponto Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 20 WANs – Elementos de Comutação Designações alternativas: nós de comutação de pacotes sistemas intermediários centrais de comutação de dados roteadores Recebem dados (pacotes) por meio de uma linha de transmissão e os re-transmitem por meio de outra Roteamento de pacotes Host de origem nós intermediários host de destino Store-and-forward, comutação de pacotes Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 21 WANs – configuração típica Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 22 WANs – Topologias Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 23 Redes Sem Fio (wireless) Mobilidade + Conectividade Dispositivos móveis Aplicações móveis Escritório portátil, serviços de emergência, etc... Alternativa a redes com cabeamento PDAs, notebooks, telefones celulares Em edifícios antigos/históricos Distâncias variadas (tecnologias diferentes) poucos metros: LANs (802.11), PANs (Bluetooth) a alguns kilômetros: WANs (sitema móvel celular) Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 24 Redes Sem Fio (2) Taxas de transmissão mais baixas que em redes com cabeamento Taxas de erros mais altas 2Mbps a 11Mbps tipicamente (até 54Mbps) Interferência de sinal, caminhos múltiplos Problemas de segurança Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 25 Inter-Redes (Internetworking) Conectando redes independentes e possivelmente incompatíveis para formar uma teia de redes Gateways: resolvem as incompatibilidades (de hardware e software) entre as redes interconectadas Conversão de protocolos, tipos de serviço, endereçamento, etc. Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 26 Interconexão de Redes Rede de Interconexão Gateway Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 27 Software de Redes Hierarquias de protocolos e camadas Interfaces (entre camadas ajacentes) e serviços Serviços orientados a conexão e sem conexão Primitivas de serviço Serviços Vs. Protocolos Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 28 Hierarquias de Protocolos Objetivo: Estratificar a rede em camadas, de forma a simplificar o projeto/implementação Uma camada utiliza serviços da camada inferior e oferece serviços para a camada superior Camada n Fornece serviço Requisita serviço Camada n-1 Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 29 Hierarquias de Protocolos (2) Em cada máquina, o hardware/software de redes é estruturado em camadas A camada n em uma máquina “conversa” com a camada n em outra máquina Protocolo da camada n: acordo mútuo sobre como a comunicação deve proceder (na camada n) Regras de formatação e tipos de pacotes, ordem dos pacotes, etc. Detalhes de camadas inferiores são abstraídos Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 30 Hierarquias de Protocolos (3) Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 31 Hierarquias de Protocolos (4) Camadas adjacentes interagem através de interfaces bem definidas Operações e serviços que a camada inferior oferece à camada superior Contribui para a independência entre as implementações das camadas A implementação de uma camada pode ser substituída por outra implementação sem afetar as camadas adjacentes Camada n Interface () Camada n-1 Desde que a interface seja preservada! Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 32 Hierarquias de Protocolos (5) Arquitetura de rede: Conjunto de camadas e protocolos Pilha de protocolos Especificação completa para garantir a interoperabilidade de implementações diferentes com respeito ao protocolo de cada camada Não são parte da arquitetura: Detalhes de implementação Especificação das interfaces entre camadas Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 33 Hierarquias de Protocolos: Uma Analogia Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 34 Hierarquia de Protocolos: Fluxo de Informações Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 35 Camadas de Protocolos: Aspectos de Projeto Identificação e endereçamento Regras de transferência de dados Transmissores e receptores Simplex Half-duplex Full-duplex t1 t2 Controle de erros de transmissão Protocolos para detecção e correção de erros Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 36 Camadas de Protocolos: Aspectos de Projeto (2) Ordem das mensagens Controle de fluxo Numeração seqüencial Re-ordenação Protocolo de acknowledgement Fixar um limite à taxa de transmissão Tamanho das mensagens aceitas pela camada Quebra e re-montagem de mensagens longas Combinação e desmembramento de msgs. curtas Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 37 Camadas de Protocolos: Aspectos de Projeto (3) Multiplexação Uso de uma mesma conexão para transmitir múltiplas “conversações” entre processos diferentes Roteamento Definir o caminho pelo qual mensagens trafegarão para atingir o destino Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 38 Interfaces e Serviços: Terminologia Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 39 Interfaces e Serviços: Terminologia Entidades pares Entidade da camada n+1 n+1-PDU Interface IDU IDU ICI SDU SDU SDU’ n-PDU ICI SDU” n-PDU A camada n oferece um serviço à camada n+1 Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 40 Serviços Orientados a Conexão Uma conexão precisa ser estabelecida antes que mensagens individuais sejam transmitidas A conexão permanece aberta enquanto durar a transmissão das mensagens (sessão) A conexão é fechada quando a sessão terminar Todas as mensagens transmitidas por uma conexão estão sujeitas ao mesmo tratamento Propriedades da conexão, rota associada, etc. A ordem das mensagens é preservada Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 41 Serviços sem Conexão Cada mensagem individual é independente das demais contém o endereço completo do destino pode ser roteada por um caminho diferente A ordem das mensagens pode ser alterada (incidentalmente) Às vezes chamado de serviço de datagrama Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 42 Qualidade de Serviço Confiabilidade nível de perda e/ou “embaralhamento” de mensagens Serviços orientados a conexão são tipicamente confiáveis neste sentido baseados em seqüências de mensagens baseados em fluxo de bytes overhead adicional para estabelecer a conexão garantia de alta confiabilidade: acknowledgement Embora nem toda aplicação possa aceitar o overhead Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 43 Qualidade de Serviço (2) Em serviços de datagrama (sem conexão) Tipicamente não confiáveis As mensagens têm uma boa probabilidade de serem entregues ao destino, mas sem garantias Serviço de datagrama confiável: acknowledgement Em um nível mais elevado: request-reply A B Típico em sistemas cliente/servidor Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 44 Tipos de Serviço: Resumo Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 45 Primitivas de Serviço Usadas pela entidade da camada n+1 para determinar a ação de serviço a ser executada pela entidade da camada provedora (n) Classificação das primitivas comuns Primitiva Significado Requisição Uma entidade requer que o serviço realize alguma tarefa Indicação Uma entidade é informada sobre a ocorrência de um evento Resposta Uma entidade quer responder a um evento (ou requisição) Confirmação A resposta a uma requisição anterior foi recebida Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 46 Primitivas de Serviço - Exemplo Computador 1 Computador 2 CONNECT.request CONNECT.indication CONNECT.response CONNECT.confirm DATA.request DATA.request DATA.request DATA.indication ... DATA.indication DATA.indication DISCONNECT.request DISCONNECT.indication Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 47 Primitivas de Serviço: Visualização em Camadas Computador 1 Computador 2 CONNECT.request CONNECT.indication CONNECT.response CONNECT.confirm DATA.request DATA.request DATA.request DATA.indication ... DATA.indication DATA.indication DISCONNECT.request DISCONNECT.indicatio camada n+1 camada n+1 camada n camada n Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 48 Primitivas de Serviços Legenda: 1- CONNECT.request 5- DATA.request 2- CONNECT.indication 6- DATA.indication 3- CONNECT.response 3- DISCONNECT.request 4- CONNECT.confirm 4- DISCONNECT.indication Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 49 Serviços vs. Protocolos Serviço: Conjunto de primitivas que uma camada provê para a camada imediatamente superior Definido pela interface entre as duas camadas Protocolo: Conjunto de regras governando o formato e o significado das mensagens (ou quadros, ou pacotes) trocadas entre entidades pares em uma mesma camada Relacionado com a implementação do serviço Dois conceitos distintos/independentes Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 50 Modelos de Referência OSI-RM TCP/IP Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 51 O Modelo de Referência OSI Padrão ISO (International Organization for Standardization) Conexão de sistemas abertos Divide uma arquitetura de redes em camadas Sistemas capazes de se comunicar utilizando protocolos e serviços padrão (não-proprietários) Sete camadas no total Valor histórico-didático atualmente Implementações não atingiram o mercado Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 52 O Modelo de Referência OSI 53 OSI: Princípios para definição das camadas Cada camada define um nível de abstração diferente Cada camada realiza uma função bem definida Protocolos padronizados internacionalmente em cada camada Minimizar o fluxo de informações entre camadas Número de camadas Grande o suficiente para não misturar funções diferentes Pequeno o suficiente para não dificultar o projeto e implementação de uma arquitetura de redes OSI-RM não define uma arquitetura de redes em si Apenas a funcionalidade associada a cada camada Padrões complementares da ISO: protocolos e serviços para as camadas Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 54 OSI: Camada Física Transmissão de bits “crus” em um canal de comunicação Um bit transmitido como 1 deve ser recebido como 1 (e não 0) do outro lado do canal Níveis de voltagem para representar 1s e 0s Duração do sinal correspondente a cada bit Direcionalidade da transmissão Estabelecimento e término de conexões Interface física Aspectos mecânicos, elétricos e procedurais Meio físico de transmissão Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 55 OSI: Camada de Enlace Prover um canal lógico de comunicação Livre de erros não detectados Estruturado Fluxo de dados é segmentado em quadros (frames) transmitidos seqüencialmente Delimitadores de início e fim de quadros Padrões de bits especiais Com reconhecimento de quadros transmitidos/recebidos Quadros especiais de acknowledgement (ACK) Evitar a perda de quadros Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 56 Camada de Enlace: Problemas a serem resolvidos Delimitação de quadros Perda e adulteração de quadros Detecção e correção de erros Retransmissão Duplicação de quadros retransmitidos Ex.: se o reconhecimento de um quadro for perdido Controle de fluxo Transmissão eficiente de quadros de ACK Piggybacking: ACKs pegam carona em quadros transmitidos no sentido oposto ao dos quadros sendo reconhecidos Controle de acesso ao meio: Sub-camada MAC Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 57 OSI: Camada de Redes Controle da operação da sub-rede Roteamento Controle de congestionamento Contabilização de uso da rede (para efeitos de custo) Conexão de redes heterogêneas conversão de protocolos, endereços, etc. Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 58 OSI: Camada de Transporte Segmentação de mensagens Em unidades (pacotes) menores que possam ser tratadas pela camada de redes Se necessário Camada de Transporte Mensagem Camada de Redes Pacotes Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 59 Camada de Transporte (2) Multiplexação de várias conexões de transporte em uma única conexão da camada de redes (a) Uso de várias conexões em nível de rede para transmitir uma única conexão de transporte (b) Camada de Transporte Camada de Transporte Camada de Redes Camada de Redes (a) (b) Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 60 Camada de Transporte (3) Tipo de serviço provido à camada superior Conexão ponto-a-ponto confiável (livre de erros) Datagrama (mensagens isoladas), sem garantias de ordenação Broadcast de mensagens para múltiplos destinos Controle de fluxo Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 61 Camada de Transporte (4) Comunicação fim-a-fim Entre processos localizados em máquinas diferentes Um nível adicional de endereçamento Host B Host A Conexão de rede Conexão de transporte Teleprocessamento e Redes – Prof. Fábio M. Costa – Instituto de Informática – UFG 62