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
Download

Power Point presentation