[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

フロー制御 (flow control)

pointこの用語のポイント

pointオーバーフローしないように制御する機能だよ

point送るデータの量を調整するよ

スポンサーリンク

簡単に書くよ

フロー制御 (flow control)とは

オーバーフローしないように制御しますよ機能のこと。
もう少し具体的に書くと

通信において「あー、今テンパってるからちょっと一回送るの止めて~」や「落ち着いてきたから普通に送って良いよ~」などのやり取りをする機能のこと。
少しだけ小難しく書くと

通信において、受信側の力不足によるデータの取りこぼし等を防ぐために、一気に送るデータの量を調整する機能のこと
です。

image piyo

詳しく書くよ

一言で言ってしまえば、通信量を調整するための機能が「フロー制御」です。
送る量が多過ぎて処理しきれなくなるのを防ぎます。

例えば、ピヨ太君とピヨ子さんがおしゃべりをしていたとしましょう。

フロー制御

ピヨ太君はのんびり屋さんです。
お話するときもゆっくりしゃべります。

フロー制御2

一方のピヨ子さんはせっかちさんです。
お話はもちろんマシンガントークです。

フロー制御3

この二人が会話をしてみたところ、ピヨ子さんのしゃべりが速すぎて、ピヨ太君は徐々に付いていけなくなりました。

フロー制御4

困ったピヨ太君は「もう少しゆっくりしゃべってよ~」とピヨ子さんにお願いしました。

フロー制御5

その結果、ピヨ子さんはゆっくりしゃべってくれるようになりました。

フロー制御6

これでピヨ太君も心にゆとりができ、おしゃべりを楽しむことができたのです。

フロー制御7

めでたしめでたし。

このお話における「もう少しゆっくりしゃべってよ~」がフロー制御です。

実際の通信においては、送る方から受け取る方に、細切れになったデータパケット)が送られます。

フロー制御8

受け取る方は、送られてきたパケットを合体させて元のデータを復元します。

フロー制御9

ここで、受け取る方が処理できる量より多い、たくさんのパケットが送り付けられたらどうなるでしょう?

フロー制御10

そうですね、受け取る方はテンパってしまいます。
お仕事が遅くなる、あるいは送られてきたパケットを受け損なってしまうこともあるでしょう。

フロー制御11

これを防ぐための機能がフロー制御です。
受け取る方は、テンパらないでお仕事ができるように「一回送るの止めて~」「普通に送って良いよ~」と送る方に伝えます。
送る方はそのお願いに従って送る量を調整してくれるのです。

もう少し具体的に見てみましょうか。
実際のところフロー制御のやり方はいろいろあるので、その一例です。

まず送る方が100byteの大きさのデータを送ったとしましょう。

フロー制御12

受け取った方は「100byteの大きさのデータを受け取ったよ~」というお返事をします。
さらにこのお返事に「次は80byteまでの大きさのデータなら受け取れるよ~」というメッセージをくっつけてやります。

フロー制御13

これで送る方は「あぁ、もう100byteの大きさを受け取る余裕は無いんだな。でも80byteまでの大きさなら受け取れるんだな」と分かります。
そこで送る方は80byteの大きさのデータを送ってやりました。

フロー制御14

受け取った方は「80byteの大きさのデータを受け取ったよ~」というお返事をします。
さらにこのお返事には「次は0byteまでの大きさのデータなら受け取れるよ~」というメッセージがくっつけてありました。

フロー制御15

0byteまでの大きさなら受け取れる、つまり「もう受け取れないよ~」ということです。
送る方は「あぁ、もうこれ以上送っても処理できないんだな~」と分かったので、送るのを止めました。

フロー制御16

これがフロー制御のやり方……の一例です。
フロー制御のやり方は他にもいろいろありますので、興味がある方は専門的に説明しているところで、情報を補完してください。

image piyo2

一言でまとめるよ

まぁ「フロー制御」って単語が出てきたら「通信において、送る量を調整する機能なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク