WINSの中心で『先生!』と叫ぶ

ゴール前の鞍上に『先生!』と叫んで最後の一押しをする、それが至福の時・・・。

RWIN(=TCP Receive Window)最適値を求める

2007年01月04日 15時48分16秒 | PC
(手順 1)
以下の式を計算し、答え「A」を求める。
 65535 ÷ MSS = A →「MSS」とは?
  (但しAに端数が出た場合は切り捨てて、整数にする)
   例:MSSが「1414」の場合
    65535 ÷ 1414 = 46.3472・・・ ≒ 46

(手順 2)
以下の式を計算し、答え「B」を求める。
 A × MSS = B
  (但しBは“「65535」”、または“「65535」に内輪で最も近い値”にする)
   例:Aが「46」、MSSが「1414」の場合
    46 × 1414 = 65044
     (「65535」以下に収まっているのでOK)
※Bが「65535」以上になる場合
 例:Aが「47」、MSSが「1414」の場合
  47 × 1414 = 66458
“65535 < 66458”になってしまうので、計算式の答えが“「65535」、または「65535」に内輪で最も近い値”になる様に、“「47」に内輪で最も近い整数”
を探す。
 「47」に内輪で最も近い整数 → 「46」
  46 × 1414 = 65044 → 「65535」以下に収まっているのでOK
   (今回はすぐ見つけられたが、見つけられるまで行う)

(手順 3)
「スタート → プログラム → アクセサリ → コマンドプロンプト」、DOS画面が開いたら、
 ping -f -l xxxx www.goo.ne.jp
  (xxxxはMTU最適値、「www.goo.ne.jp」のところは任意のアドレスで良い)
と入力し、Enter。
表示された画面の「Minimum Maximum Average」の3つのうち、「Average」の数値だけメモしておく。
「ping -f -l xxxx www.goo.ne.jpを入力 → Averageをメモ」の動作を、同じ数値が複数回出るまで繰り返す。

(手順 4)
以下の式を計算し、答え「C」を求める。
 ※回線が「100M」の場合
  100M x 1000 x 1000 ÷ 8 x D ÷ 1000 = C
  (Dは(手順 3)で求めた「複数回出た同じ数値」)
   例:Dが「22」の場合
    100M x 1000 x 1000 ÷ 8 x 22 ÷ 1000 = 275000

(手順 5)
以下の式を計算し、答え「E」を求める。
 C ÷ 65535 = E
  (但しEに端数が出た場合は切り捨てて、整数にする)
   例:Cが「275000」の場合
    275000 ÷ 65535 = 4.1962・・・ ≒ 4

(手順 6)
以下の式を計算し、答え「F」を求める。
 E × 65535 = F
  例:Eが「4」の場合
   4 × 65535 = 262140

(手順 7)
以下の式を計算し、答え「G」を求める。
 F ÷ B = G
  (但しGに端数が出た場合は切り捨てて、整数にする)
   例:Fが「262140」、Bが「65044」の場合
    262140 ÷ 65044 = 4.0301・・・ ≒ 4

(手順 8)
以下の式を計算し、答え「H」を求める。
 G × B = H
  例:Gが「4」、Bが「65044」の場合
   4 × 65044 = 260176

この「260176」(答え「H」)が「RWIN(=TCP Receive Window)最適値」。


(手順 1~8)で何をしていたのかと言うと、
『対象となるPCとその通信回線環境において、【「65535」の“2の累乗倍”】の範囲内に収まる、最も大きな「MSSの整数倍」』
を求めていた。
手順毎に分けると、
(手順 1~2)で『「65535」以下で最も大きな「MSSの整数倍」』を、
(手順 3~6)で『対象となるPC環境における【「65535」の“2の累乗倍”】の最大値』を、
(手順 7~8)で『“(手順3~6)で求めた数値”内で、最も大きな「MSSの整数倍」』を、
それぞれ求めていた。


最新の画像もっと見る