SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Estabelecimento e Encerramento
        de Conexão TCP




                    Luis Octávio C. de Moraes
                    luisoctavio.moraes@gmail.com
Estabelecimento
1. Um lado (o servidor) aguarda passivamente por uma conexão
de entrada, executando as primitivas LISTEN e ACCEPT através da
especificação de uma determinada origem ou de ninguém em
particular.

2. O outro lado (o cliente) executa a primitiva CONNECT,
especificando o endereço do socket (ip+porta) a qual deseja
conectar, o tamanho máximo do segmento TCP que está
disposto a aceitar, opcionalmente, alguns dados do usuário (por
exemplo, uma senha).
                            SYN = 1;          Sequence number = x;
                            ACK = 0;   Acknowledgement number = 0
Estabelecimento
3. Quando o segmento chega ao servidor, a entidade TCP verifica
se existe um processo executando a primitiva LISTEN na porta
informada no campo ‘destination port’. Caso não tenha, ela
envia uma resposta com o bit RST ativado para rejeitar a
conexão.

4. Se algum processo estiver na escuta da porta, esse processo
receberá o segmento TCP de entrada. Em seguida, ele poderá
aceitar ou registrar a conexão. Se aceitar, um segmento de
confirmação será retornado.
                              SYN = 1;           Sequence number = y;
                            ACK = 1;     Acknowledgement number = x + 1
Estabelecimento
5. Agora o servidor aguarda uma confirmação final do cliente,
para poder dar início a transmissão de dados.

                            SYN = 0;          Sequence number = x + 1;
                            ACK = 1;   Acknowledgement number = y + 1



6. Os dados são transmitidos.
Estabelecimento
Segue exemplo:
Estabelecimento
Cliente                     Servidor


               Rede
Estabelecimento
         Cliente                      Servidor
SYN: 1        Seq: 22
ACK: 0      Ack numb: 0
FIN: 0
Estabelecimento
         Cliente                           Servidor
SYN: 1        Seq: 22
ACK: 0      Ack numb: 0
FIN: 0

                                  SYN: 1        Seq: 45
                                  ACK: 1     Ack numb: 23
                                  FIN: 0
Estabelecimento
         Cliente                           Servidor
SYN: 1        Seq: 22
ACK: 0      Ack numb: 0
FIN: 0

                                  SYN: 1        Seq: 45
                                  ACK: 1     Ack numb: 23
                                  FIN: 0




SYN: 0         Seq: 23
ACK: 1      Ack numb: 46
FIN: 0
Estabelecimento
         Cliente                                 Servidor
SYN: 1        Seq: 22
ACK: 0      Ack numb: 0
FIN: 0

                                        SYN: 1        Seq: 45
                                        ACK: 1     Ack numb: 23
                                        FIN: 0




SYN: 0         Seq: 23
ACK: 1      Ack numb: 46
FIN: 0



               Transferência de Dados
Encerramento
Apesar das conexões TCP serem full-duplex, fica mais fácil
compreender como as conexões são encerradas se as considerarmos
um par de conexões simplex. Cada conexão simplex é encerrada de
modo independente de sua parceira.
Qualquer dos lados pode enviar um segmento com o bit FIN ativado, o
que significa que não há mais dados para serem transmitidos. Quando
FIN é confirmado, esse sentido é desativado para novos dados. No
entanto, os dados podem continuar a fluir indefinitamente no outro
sentido.
De modo geral, são necessários quatro segmentos TCP para encerrar
uma conexão, isto é um FIN e um ACK para cada sentido. Porém é
possível que o primeiro ACK e o segundo FIN ocupem o mesmo
segmento, o que baixa o número total para três.
Encerramento
Segue exemplo:
Encerramento
Cliente                  Servidor
Encerramento
         Cliente                      Servidor
SYN: 0         Seq: 23
ACK: 1      Ack numb: 46
FIN: 1
Encerramento
         Cliente                               Servidor
SYN: 0         Seq: 23
ACK: 1      Ack numb: 46
FIN: 1

                                      SYN: 0        Seq: 46
                                      ACK: 1     Ack numb: 24
                                      FIN: 0
Encerramento
          Cliente                               Servidor
 SYN: 0         Seq: 23
 ACK: 1      Ack numb: 46
 FIN: 1

                                       SYN: 0        Seq: 46
                                       ACK: 1     Ack numb: 24
                                       FIN: 0




Obs: Neste momento foi encerrado o envio de novos dados
 apenas no sentido cliente-servidor. Nada impede do
        servidor continuar enviando novos dados.
Encerramento
         Cliente                               Servidor
SYN: 0         Seq: 23
ACK: 1      Ack numb: 46
FIN: 1
                                      SYN: 0        Seq: 46
                                      ACK: 1     Ack numb: 24
                                      FIN: 0



                                      SYN: 0        Seq: 46
                                      ACK: 1     Ack numb: 24
                                      FIN: 1
Encerramento
         Cliente                               Servidor
SYN: 0         Seq: 23
ACK: 1      Ack numb: 46
FIN: 1
                                      SYN: 0        Seq: 46
                                      ACK: 1     Ack numb: 24
                                      FIN: 0



                                      SYN: 0        Seq: 46
                                      ACK: 1     Ack numb: 24
                                      FIN: 1

SYN: 0         Seq: 24
ACK: 1      Ack numb: 47
FIN: 0

            Encerramento da conexão finalizado
            para os dois lados da conexão.
Referências
• TANENBAUM. A. Rede de computadores. 4º
  Edição.

• http://support.microsoft.com/kb/172983/pt-
  br
  – Último acesso em 12/03/2013.

Mais conteúdo relacionado

Mais procurados

Presentation
PresentationPresentation
PresentationVirak Sou
 
Aocs Intro
Aocs IntroAocs Intro
Aocs Introhome
 
Security Issues in MANET
Security Issues in MANETSecurity Issues in MANET
Security Issues in MANETNitin Verma
 
Introduction to Mobile Ad hoc Networks
Introduction to Mobile Ad hoc NetworksIntroduction to Mobile Ad hoc Networks
Introduction to Mobile Ad hoc NetworksSayed Chhattan Shah
 
Principle of FMCW radar
Principle of FMCW radarPrinciple of FMCW radar
Principle of FMCW radartobiasotto
 
Chirp spread spectrum communication
Chirp spread spectrum communicationChirp spread spectrum communication
Chirp spread spectrum communicationMahmudul Islam
 
Intrusion Detection System
Intrusion Detection SystemIntrusion Detection System
Intrusion Detection SystemMohit Belwal
 
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...Sagar Rai
 
Chapter 6 – propagation path loss models
Chapter 6 – propagation path loss modelsChapter 6 – propagation path loss models
Chapter 6 – propagation path loss modelsNguyen Minh Thu
 
Software defined radio
Software defined radioSoftware defined radio
Software defined radioDevesh Samaiya
 
Security of software defined networking (sdn) and cognitive radio network (crn)
Security of software defined networking (sdn) and  cognitive radio network (crn)Security of software defined networking (sdn) and  cognitive radio network (crn)
Security of software defined networking (sdn) and cognitive radio network (crn)Ameer Sameer
 

Mais procurados (20)

Presentation
PresentationPresentation
Presentation
 
Aocs Intro
Aocs IntroAocs Intro
Aocs Intro
 
Security Issues in MANET
Security Issues in MANETSecurity Issues in MANET
Security Issues in MANET
 
Noma And Future
Noma  And FutureNoma  And Future
Noma And Future
 
Introduction to Mobile Ad hoc Networks
Introduction to Mobile Ad hoc NetworksIntroduction to Mobile Ad hoc Networks
Introduction to Mobile Ad hoc Networks
 
Propagation mechanisms
Propagation mechanismsPropagation mechanisms
Propagation mechanisms
 
Principle of FMCW radar
Principle of FMCW radarPrinciple of FMCW radar
Principle of FMCW radar
 
Chirp spread spectrum communication
Chirp spread spectrum communicationChirp spread spectrum communication
Chirp spread spectrum communication
 
Intrusion Detection System
Intrusion Detection SystemIntrusion Detection System
Intrusion Detection System
 
Security in WSN
Security in WSNSecurity in WSN
Security in WSN
 
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
 
Mobile Agent
Mobile AgentMobile Agent
Mobile Agent
 
Routing protocols in ad hoc network
Routing protocols in ad hoc networkRouting protocols in ad hoc network
Routing protocols in ad hoc network
 
Satellite link design
Satellite link designSatellite link design
Satellite link design
 
Spread Spectrum
Spread SpectrumSpread Spectrum
Spread Spectrum
 
Chapter 6 – propagation path loss models
Chapter 6 – propagation path loss modelsChapter 6 – propagation path loss models
Chapter 6 – propagation path loss models
 
Firewalls
FirewallsFirewalls
Firewalls
 
Software defined radio
Software defined radioSoftware defined radio
Software defined radio
 
Ssma
SsmaSsma
Ssma
 
Security of software defined networking (sdn) and cognitive radio network (crn)
Security of software defined networking (sdn) and  cognitive radio network (crn)Security of software defined networking (sdn) and  cognitive radio network (crn)
Security of software defined networking (sdn) and cognitive radio network (crn)
 

Estabelecimento e Encerramento TCP

  • 1. Estabelecimento e Encerramento de Conexão TCP Luis Octávio C. de Moraes luisoctavio.moraes@gmail.com
  • 2. Estabelecimento 1. Um lado (o servidor) aguarda passivamente por uma conexão de entrada, executando as primitivas LISTEN e ACCEPT através da especificação de uma determinada origem ou de ninguém em particular. 2. O outro lado (o cliente) executa a primitiva CONNECT, especificando o endereço do socket (ip+porta) a qual deseja conectar, o tamanho máximo do segmento TCP que está disposto a aceitar, opcionalmente, alguns dados do usuário (por exemplo, uma senha). SYN = 1; Sequence number = x; ACK = 0; Acknowledgement number = 0
  • 3. Estabelecimento 3. Quando o segmento chega ao servidor, a entidade TCP verifica se existe um processo executando a primitiva LISTEN na porta informada no campo ‘destination port’. Caso não tenha, ela envia uma resposta com o bit RST ativado para rejeitar a conexão. 4. Se algum processo estiver na escuta da porta, esse processo receberá o segmento TCP de entrada. Em seguida, ele poderá aceitar ou registrar a conexão. Se aceitar, um segmento de confirmação será retornado. SYN = 1; Sequence number = y; ACK = 1; Acknowledgement number = x + 1
  • 4. Estabelecimento 5. Agora o servidor aguarda uma confirmação final do cliente, para poder dar início a transmissão de dados. SYN = 0; Sequence number = x + 1; ACK = 1; Acknowledgement number = y + 1 6. Os dados são transmitidos.
  • 6. Estabelecimento Cliente Servidor Rede
  • 7. Estabelecimento Cliente Servidor SYN: 1 Seq: 22 ACK: 0 Ack numb: 0 FIN: 0
  • 8. Estabelecimento Cliente Servidor SYN: 1 Seq: 22 ACK: 0 Ack numb: 0 FIN: 0 SYN: 1 Seq: 45 ACK: 1 Ack numb: 23 FIN: 0
  • 9. Estabelecimento Cliente Servidor SYN: 1 Seq: 22 ACK: 0 Ack numb: 0 FIN: 0 SYN: 1 Seq: 45 ACK: 1 Ack numb: 23 FIN: 0 SYN: 0 Seq: 23 ACK: 1 Ack numb: 46 FIN: 0
  • 10. Estabelecimento Cliente Servidor SYN: 1 Seq: 22 ACK: 0 Ack numb: 0 FIN: 0 SYN: 1 Seq: 45 ACK: 1 Ack numb: 23 FIN: 0 SYN: 0 Seq: 23 ACK: 1 Ack numb: 46 FIN: 0 Transferência de Dados
  • 11. Encerramento Apesar das conexões TCP serem full-duplex, fica mais fácil compreender como as conexões são encerradas se as considerarmos um par de conexões simplex. Cada conexão simplex é encerrada de modo independente de sua parceira. Qualquer dos lados pode enviar um segmento com o bit FIN ativado, o que significa que não há mais dados para serem transmitidos. Quando FIN é confirmado, esse sentido é desativado para novos dados. No entanto, os dados podem continuar a fluir indefinitamente no outro sentido. De modo geral, são necessários quatro segmentos TCP para encerrar uma conexão, isto é um FIN e um ACK para cada sentido. Porém é possível que o primeiro ACK e o segundo FIN ocupem o mesmo segmento, o que baixa o número total para três.
  • 14. Encerramento Cliente Servidor SYN: 0 Seq: 23 ACK: 1 Ack numb: 46 FIN: 1
  • 15. Encerramento Cliente Servidor SYN: 0 Seq: 23 ACK: 1 Ack numb: 46 FIN: 1 SYN: 0 Seq: 46 ACK: 1 Ack numb: 24 FIN: 0
  • 16. Encerramento Cliente Servidor SYN: 0 Seq: 23 ACK: 1 Ack numb: 46 FIN: 1 SYN: 0 Seq: 46 ACK: 1 Ack numb: 24 FIN: 0 Obs: Neste momento foi encerrado o envio de novos dados apenas no sentido cliente-servidor. Nada impede do servidor continuar enviando novos dados.
  • 17. Encerramento Cliente Servidor SYN: 0 Seq: 23 ACK: 1 Ack numb: 46 FIN: 1 SYN: 0 Seq: 46 ACK: 1 Ack numb: 24 FIN: 0 SYN: 0 Seq: 46 ACK: 1 Ack numb: 24 FIN: 1
  • 18. Encerramento Cliente Servidor SYN: 0 Seq: 23 ACK: 1 Ack numb: 46 FIN: 1 SYN: 0 Seq: 46 ACK: 1 Ack numb: 24 FIN: 0 SYN: 0 Seq: 46 ACK: 1 Ack numb: 24 FIN: 1 SYN: 0 Seq: 24 ACK: 1 Ack numb: 47 FIN: 0 Encerramento da conexão finalizado para os dois lados da conexão.
  • 19. Referências • TANENBAUM. A. Rede de computadores. 4º Edição. • http://support.microsoft.com/kb/172983/pt- br – Último acesso em 12/03/2013.