TCP序列号和确认号介绍

TCP是一种可靠的面向连接的数据流协议,TCP之所以可靠,是因为它保证了数据的传输有序,这是通过一个序列号和确认号来保证的。

 

序列号的作用:

TCP将应用层数据和管理数据的每一字节进行顺序编号,序列号用于指出本报文段携带数据的第一个字节的序列号,(SYN,FIN等算作一个字节数据)

 

确认号的作用:

通信双方采用确认号来对收到的数据进行确认,该确认号之前(不包括该确认号)的所有数据均已正确收到,希望下次接收序列号为该确认号的数据。

 

TCP建立过程:

NO

Direction

Type

Sequence NO.

ACK NO.

1.

C-->S

SYN

Random1

0

2

S-->C

SYN,ACK

Random2

SN1+1

3

C-->S

ACK

SN1+1

SN2+1

TCP数据传输:

NO

Direction

Type

Sequence NO.

ACK NO.

4

C-->S

PSH,ACK

SN3

ACK3

5

S-->C

ACK

SN2+1

SN4+Data_length

TCP断开连接:

NO

Direction

Type

Sequence NO.

ACK NO.

6

C-->S

FIN,ACK

SN4+ Data_length

SN5

7

S-->C

ACK

SN5

SN6+1

8

S-->C

FIN,ACK

SN6

ACK7

9

C-->S

ACK

SN6+1

SN6+1

 

 


展开阅读全文

没有更多推荐了,返回首页