電話 0422-27-7828チャットで質問無料相談を予約

武蔵野個別指導塾の特徴

【情報I】ネットワークの仕組みを図解で総まとめ—LAN と WAN・プロトコル・TCP/IP・IP アドレス|武蔵野個別指導塾

【情報I】ネットワークの仕組みを図解で総まとめ—LAN と WAN・プロトコル・TCP/IP・IP アドレスのアイキャッチ 武蔵野個別指導塾
X LINE Facebook

LANの構成図、TCP/IPの階層図、DNSの通信図を使い、機器の役割と名前解決を整理します。転送時間やIPアドレスの例題を通して、通信の順序を自分で説明する力を養えます。

よくあるのは、修学旅行前の教室で班別行動の資料を端末で開こうとして、無線LANの接続表示は出ているのにページが表示されず、「つながっているのに、どうして見られないのですか」と手が止まる場面です。ここでは、端末が近くの機器と通信できることと、目的のサーバまで通信できることを分けて考える必要があります。接続表示だけでは、途中の回線や名前を調べる仕組みまで正常だとは判断できません。

ネットワークの学習では、機器、通信の決まり、宛先の表し方という異なる話が一度に登場します。用語を横一列に覚えると混乱しますが、端末から相手へデータが届くまでの順に並べると役割が見えてきます。まず道筋を描き、次に各区間で何をしているかを説明しましょう。通信できない原因を決めつけず、どこまで確かめられているかを言葉にする力も、この単元で育てられます。

この単元で身につけること

中学校で学んだ情報通信ネットワークの利用と、データをビットで表す学習が土台になります。情報Iでは、利用者からは見えない途中の処理まで説明できるようにすることが目標です。図の矢印には「誰が誰に、何を送るか」を補い、計算ではビットとバイトをそろえてから式を立てます。

基本の考え方

LANの内側と、その外側をつなぐ機器

コンピュータネットワークは、複数のコンピュータや機器を通信できるように結んだものです。LANは、家庭、校内、事業所などの限られた範囲で構成するネットワークです。有線だけに限らず、電波で端末を接続する無線LANも含みます。LANという言葉は通信する範囲やまとまりを表し、ケーブルの有無を表す言葉ではありません。

WANは、地理的に離れた拠点のLANなどを広い範囲で結ぶネットワークです。通信事業者の回線を利用する構成などがあります。インターネットは、多数のネットワークが相互に接続された世界規模の仕組みです。広い範囲をつなぐからといって、どのWANもそのままインターネットと同じものになるわけではありません。組織内の拠点だけを結ぶWANも考えられます。

LAN内で複数の有線機器を接続するときに使うのがハブです。従来のリピータハブは、受け取った信号をほかの接続口へ中継します。一方、スイッチングハブはMACアドレスをもとに、必要な接続口へフレームを転送する仕組みを持ちます。送り先をまだ学習していない場合などは複数の接続口へ送るので、「必ず1か所だけに送る」とまでは言い切りません。MACアドレスは、LAN内の通信でネットワークインタフェースを識別するために使うアドレスです。

ルータは、異なるネットワーク間でIPパケットを中継します。宛先IPアドレスと経路の情報をもとに、次にどちらへ送るかを判断します。端末から見て、LANの外へ向かう際の通常の送り先となるルータのアドレスが、デフォルトゲートウェイです。通信経路には複数のルータがあることもあり、教室のルータが目的地まで直接1本の線で結ばれているとは限りません。

図1 教室のLANから外部のネットワークへ進む経路

図1のように、端末Aと端末Bが同じLANにあり、途中にスイッチングハブがある場合、両端末の通信はLAN内で完結できます。外部サーバへ送るときは、ルータを経由して外部の回線へ進みます。図のLANを囲む線は範囲を示すもので、ケーブルではありません。中央のハブはスイッチングハブとして描いています。

回線は、機器間で信号を伝える道筋です。有線では金属線や光ファイバなどを使い、無線では電波を使います。無線LANのアクセスポイントは、無線の端末をLANへ接続する役割を持ちます。家庭向けの1台の機器に、ルータ、スイッチングハブ、アクセスポイントの機能がまとめられている場合もあります。箱の台数と機能の数を同じだと考えないことが、構成図を読むこつです。

通信の決まりを階層に分ける

プロトコルとは、通信する双方が従う手順やデータ形式などの取り決めです。送る順序、宛先の書き方、受信したことの扱いが食い違うと、線でつながっていても意図した通信にはなりません。人が文章を読めることと、機器が通信データを正しく処理できることは別なので、機器同士が共通して扱える規則が必要です。

TCP/IPは、インターネットで広く用いられるプロトコル群です。TCPとIPだけの呼び名として丸暗記せず、その周囲のプロトコルも含むまとまりとして捉えます。ここでは、アプリケーション層、トランスポート層、インターネット層、ネットワークインタフェース層の4層で整理します。最下層をリンク層と呼ぶ説明もありますが、この4層で役割の対応を押さえれば、名称の違いに振り回されにくくなります。

アプリケーション層は、Webや名前解決など、利用するサービスに応じた通信を扱います。HTTPやDNSがその例です。トランスポート層では、端末同士でアプリケーションの通信を支えるTCPやUDPが働きます。ポート番号は、同じ端末の中で通信を受け持つアプリケーションなどを区別するために使います。IPアドレスで端末側の宛先を考え、その先の受け渡しをポート番号で考えると整理できます。

TCPには、データが失われたときの再送や、順序を整える仕組みがあります。ただし、回線が切れたままでも必ず通信を完了できるという意味ではありません。UDPにはTCPと同じ再送や順序制御の仕組みがなく、必要ならアプリケーション側などで補います。待ち時間を抑えたい通信などで選ばれますが、「UDPなら必ず速い」とは断定できません。利用目的と必要な機能で選び分けます。

インターネット層のIPは、IPアドレスに基づいてパケットを相手のネットワークへ運ぶ役割を担います。IPだけでは到着や順序を保証しません。ネットワークインタフェース層は、その区間の有線LANや無線LANなどを使ってデータを運びます。上の層の通信が下の層の働きを利用するため、Webの文章を扱う仕組みを毎回作り直さなくても、接続方法を変えられます。

IPアドレス、名前、DNSを結び付ける

IPアドレスは、IPによる通信で宛先などを識別するためのアドレスです。IPv4では32ビットを8ビットずつ4組に区切り、それぞれを10進数で表す書き方がよく使われます。8ビットで表せる値は0から255までです。たとえば192.168.10.20という形で表しますが、小数ではないので小数点以下の計算のようには扱いません。IPv6は128ビットのアドレスを使い、IPv4とは表記も異なります。

同じネットワークかどうかを判断するときは、IPアドレスとサブネットマスクを組み合わせます。サブネットマスクは、アドレスのどこまでをネットワーク部として見るかを示します。192.168.10.20/24の「/24」は、先頭24ビットがネットワーク部という意味です。この条件なら先頭の3組がネットワーク部になりますが、常に3組とは限りません。最後の数字だけ見て通信経路を判断しないようにしましょう。

インターネット上で通信に用いられるグローバルIPアドレスと、組織や家庭などの内部で用いるプライベートIPアドレスも区別します。192.168から始まるIPv4アドレスはプライベート用の範囲に含まれ、別々のLANで同じ値が使われることがあります。内部の端末がインターネットへ通信するときには、境界のルータでアドレスやポート番号を変換するNATやNAPTが使われる構成もあります。IPアドレスは人物の名前ではなく、接続先や設定によって変わり得るものです。

ドメイン名は、人が扱いやすい文字列でネットワーク上の名前を表す仕組みです。たとえば資料用の名前としてwww.example.comを考えます。DNSは、このような名前に対応するIPアドレスなどの情報を調べる仕組みです。DNSは1台の巨大な住所録ではなく、階層的に管理された情報を複数のサーバが分担します。端末が利用するDNSサーバは、必要に応じてほかのDNSサーバにも問い合わせて答えを得ます。

名前とアドレスは常に1対1とは限りません。1つの名前に複数のIPアドレスが対応する場合も、複数の名前に同じIPアドレスが対応する場合もあります。また、DNSの回答は一定期間キャッシュに保存して再利用できます。ページを開くたびに必ず同じ問い合わせの往復が発生する、と決めつけないことも大事です。

例題で解き方を確かめる

例題1 通信先によって通る機器を分ける

図1で、端末Aは192.168.10.20/24、端末Bは192.168.10.30/24、ルータのLAN側は192.168.10.1/24とします。両端末をハブへ接続し、通常の通信を妨げる設定はないものとします。端末Aから端末Bへの通信と、外部サーバへの通信では、LANを出るためのルータの中継が必要なのはどちらでしょうか。

  1. 最初にネットワーク部を比較します。/24なので先頭24ビット、つまり先頭の3組が一致するかを調べるためです。AとBはともに192.168.10です。
  2. AからBへの道筋を図上でたどります。同じLANの相手なので、Aからハブを通ってBへ送ることができ、LANを出る必要はありません。
  3. 外部サーバへの道筋をたどります。別のネットワークにある相手なので、端末Aはデフォルトゲートウェイへ送り、ルータがその先へ中継します。

答え:ルータによるLAN外への中継が必要なのは、端末Aから外部サーバへの通信です。

この問題の判断材料は端末の置き場所だけではありません。隣の机の端末でも別のネットワークに設定されている可能性があります。ここでは/24という条件と図の接続を使って、同じLAN内で完結する通信だと判断しています。

例題2 通信の役割をTCP/IPの階層に対応させる

「名前に対応するアドレスを調べる」「失われたデータを再送する」「宛先IPアドレスを使ってネットワーク間を中継する」「無線LANでその区間を運ぶ」の4つを、DNS、TCP、IP、無線LANに対応させ、それぞれの層を答えましょう。

図2 TCP/IPの四つの階層とデータを渡す向き

図2の左の矢印は送信側で上から下へ渡す流れ、右の矢印は受信側で下から上へ渡す流れです。4段の箱は別々の機器ではなく、通信を支える役割の区切りを示します。実際に送り出す際は各層で必要な制御情報が加わり、受信側では対応する層でそれを読み取ります。このように上の層のデータを下の層のデータの中へ包むことをカプセル化と呼びます。

  1. 利用目的に直結する処理を探します。名前からアドレスを調べるのはDNSで、アプリケーション層に置きます。端末の設定に近く見えても、役割で分類することが理由です。
  2. 到着を確かめて必要な再送を行う処理を探します。この問題ではTCPに対応し、トランスポート層です。IPだけではデータの確実な到着を担保しないため、役割を分けます。
  3. 宛先と経路を扱う処理、その区間の伝送を扱う処理を分けます。前者がインターネット層のIP、後者がネットワークインタフェース層の無線LANです。

答え:順に、DNS=アプリケーション層、TCP=トランスポート層、IP=インターネット層、無線LAN=ネットワークインタフェース層です。

すべての通信がTCPを使うわけではありません。たとえばDNSの問い合わせにはUDPも使われ、場合によってTCPも使われます。「アプリケーション層の下にトランスポート層がある」という関係と、「その通信でTCPとUDPのどちらを使うか」という選択を分けて理解しましょう。

例題3 IPv4の1組で表せる値を求める

IPv4アドレスの1組は8ビットです。8ビットで表せる値の個数と最大値を求め、192.168.10.256という表記が通常のIPv4アドレスとして使えるか判断しましょう。

  1. 各ビットの選択肢を数えます。0と1の2通りが8か所あるため、全体の組合せは2⁸通りです。
  2. 個数と最大値を分けます。0から数え始めるので、256通りあっても最大値は256ではなく255になります。
  3. 各組の範囲を確認します。最後の組が256なので0〜255という範囲を超えています。前の3組が正しくても、全体として使える表記にはなりません。

答え:256通り、最大値255で、192.168.10.256は通常のIPv4アドレスとして使えません。

Pythonで同じ関係を確かめるなら、次のように書けます。べき乗の演算子で組合せの数を求め、0から数えるために1を引いています。

bits = 8
count = 2 ** bits
print(count)
print(count - 1)

出力は次のとおりです。

256
255

なお、4組すべてが0〜255に収まることは、端末に自由に割り当ててよいことまで意味しません。ネットワーク自体を表す値など、用途が定められたアドレスがあります。表記の条件と割当ての条件を別々に確認してください。

例題4 資料の転送時間と分割数を求める

大きさ6 MBの資料を、通信速度12 Mbpsの回線で送るとします。ここでは1 MB=1,000,000 B、1 Mbps=1,000,000 bit/s、1 B=8 bitとし、制御情報、待ち時間、再送は無視します。また、1つのパケットに入れる資料本体のデータを最大1,200 Bとすると、転送時間とパケット数はいくつでしょうか。

  1. 資料の大きさをビットにそろえます。通信速度の単位がbit/sなので、6,000,000 Bに8を掛けて48,000,000 bitとします。
  2. データ量を通信速度で割ります。1秒あたり12,000,000 bit送れるという条件なので、48,000,000 ÷ 12,000,000=4秒です。
  3. パケット数はバイト同士で割ります。6,000,000 ÷ 1,200=5,000で割り切れるため、資料本体を5,000個に分けられます。余りがあれば最後にもう1個が必要です。

答え:理想化した転送時間は4秒、資料本体を入れるパケット数は5,000個です。

転送時間を求める部分は、次の短いプログラムで確かめられます。出力の4.0は、小数で表された4秒です。

size_bytes = 6 * 1_000_000
rate_bps = 12 * 1_000_000
seconds = size_bytes * 8 / rate_bps
print(seconds)

出力は次のとおりです。

4.0

分割数は整数の商と余りを分けると、割り切れない場合も扱えます。次のコードでは余りがあるときだけ個数を1増やしています。

size_bytes = 6_000_000
payload_bytes = 1_200
count, remainder = divmod(size_bytes, payload_bytes)
if remainder > 0:
    count += 1
print(count)

出力は次のとおりです。

5000

この4秒は、ページが必ず4秒で開くという予告ではありません。実際には、通信の準備、パケットごとの制御情報、回線の混雑、サーバ側の処理などが関係します。また、データを複数の利用者で小分けにして回線へ流すパケット交換では、利用状況によって待ち時間も変わります。問題で無視すると書かれた条件を外したら、そのまま同じ式だけで実測値を説明できるとは限りません。

つまずきやすいところと直し方

誤り1 無線LANの接続表示だけで通信全体を判断する

誤った書き方は「無線LANにつながっているので、インターネットも必ず使える」です。どこが違うかというと、端末とアクセスポイントの間がつながることしか示していない場合がある点です。その先のルータ、外部回線、DNS、目的のサーバのどこかに問題があれば、ページを表示できないことがあります。

正しい書き方は「無線LANへの接続は確認できるが、外部のサーバまで通信できるかは別に確かめる」です。たとえば同じLANの共有機器は利用できるのに外部ページだけ開けないなら、LAN内部と外部への経路を分けて考えます。ただし、この観察だけでルータの故障と断定はできません。確認した範囲と原因の推測を区別することが、答案でも説明でも必要です。

誤り2 IPアドレスとドメイン名を同じものと考える

誤った書き方は「ドメイン名はIPアドレスを文字に置き換えただけなので、必ず1対1である」です。どこが違うかというと、DNSの対応付けは単なる数字の表記変更ではない点です。数字の256を別の進法で書くような一意の変換とは異なり、名前に登録された情報を問い合わせて調べています。

正しい書き方は「ドメイン名に対応するIPアドレスなどをDNSで調べ、得られた宛先へ通信する」です。同じ名前でも回答が変わることがあり、複数のアドレスを得る場合もあります。また、URLには通信方法や資料の場所なども含まれます。DNSが調べる名前の部分と、サーバへ伝える資料の場所の部分まで同一視しないようにしましょう。

誤り3 DNSサーバからWebの本文も受け取ると考える

誤った書き方は「DNSサーバが名前を調べ、そのまま資料の本文を端末へ送る」です。どこが違うかというと、名前解決の相手と資料を提供する相手を一緒にしている点です。基本的な流れでは、DNSから得るのは対応するアドレスなどの情報で、資料の本文はWebサーバとの通信で受け取ります。

図3 名前を問い合わせた後に資料を取りに行く通信順序

図3のように、まず端末がDNSへ名前を問い合わせ、回答を受けてからWebサーバへ要求を送る順で考えます。図は上から下へ時間が進み、DNSのキャッシュがない場合の流れを簡略化しています。DNS側で行われる追加の問い合わせや、通信開始の細かな手順は省いています。

正しい書き方は「DNSへの問い合わせと回答の後、得られた宛先のWebサーバに要求し、資料を受け取る」です。この順序がわかると、DNSの回答が得られたことだけではWebサーバの正常動作までは確かめられないと説明できます。図の矢印を単に4本数えるのではなく、名前、アドレス、要求、資料と内容を区別して読んでください。

練習問題

練習1 機器の役割を選ぶ

同じLAN内の有線端末を接続し、MACアドレスに基づいて転送先を選ぶ機器と、異なるネットワーク間でIPパケットを中継する機器を、それぞれ答えましょう。LANとWANの区別を、無線と有線の区別として説明してよいかも考えてください。

練習2 ネットワーク部を比べる

端末Pは192.168.20.10/24、端末Qは192.168.20.90/24、端末Rは192.168.21.10/24です。すべて通常のIPv4設定で通信するとします。Pと同じネットワーク部を持つのはQとRのどちらですか。IPアドレスのどの部分を比べたかも答えましょう。

練習3 転送時間と分割数を計算する

3 MBのデータを8 Mbpsで送るとき、例題4と同じ単位の約束と省略条件なら何秒かかりますか。また、資料本体2,501 Bを、1パケットあたり最大1,000 Bずつに分ける場合、必要な個数と最後のパケットに入る資料本体の大きさを求めてください。

練習4 名前解決と通信の順序を直す

「Webサーバから資料を受け取る」「DNSからアドレスの回答を受ける」「Webサーバへ資料を要求する」「DNSへ名前を問い合わせる」を、キャッシュがなく名前解決が必要な場合の順に並べましょう。IPだけで、データの到着と順序が保証されるかも答えてください。

答えと解説

練習1の答えは、順にスイッチングハブ、ルータです。前者は同じLAN内の転送、後者は異なるネットワーク間の中継を担います。LANとWANの区別を無線と有線の区別として説明するのは誤りです。LANにも有線と無線があります。

練習2の答えはQです。/24なので先頭の3組を比べ、PとQは192.168.20で一致します。Rは192.168.21なので異なります。PとRの最後の組がともに10であることは、同じネットワーク部である根拠にはなりません。

練習3の答えは3秒、3個、501 Bです。3,000,000 B=24,000,000 bitなので、8,000,000 bit/sで割ると3秒になります。2,501 Bの分割では1,000 Bが2個と501 Bが1個必要です。個数を2.501個と書かず、最後の余りの分を数えます。

練習4の答えは、DNSへ問い合わせる、DNSから回答を受ける、Webサーバへ要求する、Webサーバから資料を受け取る、の順です。IPだけではデータの到着も順序も保証しません。TCPを使う通信では、その上の層で再送や順序を整える機能を利用できます。

次の単元へのつながりと家庭での確かめ方

この単元の道筋は、Web、電子メール、クラウドなどのサービスを学ぶ土台になります。アプリケーション層で何を送るかが変わっても、宛先へパケットを届ける仕組みとの役割分担は保たれます。暗号化通信を学ぶ際も、「相手へ運ぶこと」と「内容を読まれないようにすること」を分けて考えられます。

家庭で5分ほど確かめる方法の1つは、紙に端末、アクセスポイント、ルータ、外部サーバを描き、自分の通信の道筋を指で追うことです。家の機器が複数の役割を兼ねていれば、1つの箱に役割を併記します。設定を変更しなくても、何がLAN内の接続で、どこから外への通信かを説明する練習になります。

もう1つは、DNSとWebサーバを別々の丸で描き、端末との間に4本の矢印を書いて順序と送る内容を添えることです。お子さまの説明を聞くときには「その矢印では何が返るのですか」と尋ねると、名前解決と資料の受信の区別を確かめられます。個別指導で説明が止まる場合は、ネットワークの名称を増やす前に、送り手、受け手、送る内容の3点へ戻ります。転送時間で止まる場合は、1 B=8 bitと、1秒あたりの量で割る意味を確かめます。

まとめ

ネットワークの図は、覚えた用語を置くためだけのものではありません。通信できる範囲、次の送り先、途中で利用する決まりを、自分の言葉で確かめるために使えます。図に矢印を描いたら、そこで運ばれるものと、その役割を担う機器やプロトコルまで添えてみましょう。「つながらない」という一言も、確かめた区間を示せるようになれば、調べるべき問いへ変わります。

接続表示の先を説明する力は、データを運ぶ矢印を1本ずつ読み解くところから育ちます。

本気になった日が、入塾の日。

お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。

電話は年中無休。365日、24時間、お電話可能。

お電話 チャットで質問チャット