Você está na página 1de 32

Nível de Transporte

Objectivos do Nível
• Disponibilizar um serviço de transporte de
sequências de bits aos níveis superiores
• Eliminar as limitações dos níveis inferiores

• Introduzir Qualidade de Serviço


Estrutura do Nível
• TSAPs fornecidos como pontos de entrada
dos níveis superiores
• Usa NSAPs dos níveis inferiores

• TPDUs trocadas entre níveis de transporte


comunicantes
– De dados
– De sinalização / controlo
QoS
Permite controlar ou saber antecipadamente:

– Tempo de Estabelecimento de Ligação


– Probabilidade de Falha de Estabelecimento de ligação
– Throughtput
– Atraso de Trânsito
– Taxa de Erro Residual
– Probabilidade de Falha de Transferência
– Atraso de Libertação de Ligação
– Probabilidade de Falha de Libertação de Ligação
– Protecção
– Prioridade
– Resiliência
Tipos de Redes

A - Sem erros e sem RESETs


B - Sem erros mas com RESETs
C - Com erros, pacotes perdidos e/ou
duplicados e com RESETs
Classes de Protocolos de Transporte

Classe Tipo
Nome
Protocolo Rede

0 A Classe simples

1 B Classe básica com recup. de erros

2 A Multiplexagem

3 B Recuperação de erros e multiplexagem

4 C Detecção e recuperação de erros


Exemplo de Primitivas
API
• numero_ligacao = CONNECT (TSAP_local, TSAP_remoto)
• numero_ligacao = LISTEN (TSAP_local)
• estado = DISCONNECT (numero_ligacao)
• estado = SEND (numero_ligacao, buffer, numero_bytes)
• estado = RECEIVE (numero_ligacao, buffer, numero_bytes)
Nível de Transporte em
Redes Públicas

ISO 8072 - Serviço de Transporte orientado à ligação


ISO 8073 - Protocolos de Transporte

Classes de protocolo: TP0, TP1, TP2, TP3 e TP4


Nível de Transporte na Internet
TCP - Transmission Control Protocol
Nível de transporte orientado à ligação

UDP - User Datagram Protocol


Nível de transporte sem ligação

•Ambos funcionam sobre IP

•TCP é semelhante a OSI/TP4


TCP
Nível de transporte recebe mensagens arbitrárias para
transmitir e:
• Fragmenta-as em pedaços inferiores a 64k
• Trata de retransmissões de pacotes
• Trata de reordenações de pacotes
• Trata de tempos expirados (timeouts)
• Controlo de fluxo (janela de 16 bits - número de bytes)

•TCP numera as mensagens com 32 bits


PDU do TCP
Nível de Apresentação

Fornece serviços ao nível de Aplicação

Usa os serviços do nível de Sessão

Este nível trata do significado da informação trocada


entre os 2 sistemas envolvidos na comunicação

Os computadores envolvidos podem ter diferentes


modos de representar a informação
Funções do Nível
• Dar às aplicações um modo de acesso às
sessões

•Disponibilizar um modo de especificar estruturas


de dados complexas

• Gerir o conjunto de estruturas de dados em uso

• Converter os dados entre formatos internos e


externos

Representação (diferentes códigos)


Compressão
Segurança e privacidade
Representação
• Diferentes códigos (EBCDIC, ASCII)

• Diferentes formatos dos números


Inteiros (complemento a 2, complemto a 1,
2 bytes, 4 bytes, ...)
 Flutuantes
 Big-endian, little-endian

• Estruturas de dados (RECORDS, struct, ...)

• Outras estruturas (horas, datas, ...)


Contextos
Entidades que agrupam as várias estruturas de
dados necessárias a uma aplicação

As estruturas de dados necessárias por uma


aplicação podem variar ao longo do desenrolar de
uma aplicação

Estas estruturas podem ser agrupadas em


contextos que variam ao longo do tempo

Há primitivas para mudar os contextos


Primitivas de Apresentação
(modo com ligação - algumas)
RIRC (Request/Indication/Response/Confirm)
P-CONNECT xxxx
P-RELEASE xxxx
P-U-ABORT xx
P-P-ABORT x
P-DATA xx
P-EXPEDITED-DATA xx
P-TOKEN-GIVE xx
P-TOKEN-PLEASE xx
P-SYNC-MAJOR xxxx
P-SYNC-MINOR xxxx
P-RESYNCHRONIZE xxxx
P-ACTIVITY-START xx
P-ACTIVITY-END xxxx
P-ACTIVITY-DISCARD xxxx
P-ACTIVITY-RESUME xx
P-U-EXCEPTION-REPORT xx
P-P-EXCEPTION-REPORT x
P-ALTER-CONTEXT xxxx
APDUs
O nível de cima, APLICAÇÃO, manipula muitas
estruturas de dados complexas que são transmitidas
como APDUs

Os campos destas APDUs são de diversos tipos:


• booleanos
• inteiros
• datas
• strings, ...

A ideia é agrupar as várias estruturas de dados


necessárias por uma aplicação numa entidade
chamada package e representar esssas estruturas
de dados numa notação simbólica, ASN.1
ASN.1
Abstract Syntax Notation, One

Como interligar computadores com representações


internas diferentes ?

Alternativa 1

Conversão das estruturas de dados a enviar para


uma notação intermédia

Alternativa 2

Conversores de N-formatos para N-formatos


ASN.1
Método para descrever estruturas de dados abstractas

Exº

Envelope :== SEQUENCE {


Nome OCTET STRING, -- 20 caracteres
Comprimento INTEGER,
Criptado BOOLEAN
}
ASN.1
Tipos Primitivos
INTEGER Qualquer inteiro
BOOLEAN TRUE ou FALSE
BIT STRING 0 ou mais bits
OCTET STRING 0 ou mais bytes
ANY União de todos os tipos
NULL Nenhum tipo
OBJECT IDENTIFIER Objectos OSI

Exº Objecto OSI


{iso standard 8571 part 4 ftam-pic(1)}
ASN.1
Construtores
SEQUENCE Lista ordenada de vários tipos
SEQUENCE OF Lista ordenada de um só tipo
SET Colecção não ordenada de vários tipos
SET OF Colecção não ordenada de um só tipo
CHOICE Qualquer tipo de uma lista
ASN.1
Outros Tipos
NumericString -- 8723653

PrintableString -- asAU)YU7767(/Ty=y

GeneralizedTime -- 19931020083412.6

TeletexString

VideotexString
Opções e Defeitos
Os campos de uma estrutuar descrita em ASN podem
ser:

• OPTIONAL - o campo pode estar presente, ou não

• DEFAULT - se não estiver presente é assumido um


valor de defeito

Exº

Envelope ::= {
Rua OCTET STRING, -- 20 caracteres
Numero INTEGER,
Andar INTEGER,
Letra OCTET,
Registada BOOLEAN DEFAULT FALSE,
Data GeneralizedTime OPTIONAL
}
Tagging
Na recepção, como identificar os campos se alguns são
opcionais?

Incluir em cada campo um tag, valor que precede o valor


e que o identifica

Tipos de tags:

• UNIVERSAL
• APPLICATION
• PRIVATE
• específico de contexto

Exº UNIVERSAL 3
Exº

Exº

Envelope ::= [APPLICATION 9] {


Rua OCTET STRING, -- 20 caracteres
Numero INTEGER,
Andar INTEGER,
Letra OCTET,
Registada BOOLEAN DEFAULT FALSE,
Data GeneralizedTime OPTIONAL
}
Sintaxe de Transferência
BER - Basic Encoding Rules
Cada valor transmitido é codificado

Tipo Tag 1 BOOLEAN


Código 2 INTEGER
3 BIT STRING
4 OCTET STRING
5 NULL
00 - UNIVERSAL 0 - tipo primitivo 6 OBJECT IDENTIFIER
01 - APPLICATION 1 - tipo derivado ...
10 - Específ. contexto 18 NUMERIC STRING
11 - PRIVATE
...
23 GENERALIZED TIME
...

Mecanismos para contemplar tags superiores a 30


Sintaxe de Transferência
BER - Basic Encoding Rules

TAG Compr. dados Dados

1 byte para dados até 128 bytes,


mais que um byte para dados maiores
ASN.1
Aspectos Associados
BER - Basic Encoding Rules

Regras que indicam como as estruturas de dados


são realmente codificadas

Compiladores de ASN.1

Programas que traduzem uma descrição ASN.1


num conjunto de funções em C (ou noutra
linguagem, mas o C é mais vulgar) que realizam a
codificação e descodificação dos dados
Tipos de Serviço
• CBR
VCIs e VPIs
• Protocolo orientado à ligação
• PVCs e SVCs
• VPIs
Endereçamento
• Usa E.164

Você também pode gostar