TCP/IP 4階層とプロトコルのリレー
経営情報システム 第20回
「あなたが今スマートフォンを取り出して画面をタップしたとしますよね」。動画はこんな日常の一場面から始まります。このページでは動画の流れにそって、TCP/IPの4つの層の役割と、各層で働く主なプロトコル(HTTP、SSH、TCP、UDP、IP、ICMP、ARP、イーサネットなど)をまとめました。まず動画を聞いて、あとからここで復習するのがおすすめです。
スマホをタップした一瞬に、何が起きている?
「あなたが今スマートフォンを取り出して画面をタップしたとしますよね」。動画はこんな日常の一場面から始まります。ごく日常的な動作ですが、その一瞬に、目に見えない無数のやり取りが行われているというのです。
インターネットの通信は魔法ではありません。そこには、膨大なデータを確実に、しかも超高速で届けるための、極めて精密なルールのリレーが存在しています。今回のテーマは、そのリレーを担うTCP/IPの各層の役割と、各層で働く主なプロトコルです。
動画は、プロトコルを単なる暗記リストとして捉えるのではなく、なぜそのルールが必要なのかという背景に注目しよう、と呼びかけます。順番は、ユーザーに一番近い最上位の層から下へ。4つの層を順に見ていきましょう。
(補足:動画にない話です。1989年のRFC 1122は、通信プロトコルの層としてリンク層・IP層・トランスポート層を扱い、アプリケーション層は姉妹文書で扱うと書いています。層の呼び名は資料により違うので、問題文の用語に合わせて読み替えてください。)
アプリケーション層:目的ごとに専用のルールがある
最初は最上位のアプリケーション層です。ここでは、ユーザーが使う機能ごとに、さまざまなルールが決められています。パソコンやスマホで何をしたいかという目的に応じて、専用のルールが用意されているのです。動画に出てきたプロトコルを表にまとめます。
| プロトコル | 動画での説明 |
|---|---|
| HTTP | Webの閲覧。リクエストとレスポンスで動く。ブラウザーとWebサーバーの間でハイパー |
| FTP | ファイル転送(ホームページのデータのアップロードなど) |
| Telnet | 他のコンピューターの遠隔操作 |
| SSH | 通信を暗号化した遠隔操作。Telnetより安全 |
| SNMP | ネットワークの管理。ルーターやコンピューターをチェックする |
| LPR・IPP | プリンターの利用 |
| SMTP・POP3・IMAP | 電子メールの送受信 |
| DHCP | ネットワークの管理 |
| DNS | ドメイン名の管理 |
遠隔操作のところでは、聞き手が不安を口にします。
Telnetってセキュリティ的に少し不安じゃないですか?会社の外から自分のデスクのパソコンを操作するようなものですよね。
おっしゃる通りです。ですから、通信が暗号化されているSSHがよく使われます。Telnetよりも安全に使うことができます。
ここで聞き手が、たとえを出します。Telnetは透明な封筒で指示を送るようなもの、SSHは鍵付きの頑丈な金庫に入れて送るようなもの。講師も「非常に分かりやすい例え」と受けています。
(補足:RFC 4251は、SSHを「安全でないネットワーク上で、安全なリモートログインなどを行うためのプロトコル」と説明しています。Telnet(RFC 854)は、端末と端末向けのプロセスをつなぐ双方向の通信手段で、解説資料ではポート23は暗号化なしと整理され、動画の対比と合っています。)
動画は、ユーザーが直接使う機能だけではなく、裏側で働くプロトコルもある、と続けます。ネットワーク管理のSNMP、プリンター用のLPRとIPP、電子メール用のSMTP・POP3・IMAP、そしてDHCPとDNSです。
(補足:メールのプロトコルは、動画では「電子メール用」とひとまとめですが、役割は分かれます。SMTPはメールを信頼できる形で転送するもの(RFC 5321)、POP3はサーバーのメールを手元に取り出すもの(RFC 1939)、IMAPはサーバー上のメールを操作しながら使うもので、送信手段は定めていません(RFC 9051)。送るのはSMTP、受け取るのはPOP3かIMAPです。)
(補足:動画はDHCPを「ネットワークの管理」の例に挙げます。RFC 2131は、DHCPを、クライアントが動作に必要なIPの設定情報をすべて取得するための仕組みと説明しています。「管理」の中身は、IPの設定情報の取得だと言い換えられます。)
なぜ、こんなに細かくルールを分けるのか
動画はここで、素朴な疑問を取り上げます。機能の数だけプロトコルがあるなら、なぜ1つにまとめないのか、という疑問です。
何でもできる万能な1つのルールを作らないのは、なぜですか?
機能ごとに独立させるためです。もし万能なルールを1つ作ってしまうと、たとえばプリンターの機能が新しくなっただけで、Webの閲覧からメールの仕組みまで、全部作り直さなければならなくなりますからね。
ああ、それは困りますね。
ですから、必要な機能だけを独立して機能させる、非常に合理的な設計になっているんです。
こうしてアプリケーション層で何をするかが決まったら、次はそれをどう運ぶかを決める層へバトンタッチします。
トランスポート層:正確さのTCP、スピードのUDP
次は1つ下のトランスポート層です。アプリケーションのデータ転送を制御するプロトコルが働く場所で、動画は「2つの哲学がぶつかる場所」と呼びます。正確性を重視するTCPと、スピードを重視するUDPです。
TCPは、相手がデータを受け取ったかという到着確認や誤り訂正を行いながら通信を制御する、コネクション型の方式です。相手としっかり接続を確立して、1つ1つ確認しながら進めます。信頼度は高い一方、UDPと比べると速度は落ちます。そのため、確実に届けたい電子メールなどに使われる、と動画は説明します。
UDPは、データを送受信するだけで、到着確認も誤り訂正も行いません。これがコネクションレス型です。スピードを極限まで重視するので、通信速度は速く、信頼度は低くなります。一部のデータ欠損が許される場面、つまりWeb会議の音声通話やストリーミング配信などのリアルタイム通信に向く、という説明です。
到着確認も誤り訂正もしないなんて、頼りない方法に聞こえます。なぜそんな不確実な方法を使うんですか?
スピードを極限まで重視するためです。
動画のWeb会議の例では、映像が少し乱れたり音声が一瞬飛んだりしても、私たちは自然に会話を続けられる、と聞き手が言います。もしTCPで毎回、到着確認と誤り訂正をしていたら、映像がフリーズして通話が止まってしまう。映像が少し乱れても会話が続くほうがはるかに重要だ、と講師が結びます。
(自作の設例です。音声を20ミリ秒ごとに1パケットで送り、往復に100ミリ秒かかると仮定します。1つ失われると、TCPは再送を待つあいだ後ろのデータも順番どおりには渡せないので、100÷20=5個ぶん、およそ0.1秒、音が止まります。UDPなら、欠けるのは20ミリ秒ぶんだけです。実際はもっと複雑なので目安です。)
(補足:RFC 9293は、TCPを「信頼できる、順序どおりのバイトストリームを提供する」ものと説明し、損失や誤りの検出と再送で信頼性を保ちます。接続の確立は「3ウェイハンドシェイク」です。RFC 768は、UDPでは「配送と重複防止は保証されない」と書いています。)
(補足:UDPの出番はリアルタイム通信だけではありません。動画がドメイン名の管理に挙げたDNSについて、RFC 1035(1987年)はTCPとUDPの両方のポート53で受け付け、標準的な問合せにはUDPを推奨していました。その後RFC 7766とRFC 9210で、TCPへの対応は必須と整理されています。実際の問合せの多くはUDPです。Web会議ツールがUDPを使うかは製品によるため、動画の説明として紹介しました。)
インターネット層:IPが道を選び、ICMPが確かめる
どう運ぶかが決まったら、次は、どの道を通るかです。インターネット層は、ルーターで区切られた複数のネットワークを経由して、ホストまでIPパケットを届けるためのプロトコルが働く層です。主役はIPで、動画では、IPアドレスに基づいてネットワーク内で最適な通信経路を選定するプロトコルだと説明されます。聞き手はこれを「ドライブのときのカーナビみたい」と受けます。
(補足:RFC 791は、IPの役割を、送信元から宛先のホストへデータグラムを送ることと、長いデータの分割・再組み立てだと説明しています。経路選択の細部は、本記事では一次資料で確認していません。)
そのナビを支えるのがICMPだ、と動画は続けます。ICMPは、ネットワークがきちんと繋がっているかを確認し、IPのエラーメッセージや制御メッセージを転送するプロトコルです。ICMPを使ったコマンドが、ピング(ping)とトレースルート(traceroute)です。
pingは、通信相手と通信できるかをチェックするコマンドです。講師は「出発前に目的地に電話して、いますかと確認するようなもの」とたとえます。トレースルートは、どんな経路を通って相手に届くかを確認するコマンドです。こちらは聞き手が「どの交差点を通ってきたかを記録するドライブレコーダーみたいなもの」とたとえ、講師が「素晴らしいアナロジー」と受けています。
(自作の設例です。ルーターが2台あるとき、トレースルートはTTLを1、2、3と増やして送ります。TTL=1はR1で、TTL=2はR2で破棄され、それぞれ知らせが返ります。TTL=3で初めて宛先に届きます。返ってきた送り主を順に並べると、道筋が見えます。)
(補足:RFC 792は、TTLが0のデータグラムは破棄しなければならず、送信元へTime Exceededで知らせてよい、と定めています。解説資料によると、トレースルートはTTLを1から増やして送り、この知らせで経路を割り出します。Unix系のtracerouteは既定でUDP、WindowsのtracertはICMPのEcho Requestを送るとされるので、「ICMPを使ったコマンド」は少し単純化した言い方です。pingとEcho/Echo Reply(RFC 792)の対応は、本記事では一次確認していません。)
(補足:動画は「ナビゲーションを支える」と表現しますが、RFC 792は、制御メッセージの目的を、問題の知らせであって、IPを信頼できるものにするためではない、と書いています。経路を決める部品ではなく、問題の知らせ役です。)
もう1つ、ARPというプロトコルがあります。IPアドレスからMACアドレスを取得するときに使われます。ここで聞き手が疑問を出します。
IPアドレスという目的地が分かっているなら、わざわざMACアドレスを取得する必要ってあるんですか?
いい質問ですね。IPアドレスはあくまで論理的な住所です。
動画は、実際にデータを受け取るのは物理的な機器だ、と続けます。聞き手は「ARPは住所から建物の表札を割り出すようなもの」とたとえ、講師が「カーナビで目的地の前まで行って、最後は表札を見て物理的な機器を特定する」と受けます。
(補足:RFC 826は、プロトコル上のアドレスを48ビットのEthernetアドレスへ対応づける仕組みとしてARPを定めています。解説資料では、同じネットワーク内で、要求をブロードキャストし、該当する機器がMACアドレスで返信すると整理されます。IPAの基本情報技術者試験シラバス(Ver.9.2)は、ARPを「データリンク層レベルのプロトコル」として挙げています。動画はインターネット層に置くので、資料により異なります。問題文の対応表に従ってください。)
ネットワークインターフェース層:地味だけれど一番重要
最後は一番下のネットワークインターフェース層です。ここで主に使われるのがイーサネットで、LANに採用されている通信規格、つまりデータをLANで運ぶためのルールです。ずいぶん物理的で基礎的ですが、動画は「ここが一番重要」と言います。上の層でどんなに複雑な経路計算や暗号化をしても、最終的にケーブルやWi-Fiなどのローカルな空間でデータを運ぶには、この層のルールが必要不可欠だからです。
聞き手は「道路が舗装されていなければ、どんなに優秀なカーナビがあっても車は走れない」とたとえ、講師が「まさにそういうこと」と応じます。
(補足:動画の説明のうち、Wi-Fiなどでも「イーサネットが必要不可欠」という部分は単純化です。IEEEでは、イーサネットは802.3作業部会、無線LANは802.11作業部会と、別々に規格を作っています。有線はイーサネット、無線LANは別の規格と分けて覚えるのが安全です。最下層にローカルな区間の規格が要るという趣旨は変わりません。)
4つの層のリレーをふり返る
動画は最後に、聞き手が4つの層を「何をするか、どう運ぶか、最適な経路、どう物理的に渡すか」と整理し、講師が「絶妙な連携」と受けます。
結びは、スマホの画面をタップしてWebページを見るほんの一瞬に、プロトコルたちがどれだけの確認作業と最適化を裏で行っているか、という問いです。次にWeb会議をつなぐときやメールを送るときは、背後で休むことなく働いている、この巨大で精密なルールのリレーに思いをはせてみてください、と動画は呼びかけます。
動画のたとえ
- TelnetとSSH(聞き手):透明な封筒と、鍵付きの頑丈な金庫。
- IP(聞き手):ドライブのときのカーナビ。
- ping(講師):出発前に目的地へ電話して「いますか」と確認する。
- トレースルート(聞き手):どの交差点を通ったか記録するドライブレコーダー。
- ARP(聞き手):住所から建物の表札を割り出す。
- イーサネット(聞き手):舗装された道路。
まとめ
この回のまとめ
- 動画の整理では、TCP/IPは4つの層に分かれ、上から「何をするか」「どう運ぶか」「どの道を通るか」「どう物理的に渡すか」を担う。
- アプリケーション層は、機能ごとに専用のプロトコルがある。分けるのは、機能を独立させ、1つの変更が全体に及ばないようにするため、と動画は説明する。
- トランスポート層では、TCPは到着確認と誤り訂正を行うコネクション型で信頼度が高く速度は落ち、UDPは確認も訂正も行わないコネクションレス型で速いが信頼度は低い、と動画は説明する。
- 動画では、インターネット層にIP、ICMP(pingとトレースルート)、ARPがある。ネットワークインターフェース層では、動画はイーサネットを挙げる。
- 補足で確認したのは、SSHの位置づけ、メールのプロトコルの役割分担、DHCPの中身、DNSがUDPも使うこと、トレースルートの仕組み、ARPの置き場所、そして無線LANがイーサネットとは別の規格であること。
動画で聞く
続けて読む
- 第15回 SQLの基本構文経営情報システム・データベース 002
- 第16回 データパニックを防ぐDBMSの仕組み(別バージョン)経営情報システム・データベース 003
- 第17回 爆速アプリを支えるDBの正体経営情報システム・データベース 004
- 第18回 DWHとデータ分析のアーキテクチャ経営情報システム・データベース 005
- 第19回 OSI7階層とTCP/IP経営情報システム・ネットワーク 001
- 第21回 LAN・WANとスター型トポロジ経営情報システム・ネットワーク 003
- 第22回 5G・VPN・MACアドレスの正体を10分で完全理解経営情報システム・ネットワーク 005
- 第23回 MNOからMDMまでのモバイル管理経営情報システム・ネットワーク 006
- 第24回 アクセスコントロール経営情報システム・情報セキュリティ 001
- 第25回 アクセス制御と性能指標経営情報システム・情報セキュリティ 002
- 経営情報システムのWebテキスト一覧同じ科目の48本を一覧・検索
- 中小企業診断士 1次の講座トップ科目別プレイリスト・人気の講義・ファイナルペーパー

