今更聞けない!ソケット通信とは?ソケットと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よりもコンパクトな通信を使ってデータ送信もできる、という訳ですね。
キーワード
登録されたキーワードはありません