ブラウザ〜相手サーバーに届くまで
順番(イーサネットを使う場合 ADSLを使う場合)
クライアント(ブラウザ → ソケット → プロトコルスタック → LANドライバ → LANアダプタ) → LAN(ツイストペアケーブル → スイッチング → ルーター → ADSLモデム) → アクセス回線(DSLAM → BAS → トンネリング → トンネリング用ルーター) → プロバイダ(インターネット) → LAN(ファイアウォール → キャッシュ) → サーバー(LANアダプタ → LANドライバ → プロトコルスタック → ソケット → ブラウザ )
アクセス回線
ユーザーLANとインターネットを結ぶ回線
ADSK
FTTH(光回線)
CATV
ルーター
中継部分
ルーティングテーブル
ポート部分
パケットを送受信
無線LAN対応用ハードをつけてるなら無線LANでパケットを送受信
イーサネットならイーサネットでパケットを送受信
通信制御情報
ソケット
プロトコルスタックの動作を制御する情報を格納するメモリ領域 ポートと1:1
ディスクリプタ
ソケットの識別子
アプリケーションとソケットのやり取りに使う
通信相手のIPアドレス、ポート番号
ソケット使用元のIPアドレス、ポート番号
通信状態
LISTENING
ESTABLISHED
プロセスID
プロトコル
TCP
UDP
クライアント側
ソケット作成 → 接続(connect) → 送信(write) / 受信(read) → 切断(close) → ソケット抹消
サーバー側
ソケット作成 → 接続待ち(bind、listen) → 接続受け付け(accept) → 送信(write) / 受信(read) → 切断(close) → ソケット抹消
接続受け付け(accept)の時に、接続待ちのソケットをコピーしてクライアントとやりとりする
プロトコルスタック