DTraceでTCPを眺めてみる

Posted on 2011/03/09(Wed) 23:56 in technical

TCPの帯域遅延積とかスロースタートの理解が、人によって異なる話はさておき。

DTraceを使ってTCPフローを眺めたら、もしかしてCongestion Windowも可視化出来るんじゃね?って思って簡単なDスクリプトを書いてみた。

一瞬かじっただけなので、非常に稚拙なのは許してぽん。

少し手直し。

#!/usr/sbin/dtrace -s
#pragma D option quiet
#pragma D option switchrate=50hz
dtrace:::BEGIN
{
printf(" %3s %15s:%-5s      %15s:%-5s %6s  %s  %10s %6s %6s %6s\n", "CPU", "LADDR", "LPORT", "RADDR", "RPORT", "BYTES", "FLAGS", "LWIN", "LTHRESH", "RWIN", "RSCALE");
}

tcp:::send
{
this->length = args[2]->ip_plength - args[4]->tcp_offset;
printf(" %3d %16s:%-5d -> %16s:%-5d %6d  (", cpu,args[2]->ip_saddr, args[4]->tcp_sport,args[2]->ip_daddr, args[4]->tcp_dport, this->length);
}


tcp:::receive
{
this->length = args[2]->ip_plength - args[4]->tcp_offset;printf(" %3d %16s:%-5d <- %16s:%-5d %6d  (", cpu,args[2]->ip_daddr, args[4]->tcp_dport,args[2]->ip_saddr, args[4]->tcp_sport, this->length);
}


tcp:::send,
tcp:::receive
{
printf("%s", args[4]->tcp_flags & TH_FIN ? "FIN|" : "");
printf("%s", args[4]->tcp_flags & TH_SYN ? "SYN|" : "");
printf("%s", args[4]->tcp_flags & TH_RST ? "RST|" : "");
printf("%s", args[4]->tcp_flags & TH_PUSH ? "PUSH|" : "");
printf("%s", args[4]->tcp_flags & TH_ACK ? "ACK|" : "");
printf("%s", args[4]->tcp_flags & TH_URG ? "URG|" : "");
printf("%s", args[4]->tcp_flags & TH_ECE ? "ECE|" : "");
printf("%s", args[4]->tcp_flags & TH_CWR ? "CWR|" : "");
printf("%s", args[4]->tcp_flags == 0 ? "null " : "");
printf("\b) ");
}

tcp:::send,
tcp:::receive
{
printf("%d %d %d %d", args[3]->tcps_cwnd, args[3]->tcps_cwnd_ssthresh, args[3]->tcps_rwnd,args[3]->tcps_rcv_ws);
printf("\n");
}

試しに動かしてみた感じ。(このとき、2008R2からiSCSIイニシエータで接続して、切断するまで。SSHは…面倒なのでgrepで消した。:

# ./tcp_win.d \grep -v ":22"
CPU LADDR:LPORT RADDR:RPORT BYTES FLAGS LWIN LTHRESH RWIN RSCALE
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (SYN) 0 1073725440 262300 14
1 192.168.122.32:3260 -> 192.168.122.24:61378 0 (SYN|ACK) 4380 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (ACK) 4380 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 208 (PUSH|ACK) 4380 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 0 (ACK) 4380 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 88 (PUSH|ACK) 4380 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 348 (PUSH|ACK) 4380 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 0 (ACK) 5840 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 336 (PUSH|ACK) 5840 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 5840 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 48 (PUSH|ACK) 7300 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 64 (PUSH|ACK) 8760 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 48 (PUSH|ACK) 8760 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 56 (PUSH|ACK) 11680 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 48 (PUSH|ACK) 11680 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 56 (PUSH|ACK) 14600 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 48 (PUSH|ACK) 14600 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 7300 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (ACK) 8760 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 10220 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 84 (PUSH|ACK) 10220 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 48 (PUSH|ACK) 10220 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (ACK) 10220 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 11680 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (ACK) 11680 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 13140 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 152 (PUSH|ACK) 13140 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 48 (PUSH|ACK) 13140 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (ACK) 13140 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 14600 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (ACK) 14600 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 68 (PUSH|ACK) 16060 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 56 (PUSH|ACK) 17520 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 48 (PUSH|ACK) 17520 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 20440 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 56 (PUSH|ACK) 23360 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 48 (PUSH|ACK) 23360 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 68 (PUSH|ACK) 26280 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 72 (PUSH|ACK) 26280 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 48 (PUSH|ACK) 26280 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 29200 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 56 (PUSH|ACK) 32120 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 35040 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 36500 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 37960 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 39420 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 42340 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 43800 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 46720 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 48180 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 51100 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 52560 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 54020 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 55480 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 58400 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 59860 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 61320 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 62780 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 64240 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 67160 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 68620 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 71540 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 73000 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 74460 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 75920 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 78840 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 16060 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 16060 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (ACK) 17520 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 18980 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 18980 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 18980 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 20440 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 21900 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 21900 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (ACK) 23360 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 24820 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 24820 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 24820 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 26280 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (ACK) 26280 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 27740 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 29200 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 30660 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 30660 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 48 (PUSH|ACK) 32120 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (ACK) 32120 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 33580 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 33580 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 33580 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 35040 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 36500 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 37960 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 39420 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 40880 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 40880 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 42340 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 43800 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 45260 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 45260 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 46720 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 48180 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 49640 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 49640 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 51100 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 52560 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 54020 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 55480 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 56940 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 56940 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 58400 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 59860 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 61320 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 62780 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 64240 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 65700 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 65700 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 67160 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 68620 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 70080 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 70080 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 71540 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 73000 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 74460 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 75920 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 77380 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 77380 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 78840 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 80300 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 80300 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 81760 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 97820 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 99280 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 100740 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 103660 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 81760 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 83220 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 83220 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 84680 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 84680 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 86140 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 86140 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 87600 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 87600 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 89060 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 89060 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 90520 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 90520 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 91980 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 91980 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 93440 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 93440 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 94900 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 94900 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 96360 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 96360 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 97820 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 99280 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 100740 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 102200 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 102200 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 103660 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 105120 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 105120 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 108040 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 109500 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 110960 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 113880 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 115340 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 116800 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 119720 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 121180 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 122640 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 125560 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 106580 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 106580 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 108040 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 109500 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 110960 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 112420 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 112420 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 113880 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 115340 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 116800 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 118260 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 118260 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 119720 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 121180 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 122640 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 124100 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 124100 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 125560 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 127020 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 127020 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 560 (PUSH|ACK) 128480 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (ACK) 128480 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 48 (PUSH|ACK) 129940 1073725440 262800 3
0 192.168.122.32:3260 -> 192.168.122.24:61378 0 (FIN|ACK) 129940 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 48 (PUSH|ACK) 129940 1073725440 262800 3
1 192.168.122.32:3260 <- 192.168.122.24:61378 0 (FIN|ACK) 129940 1073725440 262800 3
1 192.168.122.32:3260 -> 192.168.122.24:61378 0 (ACK) 131400 1073725440 262800 3

Congestion Windowが徐々に大きくなっているのが見えるね。

どうしたら面白おかしく書けるだろうか。