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