1. 程式人生 > >TCP序列號和確認號介紹

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