Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Tópicos • Nível Aplicação • • • • • • • CASE’s e SASE’s Common Application Service Elements Associação entre Aplicações ACSE RTSE ROSE CCR 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 1 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Nível Aplicação 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 2 Escola Superior de Tecnologia Dep. de Sistemas e Informática 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] Computação em Redes de Computadores 3 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Estrutura do nível Aplicação • Application process (RSE) existe sempre mesmo que a aplicação não comunique com outra entidade. A OSIE existe quando a aplicação tem necessidade de comunicar. • A OSIE pode ser precisa em várias aplicações diferentes com as mesmas necessidades de comunicação. São assim identificadas funcionalidades comuns que agrupadas em módulos podem ser instanciados por diferentes aplicações e usados para fins idênticos. • ASE’s: Application Service Elements: Conjunto integrado de funções que no seu todo fornecem uma ou mais capacidades de comunicação precisas a várias aplicações. • Os serviços oferecidos por estes módulos aliviam o programador de pensar na sua concepção, concentrando-se somente na programação da aplicação e sua interface com os módulos de que a aplicação necessita para estabelecer a comunicação. 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 4 Escola Superior de Tecnologia Dep. de Sistemas e Informática CASE’s e SASE’s Computação em Redes de Computadores • Os protocolos da camada de aplicação são classificados em: – Common Application Specific Elements (CASE); – Specific Application Specific Elements (SASE). • Os elementos de serviço CASE são requisitados em geral pelas aplicações. Os elementos SASE são incluídos quando a sua funcionalidade específica é necessária. • Exemplos de SASE’s: – FTAM: File Transfer, Access and Management – JTM: Job Transfer and Manipulation – X.400: Correio Electrónico 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 5 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Common Application Service Elements • Association Control Service Element (ACSE) – permite estabelecer e terminar associações entre entidades aplicação; • Reliable Transfer Service Element (RTSE) – permite a transferência fiável de informação entre entidades pares • Remote Operations Service Element (ROSE) – permite invocar operações numa máquina remota • Commitment, Concurrency and Recovery (CCR) – permite recuperar de falhas durante a execução duma tarefa usando procedimentos de salvaguarda e retoma de operações 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 6 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Associação entre aplicações • No contexto do nível aplicacional não é correcto o termo conexão entre aplicações, mas existe sim, uma associação entre aplicações. • Estabelece o ambiente de comunicações: – Contexto de aplicação: lista de ASE’s usadas; – Sintaxe abstracta: natureza das APDU’s a transferir; • Oferece base para coordenar interacções entre aplicações – identificação exacta das partes comunicantes (podem existir várias instâncias duma mesma aplicação) 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 7 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores ACSE e suas APDU’s • É normalmente o primeiro módulo a ser usado • Estabelecimento de associação: A-ASSOCIATE (serviço confirmado: AARQ/AARE) • Terminação normal da associação: A-RELEASE (serviço confirmado: RLRQ/RLRE) • Terminação anormal (aborto) da associação: – iniciada por uma das entidades aplicação: A-ABORT (serviço não confirmado: ABRT) – iniciada pelo fornecedor do serviço: A-P-ABORT 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 8 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Estabelecimento da Associação Parâmetros do A-ASSOCIATE: ACSE ACSE A-ASSOCIATE.Req • Identificação do chamador (*/ ) AARQ Cnf. AARE (+/-) • Contexto de Aplicação (AARQ/AARE) Ind. • Identificação do chamado (*/*) Rsp. • Informações do utilizador (*/ ) • Resultado (aceitação/rejeição) ( /*) • Fonte do resultado ( /*) • Diagnóstico ( /*) 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 9 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Terminação Normal da Associação ACSE ACSE • Razão (RLRQ/RLRE) A-RELEASE.Req RLRQ Ind. Rsp. Cnf. 5-nov-15 Parâmetros do A-RELEASE: • Informações do utilizador (opcional (*/*) • Resultado (aceitação/rejeição) (obrigatório) ( /*) RLRE (+/-) Nuno Valero Ribeiro Gab. F153 [email protected] 10 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Aborto da Associação ACSE ACSE Parâmetros do A-ABORT: A-ABORT.Req ABRT • Fonte (ABRT) Ind. • Informações do utilizador (opcional) ACSE ACSE A-P-ABORT.ind A-P-ABORT.ind 5-nov-15 Parâmetros do A-ABORT: • Fonte é indicada pelo serviço de apresentação Nuno Valero Ribeiro Gab. F153 [email protected] 11 Escola Superior de Tecnologia Dep. de Sistemas e Informática 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] Computação em Redes de Computadores 12 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores RTSE • Objectivos: – Transferência robusta de APDU’s, isto é, com recuperação de falhas na associação ou no sistema terminal (não da rede), sem perdas, duplicação ou falta de sequência dos dados. – Esconde a complexidade da camada apresentação sobre a qual implementa serviços simples de transferência de dados. – Recupera de falhas de associação (não de rede…) duma forma positiva, isto é , tentando restabelecer a associação sem que o utilizador se aperceba. 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 13 Computação em Redes de Computadores Escola Superior de Tecnologia Dep. de Sistemas e Informática RTSE Elemento de Utilizador ASEs RTSE ACSE Elemento de Utilizador Protocolo RT ASEs RTSE Associação ACSE Serviço Apresentação 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 14 Escola Superior de Tecnologia Dep. de Sistemas e Informática Serviços RTSE Computação em Redes de Computadores • Gestão da associação: – O utilizador do RTSE (por ex. O ROSE) tem primeiro de iniciar o serviço para estabelecimento da associação. Pode ou não usar o ASCE para esse fim; – No fim, o utilizador invoca o término normal da associação; – São inclusos também os serviços de aborto da associação; • Transferência de dados: – Envio de mensagens através dos serviços de transferência; – Cada mensagem enviada é confirmada (+/-); caso (-) é reenviada; • Gestão do turno: – Paralelo com a vez de transmitir dados em modo half-duplex; – O turno identifica quem pode transmitir APDU’s para a entidade RTSE par; 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 15 Escola Superior de Tecnologia Dep. de Sistemas e Informática Serviços RTSE Computação em Redes de Computadores Serviço Tipo de serviço Função RT-OPEN Confirmado Estabelecimento da associação RT-CLOSE Confirmado Término da associação RT-TRANSFER Confirmado Transferência de dados RT-TURN-PLEASE Não confirmado Requisição da vez RT-TURN-GIVE Não confirmado Passagem da vez RT-U-ABORT Não confirmado Aborto iniciado pelo utilizador RT-P-ABORT Iniciado fornecedor Aborto iniciado pelo fornecedor 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 16 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Parâmetros das Primitivas RTSE Serviço Parâmetros RT-OPEN Modo de diálogo; Vez inicial; Dados; parâmetros do A-Associate RT-CLOSE Dados; parâmetros do A-Release RT-TRANSFER APDU do utilizador; tempo de transferência; resultado (+/-) RT-TURN-PLEASE Prioridade RT-TURN-GIVE - RT-U-ABORT Dados do utilizador RT-P-ABORT - 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 17 Escola Superior de Tecnologia Dep. de Sistemas e Informática RTSE chamador Sessão RT Computação em Redes de Computadores RTSE chamado RT-OPEN.Req RT-OPEN.ind RT-OPEN.cnf (+) RT-OPEN.rsp (+) RT-TRANSFER.Req RT-TRANSFER.ind RT-TRANSFER.cnf (+) RT-TURN-GIVE.Req RT-TURN-GIVE.ind RT-TRANSFER.Req RT-TRANSFER.ind RT-TRANSFER.cnf (+) RT-TURN-PLEASE.Req RT-TURN-PLEASE.ind RT-TURN-GIVE.ind RT-TURN-GIVE.Req RT-CLOSE.Req RT-CLOSE.ind RT-CLOSE.cnf (+) RT-CLOSE.rsp (+) 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 18 Escola Superior de Tecnologia Dep. de Sistemas e Informática Sessão RT 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] Computação em Redes de Computadores 19 Escola Superior de Tecnologia Dep. de Sistemas e Informática • Objectivos: ROSE Computação em Redes de Computadores – Fornecer uma interface à entidade aplicação para execução de operações remotas, efectuadas noutra entidade aplicação. – Paradigma cliente/servidor: emissão de pedido de operação remota; tentativa de satisfazer o pedido; envio de réplica sob a forma de resultado ou de erro. – Nem todas as operações exigem que a entidade remota responda – Nem sempre é a mesma entidade que inicia a operação. (depende da Classe de associação) – O utilizador do ROSE necessita apenas de especificar qual a operação que vai efectuar, fornece os argumentos associados e determina como os resultados recebidos devem ser formatados e entendidos. 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 20 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Classificação das Operações Remotas Classe de op. Modo de op. Réplica Classe 1 Síncrono Resultado ou erro Classe 2 Assíncrono Resultado ou erro Classe 3 Assíncrono Erro Classe 4 Assíncrono Resultado Classe 5 Assíncrono - • Dependendo do modo de operação (assíncrono ou síncrono), pode a mesma entidade efectuar mais que um pedido de operação remota sem que espere a resposta do pedido anterior, ou não. 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 21 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Especificação de Operações Remotas Tipo de op. Cliente Servidor Tipo A Operação X Operação Y Operação Z Operação Argumentos do Request Argumentos do Result Condições de erro Op. X Ud-tipo1 Ud-tipo3 erro1, erro2, erro4 Op. Y Ud-tipo2 Ud-tipo3 erro1, erro3 Op. Z Ud-tipo1 Ud-tipo3 erro1, erro3, erro4 Erro Especificação de erro Erro1 Erro-tipo1 Erro2 Erro-tipo2 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] ... 22 Escola Superior de Tecnologia Dep. de Sistemas e Informática Serviços ROSE Computação em Redes de Computadores Serviço Tipo de serviço Parâmetros RO-INVOKE Não Confirmado Classe e ID op..; ID invocação; Dados; Pri.; RO-RESULT Não Confirmado ID op.; ID invocação; Dados; Prioridade; RO-ERROR Não Confirmado ID erro; ID invocação; Dados; Prioridade; RO-REJECT-U Não Confirmado ID da invocação; Razão; Prioridade RO-REJECT-P Iniciado Fornecedor ID da invocação; Razão; Parâmetros retornados; • Cada Invocação duma operação é univocamente identificada por um número, tal que, a resposta consequente possa ser correctamente relacionada com o pedido respectivo; • Não existe alguma primitiva confirmada; 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 23 Escola Superior de Tecnologia Dep. de Sistemas e Informática ROSE APDU’s Genérica Tipo Computação em Redes de Computadores ID invocação Outros parâmetros RO-INVOKE ROIV ID invocação ID op. Argumentos Linked-ID RO-RESULT RORS ID invocação ID op. Resultados RO-ERROR ROER ID invocação ID. Erro. Parâmetros de erro RO-REJECT RORJ ID invocação Problema 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 24 Escola Superior de Tecnologia Dep. de Sistemas e Informática Procedimento Geral RO- qq.req Preenchimento da APDU a partir dos parâmetros recebidos na primitiva Computação em Redes de Computadores Transfer.req Dados=APDU Preenchimento dos parâmetros da Transfer.ind primitiva a partir da APDU=Dados APDU RO- qq.ind • O serviço de transferência de APDU’s pode ser encarregado ou directamente à camada de Apresentação ou ao RTSE 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 25 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Alternativas para a transferência de ROSE APDU’s A) User B) ROSE ROSE RTSE ACSE ACSE Apresentação A) RTSE presente no contexto de Aplicação; B) RTSE não presente no contexto de Aplicação; 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 26 Escola Superior de Tecnologia Dep. de Sistemas e Informática Iniciador Fases da Associação A-ASSOCIATE.Req Computação em Redes de Computadores Iniciado A-ASSOCIATE.ind A-ASSOCIATE.Cnf A-ASSOCIATE.rsp RO-INVOKE.Req RO-INVOKE.ind RO-RESULT.ind RO-RESULT.Req A-RELEASE.Req A-RELEASE.ind A-RELEASE.Cnf A-RELEASE.rsp • O ROSE exige uma associação (e não mais que uma); • Somente o iniciador da associação é que pode requerer a terminação normal desta • O iniciador não deve terminar a associação sem que antes todas as invocações de operações remotas tenham sido confirmadas 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 27 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Invocação de uma operação remota ROSE P RTSE RO-INVOKE.Req ROSE P RTSE ROIV RT-TRANSFER.Req RT-TRANSFER.ind RT-TRANSFER.cnf (+) RO-INVOKE.Req RO-INVOKE.Ind ROIV ROIV RO-INVOKE.Ind ROIV 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 28 Escola Superior de Tecnologia Dep. de Sistemas e Informática Réplica de uma operação remota ROSE RO-INVOKE.Req RO-RESULT.Ind RO-INVOKE.Req RO-ERROR.Ind RO-?.Req RO-REJECT-U.Ind ROIV RORS ROIV ROER RO? RORJ Computação em Redes de Computadores ROSE RO-INVOKE.Ind … Operação foi bem sucedida! RO-RESULT.Req RO-INVOKE.Ind RO-ERROR.Req … Operação sem sucesso! RO-INVOKE/RESULT/ERROR.Ind RO-REJECT-U.Req RO-INVOKE/RESULT/ERROR/REJECT-U.Req RO? RO-REJECT-P.Ind 5-nov-15 RORJ … Operação rejeitada pelo fornecedor do serviço! Nuno Valero Ribeiro Gab. F153 [email protected] 29 Escola Superior de Tecnologia Dep. de Sistemas e Informática Razões de Rejeição Computação em Redes de Computadores A) Problema com RO-NVOKE.ind : • Duplicação da Invocação; (o invoke id. é duplicado: só classes 3, 4 e 5) • Operação não reconhecida; • Argumento não reconhecido; • Limitação de recursos; • Iniciador termina associação normalmente; • ID de operação ligada não reconhecido; B) Problema com RO-RESULT.ind : • Invocação não reconhecida; • Resposta não esperada; • Argumento não reconhecido; 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 30 Escola Superior de Tecnologia Dep. de Sistemas e Informática Razões de Rejeição Computação em Redes de Computadores C) Problema com RO-ERROR.ind : • Invocação não reconhecida; • Resposta de Erro não esperada; • Erro não reconhecido; • Erro não esperado; •Argumento não reconhecido; D) Problema com APDU : • APDU não reconhecida; • APDU mal estruturada; • Campo da APDU não reconhecido; 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 31 Escola Superior de Tecnologia Dep. de Sistemas e Informática Computação em Redes de Computadores Operações ligadas RO-INVOKE.Req ROIV RO-INVOKE.Ind Operação PAI ROIV RO-INVOKE.Req RO-INVOKE.Ind Operação FILHA RO-RESULT.Req Linked ID = Invoke ID (pai) … Operação, para ser completada, necessita de invocar no invocador outra operação! RORS RO-RESULT.Ind RO-RESULT.Req RO-RESULT.Ind 5-nov-15 Nuno Valero Ribeiro Gab. F153 [email protected] 32