Serviços do Nível de Transporte

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Qual é a principal função do nível de transporte em redes de computadores?

  • Controlar o acesso ao meio de transmissão.
  • Fornecer comunicação física entre dispositivos.
  • Fornecer comunicação lógica entre processos de aplicações. (correct)
  • Definir o formato dos dados a serem transmitidos.

O nível de transporte depende e melhora os serviços oferecidos pelo nível de rede.

True (A)

Quais são os dois protocolos de transporte principais amplamente utilizados?

TCP e UDP

O protocolo ______ oferece entrega fiável e ordenada de dados, enquanto o protocolo ______ oferece entrega sem garantias de fiabilidade ou ordem.

Signup and view all the answers

Qual das seguintes opções descreve melhor a função do nível de transporte?

<p>Fornecer comunicação lógica entre processos de aplicações. (A)</p> Signup and view all the answers

O protocolo UDP garante a entrega fiável e ordenada dos dados.

<p>False (B)</p> Signup and view all the answers

Qual é a principal função da multiplexagem no contexto do nível de transporte?

<p>Combinar dados de diferentes sockets para enviar através de um único canal. (B)</p> Signup and view all the answers

Qual é a principal diferença entre os protocolos TCP e UDP em termos de estabelecimento de ligação?

<p>O TCP é orientado à ligação, enquanto o UDP não tem ligação.</p> Signup and view all the answers

No modelo de protocolo de transporte, o emissor divide as mensagens da aplicação em ________ antes de as passar para a camada de rede.

<p>segmentos</p> Signup and view all the answers

Combine os seguintes protocolos com as suas caraterísticas:

<p>TCP = Entrega fiável e ordenada UDP = Transporte sem ligação</p> Signup and view all the answers

O que é a desmultiplexagem no nível de transporte?

<p>O processo de separar dados recebidos e entregá-los aos sockets corretos. (D)</p> Signup and view all the answers

No contexto do nível de transporte, os endereços IP e os números de porta são suficientes para identificar um socket de forma exclusiva.

<p>True (A)</p> Signup and view all the answers

Qual das seguintes opções descreve um benefício de usar o UDP em vez do TCP?

<p>Menor overhead e ausência de estabelecimento de ligação. (B)</p> Signup and view all the answers

Liste duas aplicações que podem beneficiar do uso do protocolo UDP.

<p>Streaming de média e jogos online.</p> Signup and view all the answers

O cabeçalho do protocolo UDP inclui um campo para a ________, usado para detetar erros na transmissão.

<p>soma de controlo</p> Signup and view all the answers

Combine as etapas do processo de desmultiplexagem sem ligação com a sua descrição:

<p>Verificar o número de porta de destino no segmento = Determinar para qual socket o segmento UDP deve ser direcionado Direcionar o segmento UDP para o socket correspondente = Entregar o segmento para a aplicação correta</p> Signup and view all the answers

Qual é o principal objetivo dos protocolos de transferência fiável de dados?

<p>Garantir que os dados sejam entregues sem erros e na ordem correta. (A)</p> Signup and view all the answers

Em protocolos de transferência fiável, o emissor e o recetor mantêm sempre o estado completo um do outro.

<p>False (B)</p> Signup and view all the answers

Qual das seguintes opções descreve melhor o protocolo RDT1.0?

<p>Transferência fiável sobre um canal perfeitamente fiável. (C)</p> Signup and view all the answers

Qual é a principal limitação do protocolo RDT2.0 em relação à recuperação de erros?

<p>Não lida bem com ACKs/NAKs corrompidos.</p> Signup and view all the answers

Para lidar com a possibilidade de ACKs/NAKs corrompidos, o RDT2.1 introduz um ________ nos pacotes.

<p>número de sequência</p> Signup and view all the answers

Combine os seguintes elementos do RDT2.0 com a sua função:

<p>ACK = Confirmação de receção correta NAK = Indicação de receção com erros</p> Signup and view all the answers

Qual é a principal melhoria introduzida pelo RDT 2.2 em relação ao RDT 2.1?

<p>A eliminação do uso de NAKs. (C)</p> Signup and view all the answers

O RDT 3.0 lida apenas com erros de bits, mas não com perdas de pacotes.

<p>False (B)</p> Signup and view all the answers

Qual mecanismo é introduzido no RDT 3.0 para lidar com a perda de pacotes?

<p>Temporizador. (B)</p> Signup and view all the answers

No contexto do RDT 3.0, qual é o papel do temporizador (timer)?

<p>Detetar a perda de pacotes e iniciar a retransmissão.</p> Signup and view all the answers

O RDT 3.0 é uma implementação de um protocolo ________, onde o emissor espera por um ACK antes de enviar o próximo pacote.

<p>stop-and-wait</p> Signup and view all the answers

Combine os elementos do RDT 3.0 com a sua função no protocolo:

<p>Temporizador = Detetar a perda de pacotes Número de sequência = Identificar pacotes duplicados</p> Signup and view all the answers

Qual é a principal desvantagem do RDT 3.0 em termos de desempenho?

<p>Baixa utilização do canal devido ao 'stop-and-wait'. (D)</p> Signup and view all the answers

O pipelining aumenta a utilização do canal, permitindo que o emissor envie múltiplos pacotes sem esperar por ACKs individuais.

<p>True (A)</p> Signup and view all the answers

Qual das seguintes opções descreve melhor o conceito de pipelining em protocolos de transferência fiável?

<p>Enviar múltiplos pacotes sem esperar por ACKs individuais. (D)</p> Signup and view all the answers

Quais são as duas formas genéricas de protocolos com pipelining mencionadas?

<p>Go-Back-N e repetição seletiva.</p> Signup and view all the answers

Em protocolos com pipelining, o emissor não fica à espera de todos os ________ até continuar a enviar pacotes.

<p>ACKs</p> Signup and view all the answers

Combine as caraterísticas com o protocolo de pipelining correspondente:

<p>Go-Back-N = Reenvia todos os pacotes a partir do pacote perdido Repetição Seletiva = Reenvia apenas os pacotes perdidos</p> Signup and view all the answers

O que acontece quando um temporizador expira num protocolo Go-Back-N?

<p>Todos os pacotes na janela são retransmitidos. (C)</p> Signup and view all the answers

Em Go-Back-N, o recetor guarda pacotes recebidos fora de ordem.

<p>False (B)</p> Signup and view all the answers

Qual é a principal vantagem da repetição seletiva em relação ao Go-Back-N?

<p>Reenvio apenas dos pacotes perdidos. (B)</p> Signup and view all the answers

Em repetição seletiva, o que acontece quando o emissor recebe um ACK duplicado?

<p>O emissor ignora o ACK duplicado.</p> Signup and view all the answers

Na repetição seletiva, o recetor confirma individualmente todos os pacotes recebidos ________.

<p>corretamente</p> Signup and view all the answers

Combine as ações com os protocolos correspondentes em caso de perda de pacote:

<p>Go-Back-N = Reenviar todos os pacotes a partir do perdido Repetição Seletiva = Reenviar apenas o pacote perdido</p> Signup and view all the answers

Se o tamanho da janela na repetição seletiva for maior que a metade do espaço de números de sequência, o que pode acontecer?

<p>Ambiguidade na identificação de pacotes. (A)</p> Signup and view all the answers

Em repetição seletiva, é necessário manter um temporizador para cada pacote que ainda não foi confirmado.

<p>True (A)</p> Signup and view all the answers

Considere um protocolo de repetição seletiva onde o número de sequência tem 3 bits (ou seja, vai de 0 a 7). Qual é o tamanho máximo da janela que garante o correto funcionamento deste protocolo?

<p>4 (C)</p> Signup and view all the answers

Em repetição seletiva, qual problema pode ocorrer se os números de sequência forem reciclados muito rapidamente?

<p>Ambiguidade na identificação de pacotes devido a retransmissões.</p> Signup and view all the answers

Go-Back-N retransmite ___________ no caso de perda de pacotes, enquanto a Repetição Seletiva retransmite apenas os perdidos.

<p>todos os pacotes</p> Signup and view all the answers

Combine RDT 2.1 com a sua fraqueza associada.

<p>RDT 2.1 = ACK/NAKs fica corrompido</p> Signup and view all the answers

Combine Multiplexagem e Desmultiplexagem com as suas características definidoras.

<p>Multiplexagem = Combinar dados de diferentes sockets para enviar através de um único canal. Desmultiplexagem = Separar dados recebidos e entregá-los aos sockets corretos.</p> Signup and view all the answers

Flashcards

Serviços da camada de transporte

Fornece comunicação lógica entre processos de aplicações em diferentes hosts.

Função do emissor

Divide as mensagens da aplicação em segmentos e as passa para a camada de rede.

Função do recetor

Reconstitui mensagens a partir de segmentos e as passa à camada de aplicação.

Nível de rede

Comunicação lógica entre hosts.

Signup and view all the flashcards

Nível de transporte

Comunicação lógica entre processos.

Signup and view all the flashcards

TCP

Garante entrega fiável e ordenada de dados.

Signup and view all the flashcards

UDP

Não oferece garantias de fiabilidade ou ordem.

Signup and view all the flashcards

Multiplexagem

Processamento de dados de várias sockets e adição de cabeçalho do nível de transporte.

Signup and view all the flashcards

Desmultiplexagem

Usa informação do cabeçalho para entregar segmentos recebidos à socket correta.

Signup and view all the flashcards

Desmultiplexagem

Usa endereços IP e números de porto para direcionar o segmento para a socket apropriada.

Signup and view all the flashcards

Desmultiplexagem com ligação

Socket é identificada por um tuplo com endereço IP e n.º de porto de origem e destino.

Signup and view all the flashcards

UDP

Protocolo de transporte

Signup and view all the flashcards

Utilizações de UDP

Streaming multimédia, DNS

Signup and view all the flashcards

Cabeçalho UDP

Nº porto origem, nº porto destino, comprimento, soma de controlo.

Signup and view all the flashcards

Onde aplicar transferência fiável de dados

Camadas de aplicação, transporte e rede

Signup and view all the flashcards

Elementos essenciais da transferência fiável de dados

Dados, canal fiável

Signup and view all the flashcards

Transferência fiável de dados

Divide em dados, canal não fiável.

Signup and view all the flashcards

Complexidade da transferência fiável

Depende das características do canal.

Signup and view all the flashcards

rdt_send()

Invocada da camada superior para entregar dados.

Signup and view all the flashcards

udt_send()

Invocada para transferir o pacote até ao recetor.

Signup and view all the flashcards

deliver_data()

Invocada para entregar dados à camada superior.

Signup and view all the flashcards

rdt_recv()

Invocada quando pacote chega ao recetor.

Signup and view all the flashcards

RDT

Reliable Data Transfer

Signup and view all the flashcards

canal fiável

Canal não corrompe ou perde dados

Signup and view all the flashcards

RDT 2.0

Protocolo de transferência fiável de dados que utiliza ACKs e sinais negativos

Signup and view all the flashcards

ACK

Acknowledgement

Signup and view all the flashcards

NAK

Negative Acknowledgement

Signup and view all the flashcards

Stop and Wait

Emissor espera por resposta do recetor.

Signup and view all the flashcards

Tratamento de duplicados

Usa o n.º de sequência em cada pacote

Signup and view all the flashcards

RDT 3.0

O emissor espera um tempo razoável pelo ACK

Signup and view all the flashcards

Pipelining

Técnica que permite que o emissor envie múltiplos pacotes sem esperar por ACKs individuais.

Signup and view all the flashcards

Go-Back-N

Abordagem de pipelining que retransmite pacotes desde o último ACK recebido.

Signup and view all the flashcards

ACK cumulativo

Confirma todos os pacotes até ao n.º de sequência

Signup and view all the flashcards

Repetição Seletiva

Abordagem de pipelining que retransmite apenas os pacotes perdidos.

Signup and view all the flashcards

Pipelining

O emissor não espera todos os ACKs

Signup and view all the flashcards

Só ACKs

Envia sempre ACK do pacote corretamente recebido

Signup and view all the flashcards

Study Notes

Serviços do Nível de Transporte

  • A camada de transporte fornece comunicação lógica entre processos de aplicações em diferentes hosts
  • Divide mensagens da aplicação em segmentos no emissor, passando-os para a camada de rede
  • Reconstitui mensagens a partir dos segmentos no recetor, passando-as para a camada de aplicação
  • Os protocolos de transporte mais comuns são o TCP e o UDP

Nível Transporte vs Nível Rede

  • O nível de rede estabelece comunicação lógica entre hosts
  • O nível de transporte estabelece comunicação lógica entre processos
  • O nível de transporte depende e melhora os serviços do nível de rede
  • Analogia: A comunicação entre o nível de transporte e o nível de rede é semelhante a 12 crianças a enviarem cartas
  • Hosts são como as casas
  • Processos são como as crianças
  • A mensagem da aplicação equivale a cartas em envelopes
  • Protocolo de transporte é como a Ana e o Zé a (des)multiplexar
  • O protocolo de rede é como o serviço postal

Protocolos de Transporte na Internet

  • O TCP oferece entrega fiável e ordenada, controlo de congestão e de fluxo, e estabelecimento de ligação
  • O UDP oferece entrega sem garantias de fiabilidade ou ordem (melhor esforço)
  • No TCP e UDP, garantias de atraso e de largura de banda não estão disponíveis

Multiplexagem e Desmultiplexagem

  • A multiplexagem ocorre no emissor, onde os dados de várias sockets são processados e um cabeçalho é adicionado
  • O cabeçalho é usado mais tarde na desmultiplexagem
  • A desmultiplexagem ocorre no recetor
  • As informações do cabeçalho são usadas para entregar segmentos recebidos à socket correta

Como Funciona a Desmultiplexagem

  • O host recebe datagramas IP, cada um com endereço IP de origem e destino
  • Cada datagrama transporta um segmento do nível de transporte, que contém o número do porto de origem e de destino
  • O host usa os endereços IP e os números de porto para direcionar o segmento para a socket apropriada

Desmultiplexagem sem Ligação (UDP)

  • A socket é criada com um número de porto local no host, especificado no DatagramSocket
  • Ao receber um segmento UDP, é verificado o número de porto de destino
  • O segmento é direcionado para a socket correspondente a esse número de porto
  • Datagramas IP que compartilham o mesmo porto de destino, mas têm endereços IP e/ou números de porto de origem distintos, são encaminhados para a mesma socket no destino

Desmultiplexagem com Ligação (TCP)

  • Uma socket TCP é identificada por um conjunto de informações, incluindo o endereço IP de origem, o número de porto de origem, o endereço IP de destino e o número de porto de destino
  • Um host servidor pode suportar múltiplas sockets TCP simultaneamente
  • Cada socket é identificada pelo seu próprio conjunto de informações
  • Servidores web mantêm sockets distintas para cada cliente ligado

UDP: User Datagram Protocol

  • É um protocolo de transporte "minimalista" na Internet, operando como um serviço de "melhor esforço"
  • Os segmentos UDP podem ser perdidos ou entregues fora de ordem
  • UDP não tem ligação, ou seja, não utiliza "handshaking"
  • Cada segmento UDP é tratado independentemente dos outros
  • Aplicações de streaming multimédia, tolerantes a perdas e sensíveis à taxa de transmissão usam o UDP
  • DNS utiliza o UDP
  • Mecanismos para fiabilidade e controlo de congestão podem ser adicionados na camada de aplicação, caso seja necessário

Cabeçalho dos Segmentos UDP

  • Inclui um campo de 32 bits para o número de porto de origem e de destino
  • Contém campos para o comprimento do segmento e uma soma de controlo
  • Essa soma é utilizada para detetar erros no segmento transmitido
  • O emissor calcula e inclui a soma de controlo, enquanto o recetor a calcula de novo e compara com a soma de controlo recebida
  • O comprimento do segmento é dado em bytes, incluindo o cabeçalho

Transferência Fiável de Dados

  • Os princípios de transferência fiável de dados são importantes nas camadas de aplicação, transporte e rede
  • A complexidade do protocolo de transferência fiável de dados depende das características do canal não fiável como perda, corrupção ou reordenação de dados
  • Emissor e recetor não sabem o "estado" um do outro, como saber se determinada mensagem foi já recebida
  • A menos que explicitamente comunicado por mensagem

RDT (Reliable Data Transfer)

  • rdt_send() é invocada da camada superior (ex: aplicação) e envia dados
  • deliver_data() é invocada pelo RDT e entrega os dados à camada superior
  • udt_send() é invocada pelo RDT e transfere o pacote até ao recetor
  • rdt_rcv() é invocada quando o pacote chega ao lado do recetor no canal

Desenvolvendo um Protocolo Fiável: RDT 3.0 e Além

  • Os lados do emissor e do recetor do protocolo Reliable Data Transfer (RDT) são desenvolvidos incrementalmente
  • Transferência de dados unidirecional é considerada
  • Máquinas de Estados são usadas para especificar emissor e recetor

RDT 1.0: Transferência Fiável sobre um Canal Fiável

  • Depende de um canal subjacente perfeitamente fiável que não corrompe ou perde dados
  • Tanto o emissor quanto recetor possuem máquinas de estado separadas
  • O emissor simplesmente envia os dados para o canal, e o recetor lê-os do canal

RDT 2.0: Canal com Erros de Bits

  • O canal subjacente pode trocar bits no pacote
  • A soma de controlo permite detetar a presença de erros
  • Necessidade de mecanismos de deteção de erros, feedback através de mensagens de controlo e stop-and-wait

RDT 2.1: Recuperação de ACK/NAK Corrompidos

  • O que acontece se ACK/NAK se corromper?
  • Incluir número de sequência em cada pacote
  • É necessário tratar duplicados
  • O Emissor envia um pacote e espera por resposta do recetor
  • Incluir um número de sequência para cada pacote
  • O emissor retransmite o pacote atual se ACK ou NAK chegam corrompidos
  • O recetor descarta pacotes duplicados

RDT 2.2: Otimização com Apenas ACKs

  • Substitui os NAKs por ACKs para o último pacote recebido corretamente
  • Se o um emissor recebe o mesmo AcK (duplicado) assume que o pacote anterior não foi recebido e reenvia-o
  • Esta abordagem é usada no TCP

RDT 3.0: Lidando com Perdas e Erros

  • Assume que o canal subjacente pode perder pacotes (dados ou ACKs)
  • O emissor espera um tempo razoável pelo ACK
  • Se não chegam ACKs -> retransmite
  • Requer um temporizador
  • O checksum, número de sequência, ACKs e retransmissões ajudam, mas não resolvem completamente o problema

Aprimoramento do Desempenho: Pipelining

  • Implica que o emissor não fica à espera de todos os ACKs para continuar a enviar pacotes
  • É preciso aumentar o número de sequências
  • É preciso ter um ''buffer" aos lados do emissor/recetor

Go-Back-N

  • Envio de até N pacotes consecutivos com ACKs pendentes
  • N.º de sequência de k bits no cabeçalho de cada pacote
  • ACK confirma a receção até ao n.º sequencia N inclusive
  • Temporizador para o pacote antigo na pipeline
  • Reenvio do pacote e dos subsequentes se timeout expirar

Go-Back-N: Recetor

  • Envio de ACKs para o pacote com sequencia correta mais alta
  • Os pacotes recebidos fora de ordem são guardados até a ordem ser reposta

Repetição Seletiva

  • Múltiplos pacotes em trânsito
  • O recetor confirma individualmente todos os pacotes corretamente rebebidos
  • Os pacotes são guardados e reordenados no buffer
  • Temporizador para cada pacote
  • Janela para N n.ºs da sequência

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Transport Layer Overview: TCP vs UDP
16 questions
Transport Layer Protocols: TCP & UDP
48 questions
Transport Layer Protocols: TCP and UDP
35 questions
Use Quizgecko on...
Browser
Browser