Camada de aplicação OSI
Liane Tarouco
UFRGS
Camada de aplicação do modelo
OSI
• ACSE (Application Control Service Element)
• CCR (Commitment Concurrency and
Recovery)
Conceitos
• ACPM (Association Control Protocol Machine).
• ACSE - Association Control Service Element (Elemento
de Controle do Serviço de Associação).
• AE - Application Entity (Entidade de aplicação).
Representação dos aspectos de comunicação entre os
processos de aplicação (AP). Pode haver mais de uma
para cada processo de aplicação. Uma entidade de
aplicação é formada por uma ou mais ASEs.
• AEI - Application Entity Invocation (Invocação da
Entidade de Aplicação)
• AP - Application Process (Processo de aplicação).
Processos do usuário que executam no ambiente OSI.
Conceitos
• ASE - Application Service Element (Elemento de
Serviço da Aplicação). Definem os procolos utilizados
para a interação entre outros ASEs e aos serviços das
camadas inferiores do modelo OSI. Formam o contexto
da aplicação. Sao exemplos de ASEs: o ACSE, o ROSE
e RTSE.
• CCR - Commitment, Concurrency and Recovery
(Confirmação, Concorrência e Recuperação). Protocolo
da camada de aplicação que permite a execução de
ações atômicas e mecanismos de recuperação.
Conceitos
• DTP - Distributed Transaction Processsing
(Processamento Transacional Distribuído). Modelo
genérico que engloba o CCR.
• MHS - Message Handling Systems (Sistemas de
Manipulação de Mensagens).
• FTAM - File Transfer Access and Management.
• ROSE - Remote Operation Service Element.
• RTSE - Reliable Transfer Service Element.
ACSE-Association Control
Service Element
• O ACSE é o elemento básico da camada de aplicação.
• Responsável pelo estabelecimento e pela liberação da
associação entre duas entidades de aplicação que queiram ou
estejam trocando informações.
• Os demais ASEs, (ROSE, RTSE, CCR), bem como, aqueles
definidos pela aplicação do usuário fazem uso do conjunto
de primitivas do ACSE para o gerenciamento da associação.
• Cada tipo diferente de aplicação demanda uma combinação
diferente de ASEs para formar o protocolo de aplicação
específico.
• Enquanto que as associações dos níveis inferiores do modelo
OSI são de propósito geral, na camada de aplicação cada
associação é especificamente definida para uma tarefa.
Estabelecimento da associação
A-ASSOCIATE.REQUEST: primitiva invocada pelo AE iniciador ao ACSE.
A-ASSOCIATE.INDICATION: indicação vinda do ACSE sobre um pedido de
associação. É recebida pelo AE que foi chamado.
A-ASSOCIATE.RESPONSE: resposta do AE chamado ao ACSE em relação ao
estabelecimento da conexão.
A-ASSOCIATE.CONFIRMATION: confirmação ou não fornecida pelo ACSE
ao iniciador sobre o estabelecimento da associação.
Liberação da associação
• Uma associação pode finalizada de maneiras distintas a partir do
uso das primitivas A-RELEASE, A-ABORT e A-P-ABORT.
• A-RELEASE efetua um término seguro garantindo a entrega de
todos os dados em trânsito antes da liberação da associação.
• A-ABORT é utilizada por uma das AEs de modo a finalizar a
associação de forma unilateral.
• Com A-P-ABORT o término da associação é informado as duas
AEs pelo provedor do serviço ACSE.
• As últimas duas primitivas desfazem as associações sem
preocupar-se com a entrega possíveis informações pendentes.
CCR - Commitment,
Concurrency and Recovery
• O CCR fornece mecanismos que permitem que
duas entidades de aplicação (AEIs) distintas
coordenem seu processamento, no sentido de
garantir que a execução de determinadas
operações só ocorram, quando ambas as entidades
estiverem prontas para executá-las.
• O CCR provê também mecanismos que permitem
a recuperação dos dados processados para um
estado consistente quando ocorre alguma falha
durante a execução do procedimento.
Operação atômica
• No CCR uma ação atômica é definida como sendo
uma operação de processamento indivisível.
• Os dados manipulados durante o processamento
da ação atômica são denominados dados
delimitados (bounded data).
• O valor desses dados é modificado de forma
consistente.
• Se ocorrer algum erro durante o processamento da
ação atômica o valor que os dados delimitados
possuiam antes do início do processamento da
ação é restaurado.
Two-phase Commit Protocol
• O CCR adota o modelo mestre-escravo para
o relacionamento das duas entidades de
aplicação envolvidas no processamento de
uma ação atômica.
• O intercâmbio de informações entre o
mestre e o escravo é feita através de um
Protocolo em duas fases (Two-phase
Commit Protocol).
ROSE - Remote Operation
Service Element
• O ROSE é utilizado para suportar tipos
interativos de aplicações, as quais são
caracterizadas por um request de uma
aplicação para outra aplicação para executar
alguma operação.
• Um exemplo comum deste mecanismo é a
chamada de procedure remota.
ROSE
• O serviço básico provido pelo ROSE é a facilidade
de invocar uma operação sobre um sistema aberto
remoto.
• A entidade aplicação (AE) invoca a operação
emitindo um request para uma igual AE,
especificando uma operação particular a ser
executada.
• A outra AE tenta executar a operação e pode
reportar o resultado da tentativa. A troca entre as
duas entidades é conduzida fora do contexto da
associação de aplicação.
Classe de operação do ROSE
• Classe de operação 1
– Modo reportado: se ocorre sucesso, retorna uma
resposta com o resultado. Se ocorre uma falha,
retorna uma resposta com o erro.
– Modo de operação: síncrono
• Classe de operação 2
– Modo reportado: se ocorre sucesso, retorna uma
resposta com o resultado. Se ocorre uma falha,
retorna uma resposta com o erro.
– Modo de operação: assíncrono
Classe de operação do ROSE
• Classe de operação 3
– Modo reportado: se ocorre sucesso, não responde.
Se ocorre falha, retorna uma resposta com o erro.
– Modo de operação: assíncrono
• Classe de operação 4
– Modo reportado: se ocorre sucesso, retorna uma
resposta com o resultado. Se ocorre falha, não
responde.
– Modo de operação: assíncrono
Classe de operação do ROSE
• Classe de operação 5
– Modo reportado: se ocorre sucesso, não
responde. Se ocorre falha, não responde.
– Modo de operação: assíncrono
Primitivas de serviço do ROSE
• RO-INVOKE.request (operation value, operation class, argument,
invoke ID, linked ID, priority)
• RO-INVOKE.indication (operation value, argument, invoke ID,
linked ID)
• RO-RESULT.request (operation value, result, invoke ID, priority)
• RO-RESULT.indication (operation value, result, invoke ID)
• RO-ERROR.request (error value, error parameter, invoke ID,
priority)
• RO-ERROR.indication (error value, error parameter, invoke ID)
• RO-REJECT-U.request (reject reason, invoke ID, priority)
• RO-REJECT-U.indication (reject reason, invoke ID)
•
RO-REJECT-P.indication(invoke ID, returned parameters,
reject reason)
RTSE - Reliable Transfer Service
Element
• O objetivo do RTSE é fornecer um serviço que,
embora não seja tão geral quanto o nível de sessão,
forneça uma interface simples e seja capaz de
transferir unidades de dados de tamanho arbitrário
de forma confiável entre entidades de aplicações.
• O RTSE fornece mecanismos genéricos que, em
casos onde uma falha do sistema de comunicação
interrompe a conexão inicialmente utilizada na
transferência de dados, permitem o restabelecimento
da transferência de dados do ponto onde foi
suspensa, em uma nova conexão.
RTSE
• O RTSE utiliza o ACSE, para estabelecer e
encerar associações, e alguns dos
mecanismos de sincronização e
gerenciamento de tokens e de atividades
fornecidos pelo serviço de sessão (através
do serviço de apresentação) para garantir a
confiabilidade nas transferências de dados.
RTSE
• Após utilizar o ACSE para estabelecer uma associação
entre entidades de aplicação, o RTSE permite a troca
de dados na forma de APDUs (Aplication Protocol Data
Units) RTSE.
• Quando uma APDU é confirmada pelo RTSE
(reconhecimento positivo passado através da primitiva
RT-TRANSFER.confirm), o usuário tem a certeza de
que a unidade de dados foi entregue corretamente ao
destinatário.
• Quando o RTSE não consegue transferir a APDU, ele
sinaliza essa impossibilidade para seu usuário através
de um reconhecimento negativo, também passado
através da primitiva RT-TRANSFER.confirm.
RTSE
• A transferência de cada APDU é realizada em uma
atividade distinta no nível de sessão. O RTSE segmenta
a APDU em blocos de dados, iniciando uma atividade
de sessão, antes de começar a transferência dos blocos.
• Na fase de transferência de dados, o envio de cada
bloco de dados é seguido pela emissão de um ponto de
sincronização secundário e pela espera de sua
confirmação.
• Ao final da transferência de todos os blocos de dados de
uma APDU, a atividade de sessão é encerrada. Se
existir outra APDU a transmitir, o RTSE abre uma
nova atividade de sessão, repetindo o procedimento.
RTSE
• O RTSE utiliza o ACSE para encerrar uma
associação de forma ordenada, sem perda
dos dados em trânsito.
Download

Camada de aplicação OSI