Loading

Module 1: Desempenho e Controle

Nota de Estudos
Study Reminders
Support
Text Version

Desempenho da Camada de

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

    +

Desempenho da Camada de Transporte
Bem-vindo de volta para o curso em Rede de Computadores e Protocolos da Internet. Por isso, na última classeolhamos para os dois serviços diferentes de camada de transporte. Então, nós temosolhamos para o estabelecimento de conexão em detalhes e depois, o controle de fluxo eprotocolos de suporte de confiabilidade como este protocolos ARQ em detalhes. Analisamos trêsvariantes de protocolo ARQ-o protocolo de parada e espera e duas diferentes janela deslizanteO protocolo ARQ volta N e repetições seletivas.(Consulte o Tempo do slide: 00:54)Então, agora, olhamos para determinados problemas de desempenho na camada de transporte e junto com issovamos pesquisar sobre como podemos melhorar o fim para o desempenho final de um protocolo oudurante a transmissão de dados. Então, aqui nosso amplo objetivo seria olhar para os detalhesde desempenho do protocolo da camada de transporte e como você pode melhorá-lo incorporadoincorporando certos recursos adicionais sobre a camada de transporte.(Consulte o Tempo do slide: 01:20)Então, as primeiras coisas que estamos indo analisar em detalhes é um parâmetro que temimpacto significativo sobre o protocolo da camada de transporte. E baseado em que você pode modificaros parâmetros de protocolo ou você pode ajustar os parâmetros de protocolo ou algum tempo ele também iráajudá-lo a escolher aquele qual variante de protocolo você deve usar em um propósito prático.Então, por exemplo, por este tempo você já conhece três variantes diferentes de protocolos ARQ; a janela deslizante ARQ, as duas diferentes janelas deslizantes ARQ voltar NARQ e seletiva repetição ARQ e juntamente com aquela parada e espera ARQ.Agora, se eu te pergunto a questão que para uma rede típica como disse algum parâmetro de redeé dado que a rede tem essa capacidade, esta fim da capacidade de ponta, este é oquantidade de atraso para transmissão de um pacote. A questão vem que pode-se dizer uma escolha viávelde qual tipo de janela deslizante particular tipo de protocolos ou se você está indo parause este protocolo de parada e espera ARQ. Por isso, que particular protocolo ARQ você está indo parautilizar para sua rede.Então, para isso, um parâmetro importante que nos ajudará nessa tomada de decisão éalgo chamado produto delay de banda larga. Assim, primeiro olhamos para os detalhes do produto de delay de largura de bandae sua implicação sobre a seleção do tamanho da janela para deslizamento de protocolo de janelabem como a escolha de escolha de protocolo particular em protocoloprojetando.Então, vamos analisar o conceito de produto delay de largura de banda. Assim, como o nome sugere queproduto de atraso de largura de banda é produto de largura de banda de link e o atraso do link. Se considerarum, fim de link final. Assim, se o seu fim de finalizar o link tem uma largura de banda de digamos 50 Kbps e ele temuma maneira de atraso de trânsito é 250 milissegundo, então seu BDP é 50 kilo bit por segundo em250 milissegundo vem para ser algo similar a 12,5 kilo bit.Então, se você só pensar no ponto de vista do segmento de TCP ou de transporte de camadas de transporte, portanto, o segmento éos dados da camada de transporte que você deseja transmitir. Por isso, se você pensar em que tem um tamanho de segmento1000 bit, então esse produto de atraso de largura de banda do BDP vem para ser algo comopara 12,5 segmentos. Então, essa é a definição de produto de atraso de largura de banda.Então, vamos analisar que como esse produto de atraso de largura de banda tem um impacto sobre o seu desempenho de protocoloou sua escolha de design de um determinado protocolo da camada de transporte. Assim,você considera o evento de uma transmissão do segmento e a recepção de confirmação correspondente. Então, essa coisa toda leva um tempo de viagem redonda. Então, o que é um tempo de viagem de volta do?Então, você tem um remetente aqui, você tem um receptor aqui; diga que este é o seu emissor, este é o seu receptore no entre vocês tem a rede. O remetente e o receptor estão conectados. Então,você transmite um quadro de dados e recebe o reconhecimento correspondente. Então, você temtransmitidos um dado e você obteve um reconhecimento. Então, esse tempo total como o momentovocê transmitia os dados de lá o momento em que você recebeu uma confirmação, se você descobrir essa diferença de cronometragem; isso irá dar uma viagem redondavez ou um RTT.Então, um RTT é basicamente o dobro da latência de um jeito. Então, porque você pode ver que ele irátomar; se a sua única forma de latência for algo similar a dizer 200 milissegundo, então ele irálevar 200 milissegundo para transferir este quadro de dados e outro 200 milissegundo para voltaro quadro de confirmação. Se você está pensando nisso não há congestionamento na redeou não há nenhum tipo de atraso ininterrupto ou atraso indesejado que é deles ema rede. Se você apenas pensar em sua rede está se comportando bem tranquilamente, não hátais componentes de atraso intermediário que aumentarão seu atraso, fim do atraso final.E o seu atraso a ponta total para finalizar o atraso pode ser aproximado com a propagaçãodelay. Em seguida com aquele conceito em particular você pode pensar nesse bem que este RTT lhe daráum tempo aproximado que qual será o seu fim para acabar com o atraso de transmissão de um pacoteporque você está enviando os dados que está recebendo o reconhecimento. Você émedindo a diferença de tempo entre eles e a partir daí você pode fazer uma estimativado RTT. Então, esse RTT se torna o dobro da latência de um jeito.Agora, se você só pensar em um link final para terminar. Então, o número máximo de segmentosque podem ser pendentes durante esta duração é igual a 12,5, esse foi o seu produto de atraso de largura de banda. O produto de atraso de largura de banda de uma forma, a largura de banda multiplicada por uma latência deforma em seu se você pensar sobre ele em 2 igual a 25 segmentos. Assim, os 25 segmentospodem ser pendentes. Por que isso é tão?(Consulte o Slide Time: 06:25)Então, vamos analisar um exemplo que se você só pensa em remetente; então, este é o seu remetentee a outra ponta você tem o receptor. Você pode simplesmente pensar nessa coisa toda, esse canal lógico inteirono entre tem um cano. Bem agora este cachimbo em particular, então sempre que você estiverpensando sobre esta comunicação de duas vias, que você está enviando dados através de um tuboe está recebendo confirmação através de outro cano, bem assim é o cano paraenviando os dados e este é o cano para obter a confirmação.Então, o número total de pedidos que podem ser pendentes dentro deste dois pipe é como a quantidade total de bits que você pode empurrar neste dois cachimbo. Agora essa latência é que comomuito tempo vai levar para transferir um pouco deste remetente para este receptor. Então, se você apenaspensar sobre a latência; assim, essa latência denota o comprimento do cano. Por outro lado,se você apenas pensar sobre a largura de banda, a largura de banda dá a área de seu, este círculo particular; isso significa, qual é a área de seção transversais deste tubo. Então, isso é significa pela largura de banda.Agora se você multiplicar a largura de banda com latência, você pode pensar nele como a quantidade de dadosque podem estar lá dentro deste tubo. Agora porque se você tem duas vias de comunicação; emuma forma como você tem os dados e outra forma você tem o reconhecimento. Assim, por um princípiodeste protocolo de janela deslizante, a confirmação preencherá este canoonde conforme os dados, preencherá este tubo, e dessa forma a confirmação que sãoenchendo esse tubo, os dados serão para aqueles reconhecimentos específicos serão armazenadosdentro do buffer do receptor porque o receptor recebeu esses dados. Então, esse buffer iráconter os dados que foram recebidos. Então, o receptor tem essa quantidade de dados e o receptorcomeçou a enviar o reconhecimento. Então, esse reconhecimento está preenchendo oup this pipe e ao mesmo tempo o remetente tem o envio dos dados que os dados estão preenchendoeste cachimbo de dados.Então, dessa forma, se o seu produto de atraso de largura de banda for, de acordo com o exemplo anterior é 12,5segmento, assim você pode ter 12,5 segmentos de dados que está preenchendo esta tubulação dizem que esses dadosestá enchendo este tubo. E outros 12, dizem outros 12,5 segmentos de dados que estão sendolá neste buffer e a confirmação correspondente está preenchendo este segundo cano. Então, dessa forma totalização 25 segmentos de dados podem estar lá o que está pendente, de modo queestá lá no link bem como que está lá neste buffer de receptor.Então, dessa forma você pode dizer que seu tamanho máximo de janela, o tamanho da janela do remetenteque pode estar lá, então se você pensar sobre isso como a janela do remetente, eu estou escrevendo como‘ swnd ’. Por isso, a janela do remetente é a quantidade máxima de segmentos que podem serpendentes na rede e para isso é possível esperar sem obter um reconhecimento. Assim, se você fizer o tamanho da janela do remetente igual a 25 segmentos, entãovocê pode ter certeza de que bem sejam quais forem os dados que você estiver empurrando na rede que os dados usarãotoda a capacidade do canal. E dessa forma você será capaz de ter certeza de que bem ele iráter, ele lhe fornecerá o máximo de utilização dessa extremidade para finalizar canal, o máximo de utilização dodo tubo que está lá no entre o emissor e o receptor.Então, isso dá um bound teórico, o máximo ligado a isso neste tamanho de janela, o tamanho de janela do emissorque lhe fornecerá a capacidade máxima. Agora apenasrelacionando-o com o número de sequência que discutimos anteriormente, a relação entreo tamanho da janela e o número da sequência, assim, uma vez que você escolhe o tamanho da janela desta forma, diga que você escolheu o tamanho da janela w desta forma. Agora assuma que você está usandoum protocolo go back N ARQ, se você estiver usando um protocolo go back N ARQ e você sabeque nesse caso, seu tamanho máximo de janela pode ser 2n-1. Por isso, a partir daí você pode descobrirque o que deve ser o que deve ser o seu espaço de número de sequência. Assim, quantos bits vocêdeve reservar para o número da sequência tal que você pode ter o tamanho de janela esperado, e ao mesmo tempo que o tamanho da janela irá preencher a capacidade final para finalizar a capacidade da rede.De modo semelhante se você estiver usando o ARQ de repetição seletiva, para um ARQ de repetição seletiva, você sabeque w é igual a 2n/2. Assim, você pode selecionar o tamanho da janela em você pode selecionar o número de sequênciade tal forma para que esta relação específica se mantenha. Assim, dessa forma sou vocêpode descobrir o tamanho máximo da janela que lhe proporcionará o máximo de utilizaçãodo canal. E, assim, você pode configurar o espaço de número de sequência paradiferente algoritmo de controle de fluxo.(Consulte o Tempo do slide: 12:16)Então, agora a coisa é que assim. Esta é a descrição que dei como idealmenteo que podemos pensar de que o número máximo de segmentos que podem ser pendentesdentro desta duração são estes 25 segmentos que é igual a capacidade do canal mais 1.Então, este mais 1 é como que a confirmação para um quadro que acaba de receber poro remetente. Então, o remetente ainda não o processou.É apenas recebido pelo remetente. Então, é por isso que adotamos este 1 aqui que te dá omáximo de utilização do link. Então, é assim mesmo que você encheu toda essa tubulaçãoe um reconhecimento acaba de receber no remetente. Então, você preencheu os 2canos que estão lá no entre e assim, um cachimbo de dados e um tubo de confirmaçãoe um reconhecimento acaba de receber no remetente. Assim, dessa forma ele vem igual a2BD mais 1.Então, o tamanho da janela igual a 2BD mais 1, ele dará a máxima utilização do linkonde o BD denota o número de quadros equivalentes ao BDP. Então, esse é um conceito importantepara decidir o tamanho da janela para um algoritmo de controle de fluxo baseado em janela; portanto, o exemploque eu lhe dei anteriormente.
Desempenho da Camada de Transporte-Parte 2
Então, vamos ver um exemplo disso. Então, considere uma rede com largura de banda de link ponta a ponta de bandalink como 1 Mbps, o atraso igual a 1 milissegundo e você considera uma redeonde como o tamanho do segmento é 1 kilo byte igual a 1024 bytes. Agora a questão é que qualprotocolo particular seria melhor para o controle de fluxo se você vai usar uma paradae protocolo de espera ou um protocolo de volta N e protocolo de repetição seletiva. Então, para resolveresse problema, então, nós primeiro computamos o BDP, vemos que o BDP chega a ser 1 Milli byte1 Mbps em 1 milissegundo igual a 1 kilobyte; isso significa 1024 byte. Então, o tamanho do segmentoé oito vezes maior que o BDP.Então, aqui estou aqui o seu BDP é 1 o quilo e o seu tamanho de segmento é 1 kilobyte porque o seu tamanho de segmentoé um kilobyte; isso significa, o link não pode segurar um segmento inteirocompletamente. Então, o cano que você está considerando aqui entre o emissor e o receptor; então aqui este cano supõem que este cano considera ambos os dados e o reconhecimento, dados mais o cachimbo ACK. Então, esse tubo ACK este dado mais o cano ACK elenão conseguirá segurar todo esse segmento dentro disso porque o BDP chega a ser 1 kilobit onde como seu tamanho do segmento é 1 kilo byte.Agora neste caso, os protocolos de janela deslizantes não melhoram o desempenho porquepor que porque não poderemos enviar vários segmentos em paralelo mesmo um segmentonão é capaz de preencher o seu cachimbo completamente; pois um segmento não é capaz de preencher oseu cachimbo completamente. Não há razão para enviar vários segmentos em paralelo porquede qualquer maneira você não conseguirá obter a vantagem da paralelização neste caso específicoem que sua largura de banda de link é 1 mega bit por segundo e atraso é 1 milissegundo.Então, sob este caso específico é sempre bom escolher um protocolo de parada e de esperaporque o protocolo de parada e espera tem o mínimo de complexidade. Por isso, deslizamento de protocolo de janela comovocê entende, por causa da escolha do design, ele tem mais complexidade, você tem quemanter a janela do remetente, é preciso manter a janela do receptor. Então você tempara manter o campo de número de sequência; todas essas overheads diferentes estão lá. Mas com um protocolo de parada e espera, a lógica é bem simples que você envia segmento e depois espera porconfirmação uma vez que você está recebendo confirmação, você envia o próximo segmento.Então, dessa forma seu protocolo de parada e espera terá significativamente mais-arrependidosignificativamente menos sobrecarga em comparação a um protocolo de janela deslizante. E porque aqui,vemos que não estamos obtendo a vantagem da paralelização, sempre preferimos usar um protocolo de stop e de esperasob este cenário de exemplo específico.Então, isto lhe dá uma intuição ou um exemplo de que como este parâmetro BDP bandwidthdelay produto te ajuda a fazer uma escolha de design que em qual específico janela deslizanteprotocolo, você deve usar para melhorar o desempenho da rede com o mínimo de complexidade. E ao mesmo tempo o exemplo que eu lhe dei anteriormente que o produto de atraso de bandairá ajudá-lo a escolher o tamanho da janela ideal que qual o tamanho da janelavocê deve usar tal que você pode utilizar a capacidade máxima da rede. E uma vezvocê selecionou aquele tamanho de janela e seu feliz com um protocolo de janela deslizantebaseado nessa filosofia, você pode descobrir que qual o espaço de números de sequência que você deveusar tal que não há nenhuma confusão no design de protocolo durante a execução deo protocolo. Como os exemplos que olhamos anteriormente no caso de protocolos deslizantes de janela; diferentes variantes de protocolos de janela deslizantes como o protocolo go back N ouo protocolo de repetição seletiva. Bem.(Consulte O Tempo De Deslizamento: 17:32)Então, a partir daqui deixe-nos olhar para isso como nós basicamente fazemos a interface da camada de aplicação coma camada de transporte ao lado do remetente. Isso dará uma ideia de design de que como será capaz deprojetar um protocolo de camada de transporte. Então, o exemplo que eu tomei é do sistema operacional Linux. Assim, você tem o espaço do usuário e o espaço do kernel. No espaço do usuário,você está executando determinada aplicação que está enviando os dados. Então, você tem certo sistemachamada no kernel a chamada de sistema de gravação () e a chamada de sistema de envio () sistema de envio – nós ’ veremos em todoseste sistema liga mais adiante sempre que discutirmos sobre a programação do socket. Então, lásão essas chamadas de sistema através das quais você pode enviar os dados para o kernel, a partir do aplicativo.Agora, aqui você tem esse módulo de controle de taxa de transmissão. Este módulo de controle de taxa de transmissãobaseado em seu algoritmo de controle de fluxo, ele usará esta função. Então, este nome deesta função são hipotéticas não correspondam diretamente a ele o que é implementado noLinux, apenas para dar uma ideia sobre como você pode implementar o seu próprio protocolo de transporte.Então, você tem uma função chamada TportEnviar, ele é acionado periodicamente com base em sua taxa de transmissãocontrole seu baseado em seu algoritmo de controle de fluxo; baseado em seu tamanho de janelaque quanto de dados você pode enviar. Então, essa função em particular está sendo chamada dee os dados são enviados para IP, a próxima camada da pilha de protocolos, a camada de rede da pilha de protocolos.Agora você pode pensar em que essa taxa e essa taxa são assíncronas. Então, aqui o aplicativopode gerar dados em uma taxa mais alta de alta taxa de alta para a taxa na qual a camada de transportepode enviar os dados para a outra extremidade. Assim, esse controle de taxa de transmissão podedescobrir que bem a taxa ideal é algo igual a 2 Mbps onde como o aplicativogera taxa em um 10 Mbps.Agora se este for o caso, o aplicativo gera taxa em 10 Mbps e o controle de taxa de transmissãogera taxa de 2 Mbps.Oobviamente, você precisa ter buffer intermediárioque armazenará esses dados.(Consulte o Tempo do slide: 1942)Então, a qualquer taxa que o aplicativo estiver gerando os dados, algum tempo ele pode ser maiordo que a taxa em que este módulo de controle da taxa de transmissão funciona. Então, este aplicativo, eleirá gravar os dados no buffer e, em seguida, esta função TportSend (). Ele vai captar os dadosdo buffer com base na taxa que está sendo fornecida pelo módulo de controle da taxa de transmissãoe os dados serão enviados para a próxima camada da pilha de protocolos.Agora, neste caso pode acontecer que diferentes conexões, você pode ter conexões diferentesna camada de aplicação. Eles são tratados de forma diferente. Então, precisamos de conexãobuffering de origem específica. Então, esse amortecedor em particular chamamos como um buffer de origem. Por isso, paratoda conexão independente que você tem da camada de aplicação, temos um buffer de camada de transporteassociado a ele. E então há um outro fato interessante ésobre esta chamada de gravação, a chamada de gravação através da qual você está enviando dados do aplicativo. Esta chamada de gravação bloqueia a porta. Por isso, aqui está a sua porta através da qual você estáexclusivamente identificando um aplicativo. Então, ele bloqueia a porta até que os dados completos sejamescritos no buffer de transporte.Então, é assim que pode acontecer que bem algum tempo o seu controle de taxa de transmissão sejaenviando dados a uma taxa de 1 Mbps e a aplicação esteja gerando dados a uma taxa de 10 Mbps,o exemplo que eu dei anteriormente. Por isso, o aplicativo está enviando dados a uma taxa mais altaem comparação com o que o controle da taxa de transmissão está enviando os dados para a camada inferior dea pilha de protocolos.Então, depois de algum tempo; obviamente, esse buffer tem um espaço finito. Então, o buffer vai ficar cheiopara cima. Uma vez que o buffer se encha, assim então a camada de transporte ele bloqueia o aplicativo paraescreva mais dados naquele buffer para evitar o estouro de buffer dessa camada de transportebuffer.(Consulte o Tempo do slide: 21:39)Agora, deixe-nos olhar para o lado do receptor. Então, o lado do receptor a ideia é novamente semelhante. Então,seu TportRecv (), o transporte recebe função; ele receberá os dados da camada de rede. Assim, uma vez que ele tiver recebido os dados da camada de rede, ele irá analisar emo número da porta no cabeçalho da camada de transporte. Assim, ao olhar para o número da porta, ele irádecidir que em qual aplicativo qual fila de camada de transporte deve preenchê-lo. Então, essa fila de camada de transporteé para um aplicativo, essa fila de camada de transporte é outro aplicativo. Assim, toda essa fila é delimitada a ela uma porta porque como você viumais cedo que este número de porta ele identifica exclusivamente um aplicativo. Então, com base nisso, vocêcolocou os dados no buffer. Agora a partir do lado do aplicativo você faz uma chamada de leitura ou uma chamada de recebimentoa qual você através da qual você irá ler os dados deste buffer. E aquio método é algo assim sempre que você está fazendo uma chamada de recebimento; ele vai aguardar emesta função CheckBuffer (). Pode acontecer que sempre que o aplicativo estiver fazendo uma chamadareceba durante esse tempo, este buffer recebido esteja vazio ele não recebeu nenhum dado.Então, a chamada estará sendo bloqueada aqui. E no momento em que você receber os dados neste buffer, ele enviará o sinal de interrupção para esta chamada e esta chamada irá obter os dados deste buffere enviá-los para o aplicativo.Então, com a ajuda desta interrupção, podemos fazer esta chamada de recebimento para interagir com este buffer. Agora aqui você pode ver que esta chamada de recebimento, é uma chamada de bloqueio, a chamada de leitura oua chamada de recebimento; é uma chamada de bloqueio até que os dados sejam recebidos, então os dados completos sãolidos a partir do buffer de transporte.Então, é assim, sempre que você fez uma chamada de recebimento, durante esse tempo a chamada éficando bloqueada nesta porta até que você esteja recebendo um dado neste buffer. E uma vez que você estiverobtendo um dado neste buffer, então use uma função de buffer de verificação, ele enviará interrupção paraa chamada de leitura e a chamada de recebimento e ele obterá esses dados inteiros do buffer elibera esta chamada em particular.Então, dessa forma você pode ver que ambas as chamadas são tipo de bloqueio de chamada no lado emissorassim como o lado do receptor. Então, a chamada do remetente fica bloqueada quando o buffer está cheio, a chamada do receptorfica bloqueada quando o buffer está vazio.(Consulte o Tempo do slide: 24:04)Então, a pergunta vem de que como você pode organizar esse buffer pool? Assim, existem várias maneirascomo você pode organizar o buffer da camada de transporte. Trata-se de um buffer de software. Por isso, caso seus segmentossejam do mesmo tamanho. Assim, todos os segmentos são de mesmo tamanho, você pode organizar o buffercomo um pool de buffer identicamente tamanho; isso significa, você pode segurar um segmento a cadabuffer individual. Então, um segmento contém certo número de bytes. Assim, seu tamanho de buffer individualserá igual ao seu tamanho do segmento e cada buffer individual contém um segmentoe este buffer pool eles podem conter vários segmentos todos juntos. Agora paraTamanho do segmento variável você pode usar este buffer de tamanho fixo chained. Então, assim como uma listavinculada.Então, seu tamanho de buffer individual é o tamanho máximo do segmento e dizem que os buffers individuaissão conectados por um tipo de lista de dados vinculados e eles constroem inteiramente o conjunto de bufferpara um determinado número de porta da camada de transporte corresponde a um aplicativo. Agora emeste caso, se você estiver usando buffer de tamanho fixo chained, o espaço seria desperdiçado se os tamanhos do segmentoforem amplamente variados. Assim, se um segmento é 1024 kb, outro segmento é de 10 kbnesse caso, você pode ter uma quantidade significativa de espaço livre aqui que está sendo desperdiçado.Agora se você fizer um pequeno tamanho de buffer, então você precisa de vários buffers para armazenar um único segmentoque adiciona a complexidade na implementação.(Consulte o Tempo do slide: 25:41)Agora, neste caso utilizamos os buffers de tamanho variável. Então, com o buffer de tamanho variável, entãoaqui é um exemplo de um buffer de tamanho variável. Assim, você tem o pool de buffers que sãoconectados via estrutura de dados de lista vinculada e eles terão tamanho variável. A vantagem éque você pode ter uma melhor utilização de memória, você pode reduzir a quantidade de perda ouquantidade de desperdício de espaço de memória. Se você tem um grande segmento de grande porte, você coloca emo buffer grande; se você tem um segmento pequeno, coloca-o em um pequeno buffer. Mas a desvantagemé você ter uma implementação complicada porque os espaços de buffer individuaissão dinâmicos. Então, você tem que alocar dinamicamente a memória.A terceira solução que preferimos é usar um único buffer circular grande para cada conexão. Então, nós temos uma espécie de buffer circular e que buffer circular contémsegmento individual. Assim, em um buffer circular você pode ter um segmento de digamos 1 kb tamanho,outro segmento de ter 4 kb de tamanho, outro segmento de ter 10 bit de tamanho e dessa forma.Então, você pode colocar segmentos individuais de tamanhos diferentes um após outro e finalmentevocê pode ter um espaço não utilizado que pode ser usado para armazenar os próximos segmentos de entrada.Então, este único buffer circular de tamanho grande, ele proporciona um bom uso da memória quando as conexõesestão fortemente carregadas. Pois se as conexões forem fortemente carregadas novamente, vocêvai usar ou ir desperdiçar enorme quantidade de espaço de memória dentro do bufferporque você está usando um buffer de tamanho fixo, então nesse caso o buffer de tamanho variável podeexecutar bem.Então, dessa forma sua escolha de projetar um buffer de camada de transporte depende de qual tipo deaplicativos, você vai usar e qual tipo de dados os aplicativos estão indo paragerar; portanto, baseado nisso você pode decidir que qual buffer particular será maisadequado para sua aplicação.Então, isso dá esta palestra em particular dar uma ideia ampla sobre sua escolha de designde vários parâmetros da camada de transporte e como ele impacta o desempenho do protocolo da camada de transporte. E analisamos uma implementação hipotética de diferentes funções da camada de transportee como as chamadas da camada de transporte estão se intercalando com a camada de aplicaçãoe nesse cenário específico que tipo de buffers de camada de transporte vocêpode utilizar com base na sua necessidade do aplicativo.Então, na próxima classe continuaremos daqui e olhamos em um outro serviço na camada de transportecomo o mecanismo de controle de congestionamento. E então, vamos para os detalhesda implementação do protocolo da camada de transporte. Falaremos sobre a implementação do protocolo TCP e UDPem detalhes.Então obrigado a todos por participarem desta aula.