nível de transporte. objectivos do nível disponibilizar um serviço de transporte de sequências...
TRANSCRIPT
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
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
NomeTipo
Rede
Classe
Protocolo
Exemplo de PrimitivasAPI
• 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 emRedes 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 ProtocolNível de transporte orientado à ligação
UDP - User Datagram ProtocolNí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ãoSegurança e privacidade
Representação
• Diferentes códigos (EBCDIC, ASCII)
• Diferentes formatos dos númerosInteiros (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 xxxxP-RELEASE xxxxP-U-ABORT xxP-P-ABORT xP-DATA xxP-EXPEDITED-DATA xxP-TOKEN-GIVE xxP-TOKEN-PLEASE xxP-SYNC-MAJOR xxxxP-SYNC-MINOR xxxxP-RESYNCHRONIZE xxxxP-ACTIVITY-START xxP-ACTIVITY-END xxxxP-ACTIVITY-DISCARD xxxxP-ACTIVITY-RESUME xxP-U-EXCEPTION-REPORT xxP-P-EXCEPTION-REPORT xP-ALTER-CONTEXT xxxx
APDUsO 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.1Abstract 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.1Método para descrever estruturas de dados abstractas
Exº
Envelope :== SEQUENCE {Nome OCTET STRING, -- 20 caracteresComprimento INTEGER,Criptado BOOLEAN}
ASN.1Tipos
PrimitivosINTEGER Qualquer inteiroBOOLEAN TRUE ou FALSEBIT STRING 0 ou mais bitsOCTET STRING 0 ou mais bytesANY União de todos os tiposNULL Nenhum tipoOBJECT IDENTIFIER Objectos OSI
Exº Objecto OSI{iso standard 8571 part 4 ftam-pic(1)}
ASN.1Construtore
sSEQUENCE Lista ordenada de vários tiposSEQUENCE OF Lista ordenada de um só tipoSET Colecção não ordenada de vários tiposSET OF Colecção não ordenada de um só tipo CHOICE Qualquer tipo de uma lista
ASN.1Outros TiposNumericString -- 8723653
PrintableString -- asAU)YU7767(/Ty=y
GeneralizedTime -- 19931020083412.6
TeletexString
VideotexString
Opções e DefeitosOs 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 caracteresNumero INTEGER,Andar INTEGER,Letra OCTET,Registada BOOLEAN DEFAULT FALSE,Data GeneralizedTime OPTIONAL}
TaggingNa 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 caracteresNumero INTEGER,Andar INTEGER,Letra OCTET,Registada BOOLEAN DEFAULT FALSE,Data GeneralizedTime OPTIONAL}
Sintaxe de Transferência
BER - Basic Encoding RulesCada valor transmitido é codificado
Tipo Tag
0 - tipo primitivo1 - tipo derivado
00 - UNIVERSAL01 - APPLICATION10 - Específ. contexto11 - PRIVATE
Código1 BOOLEAN2 INTEGER3 BIT STRING4 OCTET STRING5 NULL6 OBJECT IDENTIFIER...18 NUMERIC STRING...23 GENERALIZED TIME...
Mecanismos para contemplar tags superiores a 30
Sintaxe de TransferênciaBER - Basic Encoding Rules
TAG Compr. dados
1 byte para dados até 128 bytes,mais que um byte para dados maiores
Dados
ASN.1Aspectos
AssociadosBER - 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