TCP - controle de fluxo

Documentos relacionados
TCP - controle de fluxo

TCP - estabelecimento de conexão

Redes de Computadores

Causas/custos do congestionamento: cenário 1

Nível de Transporte Portas, Protocolos UDP e TCP

Redes de Computadores

Redes de Computadores

SSC0641 Redes de Computadores

PTC Aula Princípios do controle de congestionamento 3.7 Controle de congestionamento no TCP

Camada de Transporte. Redes Industriais Rone Ilídio UFSJ CAP

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Redes de Computadores I

Redes de Computadores Camada de Transporte Protocolo TCP

Capítulo 3 Camada de transporte

TCP - multiplexação/demultiplexação

TCP - formato do segmento. Formato do segmento TCP (fonte: Kurose)

Capítulo 3 Camada de transporte

Redes de computadores e a Internet. Capítulo 3. Camada de transporte

Protocolos com paralelismo (pipelining) Pipelining: aumento da utilização

Redes de Computadores

Redes de Computadores RES 12502

: TMS M

Camada de Transporte

TCP Round Trip Time e temporização

TCP: Visão geral RFCs: 793, 1122, 1323, 2018, 2581

Arquitetura de Redes de Computadores

Redes de Computadores e Aplicações. Aula 43 - Camada de Transporte TCP (Transmission Control Protocol)

TCP 1 TCP. Manuel P. Ricardo

Desempenho de Redes de Computadores. Ricardo Couto A. da Rocha 2015

Camada de Transporte Parte II Gerson Porciúncula 5 semestre

Capítulo 3. Camada de transporte

Capítulo 3: Camada de Transporte

Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol

Capítulo 6. A camada de transporte

Camada de Transporte. Protocolos TCP e UDP

Redes de Computadores

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

3Camada de transporte

Capítulo 3 Camada de transporte

Fragmentos das máquinas de estados finitos do RDT 2.2 (fonte: Kurose)

GA-027 Redes de Computadores

PTC Aula Princípios da transferência de dados confiável 3.5 Transporte orientado para conexão: TCP

Redes de Computadores

Jéfer Benedett Dörr

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Redes TCP/IP. Protocolos de Transporte e Aplicação

Capítulo 6. A camada de transporte. slide 1 1 reservados.

EXERCÍCIOS DE REVISÃO REDES DE COMPUTADORES EDGARD JAMHOUR. Segundo Bimestre

PROTOCOLOS DE COMUNICAÇÃO

Arquitetura de Redes TCP/IP. Camada de Transporte

Funções da Camada de

Redes de computadores e a Internet

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços

Exercícios de Revisão Redes de Computadores I. Spanning-Tree Camada de Transporte DNS DHCP

Redes de Computadores

Controlo de Congestionamento

Redes de Computadores

PTC Aula A camada de transporte. (Kurose, p ) 15/03/2017

Redes de Comunicações 2. Camada Transporte: TCP e UDP

Roteiro Resumido. Camada de Transporte. Parte III. Camada de Transporte. Camada de Transporte. Redes de Computadores 25/4/2017

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços

Roteiro Resumido. Camada de Transporte. Parte III. Camada de Transporte. Camada de Transporte. Redes de Computadores 14/08/2015

Redes de Computadores

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre

Capítulo 3 Camada de transporte

Redes de Computadores LTI

Capítulo 3 Camada de Transporte

Redes de Computadores

EEL878 - Redes de Computadores I. Prof. Luís Henrique Maciel Kosmalski Costa.

Capítulo 3: Camada de Transporte

Cap. 03 Camada de Transporte

3 Os Problemas na Transmissão TCP Via Satélite

Camada de Transporte

PTC Aula Controle de congestionamento no TCP 4.1 Introdução à camada de rede 4.2 O que há dentro de um roteador?

Redes de Computadores. Camada de Transporte4. A necessidade por um serviço o de transporte confiável

PTC Aula Transporte orientado para conexão: TCP. (Kurose, p ) (Peterson, p e ) 23/05/2017

Camada de Transporte Transferindo Mensagem entre Processos

Redes de Computadores e a Internet

Universidade Federal de Minas Gerais Departamento de Ciência da Computação

EEL878 - Redes de Computadores I

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

Camada de transporte. Serviços

Novas Propostas para Protocolos de Streaming Luiz Eduardo Fontes Mello de Almeida

Curso de Redes de Computadores 2010

Camada de Transporte. Processo: Instância de uma aplicação que está. 3: Camada de Transporte 3a-1

SSC0641 Redes de Computadores

Redes de Computadores

Rede de computadores Protocolos TCP. Professor Carlos Muniz

Capítulo 3. Camada de transporte. Pearson. Todos os direitos reservados.1

2 Controle de Congestionamento do TCP

Funções da. Os principais serviços oferecidos pela camada de transporte são: Controle de conexão, Fragmentação, Endereçamento e Confiabilidade.

Arquitetura TCP/IP. Parte XI Transporte orientado a conexão (TCP) Fabrízzio Alphonsus A. M. N. Soares

Serviços de Comunicações Capítulo 3

REDES DE COMPUTADORES Camada de Transporte. Alexandre Augusto Giron

Redes de Computadores e Telecomunicações - Camada de Transporte

SSC0641 Redes de Computadores

Redes de computadores. Protocolo TCP

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIADO RIO GRANDE DO NORTE IFRN

Transcrição:

TCP - controle de fluxo Elimina a possibilidade de o remetente saturar o destinatário Apresentação supõe que segmentos fora de ordem são descartados Baseado em janelas Remetente mantém uma variável chamada janela de recepção (RcvWindow)

TCP - controle de fluxo Janela e buffer de recepção (fonte: Kurose)

TCP - controle de fluxo Destinatário mantém as variáveis LastByteRead LastByteRcvd LastByteRcvd LastByteRead RcvBuffer Para não saturar o buffer RcvWindow = RcvBuffer [LastByteRcvd LastByteRead]

TCP - controle de fluxo Remetente mantém as variáveis LastByteSent LastByteAcked Remetente precisa ter uma ideia do buffer do destinatário Destinatário envia quanto há de espaço no buffer colocando RcvWindow no campo janela de recepção de cada segmento LastByteSent LastByteAcked RcvWindow Para não saturar o buffer do destinatário

TCP - controle de fluxo Problema quando RcvWindow = 0 e o destinatário não tem nada a enviar Solução Remetente deve enviar segmento de um octeto de dados quando a janela for zero

TCP - estabelecimento de conexão Inicializa variáveis Números de sequência Buffers, RcvWindow 3-way handshake usado para eliminar o problema de duplicatas antigas (atrasadas) Ex.: pedidos de conexão, ACKs

Estabelecimento de conexão 3-way handshake genérico (fonte: Tanenbaum) (a) Normal operation, (b) Old CONNECTION REQUEST appearing out of nowhere.

Estabelecimento de conexão 3-way handshake genérico (fonte: Tanenbaum) (c) Duplicate CONNECTION REQUEST and duplicate ACK.

TCP - estabelecimento de conexão Três fases SYN Bit SYN = 1 Número de sequência inicial aleatório (client_isn) SYNACK Recebe SYN Aloca buffers e variáveis Bit SYN = 1 e bit ACK = 1 (espera client_isn + 1) Número de sequência inicial aleatório (server_isn) Última fase Recebe SYNACK Aloca buffers e variáveis Bit SYN = 0 ACK = server_isn + 1

TCP - fechamento de conexão Cliente ou servidor pode encerrar a conexão Libera os buffers e variáveis

TCP - fechamento de conexão FIN Bit FIN = 1 ACK Responde com ACK a FIN recebido Bit ACK = 1 ACK e FIN do respondedor podem ser enviados juntos Espera temporizada Tempo para poder reenviar o ACK ACKs do iniciador podem ser perdidos Respondedor espera pelo ACK durante um certo tempo e se o ACK não chega reenvia o FIN

Exemplo de fechamento de conexão (fonte: Kurose)

Sequência típica de estados do TCP cliente

Sequência típica de estados do TCP servidor

Controle de congestionamento Sintomas Perdas de pacotes Atrasos grandes

Controle de congestionamento Classificação Fim-a-fim Congestionamento é inferido a partir das perdas e dos atrasos observados nos sistemas finais Ex.: TCP Assistido pela rede Roteadores fornecem realimentação específica a respeito do congestionamento na rede Ex.: ATM

TCP - controle de congestionamento Remetente limita a transmissão Baseado em janelas Remetente e destinatário mantêm uma variável chamada janela de congestionamento (CongWin) LastByteSent LastByteAcked min{congwin, RcvWindow} Para não congestionar a rede e não saturar o buffer do destinatário Apresentação supõe que a limitação da janela de recepção é desprezível e que o flavor é o Reno

TCP - controle de congestionamento Permite o envio de CongWin segmentos de tamanho máximo MSS antes de receber um ACK Com uma janela de tamanho CongWin e um round trip time RTT, a vazão é dada por CongWin x MSS / RTT

TCP - controle de congestionamento Eventos de perda Estouro de temporização Recebimento de três ACKs duplicados Dois componentes principais Partida lenta (Slow Start) Aumento aditivo, diminuição multiplicativa (Additive Increase, Multiplicative Decrease - AIMD)

TCP - controle de congestionamento Algoritmo partida lenta Inicialmente CongWin = 1 (RFC 3390) Janela CongWin aumenta de um segmento a cada ACK recebido (dobra a cada RTT) CongWin = CongWin + 1 Até um limite Threshold ou uma perda Threshold AIMD 3 ACKs duplicados AIMD Estouro de temporizador início da partida lenta

TCP - controle de congestionamento Exemplo com partida lenta (fonte: Kurose) Hosp. A Hosp. B RTT tempo

TCP - controle de congestionamento Algoritmo AIMD Janela CongWin cresce 1/CongWin a cada ACK recebido CongWin = CongWin + a/congwin, a = 1 Perda Threshold = 0,5 * CongWin Janela CongWin diminui de 0,5 CongWin a cada segmento perdido por ACKs duplicados CongWin = CongWin - b * CongWin, b = 0,5 CongWin = 1 se perda por temporização

TCP - controle de congestionamento Exemplo com AIMD (fonte: Kurose)

TCP - controle de congestionamento Algoritmo AIMD Para MSS = 1500, RTT = 100 ms e vazão = 10 Gbps, CongWin deve ser 83333 Isso gera uma taxa de perdas que não pode passar de 2 10-10 não é possível atualmente Solução: uso de outros protocolos de transporte, como o HSTCP

TCP - flavors Tahoe Mais antigo Usa partida lenta e AIMD Qualquer perda volta à partida lenta Reno Mais novo Usa partida lenta e AIMD Usa recuperação rápida e ACKs atrasados Apresentado anteriormente

TCP - flavors New Reno Semelhante ao Reno, exceto Vegas Continua na retransmissão rápida após múltiplas perdas numa mesma janela de transmissão Usa um outro algoritmo de congestionamento Sack Usa retransmissão seletiva Usa o campo de opções para indicar blocos não contíguos recebidos Outros

TCP - controle de congestionamento Exemplo de controle de congestionamento do TCP (fonte: Kurose) 14 congestion window size (segments) 12 10 8 6 4 2 0 TCP Tahoe threshold TCP Reno 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Transmission round

TCP - justiça AIMD é justo Na apresentação supõe-se Duas conexões TCP Mesmos MSSs e RTTs Enlace R

TCP - justiça Compartilhamento de um enlace congestionado (fonte: Kurose)

TCP - justiça Vazão das conexões (fonte: Kurose)

Bibliografia Kurose Capítulos 3 e 7 Tanenbaum Capítulo 6 Comer Forouzan Capítulo 23