/*********************************************************************
 * DBS: Distributed Benchmark System
 * Copyright (c) 1995, 1996 Yukio Murayama
 * Copyright (c) 1995, 1996 Nara Institute of Science and Technology
 * All rights reserved.
 *
 * Permission to use, copy, modify and distribute this software and its
 * documentation is hereby granted, provided only with the following
 * conditions are satisfied:
 *
 * 1. Both the copyright notice and this permission notice appear in
 *    all copies of the software, derivative works or modified versions,
 *    and any portions thereof, and that both notices appear in
 *    supporting documentation.
 * 2. All advertising materials mentioning features or use of this
 *    software must display the following acknowledgement:
 *      This product includes software developed by Nara Institute of 
 *      Science and Technology and its contributors.
 * 3. Neither the name of Nara Institute of Science and Technology nor 
 *    the names of its contributors may be used to endorse or promote 
 *    products derived from this software without specific prior written
 *    permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND NARA 
 * INSTITUTE OF SCIENCE AND TECHNOLOGY DISCLAIMS ANY LIABILITY OF 
 * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF 
 * THIS SOFTWARE. ALSO, THERE IS NO WARRANTY IMPLIED OR OTHERWISE, 
 * NOR IS SUPPORT PROVIDED.
 *
 * Feedback of the results generated from any improvements or
 * extensions made to this software would be much appreciated.
 * Any such feedback should be sent to:
 *
 *  Yukio Murayama
 *  E-mail:  <yukio-m@is.aist-nara.ac.jp>
 *  URL:     <http://shika.aist-nara.ac.jp/member/yukio-m/index.html>
 *  Address: Graduate School of Information Science, 
 *           Nara Institute of Science and Technology,
 *           Takayama 8916-5, Ikoma, Nara, Japan
 *
 * Nara Institute of Science and Technology has the rights to 
 * redistribute these changes.
 *********************************************************************/

DBS (Destributed Benchmark System) Version 1.1 User's Manual   

                                     $BF`NI@hC<2J3X5;=QBg3X1!Bg3X(B
                                     $B>pJs2J3X8&5f2J(B  $B>pJs%M%C%H%o!<%/9V:B(B
                                     $BF`NI8)@86p;T9b;3D.(B8916-5
                                     $BB<;38xJ](B (yukio-m@is.aist-nara.ac.jp)

$B!}(BDBS$B$H$O(B

  DBS$B$H$O(BTCP$B$N$9$Y$F$N5!G=$rI>2A$9$k$3$H$rL\E*$K:n$i$l$?(BTCP$B%Y%s%A%^!<%/%D!<(B
  $B%k$G$9!#(B

    - $BJ#?t$N%[%9%H$N4V$GF1;~$K%G!<%?E>Aw$r9T$&!#(B
    - $B0l$D0l$D$N%G!<%?$NAw<u?.;~9o$r5-O?$9$k!#(B

  $B$H$$$&(B2$B$D$N5!G=$K$h$j!$%M%C%H%o!<%/$rmUmT$5$;%Q%1%C%H$,AS<:$9$k>u67$r$D$/(B
  $B$j=P$7!$$=$l$>$l$N%G!<%?E>Aw%9%H%j!<%`$N%9%k!<%W%C%H$N;~9oJQF0$rB,Dj$9$k$3(B
  $B$H$,$G$-$^$9!#$3$l$K$h$j!$%G!<%?E>Aw%9%H%j!<%`4V$NAj8_:nMQ$NJ,@O$,$G$-!$$=(B
  $B$N7k2L!$(BTCP$B$N@-G=$d!$%G!<%?%j%s%/$N@-G=!$%[%9%H$d%k!<%?$N@-G=!$%M%C%H%o!<(B
  $B%/%7%9%F%`$N@-G=$J$I$NI>2AJ,@O$KMxMQ$G$-$^$9!#(B

  $B!&A0Ds(B
    - $B3F%[%9%H$O(BNTP$B$J$I$rMxMQ$7$F;~9o$NF14|$,$H$l$F$$$kI,MW$,$"$j$^$9!#(B

  $B!&FCD'(B
    - TCP$B!$(BUDP$B$N%"%W%j%1!<%7%g%s%l%Y%k$G$N%9%k!<%W%C%H$N;~9oJQF0$rB,Dj$G$-$k!#(B
    - $BB?E@4V$N%[%9%H$GJ#?t$N%G!<%?E>Aw$,2DG=$G$"$k!#(B
    - $BJ#;($J%H%i%R%C%/%Q%?!<%s$r;XDj$G$-$k!#(BMPEG$B$J$I$N%G!<%?E>Aw$rLOJo$G$-$k!#(B
    - OS$B$N%+!<%M%kFbIt$K(BTCP DEBUG$B5!G=$,$"$k>l9g$K$O!$$=$NCM$r5-O?$9$k$3$H$,(B
      $B$G$-$k!#$3$N5!G=$rMxMQ$9$k$H!$(BTCP/IP$B5?;w%X%C%@$N>pJs!$:FAw$7$?%;%0%a%s(B
      $B%H!$mUmT%&%#%s%I%&%5%$%:!$%i%&%s%I%H%j%C%W;~4V$J$I$,$o$+$k!#(B


$B!}%W%m%0%i%`$NL>>N$H5!G=(B

 dbsc      DBS$B%3%s%H%m!<%i(B

  DBS$B%3%s%H%m!<%i$O(BDBS$B$N<B83$r%3%s%H%m!<%k$9$k%3%^%s%I$G$9!#%3%^%s%I%U%!%$%k(B
  $B$NF~NO!$(BDBS$B%G!<%b%s$X$N;XNa!$7k2L$N<u?.!$%U%!%$%k$X$NJ]B8$r9T$$$^$9!#(B

 dbsd      DBS$B%G!<%b%s(B

  DBS$B%G!<%b%s$O<B83%[%9%H72$GF0:n$5$;$k%G!<%b%s$G$9!#(BDBS$B%3%s%H%m!<%i$+$i$N;X(B
  $B<($K=>$$%H%i%R%C%/$rAw<u?.$7$^$9!#(B

 dbs_view  DBS$B%S%e!<%o(B

  DBS$B%S%e!<%o$O7k2L$N%U%!%$%k$r=hM}$7$F%7!<%1%s%9HV9f$N?d0\!$%9%k!<%W%C%H!$(B
  $BCY1d;~4VEy$N%0%i%U$rIA2h$7$^$9!#F0:n$5$;$k$?$a$K$O(Bperl$B$H(BGnu Plot V3.5$B$,I,(B
  $BMW$G$9!#(B


$B!};H$$J}(B

 dbsc [-p port_number] [-d] [-v] command_file

   command_file   $B8e=R$9$k%3%^%s%I%U%!%$%k$r;XDj$9$k!#(B
   -p port_number $B%G%U%)%k%H$N%]!<%HHV9f(B(10710)$B0J30$N%]!<%HHV9f$rMxMQ$9$k$H$-$K(B
                  $B;XDj$9$k!#(B
   -d             $B%G%P%C%0%b!<%I$G<B9T$9$k!#(B
   -v             Version$B$*$h$S(Bhelp$B$rI=<($9$k!#(B

 dbsd [-p port_number] [-d] [-D] [-v] [-h allow_host]

   -p port_number $B%G%U%)%k%H$N%]!<%HHV9f(B(10710)$B0J30$N%]!<%HHV9f$rMxMQ$9$k$H$-$K(B
                  $B;XDj$9$k!#(B
   -h allow_host  $B%3%^%s%I$NAw?.$r5v2D$9$k%[%9%H$r;XDj$9$k!#(B
   -d             $B%G%P%C%0%b!<%I$G<B9T$9$k!#(B
   -D             inetd$B$+$i5/F0$9$k;~$K;XDj$9$k!#(B
   -v             Version$B$*$h$S(Bhelp$B$rI=<($9$k!#(B

 dbs_view

  DBS$B%S%e!<%o$K$O$?$/$5$s$N%*%W%7%g%s$,$"$j$^$9!#(B-f$B$OI,?\!#B>$O%*%W%7%g%s$G(B
  $B$9!#DL>o$O(B-p$B%*%W%7%g%s$rIU$1$F$/$@$5$$!#A4$/F1$8%Q%i%a!<%?$G:FEY%0%i%U$rI=(B
  $B<($7$?$$$H$-$O(B-p$B%*%W%7%g%s$r>JN,$G$-$^$9!#=hM}$,<c43B.$/$J$j$^$9!#(B

    -f  file file ...  : $B%3%^%s%I%U%!%$%k$N%U%!%$%kL>(B($BJ#?t;XDj2D(B)
                         $B=PNO$5$l$?%U%!%$%k$r;XDj$9$k$N$G$O$J$/!$(Bdbsc$B$N<B9T(B
                         $B;~$K;XDj$7$?%U%!%$%k(B
    -a       area      : $B%0%i%U$rI=<($9$k%(%j%"$N;XDj(B"[0:2][0:1000]"$B$N$h$&$K(B
                         $B;XDj$9$k!#(B("$B%@%V%k%/%)!<%F!<%7%g%s(B"$B$bIU$1$k$3$H(B)
    -sq   [s|r|u|S|R|U]: $B%"%W%j%1!<%7%g%s%l%Y%k$N%7!<%1%s%9HV9fI=<((B
                         s: $BAw?.%;%0%a%s%H$N%7!<%1%s%9HV9f$r(BStep Line$B$GI=<((B
                         r: $B<u?.%;%0%a%s%H$N%7!<%1%s%9HV9f$r(BStep Line$B$GI=<((B
                         u: UDP$B$GAS<:$7$?%;%0%a%s%H$r(BStep Line$B$GI=<((B
                         S: $BAw?.%;%0%a%s%H$N%7!<%1%s%9HV9f$r(BDot$B$GI=<((B
                         R: $B<u?.%;%0%a%s%H$N%7!<%1%s%9HV9f$r(BDot$B$GI=<((B
                         U: UDP$B$GAS<:$7$?%;%0%a%s%H$r(BDot$B$GI=<((B
    -th      [s|r]     : $B%"%W%j%1!<%7%g%s%l%Y%k$N%9%k!<%W%C%HI=<((B
                         s: $BAw?.%;%0%a%s%H$N%9%k!<%W%C%H$r(BLine$B$GI=<((B
                         r: $B<u?.%;%0%a%s%H$N%9%k!<%W%C%H$r(BLine$B$GI=<((B
                         t: $B<u?.%;%0%a%s%H$N%9%k!<%W%C%H$N9g7W$r(BLine$B$GI=<((B
                         S: $BAw?.%;%0%a%s%H$N%9%k!<%W%C%H$r(BStep Line$B$GI=<((B
                         R: $B<u?.%;%0%a%s%H$N%9%k!<%W%C%H$r(BStep Line$B$GI=<((B
                         T: $B<u?.%;%0%a%s%H$N%9%k!<%W%C%H$N9g7W$r(BStep Line$B$GI=<((B
    -delay             : $B%"%W%j%1!<%7%g%s%l%Y%k$NCY1d;~4VI=<((B
    -jitter  [s|r]     : $B%"%W%j%1!<%7%g%s%l%Y%k$N(BJitter$BI=<((B
                         s: $BAw?.%;%0%a%s%H$N%8%C%?$r(BStep Line$B$GI=<((B
                         r: $B<u?.%;%0%a%s%H$N%8%C%?$r(BStep Line$B$GI=<((B
    -tsq     [s|r|a|d] : $B%+!<%M%k%l%Y%k$N%7!<%1%s%9HV9fI=<((B
                         s: $BAw?.%;%0%a%s%H$N%7!<%1%s%9HV9f$r(BStep Line$B$GI=<((B
                         r: $B<u?.%;%0%a%s%H$N%7!<%1%s%9HV9f$r(BStep Line$B$GI=<((B
                         a: $BAw?.%;%0%a%s%H$KBP$9$k(BACK$B$N%7!<%1%s%9HV9f$r(BStep
                            Line$B$GI=<((B
                         d: $BAS<:$7$?Aw?.%;%0%a%s%H$N%7!<%1%s%9HV9f$r(BStep Line
                            $B$GI=<((B
    -tth     [s|r]     : $B%+!<%M%k%l%Y%k$N%9%k!<%W%C%HI=<((B
                         s: $BAw?.%;%0%a%s%H$N%9%k!<%W%C%H$r(BLine$B$GI=<((B
                         r: $B<u?.%;%0%a%s%H$N%9%k!<%W%C%H$r(BLine$B$GI=<((B
                         S: $BAw?.%;%0%a%s%H$N%9%k!<%W%C%H$r(BStep Line$B$GI=<((B
                         R: $B<u?.%;%0%a%s%H$N%9%k!<%W%C%H$r(BStep Line$B$GI=<((B
    -twin    [w|s]     : $BmUmT%&%#%s%I%&%5%$%:$H%9%m!<%9%?!<%HogCMI=<((B
                         w: Congestion Window
                         s: Slow Start Shreshold
    -tlost   [s|a]     : $BAS<:%;%0%a%s%H$N7W;;(B
                         s: $BAS<:$7$?Aw?.%;%0%a%s%H$r8!=P=hM}(B
                         a: $BAS<:$7$?(BACK$B$N8!=P=hM}(B
    -trtt    [m|s|o]   : $B%i%&%s%I%H%j%C%W;~4V$H:FAw%?%$%`%"%&%H$NI=<((B
                         m: RTT($B%i%&%s%I%H%j%C%W;~4V(B)$B$r(BStep Line$B$GI=<((B
                         s: $B%+!<%M%kFbIt$G$N(BRTT$B$N7WB,CM$r(BStep Line$B$GI=<((B
                         o: $B%+!<%M%kFbIt$G$N(BRTO($B:FAw%?%$%`%"%&%H(B)$B$r(B
                            Step Line$B$GI=<((B
    -tdelay  [s|a]     : $B%+!<%M%k%l%Y%k$NCY1d;~4V$NI=<((B
                         s: $BAw?.%;%0%a%s%H$NCY1d;~4V$r(BStep Line$B$GI=<((B
                         a: ACK$B$NCY1d;~4V$r(BStep Line$B$GI=<((B
    -tjitter [s|r]     : $B%+!<%M%k%l%Y%k$N(BJitter$B$NI=<((B
                         s: $BAw?.%;%0%a%s%H$N%8%C%?$r(BStep Line$B$GI=<((B
                         r: $B<u?.%;%0%a%s%H$N%8%C%?$r(BStep Line$B$GI=<((B
    -ulost             : UDP$B$NAS<:%G!<%?%0%i%`$N7W;;(B
    -t      time(sec)  : $B;~4V4V3V$NN3EY(B($B%G%U%)%k%H(B0.1$BIC(B)
    -p                 : $B%9%k!<%W%C%H!$AS<:%;%0%a%s%HEy$N7W;;=hM}$r$9$k!#(B
    -ps                : PostScript$B$G=PNO(B
    -eps               : EPS$B$G=PNO(B
    -color             : Color$B$N(BPS$B$^$?$O(BEPS$B$G=PNO(B(-ps$B!$(B-eps$B;XDj;~$N$_M-8z(B)
    -title #           : file$B$N2?%o!<%IL\$r(Btitle$B$K;H$&$+!#(B

  dbs_view$B$O$?$/$5$s$NCf4V%U%!%$%k$r:n$j$^$9!#$G$9$+$i!$=PNO%U%!%$%kL>$r%3%^(B
  $B%s%I%U%!%$%k$K5-=R$9$k$H$-$O!$(B

    file= host1_host2/data1

  $B$N$h$&$K!$%G%#%l%/%H%jL>(B/$B%U%!%$%kL>$H;XDj$9$k$3$H$r4+$a$^$9!#$J$*!$%G%#%l(B
  $B%/%H%j$O<B83A0$K(Bmkdir$B$G$"$i$+$8$a:n@.$7$F$/$@$5$$!#$J$*$3$N@_Dj$G!$(B
  -title 1$B$H$9$k$H(B"host1_host2"$B!$(B-title 2$B$H$9$k$H(B"data1"$B!$(B-title$B$r;XDj$7$J$$(B
  $B$H(B"host1_host2/data1"$B$N$=$l$>$l$,%W%m%C%H$7$?%G!<%?$NBjL>$K$J$j$^$9!#(B


$B!}(BDBS$B%G!<%b%s$r(Binetd$B$+$i5/F0$9$kJ}K!(B

  dbsd$B$r(B
    /usr/local/etc/dbsd
  $B$K%3%T!<$7$F$/$@$5$$!#(B

  /etc/services$B$K<!$N9T$rDI2C$7$F$/$@$5$$!#(B

    dbs             10710/tcp

  /etc/inetd.conf$B$K<!$N9T$rDI2C$7$F$/$@$5$$!#(B

    dbs stream tcp nowait root /usr/local/etc/dbsd dbsd -D

  inetd$B$N%W%m%;%9HV9f$rD4$Y!$(B

    kill -HUP $B%W%m%;%9HV9f(B

  $B$r<B9T$7$F$/$@$5$$!#0J>e$G(Binetd$B$+$i<+F0E*$K(Bdbsd$B$,5/F0$5$l$k$h$&$K$J$j$^$9!#(B
  $B$J$*!$FCDj$N%[%9%H0J30$N%[%9%H$+$i%3%^%s%I$r<u$1IU$1$J$$$h$&$K$7$?$$>l9g$K(B
  $B$O!$(B

    dbs stream tcp nowait root /usr/local/etc/dbsd dbsd -D -h cmdhost

  $B$N$h$&$K!$(Bdbsd -D$B$N8e$K(B"-h $B%[%9%HL>(B"$B$r=q$$$F$/$@$5$$!#(B

$B!}<B83J}K!(B

  1. $B$9$Y$F$N<B83%[%9%H$G(BDBS$B%G!<%b%s$r5/F0$9$k!#(B(inetd.conf$B$KEPO?$7$?>l9g$OIT(B
     $BMW(B)
  2. DBS$B%3%s%H%m!<%i$r5/F0$7!$<B83=*N;$^$GBT$D!#(B
     $B<B83=$N;;~4V$NL\0B$O(Bend_time+20$BIC(B+$B&A$G$9!#(B
  3. DBS$B%S%e!<%o$G%0%i%U$rI=<($9$k!#(B


$B!}%3%^%s%I%U%!%$%k$N=q$-J}(B

  $B%3%^%s%I%U%!%$%k$N%5%s%W%k$r<($7$^$9!#%U%j!<%U%)!<%^%C%H$K$J$C$F$*$j2~9T$d(B
  $B6uGr9T$O<+M3$KF~$l$i$l$^$9!#=gHV$b<+M3$G$9!#$^$?!$(B#$B$+$i9TKv$^$G$O%3%a%s%H(B
  $B$H8+$J$5$l$^$9!#(B

  # Sample 1
  {                                             
          sender {
                  hostname  = host1;
                  hostname_cmd  = host1;
                  port      = 0;
                  so_debug  = OFF;
                  tcp_trace = OFF;
                  send_buff = 65535;
                  recv_buff = 65535;Sample 2 
                  mem_align = 2048;
                  pattern {2048,   2048,     0.0,      0.0}
          }
          receiver {
                  hostname  = host2;
                  hostname_cmd  = host2;
                  port      = 20001;
                  so_debug  = OFF;
                  tcp_trace = OFF;
                  recv_buff = 65535;
                  send_buff = 65535;
                  mem_align = 2048;
                  pattern {2048,   2048,     0.0,      0.0}
          }
          file           = ether/test1;
          protocol       = TCP;
          start_time     = 0.0;
          connection_mode= BEFORE;
          end_time       = 30;
          send_times     = 2048;
  }

  # Sample 2 
  # MPEG1 Traffic Model
  {                                             
          sender {
                  hostname  = host1;
                  port      = 12300;
                  mem_align = 2048;
                  pattern { 40000,  1024,    0.04,      0;
                             2000,  1024,    0.04,      0;
                             2000,  1024,    0.04,      0;
                            10000,  1024,    0.04,      0;
                             2000,  1024,    0.04,      0;
                             2000,  1024,    0.04,      0;
                            10000,  1024,    0.04,      0;
                             2000,  1024,    0.04,      0;
                             2000,  1024,    0.04,      0;
                            10000,  1024,    0.04,      0;
                             2000,  1024,    0.04,      0;
                             2000,  1024,    0.04,      0;}
            }
            receiver {
                    hostname  = host2;
                    port      = 12300;
                    mem_align = 2048;
                    pattern {2048,   2048,     0.0,      0.0}
            }
            file           = ether/test2;
            protocol       = UDP;
            start_time     = 0.0;
            end_time       = 30;
            send_times     = 100;
  }

$B!&%3%^%s%I%U%!%$%k$N=q<0(B

  $B%3%^%s%I%U%!%$%k$O<!$N$h$&$J=q<0$K$J$C$F$$$^$9!#%G!<%?E>Aw%9%H%j!<%`$N?t$@(B
  $B$1@_Dj$r=q$/I,MW$,$"$j$^$9!#J#?t$N%G!<%?E>Aw$r$9$k>l9g$K$O!$(Bport$BHV9f$d(Bfile
  $BL>$N;XDj$,F1$8$K$J$i$J$$$h$&$KCm0U$7$F$/$@$5$$!#(B
  
  { 
      sender   {$BAw?.%[%9%H$N@_Dj(B; $BAw?.%H%i%R%C%/%Q%?!<%s(B}
      receiver {$B<u?.%[%9%H$N@_Dj(B; $B<u?.%Q%?!<%s(B}
      $B%3%M%/%7%g%s$N@_Dj(B;
  }
  
  { 
      sender   {$BAw?.%[%9%H$N@_Dj(B; $BAw?.%H%i%R%C%/%Q%?!<%s(B}
      receiver {$B<u?.%[%9%H$N@_Dj(B; $B<u?.%Q%?!<%s(B}
      $B%3%M%/%7%g%s$N@_Dj(B;
  }
  .
  .
  .



$B!&Aw?.%H%i%R%C%/%Q%?!<%s$N=q<0(B

  pattern {
    $B%G!<%?$NBg$-$5(B, $B0l2s$KAw?.$9$kBg$-$5(B, $BAw?.$N;~4V4V3V(B, $BAw?.$NBT$A;~4V(B;
    $B%G!<%?$NBg$-$5(B, $B0l2s$KAw?.$9$kBg$-$5(B, $BAw?.$N;~4V4V3V(B, $BAw?.$NBT$A;~4V(B;
             .               .                  .               .       ;
             .               .                  .               .       ;
  }

  $B$=$l$>$l<!$N$h$&$J0UL#$r;}$A$^$9!#(B

  $B%G!<%?$NBg$-$5(B: $B0l$D$N%G!<%?(B
  $B0l2s$KAw?.$9$kBg$-$5(B: $B!V%G!<%?$NBg$-$5!W$r?t2s$N%7%9%F%`%3!<%k$K$o$1$FAw?.(B
  $BAw?.$N;~4V4V3V(B: $BAw?.%l!<%H@)8f(B
  $BAw?.$NBT$A;~4V(B: $B%7%9%F%`$N%*!<%P%X%C%I(B

  $B?^$GI=$9$H<!$N$h$&$K$J$j$^$9!#(B


  $B%G!<%?$NBg$-$5(B       |<-------------->|     |<-------->|   |<---------->|

  $B0l2s$KAw?.$9$kBg$-$5(B |<-->|<-->|<-->|       |<->|<->|      |<---->|<---->|

                       +----+----+----+-+     +---+---+--+   +------+------+
  $BAw?.%;%0%a%s%H(B       |    |    |    | |     |   |   |  |   |      |      |
  ($BAw?.%G!<%?%0%i%`(B)   +----+----+----+-+     +---+---+--+   +------+------+

  $BAw?.$NBT$A;~4V(B                        |<--->|          |<->|

  $BAw?.$N;~4V4V3V(B       |<-------------------->|<------------>|

  $B;~4V$N7P2a(B           ---------------------------------------------------->


$B!&<u?.%Q%?!<%s$N=q<0(B

  pattern {
    $B%P%C%U%!$NBg$-$5(B, $B0l2s$K<u?.$9$kBg$-$5(B, $B<u?.$N;~4V4V3V(B, $B<u?.$NBT$A;~4V(B;
    $B%P%C%U%!$NBg$-$5(B, $B0l2s$K<u?.$9$kBg$-$5(B, $B<u?.$N;~4V4V3V(B, $B<u?.$NBT$A;~4V(B;
             .               .                  .               .         ;
             .               .                  .               .         ;
  }

  $BDL>o$N@_Dj$G$O!V0l2s$K<u?.$9$kBg$-$5!WKh$K<u?.;~9o$r5-O?$9$k!#$7$+$7!$(BTCP
  $B$G$O!$(B1$B2s$N(Brecv$B%7%9%F%`%3!<%k$G<u?.$9$k%5%$%:$OITDj$G$"$k!#<u?.%5%$%:$K$+(B
  $B$+$o$i$:!$(Brecv$B%7%9%F%`%3!<%k$4$H$K<u?.;~9o$d<u?.%G!<%?%5%$%:$r5-O?$9$k$3(B
  $B$H$,$G$-$k$,!$<c43Cm0U$,I,MW$G$"$k!#@_Dj$O<!$NDL$j$G$"$k!#(B

  -$B!V%P%C%U%!$NBg$-$5!W$O(Brecv$B%7%9%F%`%3!<%k$G;HMQ$9$k%P%C%U%!%5%$%:$r@_Dj$9$k!#(B
  -$B!V0l2s$K<u?.$9$kBg$-$5!W$K(B-1$B$r@_Dj$9$k!#(B
  - receiver {} $B$N@_Dj$G(B record_buff ($B<u?.;~9o$r5-O?$9$k%P%C%U%!$NBg$-$5(B)$B$r(B
    $B;XDj$9$k!#$3$l$O!$(Brecv$B%7%9%F%`%3!<%k$r<B9T$9$k2s?t$O4D6-$K$h$C$FJQ2=$9(B
    $B$k$N$G!$<+F0E*$KE,@Z$JCM$rA*$V$3$H$,$G$-$J$$$+$i$G$"$k!#(B
    $B>JN,;~$K$O8=%P!<%8%g%s$N(BDBS$B$G$OAw?.2s?tJ,$N%P%C%U%!$,@_Dj$5$l$k!#(B


$B!&Aw<u?.%[%9%H$N@_Dj(B

  hostname        $BDL?.<B83$r9T$J$&%[%9%H(B($B%$%s%?!<%U%'!<%9(B)$BL>$+(BIP$B%"%I%l%9(B
  hostname_cmd    $B%3%^%s%I$r<u?.$9$k%$%s%?!<%U%'!<%9L>$+(BIP$B%"%I%l%9(B($B>JN,2D!$>J(B
                  $BN,;~$O(Bhostname$B$HF1$8$K@_Dj$5$l$k(B)
  port            $BDL?.<B83;~$N%]!<%HHV9f(B
                  $B%3%M%/%7%g%s$rD%$k$H$-$K%/%i%$%"%s%H$H$J$kB&$O(B0$B$K@_Dj$G$-$k!#(B
                  $B$=$N>l9g$O(BOS$B$,(Bport$BHV9f$r<+F0E*$K@_Dj$9$k!#(B
  so_debug        ON:   so_debug$B%*%W%7%g%s$r;HMQ$9$k(B
                  OFF:  so_debug$B%*%W%7%g%s$r;HMQ$7$J$$(B($B>JN,;~(B)
  tcp_trace       ON:   $BAw<u?.$N%7%9%F%`%3!<%kKh$K%3%s%H%m!<%k%V%m%C%/$NCM$r(B
                        $B5-O?$9$k!#(B
                  OFF:  $B%3%s%H%m!<%k%V%m%C%/$NCM$r5-O?$7$J$$(B($B>JN,;~(B)
                  AFTER:$B%G!<%?$NAw<u?.=*N;8e$^$H$a$F%3%s%H%m!<%k%V%m%C%/$NCM(B
                        $B$r5-O?$9$k!#$3$N%*%W%7%g%s$rMxMQ$9$k$?$a$K$O(B
                        netinet/tcp_debug.h$B$N(BTCP_NDEEBUG$B$NCM$rBg$-$/$7$F%+!<(B
                        $B%M%k$r:F9=C[$9$kI,MW$,$"$k!#(B
  no_delay        ON:   no_delay$B%*%W%7%g%s$r;HMQ$9$k(B
                  OFF:  no_delay$B%*%W%7%g%s$r;HMQ$7$J$$(B($B>JN,;~(B)
  mss             TCP$B%;%0%a%s%H%5%$%:$N;XDj!#(B($B8z2L$O(BOS$B$K0MB8$9$k(B)
  recv_buff       $B<u?.%P%C%U%!$N%5%$%:(B($B>JN,2D!$>JN,;~$O%[%9%H$N%G%U%)%k%HCM(B)
  send_buff       $BAw?.%P%C%U%!$N%5%$%:(B($B>JN,2D!$>JN,;~$O%[%9%H$N%G%U%)%k%HCM(B)
  record_buff     $B<u?.;~9o$r5-O?$9$k%P%C%U%!$N%5%$%:$r;XDj$9$k!#(B
                  $B<u?.%[%9%H$G(Bpattern$B$N!V0l2s$K<u?.$9$kBg$-$5!W$K(B-1$B$r@_Dj$7$?(B
                  $B>l9g$K;HMQ$9$k!#>JN,;~$K$OAw?.2s?tJ,$N%P%C%U%!$,MQ0U$5$l$k!#(B
                  $B!V0l2s$K<u?.$9$kBg$-$5!W$K(B-1$B$,@_Dj$5$l$F$$$J$$>l9g$K$OL5;k(B
                  $B$5$l$k!#(B
  trace_buff      TCP DEBUG$B$r5-O?$9$k%P%C%U%!$N%5%$%:$r;XDj$9$k!#(B
                  $B>JN,;~$K$OAw?.2s?t$N(B3$BG\J,$N%P%C%U%!$,MQ0U$5$l$k!#(B
  mem_align       $BAw<u?.$N%P%C%U%!$r%Z!<%86-3&$K@0Ns$5$l$k$H$-$KMxMQ$9$k(B
                  $BC10L$O(Bbyte$B!#(B
  align_offset    $B@0Ns$7$?Aw<u?.$N%P%C%U%!$N0LCV$r0\F0$9$k$H$-$KMxMQ$9$k(B
                  $BC10L$O(Bbyte$B!#(B
  align_pad       $BAw<u?.$N%P%C%U%!$rBg$-$/MQ0U$9$k;~$K;HMQ$9$k!#C10L$O(Bbyte$B!#(B
  file            $B=PNO%U%!%$%kL>(B


$B!&%3%M%/%7%g%s$N@_Dj(B

  protocol        $B%H%i%s%9%]!<%H$N%W%m%H%3%k(B (TCP $B$^$?$O(B UDP)
  start_time      $BAw?.3+;O;~9o(B($BIC(B)$B!#@:EY$O(B0.01$BICDxEY!#(B
  connection_mode AFTER:   $B%3%M%/%7%g%s$N3NN)$rB,Dj$9$k(B
                  BEFORE:  $B%G!<%?Aw?.A0$K%3%M%/%7%g%s$r$"$i$+$8$a3NN)$9$k(B($B>J(B
                           $BN,;~(B)
  server          RECEIVER:$B%3%M%/%7%g%s$rAw?.%[%9%H$+$i<u?.%[%9%H8~$-$KD%$k(B
                           ($B>JN,;~(B)
                  SENDER:  $B%3%M%/%7%g%s$r<u?.%[%9%H$+$iAw?.%[%9%H$KD%$k(B
                  $B$3$N%*%W%7%g%s$O(BFire Wall$B$r64$s$G%3%M%/%7%g%s$rD%$j$?$$$H(B
                  $B$-$KLrN)$D$+$bCN$l$J$$!#(B
  end_time        $BB,Dj$N=*N;$^$?$OCfCG;~9o(B($BIC(B)
  send_times      $BAw?.B&$N%H%i%R%C%/%Q%?!<%s$r2?2sAw?.$9$k$+(B


$B!}=PNO%U%!%$%k(B

  $B<!$N%U%!%$%k$,=PNO$5$l$^$9!#(B

  .t$B$O%"%W%j%1!<%7%g%s%l%Y%k$NAw<u?.;~9o(B
  .c$B$O%"%W%j%1!<%7%g%s%l%Y%k$N%3%M%/%7%g%s$N3NN(!&2rJ|;~9o(B
  .td_*$B$O(BTCP DEBUG$B5!G=$rMxMQ$7$F<h$j=P$7$?%G!<%?!#(B
      td_s_* $B$OAw?.%[%9%H(B
      td_r_* $B$O<u?.%[%9%H(B

  $B?t;z$N0UL#$O(B
    0  TA_INPUT     $B%;%0%a%s%H<u?.;~(B
    1  TA_OUTPUT    $B%;%0%a%s%HAw?.;~(B
    2  TA_USER      $B%7%9%F%`%3!<%k<B9T;~(B
    3  TA_RESPOND   
    4  TA_DROP      $B=hM}$7$-$l$J$/$F%;%0%a%s%H$,<N$F$i$l$?$H$-(B

$B!&%"%W%j%1!<%7%g%s%l%Y%k$NAw<u?.;~9o(B(.t)

  send_sequence   $BAw?.%7!<%1%s%9HV9f(B
  send_size       $BAw?.%5%$%:(B(byte)
  send_time       $BAw?.;~9o(B($BIC(B)
  recv_sequence   $B<u?.%7!<%1%s%9HV9f(B
  recv_size       $B<u?.%5%$%:(B(byte)
  recv_time       $B<u?.;~9o(B($BIC(B)

$B!&%3%M%/%7%g%s$N3NN)!&2rJ|(B(.c)

  1$B9TL\(B  client                     server
  2$B9TL\(B  $B%3%M%/%7%g%s3NN)3+;O;~9o(B   $B%3%M%/%7%g%s3NN)<uM};~9o(B
  3$B9TL\(B  $B%3%M%/%7%g%s3NN)40N;;~9o(B   $B%3%M%/%7%g%s2rJ|3+;O;~9o(B
  4$B9TL\(B  $B%3%M%/%7%g%s2rJ|3+;O;~9o(B   $B%3%M%/%7%g%s2rJ|=*N;;~9o(B
  5$B9TL\(B  $B%3%M%/%7%g%s2rJ|=*N;;~9o(B

$B!&(Btcp_trace$B$N=PNO7k2L(B(.td*)

  td_time         $B%3%s%H%m!<%k%V%m%C%/$,5-O?$5$l$?;~9o(B
  act             $B%3%s%H%m!<%k%V%m%C%/$,$I$N4X?t$K$h$C$F5-O?$5$l$?$+$r<($9(B
                  $B%U%i%0(B
  th_seq          TCP$B%X%C%@$NAw?.%7!<%1%s%9HV9f(B
  th_ack          TCP$B%X%C%@$N3NG'1~EzHV9f(B
  len             $B%Q%1%C%H$K4^$^$l$k%G!<%?$ND9$5(B
  th_flags        TCP$B%X%C%@$N(BTCP$B%U%i%0(B
  t_state         $B%3%M%/%7%g%s$N>uBV(B
  t_rxtshift      $B:FAw;~4V$N(Blog(2)
  t_rxtcur        $B:FAw;~4V(B
  t_dupacks       2$B=E3NG'1~Ez$r<u$1<h$C$?8D?t(B
  t_maxseg        $B:GBg%;%0%a%s%HD9(B
  t_force         1$B$N>l9g$O6/@)E*$KAw?.(B
  t_flags         $BAw<u?.$r@)8f$9$k(BTCP$B$N%U%i%0(B
  snd_una         $BAw?.$7$?3NG'1~Ez$NHV9f(B
  snd_nxt         $B<!$KAw?.$9$k3NG'1~Ez$NHV9f(B
  snd_wl1         $B%&%#%s%I%&$r99?7$9$k%;%0%a%s%H$N%7!<%1%s%9HV9f(B
  snd_wl2         $B%&%#%s%I%&$r99?7$9$k%;%0%a%s%H$N3NG'1~EzHV9f(B
  iss             $BAw?.%7!<%1%s%9HV9f$N=i4|CM(B
  snd_wnd         $BAw?.%&%#%s%I%&$NBg$-$5(B
  rcv_wnd         $B<u?.%&%#%s%I%&$NBg$-$5(B
  rcv_nxt         $B<!$K<u?.$9$k%7!<%1%s%9HV9f(B
  irs             $B<u?.%7!<%1%s%9HV9f$N=i4|CM(B
  rcv_adv         $BAj<j$N%[%9%H$XDLC#$7$?%&%#%s%I%&$NBg$-$5(B
  snd_max         $BAw?.$7$?:GBg%7!<%1%s%9HV9f(B($B:FAw$9$k$H$-$KMxMQ$5$l$k(B)
  snd_cwnd        $BmUmT%&%#%s%I%&$NBg$-$5(B
  snd_ssthresh    $B%9%m!<%9%?!<%H$NogCM(B
  t_idle          $BDd;_$7$F$$$k;~4V(B
  t_rtt           $B%i%&%s%I%H%j%C%W;~4V(B
  t_rtseq         $B;~9o$r7WB,$7$?%7!<%1%s%9HV9f(B
  t_srtt          $BJ?3j2=$7$?%i%&%s%I%H%j%C%W;~4V(B
  t_rttvar        $B%i%&%s%I%H%j%C%W;~4V$NJ,;6(B
  max_sndwnd      $BAw?.$5$l$?:GBg%&%#%s%I%&$NBg$-$5(B

