Classes do Protocolo de Transporte Orientado à Conexão
Dependendo do tipo de serviço prestado pela camada de rede, o protocolo de transporte necessita ser menos ou mais robusto. Ciente disto, a ISO definiu o protocolo em cinco (5) classes:
- CLASSE 0: Classe simples. É o tipo mais simples de protocolo de transporte, totalmente compatível com a Recomendação CCITT T.70 para terminais teletext. Assume-se que o serviço de rede prestado é do tipo A, totalmente confiável. O mapeamento entre as conexões de transporte e de rede é de uma-para-uma, tornando desnecessária a implementação de mecanismos de controle de seqüência, de fluxo e de erro - tratados na camada de rede. Tem capacidade de proporcionar apenas as funções necessárias para estabelecimento de conexão com negociação, transferência de dados com segmentação e detecção de erros de protocolo.
- O estabelecimento da conexão utiliza um mecanismo chamado two-way handshake. Este mecanismo basea-se na troca de duas (2) mensagens - pedido de conexão e confirmação do pedido. Não é permitida a transferência de dados durante o estabelecimento da conexão. Nas TPDU CR e CC, somente são permitidos os parâmetros de identificação do ponto de acesso e tamanho máximo da TPDU. O tamanho padrão dos dados é de 128 octetos, podendo ser negociados valores de 256, 512, 1024 e 2048 octetos.
- Na classe 0, a entidade de transporte libera a conexão de transporte solicitando a liberação da conexão de rede.
- CLASSE 1: Classe com Recuperação Básica de Erro. Esta classe foi projetada para utilizar um serviço de rede tipo B. Seu principal objetivo é recuperar-se de erros sinalizados pelo serviço de rede (desconexão da rede ou reset).
- O estabelecimento da conexão utiliza-se do mecanismo two-way handshake, descrito na classe 0. Na classe 1, pode haver troca de dados na fase de conexão. Cada TPDU de dados transmitida é seqüencialmente numerada, e a entidade emissora mantém uma cópia delas até que ela receba uma mensagem da entidade receptora confirmando que as mesmas chegaram perfeitamente.
- A classe1oferece ainda a facilidade de segmentação de TSDU. Quando surge uma TSDU muito grande, ela é segmentada em várias TPDU-DT. A partir da classe 1, pode-se concatenar TPDU em uma única NSDU, realizando a separação da mesma na recepção.
- Após uma falha do serviço de rede (indicação de N-DISCONECT ou N-RESET), deve ocorrer a ressincronização para determinar quais TPDU devem ser retransmitidas. Este procedimento é usado para fazer a conexão de transporte voltar ao estado normal. Estas providencias são responsabilidades da entidade de transporte iniciadora da conexão.
- A desconexão é caracterizada pelo uso das TPDU-DR e TPDU-DC.
- CLASSE 2: Classe com Multiplexação. A característica fundamental desta classe é a de propiciar a multiplexação de várias conexões de transporte numa conexão de rede. Cada TPDU possui uma referência de destino que identifica cada conexão de transporte. Ela foi projetada para utilizar serviço de rede tipo A, não utilizando de nenhum mecanismo para detecção e recuperação de erros. Se a conexão de rede é desconectada ou ressetada, a conexão de transporte é descontinuada.
- Para o estabelecimento da conexão, o mecanismo usado é o mesmo das duas (2) classes anteriores - two-way handshake. Na classe 2 existe a possibilidade de haver um controle de fluxo explícito, proporcionando controle sobre eventuais congestionamentos nas conexões. Quando isto acontece, um mecanismo de crédito é definido, permitindo ao receptor informar ao emissor a exata quantidade de dados que deseja receber. A entidade de transporte que recebe um ACK (confirmação de TPDU) considera o campo YR-TU-NR (da TPDU-ACK) como sendo o limiar inferior da janela e a soma deste valor mais o valor do campo CDT, como o limiar superior da janela. Um detalhe importante é que, nesta classe, o limite superior da janela não pode ser reduzido.
- AS TPDU são numeradas seqüencialmente para cada sentido da transmissão. Quando existe alguma mensagem de urgência, ela pode ser enviada como um dado expresso, tendo prioridade sobre as outras. Cada mensagem de dado expresso deve ser confirmada antes da transmissão de outra TPDU.
- Quando não existe mais a necessidade de se manter a conexão, é utilizado o procedimento explícito para finalizá-la.
- CLASSE 3: Classe com recuperação de erros e multiplexação. Reúne as funcionalidades das classes 1 e 2, mais a capacidade de recuperação após uma falha sinalizada pelo nível de rede (não envolvendo o usuário do nível de transporte). Opera sobre serviço de rede do tipo B.
- A entidade emissora mantém cópias das TPDU-DT e TPDU-ED até que ela receba uma confirmação que elas chegaram com perfeição. O recebimento de uma TPDU-RJ indica quais TPDU devem ser retransmitidas. Através da TPDU-RJ pode-se diminuir o limite superior da janela, diminuindo assim o crédito.
- A desconexão é feita explicitamente através da TPDU-DR e da TPDU-DC.
- CLASSE 4: Classe de detecção e recuperação de erros. Incorpora as funcionalidades da classe 3, mais a capacidade de detecção de erros não-sinalizados pela camada de rede. Implementa mecanismos de tratamento de erros de perda, duplicação e de seqüência. Foi projetada para atuar sobre um serviço de rede não confiável, orientado ou não à conexão. Essa classe foi projetada para ser utilizada com conexões de rede do tipo C.
- Uma característica peculiar da classe 4 é o estabelecimento da conexão através de um mecanismo denominado three-way handshake. Este mecanismo consiste não apenas de em pedido e uma confirmação de conexão, mas contém a confirmação da confirmação da conexão.
- As TPDU possuem um tempo de vida limitado. Existe um time-out para a retransmissão de TPDU-DT não confirmadas e um time_out para o tempo de que as TPDU ficarão sendo retransmitidas. As TPDU são mantidas em seqüência e o tamanho da janela pode ser alterado com o envio de uma TPDU-AK com um crédito menor. Os dados expressos também são numerados, e são entregues imediatamente ao nível de sessão. A entidade de transporte emissora dos dados expressos não enviará mais nenhum dado expresso até receber a confirmação dos dados enviados.
- A classe 4 pode existir o mecanismo de splitting, que associa uma conexão de transporte a várias conexões de rede.
- Quando não há nenhuma transmissão de TPDU, é disparado um temporizador que, quando termina, provoca o término da conexão. Na fase de desconexão, a referência (TSAP) é congelada, não podendo ser reusada por um determinado período de tempo. Isto deve acontecer porque ainda podem ter TPDU com essa referência circulando pela rede.