KJR020 KJR020's Blog

ソケットについて

経緯

「DockerのCLIがうまくdocker engineと接続できない」という事があったため、Dockerについて調べた。
HTTPで通信しているという事をfukabori.FMで聞いた事があったので、解決に向けて調査を進めた。
その最中、コンテナ間のHTTP通信は、UNIXソケットを介して実行されていることを知った。
UNIXソケットは、ネットワークを介さずにプロセス間通信を行うための仕組みらしい。
ネットワークスタックを通過することなく、高速でセキュアな通信が可能とのこと。

UNIXソケット以外のソケットについても調べてみた。

ソケット

  1. TCPソケット:

    • ネットワークを通じての信頼性の高い、順序正しいデータ伝送が可能
    • コネクション指向のプロトコルで、データが正確に、確実に届くことを保証する
  2. UDPソケット:

    • ネットワークを通じての高速だが信頼性の低いデータ伝送
    • コネクションレスプロトコルで、オーバーヘッドが少なく高速。データの順序や完全性は保証されない
  3. Rawソケット:

    • 低レベルのネットワークプロトコルアクセス。カスタムプロトコルの実装やネットワークトラフィックの監視に使用
    • ヘッダを含めたパケットを直接読み書きする能力を持ち、通常のデータ転送よりもさらに詳細な制御が可能
  4. Bluetoothソケット:

    • Bluetoothデバイス間の通信
    • 低エネルギーネットワークでの短距離無線通信に適している
Esc
キーワードを入力して検索