[Linux] 使用tcpdump查看上傳文件過程中的tcp傳輸過程

 

以下是上傳圖片文件時 , tcp的傳輸過程

15:38:07.695683 IP localhost.35648 > localhost.tproxy: Flags [S], seq 87768135, win 43690, options [mss 65495,sackOK,TS val 130193903 ecr 0,nop,wscale 7], length 0
15:38:07.695692 IP localhost.tproxy > localhost.35648: Flags [S.], seq 872635961, ack 87768136, win 43690, options [mss 65495,sackOK,TS val 130193903 ecr 130193903,nop,wscale 7], length 0
15:38:07.695699 IP localhost.35648 > localhost.tproxy: Flags [.], ack 1, win 342, options [nop,nop,TS val 130193903 ecr 130193903], length 0
15:38:07.695949 IP localhost.35648 > localhost.tproxy: Flags [.], seq 1:21846, ack 1, win 342, options [nop,nop,TS val 130193903 ecr 130193903], length 21845
15:38:07.695953 IP localhost.tproxy > localhost.35648: Flags [.], ack 21846, win 1365, options [nop,nop,TS val 130193903 ecr 130193903], length 0
15:38:07.696828 IP localhost.35648 > localhost.tproxy: Flags [.], seq 21846:87329, ack 1, win 342, options [nop,nop,TS val 130193903 ecr 130193903], length 65483
15:38:07.696833 IP localhost.tproxy > localhost.35648: Flags [.], ack 87329, win 2388, options [nop,nop,TS val 130193903 ecr 130193903], length 0
15:38:07.697173 IP localhost.35648 > localhost.tproxy: Flags [.], seq 87329:152812, ack 1, win 342, options [nop,nop,TS val 130193903 ecr 130193903], length 65483
15:38:07.697177 IP localhost.tproxy > localhost.35648: Flags [.], ack 152812, win 3411, options [nop,nop,TS val 130193903 ecr 130193903], length 0
15:38:07.697499 IP localhost.35648 > localhost.tproxy: Flags [P.], seq 152812:154298, ack 1, win 342, options [nop,nop,TS val 130193903 ecr 130193903], length 1486
15:38:07.697503 IP localhost.tproxy > localhost.35648: Flags [.], ack 154298, win 3625, options [nop,nop,TS val 130193903 ecr 130193903], length 0
15:38:07.698058 IP localhost.35648 > localhost.tproxy: Flags [F.], seq 154298, ack 243, win 350, options [nop,nop,TS val 130193903 ecr 130193903], length 0
15:38:07.698122 IP localhost.tproxy > localhost.35648: Flags [F.], seq 243, ack 154299, win 3625, options [nop,nop,TS val 130193903 ecr 130193903], length 0

三次握手的過程

客戶端===>服務器[S] 標誌位SYN 是1  ,  mss 65495 (每個包傳輸的最大數據部分是65495字節)  seq序列號是87768135

服務器===>客戶端[S.]  標誌位SYN是1 , 標誌位ACK是1 , seq 序列號是872635961  , ack確認是 87768136  (上面seq+1)

客戶端===>服務器[.] 標誌位ACK是1 

 

開始上傳文件:

客戶端===>服務器  seq 1:21846

服務器===>客戶端  ack確認收到 21846

客戶端===>服務器 seq 21846:87329

服務器===>客戶端  ack確認收到 87329

客戶端===>服務器 seq 87329:152812

服務器===>客戶端  ack確認收到 152812

客戶端===>服務器 seq 152812:154298

服務器===>客戶端  ack確認收到 154298

結束

這裏可以看到保證TCP連接的可靠性的幾種方式


1.數據包校驗,發送方計算校驗和,接收方結算校驗和,進行對比
2.應答機制,seq序列號與ack確認號
3.超時重傳機制,發送後啓動定時器,進行重傳
4.連接管理,三次和四次
5.對失序數據包重排序
6.流量控制和擁塞控制,使用滑動窗口協商大小

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章