Loading

Module 1: Desempenho e Controle

Nota de Estudos
Study Reminders
Support
Text Version

Protocolo de Controle de Trans

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

    +

Protocolo de Controle de Transmissão
Bem-vindo de volta ao curso em Rede de Computadores e Protocolos da Internet.Então, até agora olhamos para os detalhes da camada de transporte, e quais serviços diferentes estão sendo prestados pela camada de transporte. Agora vamos pegar um exemplo específico um protocolo de camada de transporte que é amplamente utilizado nas redes. Assim, mais de 80 do tráfegopela internet ele usa esse protocolo de controle de transmissão para transferir fim de dados finais. Assim, vamos olhar para os detalhes deste Protocolo de Controle de Transmissão ou TCP emcurto. E mais adiante vamos analisar que como você pode escrever um aplicativo com a ajudade tal programação para enviar ou receber dados sobre conexões TCP. Então, vamos começar nossa jornadapara aprender o protocolo TCP em detalhes.(Consulte o Slide Time: 01:03)Bem, portanto, este TCP foi especificamente design para fornecer um fim confiável para acabar com o streaming de bytessobre uma rede inter não confiável. Então, o que se entende por rede inconfiável inter? No momento em que eu espero que esteja claro para você que a camada de rede, a camada de rede baseada em IP baseada em IP que estamos considerando está fornecendo serviço não confiável por causa disso um buffer depreenchido são buffer sobre fluxo de roteadores intermediários, há possibilidade de queda de pacotes. E sempre que houver uma queda de pacotes desses roteadores intermediários, a camada de redenão se dá conta disso.Então, a camada de transporte, se você deseja fornecer o serviço confiável em cima da camada de transporte, isso precisa de necessidades para cuidar dessa queda de pacotes. Sendo assim, o TCP é o protocolo quesuporta essa confiabilidade em cima deste internetwork não confiável. E por internetwork nóstambém olhamos para que diferentes partes da rede possam ter topologia quitamente diferente. Por isso,pode acontecer que bem uma parte da rede esteja usando tecnologia sem fio, uma parte dea rede está usando tecnologia com fio, outra parte da rede está usando digamos assimtecnologia de comunicação óptica.Então, lá pode ser esse tipo de tipo de tecnologias que estão lá na rede subjacente, e em cima disso preciso transferir os dados. Então, por exemplo; se vocêsó pensar em um exemplo quando estiver fazendo o Facebook em cima do seu celular; assim,sempre que estiver fazendo o Facebook em cima do seu celular assim, o primeiro hop é sem fio,do mobile, do seu celular para o destino móvel que parte é wireless.Então, que usa um conjunto diferente de protocolo na camada de link de dados. Em seguida, a partir desse destinopara este centro de comutação móvel, essa parte é a rede com fio. E que usa alta velocidaderedes ethernet. Então, lá ele usa outro conjunto de protocolo. Agora a partir daí destecentro de comutação móvel para o gateway de serviço, porque dizer que você está apenas acessando o servidordo Facebook e o servidor do Facebook está em algum lugar lá em say USA. Então, você precisa depara enviar os dados para USA so, o gateway que está conectando essa rede asiática à rede americanaque usa cabo de fibra óptica no meio. Então, você precisa transferir os dados emde cima daquele cabo de fibra óptica superior. Então, a rede subjacente é extremamente diferente à qualpropriedades diferentes, e você pode ter diferente tipo de perda de pacotes, delay, retransmissãoem cima dessa rede não confiável.Agora o TCP é um protocolo projetado para lidar com todos esses diferentes desafios. Por isso, deixe-nosolhar que como usamos o TCP para tratar dessa heterogeneidade diferente este diferentes desafiosnas redes.(Consulte o Slide Time: 03:53)Bem assim, o TCP se adapta dinamicamente às propriedades da rede inter, e é robusto paraencara muitos tipos de falhas que podem acontecer na rede.Mas este protocolo TCP tem uma longa história. Então, o protocolo TCP base ele veio como uma parte deesta RFC 793. Assim, este RFCs são alguns a forma completa da RFC é solicitação de comentários,e este RFCs é você pode pensar nele como um documento padrão para uma especificação de protocolo,que é publicado pela IETF Internet Engineering Task Force, que é um body global amanipular padronização de protocolo.Então, a primeira versão do TCP veio em setembro de 1981 como uma parte deste RFC 793, e entãojá viu muitas tais mudanças. Então, eu acabei de listar as poucas mudanças, esta RFC 1122que faz algum esclarecimento sobre o protocolo TCP, o algum nível de bug diz então RFC1323 que foi projetado e extensão do TCP para alta performance, então RFC 2018.Então, o protocolo TCP padrão, ele usa este go back N ele volta N ARQ para algoritmo de controle de fluxo. Então, a RFC 2018 ele usa esse reconhecimento seletivo. Então, chamamos de versãochamada TCP SACK, protocolo de confirmação seletiva TCP com o qual usa este protocolo de repetição depara tratar do mecanismo de controle de fluxo. Na RFC 2581 ele discute sobreo algoritmo de controle de congestionamento TCP, RFC 3168, ele usa um conceito chamado notificação explícita de congestionamento. Mesmo depois disso há uma alteração múltipla sobre o protocolo básico TCP. Então, esse protocolo TCP mudou muito a partir do que foi projetado inicialmente emsetembro de 1981.(Consulte o Slide Time: 05:40)Então, um olhar amplo sobre o modelo de serviço TCP. Assim, todas as conexões TCP elas têm fullduplex e ponto a ponto. Por isso, ponto a ponto significa que eles estão entre 2 fim de host. E fullduplex significa tanto o host A quanto o host B sempre que você estiver fazendo uma conexão TCPentre eles, host A e enviar dados para o host B e ao mesmo tempo host B será capaz deenviar dados para o host A.Então, o TCP foi projetado para este ponto a ponto de transferência de dados. Transferência de dados entre 2máquinas diferentes. Ele não foi projetado para suportar o multi casting ou a radiodifusão, quandovocê deseja enviar dados de um nó para um grupo de nós, ou de um nó para o conjunto degrande conjunto de nós. Então, para que o TCP não fosse adequado. Então, esse TCP em um sistema baseado em (Consulte o tempo:06:25) ele usa o conceito de socket, que definem uma conexão de ponta a fim de. Assim, o conceito de pipe de que estamos falando durante a nossa discussão demodelo de serviço genérico da camada de transporte. A mesma coisa é um termed como um socket no contextodo TCP. Assim, um soquete como 6 tuplas, 6 parâmetros para identificar com exclusividade um socket,o IP de origem, a porta de origem, o número de sequência de origem, o número da sequência inicial de origem, o número de origem inicial, o destino e o destino inicial do destino; omesma coisa que foi projetada para identificar com exclusividade um cano em uma camada de transporte.Agora, uma vez que este host A e o host B tenha configurado um socket entre eles, então diga-se que o host A desejaenviar alguns dados para hospedar B, desculpe, o host B difere deseja enviar alguns dados para hospedar A. Então, hostB pode usar esta chamada de sistema de gravação para escrever os dados neste soquete. Sendo assim, o host B irá gravar os dadosno socket, então esses dados serão entregues a esta camada diferente da pilha de protocolo. Recebido na camada de transporte do hospedeiro A, então o host A pode executar a chamada de leitura paraleia os dados do buffer da camada de transporte.E esta entrega a entrega confiável que será feita cuidado com a camada de transportee a entrega do pacote para o host A com base nele é endereço IP que será cuidado depela camada de rede. E dessa forma com todas essas camadas da pilha de protocolos.Então esse cano lógico ou soquete lógico que define o modelo de serviço de um protocolo TCP.Então, todos os serviços deste protocolo TCP são implementados para suportar dados confiáveis através doeste pipe que é denominado como o soquete.(Consulte o Tempo de Slides: 08:17)Então, em um modelo Unix, implementação de socket baseado em Unix, normalmente executamos um único processo de daemon do, que é chamado como um daemon de internet ou inetd, este inetd ele executa todos oshorários em portas diferentes bem conhecidas. Então, não é bem assim o todo o tempo que você tem para oabrir você tem que manter um soquete aberto.Então, esse inetd toma conta disso, o inetd se mantém em rodar em portas bem conhecidas diferentes,e esperar a primeira conexão recebida. Assim, quando surge a primeira conexão recebida, este inetd ele forca; isso significa, ele cria um processo filho com um novo id de processo einicia o daemon correspondente. Então, por exemplo, se você deseja fazer uma transferência de arquivos http.Então, http transfer transfer para isso você tem que executar o daemon http que no servidor http queexecuta na porta 80. Então, inicialmente este inetd mantém em escuta na porta 80 e sempre que você tentainiciar uma conexão e a porta 80, então httpd pops up, porque o processo http httpd daemon, que usará protocolo de transferência de hipertexto na porta 80, que terá analisado ema discussão do protocolo da camada de aplicativos. Assim, iniciará esse processo de daemon ecrie o socket na porta 80 no cliente, porta 80 no servidor e alguma porta aleatória emque o cliente e comece a receber o pacote http.da mesma forma, para o tipo ftpd o ftpd iniciará na porta 21.(Consulte o Tempo do slide: 09:44)Assim, poucos detalhes sobre TCP é um fluxo de bytes não uma mensagem, portanto, cada byte é identificado por um número de sequência exclusivo, que discutimosdurante a discussão de serviço genérico de um protocolo da camada de transporte.E este limite de mensagem-eles não são fornecidos ponta preservada para finalizar; isso significa, todasas mensagens estão em termos TCP chamamos como um segmento que nós olhamos, os segmentospodem não ser do mesmo tamanho. Os segmentos de diferença podem variar. Então, aqui dohost B para o host A, pode acontecer que o primeiro segmento esteja começando da sequência número100, e tenha um comprimento 100 então, vai de 100 200. A segunda sequência que vai deesta deve ser de 201 vai de 201 250, o terceiro segmento vai de 251 400. Então,dessa forma esse segmento contém cerca de 100 bytes de dados, este segmento contém assim, isto édigamos de 101 200. Este contexto contém contém 100 bytes de dados. Isto contém 50bytes de dados e este contém 200 bytes de dados. Assim, eles têm segmentos diferentes podemter tamanho diferente e o tamanho do segmento será determinado pelo algoritmo de controle de fluxoque nós ’ ll ver mais adiante. Agora em um exemplo hipotético, se acontecer que bemeste segmento 1 é recebido corretamente pelo host A e diz que o segmento 2 e o segmento 3 sãocaiu um perdido. Assim, o host B tentará retransmitir bytes 201 para bytes 400. Então, isso deve ser201. Assim, ele tentará retransmitir de bytes 201 para bytes 400.Então, nesta filosofia TCP não está tentando retransmitir 2 segmentos, em vez disso ele iráentender que o byte 201 para o byte 400 perdeu. E precisa retransmitir bytes 201 parabytes 400, não o segmento de 2. Então, esses segmentos podem não se preservar, pois no TCPtudo está na forma de um fluxo de bytes, e tudo é identificado por quantosbytes eu enviei ou quantos bytes eu recebi ou quantos bytes estão em transiçãona rede. Assim, sempre que estiver fazendo a retransmissão, pode ser por causa dessa taxaalgoritmo de controle que discutiremos em detalhes.(Consulte o Tempo do slide: 12:16)Pode acontecer que toda essa coisa esteja dividida em 2 bytes diferentes 2 segmentos diferentes.Então, o primeiro segmento contém bytes de 201 300. E o segundo segmento contém bytes301 a 400. Então, agora, você pode ver que a anterior divisão anterior que era que tínhamosde bytes para segmento que não estava sendo preservada aqui. Então, mais cedo eu tenho um pequeno segmentode 50 bytes e outro grande segmento de 150 bytes. Mas agora sempre que estoufazendo a retransmissão, descobri ou melhor dizer que o TCP no host B descobre quebem, agora não preciso enviar um pequeno segmento de 50 byte, em vez disso eu posso retransmitir esse byte inteiro decom 2 segmentos de 100 bytes cada. Então, é por isso que usamos esse termo que os limites de mensagemnão são preservados terminados para terminar no contexto de um protocolo TCP. Então,tudo é stream de bytes.(Consulte o Tempo do slide: 13:24)Um exemplo de que o processo de envio ele faz quatro 512 byte grava em um fluxo TCP usandoa chamada de gravação para o socket TCP. Então, o aplicativo está enviando quatro 512 bytes de blocos paraa camada de transporte, e se você lembrar que a arquitetura da camada de transporte, você temesse aplicativo sempre que o aplicativo está fazendo uma chamada de gravação, esses dados estão indo para um buffer.Então, os dados estão indo para um buffer, e a entidade da camada de transporte, está lendo os dados deeste buffer e criando os segmentos. Agora quando estiver criando os segmentos, se o processo de enviograva quatro blocos de 512 bytes para este buffer, agora esses dados podem serentregues como quatro chunks de 512 bytes que significam quatro segmentos de 512 bytes, dois segmentos de 1024 bytesou um 2048 byte segmentos ou de alguma outra maneira não é necessário que todos os segmentosprecisem ser de um mesmo tamanho.Então, não há como o receptor quando o receptor receberá esses dados, para detectar as unidadesnas quais os dados foram escritos pelo processo de envio. Assim, no processo de envio comodados escritos em 512 byte chunks, mas sempre que o processo do receptor irá receber os dados,que é a equipe contrária, você obter os dados colocá-lo em um buffer receptor de buffer, então o aplicativo receptorfará uma chamada de leitura para ler os dados do buffer. E quando o aplicativo receptorirá fazer a chamada de leitura para ler os dados do buffer ele voltará aler certo número de bytes. E durante esse tempo pode acontecer que a leitura, leia,leia este aplicativo está fazendo uma chamada de leitura em 1024 bytes chunks.Então, o remetente o escreveu em 512 bytes chunks e o receptor está recebendo naquele1024 bytes chunks. Então, isso pode muito diferir e até mesmo o receptor não sabe queno qual ou um qual foi o tamanho do chunk quando o remetente escreveu isso para o processo de transmissãopara o protocolo de controle de transmissão para o processo TCP.(Consulte o Tempo do slide: 15:46)OK? Então, essa é a estrutura de cabeçalho do protocolo TCP. Por isso, os campos bem conhecidos sãojá lá, que você olhou para a porta de origem e a porta de destino, paraidentificar com exclusividade o aplicativo através do qual você está fazendo uma comunicação.Você tem esse número de sequência para identificar com exclusividade cada pacote você tem um número de confirmaçãopara reconhecer os bytes que você recebeu. Eu fiz um erroenquanto tomava, eu disse a esse número de sequência para pacote em vez de essenúmero de sequência para o byte porque você está usando número de sequência de bytes. Então, vocêdeve usar o termo correto aqui.Então o comprimento do cabeçalho, o comprimento de cabeçalho certas bandeiras so, estes são os bits de bandeira. Então,vamos olhar para a bandeira bits em detalhes. Apenas para os poucos bits de bandeira como este FIN flag FIN bitcomo este bit FIN é usado para fechar conexão para finalizar uma conexão. Assim, se este bit FIN forconfigurado; isso significa, é uma mensagem de encerramento de conexão se este bit SYN for configurado, SYN bit é parainicialização de conexão. Portanto, se este bit SYN for configurado; isso significa, é uma mensagem SYN parainiciação de conexão. Se este bit ACK estiver configurado; isso significa, é uma mensagem de confirmaçãoque está enviando este número de confirmação sobre o até o qual bytesforam reconhecidos pelo receptor.
Protocolo de Controle de Transmissão-Parte 2
Então você tem esse tamanho de janela. Este tamanho de janela é o receptor anunciados da janelatamanho para protocolo de janela deslizante para gerenciamento de buffer dinâmico. Assim, com esta janelatamanho, o receptor está anunciando que o que é o espaço de buffer disponível no lado do receptor; este é 16-bit tamanho da janela.Então, temos 32-bit sequência número de confirmação número 32-bit, 16 bit janelatamanho. Certo checksum para verificar se a correção dos dados recebidos, o ponteiro urgentevamos discutir sobre esse ponteiro urgente mais adiante; em breve como se você quiser enviar alguma mensagemcom urgência ignorando a fila, porque se você olhar para a fila de transmissão,trans ou aquela fila de camada de transporte.Aquela fila de camada de transporte é coisa FIFO thing First In First Out. Então, qualquer que seja o byte que tenhaveio primeiro, ele vai enviar esse byte primeiro. Assim, se você configurar o ponteiro urgente, o ponteiro urgentediz que bem se você está enviando alguns dados do aplicativo, configurando o ponteiro urgente; isso significa, sejam quais forem os dados que você estiver enviando da camada de aplicação porconfigurando o ponteiro urgente, você pode fazer isso com a ajuda da programação de socket, nós vamosanalisar isso. Se você fizer isso então ele primeiro criará esse segmento e o segmento então o enviapara fora com o bit urgente configurado para um. Ele indica que esse dado particular é urgente que deveser não deve esperar dentro da fila para que este primeiro venha primeiro servir ou primeiro em primeiro foracomportamento.Então você tem alguns campos opcionais. E, finalmente, os dados que estão vindo da camada superior; isso significa, a carga de pagamento para este pacotão.(Consulte o Tempo do slide: 18:37)Bem que pesquisamos nisso. O número de sequência TCP e número de confirmaçãoele usa número de sequência de 32 bits e 32 bit número de confirmação.Então, cada byte em uma conexão TCP tem ele é próprio 32 bit número de sequência. Então, porque eleé um protocolo de fluxo de bytes orientado que você viu. Assim, o TCP ele usa janela deslizantecontrole de fluxo baseado. Então, o número de confirmação, ele contém o próximo byte esperadoem ordem que reconhece os bytes acumulados que foram recebidos pelo receptor.Então, o exemplo é assim. Se você receber um reconhecimento número 3 1 2 4 5; quesignifica, que o receptor recebeu corretamente todos os bytes até 3, 1, 2, 4, 4 e ele éesperando o byte 3, 1, 2, 4, 5. Então, dessa forma é o número de confirmação acumulado. Assim, uma vez que você está obtendo um número de confirmação, significa que todos osbytes antes desse número imediatamente antes desse número, que foi recebidocorretamente pelo receptor e ele está esperando que bytes particulares.Então, ele está esperando o byte 3, 1, 2, 4, 5 e ele recebeu tudo corretamente até o byte 3,1, 2, 4, 4.(Consulte o Tempo do slide: 19:42)Então, analisamos isso anteriormente. Que no TCP esse limite de mensagens que chamamos tem um segmento. Assim, o envio e o recebimento de entidades TCP eles trocam os dados na formade segmento. Em geral, um segmento consiste em um cabeçalho fixo de 20-byte mais uma parte opcional. Então, o formato de cabeçalho que olhamos mais cedo o cabeçalho TCP é o cabeçalhoseguido por 0 ou mais bits de dados. Por isso, se for uma mensagem de conexão ou conexãodesfecho mensagem como a mensagem SYN ou a mensagem FIN, você não tem nenhum dado,mas se for uma mensagem de dados você pode ter dados adicionais que estão junto com aquele segmento.(Consulte o Tempo do slide: 20:22)Agora, como vamos ver como esses segmentos TCP estão sendo formados e como você viuanteriormente, que não é necessário que todos os segmentos serão de igual tamanho. Aqui serápouco claro para você que por que todos os segmentos não são de igual tamanho no TCP. Assim, o TCP ele podeacumular dados de várias chamadas de gravação em um segmento. Ou divida dados de uma gravação de gravaçãoem diversos segmentos.Então, esta chamada de gravação com este sistema de gravação te chama ’ re enviando um chunk de dados do aplicativopara a camada de transporte. Agora sempre que o TCP está em execução, o TCP diz mesmo quevocê tenha enviado algum basta pensar em você enviou 1024 byte dados você está enviando 1024dados de bytes como um único pedaço da camada de aplicação para a camada de transporte com a ajuda deesta chamada de sistema de gravação.Pode acontecer que, o TCP pode quebrar que 1024 chunk em dois 512 byte chunk, eenviar 2 segmentos com base na necessidade-a necessidade, discutirei um par de minuto depois. Ouele pode combinar mil dois 1024 byte chunk juntos, e criar um único segmento de2048 byte e enviá-lo para um só go.Agora, como esses segmentos foram criados? Que o tamanho do segmento ele é restrito por 2parâmetros. O primeiro parâmetro é a carga útil do IP; a quantidade de dados que você pode colocardentro do fragmento IP, sempre que ele estiver indo para a camada de rede. Isso é restrito a65515 bytes. Então, o seu tamanho de segmento não pode ser mais do que isso. O segundo parâmetro éa unidade de transmissão máxima do link.Então, o que é unidade máxima de transmissão? Isso significa, sempre que você estiver considerando erede múltipla de rede link de dizer fonte para destino, este links tem uma unidade de transmissão máxima. Então, isso vem do conceito de camada de link de dados, como essa unidade de transmissão máximaa partir da camada de link de dados entra em prática. Vamos discutir isso em detalhesquando discutirmos sobre a camada de link de dados.Mas por enquanto, basta tomá-la como exemplo, ou tomá-la como um dado postulado que paratecnologia diferente a unidade máxima de transmissão é diferente. Então, por exemplo, se este linkfor o link Wi-Fi, você tem um MTU, se este for um link Ethernet ou um link WAN vocêterá outra MTU. Se este for um link de fibra óptica, você terá outra MTUUnidade Máxima de Transmissão. Então, a unidade máxima de transmissão é basicamente que em um único ir do, qual a quantidade de dados ou o que é bit deve ser a quantidade dos dados quevocê pode colocar dentro do pacote.(Consulte o Tempo do slide: 23:10)Então, o que o TCP faz? O TCP get usa esta chamadas de gravação a partir do aplicativo para gravar os dados emo buffer emissor do TCP. Então, aqui neste exemplo que o aplicativo faz uma chamada de gravação paraescrevem dados no buffer de transporte, e o remetente ele mantém uma janela dinâmica baseada emo controle de fluxo e o algoritmo de controle de congestionamento.Então, idealmente sua taxa de envio era mínima de taxa de rede e taxa anunciada do receptor.Então, sempre que nós convertemos isso no formato de janela, seu tamanho de janela de remetente serámínimo de um tamanho de janela que será dado pelo protocolo de controle de congestionamento.Então, mais cedo estamos falando que em caso de controle de congestionamento, você aumenta a taxa de redede uma baixa taxa a altíssima taxa usando esse princípio de aumento aditivo.Então, para aumentar essa taxa, é exatamente como o seu aumento da janela, tamanho da janela. Então, tamanhose você está aumentando o tamanho da janela; isso significa, na mesma instância de tempo você iráser capaz enviar mais dados. Assim, você será capaz de aumentar a taxa. Então, essa janela de congestionamentomantém uma indicação de que bem se o seu tamanho de janela é 1 então, você pode enviar 1 byte de dadosse o seu tamanho de janela for 2, você pode enviar 2 bytes de dados simultaneamente, se o seu tamanho de janelafor 4, você pode enviar 4 bytes de dados simultaneamente.Então, você tem essa janela de congestionamento e o receptor anunciava tamanho mínimodisso. Então, você tem esse tamanho de janela do remetente. Assim, essa janela do remetente é dinamicamenteacionada, dinamicamente atualizada com base no tamanho da janela do anunciante do receptor e no tamanho da janela de congestionamento, que você está aumentando gradativamente no espaço de aumento aditivo,e sempre que um congestionamento é deduzido você está deixando cair novamente para pequeno valor ou umvalor mínimo.Então, este algoritmo de controle de fluxo e congestionamento, ele irá utilizar este tamanho de janela e baseado emque, seu segmento será criado.(Consulte o Tempo do slide: 25:07)Então, este é o algoritmo para criação de um segmento. Então, hoje a implementação do TCP, elausa este caminho MTU descoberta um protocolo que está lá na mensagem de controle da internetcaminho do protocolo, como um caminho do protocolo de mensagens de controle da internet que é implementado ema camada de rede.Então, o que ele faz? É tenta estimar que o que é a MTU de todos os links no caminho.Então, ao obter as informações sobre todos os MTUs do caminho, do link no caminho então,como exemplo se acontece isso bem, então, estes são os links. Então, esta é a sua fonte eeste é o seu destino. Então, este link suporte 512 byte este suporta 1KB, este suporta1KB e este suporta dizer 256 byte. Portanto, se for esse o caso; isso significa, idealmente você devenão enviar dados a mais de 256 byte em todo este fim para finalizar caminho.Então, essa é a tarefa que é feita por esse mecanismo de descoberta MTU de caminho dentro doProtocolo de Mensagens de Controle de Internet do protocolo ICMP. E configura o seu tamanho máximo do segmentodurante o estabelecimento de conexão. Assim, durante a conexãoestabelecimento, ao trocar esta mensagem na camada de rede obtendo esse feedbackda camada de rede ele é configura o tamanho máximo do segmento.Este tamanho máximo do segmento em algum momento depende de outros parâmetros, como a implementação do bufferdo que é a quantidade dos dados que seu buffer pode segurar em um vá.Agora o emissor ele verifica a janela após receber um ACK, pois sempre que você está recebendo um ACK, com isso você tem esse tamanho de janela anunciada atualmente,o qual dirá que o quanto dos dados o receptor pode segurar.Então, os desafios que está lá no design TCP, e a partir daqui vamos olhar para o design de detalhes do designem detalhes. Primeiro de todos esses segmentos são construídos dinamicamente.Então, retransmissão que não garantem que a retransmissão do mesmo segmento.Então, que vimos anteriormente, que o anterior você tinha um segmento de 50 bytes outro segmentode 150 bytes e sempre que você está fazendo uma retransmissão você está fazendoduas retransmissão de 100 bytes cada. Assim, a retransmissão pode conteúdo de dados adicionais oumenos dados ou rearranjo dos segmentos. E em algum momento esses segmentos podem estar fora da ordem. Como o TCP ele não determina o caminho, a camada de rede está determinando o caminho. E a camada de rede pode acontecer que para um segmento, um pacote que évindo do aplicativo o pacote de camada de rede, ele decide um caminho para outro pacoteele decide outro caminho. Por causa desse balanceamento de carga ou de muitos outros mecanismono protocolo de roteamento. E, por causa disso, esses segmentos, você pode receber os segmentosfora de ordem um TCP. Então, este receptor TCP ele deve manipular o fora de ordem o segmento emuma maneira adequada assim, que o desperdício de dados é minimizado.Então, se você está aplicando isso volte N ARQ e se você só pensar bem nisso, se eu estiverrecebendo algo fora de ordem eu não colocarei no buffer porque de qualquer maneira o remetenteretransmitirá a coisa toda junto; não é uma ideia sábia. Por quê? Como pequeno exemplo, porque pode acontecer que no este seja um receptor este é um emissor, o lado receptordiz que você recebeu este grande parte de dados e então você recebeu este grande de dadosOk, então, você recebeu de digamos 100 120, então de 121 150, você não recebeuentão de 151 151 você recebeu. Agora neste estágio sempre que o remetentefica um tempo fora, o remetente tentará retransmitir esse byte juntamente com todos os outrosbytes que estão lá no buffer do remetente. Então, este é o buffer de remetente que enviaremos que,retransmitem esses dados.Agora, temos esse campo tamanho de janela no cabeçalho do segmento TCP. Assim, esse campo tamanho de janelaé usado para algoritmo de controle de fluxo no TCP. Ele usa um protocolo de janela deslizante de tamanho variável, o buffering dinâmico que nós olhamos mais cedo. Então, esse campo tamanho de janelaele conta que quantos bytes o receptor pode receber, com base no tamanho livre atualnele é o espaço de buffer. E como vimos anteriormente que um espaço de janela tamanho 0 significa, o receptornão tem um espaço tampão suficiente.Então, o remetente deve propicar a transmissão de dados adicionais até obter uma boa quantidade ouquantidade suficiente ou quantidade suficiente de propaganda tamanho de janela. Agora confirmação TCP; assim, a confirmação final do TCP é uma combinação do número de confirmaçãoe do tamanho da janela anunciadas, com base em que o remetente iráajustar seu parâmetro. Então, essa são as coisas básicas sobre o protocolo TCP.Então, na próxima aula iremos para os detalhes deste algoritmo de controle de fluxo baseado em janela deslizantealgoritmo que é adotado como a parte do TCP.Obrigado a todos por assistirem a esta aula.