Redes de Computadores Capítulo 6 - Camada de Transporte

Preview:

DESCRIPTION

Redes de Computadores Capítulo 6 - Camada de Transporte

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ço s de transporte descartáveis (imagem anterior);

• 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.

Gerenciamento do Buffer

Gerenciamento de timers do TCP

O TCP utiliza vários timers para realizar o trabalho.

Timer de Retransmissão

Quando um segmento é enviado, um timer é ativado;

Se chegar a confirmação de transmissão o timer é interrompido;

Se não chegar a confirmação o segmento é retransmitido.

Problema

• Qual deve ser o intervalo de timeout?

• Pense na camada de enlace vs camada de transporte.

Tempo Timeout

O TCP encontra um ambiente radicalmente distinto se comparado com o ambiente da camada de enlace;

Determinar um tempo de ida e volta não é uma tarefa fácil;

Timeout mais curo ocorrerá restransmissão desnecessária;

Timeout mais elevado comprometerá a execução;

TCP e UDP sem fios

Na teoria, os protocolos de transporte deveriam ser independentes da tecnologia da camada de rede em que se baseiam.

Na prática a maioria das implementações do TCP foram otimizadas com todo o cuidado, de acordo com as suposições que são verdadeiras para as redes fisicamente conectadas.

Perca de Pacote

Supõe que o timeout ocorre devido a congestionamento, e não a perca de pacotes;

O algoritmo de roteamento quando não recebe confirmação reduz o ritmo (afinal a idéia de Jacobson é reduzir o envio para reduzir o congestionamento);

Para perca de pacotes o ideal é enviar novamente, porém se reduzir a taxa de envio piora.

Redes Mistas

Com frequência, o caminho entre o transmissor e o receptor não é homogêneo. Pode ser formado por linhas físicas associadas a redes sem fio.

Solução Bakne

• A solução proposta por Bakne (1995), é denominada TCP indireto, consiste em dividir a conexão TCP em duas conexões separadas.

TCP transacional

Para RPC a aplicação requer obrigatoriamente o TCP por vários motivos, tais como:

– Controle do fluxo;

– Sequenciamento de mensagens grandes;

– Garantia da entrega;

TCP transacional

• A pergunta que surge de imediato:

• Existe algum modo de combinar a eficiência da RPC usando o UDP com a confiabilidade do TCP?

TCP transacional

• A idéia central aqui é modificar ligeiramente a sequência normal de configuração da conexão, a fim de permitir a transferência de dados durante a configuração.

TCP transacional

Questões de Desempenho

1. Problemas de desempenho.

2. Medição do desempenho da rede.

3. Projeto de um sistema para proporcionar um desempenho melhor.

4. Processamento rápido de TPDUs.

5. Protocolos para as futuras redes de alto desempenho.

Problema de Desempenho

Afetam o desempenho:

• Congestionamento causado por sobrecarga;

• Desequilíbrio nos recursos estruturais;

• Um pacote enviado com parâmetros errados (por exemplo TPDU) por difusão;

• Após uma falha elétrica todas as máquinas ligam em paralelo.

Medição do desempenho da rede

1. Medir os parâmetros relevantes e o desempenho da rede.

2. Tentar entender o que está acontecendo.

3. Alterar um parâmetro.

Medição do desempenho da rede

Medição do desempenho da rede

Armadilhas que voce deve evitar:

Certifique-se de que o tamanho da amostra é grande o bastante;

Certifique-se de que as amostras são representativas;

Tenha cuidado ao usar o clock do computador;

Medição do desempenho da rede

Certifique-se de que nenhum evento inesperado está ocorrendo durante os testes;

O uso de caches pode arruinar as medições;

Entenda o que está medindo;

Tenha cuidado para não extrapolar os resultados.

Referência

• Referência

Recommended