にしのクエスト2

情報処理技術者試験と資格学校講師の日常

f:id:koharuwest:20191106221322p:plain

ネスペちゃん01 「TCP」(4)スライディングウインドウ

<ネスペちゃん01について>
ネスペちゃん01はネットワークの用語やセキュリテ
ィのお話について、「難しい」イメージから「意外と
面白い」に変えるのが目的です。そのため、あえて大
胆なたとえや、表現を使っています。

そんなわけで、結果的に、緻密さを犠牲にする部分が
あります。詳しく知りたい方は、さらに勉強しよう!
ってことで。よろしくお願いします。(にしの)


----

ここまでのまとめ。

・TCP自身はどうやって接続しているのかはわから
 ない(レイヤが違うため)が、通信を制御する仕事
 をしている。
・相互に通信を行う場合、許可・応答を一度に行う3
 WAYハンドシェイクを使う。
・許可を待たずに、送信することで効率化を図れるが
 相手の処理が間に合わない(バッファオーバーフロ
 ー)場合があるので、ウインドウサイズを確認し、
 送信するタイミングを計る。

www.nsnq.tech

 さらにウインドウ制御(フロー制御ともいう)を効率
化する方法としてスライディングウインドウという仕
組みがある。ちょっと、わかりにくいんだけど。

f:id:koharuwest:20190608232358j:plain


ABCDEというデータを送るとする。


AとBを送信開始。
AはOK。
BとCを送信開始。
BはOK。
CとDを送信開始。
CはOK。
DとEを送信開始。
DはOK。

このように、一つの応答の間に一つづつ送信するセグ
メントをずらして送信する。もちろん、ウインドウサ
イズがなくなれば相手は受け取れないので送信は中断
するが、確認応答の間に送信を開始することで実際の
通信速度を向上させることができる。


たとえは同じデータを何回も送ってるように見えない?


感覚としてはABを送っている間に、Aの返事が来た
のでそのままBを送りつつCも開始しちゃえ・・・み
たいな感覚。文字にするのが、難しいにゃ。

タイミングを滑らかにずらしている感じ!


これ、順番通りにならないんじゃないの?


途中で送信エラーがあったりするとそうなんだけど、
そこは現地で調整する。再送分は後で届くということ
で。

次回はTCPの最後。まとめと、質問コーナーにする
にゃ。

意外と、好評みたいですよ。
この連載。

f:id:koharuwest:20190520230653p:plain