TCP - Janela deslizante(sliding window)

Postagem de conteúdo sobre clientes e servidores e outros protocolos
Post Reply
User avatar
51M0N
Admin
Admin
Posts: 846
Joined: Fri Jan 02, 2015 2:06 pm

TCP - Janela deslizante(sliding window)

Post by 51M0N » Tue Sep 26, 2017 4:58 pm

vou falar um pouco sobre esse protocolo, e umas ideias/implicações no área de satélites, vamos lá.
____________________________________________

Introdução
Protocolo de Janela Deslizante(sliding window) são recursos usados na camada de enlace de dados do modelo OSI, bem como no protocolo TCP (camada de transporte do modelo OSI). Esse protocolo permite que o remetente transmita mais que um pacote de dados antes de receber uma confirmação. Depois de receber a confirmação para o primeiro pacote enviado, o remetente desliza a janela e manda outra confirmação.

Aplicação com volumes de dados
O objetivo do TCP é maximizar a eficiência da transmissão, equilibrando o tráfego na rede, onde o tráfego enviado é máximo e a perda de pacotes é mínima. Para controlar esse fluxo o TCP utiliza um protocolo de janela deslizante(sliding window), como mostra a figura a seguir. O funcionamento é o seguinte:

1. O receptor avisa ao transmissor o espaço disponível em buffer. Esse tamanho indica o máximo de dados que o transmissor pode ter em trânsito (sem ACK);
2. O transmissor deve manter esses dados em buffer até receber o respectivo ACK;
3. Cada vez que um ACK é recebido, a borda de trás da janela é avançada, e, sempre que possível, dados não enviados são transmitidos, avançando a borda da frente da janela.

A janela é o conjunto de frames transmitidos que ainda não foram confirmados, e que precisam ser lembrados para caso seja necessário retransmiti-los, sempre que um novo frame é transmitido aumenta-se o tamanho da janela em uma unidade, e quando um frame é confirmado diminui-se o tamanho da janela em ao menos uma unidade. Há um tamanho máximo para a janela, que corresponde à quantidade máxima de quadros que podem ser transmitidos sem ter ainda uma confirmação de entrega. Esse tamanho máximo de janela é de grande importância, pois tem influência direta na utilização máxima que pode ser obtida do meio de transmissão[1][2].
Um controle com janela deslizante precisa que se numerem os quadros sequencialmente, de forma a representar a ordem em que foram enviados, assim os frames de fora da ordem não são aceitos no destino. Por exemplo, se o tamanho máximo da janela for 3, são necessários no mínimo 4 números de sequência (ex: 0 a 3). Se a quantidade de números de sequência for igual ao tamanho da janela, pode ocorrer um erro no controle de erros do mecanismo. A figura abaixo ilustra um exemplo em que se fazem transmissões de quadros com janela de tamanho máximo 3 (a janela a cada instante é destacada em amarelo, e os números correspondem aos números de sequência dos frames)

Image

Consistem em remetente e receptor combinarem um tamanho fixo de uma janela deslizante; a ideia básica é que o remetente envie na sequencia sem perda de tempo vários pacotes de uma vez. O receptor por sua vez deve enviar uma confirmação a medida que os pacotes chegam intactos. Por questões de segurança, os quadros na janela só são descartados após a chegada da confirmação do receptor.


Satélites
Explicamos a parte acima para entramos na parte de que, o tamanho da janela TCP é uma limitação crítica no desempenho, principalmente em redes com altos atrasos como em satélites, pois o máximo que o protocolo pode transmitir é uma janela por RTT (Round Trip Time) da rede. Exemplo, temos um link de satélite, com um RTT de 500ms, e um transmissor com uma janela de 4000 bytes, a taxa máxima que pode ser transmitida é de 8000 bytes por segundo, ou 64 Kbps, independente da velocidade do enlace. Esse atraso tem muito a ver com a origem na transmissão de ondas para o satélite.

O desempenho máximo somente será conseguido se o transmissor conseguir enviar dados constantemente através do enlace. Para isso, a seguinte relação deve ser satisfeita:

Code: Select all

Tamanho da janela >= Largura de banda (bytes/s) x RTT (s)
Como o TCP garante a entrega de pacotes sem erros, o TCP envia uma certa quantidade de dados chamamos de janela de transmissão(explicação acima) e depois aguarda confirmação. Desta forma, o remetente não envia dados até receber o reconhecimento de recepção na outra extremidade. Se a confirmação não chegar depois de um certo intervalo de tempo, TCP reduz a velocidade de transmissão para reduzir o congestionamento e minimizar a necessidade de retransmissões.
As sessões TCP são iniciadas enviando uma pequena quantidade de dados, quando são recebidos a velocidade aumenta gradualmente, isso indica que a rede possui capacidade suficiente para transportar mais dados. O TCP interpreta o tempo de latência do satélite como congestionamento, esse efeito faz com que as redes de satélite operem em baixas velocidades, mesmo quando há largura de banda disponível.


Comunicação – Satélites
Alguns serviços usam a tecnologia na banda L(950-1400 MHz) não é a faixa mais usada no momento, pois a velocidade também não é das melhores. A adoção da banda Ku(12-18 GHz) hoje esta sendo feito para transmissão de internet via satélite, são relativamente econômicas e oferecem uma boa velocidade.
Recentemente foi lançado o SGDC-1 em julho de 2017 onde foi projetado para fornecer mais segurança para às comunicações estratégicas do governo e às comunicações militares, ira aumentar a oferta de acesso à banda larga nas regiões mais remotas do Brasil, através do Programa Nacional de Banda Larga (PNBL) vai atuar com 50 transponders em banda Ka(27-40 GHz) para suprir essa demanda de banda larga, abaixo uma imagem para ilustrar essas faixas

Image


Galera fico por aqui, em posts futuros vamos ver que com essas informações
podemos observar problemas de segurança. ;)

Inté @genio@



Refêrencias
[1] https://wiki.sj.ifsc.edu.br/wiki/index.php/RCO2-2011-1
[2] https://pt.slideshare.net/maurotapajos/ ... cedadosllc
TANENBAUM, Andrew S. Redes de Computadores, 4 ed. Rio de Janeiro: Campus, 2003.
"Você, eu, nem ninguém vai bater tão duro como a vida. Mas não se trata de bater duro. Se trata de quanto você aguenta apanhar e seguir em frente (...). É assim que se consegue vencer." by Rocky Balboa

User avatar
Kodo no Kami
Admin
Admin
Posts: 643
Joined: Fri Jan 02, 2015 1:56 pm
Contact:

Re: TCP - Janela deslizante(sliding window)

Post by Kodo no Kami » Wed Sep 27, 2017 6:34 pm

bem legal isso mano \o
Image

Conheça o sistema e manipule ele, se limite ao sistema e seja manipulado por ele ~kodo no kami

meu perfil yahoo

Post Reply

Return to “Cliente e Servidores (protocolos)”