新米ネットワークエンジニアだわよ!

ネットワークエンジニアとして勉強していく中で大事だなー!!と思ったことを忘れないようにするために書いてます。このブログで不明点が解決できたら嬉しいです^^

tcpってめんどくさい。。

tcpは信頼性をあげようという部分と効率よく通信をしようという部分を

二つ達成しようとしていろいろなアルゴリズムがある。

 

※正直めんどくさい。。

 

まず、帯域を輻輳させないためにウィンドウサイズを開いてから

教えてもらって、(たぶん3wayのとき)そのウィンドウサイズに収まる

分のデータ量を一気に送る、んで確認応答が返ってきたら

また出してく。でもその時に実は、最初ちょっと少なめで送る

んで大丈夫そうだったら少し増やすみたいな効率の上げかたがある。

 

で、輻輳してきた!ってなったら少し抑えるみたいなね。。

 

テールドロップというのもある、インターフェースから送出されるときに

キューというのに貯めるけどそれが一杯になるとdropしたりすること。

 

dropしだしたら、輻輳してると見なして通信を抑えるけど、

また少しづつ上がってきたらまた輻輳しちゃうみたいなことも起きるこれを

グローバル同期と呼ぶ。

 

でもテールドロップを防ぐためにキューを監視する

RED、WREDがあったりしてWREDは優先度を考慮するみたいなのもある。。。