ソケット通信とは
運営 公開日:2021.09.17

今更聞けない!ソケット通信とは?ソケットとTCP/IPの関係とは

昨今よく使われる「ソケット通信」。ですが、実はあまり意味を理解していない、という方は珍しくありません!

そこでここでは、ソケット通信に注目し、基礎的な内容をかいつまんでご説明します。

ソケットとは

ソケット(英語で“socket”)とは、「プログラム」と「ネットワーク」を結ぶ出入り口、のこと。さらに言えば、実行中のプログラム間でデータの送受信を行うための仕組み、を指します。

特にTCP/IPを利用した通信プログラムを容易にするために開発され、標準インターフェイスとして、多くのOSに実装されています。

【TCP/IPとは】

TCP/IPとは、インターネットなどのコンピュータネットワークにおいて、世界標準的に利用されている通信プロトコルのことです。そのため、たとえばインターネットでWebページを見るときにはTCPとIPというプロトコルを利用しているのです。

■TCP(Transmission Control Protocol): コネクション(接続)型通信(通信開始前に、通信先にデータが届いたか確認しながら仮想的な通信路を確保する)。エラー回復やデータ再送その他を担う高位のプロトコル。

■IP(Internet Protocol):コネクションレス型通信(IPアドレスを付与して相手との接続確立を行わず、TCPのように通信開始前に相手との間で事前のやり取りはしない)。低位のプロトコルのため、ほぼTCPと一緒に使用される。

【プロトコルのレイヤーとは】

プロトコルには、以下のように複数のレイヤー(階層)が存在します。※上層から下層に向かって記載

■アプリケーション層・・・アプリケーションが使う通信プロトコル 例)HTTP

■トランスポート層・・・通信の信頼性に関するプロトコル 例)TCP

■インターネット層・・・目的の機器とのやりとりに関するプロトコル 例)IPアドレス

■ネットワークインターフェイス層・・・実際のネットワークハードウェアが通信を実現するためのプロトコル 例)無線LAN

ソケットでできること

つまり、TCP/IPは通信プロトコルの一種であり、それを司るネットワークとプログラムを結びつけるためには、ソケットという出入り口が必要なのです。

ソケットを使うとTCP/UDP上で動くアプリケーションを開発することが出来るため、HTTPよりもコンパクトな通信を使ってデータ送信もできる、という訳ですね。

キーワード

登録されたキーワードはありません

Pocket

あわせて読みたい記事