e vamos agora para o sexto item dessa apresentação que são os princípios de controle de congestionamento que são um condicionamento acontece quando existem muitas Fontes enviando muitos dados mais rápido do que a rede consegue hidratar isso é diferente do controle fluxo não controle de fluxo e a tua quando o receptor não consegue consumir os dados são rápido quanto o emissor consegue enviar é um condicionamento tem mais a ver com a rede como a rede como um todo né não com os hospedeiros as manifestações que nós podemos perceber de ter uma rede está congestionada são os
pacotes perdidos canal estouro de buffer nosso até a Dores Então se um pacote não chega e precisa ser retransmitido é um sinal de que ir né a rede pode ser aconteceu nada e longos atrasos né você percebe que a latência né o tempo de volta de um pacote começa a aumentar muito é por causa das filas no buffer dos roteadores que estão no caminho bom então até agora nós vimos como tratar os casos de pacotes Perdidos na como consertar aí o problema depois que ele já aconteceu mas a gente ainda não viu como que a
gente pode me ligar o problema do condicionamento como que a gente pode fazer para que o condicionamento não honra em primeiro lugar né bom então é isso que nós vamos ver nesses princípios de controle condicionamento Esse é um dos dez maiores problemas e reses computadores né Então muitos pesquisadores em resposta a Dores estão tratando do problema de congestionamento tanto assim né que ao longo dos anos o TCP tem recebido a várias extensões para tratar especificamente aí do do problema do congestionamento tá então modelo existe lá o protocolo TCP existe lá desde os anos 80 mas
basicamente o que que vem sendo estudado até hoje né Novas Novas versões novas extensões é a questão do condicionamento porque esse é um problema muito importante em redes de computadores e vamos imaginar primeiro um cenário bastante idealizado em que nós temos dois emissores e dois receptores um roteador onde o buffer pode ser infinito tá tem uma memória infinita aqui para armazenar buffer a capacidade de glace de saída no enlace saída r e não existe a transmissão vamos assumir também que não tem sobrecarga de protocolo tá que os pacotes eles a todos os dados aqui com
ser colocado sou pacote vai ser gerado do tamanho dos dados sem uma sobrecarga e vamos supor que os dois escrever eles estão enviando a uma taxa de lambda in pace umas cadeiras ó tá enviando lambda in aqui do outro lado tá chegando lambida alta né a vazão que tá sendo obtido tá então a menina que lambida em seus dois estiver enviando lado da in Avenida que leva o dain vai crescendo o lambda alto e vai crescendo mas até um limite de é dividido por dois porque você tem dois hospedeiros compartilha não é ruim então metade
para cada um então até R / 2 você consegue ainda né amiga que você aumenta a vazão a taxa que você coloca dados no enlace ele vai aumentando a saída mas chega num ponto que não dá para aumentar mais é porque você chega no limite de 100 laço aqui e Pode parecer uma boa ideia né Vamos os dois transmitir numa taxa Dr / 2 está tudo bem mas na prática não é assim que funciona gente sabe que dados são transmitidos tipicamente as abas você tem aumentos e reduções e velocidade então a medida que você vai
chegando no limite de R2 ou atraso o atraso da fila aqui ele vai crescendo exponencialmente tá ficar inviável de trabalhar quando você tá muito perto do FBI por dois aqui além disso se você ceder né esse limite aí nesse caso você está criando uma fila que tende ao infinito também mas supondo que os dados vão ser enviados de maneira constante que nunca vai parar e ter das para transmitir e essa vazão aqui é constante Então essa que ela vai aumentando e vai ao infinito e Ah então dá para perceber que não não funcionaria bem não
é mesmo com o buffer limitado não faria sentido trabalhar muito próximo do limite aqui porque você vai ter uma fila aqui vai ser infinita né E aí em cima de a beleza qualquer tipo de aplicação né vai ter uma latência infinita não dá para trabalhar sim sim e vamos ver agora um segundo cenário em que nós temos um roteador com o buffer finito Então nesse caso o emissor vai retransmitir os pacotes que foram inspirados ainda assim né o lambda in vai ser igual aqui ao lambda alta os dados que você coloca aqui são os dados
que vão chegar aqui mas nesse irem lá se né não dá se aqui entre os perder o horário roteador você vai ter os dados originais e mais ou retransmitidos então você tem um plano da linha ainda aqui o lambda linha em ele vai ser maior ou igual a que eu lembro daí não dá melhor pote ele vai ser igual Mas amiga que você tem dados que precisam ser transmitidos você tá usando mais banda aqui nesse trecho é isso é um dos problemas O condicionamento você acaba usando mais banda aqui tá mas supondo ainda que você
está limitado pelo R aqui né você ainda consegue essa vazão igual a vou ver aqui mas supondo que você é não é cedo R dividido por 2 a 1 mas aqui você já tá vendo um custo do condicionamento né Você tá usando mais esse link do que deveria E aí bom então se você tem um conhecimento perfeito né você indo se você magicamente conseguisse saber quanto que tem de buscar aqui e nunca enviar um pacote que fosse ser perdido então você poderia né a ter um lambda in igual a lama da linha in Porque você
só enviaria sabendo que o pacote não vai ser perdido Tá novamente Isso é uma idealização né você só envia pacotes à medida que você tem espaço de boca Livre E aí Oi e aí você tem então um lambida em igual lambda ao que até o limite Dr dividido por 2 a 1 é mas a ser gente complicar um pouquinho né vamos saber agora aqui na prática a gente não tem como saber se o roteador tem um não espaço em fila então nós temos que transmitir ver se vai acontecer uma perda vamos supor que a gente
tem uma perda conhecida que a gente só vai retransmitir dados quando a gente sabe que o pacote foi perdido então um pacote pode ser perdido descartado no roteador devido ao banco cheio e o emissor envia só se ele sabe que o pacote foi perdido ele não vai nunca fazer uma retransmissão à toa uma retransmissão só porque eu dado tava atrasada Então nesse caso novamente temos as originais das originais mais dados são transmitidos e e você vai fazer uma cópia ali dos dados e se não tem espaço embora foi você perde o pacote E aí você
vai ter que fazer bom então agora vemos o caso em jogar foi está livre e aí o pacote vai passar sem precisar de nenhuma retransmissão nesse caso nós temos então o lambda in que são usados originais mais os dados são transmitidos e eventualmente Então vai precisar ter algumas é transmissões por isso que quando você chega perto do limite Dr / 2 você vê que o lambda in ele aumenta mais o lambda Audi começa não aumentar tanto né Você tem uma queda de desempenho aqui por causa das retransmissões mas ainda você tem uma vazão efetiva assintótica
e tende a era dividido por 2 é uma se você a força que as transmissões mais transmissões né você coloca um login ou o próximo Dr devido por dois você ainda consegue um lambda out também próximo de ar / 2 mesmo com as retransmissões isso porque você não tá fazendo nenhuma retransmissão de dado que não tenha sido efetivamente perdido né ou seja aqui você ainda tá usando da aqui você não tem ainda nenhum dado duplicado Você só tem a rica deve perda daqui para cá ainda você consegue chegarem aqui devido por dois porque não tem
nenhuma redundância só que Note que na prática isso não vai ser possível de acontecer bom então aqui né a gente tem um gud.pet que é a vazão desconsiderando as retransmissões e cabeça áreas então a gente ainda tem um um grande porte igual pode ser original é mas na realidade o que acontece é que vão ter casos de dados duplicados por que eventualmente você vai mandar pacote que vão ser perdidos descartados no roteador devido alguma perfeio e às vezes você vai fazer retransmissões por causa do timer que inspirou né você coloca um temporizador lhe expira prematuramente
Aí você envia uma segunda cópia e não era necessária as duas vão ser entregue Então nesse cenário você tem então uma um pacote você vai ser enviado que tem espaço livre em buffer eq né ele vai enquanto ele está ainda no caminho ocorre um time mal se você retransmite assim mesmo pacote aí chegou dois pacotes iguais aqui no destino duas cópias foram entregues Então nesse caso você já não consegue mais chegar no R Guido por dois porque a menina que você tá chegando mais vida por dois você começa a ocupar esse ah e também com
retransmissões E aí essas e transmissões impedem que ir né o gol de pet chegue ao our divido por dois né você aumenta à medida que você aumenta e se lembre da minha in alguns pacotes vão ser perdidos de fato mas outros vão passar e vão ser duplicados aqui você nunca vai chegar com o lambda alta em R divido por dois um cenário real por causa das retransmissões bom então aqui nós vemos mais um curso do condicionamento que é o trabalho maior por conta das retransmissões para uma dada vazão efetiva Então você vai ter retransmissões necessárias
onde o enlace vai carregar a múltiplas cópias do pacote E isso reduz a vazão efetiva bom então agora vamos ver um terceiro cenário em que existem quatro emissores e caminhos com múltiplos saltos além de terremotos e retransmissões Então temos aqui o hospedeiro a conversando com os primeiros e temos aqui o hospedeiro de enviando dados para o hospedeiro B eu ia escrever o bem enviando dados para o hospedeiro de conhecer outro caminho o e por fim estamos a fazer os enviando os dados para os perder o ar também por isso os caminhos então quê que pode
acontecer à medida que seus perder o ar começa a enviar muitos dados aquele começa a aumentar o seu lambda in nos dados que me envia aquelas que eu devo ser também vai aumentar o nome da minha aí né que vai ter os dados originais mais o seu trânsito isso e aqui tem um buffer finito e ele tá sendo compartilhado pela conexão entre a e c e pela conexão entre de bebê então a medida que isso aqui aumenta muito o que que vai acontecer a pode acabar saturando esse enlace aqui tá Avenida que esse lambida em
aumenta excessivamente lambida em também vai aumentar e de repente vai ter a todo todo o espaço em buffer que tem nesse roteador já vai ser tomado aqui né você enviar muito muito rápido todo toda todo momento que liberar o espaço em buffer aqui ele já vai tomar Ah tá isso vai atrapalhar conexão de de comer porque bebê tá enviando aqui e tá passando por um roteador desse roteador vai ter que passar por aqui então os dados desse roteador para esse roteador competem com os dados de a para C aqui também estão passando por aqui toda
vez que um pacote ver se você adora para esse roteador a perdido né e ele precisa ser retransmitido você tem que passar esse novo pacote e por todo esse trecho aqui ó que a gente vê mais um curso de congestionamento né você tem a uma perda de pacotes aqui que não tá perdendo só nesse em lacinho né você teve todo um trabalho desperdiçado desde o início Daisy é todos os enlaces envolvidos Às vezes você sabe que um caminho pode ter muitos roteadores aí né pode ter até dezenas de roteadores no caminho entre um osso ele
outro e aí se você tem um apê o pote lá no roteador já próximo dos primeiros de rícino todo o trabalho dos roteadores que estão dali para trás foi desperdiçado né Não só esse trabalharam à toa como eles deixaram de atender um outro hospedeiro que poderia também estar enviando dados por ali então a medida que lembra ainda o da linha aí aumentam tá todos os pacotes azuis que vão chegando aqui na fila de cima vão ser perdido e aí você num certo momento né é a medida que só que tende a infinito isso aqui tende
a zero então de repente a vazão do azul vai chegar próximo de zero porque esse hospedeiro está saturando o link aqui enviando aquela vez mais então fica claro que a gente precisa ter alguma Providência com relação ao condicionamento a gente precisa fazer alguma coisa para evitar né que eu um determinado em lá se Saturno esse link e não deixe mais ninguém trabalhar porque fica pior para tu e fica pior para todos à medida que um aumenta muito a sua vazão além do que o lilás isso porta bom então em um cenário de múltiplos caminhos a
medida que você aumenta demais o seu lambda em Holambra linha in você começa a ter uma vazão que começa a cair não só você não consegue aumentar a vazão efetiva uma ela vai começar a cair por conta do trabalho desperdiçado aí de todos os roteadores que estão a caminho Então esse é outro curso do condicionamento né quando um pacote é descartado toda a capacidade de transmissão upstream que foi usada para esse pacote ela foi desperdiçado é o pacote que atravessa rede quando tá lá próxima do destino a perdido todo mundo que trabalhou para encaminhar-se pacote
trabalho à toa né seria melhor nem ter enviado o pacote porque isso pelo menos liberaria rede para fazer outra coisa então o a vazão efetiva aqui na algo de pode acabar de crescendo se você aumenta demais a e o lambda linha aí bom Existem duas grandes abordagens para o controle de congestionamento uma delas é o controle de congestionamento fim-a-fim que é feito pelos sistemas finais pelos hospedeiros sem um retorno explícito da rede nesse caso e sistemas finais eles vão inferir o congestionamento a partir delas pacotes perdidos dos pacotes atrasados e eles observam tá então quando
você percebe que muitos pacotes estão sendo perdidos ou que o atraso que estava o tempo de de volta né de um pacote de sua confirmação que estava abaixo de repente começou a aumentar muito ruim isso é um forte indício aí de que tem algo errado né que um condicionamento pode estar acontecendo e isso sem precisar né Gilmar de um guerreiro explicitamente está está dizendo isso a gente consegue ferir Então essa é a abordagem que assim e abordagem que é usada né pelo TCP tradicional tá é uma outra abordagem é abordagem de controle de congestionamento assistindo
pela rede então nesses casos os roteadores é que vão dar a dica para os sistemas finais de que há um congestionamento quando o roteador está condicionado o que que ele pode fazer cada pacote que passa por ele tem lá um bit no cabeçalho que realmente ele é 10 e aí qualquer roteador que estiver numa situação de congestionamento ele pode ajustar Civic para um que acontece quando esse pacote chega no destinatário destinatário fica sabendo que o caminho entre o remetente e ele está condicionado então no pacote que ele retorna para o remetente de confirmação o próximo
pacote ele vai dar essa dica para o remetente ou avisar olha algum roteador nosso caminho aí está condicionado então você precisa regular a taxa e olha esse esse aviso da rede né ele pode ser só um like né só uma indicação vi na área aí ou pode ser uma taxa explícita ele pode estritamente fala olha não mande mais o que é x bits por segundo porque eu não vou conseguir dar conta disso então aí ele manda uma taxa explícita para ele específico uma carta escrita em inglês apenas avisar a hora tá congestionada então existem também
duas formas né de do roteador da esse retorno uma através be modificações no pacote que tá passando por ele como esse caso do Beach né evitando o congestionamento uma outra forma ele né ele próprio Enviar uma mensagem para o remetente quando um pacote está passando por ele tá condicionado ele mesmo diz para uma mensagem direta para o remetente avisando-o olha tótora afogado aqui né mande menos dados diminua sua taxa com essa abordagem do roteador avisar diretamente ela é mais rápida né porque o pacote vai direto do roteador para o remetente se ele só a nossa
um bit de condicionamento você precisa esperar né o pacote chegar no destino eo destino retornar essa informação porque eu entendi demora um pouco mais e essa estratégia do Beach e que indica após relacionamento é usada por vários tipos de redes como a SMA Abec Beat ATM e também tem uma extenção do TCP IP que é o TCP IP e CN e ele faz uso do Bic de controle condicionamento tá então isso é uma extenção ela precisa ser habilitada nos Carreiros e nos roteadores que estão no caminho então isso só vai funcionar caso os hospedeiros suporte
em e o roteador né que está condicionado também suporte para poder é acionar esse vídeo tá então o tcp-ip esse n é uma extensão e ela pode ser usada opcionalmente né Você pode claro uma coisa não anula a outra você pode mesmo com o uso 2 cm né do bico de congestionamento você pode continuar usando a abordagem tradicional também oi oi cm de início ele não foi muito usado Porque existe alguns casos de equipamentos mais antigos e mal suplementados que quando o bicho era ajustada ele acaba recusando o pacote coisas assim mas esse problema já
foi bastante mitigado aí ao longo dos anos então hoje é o SN já já é mais seguro de ser usado né já já é usado em alguns casos mas ele precisa ser configurado no início da conexão é o uso do do RN é combinado aí entre as partes E aí ele pode ser utilizado