85725


# 背景

<https://gihyo.jp/admin/serial/01/tcp-cc/0003>
を読んで、TCPの輻輳制御アルゴリズムBICについて学んでいます。

# BIC

<https://gihyo.jp/admin/serial/01/tcp-cc/0003>
では、BICの3つのフェーズについて、以下のように記載しています。

  * Additive increase

> 輻輳ウインドウサイズが小さいときには，Additive
> increaseにより輻輳ウインドウサイズを急速に増加させることで，スケーラビリティとRTT公平性を高めます。

  * Binary search

> 輻輳ウインドウサイズが大きくなってからは，Binary
> searchにより徐々に輻輳ウインドウサイズを増加させ，過剰なパケット廃棄を起こさないようにします。

  * Max probing

> 輻輳ウインドウサイズがW_maxを超えると，Max
> probingと呼ばれるフェーズとなり，輻輳ウインドウサイズ増加関数がW_maxとなる点に対して対称となるように輻輳ウインドウサイズを増加させることで，次のパケット廃棄を探索します。

[![BIC](https://i.stack.imgur.com/rwxO8.png)](https://i.stack.imgur.com/rwxO8.png)

# 質問

Max probingでは、なぜW_maxとなる点に対して対称となるように輻輳ウインドウサイズを増加させているのでしょうか？  
W_maxを超えても、Binary searchや線形的に輻輳ウィンドウサイズを増加させた方が、パケットロスが起きにくく都合が良いように思いました。  
また「W_maxとなる点に対して対称となるように輻輳ウインドウサイズを増加させる」と、後の方では輻輳ウィンドウサイズが急激に増加して、すぐにパケットがロスすると思います。  
意図的にパケットロスを起こしているのでしょうか？


CC BY-SA 4.0
2022-01-15T16:25:59.370
85719
2022-01-16T03:57:38.647
19524
question
tcp
TCP輻輳制御アルゴリズムであるBICのMax probingフェーズでは、「W_maxとなる点に対して対称となるように輻輳ウインドウサイズを増加」させているのは、なぜですか？


> W_maxを超えても、Binary searchや線形的に輻輳ウィンドウサイズを増加させた方が、パケットロスが起きにくく都合が良いように思いました。

はい。なのでW_max以降の初期のフェーズは急激にウィンドウサイズが大きくならないよう制御しています。

>
> また「W_maxとなる点に対して対称となるように輻輳ウインドウサイズを増加させる」と、後の方では輻輳ウィンドウサイズが急激に増加して、すぐにパケットがロスすると思います。

W_maxが別の要因で実際の最適値より過小となっていた場合、ウィンドウサイズの増加率を大きくしないと最適値にいつまでたっても到達しない(=旧来のウィンドウ制御と同じ状況)からです。


CC BY-SA 4.0
2022-01-16T03:57:38.647
85725
2022-01-16T03:57:38.647
5793
85719
answer