ネットワークソケット
壁のコンセントにプラグを挿して電気を使うように、プログラムがインターネットという壁に挿してやり取りするための「ソフトウェアのプラグ」です。
定義 ネットワークソケットとは、パソコンやスマートフォンで動いているプログラムが、ネットワークを通じて別の端末のプログラムとデータをやり取りできるようにOS(基本ソフト)が用意してくれる「仮想の通信口」のことです。
コンセントにプラグを挿すように接続します
家電製品を使うとき、壁のコンセントにプラグを挿す場面を思い浮かべてみてください。プラグを差し込んだ瞬間に見えない電気が流れ込み、機器が動きますよね。コンピュータのプログラムも、他のコンピュータとデータをやり取りするために、このような仮想のプラグとコンセントを必要とします。
Webブラウザやメッセージアプリを起動すると、コンピュータ内のOSが小さなソフトウェアの通信口を1つ作ってくれます。これこそが「ソケット」です。プログラムは複雑なケーブルの仕組みや電波の原理を知らなくても、このソケットに文字や画像データを流し込むだけで済みます。
あとはOSやネットワーク機器がデータをパケットにまとめて、相手のコンピュータまで安全に届けてくれます。プログラムから見れば、ソケットという窓口にメッセージを出し入れするだけで通信ができる、とても便利な仕組みなのです。
IPアドレスとポート番号が出会う場所
ソケットがどこにつながるべきかを知るには、2つの情報が合わさる必要があります。相手の場所を示す建物の住所にあたる「IPアドレス」と、その建物の中で何号室かを示す「ポート番号」です。
マンションに例えるとわかりやすいでしょう。IPアドレスがマンション全体の所在地だとすれば、ポート番号は荷物を受け取る101号室や202号室といった個別の部屋番号です。ソケットはまさにその特定の部屋の前にある専用のドアの役割を果たします。
例えばWebサーバーは、通常Web通信専用の80番や443番ポートにソケットを開いて訪問者を待っています。自分のパソコンがブラウザを開いてWebサーバーのソケットをノックすると、両者の間に1対1の通話回線がつながり、通信がスタートします。
より詳しく知る:接続型と非接続型
ソケットは通信の目的に応じて、大きく2つの方式で動作します。相手に電話をかけてつながりを確認してから確実にやり取りする「ストリームソケット(TCP方式)」と、宛先だけ書いた手紙をポストへ素早く投函する「データグラムソケット(UDP方式)」です。
1文字の抜け落ちも許されないWeb閲覧やファイル転送には、信頼性の高い接続型ソケットが使われます。一方で、多少のデータ欠落があっても遅延なく画面を動かし続けたいオンラインゲームやビデオ会議では、手紙を投げ込むような非接続型が好まれます。
通信が終わると、プログラムはソケットを閉じて後片付けをします。通信口を開き続けるのにはメモリを消費するため、会話が終わったらソケットを閉じて、次につながる新しい通信のためにリソースを開放するのです。
🤔 よくある誤解
ネットワークソケットとは、パソコンの背面にあるLANケーブルの差込口(ハードウェア)のことである。
ハードウェアの端子ではなく、プログラム同士がインターネットを通じてデータをやり取りできるようにOSがソフトウェアとして提供する「仮想の通信口」です。
🧺 日常で出会う場面
ネットワークソケットとは、プログラムがインターネットを通じて他のプログラムと通信できるようにOSが用意するソフトウェアの接続口です。