Prévia do material em texto
Universidade Federal de Goiás Instituto de Informática Professor: Kleber Vieira Cardoso Atividade: exercícios sobre controle de congestionamento 1. Considere que uma única conexão TCP (Reno) utiliza um enlace de 1 Gbps que não armazena nenhum dado, i.e., desconsidere buffers no enlace. Suponha que esse enlace seja o único congestionado entre os hosts transmissor e receptor. Assuma que o transmissor TCP tenha um arquivo enorme para enviar ao receptor e que o buffer do receptor é muito maior do que a janela de congestionamento. Leve em conta ainda as seguintes considerações: o tamanho de cada segmento TCP é 1250 bytes; o atraso de propagação bidirecional dessa conexão é 50 ms; e essa conexão TCP está sempre na fase de prevenção de congestionamento, ou seja, ignore a fase de partida lenta. Caso veja necessidade, faça considerações adicionais, justificando-as. a) Qual é o tamanho máximo da janela (em número de segmentos) que a conexão TCP pode atingir? b) Qual é o tamanho médio da janela (em número de segmentos) e a vazão média (em bps) dessa conexão TCP? c) Assumindo que a taxa de perdas é dada por L = 10-6, recalcule a vazão média (em bps) da conexão TCP. 2. Considere a figura abaixo e assuma que o TCP Reno está sendo usado ao responder os itens seguintes. a) Quais os intervalos de tempo (ou rodadas de transmissão) em que o algoritmo de partida lenta do TCP está em execução? b) Quais os intervalos de tempo em que o algoritmo de prevenção de congestionamento do TCP está em execução? c) Após a 12a rodada de transmissão, a perda de segmento será detectada por três ACKs duplicados ou por um esgotamento de temporização? d) Após a 24a rodada de transmissão, a perda de segmento será detectada por três ACKs duplicados ou por um esgotamento de temporização? e) Qual é o valor de ssthresh na 15a rodada de transmissão? Qual é o valor de ssthresh na 28a rodada de transmissão? f) Durante qual rodada de transmissão é enviado o 100o segmento? 3. Considere o envio de um arquivo grande de um computador a outro por meio de uma conexão TCP em que não há perda. Faça as considerações que julgar necessárias, justificando-as adequadamente. a) Assuma que o TCP usa AIMD (additive-increase/multiplicative-decrease) para seu controle de congestionamento e que ssthresh = 8. Assumindo que cwnd é medida em MSS (maximum segment size) e que o RTT é constante, quanto tempo (em RTTs) leva para cwnd alcançar 15 MSS? b) Qual é a vazão média (em termos de MSS e RTT) para essa conexão TCP dado o tempo obtido no item a)? c) Qual é a vazão média para essa conexão TCP durante a fase prevenção de congestionamento? d) Se fosse detectado, através de três ACKs duplicados, uma perda de pacote no instante de tempo encontrado no item a), qual seria o valor de ssthresh no RTT seguinte, caso o TCP Reno fosse usado? 4. Geralmente, ao discutir o controle de congestionamento do TCP, assumimos implicitamente que o transmissor TCP sempre tem dados para enviar. Considere o caso em que o transmissor TCP envia uma grande quantidade de dados e então fica ocioso em t1 (já que não há mais dados a enviar). O TCP permanecerá ocioso por um período de tempo relativamente longo e então irá querer enviar mais dados em t2. Comente uma vantagem e uma desvantagem de o TCP utilizar os valores cwnd e ssthresh de t1 quando começar a enviar dados em t2? 5. Considere a figura a seguir que ilustra a convergência do algoritmo AIMD do TCP. Suponha que, em vez de uma redução multiplicativa, o TCP diminuísse o tamanho da janela em uma quantidade constante. Justifique a razão para o algoritmo AIAD (additive-increase/additive-decrease) resultante não convergir para um algoritmo de compartilhamento igual. Na sua resposta, use um diagrama semelhante ao da figura ao lado para ilustrar sua justificativa.