Camada de transporte. Serviços fornecidos pela camada de transporte Multiplexagem/desmultiplexagem Camada de transporte não-orientada à sessão

Documentos relacionados
Camada de transporte. Serviços

Camada de transporte. Serviços

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

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

Nível de Transporte Portas, Protocolos UDP e TCP

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

Redes de Computadores Camada de Transporte Protocolo TCP

PROTOCOLOS DE COMUNICAÇÃO

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

Camada de Transporte. Protocolos TCP e UDP

Capítulo 6. A camada de transporte

Redes de Computadores

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

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

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

Capítulo 3 Camada de transporte

Capítulo 3 Camada de transporte

Camada de Transporte Parte II Gerson Porciúncula 5 semestre

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

Redes de Computadores

Redes de Computadores

TCP - controle de fluxo

TCP - controle de fluxo

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

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

Arquitetura de Redes de Computadores

Introdução às Redes de Telecomunicações Licenciatura em Eng. Electrotécnica e de Computadores 25 de Junho de o Exame 2 o Semestre.

TCP. Bibliografia FEUP/MRSC/AMSR MPR. » Aula preparada com base nos seguintes documentos

Redes de Computadores

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

TRANSPORTE. Prof. Me. Hélio Esperidião

Redes de computadores. Protocolo TCP

Redes de Computadores

Redes de Computadores I

Redes de Computadores MEEC 1 de Junho de o Exame 2 o Semestre

TCP 1 TCP. Manuel P. Ricardo

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

Redes de Computadores

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

Redes de Computadores (LTIC) 2013/14. Grupo 1 (9 valores) 2º Teste (Frequência) 19 de Junho de Nome:

COLECÇÃO DE PROBLEMAS

Redes de Computadores RES 12502

Redes de Computadores LERCI e LEE 10 de Janeiro de o Exame 1 o Semestre

Jéfer Benedett Dörr

Funções da Camada de

Redes de Computadores. Prof. André Y. Kusumoto

Redes de Computadores Aula 5

Causas/custos do congestionamento: cenário 1

Aplicações de Redes de Computadores

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

Arquitetura de Redes TCP/IP. Camada de Transporte

Capítulo 3: Camada de Transporte

Redes de Computadores e Internet MEEC 11 de Junho de o Exame 2 o Semestre. Número: Nome:

Planejamento. Revisão. Desempenho em Protocolos de Transporte

Redes de Computadores

Redes de Computadores (LTIC) 2014/15. Parte 1 (8 valores) Exame Final (1ª Época) 24 de junho de Nome:

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

Rede de computadores Protocolos UDP. Professor Carlos Muniz

Redes de Computadores

REDES DE COMPUTADORES

Redes de Computadores. Ricardo José Cabeça de Souza

Camada de Transporte Protocolos TCP e UDP

SSC0641 Redes de Computadores

EIC0032, Redes de Computadores 20/jan/2017 Exame Parte 2 (com consulta, 10 valores, 90 minutos) Nome:

Redes de Computadores

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Exame A

REDES DE COMPUTADORES

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

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

Controlo de Congestionamento

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

Redes de Computadores

Redes de Computadores I Prof. Mateus Raeder

Introdução às Redes de Telecomunicações Licenciatura em Eng. Electrotécnica e de Computadores 23 de Junho de o Exame 2 o Semestre.

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

TCP - multiplexação/demultiplexação

Redes de Computadores. Camada de Transporte

Redes de Computadores. Trabalho de Laboratório Nº7

Redes de Computadores

Capítulo 3 Camada de transporte

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

Rede de computadores Protocolos TCP. Professor Carlos Muniz

Redes de Computadores e Internet MEEC 9 de Junho de o Exame 2 o Semestre

Controlo de Congestão TCP. Redes e Serviços de Comunicação Multimédia Secção de Redes de Comunicação de Dados

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

Redes de Computadores

Capítulo 3 Camada de transporte

Redes de Computadores (RCOMP 2015/2016)

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

Redes de Computadores

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

Jéfer Benedett Dörr

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

Redes de Computadores II. Camada de Transporte Visão Geral de Sockets

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

Canais de Comunicação

: TMS M

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Capítulo 3. Camada de transporte

Camada de transporte. serviços providos a camadas superiores. qualidade de serviço. parâmetros-alvo (opções a negociar)

Transcrição:

Camada de transporte Serviços fornecidos pela camada de transporte Multiplexagem/desmultiplexagem Camada de transporte não-orientada à sessão O caso UDP Transmissão fiável e ordenada de dados Máquinas de estados O caso TCP Controlo de fluxo O caso TCP Congestionamento e seu controlo O caso TCP Camada de transporte 1 Serviços Proporciona comunicação lógica entre processos de aplicação Suportado na camada de rede Melhora os serviços da camada de rede Camada extremo-aextremo aplicação transporte rede dados físico rede dados físico rede dados físico rede dados físico rede dados físicol rede dados písico aplicação transporte rede dados físico Camada de transporte 2 1

Camada de transporte na Internet Entrega fiável, ordenada para unicast: TCP Multiplexagem Estabelecimento, manutenção e terminação de sessão Controlo de erros Controlo de fluxo Controlo de congestão Entrega não-fiável, não-ordenada para unicast ou multicast: UDP Multiplexagem Detecção de erros Serviços indisponíveis Limites nos atrasos Garantias de débito Multicast fiável Camada de transporte 3 Multiplexagem Multiplexagem de informação vinda de processos de aplicação Porto origem e destino enviados em cada segmento Portos bem-conhecidos e portos efémeros Desmultiplexagem pode necessitar também dos endereços IP porto origem 32 bits porto destino outros cabeçalhos dados da aplicação Formato dos segmentos TCP/UDP Camada de transporte 4 2

estação A Multiplexagem: exemplos porto origem: x porto dest.: 23 servidor B Orientado à sessão estação C porto origem:23 porto dest.: x Não orientado à sessão IP origem: C IP destino: B porto origem: y porto dest.: 80 IP origem: C IP destino: B porto origem: x porto dest.: 80 estação A IP origem: A IP destino: B porto origem: x porto dest.: 80 servidor B Camada de transporte 5 User datagram protocol (UDP) Serviço na base do melhor esforço (best-effort) Não garante entrega de segmentos Não garante entrega ordenada de segmentos Outras características Não pressupõe estabelecimento de sessão Não mantêm informação de estado Cabeçalho pequeno Não limita o débito de transmissão Aplicações que usam UDP Streaming multimedia Telefonia pela Internet DNS Camada de transporte 6 3

Anatomia de um segmento UDP Portos Comprimento Dados + cabeçalho Checksum cksum := x0000 segsum := soma, em complemento para 1, de todas as palavras de 16 bits do segmento cksum := complemento para 1 de segsum cksum + segsum = xffff porto origem comprimento 32 bits porto destino checksum dados da aplicação (comprimento variável) Camada de transporte 7 Checksum: algebra x y = x + y, x + y 2 n + 1, x + y < 2 n x + y 2 n Operação é comutativa e associativa Soma de verificação x 1 x n = 2 n 1 x 1 x n Complementaridade x x = 2 n 1 Camada de transporte 8 4

Transporte Aplicação Transferência fiável e ordenada de dados Pára-arranca (stop-and-wait) Origem só envia pacote novo depois de saber que o último foi bem recebido Concretização do protocolo depende das características do canal não-fiável Processo origem Processo destino canal fiável swt_send() dados Protocolo transferência fiável (origem) ch_send() pacote dados deliver_ Protocolo data() transferência fiável (destino) pacote swt_rcv() Serviço providenciado canal não-fiável Implementação Camada de transporte 9 Canal Corrupção sem perdas Corrompe pacotes Componentes Detecção de erros, e.g. checksum Feedback, ACK e/ou NAKs Retransmissão Numeração dos pacotes, módulo 2 Retransmissão 0 0 1 NAK ACK ACK Feedback Duplicado 1 Camada de transporte 10 5

Perdas Canal Corrompe pacotes Perde pacotes Componentes adicionais Retransmissão por temporização Numeração dos ACKs, módulo 2 0 0 ACK1 1 ACK1 1 Retransmissão por temporização 0 ACK0 Camada de transporte 11 Troca de ordem Canal Corrompe pacotes Perde pacotes Não respeita a ordem de transmissão Alteração dos componentes Numeração dos pacotes e ACKs não é módulo 2 Módulo de numeração N = T x R T é o tempo máximo de vida de um pacote R é o débito a que os números de sequência são consumidos 0 0 1 N -1 ACK1 ACK2 Duplicado Camada de transporte 12 6

Transferência fiável e ordenada de dados Aplicação write[m] deliver[m] Transporte send[p] recv[p] recv[p] send[p] S R Camada de transporte 13 Pára-arranca: diagramas write[m] T rto x.m x.m x+1.ack a) deliver[m] write[m] T rto write[m ] x.m x.m x+1.ack x+1.m x+1.ack deliver[m] deliver[m ] write[m] T rto write[m ] x.m deliver[m] x.m x+1.ack x+1.m deliver[m ] x+1.ack write[m] T rto x.m x.m x+1.ack deliver[m] x+2.ack c) write[m ] y.m y+1.ack deliver[m ] x+1.ack b) d) Camada de transporte 14 7

Pára arranca: máquinas de estados next entre 0 e R x T, no qual R é a taxa máxima de consumo de números de sequência next 0 write[m] Idle recv[x.ack] x = next + 1 recv[x.m] x = next deliver[m] next next + 1 send[next.ack] next 0 send[next.m] timer[t rto ] next next + 1 timer[ ] Ready Sending timer recv[x.m] x < next S send[next.ack] timer[t rto ] send[next.ack] R Camada de transporte 15 Estabelecimento e terminação de uma sessão Estabelecimento da sessão syn e ack req_con con syn ack con Terminação da sessão fin e ack depois de receber o ack tem que esperar 2 x T, para que réplicas perdidas possam entretanto chegar req_disc disc 2 x T fin ack disc T S R Camada de transporte 16 8

Problema com pára-arranca: eficiência Canal a 1 Gbit/s Pacotes com 1000 bytes Tempo de-ida-e-volta de 30 ms Débito = 1000 8 1000 8 10 9 + 30 10 3 = 273 kbit/s Débito é baixíssimo Protocolo limita a utilização do canal! Camada de transporte 17 Transferência fiável e ordenada: eficiência Transações pára-arranca em paralelo Campo no cabeçalho para numerar as transações Posterior ordenação dos pacotes Janela deslizante (pipelining) É preciso também uma janela do lado da receção? Os ACKs são cumulativos ou seletivos? Temporizador por janela? Por pacote? Quando é que os pacotes são retransmitidos? Camada de transporte 18 9

Janela deslizante Origem mantém janela deslizante de dimensão W ACKs cumulativos Um temporizador associado ao início da janela next_send W Não reconhecidos Origem next_ack W Já reconhecidos Posições livres Destino next Camada de transporte 19 Ações: origem write[m] e next_send next_ack < W guarda next_send.m na janela send[next_send.m] se next_send = next_ack, então timer[t rto ] next_send next_send + 1 timer expira send[next_ack.m] (apenas este) recv[x.ack] e x > next_ack next_ack x se next_send > next_ack, então timer[t rto ] (há pelo menos um pacote em voo) Camada de transporte 20 10

Ações: destino recv[x.m] e x = next guarda m na janela na posição next encontrar o número máximo y tal que todos os pacotes entre next e y -1 estão na janela fazer deliver[m] a todos os pacotes entre next e y-1 next y send[next.ack] recv[x.m] e x > next guarda m na janela na posição x recv[x.m] e x < next send[next.ack] Camada de transporte 21 Janela deslizante: eficiência c capacidade do canal rtt tempo de ida-e-volta W tamanho da janela em número de pacotes L tamanho de um pacote W L / c L / c + rtt sem perdas, origem não tem que parar se e só se W L W (L 1) c rtt c 100 Mbit/s rtt 60 ms W L 750 Kbytes (janela representada com 20 bits) Camada de transporte 22 11

Diagrama espaço tempo dimensão da janela = 8 pacotes [1,8],1 [1,8],8 ACK 1 [1,8],1 janela, último transmitido [1,8],1 [2,9],9 ACKs cumulativos Um temporizador por janela (retransmissão de um pacote) [2,9],2 [10,17],10 [11,18],13 Camada de transporte 23 [1,8],1 [1,8],8 [1,8],1 [2,9],9 Janelas deslizantes ACK 1 ACKs cumulativos Um temporizador por janela (retransmissão de um pacote) [1,8],1 [1,8],9 [1,8],2 [9,16],9 [10,17],12 ACK 1 SACK 3 [2,9],2 [10,17],10 [11,18],13 ACKs cumulativos + ACKs seletivos Um temporizador por pacote 12

Transmission Control Protocol (TCP) Stream de bytes ordenado e fiável Sessões ponto-a-ponto Sessão full-duplex Transferência bi-direccional de dados na mesma sessão Maximum Segment Size (MSS) Orientado à sessão Handshaking em três fases Buffers na origem e no destino Algoritmo de janela deslizante Gestão da janela depende também do controlo de fluxo e de congestionamento Camada de transporte 25 Anatomia de um segmento TCP Números de sequência e de ACKs Identificam bytes Sinalizadores RST, SYN e FIN: estabelecimento e terminação de sessão ACK: número de sequência é válido PSH: dados devem ser passados à aplicação URG: ptr dados urgentes é válido Ptr dados urgentes Deslocamento para o fim dos dados urgentes porto origem 32 bits porto destino número de sequência número de ACK comp. U A P R S F janela anunciada cab. checksum ptr dados urgentes opções (comprimento variável) dados da aplicação (comprimento variável) Camada de transporte 26 13

timeout timeout de Seq=92 Números de sequência e de ACK Estação A Estação B dados= ABC Ack + dados= DEFG Ack Camada de transporte 27 Transferência de dados: exemplos Estação A Estação B Estação A Estação B Camada de transporte 28 14

Estabelecimento e terminação de sessão cliente servidor cliente servidor CLOSED LISTEN ESTABLISHED ESTABLISHED ESTABLISHED TIME_WAIT ESTABLISHED CLOSED Estabelecimento de sessão CLOSED Terminação de sessão Camada de transporte 29 Maquina de estados Camada de transporte 30 15

Envio de segmentos Segmento de dados novo Número de bytes no buffer superior ou igual a MSS Periodicamente, sempre que houver bytes no buffer Solicitado na API Retransmissão de um segmento de dados Temporizador expirou Recepção de três ACKs duplicados (retransmissão rápida) ACK retardado Chegada de um segmento esperado ACK cumulativo Chegada de um segmento esperado e o ACK do segmento anterior ainda não tinha sido enviado ACK duplicado Chegada de um segmento duplicado Chegada de um segmento fora de ordem Camada de transporte 31 RTT e tempo de retransmissão Tempo de retransmissão Pequeno comparado com RTT implica retransmissões desnecessárias Grande comparado com RTT implica reação lenta a perdas RTT varia durante uma sessão Estimação do RTT Extração de amostras de RTT Ignorar retransmissões na extração de amostras Calcular estimativa do RTT Determinar o tempo de retransmissão em função da estimativa de RTT Camada de transporte 32 16

Estimativa de RTT e tempo de retransmissão EstimatedRTT = (1-x)*EstimatedRTT + x*samplertt Deviation = (1-x)*Deviation + x* SampleRTT - EstimatedRTT Timeout = EstimatedRTT + 4*Deviation Média exponencial variante no tempo Impacto de amostras antigas decresce exponencialmente Tipicamente x = 0.125 (1/8) Camada de transporte 33 Controlo de fluxo Aplicação Wrt Rd Transporte Snd Rcv S R Camada de transporte 34 17

Variáveis em controlo de fluxo Origem W Destino W Wrt Rd Snd W + Rd Rcv Adv = W (Rcv Rd) 0 Wrt Snd W Recebe Rcv e Adv = W (Rcv Rd ) 0 Rcv Rd W Calcula Adv + Rcv W (Rcv Rd ) + Rcv = W + Rd Anuncia Rcv e W (Rcv Rd) reconhecimento dos dados (Rcv) desacoplado do controlo de fluxo (Adv) Camada de transporte 35 Controlo de fluxo: débito constante Origem tem sempre dados para transmitir Wrt t + r2s = Rd t + W Destino lê dados a débito constante r Rd t + r rtt = Rd t + rtt Rcv t + rtt = Snd t + r2s Wrt(t+r2s) =Snd(t+r2s) S R Rd(t) Rcv(t+rtt) Rd(t+rtt) Canal tem capacidade c, c r Snd t + r2s = Wrt(t + r2s) Conclusão: W r rtt 18

Transmissão em blocos Origem tem sempre dados para transmitir Wrt t + r2s = Rd t + W Destino lê dados a débito constante r Rd t + r rtt = Rd t + rtt Rcv t + rtt = Snd t + r2s Canal tem capacidade c, c r, mas origem só inicia transmissão quando tem bloco de B bytes na janela Snd t + r2s + B = Wrt t + r2s Conclusão: W B + r rtt Janela de transmissão esgota-se S R Janela esgota-se durante a transmissão c r W r x rtt + B W < c x rtt envio intercalado ao débito c B r B c r leitura continuada ao débito r 19

Janela de transmissão não se esgota S R Janela esgota-se durante a transmissão c r W r x rtt + B W c x rtt envio intercalado ao débito c W r rtt c r B c r B r leitura continuada ao débito r Controlo de fluxo TCP Impede que a origem sobrecarregue o destino com dados Destino Informa explicitamente a origem do espaço disponível no buffer de recepção Campo janela anunciada dos segmentos TCP Origem Garante que o número de bytes enviados é inferior à janela anunciada Aplicação Dados TCP em buffer Janela anunciada Dimensão do buffer IP Camada de transporte 40 20

Modelo de perdas de uma fila FIFO x c q(x) q(x) min(x; c) q(x) e crescente q(x) lim x!0 x = 1 lim q(x) = c x!+1 1.0 0.8 0.6 0.4 0.2 min(x; c) cx x + c 1 2 3 4 x 1 x 2 c x 1 x 1 + x 2 q(x 1 + x 2 ) x 2 x 1 + x 2 q(x 1 + x 2 ) Ausência de retroacção: congestionamento 1.0 10 Mbit/s 10 Mbit/s 0.8 min(x; c) 11 Mbit/s 0.6 0.4 100 Mbit/s 1 Mbit/s 0.2 0 1 2 3 4 Débito de saída do fluxo verde é 1 Mbit/s Débito de saída do fluxo azul é 1 Mbit/s! Tráfego verde é transportado na ligação de 11 Mbit/s para ser descartado mais tarde! 21

Colapso do congestionamento c x c z c c y 1.0 0.8 0.6 0.4 z = x q(x + z) x + z y = z q(x + z) x + z c x 2 Ãr! 1 + 4c x 1 0.2 0 1 2 3 4 Para cargas elevadas, maioria do tráfego que atravessa 1ª ligação de um caminho é descartado na 2ª ligação Controlo de fluxo salto-a-salto: impasse Controlo de fluxo salto-a-salto pode dar origem a impasse 22

Atribuição de débitos a fluxos c c c Curtos Longo Total Maxíma eficiência c 0 3c Equidade max-min c/2 c/2 2c Equidade proporcional 3/4 c c/4 5/2 c Eficiência vs. equidade Controlo de congestão TCP Extremo-a-extremo Encaminhadores e comutadores não providenciam retorno explícito sobre congestão Estação infere congestão através da perda de segmentos Temporizador expirou Recepção de três ACKs duplicados Orientado à janela Janela diminui com a perda de segmentos Janela aumenta por cada segmento bem recebido Camada de transporte 46 23

Máquina de estados: fluxograma duplicate ACK dupackcount++ timeout ssthresh cwnd / 2 dupackcount 0 Slow start new ACK cnwd cwnd + MSS dupackcount = 0 timeout ssthresh cwnd / 2 cwnd MSS dupackcount = 0 cwnd ssthresh timeout ssthresh cwnd / 2 cwnd MSS dupackcount 0 new ACK cnwd cwnd + MSS x MSS / cwnd dupackcount = 0 new ACK cnwd ssthresh dupackcount 0 Congestion avoidance duplicate ACK dupackcount++ dupackcount = 3 ssthresh cwnd / 2 cwnd ssthres + 3 x MSS Fast recovery dupackcount = 3 ssthresh cwnd / 2 cwnd ssthresh + 3 x MSS duplicate ACK cwnd cwnd + MSS Camada de transporte 47 Máquina de estados: tabela Estado Entrada Saída Estado Arranque lento (AL) Prevenção da congestão (PC) AL ou PC ACK novo cwnd cwnd + MSS Se cwnd > ssthresh então PC ACK novo cwnd cwnd + MSS x MSS / cwnd 3 ACKs duplicados AL ou PC ou RR Temporizador expirou Recuperação rápida (RR) RR ssthresh cwnd / 2 cwnd ssthresh + 3 x MSS ssthresh cwnd / 2 cwnd MSS PC RR AL ACK novo cwnd ssthresh PC ACK duplicado cwnd cwnd + MSS RR Inicialmente: estado AL com cwnd = MSS e ssthresh = 64 KiB Camada de transporte 48 24

Janela de congestão TCP: exemplo Reno Tahoe Camada de transporte 49 Desempenho de uma sessão TCP perda de segmento W W/2 tempo S = 1.22 8 MSS RTT 1 p S débito [bit/s] MSS dimensão de segmento [bytes] RTT tempo de ida-e-volta [s] p taxa de perda de segmentos Camada de transporte 50 25

Equidade em sessões TCP com RTT igual c equidade crescimento aditivo decrescimento multiplicativo sessão 1 c Camada de transporte 51 Equidade Volumes de fluxo semelhantes para sessões TCP com RTTs semelhantes Volume de fluxo de uma sessão TCP inversamente proporcional ao RTT Aplicação que abra mais sessões TCP paralelas consegue extrair mais capacidade do canal de comunicação Aplicações que usam TCP perdem débito em relação a aplicações que usam UDP Camada de transporte 52 26

Outras formas de controlo de congestionamento Relacionadas com TCP Contribuição dos encaminhadores, Random Early Discard (RED) Inferir congestionamento pelo aumento do RTT, TCP Vegas Assistidas pela rede Pressupõe circuitos virtuais Encaminhadores e comutadores indicam informação de congestionamento explicitamente Informação de congestionamento enviada directamente ou via destinatário Controlo do débito de envio da origem Camada de transporte 53 Estimação de atrasos Atraso na recepção de um objecto guardado num servidor Web Notação e hipóteses c: débito da sessão cliente/servidor (bits/s) L: MSS (bits) O: dimensão do objecto (bits) W: dimensão da janela (segmentos) Não há perdas Casos W L/c L/c + rtt: janela não se esgota W L/c < L/c + rtt: janela esgota-se Camada de transporte 54 27

Diagramas rtt L/c O/c K = O/WL Atraso = 2 rtt + O/c Atraso = 2 rtt + O/c + (K-1)[L/c + rtt - WL/c] + Camada de transporte 55 Estimação do atraso com arranque lento K = log 2 (O/L+1) Q = log 2 (1+ rtt c/l) +1 L/c P = min(q, K-1) Atraso = 2 rtt +O/c+P(rtt+L/c)- (2 P -1)L/c Camada de transporte 56 28