Loading

Module 1: Desempenho e Controle

Nota de Estudos
Study Reminders
Support
Text Version

Estabelecimento De Conexão TCP

Set your study reminders

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

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Estabelecimento de Conexão TCP
Bem-vindo de volta para o curso em Rede de Computadores e Protocolos da Internet. Por isso, estamos analisando os detalhes do Transmission Control Protocol ou TCP.Então, nesta palestra vamos analisar os detalhes do estabelecimento de conexão TCP e como o TCP escolhe o número de sequência inicial, com base no conceito que discutimos anteriormente e depois na palestra subsequente. Assim, iremos para o mecanismo de controle de fluxo no TCPem detalhes.(Consulte o Tempo do slide: 00:43)Então, o estabelecimento de conexão TCP, ele é um mecanismo baseado em handtremendo de três vias ele éutiliza uma mensagem de solicitação de conexão especial chamada SYN um formulário curto para a sincronizaçãochamamos de mensagem TCP SYN. Então, o estabelecimento de conexão usando o3 way handtremendo mecanismo que é algo assim, como o Host A e o Host B quer quese comuniquem uns com os outros. Assim, o Host A e o Host B quer comunicar-se com cadaoutro, o Host A inicia o estabelecimento de conexão.Então o Host A envia uma mensagem SYN com certos números de sequência iniciais. Assim, em um momentodiscutiremos que como o TCP escolhe esse número de sequência inicial. Então, ele envia uma mensagem SYNcom o número de sequência inicial como x, então o Host B envia uma mensagem de confirmaçãojuntamente com também uma mensagem SYN, portanto, esta mensagem SYN do Host B para o Host A, elaé usada para garantir a conexão bidirecional no TCP. Então, se você se lembra na última classeque falamos que a conexão TCP é bidirecional. Por isso, o Host A podese comunicar com o Host B ao mesmo tempo que o Host B também pode se comunicar com o Host Ae por causa dessa razão, o Host B também envia um mesmo pacote com um número inicial de sequência. Então, aqui neste exemplo o Host B envia esta mensagem SYN enquanto envia de volta oACK.Então, nós somos basicamente piggy backing SYN e ACK juntos piggy backing significa que somoscombinando 2 mensagem juntos em termos de cabeçalho TCP, você precisa configurar o bit 1 tanto para a bandeira SYNcomo para a bandeira ACK. Assim, esta mensagem SYN mais ACK está enviando um novo número de sequência inicial, portanto, este número de sequência y ele será usado para B a Uma transferência de dadose anterior número de sequência proposto de A a B que é x será usado para transferência de dados de A aB e em reconhecimento com este x, então ele envia um número de confirmaçãode x mais 1.Agora, se você se lembrar do procedimento de estabelecimento de conexão 3 way handtremendomecanismo que discutimos anteriormente no caso de modelo de serviço de camada de transporte geralmodelo. O host A pode ver este host de mensagens um pode descobrir que o número de confirmaçãoele corresponde à mensagem SYN que ele transmitiu e se ela corresponde à mensagem SYNque é transmitida leva este SYN mais ACK como um viável ou um válidoum. E então ele envia uma mensagem de confirmação finalmente para B e nessamensagem de confirmação envia um número de sequência de x mais 1 incrementando a sequência anteriorque ele iniciou e reconhece esse número de confirmaçãoy mais 1.Então, com este mecanismo de handtremendo de 3 way, o Host A e o Host B iniciam a conexão.Agora a questão é que como você escolherá o número da sequência inicial. Por isso, escolhero número de sequência inicial é um aspecto importante que analisamos em uma discussão genérica dede um modelo de serviço de camada de transporte. Assim, enquanto escolhe a sequência inicialnúmero o objetivo é evitar a duplicata atrasada. Para que você possa identificar uma mensagemolhando para o seu número de sequência se essa mensagem é uma duplicataatrasada ou é apenas como o aplicativo caiu e o aplicativo iniciououtra conexão na mesma porta com o número da sequência diferente.Então, para fazer isso o que você precisa para garantir bem, o número de sequência inicial que você estáescolhendo aquele número de sequência inicial não deve cair dentro da região proibida do número de sequência anterior do. Agora como você vai garantir isso para garantir que antes temosvisto que bem, sempre que estiver escolhendo o número de sequência inicial você tem 2 de formapara escolher o número da sequência inicial. Então, basta tentar lembrar os conceitos que nósdiscutimos anteriormente, então apenas brevemente explicando-o novamente para a sua conveniência.(Consulte o Tempo do slide: 04:42)Então, sempre que estiver escolhendo este número de sequência inicial. Portanto, este é o eixo do tempo eeste é o eixo de número de sequência. Então, esta foi a conexão anterior se esta era a conexão anteriorentão isto era dizer a região proibida para esta conexão particular. Então, esteé a conexão 1 e esta é a região proibida para conexão 1.Agora sempre que estiver iniciando uma nova conexão digamos neste ponto, a conexão 1 obtevecaiu aqui, então uma vez que a conexão 1 foi travada você deseja iniciar uma nova conexão você deseja iniciar uma nova conexão você precisa garantir que não estejainiciando a nova conexão diga; esta é a sua nova conexão dizer; esta é a sua nova conexão, conexão 2 você não estáiniciando esta conexão 2 em um ponto tal que a região proibida para conexão 2sobrepõe-se com conexão 1 para que não queiramos.Então, para prevenir que o que fazemos que para evitar que desejemos inicializar a conexão 2,tal que esses 2 de região proibida não se sobreponha uns aos outros. Agora para fazer que vocêtenha 2 opções a primeira opção é a primeira opção é apenas, logo, a primeira opção é você fazer um shiftno domínio do tempo e a segunda opção é que para fazer um shift na conexãodomínio do estabelecimento. Isso significa, no domínio de número de sequência. Então, o primeiro passo éque você o inicie depois de dar uma lacuna para que esta seja conexão 2. Então, você a inicia depois de dar uma lacuna, para que essa lacuna garanta que o espaço de número de sequência não se sobreponha.Então, você espera por certo tempo para garantir que todos os pacotes para conexão 1que foram transmitidos na rede eles tenham morrido desligados e sem nenhum rastro de que aqueles deeles estejam na rede e então só você tente uma nova conexão, caso contrário, a opção éque você escolhe o número de sequência inicial de tal forma que será alto o suficiente.Então, haveria diferença aqui do último número de sequência que é usado porconexão 1 e um novo número de sequência que você está usando da conexão 2. Então, láé uma diferença aqui tal que você será capaz de garantir que esse espaço de número de sequênciaque foi usado pela conexão 1, você não vai usar esse número de sequênciapara a conexão 2 para os dados da conexão 2.Agora o TCP garante que sempre que uma conexão, digamosconexão 1 trava, portanto, esta foi a conexão 1 sempre que a conexão 1 trava, sempre quevocê está iniciando a conexão 2 você escolhe a conexão 2, o número de sequência inicialde conexão 2 de tal forma que há uma lacuna no entre so isto é para conexão 2;há uma lacuna no entre e não há sobreposição entre o número de sequência que ésendo usado pela conexão 1 e que está sendo usado pela conexão 2.Então, para isso, o TCP usa um mecanismo de clocking, assim o TCP gera o número de sequênciabaseado em um relógio. Então, essa foi a primeira implementação do TCP ou a versão anterior doo TCP, ele usou a sequência que ele usou para gerar o número de sequência baseado em um mecanismo de clock. Então, a metodologia era algo assim, então essa implementação originaldo TCP usava uma abordagem baseada no relógio. Então, o relógio ticou a cada 4microssegundos, portanto, sempre que o relógio está fazendo o tique-taque você está gerando uma nova sequêncianúmero se você tem um conjunto de bytes 2 e o valor do relógio ele ciclos de 0 232-1.Então, você se lembra que o TCP usa um número de sequência de 32 bits, assim, todo o seu espaço de sequênciaé de 0 232-1; então isso significa, a cada 4 microssegundos você está gerando um novo número de sequênciae sempre que uma conexão trava e será reiniciada então você vai usaro número de sequência que está sendo gerado pelo relógio. Então, isso é usado paragerando o número de sequência inicial, então o número de sequência irá incrementadocom base nos bytes que você está recebendo e você está transmitindo com base no seu controle de fluxoe no algoritmo de controle de congestionamento. Então, esse valor do relógio ele dá o número de sequência inicialque estará sendo usado.(Consulte o Tempo do slide: 09:29)Então, com este mecanismo baseado no relógio o que você está garantindo; que significa, sempre que uma conexão anteriordizer get caiu aqui, a conexão get bateu aqui e você estáreiniciando a conexão pelo tempo em que o valor do relógio aumentará. E porque o valor do relógioestá aumentando você obviamente vai obter um número de sequência inicial aqui, que temcerta lacuna do número de sequência preenchido que foi usado pela conexão anterior.Então, você vai começar a partir daqui e será capaz de garantir que a região proibida deo número de sequência que foi usado pela conexão 2, portanto, esta é a conexão 2 que énão sobrepor com a região proibida da conexão 1. Agora, com esta abordagem específicatemos um problema como esta sequência de número de sequência se torna pouco determinista.(Consulte o Tempo do slide: 10:17)Então, se você souber que bem o relógio está batendo a cada 4 microssegundo e a cada 4microssegundo você está gerando um novo número de sequência; isso significa, um atacante serácapaz de entender olhando para os números de sequência anteriores que, qual é o relógiotaxa de carrapato, taxa de carrapato do relógio atual. E quando a conexão anterior foi travada comomuito tempo foi passado no intervalo entre, dividido pelo microsegundo de 4 segundos que deve ser o número de sequência inicialda próxima conexão. Se for esse o possível que é o caso entãohá a possibilidade de ataque de inundação SYN que pode acontecer em caso de TCP.Então, em caso de TCP o ataque de inundação do SYN é que você está continuamente enviando este tipo despurious SYN conexão a um nó e aquele nódulo específico vai aceitar aquelas conexãoem uma conexão genuína e eles vão ficar bloqueados aqui, pois, eles irão pensar nissoaquele número de sequência inicial específico que foi gerado, é realmente um número de sequência inicial inicial correto baseado na minha entrada do relógio, portanto, ele aceitará a conexão SYN. E se você está enviando múltiplas conexões SYN de vários computadores, isso se traduz em uma negação de ataques de serviço. Assim, o computador e um servidorsó se tornarão ocupados para resposta aos pacotes SYN, não será capaz de enviar quaisquer pacotes de dadosmais adiante.Então, essa é uma possibilidade de um ataque de inundação SYN para lançar uma negação de serviço sobre o TCP.Então, que ’ s por que a função posterior do TCP ou realmente a versão atual do TCPo que ele faz, que usa a função criptográfica para gerar os números de sequência inicial. Então, é como se o seu valor do relógio dará 1 um valor de função 1. Então, digamos que o valor do relógioestá dizendo que seu número de sequência inicial deve ser x, se o seu número de sequência inicialé x então você aplica uma função criptográfica para gerar um número de sequência inicial detal que seu número de sequência inicial y ele é mais que x e porqueisto é gerado a partir de uma função criptograficamente segura, portanto, o invasor não serácapaz de prever o valor de y.Então, dessa forma, você está garantindo esse bem em caso de uma conexão anterior, quando a conexãofoi travada aqui e você está tentando gerar um novo número de sequência, seu valor de clock diz que você deve gerar o novo número de sequência a partir deste ponto. Mas,então sempre que você estiver reiniciando uma conexão você deve gerá-la a partir deste ponto, masentão a função hash criptográfica gera outro valor que é mais do que este ponto específico dedizer por aqui. E você está iniciando sua nova conexão a partir daquele ponto.Então, dessa forma ele vai garantir porque você está indo mais alto disso, ele vai garantir que lánão seja sobreposição entre a região proibida desta nova conexão e a região proibidadesta antiga conexão, e ao mesmo tempo porque esse valor foigerado criptograficamente o atacante não será capaz de adivinhar isso. Assim, dessa formavocê será capaz de salvaguardar o ataque de inundação SYN em um TCP. OK?(Consulte O Slide Time: 13:28)Agora, o release de conexão TCP ele usa novamente o mecanismo de handtremendo de 3 vias. Então, nóstemos 2 Host, Host A e Host B. Agora o Host A quer fechar a conexão, quando o Host Aquer fechar a conexão nele inicializa este encerramento de conexão chamamos como umativo próximo. Assim, em caso de active close Host A enviará uma mensagem FIN FIN é a forma completa do acabamento.Então, você deseja fechar a conexão enviar uma mensagem FIN com um número de sequência atuale um número de confirmação atual, então o Host B uma vez que ele receber a mensagem FINela novamente acesse o fechamento de conexão próxima com este fechamento passivo. Então, no fechamento passivo, ele envia uma mensagem FIN, envia uma mensagem de confirmação para esta fin,para que o Host A possa fechar a conexão nesse reconhecimento ele reconhece esta mensagemFIN com n mais 1. E ao mesmo tempo em que o Host B quer fechar a conexãoem si, portanto, esta mensagem FIN do Host A para o Host B ela está fechando a conexão de A aB.Agora, se B quiser fechar a conexão também, então temos uma conexão bidirecional Btambém B a A agora se B quiser fechar esta conexão B envia esta mensagem FIN. Se B fizernão quiser fechá-lo imediatamente então o que B pode fazer que B pode enviar apenas a mensagem de confirmaçãoe mais tarde em quando quiser fechar a conexão, ele podeenviar a sua própria mensagem FIN que também é possível.
Estabelecimento de Conexão TCP-Parte 2
Agora, uma vez que o Host A receba estasmensagem de confirmação ela inicia um tempo limite, este tempo limite é para evitar essas perdas de dadosdevido à natureza simétrica do encerramento. Assim, se você lembrar que olhamos paramais cedo que o insight assimétrico de fechamento e rede não confiável não é possível por isso queremosimplementar um encerramento simétrico com um valor de tempo limite.Então, este valor de tempo limite garante que bem se você ainda está recebendo alguns pacotes de B,então você pode continuar recebendo esse pacote uma vez que este tempo limite ocorrer, você completamentefechar essa conexão você não aceitará nenhum pacote depois disso. Mesmo que você possa obter algumcertos pacotes depois disso, mas esses pacotes vão se perder. Você não pode fazer nada comaqueles pacotes e um similarmente o Host A enviando a mensagem de confirmação contra uma mensagemFIN ou FIN mais aviso de confirmação enviar por Host B e ele atualiza o número de confirmaçãoadequadamente contra estes número de sequência, e envia de voltaa confirmação para o Host B, portanto, o Host B volta a fechar a conexão e não enviarnenhum dado.Então, você pode ver que o tempo limite está aqui em caso de fechamento ativo, mas para fechamento passivonão exigimos nenhum tempo limite porque, essa é a última entidade que vai fechar. Nósexigimos esse tempo limite para fechamento ativo porque pode acontecer que quando o Host A for iniciadoeste encerramento, o Host A depois de obter o reconhecimento Host A ainda pode receber alguns dadosdo Host B porque, o Host B não enviou nenhuma mensagem FIN com ele ou mesmo se ele tiver enviado uma mensagemFIN pode acontecer que por causa destes reordenação do pacote você podereceber certos pacotes após isso.Então, aplicamos este mecanismo de tempo limite no lado ativo close, mas no lado passivo closenão exigimos o tempo limite porque, no lado passivo passivo sempre que você estiverobtendo um confirmação do Host A, você sabe que o Host A já fechou é a conexão, o Host A tem enviar uma mensagem FIN mesmo. Então, é assim mesmo que o seu amigo tenhafechado a porta e seu amigo não tem como não querer que você entre no quarto dele. Então, você nãoquer esperar mais.Então, então essa é a razão aqui que o Host A já iniciou essa mensagem de conclusão. Assim,O Host A não enviará mais nenhum dado Host B sabe que, assim, para o caso de fechamento passivo vocênão precisa esperar pelo valor de tempo limite, enquanto que para o caso de fechamento ativo eu estoutenso a tentar fechar a conexão. Por isso estou dando uma oportunidade para a outra pontaenviar poucos mais dados para mim se quiser, então é por isso que temos esse valor de tempo limite aqui.Agora como você já olhou mais cedo para aquele protocolo de camada de transporte hipotético que estestodo protocolo da camada de transporte segue um diagrama de transição de estado. Assim também temos um diagrama de transição de estadopara TCP.(Consulte o Slide Time: 17:48)Então, vamos olhar para o diagrama de transição de estado do TCP em pequenos detalhes porque, esse é oconceito importante para TCP. Então, todo esse procedimento de transição de estado iniciam a partir deste fechamentoestado; isso significa, o servidor e o cliente ambos estão fechados, então eles são eles têmnão iniciado nenhum socket TCP ainda.Então, esta é a notação que você vê que tudo é escrito por 1 barra de mensagensoutra mensagem, portanto, este é o par de ação do evento. Então, esse primeiro é o evento e segundouma é a ação. Em seguida, essa linha tracejada é para o servidor. Então, essa linha tracejada que ésendo seguida que é para o servidor e linha sólida é para o cliente TCP.(Consulte o Tempo do slide: 18:43)Então, o cliente como você sabe que em um modelo de OSI do servidor cliente, o servidor permanece no estado de atendimentopara obter uma conexão, obtendo uma solicitação de conexão de um cliente. Então, o clienteinicia a solicitação de conexão e uma vez que o cliente conecta o cliente recebe uma solicitação de conexãoe um servidor o recebe, ele inicia o processamento com essa conexão.Então, vamos ver que como toda essa equipe se move usando este diagrama de transição de estado usando o diagrama de transição de estado TCP. Por isso, a partir deste estado próximo vamos primeiro olhar para o lado do cliente.Então, o cliente inicia a chamada do sistema connect e envia a mensagem SYN. Então, esse é oprimeiro passo do procedimento de handtremendo de 3 way e depois o cliente se move para o estado SYN.Então, neste estado, o cliente enviou uma mensagem SYN e ele está aguardando o reconhecimentodo servidor. Agora a partir deste estado SYN o cliente de estado pode decidirdepois de enviar o SYN que não quero enviar mais dados deseja imediatamentefechar a conexão, portanto pode usar uma mensagem próxima para fechar a conexão imediatamentee mover-se para o estado próximo.Então, sempre que estiver no estado de fechamento mesmo que o servidor receba a mensagem SYN eenviar de volta com uma confirmação, não aceitará essa confirmação, ela irásimplesmente soltar a confirmação. E, ele não enviará mais dados porque está emo estado próximo e o servidor aguardará por algum tempo, obter um tempo fora e novamentemover-se para o estado próximo. Então, ou seja, para o estado do SYN.(Consulte o Slide Time: 20:29)Agora, depois de ter enviado um SYN então você pode naquele 3 way handtremendo mecanismodo cliente para o servidor primeiro você tem que enviar a mensagem SYN, então você receberáum ACK do servidor juntamente com o SYN do servidor também e finalmente você iráenviar a mensagem ACK.Então, aqui na segunda etapa você recebeu uma mensagem SYN mais ACK do servidor. Então, uma vez que você tenha recebido essa mensagem de confirmação de SYN mais do servidor, então você envia uma mensagem de confirmação e se desloca para o estado estabelecido.similarmente o servidor do estado próximo, ele primeiro faz esta chamada do sistema de atendimento e movepara o estado de atendimento. Por isso, no estado de atendimento ele está pronto para receber qualquer mensagem de estabelecimentode conexão. Assim, uma vez que receba uma mensagem SYN ela envia de volta com uma mensagem SYNmais confirmação.Então, esta é a segunda etapa do mecanismo de handtremendo de 3 vias. Então, o servidor temrecebido a mensagem SYN e, em seguida, enviando uma mensagem de confirmação de SYN mais eesta é a terceira etapa da maneira 3 como handtremendo onde o cliente está recebendo o SYN maisACK do servidor e envio de volta com a confirmação final e uma vez que o clientefez isso, cliente está se deslocando para o estado estabelecido e ele está pronto para transferência de dados.Agora, a partir deste estado de escuta novamente o servidor pode executar um fechamento e fechar a conexãoimediatamente, quando o servidor tiver recebido uma mensagem enviar SYN e enviar de volta um SYNmais mensagem de confirmação, servidor segue para o estado de recebimento SYN. Portanto, a partir do estado do recebimentopode fazer uma chamada de reset e redefinir a conexão com o estado de atendimento.Então, essa chamada de reset é que servidor de alguma forma decide que não deseja continuar a conexãomais alguma, que é algum tempo necessário para evitar o ataque sempre que estiverrecebendo várias mensagens SYN do mesmo cliente como uma coisa de inundação SYN aimpedir que você possa ter uma chamada de reset ou talvez para algum requisito de aplicativo oubaseado na programação do aplicativo ou certa exceção no lado do aplicativo vocêdeseja redefinir a conexão existente.Então, a partir do recebimento SYN você pode chamar uma chamada de reset e novamente mover-se para o estado de atendimento eignorar estes SYN que você já recebeu. Agora, há pode haver 1 caso em quetanto o servidor quanto o cliente estão iniciando a conexão juntos, portanto, nesse caso que échamamos como abertura simultânea.(Consulte o Slide Time: 23:07)Então, é exatamente assim do servidor e cliente, o cliente tem envio de um SYN e nomesmo tempo o servidor também enviou um SYN. Assim, se for esse o caso como você está recebendo uma mensagemSYN do servidor, o cliente está recebendo uma mensagem SYN do servidorporque o ideal é que o cliente deve enviar um SYN e depois disso obter o cliente deve obter um reconhecimento deSYN mais. Mas se for apenas obter a mensagem SYN do servidor, elaenvia uma mensagem de confirmação de SYN mais e o cliente também pode se deslocar para o estado de recebimento do SYN.Então, é assim mesmo que você enviou uma mensagem SYN para o servidor, mas em vez de obter uma confirmação deSYN mais, a confirmação para o SYN que você enviou a vocêestão recebendo uma mensagem SYN e não a mensagem de confirmação, portanto, você é o clienteestá se deslocando para o estado de recebimento SYN. Nesta fase, sempre que você estiver obtendo uma mensagem de confirmação, você está se movendo em direção ao estado estabelecido. Então, o servidorestá movendo servidor está obtendo esta mensagem de confirmação final de confirmação para o3 way handtremendo e ele está se movendo para o estado de estabelecimento.Então, esse caminho por meio desse procedimento todos estão se movendo em direção ao estado estabelecido ea partir desta transferência de dados do estado do estabelecimento pode ser iniciado. Então, isso é para a conexãoestabelecimento do TCP que ele se move para este vários estados, e finalmente chega ao estado estabelecidoquando você pode iniciar a transferência de dados. Agora a transferência de dados pode seguir emcom base no princípio que mostramos anteriormente que se estabelecido então enviar entãoenviar dados ou se estabelecido e receber dados. E após esta conexão estabelecida estado,então após esta transferência de dados você quer se mudar para o estado de encerramento de conexãodeseja fechar essa conexão.(Consulte o Tempo do slide: 24:54)Agora, sempre que estiver querendo fechar essa conexão, o cliente pode iniciar a conexãoque conexão particular chamamos como um fechamento ativo, pois a conexãoencerramento é iniciada pelo cliente e para o servidor que está recebendo essa mensagem de conclusãoFIN mensagem que chamamos de close passivo. Por isso, vimos que anteriormente.Agora, em caso de fechamento ativo, o cliente envia um cliente executar o primitivo próximo eenviar uma mensagem FIN. Assim, sempre que tiver enviado uma mensagem FIN ela se desloca para este estado de espera 1, então após enviar esta mensagem FIN, você pensa na fase de liberação de conexãodo cliente para o servidor; você enviou uma mensagem FIN, após enviar uma mensagem FIN,há 2 possibilidades, 1 possibilidade é que você obtenha um FIN mais ACK. E a segunda possibilidadeé que o cliente e o servidor, o cliente tenha enviado uma mensagem FIN e ele não estejarecebendo um ACK é ele não está conseguindo um FIN it is apenas ficando o ACK. Então, se for este casoque você não está conseguindo o acabamento do servidor. Isso significa que o servidor está acreditando queele tem mais dados para enviar basta receber uma mensagem de confirmação e você se muda parao estado FIN espera 2 da FIN espera 1 estado, pois você não recebeu um FIN maisACK.Agora, se você está recebendo a mensagem FIN mais ACK, após receber esta mensagem FIN mais ACKvocê vai para este estado de espera. Assim, você lembra que para a conexão ativa,fechamento ativo temos esse valor de tempo fora, onde depois de receber este FIN mais ACK vocêespera por um valor de tempo limite uma vez que o tempo limite acontece então você limpa a conexão, então elese move para este estado de espera.similarmente este estado de espera ele recebeu a confirmação, mas estava esperando queconseguindo o FIN do servidor, uma vez que ele obtenha este FIN do servidor ele envia que ACKe move para o estado de espera de tempo. Agora pode haver outro caso como ele enviou uma mensagem FINpara o servidor, mas sem conseguir um ACK, ele recebeu outra mensagem FINdo próprio servidor.(Consulte o Tempo do slide: 27:22)Então, é um caso de tal caso é caso de encerramento simultâneo, em que o cliente enviou uma mensagem deFIN para o servidor e servidor enviou outra mensagem FIN para o cliente, semenviar o ACK. Então, isso significa, o servidor está acreditando que ele tem mais dados a receber,então nesse caso o cliente se desloca para o estado de fechamento enviando um ACK. Assim, você recebe a mensagem de conclusãoporque você está de qualquer maneira pronta para terminar, então você envia aquela mensagem de confirmaçãoe se desloca para este estado de fechamento. Neste estado de fechamento você estábasicamente esperando a confirmação do servidor para esta mensagem de acabamento quevocê enviou.Agora, após isso se o servidor enviar esta mensagem de confirmação para você, então você se movepara o estado de espera de tempo e após o tempo fora ocorre, você se desloca para o estado próximo. Em caso de fechamento passivo, as coisas são bem simples que você está no estado de espera de fechamento porque vocêrecebeu a mensagem FIN e você tem enviado de volta com uma mensagem de confirmaçãoe no estado de espera passiva você finalmente faz uma chamada de fechamento, então o servidor aqui estáfazendo uma ligação próxima aqui você enviou sua própria mensagem FIN, servidor está enviando sua própria mensagem FINe aguardando a última mensagem de confirmação.Então, precisamos ir para este encerramento síncrono e em caso de desfecho síncrono paraevitar a perda de dados o máximo possível, o TCP tomou esta etapas e neste em especialpassos, a parte interessante é esse tempo limite para encerramento ativo que uma vez que todas as coisas são mais deo nó que está iniciando para o encerramento ele aguarda por certo tempo. Uma vez que o tempo limiteocorre eles fechá-lo, mas para o fechamento passivo você não requer o tempo limiteporque, para o fechamento passivo a outra extremidade já fechou a conexão, portanto, vocêsabe que ele não vai enviar mais dados para você.Então, esta é toda a modelagem de conexão do protocolo TCP e na próxima classe,nós ’ ll olhar para o algoritmo de controle de fluxo. Então, este estabelecimento de conexão que ele temajudou você a definir o número da sequência inicial. Então uma vez que esse número de sequência inicial tenha sido estabelecidoentão você pode usar esse número de sequência inicial. Então, você está no estado estabelecidoe com aquele estado estabelecido e o número de sequência inicial que temfoi acordado durante a fase de estabelecimento de conexão; você pode usar isso para posterior transferência de dadosusando o seu algoritmo de controle de fluxo.Então, na próxima aula vamos analisar aquele algoritmo de controle de fluxo em detalhes.Obrigado a todos por atendem esta classe.