Camada de Transporte Redes Tanenbaum

Preview:

DESCRIPTION

Apresentação da camada de Transporte baseado no livro de Redes do Tanenbaum

Citation preview

Redes de Computadores

Camada de Transporte

Camada de transporte

• Ela é o núcleo de toda a hierarquia de protocolos;

• Sua função é promover uma transferência de dados confiável e econômica;

Serviço oferecido

Primitivas do serviço de transporte

Para permitir que os usuários tenham acesso ao serviço de transporte, a camada de transporte deve oferecer algumas operações a programas aplicativos.

O que é uma primitiva?

Primitivas do serviço de transporte

TPDU (Transport Protocol Data Unit)

Soquetes de Berkeley (no UNIX)

Elementos de protocolos de transporte

Embora pareça que a camada de transporte implementa as mesmas interfaces da camada de enlace, isso fica só na aparência.

Na camada de enlace de dados, dois roteadores se comunicam diretamente através de um canal físico, enquanto na camada de transporte esse canal físico é substituído pela sub-rede inteira.

Elementos de protocolos de transporte

Endereçamento

Protocolo de conexão inicial

Estabelecimento de conexões

Estabelecer uma conexão parece uma tarefa fácil mas, na verdade, trata-se de um procedimento complicado.

O problema é que a rede pode perder, armazenar e duplicar pacotes de início de conexão.

Estabelecimento de conexões

O ponto crucial do problema é a existência de duplicatas atrasadas.

• Uma alternativa possível é usar endereços de transporte descartáveis;

• Outra possibilidade é atribuir a cada conexão um identificador de conexão;

• O método descrito a seguir foi proposto por Tomlinson (1975);

Solução de Tomlinson

Tomlinson propôs que cada host fosse equipado com um relógio;

Cada relógio assume a forma de um contador binário incrementado em intervalos regulares;

Problema

Problema

Encerramento de conexões

• Encerrar uma conexão é mais fácil do que estabelecê-la.

• No entanto, nesse procedimento há mais armadilhas do que se poderia esperar.

Encerramento de conexões

Controle de fluxo e uso de buffers

Depois de examinar o estabelecimento e o encerramento de conexões;

O controle de fluxo é semelhante a da camada de enlace com algumas características próprias da camada de transporte.

(a) Buffers de tamanho fixo encadeados. (b) Buffers de tamanho variável encadeados. (c) Um grande buffer circular por conexão.

Multiplexação

Recuperação de desastres

Se os hosts e roteadores estiverem sujeitos a interrupções em seu funcionamento, a recuperação dessas panes se tornará uma questão muito importante.

Os protocolos de transporte da Internet: UDP

O conjunto de protocolos da Internet ad mite um protocolo de transporte sem conexões, o UDP (User Datagram Protocol).

O UDP oferece um meio para as aplicações enviarem datagramas IP encapsulados sem que seja necessário estabelecer uma conexão.

Os protocolos de transporte da Internet: UDP

Chamada de procedimentos remotos

Essa técnica é conhecida como RPC (chamada de procedimento remoto) e se tornou a base para muitas aplicações de redes.

Tradicionalmente, o procedimento chamador é conhecido como cliente, e o procedimento chamado é conhecido como servidor; também usaremos esses nomes aqui.

Chamada de procedimentos remotos

A idéia por trás da RPC é tornar uma chamada de procedimento remoto o mais semelhante possível a uma chamada local.

Chamada de procedimentos remotos

RTP (Real-time Transport Protocol)

A posição do RTP na pilha de protocolos é um pouco estranha. Decidiu-se que ele deveria ser inserido no espaço do usuário e, desse modo, ser (normalmente) executado sobre o UDP.

RTP (Real-time Transport Protocol)

Os protocolos de transporte da Internet: TCP

O TCP (Transmission Control Protocol) foi projetado especificamente para oferecer um fluxo de bytes fim a fim confiável em uma inter-rede não confiável.

O modelo de serviço do TCP

O serviço TCP é obtido quando tanto o transmissor quanto o receptor criam pontos extremos chamados soquetes.

O modelo de serviço do TCP

O modelo de serviço do TCP

O protocolo TCP

O estabelecimento de conexões TCP

As conexões são estabelecidas no TCP por meio do handshake de três vias.

Para estabelecer uma conexão, um lado servidor aguarda passivamente por uma conexão de entrada, executando as primitivas LISTEN e ACCEPT através da especificação de uma determinada origem ou de ninguém em particular.

O estabelecimento de conexões TCP

O outro lado — digamos, o cliente — executa uma primitiva CONNECT, especificando o endereço IP e a porta à qual deseja se conectar.

O estabelecimento de conexões TCP

Modelagem do gerenciamento de conexões do TCP

Os estados usados na máquina de estados finitos para o gerenciamento de uma conexão TCP.

Controle de congestionamento do TCP

O primeiro passo para gerenciar o congestionamento é detectá-lo;

Hoje em dia, a perda de pacotes devido a erros de transmissão é relativamente rara, porque a maioria dos troncos de longa distância é de fibra.

Referência

• Referência

Recommended