handshake de três vias e número de sequência

3

Olhando a imagem abaixo, tirada do livro de Ilya Grigorik - High Performance Browser Networking, eu posso entender que o pacote SYN escolhe um número de seqüência aleatório que é incrementado no pacote SYN ACK (N + 1). Finalmente, no pacote ACK, os números de sequência (N + 1) e de confirmação (N + 1) são incrementados.

Ao testar com o Wireshark, recebi o pacote ACK para ter o número de Confirmação = N + 1, mas o Número de sequência = N . Isso é um erro do autor quando ele diz que no pacote ACK os números de Seqüência e Confirmação são incrementados?

    
por Hex 15.09.2013 / 23:02

1 resposta

5

RFC 793 declara repetidamente que o número de confirmação é o número de sequência o próximo pacote que o final espera receber . Assim, será sempre maior que o número de sequência.

Por exemplo, na seção 2.6:

Segments also carry an acknowledgment number which is the sequence number of the next expected data octet of transmissions in the reverse direction.

Na seção 3.1:

Acknowledgment Number: 32 bits

If the ACK control bit is set this field contains the value of the next sequence number the sender of the segment is expecting to receive. Once a connection is established this is always sent.

A Seção 3.3 explica em detalhes como os números de sequência funcionam e por que funcionam da maneira como funcionam. Você provavelmente achará isso muito mais esclarecedor do que o seu livro.

    
por 15.09.2013 / 23:16