Upload
wellington-oliveira
View
2.518
Download
0
Embed Size (px)
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