2a parte - Protocolos novo
Transcript of 2a parte - Protocolos novo
1
PROTOCOLOSPROTOCOLOS
Características dos ProtocolosCaracterísticas dos ProtocolosFuncionalidade dos ProtocolosFuncionalidade dos ProtocolosProtocolos OSIProtocolos OSIProtocolos TCP/IPProtocolos TCP/IP
Características dos Características dos ProtocolosProtocolos
• As principais caraterísticas de um protocolo são:
– Direto ou Indireto– Monolítico ou Estruturado– Simétrico ou Assimétrico– Padronizado ou Não-Padronizado
2
DiretoDireto ou ou IndiretoIndireto•• DiretoDireto
– Dados/controle são transmitidos entre sistemas sem a intervenção de agentes ativos
DiretoDireto ou ou IndiretoIndireto•• IndiretoIndireto
– A transferência de dados depende dofuncionamento de outras entidades
3
Monolítico ou EstruturadoMonolítico ou Estruturado• A comunicação entre entidades em diferentes entidades em diferentes
sistemassistemas é uma tarefa muito complexatarefa muito complexa;•• Muito complexaMuito complexa para ser realizada através de um
único móduloúnico módulo mudança em um aspecto significa modificar o módulo como um todo
•• Projeto EstruturadoProjeto Estruturado divide o problema em unidades menoresunidades menores
•• Estrutura em CamadasEstrutura em Camadas
Simétrico ou AssimétricoSimétrico ou Assimétrico
•• SimétricoSimétrico– Comunicação entre entidades entidades
semelhantessemelhantes em termos de funcionalidade(“peer entities”)
•• AssimétricoAssimétrico– Cliente/Servidor– Computador efetua “polling”/”select” de um
número de terminais.
4
Padrão x NãoPadrão x Não--padrãopadrão• Protocolos nãonão--padronizadospadronizados são desenvolvidos
para computadores e tarefas específicasespecíficas• Seja: K fontesK fontes de informação deve se
comunicar com L receptoresL receptores
NãoNão--padronizadopadronizadoK*LK*L diferentes protocolos e 2*K*L2*K*L diferentes implementações
PadronizadoPadronizadoK + LK + L diferentes implementações
Padrão x NãoPadrão x Não--padrãopadrão
Não-padronizado: 12 protocolos diferentes24 implementações
Padronizado: 1 protocolo 7 i mplementações
5
PROTOCOLOSPROTOCOLOS
Características dos ProtocolosCaracterísticas dos ProtocolosFuncionalidade dos ProtocolosFuncionalidade dos ProtocolosProtocolos OSIProtocolos OSIProtocolos TCP/IPProtocolos TCP/IP
Funcionalidade Funcionalidade dos Protocolosdos Protocolos
EncapsulamentoEncapsulamentoSegmentação e Re-agrupamentoControle de ConexãoEntrega ordenada de dadosControle de FluxoControle de ErroEndereçamentoMultiplexaçãoServiços de Transmissão
6
EncapsulamentoEncapsulamento• Adição de informações de controlecontrole aos dadosdados
– informação de endereço– código de detecção de erro– controle do protocolo.
• Forma o PDU = PDU = Protocol Protocol Data Data UnitUnit
Funcionalidade Funcionalidade dos Protocolosdos Protocolos
EncapsulamentoSegmentação e ReSegmentação e Re--agrupamentoagrupamentoControle de ConexãoEntrega ordenada de dadosControle de FluxoControle de ErroEndereçamentoMultiplexaçãoServiços de Transmissão
7
Segmentação/FragmentaçãoSegmentação/Fragmentação• Geralmente, a transferência de informação é realizada
como uma sequência de blocosblocos de dados com umcerto tamanho limitetamanho limite;
• Unidade de dados de aplicação = mensagem podem ser grandes.
• Níveis inferiores de protocolo podem necessitar de “quebrar” as mensagens em blocos menores ((PDUsPDUs))
• Segmentação ou Fragmentação (TCP/IP)– blocos ATM (cells) são de 53 bytes;– blocos Ethernet (frames) são de 1526 bytes no máximo.
Por que Fragmentar?Por que Fragmentar?•• VantagensVantagens
– Controle de erro mais eficiente;– Acesso mais equilibrado/justo às
facilidades/serviços da rede;– Atrasos menores;– Necessidade de menos buffer.
•• DesvantagensDesvantagens– mais overhead;– Aumento do número de interrupções no receptor;– Maior tempo de processamento.
8
Funcionalidade Funcionalidade dos Protocolosdos Protocolos
EncapsulamentoSegmentação e Re-agrupamentoControle de ConexãoControle de ConexãoEntrega ordenada de dadosControle de FluxoControle de ErroEndereçamentoMultiplexaçãoServiços de Transmissão
Controle de ConexãoControle de Conexão•• Serviço sem conexão (Serviço sem conexão (ConnectionlessConnectionless))
– os PDUs (datagramadatagrama) são transmitidos de forma independente dos PDUs anteriores.
•• Serviço com conexão (Serviço com conexão (ConnectionConnection OrientedOriented))– uma conexão lógica (circuito virtualcircuito virtual) é formada entre
as duas entidades para a troca de dados;– adequado para longa troca de dados e/ou na
necessidade de se ajustar detalhes do protocolo dinamicamente;
– consiste de três fases:• Estabelecimento da Conexão• Transferência de Dados• Término da Conexão
9
Transferência de DadosTransferência de DadosOrientada a ConexãoOrientada a Conexão
• Entidades concordam em trocar dados. • Podem negociar: tamanho do PDU;método de controle de fluxo; etc.
• Entidades concordam em trocar dados. • Podem negociar: tamanho do PDU;método de controle de fluxo; etc.
• Troca de dados e controle• Troca de dados e controle
• Um dos lados solicita o término da conexão.• Um dos lados solicita o término da conexão.
Controle de ConexãoControle de Conexão• Utiliza Número de Número de SequênciaSequência
• Cada entidade numera sequencialmente os PDUs enviados para a outra entidade;
• Mantém controle do número de sequência de transmissão e de recepção.
• Uso de Número deNúmero de SequênciaSequência fornece:– Entrega ordenada de dados– Controle de Fluxo– Controle de Erro
10
Funcionalidade Funcionalidade dos Protocolosdos Protocolos
EncapsulamentoSegmentação e Re-agrupamentoControle de ConexãoEntrega ordenada de dadosEntrega ordenada de dadosControle de FluxoControle de ErroEndereçamentoMultiplexaçãoServiços de Transmissão
Entrega Ordenada de DadosEntrega Ordenada de Dados• PDUs podem percorrer caminhos diferentescaminhos diferentes
através da rede para se chegar no mesmo destino;
• PDUs podem chegar fora de ordemfora de ordem;• O número de sequência permite a
reordenação dos reordenação dos PDUsPDUs;A numeração deve ser grande o suficientegrande o suficientepara não haver repetição de PDUs pendentes.
11
Funcionalidade Funcionalidade dos Protocolosdos Protocolos
EncapsulamentoSegmentação e Re-agrupamentoControle de ConexãoEntrega ordenada de dadosControle de FluxoControle de FluxoControle de ErroEndereçamentoMultiplexaçãoServiços de Transmissão
Controle de FluxoControle de Fluxo
• Função efetuada pela entidade receptoraentidade receptora;;•• Limita a quantidade/taxa de dadosLimita a quantidade/taxa de dados que é
enviada pelo transmissor; • Métodos:
–– Stop and waitStop and wait mais simples.–– Sistema de crSistema de crééditodito Janelas deslizantes.
•• FunçãoFunção necessária em vários níveisvários níveis de protocolo.
12
Funcionalidade Funcionalidade dos Protocolosdos Protocolos
EncapsulamentoSegmentação e Re-agrupamentoControle de ConexãoEntrega ordenada de dadosControle de FluxoControle de ErroControle de ErroEndereçamentoMultiplexaçãoServiços de Transmissão
Controle de ErroControle de Erro• Protege contra a perdaperda ou dano dano nos
dados e/ou controle. • Função efetuada em duas etapas:
–– Detecção de ErroDetecção de Erro–– Correção de Erro (Correção de Erro (RetransmissãoRetransmissão))
•• FunçãoFunção também necessária em diversos níveisdiversos níveis de protocolo.
13
Controle de ErroControle de Erro–– Detecção de ErroDetecção de Erro
• transmissor acrescenta bits de detecção de errobits de detecção de erro em cada PDU enviado;
•• receptor verifica a validadereceptor verifica a validade dos bits;• se código válidocódigo válido, reconhece o recebimento livre de
erro ((AcknowledgementAcknowledgement))• se erroerro, PDU é descartadodescartado.
– Correção de Erro•• transmissor transmissor recebe um aviso do erroaviso do erro (ack negativo)
ou não recebenão recebe acknowledgementacknowledgement em tempo hábilretransmiteretransmite..
• Existe código de código de correçãocorreção de errode erro mas o overheadoverheadé muito grandemuito grande.
Funcionalidade Funcionalidade dos Protocolosdos Protocolos
EncapsulamentoSegmentação e Re-agrupamentoControle de ConexãoEntrega ordenada de dadosControle de FluxoControle de ErroEndereçamentoEndereçamentoMultiplexaçãoServiços de Transmissão
14
EndereçamentoEndereçamento•• O conceito de endereçamento cobre vários aspectos:O conceito de endereçamento cobre vários aspectos:
–– Nível de EndereçamentoNível de Endereçamento–– Escopo do EndereçamentoEscopo do Endereçamento–– identificadores de Conexãoidentificadores de Conexão–– Modos de EndereçamentoModos de Endereçamento
Nível de EndereçamentoNível de Endereçamento• Refere-se ao nível da arquiteturanível da arquitetura no qual a
entidade é nomeada;• Um endereço únicoendereço único é associado a cada
sistema finalsistema final (workstation, servidor) e a cada sistema intermediáriosistema intermediário (roteador)
Network level addressNetwork level address– IP ou internet address (TCP/IP)– Network Service Access Point ou NSAP (OSI)
• Denominação de um processo no sistema– Port number (TCP/IP)– Service Access Point ou SAP (OSI)
15
Aspectos de EndereçamentoAspectos de Endereçamento
FTP
Global Network Address
Porta ouService Access Point
(SAP)
Escopo de EndereçamentoEscopo de Endereçamento•• Global NãoGlobal Não--AmbíguoAmbíguo
– Endereço global identifica um único sistema;– Existe somente um sistema com endereço X.
•• Aplicabilidade GlobalAplicabilidade Global– É possível, em qualquer sistema (com endereço
qualquer) identificar qualquer outro sistema, ligado a qualquer rede, pelo seu endereço global.
– O endereço X identifica aquele sistema de qualquer lugar da rede.
•• Outro nível:Outro nível: endereço de cada dispositivo de interface dentro da rede NetworkNetwork AttachmentAttachmentpointpoint addressaddress.– e.g. MAC address em redes locais IEEE 802.
16
Aspectos de EndereçamentoAspectos de Endereçamento
FTP
(A.1)
Global Network Address
Porta ouService Access Point
(SAP)
Network attachementpoint address
(B.1)
Identificadores de ConexãoIdentificadores de Conexão•• Transferências Orientadas a ConexãoTransferências Orientadas a Conexão
circuitos virtuaiscircuitos virtuais• Define um identificador da conexãoidentificador da conexão (numérico)
durante a fase de transferência de dados– Reduz overhead identificadores de conexão são
menores que endereços globais; – Roteamento no estabelecimento da conexão, defini-
se uma rota fixa, identificada pelo identificador da conexão;
– Multiplexing entidades podem querer estabelecer múltiplas conexões simultaneamente;
– Informação de Status durante a transferência mantém-se informações relacionadas à conexão (ex. controle de fluxo e erro).
17
Aspectos de EndereçamentoAspectos de Endereçamento
FTP
(A.1)Conexão Lógica
(Nível TCP)(B.1)
Conexão Lógica(circuito virtual X.25)
Modo de EndereçamentoModo de Endereçamento• Usualmente, um endereço refere-se a
um único sistema ou porta SAPEndereçamento Endereçamento UnicastUnicast
• Pode-se endereçar TODOS as entidades e/ou portas
Endereçamento Endereçamento BroadcastBroadcast• Pode-se endereçar um subconjunto de
entidades e/ou portas. Endereçamento Endereçamento MulticastMulticast
18
Modos de EndereçamentoModos de Endereçamento
Funcionalidade Funcionalidade dos Protocolosdos Protocolos
EncapsulamentoSegmentação e Re-agrupamentoControle de ConexãoEntrega ordenada de dadosControle de FluxoControle de ErroEndereçamentoMultiplexaçãoMultiplexaçãoServiços de Transmissão
19
MultiplexaçãoMultiplexação
• Várias formas de multiplexação: – Múltiplas conexões em um único sistema (X.25);– Mapeamento de múltiplas conexões em um
nível em uma única conexão em outro nível.
MultiplexaçãoMultiplexação
20
Funcionalidade Funcionalidade dos Protocolosdos Protocolos
EncapsulamentoSegmentação e Re-agrupamentoControle de ConexãoEntrega ordenada de dadosControle de FluxoControle de ErroEndereçamentoMultiplexaçãoServiços de TransmissãoServiços de Transmissão
Serviços de TransmissãoServiços de Transmissão• Serviços adicionais de um protocolo:
PrioridadePrioridade– mensagens de controle, por exemplo, podem
necessitar de chegar ao destinatário com o mínimo atraso;
Qualidade do ServiçoQualidade do Serviço– Máximo atraso aceitável;– Mínimo throughput aceitável.
SegurançaSegurança– Mecanismos de segurança para acesso restrito.
21
PROTOCOLOSPROTOCOLOS
Características dos ProtocolosCaracterísticas dos ProtocolosFuncionalidade dos ProtocolosFuncionalidade dos ProtocolosProtocolos OSIProtocolos OSIProtocolos TCP/IPProtocolos TCP/IP
O Modelo OSI O Modelo OSI • Modelo em 7 camadas7 camadas (1984)•• ObjetivoObjetivo: fornecer uma estrutura (“framework ”) para
padronização de protocolospadronização de protocolos.• Cada camadacamada executa um subconjunto das funçõessubconjunto das funções
necessárias para a comunicação de computadores• Cada camada supõe que a camada imediatamente camada imediatamente
inferior executa funções mais primitivasinferior executa funções mais primitivas• Cada camada fornece serviços para a camada camada fornece serviços para a camada
imediatamente acimaimediatamente acima. •• Mudanças em uma camadaMudanças em uma camada NÃONÃO deve requerer
mudanças em outras camadasmudanças em outras camadas
22
O Ambiente OSIO Ambiente OSI
Estrutura de Padronização do OSIEstrutura de Padronização do OSI
23
Funcionalidade das CamadasFuncionalidade das CamadasDuas entidades na mesma camada em diferentes sistemas
cooperam e interagem através de um mesmo protocolo (formato e semântica do PDU);
Duas entidadesentidades na mesma camada em diferentes sistemasdiferentes sistemascooperam e interagem através de um mesmo protocolomesmo protocolo (formato e semântica do PDU);
Endereçamento: as entidades da camada superior são referenciadas através dos SAP.
EndereçamentoEndereçamento: as entidades da camada superior são referenciadas através referenciadas através dos SAPdos SAP.
Define os serviços oferecidos à camada superior;
Define os serviçosserviços oferecidos à camada camada superiorsuperior;
Primitivas e Parâmetros dos ServiçosPrimitivas e Parâmetros dos Serviços
Os serviços entre camadas adjacentes são expressos em termos de primitivas e parâmetros.
Especifica a função a ser executadaEspecifica a função função a ser executada
Usados para passar informações de dados e controle
Usados para passar informações de dados dados e controlecontrole
24
Primitivas e Parâmetros dos ServiçosPrimitivas e Parâmetros dos Serviços4 tipos de primitivas são definidas nos padrões:
Serviço com confirmaçãoServiço com confirmação Serviço sem confirmaçãoServiço sem confirmação
Primitivas e Parâmetros dos ServiçosPrimitivas e Parâmetros dos Serviços4 passos para a transferência de dados de uma entidade nível (N) para uma outra entidade (N):
A entidade (N) invoca sua entidade (N-1) com uma primitiva request, com os parâmetros necessários (endereço destino, dado);
A entidade (N-1) fonte prepara um (N-1)PDU para ser enviado à respectiva entidade (N-1) remota;
A entidade (N-1) destinatária entrega o dado à entidade (N) através de uma primitiva indication, incluindo o dado e endereço fonte como parâmetros;
Se comunicação com confirmação, a entidade (N) destinatária envia uma primitiva response para a sua entidade (N-1);
A entidade (N-1) transporta o acknowledgement em (N-1)PDU;O acknowledgement é entregue à entidade (N) como uma primitiva
confirm.
A entidade (N) invoca sua entidade (N-1) com uma primitiva requestrequest, com os parâmetros necessários (endereço destino, dado);
A entidade (N-1) fonte prepara um (N-1)PDU para ser enviado à respectiva entidade (N-1) remota;
A entidade (N-1) destinatária entrega o dado à entidade (N) através de uma primitiva indicationindication, incluindo o dado e endereço fonte como parâmetros;
Se comunicação com confirmação, a entidade (N) destinatária envia uma primitiva responseresponse para a sua entidade (N-1);
A entidade (N-1) transporta o acknowledgementacknowledgement em (N-1)PDU;O acknowledgementacknowledgement é entregue à entidade (N) como uma primitiva
confirmconfirm.
25
Uso de Nó de ComutaçãoUso de Nó de Comutação
PROTOCOLOSPROTOCOLOS
Características dos ProtocolosCaracterísticas dos ProtocolosFuncionalidade dos ProtocolosFuncionalidade dos ProtocolosProtocolos OSIProtocolos OSIProtocolos TCP/IPProtocolos TCP/IP
26
TCP/IPTCP/IP ProtocolProtocol SuiteSuite
• Arquitetura de protocolo dominante comercialmente.
• TCP/IP foi especificadoespecificado e extensamente utilizadoextensamente utilizadoantes do modelo OSI;
• TCP/IP foi desenvolvido pelo DODdesenvolvido pelo DOD, maior consumidor de software no mundo;
• A internetinternet foi construída usando o TCP/IP TCP/IP Protocol Protocol SuiteSuite.
PDUs PDUs na arquitetura TCP/IPna arquitetura TCP/IP
•Endereço porta destino;•número de sequência;•checksum.
•Endereço porta destino;•número de sequência;•checksum.
•Endereço sistema destino•Endereço sistema destino
•Endereço rede destino;•facilities.•Endereço rede destino;•facilities.
27
Alguns Protocolos no TCP/IP SuiteAlguns Protocolos no TCP/IP Suite•Facilidades de e-mail (troca de msg entre diferentes hosts);•não especifica a forma de se criar a mensagem (necessita de um programa local de edição).
•Facilidades de e-mail (troca de msg entre diferentes hosts);•não especifica a forma de se criar a mensagem (necessita de um programa local de edição).
SMTP
Alguns Protocolos no TCP/IP SuiteAlguns Protocolos no TCP/IP Suite•Envio de arquivos entre hostsdiferentes através de comandos do usuário;•estabelece uma conexão TCP para troca de msgs de controle;• após a aprovação da transferênci a, estabelece outra conexão de dados, sem overhead de informações de controle.•Após a transferência, usa-se a conexão de controle para avisar sobre o finalização da transferênci a.
•Envio de arquivos entre hostsdiferentes através de comandos do usuário;•estabelece uma conexão TCP para troca de msgs de controle;• após a aprovação da transferênci a, estabelece outra conexão de dados, sem overhead de informações de controle.•Após a transferência, usa-se a conexão de controle para avisar sobre o finalização da transferênci a.
FTP
28
Alguns Protocolos no TCP/IP SuiteAlguns Protocolos no TCP/IP Suite•Facilidade para logon remoto,funcionando como se estivesse conect ado diretamente.
•Facilidade para logon remoto,funcionando como se estivesse conect ado diretamente.TELNET