はじめに
個人的まとめ。ソケットタイプとは、プロセス(ソケット)の通信方式を指定するものである。
ソケットタイプの種類
Stream sockets
- TCPを使った通信
- ソケットタイプは
SOCK_STREAM
Datagram sockets
- UDPを使った通信
- ソケットタイプは
SOCK_DGRAM
Raw sockets
- ICMPへのアクセスを提供
- 通常のアプリケーションが使用するものではなく,新たなプロトコルの開発や新たなプロトコルの機能の開発の際に使われるもの
- ソケットタイプは
SOCK_RAW
ストリームとデータグラムの違い
ストリーム通信はTCPによって、データグラム通信はUDPによって行われる。
TCPはスリーウェイハンドシェイクによって、クライアント・サーバー間のコネクションを確保してからデータの送受信を行う。クライアント・サーバー間にデータの流れ(Stream)ができるのでストリーム通信と呼ばれる。
対してUDPはクライアント・サーバー間のコネクションを確保せずに一方的にデータを送りつける形なので、送信したいデータを制御情報等を付加された一定程度の大きさのデータの塊(データグラム)に分割して送信することからデータグラム通信と呼ばれる。