[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

三次握手的過程tcp

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

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

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

 

開始上傳文件:blog

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

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

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

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

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

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

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

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

結束

這裏能夠看到保證TCP鏈接的可靠性的幾種方式

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

相關文章
相關標籤/搜索