ネットワークの基本的な仕組み
計算機ネットワークとは、パソコンやスマートフォン、サーバーといったコンピュータ同士を繋ぎ、情報をやり取りするための仕組みのことです。私たちは日々、インターネットでのWebサイト閲覧、メールの送受信、オンラインでの共同作業など、様々な形で計算機を利用しています。
この資料では、ネットワークの基本的な仕組み、特にデータを目的地まで届けるための重要なルールである「IP通信」の基礎と、ネットワーク接続の確認やファイル転送などで役立つ基本的なコマンドについて解説します。専門的な詳細には深入りせず、ネットワークを利用する上で最低限知っておくと便利な知識を身につけることを目指します。
通信相手の「住所」: IPアドレス
ネットワーク上で通信を行うためには、通信相手を特定するための「住所」が必要です。この住所の役割を果たすのが IPアドレス (Internet Protocol Address) です。
- 例:
192.168.1.10
や133.47.151.54
のような数字の列です。区切られた4つの数字はそれぞれ 8 ビットで表現され、合計で 32 ビット分の情報を持ちます。 - ネットワークに接続されたコンピュータやスマートフォン、サーバーなどの機器(ホスト と呼びます)に割り当てられます。
- 通常、どのネットワークに接続しているかによって、異なるIPアドレスが割り当てられます(例:大学の研究室のネットワークと自宅のWi-Fiでは、同じPCでも異なるIPアドレスが割り振られる)。
通信相手の「本名」: MACアドレス
IPアドレスがネットワーク全体での住所だとすると、MACアドレス (Media Access Control Address) は、機器固有の識別番号、通信相手の「本名」のようなものです。
- 例:
00:aa:11:bb:44:cc
のような16進数の列です。 - コンピュータのネットワーク接続部品である NIC (Network Interface Card) ごとに、製造段階で割り当てられる固有の番号です(通常、変更されません)。
- 同じネットワーク内(例:同じ部屋のLANケーブルで繋がれた範囲)で、すぐ隣の機器と直接通信する際に、相手を特定するために使われます。IPアドレスからMACアドレスを調べる仕組み(ARPと呼ばれますが詳細は割愛します)を利用して、最終的にデータが届けられます。
ネットワークの範囲を知る: ネットワークアドレスとネットマスク
IPアドレスは、実は「どのネットワークに属しているか」を示す ネットワーク部 と、「そのネットワーク内のどの機器か」を示す ホスト部 に分かれています。
- ネットマスク: IPアドレスのどこまでがネットワーク部で、どこからがホスト部かを示すための数値です。
- 例:
255.255.255.0
(または/24
と表記することもあります)。
- 例:
- なぜ必要か?: 通信したい相手が自分と「同じネットワーク」にいるのか、それとも「違うネットワーク(外部)」にいるのかを判断するために使います。
- 相手が同じネットワークにいれば、直接通信できます。
- 相手が違うネットワークにいる場合は、後述する「ルーター」に中継をお願いする必要があります。
例えば、IPアドレスが 192.168.1.10
でネットマスクが 255.255.255.0
の場合、先頭の3つの数字 (192.168.1
) がネットワーク部、最後の数字 (10
) がホスト部を表します。このネットワーク(ネットワークアドレス 192.168.1.0
)に属する機器同士は直接通信できます。
異なるネットワークと通信する: ルーターとデフォルトゲートウェイ
自分のいるネットワークとは違うネットワークにいる相手と通信したい場合、ネットワーク同士を繋ぐ中継役が必要です。その役割を担うのが ルーター です。
- ルーター: 異なるネットワーク間の「橋渡し」をする機器です。データ(パケット と呼ばれる小さな単位に分割されています)の宛先IPアドレスを見て、どの経路(ルート)を通って送れば目的地に届くかを判断し、転送(ルーティング)します。郵便局の仕分け作業に似ています。
- デフォルトゲートウェイ: 自分のネットワークから「外」のネットワークに出ていくための「出口」となるルーターのIPアドレスです。どの経路を使えばよいか分からないパケットは、とりあえずこのデフォルトゲートウェイに送られます。「よく分からない荷物は、とりあえずこの窓口に持って行けば、あとはうまく処理してくれる」というイメージです。
- 通常の通信機器、PCやスマートフォンなどのホストには、このデフォルトゲートウェイのIPアドレスを1つ設定します。
- ルーター自身は複数のネットワーク経路を知っているため、通常デフォルトゲートウェイは設定しません。
要注意: ネットワークのループとブロードキャストストーム
ネットワーク機器(特にスイッチングハブ)の配線を誤ると、ネットワークの通信経路が物理的に輪(ループ)状に接続されてしまうことがあります。例えば、2台のスイッチ間を2本以上のLANケーブルで接続したり、1台のスイッチの異なるポート同士を1本のLANケーブルで接続したりするとループが発生します。
ネットワーク内では、時々「ネットワーク内の全機器」に向けた情報(ブロードキャストフレーム)が送信されます(例えば、新しい機器が接続されたことを知らせる場合など)。ネットワーク経路にループがあると、このブロードキャストフレームがループ内をぐるぐると回り続け、スイッチによって次々とコピーされながら転送されてしまいます。その結果、ねずみ算式にブロードキャストフレームが増え続け、あっという間にネットワークの許容量(帯域)を使い果たし、スイッチ自身の処理能力も限界に達してしまいます。この現象を ブロードキャストストーム と呼びます。ブロードキャストストームが発生すると、通常の通信がほとんどできなくなり、通信速度が極端に低下したり、最悪の場合はネットワーク全体が停止(ダウン)してしまいます。
ブロードキャストストームを防ぐ最も基本的な対策は、物理的な配線の確認です。ネットワークの配線を行う際にループ構成にならないよう、接続を慎重に確認するようにしましょう。
分かりやすい名前でアクセスする: ドメイン名とDNS
IPアドレスは数字の羅列で覚えにくいため、私たちは通常 www.google.com
や www.nagoya-u.ac.jp
のような、人間にとって分かりやすい ドメイン名 を使ってWebサイトなどにアクセスします。
DNS (Domain Name System)は、このドメイン名を、コンピュータが理解できるIPアドレスに変換してくれる仕組みです。インターネット上の「電話帳」のような役割を果たします。私たちがブラウザにドメイン名を入力すると、裏側でDNSサーバーに問い合わせて対応するIPアドレスを取得し、そのIPアドレス宛に通信を開始しています。
データを確実に届けるために: TCP
IP(インターネットプロトコル)は、データを宛先のコンピュータまで届けるための基本的な仕組みを提供しますが、それだけでは「ベストエフォート(最善は尽くす)」であり、データが途中で失われたり、送った順番通りに届かなかったりする可能性があります。
そこで、データの信頼性を高めるために、IPと組み合わせて広く使われているのが TCP (Transmission Control Protocol) です。TCPは、IPの上で動作し、以下のような重要な機能を提供します。
- 確実なデータ転送: 送信したデータ(パケット)が相手にちゃんと届いたかを確認します。もし届いていなければ、自動的に再送することで、データの欠落を防ぎます。(荷物を送る際に、相手が受け取ったか確認するようなイメージです。)
- 順序の保証: データは通信しやすいように小さなパケットに分割されて送られますが、届く順番がバラバラになることがあります。TCPは、これらのパケットを元の正しい順序に並べ替えてから、アプリケーション(例:Webブラウザ)に渡します。
- コネクションの確立: 通信を始める前に、送信側と受信側の間で仮想的な通信路(コネクション)を確立します。これにより、双方が確実に通信できる状態かを確認してからデータのやり取りを開始します。(電話をかける際に、まず相手が出て繋がったことを確認するのに似ています。)
このように、IPが「宛先まで届ける」役割を担い、TCPがその上で「確実に、順序通りに届ける」役割を担うことで、信頼性の高い通信が実現されています。この組み合わせを一般的に TCP/IP と呼びます。私たちが普段利用するWebサイト閲覧(HTTP/HTTPS)、メール(SMTP)、ファイル転送(FTP)、安全なリモート接続(SSH)など、データの正確さが求められる多くの通信は、このTCP/IPの上で成り立っています。
ポート番号
TCP/IPで通信を行う際、IPアドレスで「どのコンピュータか」を特定するのに加え、「そのコンピュータのどのプログラム(サービス)宛か」を区別するために ポート番号 という番号が使われます。例えば、Webサーバーは通常80番ポートでHTTP通信を、443番ポートでHTTPS通信を待ち受けています。
いくつかのポート番号は、特定のサービスで利用されることが慣例的に決まっています(ウェルノウンポートと呼ばれます)。以下はその一部の例です。
プロトコル | ポート番号 | 主な用途 |
---|---|---|
SSH | 22 | 安全なリモートログイン、ファイル転送 |
HTTP | 80 | Webページの閲覧 (暗号化なし) |
HTTPS | 443 | Webページの閲覧 (暗号化あり) |
SMTP | 25 (または 587) | メールの送信 |