Loading

Module 1: Camada de Transporte

Nota de Estudos
Study Reminders
Support
Text Version

Camada De Transporte: Confiabilidade

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

    +

Camada de Transporte: Confiabilidade
Bem-vindo de volta ao curso sobre Redes de Computadores e Protocolo de Internet. Assim, nas últimasturmas você pesquisou vários serviços em camada de transporte da pilha de protocolos, e nósanalisamos em detalhes o estabelecimento de conexão e o procedimento de finalização de conexão. Então, hoje olhamos para o segundo serviços que é o controle de fluxo e a confiabilidadeem camada de transporte.(Consulte o Tempo de deslizar: 00:40)Então, o controle de fluxo e confiabilidade garante que sempre que você estabeleceu certa conexão determinar conexão entre os dois hospedeiros remotos, portanto, em cima dessa conexão, agoravocê precisa enviar uma sequência de dados.Então, em camada de transporte no tipo de protocolo TCP você o envia em forma de seqüência debytes. Por outro lado, em certa versão dos protocolos de transporte, os dados são transmitidosna forma de sequência de pacotes ou sequência de segmentos. Assim, neste fim de finalizarconexão que está sendo estabelecida nas duas finais dos dispositivos, os dois dispositivos finais,aqui nosso objetivo é o primeiro objetivo é que o emissor não deve enviar mais dadoscomparar com o que o receptor pode receber.Então, esta metodologia em particular ou esta filosofia em particular, chamamos como um algoritmo de fluxo de controle de fluxo. Assim, o algoritmo de controle de fluxo garante que o remetente esteja sempre ciente sobreo que um receptor pode receber ou quanto de dados o receptor pode receber. E, assim,o remetente ajustou sua taxa de transmissão, de tal forma que não supera a taxa emque o receptor pode receber. Ao mesmo tempo, como já discutimos anteriormente que a camada inferior deda pilha de protocolos é meio não confiável.Então, sempre que a camada de rede encaminha pacotes ou encaminha dados para um host remoto, a camada de redenão garante que haja uma espécie de guaraná ou garantia de que seus dadosserão entregues na outra extremidade. Por isso, ele faz uma melhor tentativa de entregar seus dados com base noseu endereço de destino e descobrir o lúpulo intermediário através do qual o pacoteprecisa ser entregue. Mas por outro lado, essa camada de rede não se incomoda comque o quanto os dados precisam ser empurrados para a rede ou o quanto de dados precisam sertransferidos.E como resultado o que acontece em uma rede de comutação de pacotes que descrevi na última classe, que os buffers intermediários, nos dispositivos de rede intermediários que nos roteadores, eles podem ficar preenchidos e você pode experimentar um buffer sobre fluxo daquelesroteadores intermediários. E por causa disso sempre que estiver entregando um dado através desta camada de redeusando o método de entrega IP, há sempre uma possibilidade de que umnúmero considerável de quadros de dados ou de segmentos de dados, eles estejam sendo eliminados doda camada de rede.Agora, a tarefa da camada de transporte é considerar que para descobrir ou para saber sedeterminados dados foram transferidos corretamente na outra extremidade ou não e se ele não fortransferido na outra extremidade corretamente, então aplique esse mecanismo de confiabilidade para garantir quetoda mensagem que é enviar pelo aplicativo camada que está sendo entregue na outra extremidadeeventualmente.Então, a ideia ampla é que você percebem o canal, você sentindo a mídia para descobrir seos dados estão sendo transmitidos corretamente ou não, se os dados não estão sendo transmitidoscorretamente, isso significa, a outra ponta não é capaz de receber os dados. Se você for capaz de encontrarele fora, então retransmita os dados para ter certeza de que eventualmente os dados são recebidos pelooutro receptor final.Agora, em uma camada de transporte típica esse controle de fluxo e confiabilidade são implementadosjuntos. Então, olhamos para o diferente mecanismo através do qual implementamos o controle de fluxoe os algoritmos de confiabilidade sobre a camada de transporte de uma pilha de protocolos TCP/IP.Então, vamos prosseguir com o mecanismo detalhado daquele.(Consulte o Tempo do slide: 04:25)Então, esta é a ideia ampla de garantir a confiabilidade. Por isso, como mencionei que sua camada de redelhe fornece um canal não confiável. Assim, a camada de rede nãogarante que o pacote que ele está tentando entregar na outra extremidade ele será eventualmentetransmitido. Então, há sempre uma possibilidade de estouro de buffer dos roteadoresintermediários por causa da qual há possibilidade de perda de dados.Agora, estamos nós estamos tendo alguma função hipotética ou método hipotético que éatravés do qual estamos fazendo uma interação entre diferentes camadas para fazer vocêentender sobre todo o procedimento. Agora se você apenas pensar na perspectiva do aplicativo, o aplicativo sempre quer ou o aplicativo sempre tentar ter uma metodologiaatravés da qual você será capaz de garantir confiabilidade.Então, isso significa, o aplicativo sempre quer que se um remetente for ou um processo de envio forenviando determinada mensagem ou determinados dados, esses dados serão eventualmente recebidos pelo receptor. Assim, o receptor receberá todas as mensagens. Então, você pode simplesmente pensar em um aplicativocomo uma transferência de arquivos. Assim, todo o grande arquivo é dividido em vários chunks eentão o processo remetente enviando os bits de dados para esse arquivo.Agora, no end receptor você precisa garantir que todos os dados que são enviados pelo remetenteque é recebido eventualmente você não conseguirá reconstruir o arquivo inteiro.Então, é por isso que a partir da perspectiva do aplicativo, a confiabilidade é de mais importância paramuitos do aplicativo. Mas como já mencionei anteriormente que eles existem um certo grupode aplicativos onde a confiabilidade é não é tão importante; em vez de entregaros dados ou entregar as mensagens mais importante dentro de um tempo ou duração predefinida.E nesse casos utilizamos UDP tipo de protocolos em que a confiabilidade não é uma preocupação ouconfiabilidade não é usada. Mas, para o aplicativo, para o conjunto de aplicativos quando a confiabilidadeé uma preocupação, durante esse tempo o aplicativo sempre espera que os dados ou a mensagemque é transferida do aplicativo, eles serão eventualmente recebidos no lado do receptor.Agora, o aplicativo aqui espera um canal confiável. Então, a questão vem que a sua camada de redenão é confiável. Por isso, nesses canais não confiáveis, como você pode expressar oucomo pode escrever uma metodologia para garantir a confiabilidade. Então, a ideia é lá que na camada de transporte, você tenha esse protocolo de transferência de dados confiável no lado emissor e o lado do receptor.Então, este envio de processo de envio na camada de rede ele não é confiável enviar “ udt_send () ”,que expressam uma maneira não confiável de enviar os dados. Em cima disso você está implementaeste mecanismo de confiabilidade que está garantindo que dados confiáveis enviem em cima da camada de transporte.Então, sempre que você estiver fazendo uma intervirada entre a camada de rede na camada de transporte, lá você tem esse envio de dados não confiável e na interface da camada de transporte ea camada de aplicação, você tem a interface de dados confiável enviar.Agora, na outra extremidade ele recebe os dados de uma maneira confiável devido a este mecanismo de envio de dados confiávelque está lá e este protocolo de transferência de dados confiável no lado do receptor, eventualmente ele receberá a mensagem e ele entregará os dados para a camada de aplicação.Então, dessa forma a camada de aplicação sempre esperará uma entrega confiável das mensagens.E aqui veremos que na camada de transporte, como você pode implementar este mecanismo de doisno lado emissor, e no lado do receptor o que irá ajudá-lo a garantir a confiabilidadeno sistema.Então, vamos analisar esse processo em detalhes. Então, como eu como eu discuti anteriormente durante a discussãode uma camada diferente da pilha de protocolos TCP/IP, que certos serviços sãoimplementados em várias camadas da pilha de protocolos. Assim, esse controle de fluxo e errocontrolam estes são os dois mecanismos que são implementados tanto na camada de transportequanto na camada de link de dados. Então, a questão vem aí, por que precisamos implementar o controle de fluxona camada de transporte assim como a camada de link de dados.Então, se você apenas fizer a pergunta dessa forma que nos deixa supor que eu tenho o meu algoritmo de controle de fluxona camada de link de dados que está sendo implementada, preciso tero algoritmo de controle de fluxo na própria camada de transporte?(Consulte o Tempo do slide: 09:05)Então, deixe-nos analisar um exemplo em que você tem esse algoritmo de controle de fluxo na camada de link do dados. Então, a camada de link de dados garante esse hop by hop flow control algoritmo. Assim, comoaprendemos já que o seu protocolo de camada de link de dados, ele garante o hop by hopprincípios, o hop by hop transmissão de dados onde como camada de transporte, ele garante o final completo depara finalizar a entrega dos dados. Agora sempre que estamos dizendo que o algoritmo de controle de fluxoé implementado na camada de link de dados, é como se esse salto de hop by hop flowcontroles sejam implementados.Então, se você pensar sobre isso como os roteadores intermediários R1, R2 e R3 e esta é a fontee esta é a destinação final. Então, esses algoritmos de controle de fluxo na camada de data link, ele garante que você tem mecanismo de controle de fluxo entre S e R R1 entre R1e R2 entre R2 e R3 e entre R3 e o D.Agora assim, este hop by hop flow control algoritmos estão lá. Agora a pergunta vem se euter esse algoritmo de controle de fluxo de pulo by hop, eu ainda preciso ter um algoritmo de controle de fluxona camada de transporte? Agora é só pensar em um cenário que bem este link de S paraR1, ele é 10 mbps; o link de R1 para R2, ele é 5 mbps; os links de R2 para R3, são 3mbps e o link de R3 para este D este é 1 mbps.Agora, o que acontece aqui que sempre que você está implementa este hop by hop flowcontrole na camada de link de dados, então de S a R1, o S descobre que bem eu posso enviar os dadosa uma taxa de 10 mbps. Então, ele envia os dados a uma taxa de 10 mbps. Mas então o R1 descobreque não será capaz de enviar os dados para R2 a uma taxa de 10 mbps, embora esteja recebendoos dados a uma taxa de 10 mbps, mas que requer 5 mbps de transmissão. Similarmente R2 ele encontrafora que não será capaz de enviar dados a uma taxa de 5 mbps; em vez disso precisa enviar os dadosem 3 mbps e finalmente, de R3 para D ele só pode enviar os dados a uma taxa de 1 mbps.Agora, se S não souber que esta inteira, portanto, se você olhar para a taxa efetiva destetodo fim para o caminho final. Assim, essa taxa efetiva de todo esse caminho final para o fim do caminho será igual a1 mbps. Agora se S não obter essas informações, S tentará empurrar os dados a uma taxa de 10mbps e o que vai acontecer que R1 não conseguirá entregar os dados para R2 e assim por diante.Então, dessa forma que dados adicionais que estão chegando a R1; assim, R1 está recebendo os dados a uma taxa dede 10 mbps, mas só é capaz de entregar os dados a uma taxa de 5 mbps. Assim, que como umresulte esse dado adicional que ele está recebendo, ele irá obter no preenchimento do espaço tampãoque está disponível em R1 e eventualmente o que vai acontecer, que eventualmente iremosexperimentar a perda de dados do buffer devido ao buffer over flow.Então, haverá uma enorme quantidade de perda de dados porque fonte está transmitindo dados a uma taxade 10 mbps, mas o receptor a outra extremidade, o receptor só é capaz de receber dados a uma taxade 1 mbps. E como resultado este 9 mbps de dados que serão acumulados sobre as diferentes camadasde buffers em diferentes roteadores intermediários; e depois de algum tempo ele experimentará uma queda dede dados desses buffers intermediários, e esta a razão pela qual não somos capazes deimplementar. Se implementamos este algoritmo de controle de fluxo apenas na camada de link de dados para ohop pelo controle de fluxo de hop, ele não é suficiente. Temos que implementá-lo na camada de transporte.Agora, vamos olhar para o outro modo ao redor-como você tem esse algoritmo de fim de controle de fluxoe nesse caso, ainda nós ainda precisamos que esse algoritmo de controle de fluxo em datalink camada ou não. Agora em camada de transporte, o que acontece que você está garantindo apenas o fimpara acabar com a entrega de dados ou acabar com o algoritmo de controle de fluxo final?(Consulte o Tempo do slide: 13:03)Então, você tem um roteador com o qual sua origem está se conectada. Aí você tem essa rede intermediária, depois outro roteador e depois o seu destino que está lá. Evocê está apenas garantindo o controle de fluxo entre esses dois host end e basta pensar no exemplo anterior deque você está enviando dados a uma taxa de 1 mbps.Agora, você só pensa em dois roteadores intermediários aqui na rede. Agora este roteador temvários portas de entrada. Então, é exatamente como uma rede rodoviária que você está obtendo dados devárias partes todas juntas. Então, você está obtendo dados deste link, você está obtendo dadosa partir deste link, você está obtendo dados deste link e assim por diante.Então, dessa forma pode acontecer que o link esteja empurrando dados a uma taxa de 1 mbps, mas estelinks individuais podem empurrar dados a uma taxa de 2 mbps e dizer que este link está empurrando dados a uma taxade 5 mbps. Mas este vai ligar que só tem uma velocidade de dizer 3 mbps. Nesse casoporque esse múltiplo link de entrada está sendo convergente em um roteador intermediário, ele podeacontecer que a taxa de entrada total que está sendo lá de vários outros recebidoslinks que está saindo da capacidade total de saída que o roteador tem. E por causa dissoesse fim para acabar com o algoritmo de controle de fluxo, ele pode se apresentar mal neste tipo de cenário. Então,é por isso que para fazer com que ele controle ter um controle, você precisa de hop pelo controle de fluxo de hopmecanismo na rede. Mas aqui você verá aplicando este hop by hop flowalgoritmo de controle na rede. Então, qual seria a sua tarefa? Sua tarefa seria parareduzir a taxa de entrada em cada salto individual tal que os roteadores intermediários sãoexperimentam menos congestionamento, menos quantidade de congestionamento.Então, ao fazer isso você está aprimorando efetivamente o desempenho do sistema, maslembre-se que, mesmo depois de implementar o controle de fluxo hop by hop, pode não serpossível para garantir a confiabilidade completa que uma eliminação completa de perda de dados. Porque você está recebendo dados de vários lúpulos e a cada, onde há um tipode estimação acontecendo que o que deve ser a taxa ideal em que aquele garante enviar os dadosna outra extremidade, e esta é a estimativa leva algum tempo. Assim, antes que os sistemasse movem para a convergência há sempre uma possibilidade de ter uma quantidade significativa de perda de dados.Então, você não conseguirá eliminar completamente a perda de dados aplicando este hop pelo mecanismo de controle de fluxo de hop, mas certamente você pode melhorar o desempenho. E isso éa razão pela qual dizemos que o mecanismo de controle de fluxo, o controle de erro que discutiremos mais adiante.
Camada de Transporte: Confiabilidade-Parte 2
O controle de fluxo e este mecanismo de controle de erro na camada de transporte; sãoessenciais enquanto que o controle de fluxo e o mecanismo de controle de erros e a camada de dados linkmelhoram o desempenho do seu protocolo.Agora, vamos analisar diferentes tipos de algoritmos de controle de fluxo e antes de ir para isso,por que exigimos esse tipo diferente de fim para finalizar protocolos na rede. Por isso, para issosugiro a todos vocês que leiam através deste papel específico que foi o qual foi publicadopor Saltzer Reed e Clark. Por isso, é um papel fundamental no Computer Networking quefala sobre isso, por que você exige esse tipo de fim para acabar com protocolos na internetquando há esse hop by hop protocolos já existentes. Por isso, sugiro a todos vocês que leiameste determinado papel para obter mais detalhes sobre os princípios que você é adotado na pilha de protocolos TCP/IPpara implementar esse tipo de fim para finalizar protocolos sobre a internet.(Consulte o Tempo do slide: 17:02)Agora, vamos olhar para este algoritmo de controle de fluxo. Então, o algoritmo de controle de fluxo mais simplesque temos, chamamos como um algoritmo de controle de fluxo de parada e de espera. Assim, o algoritmo de stop e waitflow control em um canal livre de erros funciona da seguinte forma. O protocolo é bemsimples-que você envia um quadro ou envia um pacote e então, você espera por sua confirmação.Então, uma vez que o receptor recebe este quadro, ele envia de volta uma confirmação e o remetenteele aguarda a confirmação antes de enviar o próximo quadro ou o próximo pacote. Então, uma vez que você está recebendo essa confirmação, então você só envia o próximo quadro. Assim, dessa forma todo quadro tem uma confirmação associada a ele e apenasquando você receber a confirmação você transmite o próximo quadro.Agora, se for um canal livre de erros sempre é garantido que eventualmente o receptor iráreceber o quadro e ele poderá enviá-lo de volta a confirmação e o remetenteacabará recebendo a confirmação, pois é um canal livre de errose não há perda. Assim, uma vez que você está recebendo a confirmação, você tem certeza queo receptor recebeu este quadro em particular e assim, você transmite o próximo quadro.Então, essa é a ideia ampla desse protocolo de parada e espera. Então, você para depois de enviar a transmissão, comece a enviar o próximo quadro, depois de enviar um quadro então, aguarde a confirmação; uma você recebeu a espera, então você envia o próximo quadro.(Consulte o Tempo do slide: 18:21)Agora, deixe-nos olhar para este algoritmo de controle de fluxo em um canal ruidoso, a mesma Stop eProtocolo de espera. Por isso, aqui utilizamos o conceito de números de sequência para identificar individualmentecada quadro e o reconhecimento correspondente. Assim, todo quadro está associado aum número de sequência. Então, se você olhar para este exemplo, este quadro 0 está associado a um número de sequência. Então, este 0 é o número de sequência para este quadro e então, nós estamosrecebendo um reconhecimento. Então, esse mecanismo de confirmação ele está enviandoconfirmação 1; ele está enviando confirmação 1 significa que B tem corretamenterecebeu o quadro 0 e então ele está esperando o quadro 1.Então, então você envia o quadro 1. Então, uma vez que você tem B tem recebido quadro 1, então ele enviareconhecer 0; isso significa, B recebeu o quadro 1 e ele está esperando o reconhecimento0. Então, dessa forma em um canal barulhento, o primeiro motivo é o primeiro princípioé que você separe a cada quadro com usando o número de sequência correspondenteque irá identificar com exclusividade cada frame do canal.Agora, por ser um canal barulhento, existe a possibilidade de ter uma perda de quadro porqueeste quadro está sendo perdido da rede. Então, se houver perda de quadro, por isso não enviaremosde volta qualquer confirmação. Então, você espera por um valor de tempo limite. Então, A aguardará um valor de tempo limitee uma vez que este tempo limite expirar, então A vontade retorna com o quadro.Agora, uma questão interessante aqui é que o que pode ser o tamanho máximo da sequêncianúmero em stop e esperar? Por isso, em parada e espera você pode ver que em uma instância do tempo,apenas um quadro pode ser pendente na rede. Assim, sempre que você tiver o envio do quadro 0,a menos que você esteja obtendo a confirmação a partir desse quadro; você não enviará o próximo quadro. Então, é por isso que 2 bit número de sequência será suficiente e por causa dessa razãovocê pode ver a partir desse diagrama que, a cada frame está associado a um número de sequênciae os números de sequência são 0 ’ s e 1 ’ s. Assim, repetidos 0 ’ s e 1 ’ s so; que significa,sempre que você tiver envio frame 0, a menos que você esteja obtendo esta confirmação com o quadro 1 esperado 1; você não enviará quadro 1.Então, sempre poderá ter certeza analisando a confirmação que para a qualframe esta confirmação corresponde. Se você está obtendo um reconhecimento 1;que significa, você recebeu corretamente o quadro 0 e está esperando do para o quadro 1.Então, essa é a razão pela qual usamos 2 bit número de sequência para um este algoritmo de controle de fluxousando stop e wait e este tipo de algoritmo onde estamos utilizando o número de sequência dee aplicando algoritmo de controle de fluxo em caso de um canal ruidoso, evocê pode ver que aplicando este algoritmo de controle de fluxo em um canal ruidoso, também estamosgarantindo confiabilidade no sistema.Então, também estamos garantindo que o receptor receba todos os quadros corretamente. Então, se houverse um tempo limite ocorrer então você retransmite esse quadro novamente. Então, que esse quadro 0 eventualmentereceba pelo receptor B. Então, dessa forma você também está garantindo confiabilidade no sistemae esse algoritmo de controle e confiabilidade de fluxo todo juntos, chamamos como automáticoalgoritmos de repetição ou algoritmos ARQ.Então, agora em diante nós olhamos para esses algoritmos ARQ em detalhes, as diferentes versões oua diferente variância de algoritmos ARQ.(Consulte o Tempo do slide: 21:41)Bem, portanto, este é um tipo de implementação do lado do remetente e espera ARQna forma de um diagrama de transição de estado.Então, aqui a coisa é que esta você pode pensar no estado inicial. Então, o estado inicial falasobre isso você espera a chamada 0 de cima; isso significa, você está esperando o quadro 0inicialmente. Então, o evento que está lá é do lado do remetente. Então, você é da camada de aplicaçãoque está enviando uma entrega de dados confiável. Agora uma vez que isso as coisas acontecem.Então, no lado da camada de transporte, você está fazendo uma chamada para entrega de dados confiável para enviar comesses dados.Agora, como ele garante a entrega de dados confiável? Então, você precisa mapear este rdt para a chamada de udt correspondenteporque se você lembrar que mais cedo, vimos que na camada de redeas chamadas são chamadas não confiáveis como esta udt chama. Assim, para isso o que você éfazendo que está anexando um número de sequência com este pacote você está fornecendoos dados e alguns verifica algum checksum, discutiremos mais adiante para garantir o errotransmissão gratuita dos dados. Em seguida, você está enviando os dados sobre o canal não confiável einiciando o cronômetro.Agora, sempre que estiver aguardando a confirmação 0, você está se deslocando para o estadoque você enviou o pacote 0. Assim, você está aguardando o reconhecimentocorrespondente. Então, aqui uma vez que você está recebendo um pacote e se você está descobrandoque o pacote está corrompido e nesse caso, você está no mesmo loop, você novamente espera porum reconhecimento. Se ocorrer um tempo limite, então novamente você envia o pacote, você retransmiteo pacote através deste mecanismo de envio de udt. Você retransmite o pacote e inicia o cronômetronovamente. E então uma vez que você está recebendo a confirmação, então você se desloca para este estado, que espera por chamada um porque você recebeu essa confirmação, agora vocêquer enviar o próximo quadro que é o quadro 1. Então, nesse caso você recebeu o pacoteda camada superior e uma vez que você recebeu esse pacote e aquele pacote não é um pacote corrompidoe é o reconhecimento corresponde ao quadro 0. Então, você estáse mudando para este estado. Uma vez que você está neste estado nesse caso, você está esperando por recebero pacote da camada superior. Então, uma vez que você tenha recebido o pacote da camada superior, então você faz esta chamada de envio com os dados com este quadro 0 e o mesmo processose repete que você anexa este número de sequência; sequência número 1 juntamente com os dadose o checksum correspondente e, em seguida, envia o pacote através do canalnão confiável. E você se move por esperar aquele reconhecimento correspondente. E omesmo processo se repete, que se você está recebendo os dados e o pacote está corrompido,você está neste laço. Se ocorrer um tempo limite, então você transmite o pacote novamente e inicie o cronômetronovamente e então sempre que estiver recebendo a confirmação; isso significa, vocêestá recebendo um pacote não corrompido e você recebeu a confirmaçãocorresponde ao cronômetro e aguarde o cronômetro e aguarde por este quadro 0.Então, dessa forma você envia este frames um após outro quadro 0 ’ s e frame 1 ’ s, um apósoutro e você se move através deste diagrama de transição de estado para enviar os pacotes um apósoutro. E garantir o controle de fluxo adequado juntamente com a confiabilidade no sistema.(Consulte o Tempo do slide: 25:19)Bem assim, vamos analisar os problemas que estão associados ao tipo de parada e de espera do algoritmo de controle de fluxoou ARQ. Em stop e wait ARQ, em primeiro lugar todo pacote precisa deesperar pela confirmação do pacote anterior. Assim, até que você esteja recebendo a confirmaçãopara o pacote anterior, você não poderá enviar o próximo pacote.Agora, para se você pensar em conexões bidirecionais, para conexão bidirecional, vocêpode usar duas instâncias de parada e espera. Uma instâncias de parada e espera garantirá umainstâncias de parada e espera garantirá a transferência de dados de A para B e outrainstâncias de parada e espera garantirá a transferência de dados de B para A, mas esta será novamenteresultará em um desperdício significativo de recursos da rede que para ambos os lados você tem que esperarpara a confirmação.Então, uma solução possível para resolver este problema específico é que você pode piggyvoltar dadose confirmação de ambos a direção. Mas mesmo se você for piggybacking datae confirmação para as duas direções, então piggybacking aqui significa quesempre que você estiver enviando um quadro de dados, juntamente com o quadro de dados, você também adiciona a confirmação.Então, esses dados dizem que isso está indo para sequência um e junto com os dados com sequênciaum você envia a confirmação para o anterior que está vindo de B a A.Então, é assim que diz que este é B e este é A. De B a A você está enviando um pacote de dados;para B a A sempre que estiver enviando um pacote de dados digamos que A tem anterior envie um pacote para B.Você está enviando a confirmação junto com sempre que estiver enviando o pacote de dadospara A.Então, embora esse mecanismo de piggybacking seja mais eficiente comparado aeste usando estas duas instâncias de stop e wait, mas ainda assim está desperdiçando uma enorme quantidade de recursoporque para todos os pacotes é necessário aguardar a confirmação.Então, você não conseguirá fazer paralelmente transmitir os pacotes na rede. Assim, para resolver este problemautilizamos uma classe de algoritmos de controle de fluxo que chamamos como o protocolo de janela deslizante. Assim, os protocolos de janela deslizantes são um protocolo de linha de tubo em que você pode enviarvários quadros ou vários pacotes por completo sem esperar pelo reconhecimentocorrespondente. Assim, você pode enviar diversos quadros e todos os quadros podem ir em uma forma de pipelined.(Consulte o Tempo do slide: 27:49)Então, uma ideia ampla desse protocolo de janela deslizante é algo assim. Se você olhar para oo protocolo de parada e espera, portanto, o protocolo de parada e espera você está enviando apenas um pacote de dados. Assim, apenas um pacote de dados pode ser pendente na rede.Então, uma vez que este pacote de dados é recebido por este receptor, então este receptores enviam de volta oACK e uma vez que você está recebendo aquele ACK no remetente, então somente você conseguiráenviar o próximo pacote de dados. No caso do meu protocolo de pipeline ou do protocolo deslizante, o que fazemos que podemos enviar uma sequência de pacotes e paralelmente podemosreceber a sequência de confirmação.Então, dessa forma poderemos utilizar esse conceito de pipeline sobre a rede onde vocêpoderia ser capaz de enviar uma sequência de pacotes todos juntos e paralelmente você pode receber uma sequência de confirmação. Assim, dessa forma, você será capaz de utilizar o recurso de redede forma mais eficiente porque hoje em dia, agora com essa abordagem particular de deslizamento de protocolo de janela, você estará garantindo que mais número de pacotes podem ser empurrados para a redese a rede tiver essa grande capacidade. E paralelmente seremos capazes dereceber a confirmação e você conseguirá ajustar sua taxa de transmissãoadequadamente para que você possa receber os pacotes corretamente na outra extremidade.Então, esta é a ideia ampla do protocolo da janela deslizante. E na próxima turma olhamospara esses protocolos de janela deslizantes em detalhes.Então obrigado a todos por frequentar a aula.