私たちがブラウザでWebページを見たり、メールを送ったり、ビデオチャットを楽しんだりするすべての瞬間、背後ではネットワーク技術が働いています。ネットワーク技術は私たちを全世界とつなぎ、情報の海を自由自在にサーフィンすることを可能にしてくれます。そしてその技術は、私たちの生活や仕事、さらには社会そのものを変えてきました。
しかし、「ネットワーク」は単なる一つの技術ではありません。ネットワークは多数の異なる技術や規格が組み合わさって成り立っています。ネットワークを理解することは、私たちが毎日直面するテクノロジーの基本的な構造を理解することに他なりません。そして、皆さんがエンジニアとして次のステップを踏み出すための重要なステップとなるでしょう。
この記事では、ネットワークの基本から始まり、具体的な技術、プロトコル(通信規約)、さらには現代のネットワーク環境に至るまで、広範にわたるネットワークについての知識を解説しました。そして最終的には、みなさんが自信を持ってネットワークの設計、構築、トラブルシューティングに取り組めるようになることを目指します。
1. コンピュータネットワークとは
コンピュータネットワークは、デジタル情報のやり取りを可能にするコンピューターシステム間の接続です。コンピュータネットワークにより、データを迅速かつ効率的に転送し、コミュニケーションを実現することが可能になります。
1.1 コンピュータネットワークの概要
コンピュータネットワークの基本的な目的は、コンピュータを相互につなげて通信させることです。例えば、インターネットは全世界のコンピュータネットワークが相互に接続されて構成されています。あなたがこの記事を読むためにも、あなたのデバイスとインターネット上のこのサーバがネットワークを通じてつながっているからこそ可能なのですね。
ネットワークには様々な形態が存在し、その設計や技術は、使用する目的、規模、技術的な要件により異なります。その中でもローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)の区別は重要です。
例えば、ご自宅でブロードバンドルーターの設定をする時、LANケーブルを差すポートにはLAN側とWAN側という区別があります。これを間違えていると当然ながらインターネットに接続できません。
1.2 ネットワークの種類と特性
ローカルエリアネットワーク(LAN)
LAN【Local Area Network】は、一般的には一つの建物やキャンパスなど、限定された範囲内で機能するネットワークです。オフィスや学校、家庭などでよく見かけます。LANは通常、高いデータ転送速度を提供し、管理が比較的容易なため、リソースの共有(プリンターやファイルサーバなど)によく用いられます。
ワイドエリアネットワーク(WAN)
WAN【Wide Area Network】は、都市、国、さらには大陸を越えるような広範な地域にわたるネットワークを指します。インターネット自体が最大のWANの一例と言えます。WANはLANよりも複雑で、データ転送速度も通常は遅く、インフラ維持のコストも高くなります。
2. ネットワークの基本
コンピュータネットワークの理解を深めるためには、その根底にある基本的な要素を把握することが重要です。ここでは、データ通信の基礎、プロトコル、そしてネットワークデバイスとハードウェアについて解説します。
2.1 データ通信の基礎
コンピュータネットワークで行われるデータ通信は、基本的にはビット(0と1)の連続からなるデータが送受信されるプロセスです。これは、テキスト、画像、音声、ビデオなどのあらゆる形式のデータをビット列として表現し、ネットワークを介して転送することを意味します。
データ通信では、情報を転送するための様々な方式が存在しますが、その中でも「回線交換方式」と「パケット交換方式」は特に重要です。
回線交換方式
回線交換方式は、通信が始まる前に送信元と受信元間で物理的な通信路を確立します。固定電話の通話が典型的な例です。電話で話を始める前に、双方の電話間で回線が確保され、通話が終わるまでその回線は専有されます。つまり、通信中はその回線が専有され、他の通信は行えないという特徴があります。
回線交換方式の利点は、通信が確立された後は一定の帯域幅が確保されるため、データ転送速度が一定であることです。しかし、通信を行っていない時でも回線を占有し続けるため、リソースの無駄遣いにつながる可能性があります。
パケット交換方式
パケット交換方式では、送信するデータを小さなパケット【Packet:小包】に分割して送信します。各パケットのヘッダには送信元と目的地の情報が含まれており、ネットワーク上のルータがこれを読み取り、パケットを目的地に向けた経路に送り出します。ヘッダはちょうど宅急便の伝票のようなものと考えればイメージしやすいでしょう。パケット交換方式はインターネットで広く利用されています。
この方式の利点は、ネットワーク上の利用可能な帯域を効率的に使用でき、複数の通信が同時に行われることが可能であることです。しかし、ネットワークの混雑状況によってはパケットの遅延やロスが発生する可能性があります。
コンピュータネットワークでは主としてパケット交換方式が使われています。
2.2 プロトコル
コンピュータネットワークでデータ通信を行う際には、特定の「ルール」が必要となります。これを「プロトコル」と呼びます。プロトコルは、データの形式、送信のタイミング、エラー処理の方法など、データ通信の詳細を決定しています。プロトコルは日本語で通信規約と訳されます。
インターネットで最もよく使われるプロトコルはTCP/IPプロトコルスイートで、その中にはIP、TCP、UDPなど多くの重要なプロトコルが含まれています。ちなみにこのスイートは甘い【sweet】ではなく、ホテルのスイート・ルーム【suite room】と同じで「一揃い」のといった意味です。
TCP/IPプロトコルスイート
TCP/IP【Transmission Control Protocol/Internet Protocol】プロトコルスイートは、インターネットで最も広く使用されているプロトコルのセットです。この名前は、その二つの主要なプロトコル、すなわちTCPとIPから来ています。
TCP【Transmission Control Protocol】
TCPは、送信元と宛先の間でデータの送受信を確認し、データが順序正しく、エラーなく送信されることを保証します。もしパケットが失われたり、順序が乱れたりすると、TCPはその問題を修正します。
IP【Internet Protocol】
IPは、ネットワーク上の各デバイスを一意に識別するためのアドレス(IPアドレス)を割り当て、データパケットを正しい宛先へとルーティングします。IPは「ベストエフォート」の配信方式を提供します。これは、パケットが送信されると、ネットワークはそのパケットを配送しようと試みますが、配送の成功を保証しないという方式です。
TCP/IPプロトコルスイートには、これら以外にも多くの重要なプロトコルが含まれています。それぞれが特定の機能を果たし、全体としてインターネットという巨大なネットワークシステムを動作させています。
プロトコルの協調
ウェブブラウザを使ってウェブページを見るとき、裏ではTCP/IPプロトコルスイートの各プロトコルが協調して動作しています。それぞれのプロトコルがどのように働くのか、以下に具体的な流れを説明します。
- まず、ウェブページを開こうとすると、ブラウザはHTTP【Hypertext Transfer Protocol】を使用してWebサーバーにリクエストを送ります。HTTPはTCP/IPプロトコルスイートの上位層に位置するアプリケーション層のプロトコルで、クライアント(この場合、ブラウザ)とサーバー間の通信を可能にします。
- このHTTPリクエストを送る前に、ブラウザは目的地のWebサーバーのIPアドレスを知る必要があります。通常、ウェブページはURL【Uniform Resource Locator】で指定され、これにはドメイン名(例えば、「saycon.co.jp」)が含まれますが、IPアドレスは含まれません。そこで、ブラウザはDNS【Domain Name System】を使ってドメイン名を対応するIPアドレスに変換します。DNSもまたアプリケーション層のプロトコルです。
- 次に、HTTPリクエストをWebサーバーへと送るために、ブラウザはTCPを使います。ブラウザ(クライアント)とWebサーバー間でTCP接続が確立されると、ブラウザはHTTPリクエストをTCP接続を通じて送信します。TCPはデータをパケットに分割し、すべてのパケットが順序正しく、エラーなく送信されることを保証します。TCP/IPベースの通信では、特定のプロトコルやサービスは一般的に特定の「ポート番号」を使用します。これは、通信を行う相手のコンピュータ内の特定のアプリケーションを識別するためのものです。一つのコンピュータは同時に多くの通信を行っている可能性があります(例えば、ウェブブラウザで複数のタブを開いている、メールをチェックしている、音楽をストリーミングしているなど)。そのため、ポート番号はデータが正しいアプリケーションに届くようにするための重要な情報となります。例えば、HTTP通信(ウェブページの閲覧)は通常、ポート番号80を使用します。これはWebサーバー側で使用され、ブラウザ(クライアント)からの接続要求を受け取るために用いられます。Webサーバーがポート80で待機しているため、ブラウザはそのポートへ接続を試みます。一方、セキュアなウェブ通信であるHTTPSはポート番号443を使用します。
- そして、TCPパケットは更にIPパケットに包まれます。IPパケットには送信元と宛先のIPアドレスが含まれており、これによって各パケットはインターネット上を正しく経路決定され、最終的にWebサーバーに到達します。
Webサーバーは受け取ったHTTPリクエストを解析し、対応するHTTPレスポンス(要求されたウェブページのコンテンツ)をブラウザに返します。このレスポンスも同じくTCPとIPを使用して送信されます。
最後に、ブラウザは受け取ったHTTPレスポンスを解析し、ウェブページのコンテンツを表示します。全ての処理が高速に行われるため、ユーザーはほぼ瞬時にウェブページを見ることができます。
私達が日常生活で荷物を送る際に、送りたい荷物だけでは送ることができませんね。宛先の住所と名前、送信元の住所と名前を書いた伝票が必要です。パケットも同様に伝票のようなヘッダが必要です。そして、この伝票は幾重にも重ねて貼られるのです。つまり、上記のHTTPのパケットはある段ボール箱を別の段ボール箱に入れるような「入れ子構造」をしています。
HTTPのパケットが「入れ子構造」となる過程を詳しく見ていきましょう。
アプリケーション層(HTTP)
最初に、ウェブブラウザなどのアプリケーションがHTTPリクエストを作成します。このリクエストは、例えば「このURLのウェブページを取得する」といったメッセージを含みます。
トランスポート層(TCP)
次に、このHTTPリクエストはTCPセグメントのデータ部分として「ラップ(包み込み)」されます。TCPヘッダには、ポート番号やシーケンス番号などが追加され、セッション管理と信頼性確保の役割を果たします。
ネットワーク層(IP)
TCPセグメント全体はさらにIPパケットのデータ部分として「ラップ」されます。IPヘッダには、送信元と送信先のIPアドレスが含まれ、パケットが正しい宛先にルーティングされることを保証します。
ネットワークインターフェース層(イーサネット)
最後に、IPパケット全体がイーサネットフレームのデータ部分として「ラップ」されます。イーサネットヘッダには、送信元と送信先のMACアドレスが含まれ、フレームが正しいネットワークデバイスに伝送されることを保証します。
以上のように、各層が一つ上の層のデータを「ラップ」することで、ネットワーク通信のパケットが「入れ子構造」となります。各層が独自のヘッダ情報を追加することで、データの正確な送受信を確保しています。
なお、この説明は基本的な流れを示していますが、現実の通信では更に複雑なプロセスが行われます。たとえば、HTTPS(HTTP Secure)を使ったセキュアな通信、TCPの輻輳(ふくそう)制御やフロー制御など、多くの詳細が省略されています。しかし、基本的なプロトコルがどのように働くか理解することで、インターネット通信の全体像はご紹介できたと思います。
3. TCP/IPプロトコルスイートとOSI参照モデル
上記の例では、TCP/IPプロトコルスイートを使ってWebを見る時の各プロトコルの動きを説明しました。しかし、新人エンジニアの皆さんはOSI参照モデルも知っておく必要があります。なぜなら、ネットワークの解説はこのOSI参照モデルを使って説明されることのほうが多いからです。
3.1 TCP/IPプロトコルスイート
すでに述べたようにTCP/IPプロトコルスイートは、インターネットにおけるコンピュータネットワークの通信を可能にする一連の通信プロトコルです。TCP/IPは、その主要な二つのプロトコル、すなわちTCPとIPから名付けられています。
TCP/IPプロトコルスイートは、通常、4つの層から成る階層構造に分かれています。上位から順に、アプリケーション層、トランスポート層、インターネット層、ネットワークインターフェース層です。
4.[アプリケーション層] ユーザーが直接触れる部分で、FTP【File Transfer Protocol】やSMTP【Simple Mail Transfer Protocol】、HTTP【Hyper Text Transfer Protocol】などのプロトコルがあります。
3.[トランスポート層]端末間のデータ伝送を制御します。主にTCPとUDPが存在します。ポート番号に関する取り決めはこの層が担っています。
2.[インターネット層]ネットワーク間のデータの送受信を行います。主にIPが該当します。IPアドレスに関する取り決めはこの層が担っています。
1.[ネットワークインターフェース層]物理的なデータ転送を行います。有線のイーサネットや無線のWi-Fiなどのテクノロジーが該当します。MACアドレスに関する取り決めはこの層が担っています。
3.2 OSI参照モデル
OSI参照モデル【Open Systems Interconnection Model】は、異なるコンピュータやネットワークシステムが通信を行うためのフレームワークを提供する7層のモデルです。各層は特定のネットワーク機能を扱い、その機能は次の層にサービスを提供します。
7.[アプリケーション層(第7層)]ネットワークアプリケーションとユーザーの間のインターフェースを提供します。
6.[プレゼンテーション層(第6層)]データ形式や暗号化のようなサービスを提供します。
5.[セッション層(第5層) 通信セッションの設立、管理、終了を行います。
4.[トランスポート層(第4層)]エンドツーエンド(クライアントとサーバーなどの最終地点)のデータ伝送、エラー復旧、フロー制御を提供します。ポート番号に関する取り決めはこの層が担っています。
3.[ネットワーク層(第3層)]データパケットのルーティングと転送を行います。IPアドレスに関する取り決めはこの層が担っています。
2.[データリンク層(第2層)]物理層を介したデータの伝送を制御し、エラー検出と修正を行います。MACアドレスに関する取り決めはこの層が担っています。
1.[物理層(第1層)]ハードウェアを通じたデータビットの物理的な伝送を担当します。
TCP/IPプロトコルスイートとOSI参照モデルは、どちらもネットワーク通信のプロセスを層に分けて表現していますが、それぞれの目的は異なります。TCP/IPはインターネットの構築と運用を目的として実装された実際に使われているプロトコルスイートであり、OSI参照モデルはネットワーク通信の理論的なフレームワークを提供することを目的としています。
3.3 IPアドレスとMACアドレス
MACアドレスとIPアドレスは、ネットワーク上でデバイスを特定・識別するための重要な要素です。どちらも似たような役割を果たしますが、その詳細と使用方法にはいくつか重要な違いがあります。
MACアドレスは物理アドレス
MACアドレス【Media Access Control address】は、コンピュータのネットワークインターフェースカード(NIC)に保存されている一意の識別子で、通常、NICの製造時に割り当てられます。このアドレスは固定的で、ネットワークインターフェースカードが物理的に存在する限り変更されません。MACアドレスは通常、16進数の形式で表され、各ネットワークデバイスを一意に識別します。(例:A8-A1-59-38-76-8C)
IPアドレスは論理アドレス
IPアドレス【Internet Protocol address】は、ネットワーク上のコンピュータを識別するための論理的なアドレスです。このアドレスは、コンピュータの物理的な位置や接続方法に関係なく、ネットワーク管理者やDHCP【Dynamic Host Configuration Protocol】などによって割り当てられます。IPアドレスは、ネットワーク内やインターネット全体で通信を可能にするための重要な要素であり、通常、IPv4(例:192.168.0.1)またはIPv6(例:2001:0db8:85a3:0000:0000:8a2e:0370:7334)の形式で表されます。
インターネットで通信をするにはこの両方のアドレスが必要です。その具体的なメカニズムについては次のテーマをご覧ください。
3.4 ネットワークデバイスとハードウェア
ネットワークを構成する要素はデータとプロトコルだけではありません。物理的なハードウェアやネットワークデバイスも重要な役割を果たします。特にルーターとスイッチの区別が重要です。
ルーター
- ルーターはネットワーク間の通信を制御するデバイスで、データパケットを目的地に向けて最適なルートで送る役割を果たします。ルーターはIPアドレスを利用して、パケットの送信元と宛先を特定します。IPアドレスは、インターネット上の特定のネットワークに位置づけられた一意の識別子です。ルーターは、IPアドレスに基づいてパケットを正しいネットワークへとルーティングします。
スイッチ
- スイッチはローカルエリアネットワーク(LAN)内でデータを送受信するデバイスを接続し、データパケットを正しい宛先に転送します。スイッチはMACアドレスを使用して、特定のデバイスを認識し、パケットを適切なデバイスに正確に送信します。MACアドレスは、ネットワークインターフェースカード【Network Interface Card:NIC】に組み込まれた一意の識別子で、物理的なデバイスを特定するために使用されます。
イーサネットフレームのヘッダには、送信元と送信先のMACアドレスが含まれています。このフレームがネットワークを通過し、特にルータやスイッチなどのネットワークデバイスを経由すると、送信元と送信先のMACアドレスは適切に更新されます。
具体的には、フレームがルータに到達した時点で、そのルータのMACアドレスが送信元のMACアドレスに設定され、次のホップ(次のルータまたは最終的な宛先)のMACアドレスが送信先のMACアドレスに設定されます。このようにしてネットワーク上の各デバイスは次にどこにフレームを送ればよいかを知ることができます。
3.5 プライベートIPアドレス
ネットワーク上のすべてのデバイスが通信を行うためには、それぞれ一意のIPアドレスが必要です。IPアドレスには、主に2つの種類があります。プライベートIPアドレスとグローバルIPアドレスです。
プライベートIPアドレス
プライベートIPアドレスは、特定のネットワーク内部でのみ有効なIPアドレスです。
インターネット全体では一意ではないため、同じプライベートIPアドレスが異なるネットワークで使用されることがあります。
プライベートIPアドレスは、一般的に次の範囲になります。
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
プライベートIPアドレスは、家庭や企業のローカルネットワーク(LAN)などで主に使用されます。
グローバルIPアドレス
グローバルIPアドレスはインターネット全体で一意なアドレスで、インターネット上で直接アクセス可能です。
グローバルIPアドレスは、通常ISP【Internet Service Provider】から提供されます。
インターネット上のウェブサイト、サーバーなどは、一般的にグローバルIPアドレスを持っており、これにより世界中からアクセスすることができます。
プライベートIPアドレスが割り当てられたデバイスがインターネットに接続する場合、NAT(ナット)【Network Address Translation】やNAPT(ナプト)【Network Address Port Translation】という技術を使用して、プライベートIPアドレスをグローバルIPアドレスに変換します。これらの技術によりプライベートネットワーク内のデバイスがインターネット上の他のデバイスと通信することが可能になります。
特殊なアドレス
インターネットプロトコルの設計では、特定の目的のために予約されているいくつかの特殊なIPアドレスがあります。以下のループバックアドレスはその例です。
ループバックアドレス(127.0.0.1)
このアドレスは、システム内部の通信、主に自己テストのために使用されます。このアドレスに送られたパケットは、自身に戻ります。JavaWebで自分自身のマシンをサーバとして扱う際に使用します。なお、「127.0.0.1」は「localhost」と書いても同じ意味です。
サブネットマスク
サブネットマスクは、IPアドレスがネットワークアドレスの部分とホストアドレスの部分に分割されることを示すものです。サブネットマスクもIPアドレスと同じく、通常は32ビットの数値で表現されます。
サブネットマスクでは、「255」は該当するアドレス部分がネットワークアドレスであることを、「0」はホストアドレスであることを示します。例えば、「255.255.255.0」のサブネットマスクは、IPアドレスの最初の3つのセグメントがネットワークアドレスを、最後の1つがホストアドレスを示すことを意味します。
IPアドレスとサブネットマスクは一緒に使用され、ネットワーク内の特定のデバイスを識別するためのアドレスを生成します。これにより、ネットワーク通信が効率的に行われます。
4. 代表的なネットワークプロトコル
IP 【Internet Protocol】
IPは、ネットワーク上でデータを送受信するための基本的なプロトコルです。これは、データパケットを正しい宛先に転送するためのメカニズムを提供します。IPアドレスは、ネットワーク上のすべてのデバイスに一意の識別子を割り当てることで、パケットの送信元と送信先を特定します。
TCP 【Transmission Control Protocol】
TCPは、インターネットプロトコルスイートの主要な部分で、信頼性の高いデータ通信を保証します。TCPは、送信側がデータをパケットに分割し、受信側が再構築する手順を提供します。さらに、データが失われた場合やエラーが発生した場合には、再送を行います。
UDP 【User Datagram Protocol】
UDPもデータを送受信するためのプロトコルですが、TCPとは異なり、パケットの到着を確認したり、エラーやデータの損失を処理したりすることはありません。このため、UDPはTCPよりも軽量で速度が速いという利点がありますが、信頼性は低いという欠点があります。リアルタイムの音声やビデオストリーミングなど、データの一部が失われても大きな問題にならないような場合によく使用されます。
DHCP【Dynamic Host Configuration Protocol】
DHCPは、ネットワーク上のデバイスに自動的にIPアドレスを割り当てるためのプロトコルです。DHCPにより、管理者は手動で各デバイスにIPアドレスを設定する必要がなくなり、大規模なネットワークの管理が容易になります。
DNS 【Domain Name System】
DNSは、人間が覚えやすいドメイン名(例:www.example.com)を、コンピュータが理解できるIPアドレス(例:192.0.2.1)に変換するためのシステムです。DNSにより、ユーザーはウェブサイトを訪れる際に、複雑なIPアドレスを覚える必要がなくなります。
HTTP【Hypertext Transfer Protocol】
HTTPは、ウェブブラウザとウェブサーバー間で情報を送受信するためのプロトコルです。ウェブページの取得やフォームの送信など、インターネット上でのデータ交換の基礎的なプロトコルです。
HTTPS 【Hypertext Transfer Protocol Secure】
HTTPSは、HTTPのセキュリティ強化版です。HTTPSを使用すると、送受信されるデータは暗号化され、第三者によるデータの傍受や改ざんを防ぐことができます。
5. クラウドコンピューティングとネットワーク
企業が自社の物理的な場所にITインフラストラクチャを設置・運用する形態をオンプレミス【On-Premises】と呼びます。サーバーマシン、ストレージ、ネットワーク機器などを購入し、自身で設定、管理、メンテナンスを行います。セキュリティやプライバシーが重視される場合や、特定の業界規制に従う必要がある場合には、オンプレミスが適していることもあります。ただし、高額な初期投資や、継続的なメンテナンスコスト、拡張性の制約などがあります。
一方、クラウドコンピューティングは、インターネットを通じてITリソースを提供するサービスモデルです。企業は必要に応じてリソースを利用し、利用した分だけ料金を支払います。これにより、初期投資を大幅に減らし、柔軟にスケールアップ・ダウンすることが可能となります。また、クラウドサービスプロバイダーがリソースの管理・メンテナンスを行うため、それらの作業に費やす時間とコストを削減できます。
ただし、クラウドコンピューティングにもデータのプライバシー・セキュリティや、インターネット接続の信頼性・速度などに関する懸念があります。企業はオンプレミス、クラウド、あるいはハイブリッド(両方を組み合わせた)の環境を選択する必要があります。
5.1 クラウドコンピューティングの種類
クラウドコンピューティングのサービスモデル(IaaS, PaaS, SaaS)について解説します。
- IaaS【Infrastructure as a Service】
IaaS(イアース)は基盤となるコンピューティングリソースを提供します。これには、物理的または仮想マシン、ストレージ、ネットワークなどが含まれます。ユーザーはOSやミドルウェア、データ、アプリケーションなどを自身で管理します。AWSのEC2やGoogle CloudのCompute EngineがIaaSの例です。 - PaaS【Platform as a Service】
PaaS(パース)はユーザーが開発、テスト、デプロイ、管理、アップデートを行うアプリケーションを開発するためのプラットフォームと環境を提供します。これにはOS、サーバーソフトウェア、データベース、開発ツールなどが含まれます。ユーザーは自分で開発したアプリケーションの管理だけを行います。Google App EngineやHerokuがPaaSの例です。 - SaaS【Software as a Service】
SaaS(サース)はユーザーがオンラインでアクセスできる、すでに開発されたアプリケーションソフトウェアを提供します。ユーザーはインフラストラクチャ、プラットフォーム、アプリケーションの管理をクラウドプロバイダーに任せ、自分たちはそのソフトウェアを使用するだけです。GmailやX(旧Twitter)はSaaSの例です。
クラウドコンピューティングのサービスモデルは、ユーザーの役割と責任を明確に区分します。すなわち、IaaSでは、ユーザーはネットワークの一部を自分で管理します。一方、PaaSでは、ネットワークの大部分をプロバイダーが管理し、SaaSでは全てのネットワーク管理をプロバイダーが行います。このように、サービスモデルによってユーザーの役割とネットワークの管理のレベルが変わります。
以上で、コンピュータシステムの基礎は終わりです。