Upload
jenishcj
View
244
Download
0
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.