88
Parte IV – Camada Parte IV – Camada de Transporte ISO de Transporte ISO

3. Camada de Transporte v0.6

Embed Size (px)

DESCRIPTION

Camada de transporte

Citation preview

  • Parte IV CamadaParte IV Camadade Transporte ISOde Transporte ISO

  • prof. Miguel Grimm 2

    Camada de transporte ISO Servios da camada rede de dados

    Camada de Transporte ISOCamada de Transporte ISO

  • prof. Miguel Grimm 3

    Introduo Protocolos de controle de duplicao e ordem Protocolo de controle de erro Protocolo de controle de fluxo Gerncia de buffers Mapeamento de unidade de dados Mapeamento de conexes

    I. Funes da Camada de I. Funes da Camada de TransporteTransporte

  • prof. Miguel Grimm 4

    1. Introduo1. Introduo

    A camada de transporte ISO objetiva a transferncia de dados entre sistemas finais de forma confivel, isolando as camadas superiores dos problemas de transmisso de rede, por exemplo, perda, duplicao, fora de ordem e fragmentao de pacotes.

    A camada transporte presta servios camada de cima (camada de sesso) e usa os servios da camada de baixo (camada de rede)

    SessoTransporte

    Redes

  • prof. Miguel Grimm 5

    Principais funes da camada de transporte

    Segmentao, blocagem e concatenao fim-a-fim; Multiplexao de conexes de transporte sobre

    conexes de rede otimiza a utilizao de conexo de rede e aumenta a vazo da conexo de transporte;

    Controle de fluxo utiliza a tcnica de alocao de crdito, a qual o receptor ajusta dinamicamente o tamanho da janela deslizante atravs da atribuio de crdito;

    Controle de seqncia e de erros detecta e corrige a perda, duplicao e entrega fora de ordem de unidades de dados;

  • prof. Miguel Grimm 6

    Monitorao de QdS verifica se a Qualidade de Servio negociada mantida em uma conexo de transporte. Avisa as entidades de sesso se a QdS no for mantida;

    Gerncia da qualidade de servio prestado; Transferncia de unidades de dados expressos

    um dado expresso tem tamanho limitado e prioridade sobre os dados normais;

    Estabelecimento e liberao de conexo na fase de estabelecimento de conexo so negociados: tamanho mximo das PDUs, transferncia de dados expressa, qualidade de servio (vazo, prioridade, etc.), classe de protocolo, etc.

  • prof. Miguel Grimm 7

    Funes das classes

    Esta camada possui 5 classes de protocolos orientados a conexo.

    As funes implementadas por estas classes dependem do nvel do servio utilizado da camada de rede.

    Funo

    X X

    Controle de fluxo XMultiplexao X X X

    X

    Classe 0

    Classe 1

    Classe 2

    Classe 3

    Classe 4

    Recuperao de erros bsicos

    Deteco e recuperao de erros

  • prof. Miguel Grimm 8

    Pacote duplicado. Existe, por exemplo, devido retransmisso do pacote por causa da perda do pacote de reconhecimento (ACK), conforme a seguir:

    Este problema resolvido com o uso de identificadores nos pacotes como no slide a seguir:

    2. Protocolo de controle de 2. Protocolo de controle de duplicao e ordemduplicao e ordem

    timeout

    DT0

    DT0

    AK0

    PacotePerdido

    tDT0

    DT0

    AK0

    AK0

    Pacote Duplicado

    TX:

    RX:

  • prof. Miguel Grimm 9

    1. O emissor coloca um identificador nico em cada T-PDU e envia-a;

    2. O receptor recebe a T-PDU e verifica se esta j foi recebida atravs da verificao na lista de identificadores de T-PDUs recebidas;

    3. Se no foi recebida, o identificador inserido na lista de identificadores. Identificadores so retirados da lista seguindo algum critrio;

    4. O receptor envia o pacote de reconhecimento com o identificador da T-PDU recebida, mesmo sendo duplicada, e a T-PDU duplicada descartada;

    5. O emissor cancela a temporizao da T-PDU a partir do identificador do ACK recebido.

    Protocolo de controle de duplicao

  • prof. Miguel Grimm 10

    Pacote fora de ordem

    O nmero de seqncia do pacote recebido no o nmero do pacote esperado.

    O pacote fora de ordem recebido armazenado at que o pacote esperado chegue, ento, os pacotes podem ser entregues a camada superior.

    DT0

    DT0

    PacotePerdido

    t

    Pacotes fora de ordem (armazenados)

    DT1

    DT2

    DT2

    DT3

    DT3

    DT1

    DT1Pacote Esperado

    timeout

    TX:

    RX:

    AK0 AK1AK2 AK3

  • prof. Miguel Grimm 11

    3. Protocolo de controle de erro3. Protocolo de controle de erro

    A deteco de erros aliada retransmisso com o uso de pacote de reconhecimento (AK) a estratgia mais usada nos protocolos da camada Transporte.

    DT

    Erro NK

    NK

    t

    timeout

    DT

    DT

    DT

    AK

    AK

    PacoteCorrompido

    t

    TX:

    RX:

    PacoteCorrompido

    Erro

  • prof. Miguel Grimm 12

    A tcnica checksum

    a tcnica utilizada para detectar erros, sendo aplicada nos dados antes do seu envio (clculo) e aps o recebimento da T-PDU (verificao)

    Um possvel algoritmo para calcular no emissor e para verificar no receptor o checksum dado no slide a seguir:

    d0 d1 d(n-2) d(n-1) X Ybytes de dados bytes de checksum

  • prof. Miguel Grimm 13

    Algoritmo de clculo do checksum(lado emissor)

    1. Iniciar os bytes de controle c0 e c1 com ZERO;2. Repetir as frmulas abaixo para i variando de 1 at L,

    c0 c0 + d[ i ]; c1 c1 + c0.

    3. Calcular X e Y como as frmulas, sendo que n indica a posio do primeiro byte do campo checksum. X c1 + (L n) * c0; Y c1 (L n + 1) * c0.

    4. Colocar os valores X e Y nos bytes (n) e (n+1).

    D[1] D[2] D[L] D[n] D[n+1]. . . X Y

  • prof. Miguel Grimm 14

    Exemplo de clculo do checksum

    D[1] D[2] D[3] D[4] D[5] D[6]10 03 01 20 X Y

    c0 0 [00] c1 0 [00]

    Incio

    c0 14+20 [34] c1 37+34 [6B]

    4a. iterao

    c0 0+10 [10] c1 0+10 [10]

    1a. iterao c0 10+03 [13] c1 10+13 [23]

    2a. iterao

    X -6B+(4-5)*34 [61] Y 6B-(4-5+1)*34 [6B]

    Final

    L = 6Iterao i

    c0 c0 + d[i] c1 c1 + c0

    c0 13+01 [14] c1 23+14 [37]

    3a. iterao

  • prof. Miguel Grimm 15

    Algoritmo de verificao do checksum(lado do receptor)

    1. Iniciar os bytes de controle c0 e c1 com ZERO;2. Repetir as frmulas abaixo para i variando de 1 at L+2,

    o que inclui todos os bytes recebidos, incluindo X e Y: c0 c0 + d[ i ]; c1 c1 + c0.

    3. Se c0 e/ou c1 no tiverem valor ZERO, detectado que o ocorreu durante a transmisso.

    D[1] D[2] D[L] D[L+1] D[L+2]. . . X Y

  • prof. Miguel Grimm 16

    Exemplo de verificao do checksum

    D[1] D[2] D[3] D[4] D[5] D[6]10 03 01 20 61 6B

    c0 0 [00]c1 0 [00]

    Incio

    c0 14+20 [34]c1 37+34 [6B]

    4a. iterao

    c0 0+10 [10]c1 0+10 [10]

    1a. iteraoc0 10+03 [13]c1 10+13 [23]

    2a. iteraoc0 13+01 [14]c1 23+14 [37]

    3a. iterao

    c0 34+61 [95]c1 6B+95 [00]

    5a. iteraoc0 95+6B [00]c1 00+00 [00]

    6a. iterao

    L = 4 n = 5

    Iterao i c0 c0 + d[i] c1 c1 + c0

  • prof. Miguel Grimm 17

    Protocolo de controle de erro1. Checksum. O emissor calcula o checksum e coloca o X e

    Y no final da T-PDU;2. Transmisso. A T-PDU enviada e iniciada uma

    temporizao;3. Corrupo. A T-PDU corrompida antes de chegar no

    receptor;4. Verificao. O receptor verifica o checksum para toda T-

    PDU recebida, inclusive X e Y. Se c0 e/ou c1 so diferentes de zero, ento a TPDU recebida possui erro;

    5. Tratamento. Se identificado erro, o receptor envia um pacote de reconhecimento negativo (NAK) ou no envia nada. Neste ltimo caso, a T-PDU ser retransmitida quando expirar o tempo de espera do ACK do receptor.

  • prof. Miguel Grimm 18

    Cdigos corretores de erros

    Detectam e corrigem erros nas T-PDUs; Possui uso complexo; Utilizado somente em aplicaes com alta taxa de

    erros e onde a retransmisso consome muito recurso do meio de comunicao.

  • prof. Miguel Grimm 19

    4. Protocolo de controle de fluxo4. Protocolo de controle de fluxo

    Utiliza uma janela deslizante com alocao de crdito em uma conexo de transporte.

    O emissor envia pacotes para o receptor de acordo com o nmero de crditos (tamanho da janela) disponvel.

    Um crdito corresponde a um pacote. Estudaremos os seguintes protocolos:

    Crdito relativo; Crdito absoluto.

  • prof. Miguel Grimm 20

    Crdito relativo Inicialmente, o nmero de crditos (3) enviado pelo

    receptor e o emissor envia os pacotes. Aps receber 3 pacotes, enviado 4 crditos e o

    emissor envia mais 4 pacotes e isto se repete at acabarem os pacotes do emissor.

    [1] Envia ACK de 3 pacotesA B C D E F G H I AK, 3

    [4] Recebe 3 pacotesA B C D E F G H I C B A A B C

    [5] Envia ACK de 4 pacotesA B C D E F G H I AK, 4 A B C

    [8] Recebe 4 pacotesA B C D E F G H I G F E D A B C D E F G

    [9] Envia ACK de 2 pacotesA B C D E F G H I AK, 2 A B C D E F G

    [2] Recebe ACK de 3 pacotes

    [3] Envia 3 pacotes

    [6] Recebe ACK de 4 pacotes

    [7] Envia 04 pacotes

    [10] Recebe ACK de 2 pacotes

  • prof. Miguel Grimm 21

    Crdito absoluto O emissor atribui um nmero de seqncia a cada pacote; O receptor envia o nmero do maior pacote (3) que o

    emissor pode enviar. O receptor, aps receber o pacote com o nmero enviado,

    envia o novo nmero do maior pacote a ser enviado (7) e este processo se repete at acabarem os pacotes.

    [1] Envia ACK de 3 pacotes1 2 3 4 5 6 7 8 9 ACK, 3

    [4] Recebe 3 pacotes (at 3)1 2 3 4 5 6 7 8 9 3 2 1 1 2 3

    [5] Envia ACK do pacote 71 2 3 4 5 6 7 8 9 ACK, 7 1 2 3

    [8] Recebe 4 pacotes (at 7)1 2 3 4 5 6 7 8 9 7 6 5 4 1 2 3 4 5 6 7

    [9] Envia ACK do pacote 91 2 3 4 5 6 7 8 9 ACK, 9 1 2 3 4 5 6 7

    [2] Recebe ACK de 3 pacotes

    [3] Envia 3 pacotes (at 3)

    [6] Recebe ACK do pacote 7

    [7] Envia 4 pacotes (at 7)

    [10] Recebe ACK do pacote 9

  • prof. Miguel Grimm 22

    5. Gerncia de 5. Gerncia de buffersbuffers

    responsvel pela alocao, uso e liberao de buffers, sendo utilizado no lado emissor e no lado receptor de uma conexo de transporte.

    Aplicao. Os buffers so utilizados para combinar taxas desiguais de emisso e recepo.

    Utiliza o nmero de crditos disponvel no receptor e so servem para: Guardar os pacotes recebidos fora de ordem; Guardar pacotes enviados para retransmisso se

    forem perdidos ou corrompidos; Guardar os pacotes que chegarem e que no

    possam ser passados para o usurio receptor.

  • prof. Miguel Grimm 23

    Estratgias de alocao buffer

    Consiste da seleo de um buffer dentre os buffers existentes para cada lado de uma conexo estabelecida.

    O tipo de estratgia e o nmero de buffers so estabelecidos na abertura da conexo.

    Alocao fixa cada conexo possui uma quantidade de buffers alocadas de forma esttica e permanente. O nmero de buffers para cada conexo pode variar,

    sendo o total de buffers dividido entre todas as conexes estabelecidas.

    Alocao dinmica as conexes compartilham dinamicamente todos os buffers livres, no sendo alocado nenhum buffer permanentemente a nenhuma conexo.

  • prof. Miguel Grimm 24

    Tamanho dos buffers

    alocada para uma conexo, sendo uma outra atribuio do Gerenciamento de Buffers.

    Existem os dois tipos de tamanho: fixo e varivel. Buffer de tamanho fixo utilizado quando a

    maioria das T-PDUs tiver tamanho muito prximo. Se o tamanho do buffer for igual ao tamanho da maior

    T-PDU, poder haver desperdcio de memria quando pequenas T-PDUs forem armazenadas.

    Dados Livre Dados Dados Dados LivreT-PDU1 T-PDU2 T-PDU3 T-PDU4

  • prof. Miguel Grimm 25

    Buffer de tamanho varivel o tamanho dos buffers so ajustados de acordo com o tamanho de cada T-PDU.

    Este tipo tem bom uso da memria quando todas as T-PDUs so grandes, sendo ineficiente quando existem algumas T-PDUs pequenas por apresentar o problema de fragmentao.

    Tcnicas mistas um misto das Estratgias de Alocao apresentadas utilizado, o mesmo ocorre com a tcnica de escolha do Tamanho do Buffer.

    Dados Dados Dados DadosT-PDU1 T-PDU2 T-PDU3 T-PDU4

  • Tipos de buffers (ver Tanenbaum)

    TPDU1 TPDU2 TDPU3

    TPDU1 TPDU2TPDU3

    TPDU1

    TPDU2

    TPDU3

    TPDU4

    (a) Buffers de tamanho fixo encadeado.

    (b) Buffers de tamanho varivel encadeado.

    (c) Um grande bufferscircular por conexo.

  • prof. Miguel Grimm 27

    6. Mapeamentos de unidade de dados

    O mapeamento de unidade de dados a forma pela qual se relaciona PDU e SDU.

    Estudaremos os tipos: Um-para-um; Segmentao e remontagem; Blocagem e desblocagem; Concatenao e separao.

  • prof. Miguel Grimm 28

    Mapaeamento um-para-um

    Ocorre quando uma nica T-PDU contm os dados de uma nica T-SDU.

    Segue o mapeamento do lado do transmissor e do lado do receptor:

    T-SDU

    T-PCI S-PDU

    T-SDU

    T-PCI S-PDU( T )

    Transmissor Receptor

  • prof. Miguel Grimm 29

    Segmentao e remontagem Ocorrem quando uma entidade de Transporte (T) de

    um sistema aberto gera vrias T-PDUs a partir de uma T-SDU (segmentao) e as transmite.

    As vrias T-PDUs recebidas pela entidade (T) remota so juntadas (remontagem) em uma nica SDU antes de ser entregue a entidade da camada Sesso (S).

    Segue os mapeamentos segmentao (transmissor) e remontagem (receptor):

    T-SDUT-PCI

    T-PDU T-PDU

    T-SDUT-PCI

    T-PDU T-PDU

    ( T )( T )

    Transmissor Receptor

  • prof. Miguel Grimm 30

    Blocagem e desblocagem Ocorrem quando uma entidade de Transporte coloca

    vrias T-SDUs numa nica T-PDU (blocagem) antes de transmiti-la.

    A entidade de Transporte remota ao receber esta T-PDU, retira todas as T-SDUs (desblocagem) e entrega-as a entidade Sesso.

    Segue os mapeamentos concatenao (transmissor) e separao (receptor):

    T-SDU

    T-PDU

    T-PCI T-SDUT-PCI T-SDUT-PCI T-SDUT-PCI

    ( T )T-PDU

    Transmissor Receptor

  • prof. Miguel Grimm 31

    Concateno e separao Ocorrem quando uma entidade de Transporte concatena

    vrias T-PDUs em uma nica N-SDU antes de entrega-la entidade de Rede do mesmo sistema aberto.

    A entidade de rede de destino entrega a N-SDU para a entidade de transporte que realiza a separao das N-PDUs contidas na N-SDU.

    Segue os mapeamentos concatenao (transmissor) e separao (receptor):

    N-SDU

    T-PDU T-PDU

    N-SDU

    T-PDU T-PDU( T )

    ( N )

    Transmissor Receptor

  • prof. Miguel Grimm 32

    Uma interao realizada entre camadas adjacentes quando uma T-PDU trocada.

    O mapeamento concatenao/separao permite que vrias T-SDUs sejam enviadas numa nica N-SDU, o que reduz o nmero de interao entre camadas.

  • prof. Miguel Grimm 33

    7. Mapeamento de conexes7. Mapeamento de conexes

    O mapeamento de conexes de transporte uma das funes dessa camada.

    O mapeamento determina como se constri conexes de transporte em cima de conexes de rede.

    Existem os seguintes tipos: Uma-para-uma; Multiplexao e demultiplexao; Splitting e recombinao.

  • prof. Miguel Grimm 34

    Mapeamento uma-para-uma

    Uma conexo de transporte construda em cima de uma nica conexo de rede.

    Segue o mapeamento do lado do transmissor e do lado do receptor.

    Conexo de RedeConexo de Rede

    Conexo de Transporte Conexo de Transporte

    Camada Transporte (T)Entidade

    (T)Entidade

    (T)

  • prof. Miguel Grimm 35

    Multiplexao e demultiplexao Vrias conexes de transporte so mapeadas numa

    conexo de rede. So utilizadas para otimizar o uso da largura de banda

    disponvel para a conexo de rede, sendo a mais da requerida pela conexo de transporte.

    Segue os mapeamentos multiplexao (transmissor) e demultiplexao (receptor).

    Conexo de Rede

    Conexo de Rede

    Conexes de Transporte

    Conexes de Transporte

    Camada Transporte (T)Entidade

    (T)Entidade

    (T)

  • prof. Miguel Grimm 36

    Splitting e recombinao Uma conexo de transporte mapeada em vrias

    conexes de rede. So usados quando uma conexo de rede no consegue

    atender aos requisitos de largura de banda da conexo de transporte e possui melhor confiabilidade e desempenho.

    Segue os mapeamentos splitting (transmissor) e recombinao (receptor).

    Conexes de Rede

    Conexo de Transporte

    Entidade(T)

    Conexes de Rede

    Conexo de Transporte

    Entidade(T)

    Camada Transporte (T)

  • prof. Miguel Grimm 37

    Funes necessrias Multiplexao e demultiplexao:

    Identificador dos dados recebidos da conexo de transporte;

    Controle de fluxo para uso da conexo de rede; Poltica de escalamento quando mais de uma

    conexo de transporte possurem, ao mesmo tempo, dados para enviar.

    Splitting e recombinao: Escalonamento do uso das conexes de rede pela

    conexo de transporte Reordenao dos dados da conexo de transporte

    recebidos atravs de vrias conexes de rede.

  • prof. Miguel Grimm 38

    II. Servios e Unidades de DadosII. Servios e Unidades de Dadosda Camada Transporteda Camada Transporte

    Qualidade de servio Primitivas de servios Unidade de dados de protocolo

  • prof. Miguel Grimm 39

    1. Qualidade de servio1. Qualidade de servio

    Um dos objetivos da camada Transporte melhorar a QdS (Qualidade de Servio) oferecida pela camada Rede

    Os parmetros da QdS so especificados pelo usurio de transporte na abertura de conexo. Os parmetros tpicos de QdS so:

    Parmetro Vazo (throughput) indica o nmero de bytes de dados do usurio transmitidos por segundo durante um determinado intervalo de tempo, sendo medido e calculado separadamente para cada direo;

    Taxa de Erro Residual percentual que indica o nmero de mensagens perdidas ou corrompidas em relao ao total enviado;

  • prof. Miguel Grimm 40

    Retardo de Trnsito indica o tempo transcorrido desde o envio de uma mensagem pelo usurio de transporte at seu recebimento pelo usurio de destino, sendo medido e calculado separadamente para cada direo;

    Retardo no Estabelecimento de Conexo o tempo transcorrido entre a solicitao de uma conexo de transporte e o recebimento de sua confirmao pelo usurio;

    Probabilidade de Falha no Estabelecimento de Conexo a possibilidade de a conexo no se estabelecer dentro de um perodo mximo previsto. Ocorre devido a congestionamento na rede, falta de espao em tabelas, etc.;

  • prof. Miguel Grimm 41

    Parmetro Elasticidade possibilita a camada Transporte finalizar uma conexo espontaneamente devido a problemas interno ou de congestionamento;

    Parmetro Prioridade possibilita indicar que algumas conexes so mais importantes do que outras, o que importante em caso de congestionamento;

    Parmetro Proteo permite o usurio de transporte fornecer proteo contra leitura, ou modificao, de dados por parte de terceiros.

    Negociao de opo. Ocorre quando a parte local de uma camada envia um parmetro de QdS, por ex. vazo de 300 Mbps, para uma camada remota, na abertura de conexo, e esta no consegue alcanar o objetivo desejado. Se possvel, a camada remota faz uma contraproposta, por ex. vazo de 200 Mbps, ou rejeita o pedido da conexo.

  • prof. Miguel Grimm 42

    2. Primitivas de servios2. Primitivas de servios As primitivas de servios de uma camada definem os

    servios oferecidos pela camada.

    Operao Primitivas Parmetros

    Dados do usurio

    Dados expressos do usurio

    Dados do usurio

    Estabelecimento de Conexo

    T-CONNECT.reqT-CONNECT.ind

    Endereo do chamado, endereo do chamador, opo de dados expedidos, QdS e dados do usurio

    T-CONNECT.respT-CONNECT.conf

    Endereo do respondedor, QdS, opo de dados expedidos e dados do usurio

    Transferncia de Dados

    T-DATA.reqT-DATA.indT-EXPEDITED DATA.req T-EXPEDITED DATA.ind

    Liberao deConexo

    T-DISCONNECT.req

    T-DISCONNECT.ind Razo da desconexo e dados do usurio

  • prof. Miguel Grimm 43

    3. Unidades de dados do protocolo3. Unidades de dados do protocolo

    As unidades de dados (T-PDUs) so utilizadas para a comunicao de entidades pares de transporte com o uso do protocolo de transporte:

    Segue a comunicao entre entidades pares:

    T-PDU

    Sistema A

    Entidade(T)

    Sistema B

    Entidade(T)

    Protocolo de Transporte (T)

    Camada Rede (Meio de Comunicao)

    Primitivas de servios (T)

  • prof. Miguel Grimm 44

    PDUs de Transporte (T-PDU)

    As T-PDUs usadas em conexo so apresentadas a seguir de acordo com a operao: Estabelecimento de conexo; Transferncia de dados; Liberao de conexo; Erro de protocolo.

  • prof. Miguel Grimm 45

    Estabelecimento de Conexo existem as T-PDUs: CR Connection Request: pedido de conexo; CC Connection Confirm: confirmao de

    conexo. Transferncia de Dados existem as T-PDUs:

    DT Data T-PDU: dados normais; AK Data Acknowledgment: reconhecimento de

    dados normais; RJ Reject : rejeio de dados normais; ED Expedited Data: dados expressos; EA Expedited Acknowledgment: reconhecimento

    de dados expressos.

  • prof. Miguel Grimm 46

    Liberao de Conexo existem as T-PDUs: DR Disconnect Request: pedido de liberao de

    conexo; DC Disconnect Confirm: confirmao de liberao

    de conexo.

    Erro de Protocolo existe a T-PDU: ER Error T-PDU: indicao de erro de protocolo.

  • prof. Miguel Grimm 47

    III. Protocolos Orientados a III. Protocolos Orientados a ConexoConexo

    Classes do protocolo e servios usados Classes 0, 1, 2, 3 e 4 Primitivas e unidades de dados tpicas Formato das unidades de dados tpicas

  • prof. Miguel Grimm 48

    1. Classes do protocolo e1. Classes do protocolo eservios usadosservios usados

    O protocolo de transporte possui cinco classes (0, 1, 2, 3 e 4) de protocolos orientados a conexo que utilizam trs tipos (A, B e C) de servios do protocolo de rede.

    As recomendaes da ISO dos usos dos servios de Rede pelas entidades de transporte so:.

    As descries das classes e dos tipos dos protocolos citados so apresentadas no slide a seguir.

    Classe 0 Classe 1 Classe 2 Classe 3 Classe 4

    Tipo A Tipo B Tipo C

    CamadaTransporte

    CamadaRede

  • prof. Miguel Grimm 49

    Classes do protocolo de transporte As funes implementadas nestas classes dependem do

    nvel do servio utilizado da camada Rede. Classe 0 simples, sem nenhum mecanismo de deteco

    e recuperao de erros; Classe 1 recuperao de erros bsicos sinalizados pela

    rede; Classe 2 mecanismo de controle de fluxo e

    multiplexao de vrias conexes de transporte sobre uma nica conexo de rede;

    Classe 3 recuperao de erros sinalizados pela rede e multiplexao de vrias conexes de transporte sobre uma nica conexo de rede;

    Classe 4 deteco e recuperao de erros e multiplexa-o de conexes de transporte sobre uma nica conexo de rede.

  • prof. Miguel Grimm 50

    Tipos de servios do protocolo de rede Tipo A. Servio de rede orientado a conexo, possui uma

    taxa de erro residual aceitvel e uma taxa de erro sinalizado aceitvel. Detecta erros de perda, duplicao, corrupo e seqncia, no existindo quase nenhuma perda de dados;

    Tipo B. Servio de rede orientado a conexo, possui uma taxa de erro residual aceitvel e uma taxa de erro sinalizado no aceitvel. Detecta os mesmo tipos de erros do tipo A, mas possui um ndice maior de erros;

    Tipo C. Servio de rede orientado e no orientado a conexo, possui taxa de erro residual no aceitvel e taxa de erro sinalizado no aceitvel. No so detectados erros de perda, duplicao, corrupo e seqncia.

  • prof. Miguel Grimm 51

    Classe 0 Possui o servio mais simples das classes. Servio de rede. Usa o servio de rede confivel orientado

    a conexo do Tipo A. Funcionalidades. Possuem as seguintes funes:

    Estabelecimento, rejeio e liberao de conexo; Transferncia e segmentao / remontagem de dados; Aviso de erros; Existe uma conexo de rede dedicada para cada

    conexo de transporte; Usa os mecanismos de desconexo, deteco e

    recuperao de erros, controle de seqncia e de controle de fluxo da camada rede (servio confivel).

    Unidades de dados: CR, CC, DT, DR, DC e ER.

  • prof. Miguel Grimm 52

    Classe 1 Possui mecanismo de recuperao de erros bsicos sinalizados

    pela rede. Servio de rede. Usa uma conexo com um mnimo de

    sobrecarga da rede Tipo B. Funcionalidades. Possui os seguintes mecanismos:

    Transferncia, segmentao / remontagem e concatenao / separao de dados;

    Estabelecimento, rejeio e liberao de conexo; Envio de dados no estabelecimento de conexo; Recuperao de erros notificados pela camada Rede; Transferncia de dados expressos; Estabelece sincronismo no reset do servio de rede

    (ressincronizao); Utiliza o controle de fluxo da camada de rede.

    Unidades de dados: CR, CC, DT, AK, RJ, ED, EA, DR, DC e ER.

  • prof. Miguel Grimm 53

    Classe 2 Possui mecanismo de controle de fluxo e multiplexao de vrias

    conexes de transporte sobre uma nica conexo de rede. Servio de rede. Usa o servio de rede confivel orientado a

    conexo do Tipo A. Funcionalidades. Possui os seguintes mecanismos:

    Transferncia, segmentao / remontagem e concatenao / separao de dados;

    Estabelecimento, rejeio e liberao de conexo; Controle de fluxo com alocao de crdito [opcional]; Multiplexao / demultiplexao de conexes; No existe deteco / recuperao de erros por utilizar uma

    rede orientada a conexo. Unidades de dados: CR, CC, DT, AK, ED, EA, DR, DC e ER.

  • prof. Miguel Grimm 54

    Classe 3 Possui recuperao de erros sinalizados pela rede e

    multiplexao de vrias conexes de transporte sobre uma nica conexo de rede;

    Servio de rede. Sugere o uso do servio de rede do Tipo C. Funcionalidades. Estende a funcionalidade da classe 2 com

    a recuperao de erros: Transferncia, segmentao / remontagem e concatenao

    / separao de dados; Estabelecimento, rejeio e liberao de conexo; Controle de fluxo com alocao de crdito [opcional]; Multiplexao / demultiplexao de conexes; Recupera dados com o uso de checksum negociado no

    estabelecimento da conexo; Estabelece sincronismo no reset do servio de rede

    (ressincronizao). Unid. de dados: CR, CC, DT, AK, RJ, ED, EA, DR, DC e ER.

  • prof. Miguel Grimm 55

    Classe 4 Possui o servio de deteco e recuperao de erros e multiplexao

    de conexes de transporte sobre uma nica conexo de rede. Servio de rede. Recomenda o uso do servio da rede do Tipo C. Funcionalidades. Estende a funcionalidade da classe 3 com

    deteco e recuperao de erros: Transferncia, segmentao / remontagem e concatenao /

    separao de dados; Estabelecimento, rejeio e liberao de conexo; Multiplexao / demultiplexao e splitting / recombinao; Controle de fluxo; Detecta (temporizao) T-PDUs perdidas e recupera-os

    (retransmisso); Detecta T-PDUs duplicadas e fora de seqncia com o uso de

    nmero de seqncia e de temporizao; Detecta erros com o uso de checksum negociado no

    estabelecimento da conexo. Unidades de dados: CR, CC, DT, AK, EA, DR, DC e ER.

  • prof. Miguel Grimm 56

    2. Primitivas e unidades de dados 2. Primitivas e unidades de dados tpicastpicas

    UsurioIniciador

    UsurioRespondedor

    CR-PDUCC-PDU

    T-C.req[1]

    T-C.conf[6]

    T-C.ind[3]

    T-C.resp[4]

    [2] [5]

    CR-PDU

    CC-PDU T-C.resp

    T-C.ind

    T-C.conf

    T-C.req

    Iniciador RespondedorPrestador

    t

    As operaes ilustradas a seguir apresentam vrias situaes de ocorrncias dos usos das primitivas de servios e unidades de dados.

    Operao de Estabelecimento de Conexo apresentada de duas formas distintas com as primitivas e unidades de dados:

  • prof. Miguel Grimm 57

    2. Primitivas e unidades de dados 2. Primitivas e unidades de dados tpicastpicas

    As operaes ilustradas a seguir apresentam vrias situaes de ocorrncias dos usos das primitivas de servios e unidades de dados.

    Operaes a serem ilustradas: Estabelecimento de conexo; Rejeio de pedido de conexo; Transferncia de dados; Liberao de conexo.

  • prof. Miguel Grimm 58

    A rejeio de conexo pelo usurio respondedor e pelo prestador de servio remoto, respectivamente.

    T-D.ind

    T-C.req

    DC-PDU

    CR-PDU

    DR-PDU T-D.req

    T-C.ind

    Iniciador RespondedorPrestador

    t

    T-D.ind

    T-C.req

    DC-PDU

    CR-PDU

    DR-PDU

    Iniciador RespondedorPrestador

    tRejeio da conexo

    Rejeio da conexo

    Operao de rejeio de pedido de conexo

  • prof. Miguel Grimm 59

    A transferncia de dados normais e expressos, respectivamente.

    O usurio emissor pode ser o usurio iniciador ou usurio respondedor da abertura de conexo.

    Receptor

    DT-PDUT-DT.ind

    T-DT.req

    Emissor Prestador

    tEA-PDU

    ED-PDUT-ED.ind

    T-ED.req

    Emissor ReceptorPrestador

    t

    Operao de transferncia de dados

  • prof. Miguel Grimm 60

    A liberao de conexo iniciada pelo usurio iniciador e pelo prestador de servio local, respectivamente.

    DR-PDU

    DC-PDU

    T-D.indT-D.req

    Iniciador RespondedorPrestador

    t

    DR-PDU

    DC-PDU

    T-D.indT-D.ind

    Local RemotoPrestador

    t

    Operao de liberao de conexo

  • prof. Miguel Grimm 61

    A liberao de conexo iniciada por ambos usurios e inicia pelo prestador de servio e pelo usurio, respectivamente.

    DR-PDU

    DR-PDU

    T-D.reqT-D.req

    Usurio UsurioPrestador

    t

    DR-PDU

    DC-PDU

    T-D.indT-D.req

    Usurio UsurioPrestador

    tLiberao

    LiberaoLiberaoLiberao

  • prof. Miguel Grimm 62

    3. Formato das unidades de dados 3. Formato das unidades de dados de protocolode protocolo

    A estrutura geral da T-PDU com os campos mais comuns apresentada a seguir.

    A existncia dos campos depende, principalmente, do tipo e da classe do protocolo usada.

    LI Cdigo DadosRef DestRef

    FonteTam. PDU

    Checksum

  • prof. Miguel Grimm 63

    LI (Length Indicator) indica o tamanho do cabealho, com exceo do campo LI;

    Cdigo indica o tipo da T-PDU, por ex., CR, CC, DT, DR, DC, etc.;

    Ref. Dest identificador da conexo de transporte no sistema remoto (destino);

    Ref. Fonte identificador da conexo de transporte no sistema local;

    Tam. PDU define o tamanho mximo da T-PDU com o cabealho, em bytes;

    Checksum Resultado do algoritmo de checksum executado sobre a T-PDU (2 bytes);

    Dados dados do usurio (tratados de forma transparente pelo protocolo).

  • prof. Miguel Grimm 64

    PDU de pedido de abertura de conexo

    A PDU CR (Connect Request) usada para enviar pedidos de estabelecimento de conexo.

    T-SAP identificao do SAP de transporte local (retorna na confirmao);

    Segurana definido pelo usurio da camada de transporte, por ex., senha;

    LI CR Crdito Verso DADOSRef.FonteClasse/Opo

    T-SAP

    Tam PDU

    Segurana

    Checksum

    TempoAck

  • prof. Miguel Grimm 65

    Crdito alocao inicial de crditos do protocolo de controle de fluxo do receptor;

    Classe identifica a classe do protocolo de transporte (0, 1, 2, 3 ou 4)

    Opo indica o uso de formato de dados normal ou estendido ou, ainda, o uso ou no de controle de fluxo explcito;

    Verso nmero da verso do protocolo (no usado na classe zero);

    Tempo Ack possui o tempo mximo, em milissegundos, em que a entidade receptora deve confirmar os dados enviados (temporizao de reconhecimento);

  • prof. Miguel Grimm 66

    Esta T-PDU pode possuir ainda os seguintes campos: Vazo (throughhput) valores de vazo (mnima, ideal,

    mdia e mxima); Residual taxa de erro residual mnima e ideal de erros

    no reportados; Prioridade prioridade da conexo de transporte a ser

    criada (zero a mais alta); Atrasos atrasos na transmisso de mensagens

    desejado e mnimo aceitos; Reatrib tempo de reatribuio, em segundos, que uma

    conexo de transporte deve ser tentada novamente aps uma falha.

    Opes Adicionais indica o uso ou no de: dados expressos em conexo de rede, confirmao de recuperao, checksum e transferncia de dados expressos;

  • prof. Miguel Grimm 67

    PDU de confirmao de conexo

    A PDU CC (Connection Confirm) usada para enviar respostas de pedidos de conexo.

    Ref. Destino possui o valor que veio no campo Ref. Fonte da CR;

    T-SAP possui o valor do parmetro T-SAP enviado no CR.

    LI CC Crdito Verso DADOSRef.DestRef.

    FonteClasse/Opo

    T-SAP

    Tam PDU

    Checksum

    TempoAck

  • prof. Miguel Grimm 68

    PDU de dados

    A PDU DT (Data) usada para enviar dados numa conexo estabelecida.

    No. DT nmero de seqncia de transmisso. No formato normal possui um byte e no formato estendido dois bytes.

    LI DT DADOSRef. Dest No. DT Checksum

  • prof. Miguel Grimm 69

    PDU de reconhecimento de dados

    A PDU AK (Acknowledgement) usada para confirmar uma T-PDU DT.

    Crdito valor de crditos que informa o tamanho da janela do receptor;

    No. Prox DT nmero de seqncia de transmisso da prxima T-PDU esperada.

    LI AK Crdito ChecksumRef. Dest No.Prox DT

  • prof. Miguel Grimm 70

    PDU de liberao de conexo

    A PDU DR (Disconect Request) usada para solicitar uma desconexo estabelecida anteriormente, onde: Motivo razo da desconexo.

    LI DR DadosRef Dest Ref Fonte Motivo

    A PDU DC (Disconect Confirm) usada para confirmar uma desconexo solicitada.

    LI DC ChecksumRef Dest Ref Fonte

  • prof. Miguel Grimm 71

    PDU de dados expressos

    A PDU ED (Expedited Data) usada para enviar dados expressos.

    Ref. Dest identificao do T-SAP da entidade receptora;

    No. ED nmero de seqncia de transmisso. No formato normal possui um byte e no formato estendido dois bytes.

    LI ED DADOSRef. Dest No. ED Checksum

  • prof. Miguel Grimm 72

    PDU de reconhecimento de dados expressos

    A PDU EA (Expedited Acknowledgement) usada para confirmar T-PDUs de dados expressos.

    Ref. Dest identificao da conexo de transporte da entidade de destino;

    No. EA nmero de seqncia de transmisso da T-PDU confirmada.

    LI EA No. EARef. Dest Checksum

  • prof. Miguel Grimm 73

    PDU de erro de protocolo

    A PDU ER (Error) usada para reportar uma condio de erro de protocolo.

    Causa indica a causa do erro no especificado ou valores invlidos de cdigo, tipo ou campo;

    T-PDU Invlida informaes da T-PDU rejeitada.

    LI ER Ref. Dest Causa T-PDU Invlida Checksum

  • prof. Miguel Grimm 74

    PDU de rejeio

    A PDU RJ (Reject) usada para solicitar a retransmisso de T-PDU recebida ou reduzir o tamanho da janela deslizante.

    Crdito indica o limite superior da janela deslizante; No. Prox. DT nmero de seqncia da DT-PDU a

    ser retransmitida;

    LI RJ Crdito No. Prox. DT ChecksumRef. Dest

  • prof. Miguel Grimm 75

    IV. Mquina de EstadosIV. Mquina de Estados

    Mquina do lado iniciador Mquina do lado respondedor Mquina unificada

  • prof. Miguel Grimm 76

    Arquitetura do protocolo de transporte

    O diagrama ser baseado na arquitetura do protocolo de transporte a seguir:

    Usurio A Usurio B

    Transporte (T)

    req[1]

    conf[4]

    ind[2]

    resp[3]

    Lado Iniciador Lado Respondedor

    T-SAP T-SAP

  • prof. Miguel Grimm 77

    Simbologia usada

    ! = Enviar

    ? = Receber

  • prof. Miguel Grimm 78

    Mquina de servio do lado iniciador

    Repouso

    ??T-DATA.req T-DATA.req [3][3]

    Repouso

    Conexo Pendente

    ConexoFechada

    ? T-CONNECT.req [1]

    ! T-CONNECT.conf [2]

    ! T-DISCONNECT.ind [4]? T-DISCONNECT.req [4]

    ? T-DISCONNECT.req

    ! T-DISCONNECT.ind

    !! T-DATA.ind T-DATA.ind [3] [3]

  • prof. Miguel Grimm 79

    Mquina do servio do lado respondedor

    Repouso

    Conexo Pendente

    ConexoFechada

    ! T-CONNECT.ind [1]

    ? T-CONNECT.resp [2]

    ! T-DISCONNECT.ind [4]? T-DISCONNECT.req [4]

    ? T-DISCONNECT.req

    ! T-DISCONNECT.ind

    ??T-DATA.req T-DATA.req [3][3]

    !! T-DATA.ind T-DATA.ind [3] [3]

    Repouso

  • prof. Miguel Grimm 80

    Mquina de servios unificada As seqncias permitidas para as primitivas esto no

    diagrama de transio de estado do protocolo de transporte com e sem conexo so dadas a seguir.

    Repouso

    ConexoPendente I

    ConexoPendente R

    ? T-DATA.req ou! T-DATA.ind

    ? T-CONNECT.req

    ? T-DATA.req ou! T-DATA.ind

    ! T-CONNECT.conf ? T-CONNECT.resp

    ! T-DISCONNECT.ind ou? T-DISCONNECT.req

    ConexoFechada

    ?? T-DATA T-DATA..req oureq ou!! T-DATA T-DATA..indind

    ! T-CONNECT.ind

    Lado do Iniciador Lado do Respondedor

  • prof. Miguel Grimm 81

    Observaes: Pedido de conexo vindo do usurio (sesso) Pedido de conexo vindo do transporte distante.

    Criar Mquina de estados com o uso de PDU

  • prof. Miguel Grimm 82

    V. Servio da Camada RedeV. Servio da Camada Rede

    Primitivas de servios da camada rede Modelo da camada Protocolo no orientado a conexo

  • prof. Miguel Grimm 83

    1. Primitivas de servios da camada 1. Primitivas de servios da camada rederede

    Operao Servios PrimitivasEstabelecimento de conexo

    Estabelecimento de conexo

    N-CONNECT.req, N-CONNECT.ind,N-CONNECT.resp, N-CONNECT.conf

    Transferncia de dados normais

    N-DATA.reqN-DATA.ind

    Transferncia deTransferncia de dados expressos

    N-EXPEDITED DATA.req N-EXPEDITED DATA.ind

    Dados com conexo

    Reinicializao(reset)

    N-RESET.req, N-RESET.ind,N-RESET.resp e N-RESET.conf

    Reconhecimento de dados normais

    N-DATA ACKNOWLEDGE.req N-DATA ACKNOWLEDGE.ind

    Liberao daConexo

    Liberao daConexo

    N-DISCONNECT.reqN-DISCONNECT.ind

    As primitivas de servios de uma camada definem os servios oferecidos pela camada.

  • prof. Miguel Grimm 84

    2. Modelo da camada

    Modelo de abertura de conexo Modelo de envio de dados Protocolo no-orientado a conexo

  • prof. Miguel Grimm 85

    Modelo de abertura de conexo

    Observar que aps o pedido da abertura de conexo pela entidade sesso, estabelecida a conexo no nvel de rede para depois ser estabelecido conexo de transporte.

    T-C.conf[12]

    N-C.req[2]

    T-C.req[1]

    SESSO (S)

    N-C.conf[5]

    N-DT.req(CR)[6]

    N-C.ind(CC)[11]

    T-C.resp[9]

    N-C.ind[3]

    T-C.ind[8]

    SESSO (S)

    N-C.resp[4]

    N-DT.ind(CR)[7]

    N-DT.req(CC)[10]

    TRANSPORTE (T)TRANSPORTE (T)

    REDE (N)

  • prof. Miguel Grimm 86

    Modelo de envio de dados Observar que o pacote DT segmentado nos pacotes

    DT0, DT1 e DT2.

    N-DT.req(AK)[9]

    N-DT.req(DT0)

    [2]

    T-DT.req[1]

    SESSO (S)

    TRANSPORTE (T)

    N-DT.req(DT1)

    [3]

    N-DT.req(DT2)

    [4]

    N-DT.ind(AK)[10]

    N-DT.ind(DT0)

    [5]

    T-DT.ind[8]

    SESSO (S)

    TRANSPORTE (T)

    N-C.ind(DT1)

    [6]

    N-DT.ind(DT2)

    [7]

    REDE (N)

  • prof. Miguel Grimm 87

    Protocolo no-orientado a conexo

    Primitivas de servios:

    Envio de dados:

    Formato da unidade de dados de protocolo:

    Operao Primitivas Parmetros

    Envio de dados T-UNITDATA.reqT-UNITDATA.indEndereo fonte, endereo de destino, QdS e dados

    UD-PDUT-UD.ind

    T-UD.reqUsurio UsurioPrestador

    LI Cdigo DADOST-SAP OrigemT-SAP

    Destino Checksum

  • prof. Miguel Grimm 88

    Exercciosa) Criar o protocolo de Nomes centralizado;b) Criar o protocolo de Nomes distribudo;c) Criar o protocolo de Rendez-vous.