comunicação de dados por fernando luís dotti [email protected]

69
Comunicação de Dados por Fernando Luís Dotti [email protected]

Upload: internet

Post on 17-Apr-2015

109 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Comunicação de Dados

por

Fernando Luís [email protected]

Page 2: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Sumário

Modelo de sistema de comunicação WANs, LANs Arquiteturas de Protocolos

* Fontes: Stalling, W. Data and Computer CommmunicationsTransparências Stallings e Ana Benso

* Fontes: Stalling, W. Data and Computer CommmunicationsTransparências Stallings e Ana Benso

Page 3: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 4: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Modelo - Diagrama

Page 5: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 6: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Modelo de Comunicação - Sinais

Page 7: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 8: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Modelo de Rede

Page 9: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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)

Page 10: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Chaveamento de Circuito

Caminho de comunicação dedicado é estabelecido durante a conversação

e.g. rede de telefonia

Page 11: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Chaveamento de Pacote

Dados enviados em pequenos pacotes de dados

pacotes passados de nodo em nodo entre fonte e destino

usado para comunicação terminal-computador e computador-computador

Page 12: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 13: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 14: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 15: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Arquitetura de Protocolos

Page 16: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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 ...

Page 17: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Arquitetura de Protocolos

Divisão da complexidade Tarefa de comunicação dividida em

módulos Módulos -> protocolos

Page 18: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Arquitetura de Protocolos

Exemplo: TCP/IP

Page 19: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 20: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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.

Page 21: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 22: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 23: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Nível de Transporte (TCP)

Entrega confiável dos dados– ordenação– entrega completa– eliminação de duplicatas

Page 24: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Nível de Aplicação

Suporte a aplicações do usuário– e.g. http – SMPT– ftp– telnet– etc.

Page 25: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Arquitetura de Protocolos TCP/IP

Page 26: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 27: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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 transporteUnidade de Dado do Protocolo de Transporte

Page 28: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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 redeUnidade de Dado do Protocolo de Rede

Page 29: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Protocol Data Units (PDU)

Page 30: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

PDUs noTCP/IP

Page 31: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 32: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 33: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 34: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 35: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 36: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 37: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Arquitetura de Protocolos Serviço não Orientado a Conexão

Page 38: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Arquitetura de Protocolos Serviço Orientado a Conexão

Page 39: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 40: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 41: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 42: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Arquitetura de Protocolos Serviços não Confirmados

service.request

service.indication

Page 43: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Arquitetura de Protocolos Serviços Confirmados

service.request

service.indication

service.confirmservice.response

Page 44: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Arquitetura de Protocolos Endereçamento Nível do Endereçamento Escopo do Endereçamento Identificadores de Conexão Modo de Endereçamento

Page 45: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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)

Page 46: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Arquitetura de Protocolos Conceitos de Endereço

Page 47: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 48: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 49: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 50: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 51: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 52: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 53: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

OSI

Aplicação

Apresentação

Sessão

Transporte

Redes

Enlace

Físico

Transferência de Arquivos, E-mail, etc

Sixtaxe Abstrata, Sintaxe de Contexto

Estabelecimeto e Gerência da Conexão

Comunicação fim-a-fim

Roteamento, endereçamento,...

Funções entre máquinas adjacentes, acesso ao meio

Transmissão de sinais

Page 54: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

OSI - Protocolo de Nível N

P. Sessão

Físico

Enlace

Rede

Transporte

Sessão

Apresentação

Aplicação

Físico

Enlace

Rede

Transporte

Sessão

Apresentação

AplicaçãoP. Aplicação

P. Apresentação

P. Transporte

P. Rede

P. Enlace

P. Físico

Page 55: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

OSI

Page 56: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

OSI - Framework

Page 57: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

OSI - Framework ...

N + 1

N

N - 1

SAP

SAP

N + 1

N

N - 1

SAP

SAP

Protocolo N + 1

Protocolo N

Protocolo N - 1

Page 58: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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)

Page 59: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 60: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 61: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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), ...

Page 62: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

OSI - O Uso de Relay

Page 63: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 64: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Arquitetura TCP/IP

Aplicação

Tranporte

Internetwork

Host to Network

FTP Telnet HTTP

TCP UDP

IP

Ethernet Ponto-a Fast E. Ponto

Aplicação

Apresentação

Sessão

Transporte

Rede

Enlace

Físico

Page 65: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

OSI v TCP/IP

Page 66: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

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

Page 67: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Protocolos de Aplicação TCP/IP

Page 68: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Protocolos Internet

Page 69: Comunicação de Dados por Fernando Luís Dotti fldotti@inf.pucrs.br

Protocolos Internet