端末(スマホ・PC)— 通信の出発点

中級の解説は準備中のため、中級の内容を表示しています。

概要 — まず全体をつかむ

初級では端末を「通信の出発点・到着点」と捉えました。中級では、その内側——アプリからNICまでの通り道(ネットワークスタック)、自分を示す2つのアドレス、そして起動時の住所の受け取りと名前解決——を一段深く見ます。

詳細 — 1段階ずつ追う

これは何をする係?

端末の役割は初級どおり、お願い(リクエスト)を作って送り出し、返ってきたデータを受け取ることです。中級で押さえたいのは、アプリは直接ネットに触れないという点です。

アプリが送るデータは、端末の中を層になって流れていきます。これをネットワークスタックと呼びます。

  • アプリ — 「このページをください」というデータを用意する
  • ソケット — アプリがOSへデータを渡すための入口(出入口の窓口)
  • OSのTCP/IP — データをパケットに仕立て、宛先や順序の管理を担う
  • NIC — パケットを電気や電波の信号に変える通信部品
  • 回線 — 有線・無線でネットワークへ出ていく道

つまりアプリは、必ずOSとNICを通ってからでないと外に出られません。ネットの細かい面倒(宛先付け・再送・信号化)は下の層が引き受けるので、アプリは中身づくりに集中できます。

アニメーション『端末から回線まで』を開く
端末(スマホ・PC)=通信の出発点1台の端末の中上:ソフト(人に近い)下:物理・回線(信号に近い)アプリ画面・操作(ブラウザ等)OS共通の窓口・橋渡しNIC(ネットワーク制御ユニット)データ ⇄ 信号 に変換データデータ信号回線(有線/無線)電気・光・電波の信号として流れる外の回線・ネットワークへアプリは直接ネットに触れず、必ず OS と NIC を通る

どう通信を始める?

初級の流れを、スタックに沿ってなぞり直します。宛先はIPアドレスとポート番号の組で決まる点が中級の要点です。

  1. あなたが操作する(リンクを押す、送信する)
  2. アプリがデータを用意し、ソケットを通してOSに渡す
  3. OSのTCP/IPが、宛先IP+ポートを付けてパケットに仕立てる
  4. NICがパケットを信号に変える
  5. 有線/無線でネットワークへ送り出す

ここでポート番号は「どのアプリ宛てか」を示す番号です。IPアドレスが「どの機器か」を決め、ポートが「その機器のどのアプリか」を決める——だからブラウザとメールが同時に通信していても、返事が混ざりません。

自分を示す2つの住所

端末は、通信のためにアドレスを持ちます。中級では2種類を区別します。

  • IPアドレス — ネット上の住所。ネットワークの中で「どの機器か」を示す(初級で登場した住所)
  • MACアドレス — NICに焼き付いた、NIC固有の番号。すぐ隣の相手へ渡すときに使う

ざっくり言えば、IPは遠くまで届けるための住所MACはすぐ隣の一区間で使う名札です。パケットは宛先IPを保ったまま旅をしますが、一区間ごとの受け渡しではMACアドレスが使われます。

なお同じスマホでも、家ではWi-Fi、外ではモバイル回線と入口(NICと回線)を切り替えます。ネットワークから見れば端末は末端——だから「端末」です。

⚠️ うまくいかないとき

初級の不調に加え、中級では起動時の受け取りでつまずく例を押さえます。端末は起動時、まずDHCPで自分のIPアドレス・ゲートウェイ・DNSサーバの場所をまとめて受け取り、通信時はDNSで名前をIPアドレスに変換します。

  • 機内モード/Wi-Fiオフ — そもそも通信の入口が閉じている
  • DHCPで住所が取れない — IPアドレスが割り当たらず、外へ出られない
  • DNSが引けない — 名前をIPに変換できず「サーバが見つからない」となる(IP直打ちなら届くことも)
  • ポートが塞がれている — 特定アプリの通信だけ通らない
  • 端末側の不調 — 再起動でスタックが初期化され直ることも

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. 端末が起動して通信を始めるとき、DHCPとDNSが担う役割の組み合わせとして正しいのは?

2. アプリが送るデータが、実際にネットワークへ出ていくまでの順番として正しいのは?

3. ブラウザとメールが同時に通信していても返事が混ざらないのはなぜか。IPアドレスとポート番号の役割として正しいのは?

4. IPアドレスとMACアドレスの使い分けとして正しいのは?

5. ネットワークスタックにおいて、アプリが外へデータを送り出すときの経路として正しいのは?

6. DNSが引けないときに起きやすい症状として正しいのは?

7. アプリがOSへデータを渡すための「入口(窓口)」を、カタカナで何と呼ぶ?

8. NICに焼き付いた、NIC固有の番号を「◯◯◯アドレス」という。◯◯◯を英字3文字で答えてください。

端末(スマホ・PC)— 通信の出発点 | Kotowary