Baixe o app para aproveitar ainda mais
Prévia do material em texto
FACULDADE ESTÁCIO SÁ – PE SISTEMAS DE INFORMAÇÃO REDES DE COMPUTADORES PROF :DJACIR MACIEL maciel.estacio@gmail.com Aula 4 – CONTROLE DE CONGESTIONAMENTO - TCP PROCESSO EM SERVIDORES TCP Cada processo de aplicação sendo executado no servidor é configurado para usar um número de porta, seja no modo padrão ou manualmente através de um administrador do sistema; Um servidor individual não pode ter dois serviços designados ao mesmo número de porta dentro dos mesmos serviços da camada de Transporte. PROCESSO EM SERVIDORES TCP Um host executando uma aplicação de servidor web e uma aplicação de transferência de arquivo não pode ter ambos configurados para usar a mesma porta (por exemplo, a porta TCP 8080); Quando uma aplicação de servidor ativo é designada a uma porta específica, essa porta é considerada como estando "aberta" no servidor. PROCESSO EM SERVIDORES TCP Qualquer solicitação de cliente que chega endereçada ao soquete correto é aceita e os dados são transmitidos à aplicação do servidor; Podem haver muitas portas simultâneas abertas em um servidor, uma para cada aplicação de servidor ativo; É comum para um servidor fornecer mais de um serviço, como um servidor web e um servidor FTP, ao mesmo tempo. PROCESSO EM SERVIDORES TCP PROCESSO EM SERVIDORES TCP PROCESSO EM SERVIDORES TCP PROCESSO EM SERVIDORES TCP ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP Quando dois hosts se comunicam usando o TCP, uma conexão é estabelecida antes que os dados possam ser trocados; Depois da comunicação ter sido completada, as sessões são fechadas e a conexão é encerrada; Os mecanismos de conexão e sessão habilitam a função de confiabilidade do TCP ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP Cada conexão representa dois fluxos de comunicação, ou sessões; Para estabelecer uma conexão, os hosts realizam um handshake triplo; Bits de controle no cabeçalho TCP indicam o progresso e o status da conexão. ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP Estabelecimento de conexões TCP ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP O handshake triplo : Estabelece que o dispositivo de destino está presente na rede; Verifica se o dispositivo de destino tem um serviço ativo e está aceitando solicitações no número de porta de destino que o cliente pretende usar para a sessão; Informa o dispositivo de destino que o cliente de origem pretende estabelecer uma sessão de comunicação nessa número de porta ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP Nas conexões TCP, o host que serve como um cliente inicia a sessão para o servidor; Os três passos no estabelecimento da conexão TCP são: 1. O cliente iniciador envia um segmento contendo um valor sequencial inicial, que serve como uma solicitação ao servidor para começar uma sessão de comunicações; ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP 2. O servidor responde com um segmento contendo um valor de confirmação igual ao valor sequencial recebido mais 1, mais seu próprio valor sequencial de sincronização; Este valor de confirmação habilita o cliente a submeter à resposta de volta ao segmento original que ele enviou ao servidor. ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP 3. O cliente iniciador responde com um valor de confirmação igual ao valor sequencial que ele recebeu mais um.; Isso completa o processo de estabelecimento da conexão; ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP Término de conexões TCP ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP Handshake triplo na prática (Etapa 1) ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP Handshake triplo na prática (Etapa 2) ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP Handshake triplo na prática (Etapa 3) ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP Finalizando a conexão (Etapa1) ESTABELECIMENTO E TÉRMINO DE CONEXÕES TCP Finalizando a conexão (Etapa 2) REAGRUPAMENTO DE SEGMENTOS TCP Refazendo o Sequenciamento de Segmentos na Ordem Transmitida Quando os serviços enviam dados usando o TCP, os segmentos podem chegar no seu destino fora de ordem; Para a mensagem original ser entendida pelo receptor, os dados desses segmentos são reagrupados na sua ordem original; REAGRUPAMENTO DE SEGMENTOS TCP Os números de sequência são designados no cabeçalho de cada pacote para alcançar essa meta; Durante a instalação de uma sessão, um número de sequência inicial (ISN) é definido; Este número de sequência inicial representa o valor de partida para os bytes para esta sessão que será transmitida para a aplicação receptora. REAGRUPAMENTO DE SEGMENTOS TCP À medida que os dados são transmitidos durante a sessão, o número de sequência é incrementado pelo número de bytes que foram transmitidos; Este rastreamento de bytes de dados habilita a cada segmento ser identificado e reconhecido de forma única; Então, os segmentos perdidos podem ser identificados. REAGRUPAMENTO DE SEGMENTOS TCP O processo TCP do receptor coloca os dados de um segmento em um buffer; Os segmentos são colocados na ordem de número de sequência apropriada e passados para a camada de Aplicação quando reagrupados; Quaisquer segmentos que cheguem com números de sequência não contíguos são retidos para processamento posterior; Então, quando os segmentos com os bytes perdidos chegam, esses segmentos são processados. REAGRUPAMENTO DE SEGMENTOS TCP CONFIRMAÇÃO TCP COM JANELAMENTO Uma das funções do TCP é assegurar que cada segmento atinja o seu destino; Os serviços TCP no host de destino confirmam os dados que ele recebeu para a aplicação de origem; O número de sequência do cabeçalho do segmento e o número de confirmação são usados juntamente para confirmar o recebimento dos bytes de dados contidos nos segmentos; CONFIRMAÇÃO TCP COM JANELAMENTO O número de sequência é o número relativo de bytes que foram transmitidos nessa sessão mais 1 (que é o número do primeiro byte de dado no segmento corrente); O TCP usa o número de confirmação em segmentos enviados de volta à origem para indicar o próximo byte que o receptor espera receber nessa sessão; Isto é chamado de Confirmação Esperada. CONFIRMAÇÃO TCP COM JANELAMENTO CONFIRMAÇÃO TCP COM JANELAMENTO De acordo com a figura anterior, se o host de envio tiver que esperar pela confirmação de recebimento de cada 10 bytes, a rede teria muito overhead; Para reduzir o overhead dessas confirmações, múltiplos segmentos de dados podem ser enviados e confirmados com uma única mensagem TCP na direção oposta; Este confirmação contém um número de confirmação baseado no número total de bytes recebidos na sessão. CONFIRMAÇÃO TCP COM JANELAMENTO Por exemplo, começando com um número de sequência de 2000, se 10 segmentos de 1000 bytes cada fossem recebidos, o número de confirmação 12001 seria retornado à origem; A quantidade de dados que a origem pode transmitir antes que uma confirmação seja recebida é chamada de tamanho da janela; O Tamanho de Janela é um campo no cabeçalho TCP que habilita o gerenciamento de dados perdidos e controle de fluxo. RETRANSMISSÃO EM TCP Lidando com a Perda de Segmento Não importa quanto uma rede seja bem projetada, a perda de dados ocorrerá ocasionalmente; Portanto, o TCP fornece métodos para gerenciar essas perdas de segmentos; Entre estes métodos há um mecanismo que retransmite segmentos com dados não confirmados. RETRANSMISSÃO EM TCP Um serviço de host de destino usandoTCP geralmente reconhece os dados apenas para bytes sequenciais contíguos; Se estiver faltando um ou mais segmentos, apenas os dados nos segmentos que completam o fluxo serão confirmados; Por exemplo, se os segmentos com números de sequência de 1500 a 3000 e de 3400 a 3500 fossem recebidos, o número de confirmação seria 3001. Isto porque existem segmentos com os números de sequência de 3001 a 3399 que não foram recebidos. RETRANSMISSÃO EM TCP Quando o TCP no host de origem não recebeu uma confirmação depois de um período pré-determinado de tempo, ele voltará ao último número de confirmação que recebeu e retransmitirá os dados a partir daquele ponto para frente; O processo de retransmissão não é especificado pela RFC, mas é deixado para a implementação específica do TCP. Vídeo CONTROLE DE CONGESTIONAMENTO TCP – MINIMIZANDO A PERDA DE SEGMENTOS O TCP também fornece mecanismos para o controle de fluxo; O controle de fluxo ajuda na confiabilidade de transmissões TCP através do ajuste da taxa de fluxo de dados efetiva entre os dois serviços na sessão; Quando a origem é informada de que uma quantidade especificada de dados nos segmentos é recebida, ela pode continuar a enviar mais dados para essa sessão. CONTROLE DE CONGESTIONAMENTO TCP – MINIMIZANDO A PERDA DE SEGMENTOS O campo Tamanho de Janela no cabeçalho TCP especifica a quantidade de dados que podem ser transmitidos antes que uma confirmação precise ser recebida ; O tamanho de janela inicial é determinado durante a inicialização da sessão através do handshake triplo. O mecanismo de feedback do TCP ajusta a taxa efetiva de transmissão de dados até o fluxo máximo que a rede e o dispositivo de destino podem suportar sem perda; CONTROLE DE CONGESTIONAMENTO TCP – MINIMIZANDO A PERDA DE SEGMENTOS CONTROLE DE CONGESTIONAMENTO TCP – MINIMIZANDO A PERDA DE SEGMENTOS Durante o atraso no recebimento de uma confirmação, o remetente não enviará quaisquer segmentos adicionais para essa sessão; Em períodos em que a rede está congestionada ou os recursos do host de recebimento estão extenuados, o atraso pode aumentar; À medida que este atraso aumenta, a taxa de transmissão efetiva dos dados para esta sessão diminui; A diminuição da velocidade na taxa de dados ajuda a reduzir a contenção de recursos. Final - Camada de Transporte
Compartilhar