Você está offline; aguardando reconexão

Não há suporte para seu navegador

Você precisa atualizar seu navegador para usar o site.

Atualize para a versão mais recente do Internet Explorer

Explicação sobre o handshake de três vias via TCP/IP

O suporte para o Windows XP terminou

A Microsoft terminou o suporte para o Windows XP em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

O suporte para o Windows Server 2003 termina em 14 de julho de 2015.

A Microsoft terminou o suporte para o Windows Server 2003 em 14 de julho de 2015. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 172983
Sumário
Este artigo destina-se ao público que estão familiarizado com o TCP/IP (Transmission Control Protocol/Internet Protocol) e discute o processo de handshake de três vias do TCP que ocorre entre um cliente e servidor ao iniciar ou encerrar uma conexão TCP.

Para obter informações adicionais sobre TCP/IP, consulte o seguinte white paper disponível no servidor de ftp anônimo do Microsoft (em inglês):
Nome do arquivo: Tcpipimp2.doc
Local: ftp://ftp.microsoft.com/bussys/winnt/winnt-docs/papers/ "Microsoft Windows NT 3.5/3.51/4.0: detalhes da implementação de TCP/IP pilha do protocolo TCP/IP e serviços, versão 2.0"
Mais Informações
O nível de TCP (Transmission Control Protocol) do protocolo de transporte TCP/IP é orientado por conexão. Orientado por conexão significa que, antes de todos os dados podem ser transmitidos, uma conexão confiável deve ser obtida e confirmada. TCP transmissões de dados em nível de estabelecimento da conexão e encerramento da conexão mantém parâmetros de controle específicas que regem o processo inteiro. Os bits de controle são listados da seguinte maneira:
URG: Campo de ponteiro urgente significativo
ACK: Campo de confirmação significativo
PSH: Função de push
RST: Redefinir a conexão
SYN: Sincronizar números de seqüência
FIN: Não há mais dados do remetente
Há dois cenários em que um handshake de três vias ocorrerá:
  • Estabelecer uma conexão (aberto ativa)
  • Encerrar uma conexão (fechamento ativo)
As seguintes informações de exemplo foi obtidas de uma captura do Monitor de rede. O Monitor de rede é um analisador de protocolo que pode ser obtido a partir do Microsoft Systems Management Server.

Estabelecer uma conexão

A seqüência a seguir mostra o processo de uma conexão TCP estabelecida:

Quadro 1:

Como você ver no primeiro quadro, o cliente, NTW3, envia um segmento SYN (TCP.... S.). Essa é uma solicitação ao servidor para sincronizar os números de seqüência. Ele especifica seu número de seqüência inicial (ISN), que é incrementado em 1, 8221821 + 1 = 8221822 e que é enviada ao servidor. Para inicializar uma conexão, o cliente e o servidor devem sincronizar números de seqüência dos outros. Também é uma opção de tamanho máximo de segmento (MSS) deve ser definido, que é definida pelo comprimento (comp.: 4). esta opção se comunica o tamanho máximo de segmento, o remetente deseja receber. O campo de confirmação (ack: 0) é definida como zero porque esta é a primeira parte do handshake de três vias.
1    2.0785 NTW3 --> BDC3 TCP ....S., len: 4, seq: 8221822-8221825, ack: 0,win: 8192, src: 1037  dst:  139 (NBT Session)  NTW3 -->  BDC3 IPTCP: ....S., len: 4, seq: 8221822-8221825, ack: 0, win: 8192, src: 1037dst:  139 (NBT Session)   TCP: Source Port = 0x040D   TCP: Destination Port = NETBIOS Session Service   TCP: Sequence Number = 8221822 (0x7D747E)   TCP: Acknowledgement Number = 0 (0x0)   TCP: Data Offset = 24 (0x18)   TCP: Reserved = 0 (0x0000)   TCP: Flags = 0x02 : ....S.      TCP: ..0..... = No urgent data      TCP: ...0.... = Acknowledgement field not significant      TCP: ....0... = No Push function      TCP: .....0.. = No Reset      TCP: ......1. = Synchronize sequence numbers      TCP: .......0 = No Fin   TCP: Window = 8192 (0x2000)   TCP: Checksum = 0xF213   TCP: Urgent Pointer = 0 (0x0)   TCP: Options         TCP: Option Kind (Maximum Segment Size) = 2 (0x2)         TCP: Option Length = 4 (0x4)         TCP: Option Value = 1460 (0x5B4)   TCP: Frame Padding00000:  02 60 8C 9E 18 8B 02 60 8C 3B 85 C1 08 00 45 00   .`.....`.;....E.00010:  00 2C 0D 01 40 00 80 06 E1 4B 83 6B 02 D6 83 6B   .,..@....K.k...k00020:  02 D3 04 0D 00 8B 00 7D 74 7E 00 00 00 00 60 02   .......}t~....`.00030:  20 00 F2 13 00 00 02 04 05 B4 20 20                .........				
Frame 2:

No segundo quadro, o servidor, BDC3, envia um pacote ACK e um SYN neste segmento (TCP. a..S.). in neste segmento do servidor está reconhecendo a solicitação do cliente para sincronização. Ao mesmo tempo, o servidor está enviando também sua solicitação para o cliente para a sincronização de seus números de seqüência. Há uma diferença importante neste segmento. O servidor transmite um número de confirmação (8221823) para o cliente. A confirmação é apenas prova ao cliente o ACK é específico para o cliente iniciado SYN. O processo de reconhecimento de solicitação do cliente permite que o servidor incrementar o número de seqüência do cliente por um e usa como seu número de confirmação.
2   2.0786 BDC3 --> NTW3  TCP .A..S., len: 4, seq: 1109645-1109648, ack:8221823, win: 8760, src: 139 (NBT Session)  dst: 1037 BDC3 --> NTW3  IPTCP: .A..S., len:    4, seq:   1109645-1109648, ack:   8221823, win: 8760,src:  139 (NBT Session)  dst: 1037   TCP: Source Port = NETBIOS Session Service   TCP: Destination Port = 0x040D   TCP: Sequence Number = 1109645 (0x10EE8D)   TCP: Acknowledgement Number = 8221823 (0x7D747F)   TCP: Data Offset = 24 (0x18)   TCP: Reserved = 0 (0x0000)   TCP: Flags = 0x12 : .A..S.      TCP: ..0..... = No urgent data      TCP: ...1.... = Acknowledgement field significant      TCP: ....0... = No Push function      TCP: .....0.. = No Reset      TCP: ......1. = Synchronize sequence numbers      TCP: .......0 = No Fin   TCP: Window = 8760 (0x2238)   TCP: Checksum = 0x012D   TCP: Urgent Pointer = 0 (0x0)   TCP: Options         TCP: Option Kind (Maximum Segment Size) = 2 (0x2)         TCP: Option Length = 4 (0x4)         TCP: Option Value = 1460 (0x5B4)   TCP: Frame Padding00000:  02 60 8C 3B 85 C1 02 60 8C 9E 18 8B 08 00 45 00   .`.;...`......E.00010:  00 2C 5B 00 40 00 80 06 93 4C 83 6B 02 D3 83 6B   .,[.@....L.k...k00020:  02 D6 00 8B 04 0D 00 10 EE 8D 00 7D 74 7F 60 12   ...........}t`.00030:  22 38 01 2D 00 00 02 04 05 B4 20 20               "8.-......				
Frame 3:

No terceiro quadro, o cliente envia um pacote ACK neste segmento (TCP. a....). Neste segmento, o cliente está reconhecendo a solicitação do servidor para sincronização. O cliente usa o mesmo algoritmo de servidor implementado no fornecimento de um número de confirmação. Confirmação do cliente de solicitação do servidor de sincronização conclui o processo de estabelecer uma conexão confiável, portanto o handshake de três vias.
3   2.787 NTW3 --> BDC3  TCP .A...., len: 0, seq: 8221823-8221823, ack:1109646, win: 8760, src: 1037  dst:  139 (NBT Session)  NTW3 --> BDC3  IPTCP: .A...., len:    0, seq:   8221823-8221823, ack:   1109646, win: 8760,src: 1037  dst:  139 (NBT Session)   TCP: Source Port = 0x040D   TCP: Destination Port = NETBIOS Session Service   TCP: Sequence Number = 8221823 (0x7D747F)   TCP: Acknowledgement Number = 1109646 (0x10EE8E)   TCP: Data Offset = 20 (0x14)   TCP: Reserved = 0 (0x0000)   TCP: Flags = 0x10 : .A....      TCP: ..0..... = No urgent data      TCP: ...1.... = Acknowledgement field significant      TCP: ....0... = No Push function      TCP: .....0.. = No Reset      TCP: ......0. = No Synchronize      TCP: .......0 = No Fin   TCP: Window = 8760 (0x2238)   TCP: Checksum = 0x18EA   TCP: Urgent Pointer = 0 (0x0)   TCP: Frame Padding00000:  02 60 8C 9E 18 8B 02 60 8C 3B 85 C1 08 00 45 00   .`.....`.;....E.00010:  00 28 0E 01 40 00 80 06 E0 4F 83 6B 02 D6 83 6B   .(..@....O.k...k00020:  02 D3 04 0D 00 8B 00 7D 74 7F 00 10 EE 8E 50 10   .......}t....P.00030:  22 38 18 EA 00 00 20 20 20 20 20 20               "8....				

Encerrar uma conexão

Embora o handshake de três vias requer apenas três pacotes a serem transmitidas pela nossa mídia em rede, a finalização desta conexão confiável irá exigir a transmissão de pacotes de quatro. Como uma conexão TCP é full duplex (ou seja, dados podem ser fluir em cada direção independente da outra), cada direção deve ser terminada independentemente.

Quadro 4:

Nesta sessão de quadros, você vê o cliente envia um FIN é acompanhado por um ACK (TCP. A...F). Esse segmento tem duas funções básicas. Primeiro, quando o parâmetro FIN é definido, você será informado no servidor que ele tem mais dados para enviar. Segundo, o ACK é essencial identificar a conexão específica, que eles estabeleceram.
4   16.0279 NTW3 --> BDC3 TCP .A...F, len: 0, seq: 8221823-8221823,ack:3462835714, win: 8760, src: 2337  dst: 139 (NBT Session)  NTW3 --> BDC3IPTCP: .A...F, len:   0, seq: 8221823-8221823, ack:  1109646, win: 8760, src:1037  dst:  139 (NBT Session)   TCP: Source Port = 0x040D   TCP: Destination Port = NETBIOS Session Service   TCP: Sequence Number = 8221823 (0x7D747F)   TCP: Acknowledgement Number = 1109646 (0x10EE8E)   TCP: Data Offset = 20 (0x14)   TCP: Reserved = 0 (0x0000)   TCP: Flags = 0x11 : .A...F      TCP: ..0..... = No urgent data      TCP: ...1.... = Acknowledgement field significant      TCP: ....0... = No Push function      TCP: .....0.. = No Reset      TCP: ......0. = No Synchronize      TCP: .......1 = No more data from sender   TCP: Window = 8760 (0x2238)   TCP: Checksum = 0x236C   TCP: Urgent Pointer = 0 (0x0)00000:  00 20 AF 47 93 58 00 A0 C9 22 F5 39 08 00 45 00   . .G.X...".9..E.00010:  00 28 9B F5 40 00 80 06 21 4A C0 5E DE 7B C0 5E   .(..@...!J.^.{.^00020:  DE 57 09 21 05 48 0B 20 96 AC CE 66 AE 02 50 11   .W.!.H. ...f..P.00030:  22 38 23 6C 00 00                                 "8#l..				
Frame 5:

Nesse quadro, você não vir nada especial exceto para o servidor confirmando FIN que foi transmitido do cliente.
5    16.0281 BDC3 --> NTW3 TCP .A...., len:    0, seq: 1109646-1109646,ack: 8221824, win:28672, src: 139  dst: 2337 (NBT Session) BDC3 -->  NTW3IPTCP: .A...., len:    0, seq: 1109646-1109646, ack: 8221824, win:28672, src:139  dst: 2337 (NBT Session)   TCP: Source Port = 0x040D   TCP: Destination Port = NETBIOS Session Service   TCP: Sequence Number = 1109646 (0x10EE8E)   TCP: Acknowledgement Number = 8221824 (0x7D7480)   TCP: Data Offset = 20 (0x14)   TCP: Reserved = 0 (0x0000)   TCP: Flags = 0x10 : .A....      TCP: ..0..... = No urgent data      TCP: ...1.... = Acknowledgement field significant      TCP: ....0... = No Push function      TCP: .....0.. = No Reset      TCP: ......0. = No Synchronize      TCP: .......0 = No Fin   TCP: Window = 28672 (0x7000)   TCP: Checksum = 0xD5A3   TCP: Urgent Pointer = 0 (0x0)   TCP: Frame Padding00000:  00 A0 C9 22 F5 39 08 00 02 03 BA 84 08 00 45 00   ...".9........E.00010:  00 28 D2 82 00 00 3F 06 6B BD C0 5E DE 57 C0 5E   .(....?.k..^.W.^00020:  DE 7B 05 48 09 21 CE 66 AE 02 0B 20 96 AD 50 10   .{.H.!.f... ..P.00030:  70 00 D5 A3 00 00 90 00 01 00 86 00               p...........				
Frame 6:

Depois de receber o FIN do computador cliente, o servidor irá ACK. Mesmo que o TCP estabeleceu conexões entre os dois computadores, as conexões são ainda independentes entre si. Portanto, o servidor também deve transmitir um FIN (TCP. A...F) para o cliente.
6   17.0085 BDC3 --> NTW3 TCP .A...F, len: 0, seq: 1109646-1109646, ack:8221824, win:28672, src: 139 dst: 2337 (NBT Session) BDC3 -->  NTW3   IPTCP: .A...F, len:  0, seq: 1109646-1109646, ack: 8221824, win:28672, src:139  dst: 2337 (NBT Session)   TCP: Source Port = 0x0548   TCP: Destination Port = 0x0921   TCP: Sequence Number = 1109646 (0x10EE8E)   TCP: Acknowledgement Number = 8221824 (0x7D7480)   TCP: Data Offset = 20 (0x14)   TCP: Reserved = 0 (0x0000)   TCP: Flags = 0x11 : .A...F      TCP: ..0..... = No urgent data      TCP: ...1.... = Acknowledgement field significant      TCP: ....0... = No Push function      TCP: .....0.. = No Reset      TCP: ......0. = No Synchronize      TCP: .......1 = No more data from sender   TCP: Window = 28672 (0x7000)   TCP: Checksum = 0xD5A2   TCP: Urgent Pointer = 0 (0x0)   TCP: Frame Padding00000:  00 A0 C9 22 F5 39 08 00 02 03 BA 84 08 00 45 00   ...".9........E.00010:  00 28 D2 94 00 00 3F 06 6B AB C0 5E DE 57 C0 5E   .(....?.k..^.W.^00020:  DE 7B 05 48 09 21 CE 66 AE 02 0B 20 96 AD 50 11   .{.H.!.f... ..P.00030:  70 00 D5 A2 00 00 02 04 05 B4 86 00               p...........				
Frame 7:

O cliente responde no mesmo formato que o servidor pelo ACKing FIN do servidor e incrementando o número de seqüência por 1.
7   17.0085 NTW3 --> BDC3 TCP .A...., len: 0, seq: 8221824-8221824, ack:1109647, win: 8760, src: 2337  dst: 139 (NBT Session) NTW3 --> BDC3 IPTCP: .A...., len:    0, seq: 8221824-8221824, ack: 1109647, win: 8760, src:2337  dst: 139   (NBT Session)   TCP: Source Port = 0x0921   TCP: Destination Port = 0x0548   TCP: Sequence Number = 8221824 (0x7D7480)   TCP: Acknowledgement Number = 1109647 (0x10EE8F)   TCP: Data Offset = 20 (0x14)   TCP: Reserved = 0 (0x0000)   TCP: Flags = 0x10 : .A....      TCP: ..0..... = No urgent data      TCP: ...1.... = Acknowledgement field significant      TCP: ....0... = No Push function      TCP: .....0.. = No Reset      TCP: ......0. = No Synchronize      TCP: .......0 = No Fin   TCP: Window = 8760 (0x2238)   TCP: Checksum = 0x236B   TCP: Urgent Pointer = 0 (0x0)00000:  00 20 AF 47 93 58 00 A0 C9 22 F5 39 08 00 45 00   . .G.X...".9..E.00010:  00 28 BA F5 40 00 80 06 02 4A C0 5E DE 7B C0 5E   .(..@....J.^.{.^00020:  DE 57 09 21 05 48 0B 20 96 AD CE 66 AE 03 50 10   .W.!.H. ...f..P.00030:  22 38 23 6B 00 00                                 "8#k..				
o cliente ACKing FIN notificação do servidor identifica um fechamento normal de uma conexão TCP.
Referências
Para obter informações adicionais sobre ICMP:
Consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
170292Noções básicas do Internet Control Message Protocol (ICMP)
- ou -
Obter RFC 793.
RFCs podem ser obtidas através da Internet da seguinte maneira:

Cópias em papel de todas as RFCs são disponibilizadas pela NIC, individualmente ou em uma base de assinatura (para obter mais informações sobre contato NIC@NIC.DDN.MIL). Cópias on-line estão disponíveis por meio de FTP ou Kermit de NIC.ddn.mil como rfc/rfc #### .txt ou rfc/rfc #### .PS (#### é o número da RFC sem zeros).

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 172983 - Última Revisão: 02/12/2010 09:27:02 - Revisão: 4.0

  • Windows Server 2008 Standard
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Datacenter
  • Windows Server 2008 for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Server
  • Windows Vista Business
  • Windows Vista Business 64-bit edition
  • Windows Vista Enterprise
  • Windows Vista Enterprise 64-bit edition
  • Windows Vista Home Basic
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Ultimate
  • Windows Server 2008 Foundation
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Standard
  • Windows Web Server 2008 R2
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Ultimate
  • kbmt kbinfo kbnetwork KB172983 KbMtpt
Comentários
>lay: none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">endChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> >>ow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>");