nível de transporte. objectivos do nível disponibilizar um serviço de transporte de sequências...

32
Nível de Transporte

Upload: internet

Post on 18-Apr-2015

106 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 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ível de Transporte

Page 2: 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

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

Page 3: 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

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

Page 4: 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

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

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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)

Page 8: 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í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

Page 9: 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í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

Page 10: 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

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

Page 11: 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

PDU do TCP

Page 12: 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í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

Page 13: 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

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

Page 14: 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

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, ...)

Page 15: 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

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

Page 16: 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

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

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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

Exº

Envelope :== SEQUENCE {Nome OCTET STRING, -- 20 caracteresComprimento INTEGER,Criptado BOOLEAN}

Page 20: 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

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)}

Page 21: 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

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

Page 22: 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

ASN.1Outros TiposNumericString -- 8723653

PrintableString -- asAU)YU7767(/Ty=y

GeneralizedTime -- 19931020083412.6

TeletexString

VideotexString

Page 23: 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

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}

Page 24: 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

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

Page 25: 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

Exº

Exº

Envelope ::= [APPLICATION 9] {Rua OCTET STRING, -- 20 caracteresNumero INTEGER,Andar INTEGER,Letra OCTET,Registada BOOLEAN DEFAULT FALSE,Data GeneralizedTime OPTIONAL}

Page 26: 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

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

Page 27: 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

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

Page 28: 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

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

Page 29: 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
Page 30: 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

Tipos de Serviço

• CBR

Page 31: 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

VCIs e VPIs

• Protocolo orientado à ligação

• PVCs e SVCs

• VPIs

Page 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

Endereçamento

• Usa E.164