OSI 参照モデルと TCP/IP
「7層を順に言えるか」「各層の役割と代表プロトコルを対応づけられるか」が出題の中心。
Key points
- OSI = Open System Interconnection(開放型システム間相互接続)。ISO(国際標準化機構)と ITU-T(国際電気通信連合 電気通信標準化部門)が定めた正式の国際標準ネットワークアーキテクチャ。
- 背景:1970年代に IBM が
SNAを提唱 → 対抗して富士通FNA、日立HNA、日本電気DINA、電電公社DCNAが乱立 → 異種コンピュータ間でも通信できる統一規格が要望された。 - OSI はプロトコルまで作られたが、世間に残ったのは 7層レイヤの考え方のみ。インターネットプロトコルと並べて書かれるが厳密にマッピングできるものではない。
- データ単位:
<N>-PDU = <N>-SDU + <N>-PCI。上位から渡されたデータが SDU、その層が付ける制御情報が PCI、合わせたものが PDU で下位層へ渡される。
7層スタック(層をクリックで詳細)
Open System Interconnection / 開放型システム間相互接続。ISO(国際標準化機構)と ITU-T(国際電気通信連合 電気通信標準化部門)が定めた。
解説「ISO だけ」と書くと減点される可能性が高い。電話側の標準化団体である ITU-T と共同で定めた点がポイント。
1 物理層 → 2 データリンク層 → 3 ネットワーク層 → 4 トランスポート層 → 5 セション層 → 6 プレゼンテーション層 → 7 応用層(アプリケーション層)
覚え方下から「物 デ ネ ト セ プ ア」。第1層が物理層=一番下、第7層が応用層=一番上。上下を逆に書くミスが最も多い。
1970年代、IBM がコンピュータ間接続のアーキテクチャとして SNA を提唱した。これに対抗して各社が類似のアーキテクチャを提示し、富士通の FNA、日立製作所の HNA、日本電気の DINA、電電公社の DCNA などが乱立した。その結果、メーカが異なるコンピュータ同士が通信できないという問題が生じ、異種コンピュータ間でも通信が行えるような統一規格が要望された。これを受けて ISO と ITU-T が OSI を策定した。
解説最終的には OSI プロトコル自体は普及せず、7層に分けて考えるという階層化の考え方だけが残ったという結末までセットで書けると完璧。
- SDU(Service Data Unit)… 上位層から預かった、その層にとっては中身を問わないデータ本体。
- PCI(Protocol Control Information)… その層のプロトコルが制御のために付加する情報=ヘッダ。
- PDU(Protocol Data Unit)…
<N>-SDU + <N>-PCI。同位層どうしでやりとりされる単位。
N層で作られた <N>-PDU はそのまま下位層へ渡され、N−1層から見ると <N-1>-SDU になる。これを各層で繰り返すことをカプセル化という。
HTTP のデータに TCP ヘッダが付いて TCP セグメント → それに IP ヘッダが付いて IP パケット → さらに Ethernet ヘッダが付いて Ethernet フレーム、という入れ子構造になる。
データリンク層は隣接局間(送信局↔中継局、中継局↔中継局のような、直接つながった 1区間)の通信手順を規定する。ネットワーク層はそのデータリンク層のサービスを利用して、送信局から受信局までのエンドツーエンドのデータ転送(パケット交換・ルーティング)を実現する。
解説スライドの「送信局—中継局—中継局—受信局」の図がそのまま出る可能性が高い。隣接局間通信を何本もつないでエンドツーエンド通信が成立する、という関係を図で描けるようにしておく。
セション層:協調する上位アプリケーション間で通信(セション)を確立・管理・終了する。セションとは一連の継続として捉えられるまとまりで、中断したときはこの層で再開される。インターネットプロトコルでは陽にこの機能は定義されていない。
プレゼンテーション層:データの表現形式を扱う(意味は問わない)。例えば日本語の文字コードに JIS、Shift-JIS、EUC、UTF のいずれを使うか、など。
| プロトコル | 用途 |
|---|---|
| ftp | ファイル転送 |
| smtp | 電子メール転送 |
| telnet | リモートログイン |
| http | WWW アクセス |
| DHCP | IP アドレス管理(自動割り当て) |
Ethernet / IP / TCP / UDP
「層・識別子・転送単位」の 3点セットが表で問われる。ここは確実に取る。
| プロトコル | 層 | 識別に使うもの | 転送単位 | 特徴 |
|---|---|---|---|---|
| Ethernet | データリンク層 | MAC アドレス | Ethernet フレーム | 同一ネットワーク内(直接・スイッチ経由)の端末間でデータ転送 |
| IP | ネットワーク層 | IP アドレス | IP パケット/データグラム | エンドホスト間でデータを中継しながら届ける。コネクションレス |
| TCP | トランスポート層 | ポート番号 | TCP セグメント | プロセス間に信頼性のある通信を提供(到達・順序・誤り保証) |
| UDP | トランスポート層 | ポート番号 | UDP データグラム | プロセス間に軽量な通信を提供(低遅延・簡素・非信頼性) |
TCP はエンドホスト間のプロセス間に信頼性のある通信を提供する。具体的には到達保証・順序保証・誤り保証を行う。UDP は同じくプロセス間通信だが軽量であることを重視し、低遅延・簡素・非信頼性という性質をもつ。
共通点:どちらもポート番号によって通信(プロセス)を識別する。またどちらもネットワーク層(IP)がエンドツーエンドでパケットを届けるサービスを利用して成り立っている。
補足信頼性を得るには確認応答や再送が必要で、そのぶん遅延とオーバヘッドが増える。信頼性と低遅延はトレードオフである、と一言添えられると強い。
コネクション型の例は X.25、コネクションレス型の例が IP(Internet Protocol)。IP はコネクションレス型である。
解説コネクションレス=事前に通信路を確立せず、各パケットが独立に宛先アドレスをもって転送される方式。そのため相手側の異常を発見しにくく、これを補うために ICMP が用意されている(→ SECTION 04 に直結)。
ルータは第3層(ネットワーク層)まで処理する。IP アドレスを見て次にどのネットワークへ転送するかを判断(ルーティング)する。スイッチは第2層(データリンク層)までしか処理せず、MAC アドレスを見て同一ネットワーク内で転送する。
解説スライドの「TCP/IP の階層構造(ルーター)」の図では、両端のコンピュータが第1〜7層すべてをもつのに対し、途中のルータは第1・2層と第3層(IP)だけをもつ形で描かれている。TCP から上はエンドホスト間で直接やりとりされ、途中のルータは関与しないという点が重要。
パケット化と蓄積交換の遅延
計算問題として最も出題されやすい箇所。数値が変えられても解けるように、公式ではなく仕組みで理解する。
Key points
- コネクションレス型パケット交換では、メッセージをパケットに分割し、各パケットにヘッダを付けて独立に転送する。
- 最重要ルール(蓄積交換 / store-and-forward):ルータは前段のルータまたは端末からパケットが送られ終わった後、はじめて次段への送信を開始できる。
- つまり 1つのパケットが 1回線を渡るたびに「1パケット送信時間」だけ遅延が積み上がる。
- 回線数 = ルータ段数 + 1(端末A→R1、R1→R2、…、R8→端末B)。
- 総所要時間
T =(パケット数 + 回線数 − 1)× 1パケット送信時間=(パケット数 + ルータ段数)× 1パケット送信時間
例題(スライド)の完全解答
5700 ÷ 950 = 6 パケット(ちょうど割り切れる)
STEP 2 — 1パケットの長さ950(ペイロード)+ 50(ヘッダ)= 1000 オクテット = 1000 × 8 = 8000 bit
STEP 3 — 1パケットの送信時間8000 bit ÷ 4×10⁶ b/s = 2×10⁻³ s = 2 ms
STEP 4 — 回線数ルータ8段 → 回線は A→1, 1→2, …, 8→B の 9本
STEP 5 — 合計T =(6 + 9 − 1)× 2 ms = 14 × 2 = 28 ms
数値を変えて練習(計算機)
上の図は各段の送信タイミング。1段ずつ右へずれていく「階段」が蓄積交換の本質で、階段の段数(=回線数)とパケット列の長さの和が全体時間になる。
パケット長 = 5700 + 50 = 5750 オクテット = 46000 bit。1回線あたり 46000 ÷ 4×10⁶ = 11.5 ms。回線は 9本で、パケットは 1つしかないので並行動作は起こらず、T = 11.5 × 9 = 103.5 ms。
考察分割すると、先に送り出したパケットが先の区間を進んでいる間に、後続のパケットを手前の区間で同時に送れる(パイプライン効果)。区間数が多いほどこの効果は大きく、遅延が大幅に減る。これがパケット交換でメッセージを分割する主な理由である。
その回線での 1パケット送信時間は 8000 ÷ 1×10⁶ = 8 ms となり、他の回線(2 ms)の 4倍かかる。この回線がボトルネックとなり、後続パケットは手前のルータのキューに溜まっていく。全体の所要時間はおおよそ「遅い回線が 6パケットを送り出す時間(8 × 6 = 48 ms)+ 残りの区間を最後のパケットが通過する時間」で決まり、分割の効果は最も遅い回線の速度に律速される。
解説ここでキューの深さ(例題では 3パケット)が意味をもってくる。キューが溢れるとパケットは廃棄され、輻輳が発生する。例題で「他のパケットフローは存在せず」「すべての回線が同じ速度」と断ってあるのは、この現象を起こさないためだと理解しておくとよい。
IP ネットワークの観察:ICMP / ping / traceroute
レポート課題と直結する範囲。ICMP のタイプ番号と、TTL の使われ方を押さえる。
Key points
- IP はコネクションレス型 → 相手の異常を発見しにくい。これを補うのが ICMP(Internet Control Message Protocol)。ルータや宛先ホストへデータグラムの異常などを問い合わせたり、送信元に知らせる。
- Type 8 = echo message / Type 0 = echo reply message / Type 11 = time exceeded message
ping:echo message を投げ、echo reply が返ることで到達性を確認。送ってから返るまでが RTT(round-trip time)。traceroute:TTL を 1, 2, 3… と増やしながら送り、TTL が 0 になった地点のルータが返す time exceeded の送信元アドレスを集めて経路を特定する。
| ICMP メッセージ | 意味 |
|---|---|
| destination unreachable | 指定されたネットワーク・ホスト・プロトコルなどにデータグラムを届けることができない |
| source quench | 中継網が輻輳しているため、送信元ホストに送信速度の低下を要求する |
| redirect | ルータが送信元ホストに対し、データグラムのルート変更を指示する |
| echo & echo reply | 宛先ホストが到達可能であるかのチェック(ping が使用) |
| time exceeded | TTL の値が 0 になってデータグラムが廃棄されたことを送信元に知らせる(traceroute が使用) |
IP はコネクションレス型プロトコルであり、通信に先立って通信路を確立せず、各データグラムを独立に転送する。そのため、宛先に届かなかった、経路が輻輳している、といった相手側や網の異常を送信元が発見しにくい。ICMP は、ルータや宛先ホストに向けてデータグラムの異常などを問い合わせたり、その結果を送信元に知らせたりするためのプロトコルであり、IP を補完する役割をもつ。
- IP ヘッダの TTL(Time To Live)を 1 にしたパケットを宛先へ送る。
- ルータは転送のたびに TTL を 1 減らす。TTL が 0 になったルータはそのパケットを破棄し、送信元へ ICMP time exceeded(Type 11)を返す。TTL=1 なら 1台目のルータがこれを返す。
- この time exceeded の送信元 IP アドレスが、1ホップ目のルータのアドレスである。
- TTL を 2, 3, 4… と 1 ずつ増やして繰り返すことで、2台目、3台目…のルータが順に判明する。
- パケットが宛先ホストまで届くと、time exceeded ではなく宛先ホスト自身からの応答(echo reply など)が返るので、そこで経路探索を終了する。
あわせて、送信から応答までの時間を測ることで各ルータまでの RTT も表示される(既定では各ホップにつき 3回計測)。
Windows の tracert は調査用パケットとして ICMP エコー要求を用いる。一方 macOS・Linux の traceroute は既定で UDP パケット(宛先ポート 33434番以降)を用いる。
UDP を使う場合、宛先ホストに到達すると「そのポートで待っているプロセスがない」ため ICMP destination unreachable(port unreachable)が返り、これを終了の合図とする。TTL を増やしながら time exceeded を集める中核の仕組みは両者で同じ。
64 − 56 = 8 台のルータを経由して届いた。ping で測定できるのは、echo message を送信してから echo reply message を受け取るまでの時間、すなわち RTT(往復遅延時間)。あわせて対象ホストの生存確認(到達性の確認)ができる。
解説この 8台という結果は、traceroute で 9ホップ目が宛先だった(=途中のルータが 8台)という結果と整合する。2つの独立した測定が同じ結論を示すという形で書けると、考察として説得力が出る。
レポート復習:自宅からの経路実測
提出したレポート(2026/7/19、J:COM NET、macOS)の内容。「なぜそう言えるのか」を口頭で説明できる状態にしておく。
測定環境の要点
Home network
- ISP は J:COM NET(ケーブルテレビ回線/同軸ケーブル・CATV 回線)。FTTH ではない点に注意。
- 端末(macOS ノートPC)は無線LAN(Wi-Fi)でケーブルモデム一体型ルータに接続。
- DHCP によりプライベート IP
192.168.0.25/24を取得。デフォルトゲートウェイはルータの LAN 側192.168.0.1。 - ルータの NAT でグローバルアドレスに変換され、J:COM のアクセス網経由でインターネットへ出る。
traceroute 結果の読み方
| ホップ | アドレス | 意味 |
|---|---|---|
| 1 | 192.168.0.1 | 自宅の無線LANルータ(デフォルトゲートウェイ)。プライベートアドレス。 |
| 2 | 110.134.48.1 | ISP(J:COM)のアクセス網で最初に通過するルータ。rev.home.ne.jp の逆引き名と whois で確認。 |
| 3–5 | 10.x / 172.25.x | いずれもプライベートアドレス。ISP 網内部の中継ルータと考えられる。 |
| 6 | …zaq.ad.jp | J:COM(ZAQ)基幹網のデータセンタのゲートウェイ。試行ごとに違うルータが現れる=ECMP による負荷分散。 |
| 7 | JPIX / JPNAP | 国内のインターネットエクスチェンジ(IX)。ここで J:COM 網から Cloudflare 網へパケットが引き渡される。 |
| 8 | 162.158.4.x | Cloudflare 社のアドレス帯(162.158.0.0/15)。Cloudflare 網内部のルータ。 |
| 9 | 104.20.27.195 | 宛先。実体はCloudflare CDN のエッジサーバ。 |
ISP(J:COM)の網内部の中継ルータには、インターネット側から直接アクセスされる必要がないため、グローバルアドレスではなくプライベートアドレスが割り当てられていることがあるため。プライベートアドレスはインターネット上で経路広告されないが、ICMP time exceeded の送信元アドレスとしては見えるので traceroute の結果には現れる。
IX は、複数の ISP やコンテンツ事業者などの異なる事業者のネットワーク同士を相互接続する拠点。今回はホップ7に現れ、whois の結果 JPIX(日本インターネットエクスチェンジ社)と JPNAP(インターネットマルチフィード社)という国内の 2つの IX が確認できた。ここが J:COM 網と Cloudflare 網の境界にあたる。
経路の3区分ホップ2〜6 = ISP(J:COM)の網内 / ホップ7 = 事業者間の相互接続点(IX) / ホップ8以降 = Cloudflare 網。この 3段構成で説明できるようにしておく。
www.fukuoka-u.ac.jp は DNS の CNAME レコードにより www.fukuoka-u.ac.jp.cdn.cloudflare.net へ向けられており、実体は Cloudflare CDN のエッジサーバだから。CDN を利用しているため、traceroute の終点は大学構内の Web サーバではなく、地理的に近い国内の Cloudflare 拠点になる。
- traceroute の 1行目に「using 104.20.27.195」「to www.fukuoka-u.ac.jp.cdn.cloudflare.net」と表示されている。
- ホップ8のアドレス帯 162.158.0.0/15 が whois で Cloudflare 社の保有と確認できる。
- RTT が最小 27.1ms、平均 43.4ms と小さい。遠方まで往復しているのではなく、近隣の CDN 拠点で応答が返されていることを示す。
初回特有のオーバヘッドによるものと考えられる。具体的には、無線LAN の省電力状態からの復帰に時間がかかること、経路上の各機器で ARP や経路情報などのキャッシュが未確立であることなど。2回目以降はこれらが解消されるため RTT が下がって安定する。
DHCP:ネットワークに接続した端末に対し、IP アドレスやサブネットマスク、デフォルトゲートウェイなどの設定を自動的に割り当てるプロトコル。今回は 192.168.0.25 が自動取得された。OSI では応用層のプロトコル。
NAT(Network Address Translation):LAN 側のプライベートアドレスと、ISP から与えられたグローバルアドレスとを相互に変換する機能。1つのグローバルアドレスを家庭内の複数端末で共有できるようにする。
家庭までの光アクセス:FTTx と PON
用語の対応(FTTH/B/C、OLT/ONU)と、上り下りで方式が違う理由が定番の出題。
Key points — FTTx (Fiber To The x)
- 通信事業者の設備センタから加入者宅までの区間=ラストワンマイルを、どこまで光ファイバ化するかで呼び分ける。
- FTTH(Home)… ユーザ宅まで全光化 / FTTB(Building)… テナントビルやマンションまで / FTTC(Curb)… 縁石まで=途中まで(残りはメタリックケーブル)
- OLT(Optical Line Terminal)… センター側装置 / ONU(Optical Network Unit)… ユーザ側装置
Key points — PON (Passive Optical Network)
- OLT と ONU の間に光信号を合分波する光スプリッタを設置することで、光ファイバを介して1つの OLT に複数の ONU が接続される。
- 下り方向(OLT → ONU)は TDM:全 ONU にフレームをブロードキャストし、各 ONU が自宅あてのフレームを選択する。
- 上り方向(ONU → OLT)は TDMA:各 ONU のタイムスロットを調整して衝突を回避する。
| 種類 | 標準 | 特徴 |
|---|---|---|
| B-PON | ITU-T G.983 | ATM を基本とした PON(当初は ATM-PON) |
| G-PON | ITU-T G.984 | ギガビットクラス(上り Max 1.244Gb/s、下り Max 2.488Gb/s)。新しい GTC フレームを採用 |
| GE-PON | IEEE 802.3ah | 現在の主流。Ethernet フレームに準拠した PON で LAN との親和性が高い |
OLT と ONU の間に置かれる光スプリッタが受動素子であり、電源や能動的な信号処理を必要とせず、光信号を単に合波・分波するだけである点を指して Passive という。
利点:1本の光ファイバと 1つの OLT ポートを複数の加入者で共有できるため、設備センタから加入者宅までの光ファイバ本数と局側装置のコストを大幅に削減できる。また途中に電源が不要なので保守性が高い。
下り(OLT → ONU)は送信者が OLT 1台だけなので、衝突は起こらない。OLT が各 ONU あてのフレームを時分割で並べてブロードキャストし、各 ONU が自分あてのフレームだけを選択して取り出せばよい。これが TDM(時分割多重)。
上り(ONU → OLT)は複数の ONU が 1本の共有ファイバへ同時に送信する可能性があり、そのままでは光スプリッタの合波点で信号が衝突してしまう。そこで OLT が各 ONU に送信タイミング(タイムスロット)を割り当てて調整し、衝突を回避する必要がある。これが多元接続方式である TDMA(時分割多元接続)。
キーワード「1対多のブロードキャスト」vs「多対1の多元接続・衝突回避」という非対称性が答えの核。
- FTTH(Fiber To The Home):ユーザ宅まで光ファイバを引き込む=全光化。ONU はユーザ宅内に置かれる。
- FTTB(Fiber To The Building):テナントビルやマンションの共用部まで光ファイバを引き、そこから各戸まではメタリックケーブル(数十メートル)を使う。
- FTTC(Fiber To The Curb):縁石=道路の途中までしか光ファイバを引かず、そこからユーザ宅まではメタリックケーブル(約1マイル)を使う。
光ファイバが宅内に近いほど高速だが、敷設コストは高くなる。ONU の設置位置が「宅内 / 建物 / 縁石」と手前に下がっていくのがポイント。
当てはまらない。J:COM NET は同軸ケーブル(CATV 回線)を用いたインターネット接続サービスであり、宅内に置かれるのは ONU ではなくケーブルモデム(レポートではモデム一体型無線LANルータ)である。光アクセスではなく、テレビ放送用に既設の同軸ケーブル網を利用したアクセス方式にあたる。
解説ただし ISP の局舎から先の基幹網は光ファイバであり、加入者側の同軸区間だけが異なる(HFC=Hybrid Fiber-Coax と呼ばれる構成)。「ラストワンマイルを何で埋めるか」という FTTx の問題意識そのものは共通している。
総合記述と直前チェック
「データをパケット化し、相手に届くまでの手順」を通しで説明できるかが最後の関門。
- 応用層:HTTP がアプリケーションのデータを生成する。
- トランスポート層:TCP がデータを適切な大きさに区切り、送信元・宛先ポート番号やシーケンス番号を含む TCP ヘッダ(PCI)を付加して TCP セグメントとする。
- ネットワーク層:IP が送信元・宛先の IP アドレスと TTL を含む IP ヘッダを付加して IP パケット(データグラム)とする。
- データリンク層:Ethernet が次に渡す相手の MAC アドレスを含むヘッダを付加して Ethernet フレームとする。
- 物理層:電気信号や光信号として媒体へ送出する。
- 受信したフレームを最後まで蓄積してから(store-and-forward)Ethernet ヘッダを外し、IP ヘッダの宛先 IP アドレスを見る。
- 経路表から次の転送先を決め、TTL を 1 減らす(0 になれば破棄し、送信元へ ICMP time exceeded を返す)。
- 次の区間用の新しい Ethernet ヘッダを付け直して転送する。IP アドレスは変わらないが MAC アドレスは区間ごとに書き換わる。
物理層 → データリンク層 → ネットワーク層 → トランスポート層 → 応用層の順に、各層が自分のヘッダを外して上位層へ SDU として渡す。TCP は到達・順序・誤りを確認し、必要なら再送を要求したうえで、元のデータをアプリケーションへ引き渡す。
一問一答(速効チェック)
| 問 | 答 |
|---|---|
| Ethernet の転送単位は? | Ethernet フレーム |
| IP の転送単位は? | IP パケット/データグラム |
| TCP の転送単位は? | TCP セグメント |
| UDP の転送単位は? | UDP データグラム |
| TCP / UDP の識別子は? | ポート番号 |
| ICMP Type 0 / 8 / 11 は? | echo reply / echo / time exceeded |
| ping が使う ICMP メッセージは? | echo message と echo reply message |
| traceroute が使う ICMP メッセージは? | time exceeded |
| RTT とは? | 往復遅延時間(round-trip time) |
| OLT / ONU はどちら側の装置? | OLT=センター側、ONU=ユーザ側 |
| PON の下り/上りの多重方式は? | 下り TDM、上り TDMA |
| GE-PON の標準は? | IEEE 802.3ah |
| G-PON の標準と速度は? | ITU-T G.984、上り1.244G/下り2.488Gb/s |
| 蓄積交換の総時間の式は? | (パケット数+回線数−1)×1パケット送信時間 |
| 1オクテットは何ビット? | 8ビット |