ココナラ スキルマーケットココナラ スキルマーケットココナラ コンテンツマーケット
ココナラ スキルマーケットココナラ スキルマーケットココナラ コンテンツマーケット
UserIcon

紅葉楓音 MAPLE PROJECT

販売実績10
評価4.8

※ココナラスキルマーケットにおける実績です。

プロフィール詳細へコンテンツ一覧へ
若年者金賞によるNW解説講座 #1
《ネットワークを用いた通信》

若年者金賞によるNW解説講座 #1 《ネットワークを用いた通信》

お気に入り0
評価

0

販売実績

0

UserIcon

紅葉楓音 MAPLE PROJECT

2026年02月05日 22:19

コンテンツ一覧へ

500

◎初めに

今回から本格的に、シミュレーターを使いながらネットワークの通信を理解していきます。
難しい話もちょこちょこ出てきますので、検索エンジンもしくはAI片手に読み進んでいくことをお勧めします。

◎前提知識

◆TCP/IPの世界での通信

 前回、デジタル通信のプロトコルはOSI参照モデルで標準化されていて、実際に運用されているのはOSI参照モデルよりも前から広く使われている「TCP/IP」だとお話しました。ここでは、「TCP/IP」の構造に従って解説していくことにします。

 TCP/IPでは4層に分かれた処理群で構成されます。
4.アプリケーション層 対応するOSI参照モデルの層:5~7層
3.トランスポート層  対応するOSI参照モデルの層:4層
2.インターネット層  対応するOSI参照モデルの層:3層
1.ネットワークインターフェイス層  
            対応するOSI参照モデルの層:1~2層

◆ネットワークインターフェース層

 この層では、通信するための技術規格を定義します。例えば、有線なのか無線なのか(電気を使うのか、電波を使うのか)が定められています。
 また、近くの機器と通信するためのアドレス(住所)を保持しています。これを「MACアドレス(物理アドレス)」といいます。従来の通信「手紙」で考えてみると、同じ市や県であれば市や県などの情報をのぞいた「番地」で通信することができることに近いかと思います。もしくは、知人の家など自分で道がわかっている範囲に投函しに行く通信ともとることができます。各種ネットワーク機器は、このMACアドレスを用いて情報のやり取りを行っています。また、このMACアドレスはその機器がただ一つに定まる必要があります。そのため、全世界で重複するMACアドレスが存在しないように各メーカーごとに使用できる値が制限され、一般のユーザが書き換えることは出来ません。

◆インターネット層

 この層では主に、遠くの機器と通信するためのアドレスが定義されています。これを「IPアドレス(論理アドレス)」といいます。
 自身が相手のMACアドレスを知らない場合は、このIPアドレスを用いて通信を行います。先程の「手紙」で考えると、市区町村や都道府県、国などに該当する部分です。
 ただ、ネットワーク機器は番地(MACアドレス)だけを見て自分と同じ区域(市区町村や都道府県)にいるかを判別することができないため、IPアドレスを基にして宛先のMACアドレスを判別します。自身がMACアドレスを知っているIPアドレスが宛先の場合は、そのMACアドレスにデータを送信します。自身がMACアドレスを知らないIPアドレスが宛先の場合は、そのIPアドレスに対応するMACアドレスを「知ってそうな」ネットワーク機器にデータを転送します。(この、「知ってそうな」ネットワーク機器については後述します。)
 IPアドレスは現在、従来の「IPv4」と新型の「IPv6」があります。

◆IPv4

 IPv4アドレスは以下のような形式です。
  203.0.113.1
この時、ドットで区切られた各部分を「オクテット」と言い、先頭からそれぞれ「第1オクテット」「第4オクテット」と呼びます。
 IPv4アドレスは、ネットワーク部ホスト部という2つの区域に分かれています。上位桁をネットワーク部(都道府県・市区町村に相当)、下位桁をホスト部(番地に相当)とし、上位桁と下位桁を分別する位置を「サブネットマスク」で指定します。
 サブネットマスクは以下の形式で、2進数にした際にネットワーク部が「1」、ホスト部が「0」です。
  255.255.255.0(10) ⇒ 11111111 11111111 11111111 00000000(2)
 IPv4アドレスとサブネットマスクをAND演算すると次のような形になります。
  203.0.113.0
 これがネットワーク部のアドレス、「ネットワークアドレス」になります。このアドレスはどのネットワークか(都道府県や市区町村)を判定するものです。
 一方、AND演算する前のIPv4アドレスを「ホストアドレス」と呼ぶ場合もあります。これは、ネットワーク機器を一意に定めることができるアドレスで、同じネットワーク内に1つだけ存在します。
 ネットワーク機器を一意に定めるアドレスはほかにもありましたよね?MACアドレスがあるのに、ホストアドレスは必要なのでしょうか。ここで、MACアドレスの特徴をもう一度思い出してみましょう。MACアドレスは、「全世界で重複せず、ユーザが書き換えられない物理アドレス」でした。一方でホストアドレスは「ネットワーク内で重複せず、ユーザが書き換えられる論理アドレス」です。個々のネットワークの状況に合わせて自由に設定することができます。
 IPv4アドレスとサブネットマスクの表記方法はもう一つあります。
  203.0.113.1/24
 これを「CIDR記法」といいます。2進数にした際に先頭のbitから24番目のbitでネットワーク部とホスト部が切り替わる、という意味になります。

 IPv4アドレスを設定する際は、割り当ててはいけないアドレスに注意する必要があります。例えば先ほど203.0.113.0/24のネットワークの場合、ホストアドレス203.0.113.0203.0.113.255が計算上求められます。しかし、ネットワークの中では特別なアドレスが2つあり、このアドレスはネットワーク機器に登録してはいけないものです。1つは先述した「ネットワークアドレス」、ホスト部がすべて「0」のアドレスです。先ほどの例を用いると203.0.113.0が該当します。もう1つは「ブロードキャストアドレス」、ネットワークに所属するすべての機器を対象とし、ホスト部がすべて「1」のアドレスです。先ほどの例を用いると203.0.113.255が該当します。割り当ててもよいアドレスはこれら2つを除いたアドレスすべて、これまでの例でいえば203.0.113.1203.0.113.254までとなります。つまり、このネットワークに接続できる機器の総数はアドレスの範囲(256)から-2した数(254)になるというわけです。
 このネットワークに接続できる機器の総数は、どういったネットワークを制作するかにおいて重要な指標になります。例えば家庭で使う場合はこれまでの/24程度のネットワークで十分ですが、大企業などたくさんの人がアクセスするようなネットワークには対応できません。そこで、よりホスト部の範囲を広くした/8や/16といったネットワークが必要になります。
ちなみに、ここでサブネットマスクを8の倍数で示した理由は、IPv4アドレスが8bit区切りで作られていることに由来します。もちろん8の倍数ではなく0~32の範囲で指定することができますが、個人的には/8,/16,/24を使う方法(「クラスフルアドレッシング」といいます)をおすすめしています。ただ、この方法だと使わないアドレスが大量にある場合無駄が生じてしまうため、数台しかアクセスしないようなネットワーク、特に各場所のネットワークをつなぐネットワークなどでは/29といった細かいネットワークを使う方法(「クラスレスアドレッシング(CIDR)」といいます)を用いるべきでもあります。最近はIPv4アドレスが枯渇しているということもあり、現代のネットワークにおいてクラスレスアドレッシングは重要な考え方の1つでもあります。

◎制作と解説

◆構築するネットワーク

 今回は、パソコン2台とL2スイッチ(ハブ)を用います。
「Cisco Packet Tracer」を用いて、次のような環境を用意しましょう。

画像

L2_SW (2960) の FastEthernet 0/1 ポートとLP_1、 FastEthernet 0/2 ポートとLP_2 がそれぞれ Copper Straight-Through ケーブルで接続されています。( Fa というのは、FastEthernetの略称です。今後も出てくるのでここで覚えちゃいましょう。ついでに、GigabitEthernetも Gi と略します。併せて覚えちゃいましょう。)

なお、今回のシリーズでは「Cisco Packet Tracer」の使い方については省略します。そのため、「機器同士をどうやって配置するの?」などについては、お手数をおかけしますがググるか、チャッピーに聞いてください
(*- -)(*_ _)ペコリ

◆実習概要

 今回は、各端末にIPアドレスを設定しパソコンの「コマンドプロンプト」で確認してみます。また、実際に通信ができているのかも確認します。
 #0でも紹介しましたが、実際の設定内容(=答え)については有料部分に掲載しています。
 また、文中に<>で囲われた部分は書き換え必須、 []で囲われた部分は入力任意を指します。実行の際は、<>の指示に従ってその部分を書き換えて、必要に応じて[]の中身も入力してね(もしくは中身の指示に従って入力してね)という意味です。

◆制作手順と解説

1.パソコンにIPアドレスを設定する。
 今回は、LP_1に【192.168.1.1/24】を、LP_2に【192.168.1.2/24】を設定します。
 パソコンをクリックし、「Config」タブから「INTERFACE」内の「FastEthernet0」にある「IP Configuration」内を以下のようにします。
・IPv4 Address : <設定するIPアドレス>
・Subnet Mask:<適切なサブネットマスク>
(なお、IPアドレスを入力するとクラスフルアドレッシングに基づいて自動でサブネットマスクを設定してくれます。)

画像

2.コマンドプロンプトでIPアドレスが設定できているか確認する。
 両方にIPアドレスを設定したら、実際に設定できているのか確認しましょう。
 「Desktop」タブにある「CommandPrompt」を開いてください。

画像

なにやら、ハッカーのような怪しい画面ですが、これはパソコンをテキストベースで制御するための「CUI」と呼ばれるシステム画面です。反対に、普段使っているマウスなどを用いて視覚的に制御するものを「GUI」と呼びます。ネットワークやサーバの構築では、最近は「GUI」で制御できるものも増えましたが、まだ「CUI」で制御する方が主流かと思います。慣れるとキーボードだけで制御できる方が素早く、正確にできますからね。

それでは、この「CUI」を使ってIPアドレスが設定できているかを確認します。
使うコマンドは以下の通りです。

> ipconfig [/all]

[]でくくられた部分は、オプションを表します。通常 / や - が用いられます。必要な時に、中身をつけて実行してくださいという意味です。

なお、このipconfigというコマンドはWindowsに準拠されています。これから学習するLinuxなどでは使えず、以下のコマンドを用います。併せて覚えておきましょう

$ ip a

 それでは、このコマンドを実行してみましょう。
まずは、オプションを付けずに実行すると、以下のような画面になります。

画像

「IPv4 Address」の項目を見てみると先ほど登録したアドレスが表示されているのがわかります。
次に、/all オプションをつけてみましょう。

画像

先ほどよりも表示される情報が増えましたね。/all をつけて実行することで「全ての」情報を表示する、と覚えておきましよう。
単に、IPアドレスが設定されているかどうかを確認する場合はそのまま、今後のシリーズで登場する「DHCP」や「DNS」まで含めて確認したい場合は/allをつけて、実行しましょう。

3.IPアドレスを用いて通信をしてみる。
 いよいよ、今回の本題ともいえるIPアドレスを用いて通信をしてみましょう。今回使うコマンドは以下の通りです。

> ping <IPアドレス> [-t]

 「Ping(ピング)」という名称自体は、オンラインゲームをプレイしている方なら聞き馴染みのある言葉かもしれませんね。簡易的なメッセージを相手に送信し、そのメッセージに反応があるかを受信するコマンドになります。その様子から「エコー要求・応答」とも呼ばれます。
 それでは、LP_1からLP_2に向けてPingを実行してみましょう。すると、次のようなメッセージが表示されると思います。

画像

この画面が出ていれば、通信成功です🎉
一応、この画面の解説すると

192.168.1.2に32byteのデータを送信:
192.168.1.2から32byteのデータが1ms未満に届きました。TTLは128です。
(...省略...)
192.168.1.2のPing統計
 パケット:送出=4、受信=4、損失=0(0%の損失)
往復時間の概算(ミリ秒単位):
 最小=0ミリ秒、最大=1ミリ秒、平均=0ミリ秒

ここで出てきた「TTL」とはTime To Liveを指します。ネットワーク機器を経由する度(「ホップ」といいます)にTTLが1ずつ減少し、0になったときにそのデータ(パケット)は消去されます。迷子になったパケットが、そのままネットワーク上をさまようことが無いよう、一定期間で成仏させるための情報です。

もし、次のようなエラーが発生している場合はもう一度最初から確認してみましょう。(恐らく、実行にとてつもなく時間がかかっていると思います。)

(...省略...)
Request timed out.

4.MACアドレスとIPアドレスの紐づきを見てみる。
 最後はおまけです。前提知識で、MACアドレスとIPアドレスの関係についてお話しました。その時に、「MACアドレスでは同じ地域にいるかどうかを判定できない」という旨のお話がありましたが、それをIPアドレスで解決するために、同じ地域のMACアドレスをIPアドレスと紐づける形で保存されています。これを「arpテーブル」といいます。arpとは「Address Resolution Protocol」というプロトコル(通信規格)で、MACアドレスをIPアドレスを基にして解決(Resolution)する(=照合する)ための規格です。
 それでは、このarpテーブルを見ていきましょう。同じようにコマンドプロンプトで以下のコマンドを実行します。

> arp -a

ここでは、オプション -a は必ずつけてください。
実行するとおおよそ次のようになると思います。

画像

先ほど通信し192.169.1.2のIPアドレスとMACアドレスが表示されていると思います。通信した際に、arpによってIPアドレスとMACアドレスが紐づけされたということになります。横についているdynamicは、自動的に紐づけされたという意味です。滅多にないですが手動で紐づけを設定した場合はstaticと表示されます。

◆実力問題

 ここまでの実習をもとに、次の課題に取り組んでみましょう!

Ex 1. 学校のネットワーク

 あなたは、クワイエットランド高校のネットワークの構築を任されました。この高校では、500個程度の端末を接続する1つのネットワークが必要です。ただし、この学校では1つの端末を設定すれば自動的にほかの端末も設定してくれるスーパーロボットがいます。
 あなたは、その1台の端末にネットワークを設定してください。

ただし、その端末のIPアドレスは172.16.0.1とします。

Ex 2. 企業のネットワーク

 あなたは、クワイエットランド高校での業務を評価され大企業シロノス社から業務の依頼を受けました。今度は、1600万台程度の端末を接続する1つのネットワークが必要です。この企業にも、スーパーロボットがいるため、あなたは1台の端末にネットワークを設定してください。

ただし、その端末のアドレスは10.0.0.1とします。
 また、 L2スイッチで接続された任意の端末「10.201.10.1」を用いてpingを用いて通信しなさい。

◎終わりに

 今回はここまでになります。IPアドレスを用いた通信の様子はわかりましたか?
 さて、ここで皆さんの中にはもしかすると気になったことがある人がいるかもしれません。「今インターネットに接続しているけれど、IPアドレスを設定した記憶ないよ!」次回はこの疑問を解決する、つまりIPアドレスを自動で設定するためにはどうすればよいのか、2種類の方法で試していきます。

有料部分では、前提知識のまとめと解説の答え、それから実力問題の答えを提示します。なお#0の際に、テンプレファイルや答えファイルの販売を検討している旨をお伝えしましたが、「Cisco Packet Tracer」を用いている間はライセンス的に難しいので断念します。予めご了承くださいm(__)m。

残り:1436文字 / 0画像

500

1
1

出品者

UserIcon

紅葉楓音 MAPLE PROJECT

販売実績10
評価4.8

※ココナラスキルマーケットにおける実績です。

プロフィール詳細へ

500