Comunicação de Dados por Fernando Luís Dotti [email protected] Sumário Modelo de sistema de comunicação WANs, LANs Arquiteturas de Protocolos * Fontes: Stalling, W. Data and Computer Commmunications Transparências Stallings e Ana Benso Modelo de Comunicação Origem – Gera dados a serem transmitidos Transmissor – Converte os dados em sinais transmissíveis Sistema de Transmissão – Transmite os sinais Receptor – Converte os sinais recebidos em dados Destino – Trata os dados recebidos Modelo - Diagrama Comunicação Utilização do sistema de transmissão Interfaceamento Geração de Sinais Sincronização Detecção e correção de erros Endereçamento e roteamento Formatação das mensagens Segurança Gerenciamento da rede Modelo de Comunicação - Sinais A Rede Ligações ponto-a-ponto nem sempre são práticas – distância entre os dispositivos – grande número de dispositivos interconectados Rede de comunicação Modelo de Rede Wide Area Networks - WANs Grandes áreas geográficas Rede pública de comunicação Híbrida = redes públicas + redes privadas Tecnologias – Redes de Comutação de Circuitos – Redes de Comutação de Pacotes – Frame relay – Asynchronous Transfer Mode (ATM) Chaveamento de Circuito Caminho de comunicação dedicado é estabelecido durante a conversação e.g. rede de telefonia Chaveamento de Pacote Dados enviados em pequenos pacotes de dados pacotes passados de nodo em nodo entre fonte e destino usado para comunicação terminalcomputador e computador-computador Frame Relay Chaveamento de pacote: – alto overhead para compensar erros existentes no canal de transmissão Sistemas modernos são mais confiáveis Erros tratados no sistema final e não em nodos intermediários Maior parte do overhead é eliminado Asynchronous Transfer Mode ATM Evolução do frame relay Baixo overhead para controle de erros Pacotes de tamanho fixo - célula Desde alguns Mbps até Gbps Possível alocar canais de capacidade garantida Local Area Networks - LANs Distâncias pequenas – soluções técnicas diferentes Usualmente privadas Alta taxa de transferência de dados Tecnologias – Ethernet, Fast Ethernet, GigaEthernet – Token Ring – ATM Arquitetura de Protocolos Arquitetura de Protocolos controle de erros: canais mais confiáveis - retransmissão reseqüenciamento: reordenar mensagens fora de ordem controle de fluxo: evita “inundar” receptor mais lento controle de congestionamento: evita “inundar” rede mais lenta fragmentação: dividir mensagens em pedaços menores para adaptar a camada de protocolo inferior multiplexação: combinar várias sessões de comunicação em um “canal” compressão de dados translação de formatos entre fonte e destino resolução de endereços roteamento de pacotes ... Arquitetura de Protocolos Divisão da complexidade Tarefa de comunicação dividida em módulos Módulos -> protocolos Arquitetura de Protocolos Exemplo: TCP/IP Arquitetura de Protocolos TCP/IP Desenvolvido pela Agencia de Progetos Avançados de Pesquisa (US Defense Advanced Research Project Agency -DARPA) para sua rede de pacotes (ARPANET) Utilizado na internet Níveis principais – – – – – aplicação transporte fim a fim internet nível de acesso a rede nível físico Nível Físico Interface entre dispositivo de transmissão (computador) e meio de transmissão ou rede Características do meio de transmissão Níveis de sinais Taxas de transmissão etc. Nível de acesso a rede (enlace) Troca de dados entre sistemas adjacentes - i.e. compartilham mesma rede física endereçamento controle de erros, fluxo Nível Internet (IP) Sistemas podem estar acoplados a diferentes redes físicas Funções de roteamento entre redes físicas diferentes Implementado em sistemas finais e roteadores Nível de Transporte (TCP) Entrega confiável dos dados – ordenação – entrega completa – eliminação de duplicatas Nível de Aplicação Suporte a aplicações do usuário – e.g. http – SMPT – ftp – telnet – etc. Arquitetura de Protocolos TCP/IP Protocol Data Units (PDU) Em cada nível, protocolos são utilizados para comunicar Informação de controle é adicionada aos dados do usuário em cada nível Protocol Data Units (PDU) PDU de Transporte – dados vindos da aplicação – nível de transporte pode fragmentar os dados – cada fragmento com um cabeçalho de controle, adicionando: • endereço final • número de sequencia • código de detecção de erro – Dados do usuário + controle = PDU de transporte Unidade de Dado do Protocolo de Transporte Protocol Data Units (PDU) PDU de Rede – dados vindos do nível de transporte – nível de rede adiciona endereços origem e destino – Dados do usuário (PDU de Transporte) + controle = PDU de rede Unidade de Dado do Protocolo de Rede Protocol Data Units (PDU) PDUs noTCP/IP Arquitetura de Protocolos Elementos básicos – Sintaxe • Formato dos dados e controle transmitidos – Semântica • significado do controle transmitido – Temporização • Diferenças de velocidade na rede • Validade das informações Arquitetura de Protocolos Encapsulamento Segmentação e Blocagem Controle de Conexão Entrega ordenada Controle de Fluxo Controle de Erro Endereçamento Multiplexação Serviços de Transmissão Arquitetura de Protocolos Encapsulamento Adição de informações de controle aos dados – informações de endereçamento – informações para detecção de erro – informações de controle do protocolo Arquitetura de Protocolos Segmentação Blocos de dados estão fora dos limites Mensagens do nível de aplicação são grandes Pacotes de redes devem ser pequenos Divir um pacotes em vários é segmentação (ou fragmentação no TCP/IP) – blocos ATM (células) tem 53 bytes – blocos Ethernet (frames) tem 1500 bytes Arquitetura de Protocolos Por que Fragmentar? Vantagens – – – – controle de erro mais eficiente igualdade no acesso aos recursos da rede atraso menor bufferes menores para envio/recepção Desvantagens – Overhead – aumenta as interrupções no receptor – mais tempo de processamento Arquitetura de Protocolos Controle de Conexão Estabelecimento da conexão Transferência de dados Encerramento da conexão Gerencimamento de resets ou perda da conexão Números de seqüência usados para – entrega ordenada – controle de fluxo – controle de erro Arquitetura de Protocolos Serviço não Orientado a Conexão Arquitetura de Protocolos Serviço Orientado a Conexão Arquitetura de Protocolos Entrega Ordenada Pacotes passam por diferentes redes até chegar ao destino Pacotes podem chegar fora de ordem Número sequecial permite a ordenação dos pacotes Arquitetura de Protocolos Controle de Fluxo Executado pela entidade receptora Limita a quantidade ou a taxa de transferência dos dados Stop and wait Sistema de créditos – Sliding window Arquitetura de Protocolos Controle de Erros Controla perdas e erros de transmissão Detecção de erros – – – – A origem insere bits para detecção de erros O receptor verifica a ocorrência de erros Se está OK, aceita o pacote (acknowledge) Se tem erros, descarta o pacote Retransmissão – Se o reconhecimento não chegar a origem em tempo, retransmite o pacote. Executado em vários níveis Arquitetura de Protocolos Serviços não Confirmados service.request service.indication Arquitetura de Protocolos Serviços Confirmados service.request service.indication service.response service.confirm Arquitetura de Protocolos Endereçamento Nível do Endereçamento Escopo do Endereçamento Identificadores de Conexão Modo de Endereçamento Arquitetura de Protocolos Nível do Endereçamento Nível na arquietura em uso na entidade Endereço único para cada sistema (hostsI) e roteadores Endereço de nível de rede – Endereço IP (TCP/IP) – NSAP - Network service access point (OSI) Processos dentro do sistema – Número da porta (TCP/IP) – SAP - Service access point (OSI) Arquitetura de Protocolos Conceitos de Endereço Arquitetura de Protocolos Escopo do Endereçamento Endereço único – Existe somente um sistema com endereço X Aplicabilidade global – Em qualquer sistema é possível identificar qualquer outro sistema pelo seu endereço global – O endereço X identifica um sistema vísivel de qualquer lugar da rede Exemplo: Endereços MAC em redes IEEE 802 Arquitetura de Protocolos Identificadores de Conexão Transferência orientada a conexão Alocar identirficador durante transferência – reduz overhead: identificadores menores que endereços globais; – roteamento pode ser fixo, baseado nos identificadores Arquitetura de Protocolos Modos de Endereçamento Usualmente um endereço refere-se a um único sistema – Unicast Pode endereçar todas as entidades dentro de um domínio – Broadcast Pode endereçar um subconjunto de entidades dentro de um domínio – Multicast Arquitetura de Protocolos Multiplexação Suporte a múltiplas conexões em uma máquina Mapeamento de múltiplas conexões de um nível e uma conexão de outro nível Arquitetura de Protocolos Serviços de Transmissão Prioridade – controle de mensanges Quality of service (QoS) – throughput mínimo aceitável – retardo máximo aceitável Segurança – restrições de acesso Modelo de Referência OSI Open Systems Interconnection Princípios: nível tem funções bem definidas e diferenciadas números de níveis suficientes para conter as funções distintas sem sobrecaga ou redundância arquitetura para interoperabilidade de sistemas heterôgeneos OSI Aplicação Transferência de Arquivos, E-mail, etc Apresentação Sixtaxe Abstrata, Sintaxe de Contexto Sessão Estabelecimeto e Gerência da Conexão Transporte Comunicação fim-a-fim Redes Roteamento, endereçamento,... Enlace Funções entre máquinas adjacentes, acesso ao meio Físico Transmissão de sinais OSI - Protocolo de Nível N Aplicação P. Aplicação Aplicação P. Apresentação Apresentação Sessão Transporte Rede Enlace Físico P. Sessão P. Transporte P. Rede P. Enlace P. Físico Apresentação Sessão Transporte Rede Enlace Físico OSI OSI - Framework OSI - Framework ... N+1 Protocolo N + 1 SAP N+1 SAP Protocolo N N SA P N-1 N Protocolo N - 1 SA P N-1 OSI - Conceitos Especificação de protocolos – operam entre o mesmo nível entre dois sistemas – pode envolver diferentes sistemas operacionais – precisa • o formato das unidades de dados • a semântica de todos os campos Definição de Serviço – descrição do que é provido Endereçamento – referciando pelos SAPs (Service Access Points) OSI - Níveis Físico – dispositivos entre interfaces físicas • • • • mecânica elétrica funcional procedural Enlace – ativação, manutenção e desativação de um enlace confiável – detecção e controle de erro OSI - Níveis Rede – roteamento – níveis superiores não necessitam conhecer a tecnologia subjacente Transporte – – – – – transporte de dados entre sistemas fim-a-fim controle de erro sequenciamento controle de fluxo QoS OSI - Níveis Sessão – Controle de diálogos entre aplicações – Sincronização – Recuperação de falhas Apresentação – Codificação e formatação de dados – Compressão de dados – Criptografia Aplicação – X.500, X.400, FTAM, CMISE (CMIP), ... OSI - O Uso de Relay Arquitetura TCP/IP Arquitetura de protocolos comercialmente dominante Especificada e extensivamente utilizada antes da OSI Desenvolvida por pesquisadores do departamento de defesa Usada na Internet Arquitetura TCP/IP Aplicação FTP Telnet HTTP Aplicação Apresentação Sessão Tranporte Internetwork Host to Network TCP UDP IP Ethernet Ponto-a Fast E. Ponto Transporte Rede Enlace Físico OSI v TCP/IP Arquitetura TCP/IP Nível de Aplicação – Comunicação entre processos de aplicação Nível de Transporte – Transmissão de dados fim-a-fim – Pode incluir mecanismos de confiabilidade (TCP) – Suprime detalhes dos níveis inferiores Nível de Rede – Rotemamento de pacotes – Interface entre o sistema e a rede Protocolos de Aplicação TCP/IP Protocolos Internet Protocolos Internet