Loading

Module 1: Transmissão e Programação

Nota de Estudos
Study Reminders
Support
Text Version

Controle De Congestionamento TCP

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Controle de congestionamento do TCP
Bem-vindo de volta para o curso em Rede de Computadores e Protocolos da Internet. Então, nós somosolhando para os Protocolos de Controle de Transmissão em detalhes. Então, na última aula, temosolhamos para os algoritmos de controle de fluxo no TCP.(Consulte o Tempo do slide: 00:28)Então, nesta palestra, olhamos para os algoritmos de controle de congestionamento no TCP. No contextode protocolos de camada de transporte genérico, você pesquisou que esse controle de congestionamentoalgoritmos em uma camada de transporte, eles usam um princípio bacana para garantir tanto eficiência quantocomo equidade.Então, aqui vamos analisar que como o TCP utiliza o conceito de capacidade e equidadejuntos no algoritmo de controle de congestionamento, que ele incorporou.(Consulte o Tempo de Slides: 01:03)Então, aqui está o algoritmo básico de controle de congestionamento para TCP. Assim, o algoritmo de controle básico de congestionamentopara TCP é baseado na implementação de aumento de aditivodiminuição multiplicativa, usando um mecanismo de controle baseado em janela, e o TCP consideraperda de pacotes como uma noção de congestionamento. Por isso, mais cedo olhamos para esses princípios deaumento aditivo de aumento, onde vimos que bem AIMD fornece uma noçãode maximização da capacidade assim como equidade na rede.Então, o que nós olhamos para que sempre que há fluxos múltiplos, que estão ficandocongestionados no gargalo da rede ou que o link bottleneck, ambos os fluxos estão tentandopara maximizar sua capacidade. E quando ambos os fluxos tentam maximizar sua capacidadedurante esse tempo, precisamos garantir que todo fluxo obtenha a capacidade necessária quemaximize a sua equidade também. Assim, considerando a perspectiva da rede global, em quevários fluxos estão disputando uns com os outros para obter as informações para obter os dados,durante esse tempo essa noção de congestionamento e a noção de equidade desde o congestionamento éum aspecto importante.E o que vimos anteriormente, que em caso de uma rede distribuída garantindo duramente a equidade deé muito difícil. E, ao mesmo tempo, a equidade difícil pode afetar sua capacidade, a capacidade disponívelou pode sob a utilização da capacidade de rede disponível. Assim, para removero baixo aproveitamento da capacidade de rede que em rede; geralmente, utilizamos o princípio de equidade máxmin e o princípio de equidade máx min diz que bem, seu objetivoseria maximizar o fim para a capacidade de ponta que você pode obter para um determinado fluxo. Emessa noção, vimos que a AIMD fornece este max min equidade junto commaximizando a utilização da largura de banda de link que você tem na rede bottleneckem contraste com aditivo aumento aditivo princípio de controle de taxa, eAumento multiplicativo multiplicativo noção de controle de taxa.Então, o TCP incorpora o mesmo princípio de diminuição multiplicativa de aditivo,onde aumenta a taxa adicionalmente, sempre que houver quantidade suficiente de largura de bandadisponível no final para o caminho de ponta. E sempre que o TCP detecta um congestionamento com a ajuda deuma perda de pacotes, em que a perda de pacotes dá um sinal para o congestionamento, então ele baixa a taxa de uma forma multiplicativa deou seguindo uma noção multiplicativa. Então, esse princípio de AIMD que nósdiscutimos anteriormente é incorporado no TCP.Então, para incorporar essa noção de AIMD para controle de congestionamento, enquanto mantém ajusteza; o TCP mantém uma janela, que é chamada de janela de congestionamento. Então, essa janela de congestionamentoé o número de bytes que o remetente pode ter na rede emqualquer instância do tempo. Agora, se for esse o caso, então sua taxa de envio será igual à janela de congestionamentodividida pelo RTT. Assim, RTT é o tempo de ida e volta, o tempo de propagaruma mensagem de um nó para outro nó e depois voltar a resposta, este total de tempo de viagem de volta.Então, se você dividir o tamanho da janela de congestionamento que significa, o número de bits ou o númerode bytes que o sistema pode empurrar para a rede dividida pelo RTT total, issodá uma aproximação da taxa de envio, quando o remetente está enviando dados a uma taxade congestionamento. Mas, como você já viu anteriormente, temos uma outra noção aqui, que é o tamanho da janela do receptora uma taxa do receptor, que vem do algoritmo de controle de fluxo.Então, idealmente o que temos que fazer, temos que incorporar ou temos que mesclar o princípio de controle de fluxojuntamente com o princípio de controle de congestionamento. E o que temos vistomais cedo que bem, o controle de fluxo ele mantém seu próprio tamanho de janela, que é baseado no feedbackdo receptor anunciados da janela. Então, o receptor anunciava janela, receptoranuncia que aquele é o lugar disponível no buffer disponível no receptor. Assim, o remetentepode enviar tanta quantidade de dados, para que o estouro de buffer não ocorra deo lado do receptor. E com isso, a partir deste tamanho de janela de feedback do receptor, o remetente tambémcontrola sua taxa.Então, idealmente a sua taxa de envio deve ser o mínimo da taxa do receptor, a taxa emque o receptor pode receber o pacote. E a taxa na qual a rede pode entregaro pacote para a outra ponta. Por isso, é por isso que sua taxa de envio deve ser mínima da taxa de receptore da taxa suportada pela rede. Agora, esse conceito de network suportadorate, ele está vindo do algoritmo de controle de congestionamento; e a taxa do receptor que évindo do algoritmo de controle de fluxo.Agora, o receptor anunciava tamanho de janela que lhe dá a taxa possível na qual o receptorpode receber os dados. E o tamanho da janela de congestionamento que está dando a taxa emque a rede pode suportar a transmissão de dados sobre o fim das ligações finais. De modo quecomo seu tamanho de janela remetente deve ser o mínimo de janela de congestionamento, e a janela do receptor. Então, essa janela de congestionamento está proporcionando a taxa que a redesuporta, e a janela do receptor está dando a taxa que o receptor suporta. Então, dessa formae assim estamos ficando a janela remetente que está lhe dando a taxa de envio ou a taxa de remetente.Então, esta é a noção de combinar controle de congestionamento e controle de fluxo em conjunto no TCP.E com este princípio, o TCP controla o tamanho da janela do remetente. Então, inicialmente o seu tamanho de janela de congestionamentoé mantido a uma taxa muito mínima. Em seguida, aumentamos o tamanho da janela do congestionamentogradativamente para descobrir que o que é o gargalo ou qual é a capacidade deo link. E se um congestionamento for detectado, então aplicamos o princípio da AIMD para diminuira taxa. Então essa é a ideia ampla de controle de congestionamento no TCP.(Consulte o Slide Time: 07:50)Agora, deixe-nos ver que como todo esse controle de congestionamento no TCP foi inventado, e estecontrole de congestionamento no TCP é um belo exemplo de um networking ou um melhor para dizerdescentralizado ou distribuído protocolo de rede. Então, todo esse conceito de congestionamentoveio em 1986 partir de um evento chamado de colapso de congestionamento. Assim, em 1986, essa crescente popularidadede internet levou à primeira ocorrência de congestionamento na rede, por isso, nóschamamos isso como o colapso do congestionamento. Então, esse colapso de congestionamento foi um período prolongadodurante o qual a goodput do sistema que eles baixaram significativamente mais que um fatorde 100.Então, com base nessa noção de congestionamento desmoronamento que a observação do colapso do congestionamento;Van Jacobson foi a pessoa chave que realmente investigou esse fenômeno de congestionamento dena internet. E este algoritmo de controle de congestionamento antecipado do TCP que foidesenvolvido por Van Jacobson. E a proposta inicial surgiu por volta de 1988, que foisucessora do evento de colapso de congestionamento que aconteceu em 1986.Mas, o desafio para Jacobson era implementar o algoritmo de controle de congestionamentosem fazer muitas mudanças no protocolo, era necessário fazer o protocoloinstantaneamente implantar na rede, pois durante esse tempo, muitos dos sistemas eramusando TCP para transmissão de dados. E a noção de internet já estava lá, as pessoasestavam acessando dados pela internet. Então, durante esse tempo se você projetar um protocolo totalmentediferente, o que você tem que fazer, é preciso fazer a mudança para todas as máquinasno sistema.E durante esse tempo, o tamanho da rede foi pode não ser tão grande quanto hoje outalvez alguns milhares de fatores menores do que hoje, mas ainda assim foi significativo. E design deum novo protocolo completo pode levar a um problema de retrocompatibilidade. Sendo assim, foio grande desafio para Jacobson projetar um novo protocolo, que seria compatívelcom a implementação existente do TCP, e você não requer muito mudanças no protocolo TCP.Então, para resolver isso, Jacobson teve uma observação agradável, e a observação foi que ele encontrouque a perda de bem packet é uma noção adequada para o congestionamento. Agora, aqui há uma falha,lembre-se que durante esse tempo, quando Jacobson inventou esse algoritmo de controle de congestionamentono TCP, a noção de rede sem fio não era tão popular ou era apenasem um estágio muito nascente, então a maior parte da internet estava conectada pela rede com fio. Eem uma rede sem fio, em geral você não consegue uma perda do canal, pois a mídia de comunicaçãoé guiada, é onde assim seu protocolo de camada de link irá cuidar dea interferência no canal, e é por isso que você não experimentará uma perda do canal. Assim, seus canais são meio que sem perdas em caso de uma rede com fio.Então, se houver perda de pacotes, essa perda certamente é dos buffers de rede dos dispositivos de rede intermediários. E por causa disso se houver uma perda de pacotes a partir do buffer de rede, você certamente pode inferir que o buffer tem sobrevoado, e porque o buffersobrevoou, você está tendo um congestionamento na rede assim por causa do congestionamento, o buffer só pode transbordar. Então, dessa forma Jacobson descobriu que a perda do pacoteé um sinal adequado para o congestionamento, assim você pode usar o tempo limite para detectar uma perda de pacotes.E, em seguida, sintonia a janela de congestionamento com base na observação a partir da perda de pacotes.Então, você aumenta o valor da janela de congestionamento, no momento em que você observa uma perda de pacotesque dá uma indicação de que bem, há uma noção de congestionamento na rede ouhá algumas ocorrências de congestionamento na rede, por causa da qual o pacote temperdido, que você detectou de um tempo limite. E sempre que você estiver detectando um pacotede perda de um tempo limite, então você aplica o princípio de AIMD para reduzir sua taxa com base no princípio de diminuição multiplicativa.(Consulte o Tempo de Slide: 12:09)Bem. Então, aqui está a outra observação interessante de que como você vai ajustar a janela de congestionamentocom base no princípio da AIMD. Por isso, uma das ideias mais interessantes emcontrole de congestionamento TCP é uso de confirmação para a clocking. Então, aqui esta fotoretrata o fato interessante que bem. Sempre que estiver enviando o pacote, então assumaque este é o cenário da rede, você tem o remetente, e um roteador intermediário, eentão o receptor, eles estão conectados via dois links, portanto, é um caminho de dois hop. Então, este link éum link rápido. Então, este é um link rápido, e o segundo link é um link lento. Então, este segundo link ébasicamente o seu link de estrangulamento. Assim, o congestionamento vai acontecer, quando muitos dados serãoempurrados para este link inferior ou o link bottleneck.Agora, sempre que estiver enviando o pacote, assim você está enviando o pacote do remetentena forma de um burst, que trafega o link mais rápido, então no link mais lento, poiseste link é mais lento, seu pacote levará mais tempo para se propagar para o receptor. Agora,quando se você olhar para a confirmação a taxa do reconhecimento irárealmente será a taxa de envio do pacote neste link mais lento; então, seja qual for a taxa de confirmação deneste link mais lento, a mesma taxa de confirmação perceberá emeste link rápido também. Assim, dessa forma sempre que o remetente obterá os reconhecimentos,que a confirmação realmente indica a taxa do link mais lento, que está lá emseu fim para finalizar caminho ou melhor para dizer se você tem múltiplo caminho de hip hop, então a taxa do link domais lento em que a taxa, a confirmação chegará ao remetente.Agora, se o emissor monitora a taxa de confirmação que dá uma ideia de que bem,possivelmente a essa taxa, os pacotes estão sendo transmitidos para o receptor. Assim, a confirmaçãoretorna ao centro em torno da taxa, que os pacotes podem ser enviados sobreo link mais lento no trajeto. Assim, você aciona o congestionamento em ajuste com base na taxana qual a confirmação é recebida. Por isso, aqui esses reconhecimentos são usadoscomo um relógios para acionar o controle de congestionamento na rede. Então essa foi outra observação interessante do Jacobson, enquanto projetava o algoritmo de controle de congestionamento,tão bem, então que era o princípio básico.(Consulte o Tempo do slide: 14:41)Agora, sempre que estiver obtendo uma confirmação, você irá acionar ou vocêirá ajustar o seu tamanho da janela de congestionamento, mas a questão vem que a que taxa vocêaplicará aumento aditivo na rede. Assim, inicialmente o que você pode fazer que você pode configurara janela de congestionamento para um pacote e, em seguida, aumentar gradualmente o tamanho da janela de congestionamento, quando você receberá uma confirmação.Agora, vamos ver o que acontece, se você aplicar um princípio de aumento aditivo. Então, se você emaplicar um princípio de aumento aditivo, qual aumento aditivo diz, que inicialmente você enviaum pacote, sempre que estiver fazendo uma confirmação, então você aumenta a janela de congestionamentopor um, então agora a sua janela de congestionamento é duas, assim você envia dois pacotes. Então, uma vez que você está recebendo com sucesso que dois pacotes, a confirmaçãopara esses dois pacotes, então novamente você aumenta sua janela de congestionamento por um, então agorasua janela de congestionamento é três, assim você pode transferir três pacotes com sucesso. Vocêespera pela confirmação desses três pacotes, sempre que estiver recebendo a confirmaçãopara aqueles três pacotes, novamente você aumenta a janela de congestionamento paraquatro de três, e envia quatro pacotes.Agora, se você está aplicando esse aumento aditivo de congestionamento janela sobre a rede.Então esta regra do AIMD, levará um tempo muito longo para atingir um bom ponto de operação em redes rápidas, pois essa janela de congestionamento começou a partir do tamanho pequeno. Então, vamos ver um exemplo. Então, suponha que você tenha um link de 10 mbps você tem um link de 10 mbps com 100milissegundos de tempo de viagem redondo e, nesse caso, sua janela de congestionamento apropriadatamanho deve ser igual a BDP o Produto Bandwidth Delay, que vimos anteriormente. Então,com 10 mbps link e 100 milissegundo RTT, seu produto de atraso de largura de banda chega a ser1 megabit.Agora, assuma que você tem um pacote de 1250 byte bits, você tem um 1250 byte pacotes significa,você tem 1250 em 8, então isso significa, 10000 bits pacote. E se você tem um pacote de 10000 bit10000 bit so se você tiver um pacote de 10000 bit que significa, com 1 megabit BDP, vocêpode transferir você precisa transferir pelo menos 100 pacotes para atingir o produtodelay de largura de banda. Agora, se você assumir que a janela de congestionamento começa em 1 pacote, e o valorda janela de congestionamento é aumentado 1 pacote em cada RTT, pois este RTT é baseado emna taxa em que você está recebendo a confirmação. Por isso, em todo RTT, vocêaumenta 1 janela de congestionamento.Então, você requer 100 RTTs e 100 RTTs significa com 100 milissegundo por RTT, ele éaproximadamente 10 second minutos antes da conexão atingir uma taxa moderada ou ela atingirem direção à sua capacidade máxima. Agora, se você pensar sobre a transferência web o protocolo HTTP, portanto, nenhum da conexão HTTP demora 10 second minutos para atingir naquele ponto de operação. Assim, pelo tempo, você alcançará na capacidade máxima, provavelmente fecharemosa conexão TCP, e iniciaremos novamente uma nova conexão, que voltará a aumentar deum pacote por segundo. Agora, para aumentar essa taxa, aplicamos um princípio no TCP, que échamado de slow start.(Consulte o Tempo do slide: 18:08)Então, qual é o início lento, portanto, o início lento é algo assim que inicialmente você faz um aumento exponencial deda taxa para evitar a convergência lenta. Agora, essa é a ironia emo nome que o start lento não significa que sua taxa não é-sua taxa é lenta, ela é apenasassim, você está começando a partir de uma taxa de taxa mais lenta e fazendo uma convergência mais rápida para a alta taxa.Então, o que fazemos em início lento, aumentamos a janela de congestionamento por dois que significa, a janela de congestionamentoé duplicada em cada RTT. Por isso, em vez de ter um aumento de aditivo, inicialmente fazemos um aumento multiplicativo dobrando a janela de congestionamentoem cada tempo de viagem redondo.
Controle de congestionamento TCP-Parte 2
Então, essa é a noção de início lento do TCP. Que todo segmento de reconhecimento permite quemais dois segmentos a serem enviados. Assim, para cada segmento que é reconhecido antes do cronômetro de retransmissãoir desligado, o remetente adiciona um segmento no valor de bytes para a janela de congestionamento.Então, o que acontece aqui com este exemplo, então inicialmente sua janela de congestionamento foi 1.Uma vez que você está recebendo a confirmação, sua janela de congestionamento passa a ser doisque significa 2 em 1. Uma vez que você está recebendo os segundos reconhecimentos, sua janela de congestionamentotorna-se 4. Em seguida, uma vez que você está recebendo todos esses quatro reconhecimentos, sua janela de congestionamento passa a ser de 8, portanto, dessa forma em cada RTT etoda essa transmissão leva em torno de um RTT.No 1 RTT, você está reconhecendo 1 packet. No 2o RTT, você está reconhecendo2 pacotes. No 3o RTT, você está reconhecendo 4 pacotes. No 4o RTT, seu reconhecimentovocê está reconhecendo 4 pacotes. E se o cano estiver cheio, então éo nível no qual você está sendo convergente, de modo que assim no TCP low start em cada rodada de tempo de viagem, nós dobramos o tamanho da janela de congestionamento ok.(Consulte o Tempo do slide: 19:58)Agora, se você apenas fizer um aumento multiplicativo de janela de congestionamento, então novamente eleviola o princípio de max min justo que vimos anteriormente. Assim, o MIMDmultiplicativo de aumento multiplicativo não o leva a um para um ponto operacionalideal, em que tanto a capacidade quanto as constantes de equidade estão satisfeitas. Então, épor que o que nós temos que fazer, temos que fazer um aumento aditivo em algum momento. Então,o que fazemos aqui? Assim, o início lento ele causa o crescimento exponencial, então eventualmente ele iráenviar muitos pacotes para a rede muito rapidamente.Agora, para manter o início lento sob controle, o emissor mantém um limite para a conexão, chamamos este limite como o limite de início lento ou ssthresh. Agora, inicialmenteo limite de início lento é configurado para BDP ou algum valor, que é arbitrariamente alto, o máximo deque um fluxo pode empurrar para a rede. E sempre que uma perda de pacotes é detectada porum tempo limite de retransmissão, o limite de início lento é dito para ser metade da janela de congestionamentoatual. Portanto, essa é a ideia.(Consulte o Tempo de Slide: 21:10)(Consulte O Tempo Do Slide: 21:18)Então, sempre que o seu, então deixe-me tentar explicá-lo com um diagrama, então inicialmente essas coisasacontecem. Então, neste eixo, eu tenho o tempo; e neste eixo, estou tramando dizer a janela de congestionamento. Então, você começa com um pacote, e inicialmente você tem um crescimento exponencial. Edizem neste ponto, você recebe um tempo limite de perda ou retransmissão, e sempre que estiver tendo um tempo de retransmissãofora, assim você configura. Então, esse era o valor inicial. Então, você configura metade dissocomo o limite de início lento.Então, você baixa a taxa, e agora o seu limite de início lento está aqui. Então, novamente você começa comuma janela de congestionamento, assim você vai exponencialmente até o limite de início lento. Depois que vocêatingiu o limite de início lento, você aumenta através do AIMD. Então, aqui seu AIMDcomeça. Agora, novamente depois de AIMD neste ponto, se você tem um RTO, então você faz metade deque no limite de início lento atualizado, baixe a taxa, novamente faça um aumento exponencialaté o limite de início lento, e inicie o AIMD após isso. Então, seu início lento é até o limite de início delento e depois disso, você está indo com a AIMD.Então, após o limite de início lento, passamos para o aumento aditivo, portanto, neste aditivoaumenta, o que chamamos como a evasão de congestionamento. Assim, sempre que o limite de início lentoé cruzado, o TCP alterna do início lento para o aumento aditivo. Assim, geralmente, éimplementado com um aumento parcial para cada segmento que está sendo reconhecido, em vez dedo que um aumento de uma parte do segmento RTT. Então, essa parte de segmento RTT é a sua fase inicial lenta.Então, para fazer isso, fazemos uma aproximação comum é aumentar a janela de congestionamentopara aumento aditivo com base nessa fórmula. Por isso, a janela de congestionamento é aumentada comoo valor atual da janela de congestionamento mais o tamanho máximo do segmento emtamanho máximo do segmento dividido pela janela de congestionamento. Isso dá uma aproximaçãodo aumento aditivo que o quanto de dados ou o quanto de novo byte precisa ser adicionado aa janela de congestionamento para seguir o ou para aumentar o valor da janela de congestionamento com baseem aumento aditivo em cada tempo de viagem redondo. Por isso, a cada tempo de viagem redondo, nósaproximamos o aumento da janela de congestionamento com base nessa fórmula. Então, essa fórmulaé aplicada em cada tempo de viagem redondo para ter a janela de congestionamento seguir aditivoaumenta princípio.Então, para desencadear um congestionamento, como mencionamos que normalmente acionamos um congestionamentocom a ajuda de um tempo de retransmissão para fora, isso indica uma perda de pacotes, mas háoutra maneira de acionar o congestionamento. Assim, em geral, o TCP segue duas maneiras diferentes deacionar um congestionamento; um é o tempo limite de retransmissão, e o segundo é usando um reconhecimento duplicado. Então, significa confirmação de duplicação, você érecebendo continuamente a confirmação do mesmo pacote.Agora, por que usamos basicamente a confirmação duplicada para acionar um controle de congestionamento, pois se você usa tempo limite de retransmissão, é preciso esperar por esse tempo limiteduração para detectar um congestionamento. Considerando que, confirmação duplicada lhe dá uma noção de congestionamento inicial, e você pode acionar o comportamento de controle de congestionamento muito mais cedocomparado à espera por um período de tempo limite completo.Agora, curiosamente este tempo limite de retransmissão RTO é uma indicação certa de congestionamento,mas é hora de consumir. Considerando que, esta confirmação duplicada, aqui como sabemosque o receptor envia uma confirmação duplicada, quando ela recebe fora de ordemsegmento, que é uma maneira frouxa de indicar um congestionamento. Assim, o TCP assume que se vocêestiver recebendo três reconhecimentos duplicados, então ele implica que o pacote tenha sidoperdido, e ele aciona o mecanismo de controle de congestionamento. Agora, essa suposição de trêsconfirmação duplicada é algo arbitrário, há como tal lógica por trás disso,assim Jacobson assumiu que bem, você pode pegar três triplas confirmação duplicada paraindicar um congestionamento.Agora, outra observação importante ou interessante a partir desta confirmação duplicadaé que (Tempo de Referência: 26:47) porque o TCP usa confirmação cumulativa, ao olharpara a confirmação duplicada, é possível identificar o pacote perdido, aquele que o pacotefoi perdido. Assim, o próximo pacote na sequência que se perdeu, então é por isso que,você está obtendo esse reconhecimento duplicado. Então, o que pode acontecer, digamos que você tenharecebido 1, 2, 3, então você perdeu o pacote 4, e está recebendo 5, 6, 7. Sempre que vocêestiver recebendo 5, 6, 7, você receberá um reconhecimento até 3. Assim, toda vez que vocêreceberá um ACK duplicado para ACK 3.Agora, neste caso, você pode inferir que o pacote 3 é realmente o pacote que foi perdido.Então, você retransmite o pacote perdido e, em seguida, aciona o algoritmo de controle de congestionamento.Agora, no TCP Reno, há outra observação interessante a partir da implementação deTCP Reno. Então, uma vez que você está detectando um congestionamento através de 3 duplicações de confirmação de, o TCP realmente precisa configurar janela de congestionamento para 1 MSS? Agora aqui,esta confirmação duplicada; significa que alguns segmentos ainda estão fluindo na rede, não é como que você não seja capaz de enviar qualquer pacote. Assim, se você está tendo umtimeout de retransmissão.  Então, o que acontece em rápida recuperação, que você configurou o limite de início lento para uma metade da janela de congestionamento atual, retransmita o segmento ausente que é o primeiro retransmitir.Então você configura o limite de início lento para a corrente, aí você configura a janela de congestionamentopara o limite de início lento atual mais 3. Por que 3, por ter recebido trêsconfirmação duplicada que significa, o receptor já recebeu mais três pacotes. Assim, isso significa, você pode aumentar a janela de congestionamento, e enviar mais três pacotespara a rede, pois isso foi recebido pelo receptor, embora fora da ordem.Então, aqui se você comparar com a variante TCP Reno, não estamos fazendo a janela do congestionamento. Então, o TCP Reno, ele torna a janela de congestionamento novamente para 1 MSS e, em seguida, apliqueretardo de início lento até o início lento, até o limite de início lento e, em seguida, aplica o aumento de aditivo. Então, aqui estamos aplicando aumento aditivo muito mais rápido, que ajudaráa atingir o ponto de operação que muito mais rápido comparado com o TCP Reno devido à implicaçãodeste algoritmo de recuperação rápida e evitando a lenta fase de início, novamentesempre que você estiver detectando um congestionamento por meio de um tempo limite de retransmissão, então você sempre configuraa janela de congestionamento para um 1 MSS, e comece com o limite de início lento, pois umcomeça com a fase inicial lenta, pois um tempo limite de retransmissão dará você umindicação de que um congestionamento grave foi acontecido. E sempre que houver um grave congestionamentona rede, é sempre melhor começar com uma taxa muito baixa que significa,configurar o valor da janela de congestionamento para 1 MSS, então essa é a diferença ampla.Então, se você está detectando o congestionamento por um tempo limite de retransmissão, você configura o valor da janela de congestionamentopara 1 MSS. Aplique o início lento, sempre que você alcançará o valor de início lento atual do, que é a metade da janela de congestionamento que foi detectadadurante a detecção de congestionamento, e depois aplicar aumento aditivo. E se você estiverdetectando um congestionamento através de tripla confirmação duplicada, você não precisa deexecutar novamente a fase de início lento, pois algum pacote ainda está fluindo na rede,você aplica diretamente a recuperação rápida e, em seguida, move-se com o aumento aditivo. Então, esta é a variantedo TCP Reno.Depois disso, muitas outras variantes do TCP entraram em existência como TCP new Reno, entãoTCP confirgement ou SACK, portanto originalmente há o protocolo TCP normal,ele usa o princípio de go back N flow control princípios ou go back N ARQ princípio.Considerando que, o TCP SACK a variante de confirmação seletiva do TCP, ele funciona como princípio deste ARQ de repetição seletiva, em que explicitamente enviamos o pacote SACK paraindique que qual pacote foi perdido. E o remetente retransmite que pacotes semenviando todo o pacote da janela atual.Então, há muitas variantes do TCP. E depois disso, muitas das variantes também vieramem prática. Então, eu não vou aos detalhes de todas essas variantes. Se você estiver interessado,você pode ir com isso. A noção básica de controle de congestionamento do TCP é esta três fases, o início lento deseguido pela evasão de congestionamento, depois a rápida recuperação, e o rápidoretransmitem. E depois disso, as pessoas incorporaram poucas outras otimizações. Assim, se vocêestiver interessado, você pode olhar para os RFCs para (Consulte o Tempo: 36:26) conheça-os em melhor.Então, isso nos dá uma visão ampla dos algoritmos de controle de congestionamento, que estão láno TCP. E demos a você uma descrição bastante detalhada do protocolo da camada de transportejunto com um foco neste TCP. Então, como eu mencionei que uma quantidade enorme ouaté mais de 90 do tráfego de internet, ele realmente usa um protocolo TCP. E o TCPé possivelmente o protocolo mais amplamente implantado na internet o protocolo da camada de transporte eminternet, mas bem há certos aplicativos na internet que usam UDP, que faznão suportar confiabilidade, controle de fluxo, controle de congestionamento, como como o TCP.Então, na próxima classe, vamos analisar os detalhes do protocolo UDP.Então, obrigado a todos por participar desta aula. Veja você de novo.