TCP序列號和確認號介紹
阿新 • • 發佈:2019-02-10
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 |