60
Redes de Computadores Camada de Transporte

Redes de Computadores Capítulo 6 - Camada de Transporte

Embed Size (px)

DESCRIPTION

Redes de Computadores Capítulo 6 - Camada de Transporte

Citation preview

Page 1: Redes de Computadores Capítulo 6 - Camada de Transporte

Redes de Computadores

Camada de Transporte

Page 2: Redes de Computadores Capítulo 6 - 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;

Page 3: Redes de Computadores Capítulo 6 - Camada de Transporte

Serviço oferecido

Page 4: Redes de Computadores Capítulo 6 - Camada de Transporte

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?

Page 5: Redes de Computadores Capítulo 6 - Camada de Transporte

Primitivas do serviço de transporte

Page 6: Redes de Computadores Capítulo 6 - Camada de Transporte

TPDU (Transport Protocol Data Unit)

Page 7: Redes de Computadores Capítulo 6 - Camada de Transporte

Soquetes de Berkeley (no UNIX)

Page 8: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 9: Redes de Computadores Capítulo 6 - Camada de Transporte

Elementos de protocolos de transporte

Page 10: Redes de Computadores Capítulo 6 - Camada de Transporte

Endereçamento

Page 11: Redes de Computadores Capítulo 6 - Camada de Transporte

Protocolo de conexão inicial

Page 12: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 13: Redes de Computadores Capítulo 6 - Camada de Transporte

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);

Page 14: Redes de Computadores Capítulo 6 - Camada de Transporte

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;

Page 15: Redes de Computadores Capítulo 6 - Camada de Transporte

Problema

Page 16: Redes de Computadores Capítulo 6 - Camada de Transporte

Problema

Page 17: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 18: Redes de Computadores Capítulo 6 - Camada de Transporte

Encerramento de conexões

Page 19: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 20: Redes de Computadores Capítulo 6 - Camada de Transporte

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

Page 21: Redes de Computadores Capítulo 6 - Camada de Transporte

Multiplexação

Page 22: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 23: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 24: Redes de Computadores Capítulo 6 - Camada de Transporte

Os protocolos de transporte da Internet: UDP

Page 25: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 26: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 27: Redes de Computadores Capítulo 6 - Camada de Transporte

Chamada de procedimentos remotos

Page 28: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 29: Redes de Computadores Capítulo 6 - Camada de Transporte

RTP (Real-time Transport Protocol)

Page 30: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 31: Redes de Computadores Capítulo 6 - Camada de Transporte

O modelo de serviço do TCP

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

Page 32: Redes de Computadores Capítulo 6 - Camada de Transporte

O modelo de serviço do TCP

Page 33: Redes de Computadores Capítulo 6 - Camada de Transporte

O modelo de serviço do TCP

Page 34: Redes de Computadores Capítulo 6 - Camada de Transporte

O protocolo TCP

Page 35: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 36: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 37: Redes de Computadores Capítulo 6 - Camada de Transporte

O estabelecimento de conexões TCP

Page 38: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 39: Redes de Computadores Capítulo 6 - Camada de Transporte
Page 40: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 41: Redes de Computadores Capítulo 6 - Camada de Transporte
Page 42: Redes de Computadores Capítulo 6 - Camada de Transporte

Gerenciamento do Buffer

Page 43: Redes de Computadores Capítulo 6 - Camada de Transporte

Gerenciamento de timers do TCP

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

Page 44: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 45: Redes de Computadores Capítulo 6 - Camada de Transporte

Problema

• Qual deve ser o intervalo de timeout?

• Pense na camada de enlace vs camada de transporte.

Page 46: Redes de Computadores Capítulo 6 - 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;

Page 47: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 48: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 49: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 50: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 51: Redes de Computadores Capítulo 6 - Camada de Transporte

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;

Page 52: Redes de Computadores Capítulo 6 - Camada de Transporte

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?

Page 53: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 54: Redes de Computadores Capítulo 6 - Camada de Transporte

TCP transacional

Page 55: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 56: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 57: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 58: Redes de Computadores Capítulo 6 - Camada de Transporte

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;

Page 59: Redes de Computadores Capítulo 6 - Camada de Transporte

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.

Page 60: Redes de Computadores Capítulo 6 - Camada de Transporte

Referência

• Referência