
ネットワークの仕組みを理解するための最初の一歩に。「ネットワークはなぜつながるのか 第2版」を読みました。
はじめに
こんにちは、クラスメソッドオペレーションズ株式会社 26新卒の村上です!
現在、私は新卒エンジニアとして基礎的なIT技術に関する研修を受講しています。
5月に入ってからは、ネットワークの構成やHTML、CSS、JavaScriptの基礎などを学んでいます。
Webアプリケーションの基礎を学ぶ中で、「ブラウザでURLを入力すると、なぜWebページが表示されるのか」、「通信はどのように行われているのか」といった疑問を持つようになりました。
そこで、私のような初学者でも読むことができるネットワークの仕組みについて解説した本を探していたところ出会った本がこちらです。
「ネットワークはなぜつながるのか 知っておきたいTCP/IP、LAN、光ファイバの基礎知識 第2版」
戸根 勤(著)、日経NETWORK(監修)
ページ数は445ページと、やや読み応えのある本ですが、ネットワークの知識は今後、AWS関連の資格取得やクラウド技術について学ぶ際にも役立つのではないかと思い、思い切って読んでみました。
実際に読んでみると、本書は単なる用語解説ではなく、「Webブラウザがリクエストを送ってから、Webサーバーからレスポンスが返ってくるまで」を順番に追いながら説明してくれる構成になっていて、通信全体の流れをイメージしながらネットワークの構成を理解することができました。
初学者の場合、ネットワーク関連の学習をしていると登場する専門用語がとても多いと感じる方が多いと思います。実際に、私も基本情報技術者試験などを勉強して用語の多さに圧倒された経験があります。しかし本書は、通信の流れを理解することにも重点を置いているため、比較的サクサク読み進めることができます。もちろん専門用語も多々登場しますが、その都度丁寧な解説があります。そのため、IT企業を目指す学生さんにもおすすめできる一冊です!
この記事では、本書を読んでよかったところと、各章の内容についてまとめていきます。
よかったところ
1. 通信の流れを順番に理解できる
前述の通り本書では、Webブラウザからサーバーへ通信が届き、レスポンスが返ってくるまでの過程を一つ一つ追いながら解説してくれます。
そのため、DNSやTCP/IP、ルーター、LAN、Webサーバーといった技術・機器が、どこで、どのように、使われているのかをイメージしやすかったです。単なる用語の暗記ではなく、通信全体の流れの中で理解できる点が印象的でした。
2. 図解が多く、イメージしやすい
ネットワークは目に見えない分野なので、文章だけでは理解が難しい部分も多いと思います。しかし本書では、各章で図や表が豊富に掲載されているため、通信の流れや仕組みを理解しやすかったです。
また、前に登場した図がそのまま、または微修正されて再度登場するケースも多く、毎回前のページを探して戻ってという時間を節約し、効率よく読むことができました。
3. AWS・クラウド学習にもつながりそうだと感じた
現在研修ではHTMLやJavaScriptなどアプリケーション寄りの内容を学んでいますが、本書を読んだことで、Webサービスの裏側では多くのネットワーク技術が使われていることを理解でき、Webサービス全体の仕組みをより広い視点で考えられるようになりました。
おそらくAWSなどのクラウドサービスも、根底にはサーバー、データベース、DNS、ロードバランサー、セキュリティ設定など本書で学んだ技術が使用されていると思います。今後クラウドやインフラを学ぶ際にも、本書で学んだネットワーク通信の土台を活かしていきたいです。
第1章:Webブラウザの裏側では何が起きているのか
URLを入力しても、すぐにWebサーバーへHTTPリクエストが送られるわけではない
第1章では、WebブラウザにURLを入力してから、HTTPリクエスト・メッセージが作成され、プロトコルスタックにメッセージの送信を依頼するまでの流れについて解説されています。私はこれまで、URLを入力してWebページを開くときにブラウザの裏側で何が起きているのか、正直深く考えたことがありませんでした。しかし実際には、URLの解析やHTTPリクエストの作成、DNSサーバーによるIPアドレスの取得、ソケットを利用した通信準備など思っていた以上に多くの処理が行われていることがわかりました。そして、普段何気なく見ていたURLの役割についても理解することができました。
DNSはドメイン名をIPアドレスに変換する仕組み
Webサイトにアクセスするとき、私たちは対象のドメイン名を入力しますが、コンピュータ同士が実際に通信するときには、ドメイン名ではなくIPアドレスが必要になります。そこで登場するのが**DNS(Domain Name System)**です。DNSは、簡単に言えば「ドメイン名をIPアドレスに変換する仕組み」です。人間にとって覚えやすい名前であるドメイン名を、コンピュータが通信に使えるIPアドレスへと対応付けています。たとえば、ブラウザでURLを入力すると、まずそのドメイン名に対応するIPアドレスをDNSサーバーに問い合わせます。そして、取得したIPアドレスを使ってWebサーバーへ接続を試みます。
ソケットを使って通信を開始する
DNSによってWebサーバーのIPアドレスがわかると、次にブラウザはそのサーバーと実際に通信する準備を始めます。このときに使われるのがソケットです。ソケットは、アプリケーションがネットワークを通じてデータを送受信するための出入口のようなものです。ブラウザはソケットを通じてOSのプロトコルスタックに通信を依頼し、TCPの接続処理が行われることで、サーバーとの間でリクエストやレスポンスをやり取りできるようになります。
第2章:TCP/IPはどのようにデータを届けているのか
TCPはデータをできるだけ正しく、順序通りに相手へ届けるための仕組み
第2章では、プロトコルスタックによってWebブラウザから受け取ったリクエスト・メッセージに制御情報が付加され、LANアダプタによって電気信号に変換され、LANケーブルへ送り出されるまでの流れについて解説されています。プロトコルスタックの中で重要だと感じたのは、TCPがデータをできるだけ正確に届けるための仕組みであるという点です。ネットワーク上では、データが途中で失われたり、順番が入れ替わったり、同じデータが重複して届いたりする可能性があります。TCPは、そのような不安定な通信環境でも、受け取る側が正しい順番でデータを扱えるように工夫されています。
例えば、TCPでは大きなデータを一度に送るのではなく、扱いやすい大きさに分割して送信しますが、分割されたデータには、順番を管理するためのシーケンス番号や確認応答に使う情報などが付けられます。受信側は、届いたデータを確認し、正しく受け取れたことを送信側へ知らせます。これを確認応答と呼びます。もし送信側が一定時間待っても確認応答を受け取れなかった場合、そのデータは途中で失われた可能性があると判断し、再送します。このような再送制御によって、TCPはデータが欠けたまま通信が進んでしまうことを防いでいます。
IPアドレスとMACアドレスの違い
データを相手に届けるためには、宛先を示す情報が必要になります。その代表的なものがIPアドレスとMACアドレスです。どちらも通信相手を識別するために使われますが、役割や使われる範囲が異なります。
IPアドレスは、ネットワーク上で相手の場所を示すための住所のようなもので、インターネット上のどのネットワークに相手がいるのかを判断するために使われます。ルーターはこのIPアドレスを見ながら、データを次にどこへ送るべきかを決めます。つまり、IPアドレスはネットワークを越えて目的地までデータを届けるために使われます。
一方、MACアドレスは、LAN内で機器を識別するための番号です。LANアダプタなどのネットワーク機器に割り当てられており、同じネットワーク内で「次にどの機器へデータを渡すか」を決めるときに使われます。
第3章:LAN機器はどのように通信を中継しているのか
スイッチングハブは賢く通信を振り分けている
第3章では、ケーブルに送り出したパケットがリピータハブやスイッチングハブ、ルーターなどのネットワーク機器を経由してインターネットに向かい進んでいくまでの流れについて解説されています。本章では他の章よりも機器や用語の説明に重点が置かれている印象を受けました。ここでは、リピータハブとスイッチングハブについて取り上げます。これらはどちらも通信を中継する機器ですが、動き方が大きく異なるという点が重要です。
リピータハブ
受け取った信号を単純にすべてのポートへ流します。つまり、どの機器宛ての通信であっても、接続されているすべての機器に信号が届くことになります。信号をそのまま広げるイメージですね。
スイッチングハブ
受け取ったフレームの宛先MACアドレスを確認し、必要なポートにだけ転送します。そのため、関係のない機器にまで余計な通信が流れにくく、LAN内の通信を効率よく行うことができます。また、送信元MACアドレスをもとに、どのMACアドレスの機器がどのポートの先にいるのかを学習します。
ルーターは「次にどこへ送るか」を決めている
スイッチングハブが主に同じLAN内でMACアドレスをもとに通信を振り分けるのに対して、ルーターはネットワーク同士をつなぐ役割を持っています。受け取ったパケットの宛先IPアドレスを確認し、ルーティングテーブルと呼ばれる経路情報をもとに、次にどこへ送るべきかを判断します。動作としては「次の中継先」を決めながら、パケットを少しずつ目的地へ近づけていくイメージでしょうか。
第4章:家庭のネットワークからインターネットへ
ADSLと光ファイバを用いたアクセス回線
第4章では、パケットが第3章で学習したハブやルーターなどのネットワーク機器を抜けた後、インターネットの中に入って進んでいく様子について解説されています。特にアクセス回線周りの説明が充実していると感じました。アクセス回線とは、利用者のネットワークとプロバイダのネットワークをつなぐ通信回線のことです。この部分を通ることで、パケットはインターネットへ出ていくことができます。アクセス回線については本書ではADSLと光ファイバを用いたものについて紹介されています。ADSLの説明について疑問に思う方もいるかもしれませんが、本書は2007年刊行の第2版であるため、現在では利用が減っている技術についても説明されています。現在の家庭向け回線では光ファイバ回線が主流ですが、アクセス回線の仕組みを理解するうえでは、ADSLと光ファイバの違いを学べる点も参考になりました。
ADSLを用いたアクセス回線では、電話線を使って通信を行います。電話で使う音声信号とは異なる周波数帯を利用することで、電話とインターネット通信を同じ電話線で扱えるようになっています。ただし、電話線はADSLの高い周波数の信号を流すことを想定して作っていないため、イーサネットのツイストペア・ケーブルより雑音の影響を受けやすいという特徴があります。
一方、FTTHと呼ばれる光ファイバを用いたアクセス回線では、電気信号ではなく光信号を使ってデジタル・データを送ります。光ファイバはコアの直径によって、シングルモードとマルチモードに分けられます。
- シングルモード:直径が細く、光がほぼ一直線に進み信号の変形が少ないため、長距離通信に向いています。
- マルチモード:直径が比較的太く、複数の経路を通って光が進み信号の変形が大きいため、比較的短い距離の通信で使われます。
インターネットの実態は多数のプロバイダのネットワーク
アクセス回線を通り抜けたパケットはインターネットの入り口であるプロバイダのルーターに届きます。ここで重要なのは、インターネットは一つの巨大なネットワークが単独で存在しているわけではなく、多数のプロバイダのネットワークが互いに接続されることで成り立っているという点です。私たちが普段「インターネットに接続する」と言っているものは、まず契約しているプロバイダのネットワークに接続し、そこから他のプロバイダや事業者のネットワークを経由して目的地へ向かう仕組みになっています。
第5章:サーバー側にはどんな仕組みがあるのか
パケット・フィルタリング型のファイアウォールの仕組み
第5章では、プロバイダのネットワークで運ばれたパケットが、ファイアウォール、キャッシュサーバー、負荷分散装置などを通過する流れについて解説されています。
まず重要だと感じたのは、不正アクセスや攻撃からWebサーバーを守るために、どの通信を通し、どの通信を遮断するかを判断するファイアウォールという仕組みです。本書ではファイアウォールの方式の一つとして、パケット・フィルタリング型が紹介されています。パケット・フィルタリング型のファイアウォールは、流れてきたパケットのヘッダー情報を確認し、あらかじめ設定された条件に従って、そのパケットを通過させるか遮断するかを判断します。具体的には、宛先IPアドレス、送信元IPアドレス、宛先ポート番号、送信元ポート番号、コントロール・ビットなどで、パケットを通すか棄てるか判断します。
大規模サービスを支える負荷分散の仕組み
Webサーバーへのアクセスが増えるとWebサーバーの処理能力が足りなくなることがあります。特に大規模サイトではそうした事態への備えが欠かせません。そこで重要な対策が負荷分散です。負荷分散の一つとして、1台のWebサーバーに処理を集中させるのではなく、複数のWebサーバーにリクエストを振り分けることで、全体として多くのアクセスを処理できるようにする方法があります。
また、キャッシュサーバーを利用しWebサーバーの負荷を減らす方法もあります。この方法では、Webサーバーが返したデータをキャッシュサーバーに一時的に保存しておき、同じデータへのリクエストが来たときに、キャッシュサーバーが元のWebサーバーの代わりに応答します。キャッシュサーバーが応答することでWebサーバーの処理回数を減らすことができます。
第6章:Webサーバーはどのように応答を返しているのか
サーバー側もソケットを使って通信している
第6章では、パケットがWebサーバーの中に入り、Webサーバーのアプリケーションによるレスポンス・メッセージがクライアントに届くまでの流れが解説されています。
当然と言えば当然のことですが、サーバーとクライアントでネットワークに関する部分であるLANアダプタ、プロトコルスタック、Socketライブラリなどの機能は基本的に同じです。しかし、接続動作時に、クライアントから接続動作を行い、サーバーはそれを受け付ける格好になるため、Socketライブラリの使い方は同じにはなりません。クライアントであるブラウザは、Webサーバーに接続するためにソケットを作成し、サーバーのIPアドレスとポート番号を指定して接続を開始します。一方で、サーバー側は自分から接続しに行くのではなく、あらかじめソケットを用意して、クライアントからの接続を待ち受けます。
Webページ表示の流れを最後まで理解できた
第1章から第6章までを通して、普段何気なく行っているWebページの閲覧は実は多くの技術の積み重ねによって成り立っていて、ブラウザにURLを入力してからWebページが表示されるまでには、非常に多くの機器・処理が関わっていることがわかりました。ブラウザ、OS、ネットワーク機器、プロバイダ、サーバー側の設備が順番に役割を果たすことで、ようやくWebページが表示されます。今後Webサービスやネットワークなどについて学ぶときにも、この全体の流れを意識することで、より深く理解できるようになると感じました。また、一度読んだだけの状態では所々知識の抜けを感じるので、時間を見つけて再度読んでみたいと思っています。参考書のような使い方もしていきたいです。
クラスメソッドオペレーションズ株式会社について
クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイトをぜひご覧ください。
※2026年1月 アノテーション㈱から社名変更しました。








