この記事は、 「ネットワーク初級編|通信の仕組みをゼロから学ぶ」 の第26回です。
第4章「身近なネットワークサービス」の最終記事として、 クライアントがサーバーを見つけて通信する仕組みを整理します。
サーバーにもIPアドレスが必要な理由|クライアントが通信相手を見つける仕組み
WebサーバーやDNSサーバーなどのサーバーも、ネットワークを通じて通信する機器です。 クライアントがサーバーへデータを届け、サーバーが応答を返すためには、 通信相手を識別するIPアドレスが必要です。 この記事では、DNSやポート番号との違い、固定IPが使われる理由、 プライベートIPとグローバルIPの考え方まで図解します。
パソコンやスマートフォンにIPアドレスが必要なことは、 これまでの記事で学びました。
では、Webページやファイルを提供するサーバーにも、 IPアドレスは必要なのでしょうか。
結論からいうと、ネットワーク経由で利用されるサーバーにも 通信相手から見つけてもらうためのIPアドレスが必要です。
この記事を読み終えるとできること
- サーバーにもIPアドレスが必要な理由を説明できる
- IPアドレス・ドメイン名・ポート番号を区別できる
- サーバーで固定IPが使われる理由を説明できる
- サーバーに必ずグローバルIPが必要とは限らない理由が分かる
サーバーにもIPアドレスが必要な理由
サーバーにもIPアドレスが必要なのは、 クライアントが通信相手を識別し、 データを正しいサーバーへ届けるためです。
サーバーは、Webページ、ファイル、メール、名前解決などの サービスをほかの機器へ提供します。
しかし、クライアントが「Webページを見せてください」と要求しても、 ネットワーク上のどの機器へ届ければよいか分からなければ通信できません。
そこで使われるのがIPアドレスです。
クライアントとサーバーの基本通信
IPアドレスには送信元と宛先がある
ネットワークで送られるIPパケットには、主に次の情報が含まれます。
送信元IPアドレス
データを送った機器のIPアドレスです。 サーバーは、この情報を使って応答を返す相手を判断します。
宛先IPアドレス
データを届けたい機器のIPアドレスです。 ルーターは、この情報を見て転送先を判断します。
サーバーはデータを受け取るだけではありません。
クライアントから届いた要求へ応答を返すためにも、 サーバー自身のIPアドレスが必要です。
住所に置き換えると分かりやすい
IPアドレスは、ネットワーク上の住所に例えられます。
| 現実世界 | ネットワーク | 役割 |
|---|---|---|
| 荷物を送る人 | クライアント | データや要求を送信する |
| 荷物を受け取る建物 | サーバー | 要求を受け付け、サービスを提供する |
| 建物の住所 | IPアドレス | 通信相手の機器を特定する |
| 建物内の受付窓口 | ポート番号 | 利用するサービスを特定する |
| 配送経路 | ルーティング | 宛先までの経路を選ぶ |
クライアントがサーバーへ通信する流れ
ブラウザからWebサーバーへ接続する場合を例に、 IPアドレスが使われる流れを確認します。
- 利用者がWebサイトを指定する ブラウザへURLを入力するか、リンクをクリックします。
- DNSでサーバーのIPアドレスを調べる ドメイン名を使用している場合は、DNSへ問い合わせて 接続先のIPアドレスを取得します。
- 宛先IPアドレスを設定する クライアントは、取得したサーバーのIPアドレスを パケットの宛先IPアドレスとして設定します。
- ネットワーク機器がデータを転送する スイッチやルーターが、宛先情報を使ってデータをサーバーまで運びます。
- サーバーが要求を処理する Webサーバーは、クライアントから届いたHTTPまたはHTTPSの要求を処理します。
- サーバーがクライアントへ応答する サーバーは、元の送信元IPアドレスへWebページのデータを返します。
Webサーバーへ接続する流れ
IPアドレスとポート番号の違い
サーバーへ通信するときは、IPアドレスだけでなく ポート番号も使用されます。
この2つは似ているように見えますが、役割が異なります。
1台のサーバーで複数のサービスを提供できる
1台のサーバーでは、複数のアプリケーションが同時に動作できます。
同じIPアドレスで複数のサービスを提供する例
HTTPS
TCPポート443
暗号化されたWeb通信
SSH
TCPポート22
サーバーの遠隔操作
DNS
UDP・TCPポート53
名前解決サービス
たとえば、次の宛先は同じサーバーを示しています。
IPアドレスでサーバー本体を特定し、 ポート番号でサーバー上のサービスを特定します。
IPアドレスだけでは、利用したいサービスまでは特定できません。
サーバー通信では、IPアドレスとポート番号を組み合わせて 通信相手を判断します。
ドメイン名があってもIPアドレスは必要
Webサイトへアクセスするとき、通常はIPアドレスを直接入力せず、
it-jump.comのようなドメイン名を使用します。
そのため、「ドメイン名があればIPアドレスは不要なのでは」と 思うかもしれません。
しかし、ドメイン名は人が覚えやすくするための名前です。 実際にパケットを届けるときにはIPアドレスが使用されます。
ドメイン名からIPアドレスを取得する流れ
| 情報 | 主な役割 | 例 |
|---|---|---|
| ドメイン名 | 人が覚えやすいサーバーやサービスの名前 | example.com |
| IPアドレス | ネットワーク上の通信先を識別する | 203.0.113.20 |
| ポート番号 | サーバー上のサービスを識別する | 443 |
DNSの登録先が古いと接続できない
サーバーのIPアドレスを変更したのに、 DNSへ古いIPアドレスが登録されたままだと、 クライアントは古い接続先へ通信してしまいます。
サーバーのIPアドレスを変更するときは、 DNSレコード、ファイアウォール、監視設定なども 更新が必要になる場合があります。
サーバーで固定IPが使われる理由
クライアント端末では、DHCPからIPアドレスを自動取得することが一般的です。
一方、サーバーでは、IPアドレスを固定して使用することが多くあります。
IPアドレスが変わると接続先が分からなくなる
サーバーのIPアドレスが頻繁に変わると、 クライアントや周辺機器が正しい接続先を判断できなくなる可能性があります。
DNSの登録
DNSへ登録されたIPアドレスと、 サーバーの現在のIPアドレスが一致している必要があります。
ファイアウォール設定
特定のサーバーIPアドレスだけを許可するルールが 設定されている場合があります。
監視設定
監視システムが、サーバーのIPアドレスを指定して 死活監視や性能監視を行うことがあります。
ほかのシステムの設定
アプリケーションやネットワーク機器に、 接続先IPアドレスが直接登録されていることがあります。
固定方法は2つある
| 方法 | 概要 | 特徴 |
|---|---|---|
| サーバーへ手動設定 | OSのネットワーク設定で、 IPアドレスやデフォルトゲートウェイを指定する | DHCPサーバーに依存せず、 サーバー側でアドレスを管理する |
| DHCP予約 | サーバーのMACアドレスに対し、 DHCPから毎回同じIPアドレスを割り当てる | DHCPで一元管理しながら、 同じIPアドレスを使用できる |
「サーバーは必ず手動で固定IPを設定する」という意味ではありません。
クラウド環境や大規模な環境では、DHCP予約や管理システムによって 実質的に固定されたアドレスを使用することもあります。
サーバーにはグローバルIPが必要なのか
サーバーにIPアドレスが必要だからといって、 すべてのサーバーにグローバルIPアドレスが必要なわけではありません。
社内サーバーはプライベートIPで利用できる
社内のファイルサーバーや業務システムなど、 社内ネットワークからだけ利用するサーバーには、 プライベートIPアドレスを設定できます。
社内ネットワーク内のサーバー
インターネット公開でもサーバー自身がグローバルIPを持たない場合がある
インターネットから利用されるサービスでも、 Webサーバー本体にはプライベートIPしか設定されていない場合があります。
その場合は、NAT、ロードバランサー、リバースプロキシなどが インターネット側の通信を受け付け、内部のサーバーへ転送します。
公開用IPアドレスと内部サーバーを分ける構成
サーバーにはIPアドレスが必要ですが、必ずグローバルIPが必要とは限りません。
サーバーを利用する範囲や公開方法によって、 プライベートIPとグローバルIPを使い分けます。
同一ネットワークと異なるネットワークの通信
クライアントとサーバーのネットワークが同じか異なるかによって、 データの届け方が変わります。
同じネットワーク内にある場合
クライアントとサーバーが同じネットワークに所属している場合、 クライアントはARPを使ってサーバーのMACアドレスを調べ、 基本的に直接データを送ります。
同じネットワーク内の通信
異なるネットワークにある場合
クライアントとサーバーが異なるネットワークに所属している場合、 クライアントはデータをデフォルトゲートウェイへ渡します。
ルーターは宛先IPアドレスとルーティングテーブルを確認し、 サーバー側のネットワークへデータを転送します。
異なるネットワーク間の通信
異なるネットワークから接続されるサーバーでは、 サーバー側のデフォルトゲートウェイ設定も重要です。
デフォルトゲートウェイが間違っていると、 要求を受信できても応答を正しい経路へ返せない場合があります。
1台のサーバーが複数のIPアドレスを持つ場合
初級段階では「1台の機器に1つのIPアドレス」と考えても問題ありません。
ただし、実際のサーバーは、複数のネットワークインターフェースや 複数のIPアドレスを持つことがあります。
複数のLANへ接続する
業務通信用、管理用、バックアップ用など、 用途が異なるネットワークへ接続することがあります。
複数のサービスを分ける
サービスごとに別のIPアドレスを割り当て、 通信制御や管理を分かりやすくする場合があります。
冗長化で仮想IPを使う
複数台のサーバーでサービスを冗長化し、 利用者向けに共通の仮想IPアドレスを提供する場合があります。
IPv4とIPv6を併用する
同じサーバーでIPv4アドレスとIPv6アドレスの 両方を使用することもあります。
127.0.0.1は自分自身を表す
サーバーやパソコンには、
127.0.0.1という特別なIPv4アドレスがあります。
これはループバックアドレスと呼ばれ、 その機器自身を表します。
アプリケーションがサーバー内部だけで通信するときなどに使われますが、
別の機器から127.0.0.1へ接続して、
そのサーバーへ到達することはできません。
Webサーバーのアプリケーションが
127.0.0.1だけで待ち受けている場合、
サーバー内部からは接続できても、
外部のクライアントからは接続できないことがあります。
サーバーへ接続できないときの確認項目
サーバーへ接続できない原因は、 サーバーのIPアドレス設定だけとは限りません。
次の順番で確認すると、原因を整理しやすくなります。
- サーバーのIPアドレスを確認する 想定したIPアドレスが設定されているか、 IPアドレスが重複していないかを確認します。
- サブネットマスクを確認する ネットワークの範囲を正しく判断できる設定か確認します。
- デフォルトゲートウェイを確認する 別ネットワークへ応答を返すためのルーターが正しく設定されているか確認します。
- ネットワークインターフェースを確認する LANケーブル、リンク状態、仮想NIC、無効化の有無などを確認します。
- サーバーのサービスが動作しているか確認する WebサーバーやSSHなど、利用したいサービスが起動しているか確認します。
- ポート番号の待ち受けを確認する サービスが想定したIPアドレスとポート番号で 接続を待ち受けているか確認します。
- ファイアウォールを確認する サーバー側やネットワーク側のファイアウォールで 通信が拒否されていないか確認します。
- DNSの登録を確認する ドメイン名から正しいサーバーIPアドレスが返っているか確認します。
代表的な確認コマンド
Windowsではipconfig、
Linuxではip addrなどを使ってIPアドレスを確認できます。
ポートの待ち受け状態は、
Windowsではnetstat、
Linuxではssなどで確認できます。
コマンドの詳しい見方は、 第27回「Windowsで確認するネットワークコマンド」と 第28回「Linuxで確認するネットワークコマンド」で解説します。
サーバーのIPアドレスに関するよくある勘違い
クライアントからの要求を受け取り、 応答を返すためにサーバーにもIPアドレスが必要です。
ドメイン名はDNSによってIPアドレスへ変換されます。 実際のIP通信では宛先IPアドレスが使われます。
NAT、ロードバランサー、リバースプロキシなどを経由し、 サーバー本体はプライベートIPだけを持つ構成もあります。
サービスの起動状態、ポート番号、ファイアウォール、 ルーティングなどにも問題がないことが必要です。
DNS、監視設定、ファイアウォール、接続先設定など、 サーバーのIPアドレスを参照している設定へ影響する可能性があります。
サーバー通信では、IPアドレスとポート番号を組み合わせて 接続先を特定します。
理解度チェック
記事の内容を確認するため、次の5問に答えてください。 解答を見る前に、一度自分で考えてみましょう。
問題1.サーバーにもIPアドレスが必要な主な理由はどれですか。
- サーバーの保存容量を増やすため
- クライアントが通信相手を識別し、データを届けるため
- サーバーの処理速度を上げるため
- パスワードを暗号化するため
解答を見る
IPアドレスは、ネットワーク上にある通信相手を 識別するために使われます。
問題2.IPアドレスとポート番号の役割として正しい組み合わせはどれですか。
- IPアドレスはサービス、ポート番号は機器を識別する
- IPアドレスもポート番号も、LANケーブルの種類を表す
- IPアドレスは機器、ポート番号はその機器上のサービスを識別する
- IPアドレスは利用者名、ポート番号はパスワードを表す
解答を見る
IPアドレスで通信先の機器を特定し、 ポート番号で利用するサービスを特定します。
問題3.ドメイン名を使ってWebサイトへ接続するとき、IPアドレスは不要ですか。
解答を見る
DNSによってドメイン名をIPアドレスへ変換し、 取得したIPアドレスを使ってサーバーへ通信します。
問題4.すべてのサーバーにグローバルIPアドレスを直接設定する必要がありますか。
解答を見る
社内だけで利用するサーバーはプライベートIPで利用できます。 インターネット公開時も、NATやロードバランサーを経由する構成があります。
問題5.次の文章の空欄を埋めてください。
クライアントとサーバーが異なるネットワークにある場合、 クライアントはデータを「( A )」へ渡します。 サーバーが別ネットワークへ応答を返すためにも、 サーバー側の「( A )」設定が重要です。
解答を見る
異なるネットワークへ通信するときは、 ルーターであるデフォルトゲートウェイを経由します。
実践演習:接続できないWebサーバーを調べよう
社内PCからWebサーバーへ接続できないという問い合わせがありました。 構成と設定値から原因を考えてみましょう。
演習用ネットワーク
192.168.20.1
課題1.設定ミスを見つける
Webサーバーの設定には、1か所誤りがあります。 どこが間違っているでしょうか。
課題1の解答を見る
Webサーバーのデフォルトゲートウェイが間違っています。
Webサーバーは192.168.20.0/24のネットワークに所属しているため、
デフォルトゲートウェイには同じネットワークにある
192.168.20.1を設定します。
課題2.正しい設定値を書く
課題2の解答を見る
192.168.20.1
課題3.なぜ接続できなかったのか説明する
クライアントから送られた要求がWebサーバーまで届いたとしても、 サーバー側のデフォルトゲートウェイが間違っていると、 どのような問題が起きるでしょうか。
課題3の解答例を見る
Webサーバーは、別ネットワークにあるクライアントへ 応答を返すときの正しい転送先が分かりません。
その結果、クライアントからの要求を受信できたとしても、 応答がクライアントまで戻らず、Webページを表示できない可能性があります。
課題4.IPアドレス以外の確認項目を挙げる
デフォルトゲートウェイを修正しても接続できない場合、 次に確認したい項目を3つ以上挙げてください。
2.____________________
3.____________________
課題4の解答例を見る
- Webサーバーのサービスが起動しているか
- TCPポート80または443で待ち受けているか
- サーバー側ファイアウォールで拒否されていないか
- ルーターに正しい経路があるか
- クライアントからサーバーへpingが通るか
- DNSから正しいIPアドレスが返っているか
- IPアドレスがほかの機器と重複していないか
自分の言葉で説明する課題
最後に、次の質問へ自分の言葉で答えてください。
「WebサーバーにもIPアドレスが必要なのはなぜですか?」と質問されました。 ITを知らない人にも伝わるように、30秒程度で説明してください。
説明例を見る
サーバーにもIPアドレスが必要なのは、 パソコンやスマートフォンが通信相手のサーバーを見つけ、 データを正しい場所へ届けるためです。
IPアドレスが建物の住所、 ポート番号が建物内の受付窓口のような役割を持ちます。 ドメイン名でアクセスする場合も、 DNSでIPアドレスを調べてから通信しています。
模範解答と同じ文章である必要はありません。
「通信先のサーバーを識別する」 「データを届ける」 「応答を返す」 という内容を含めて説明できれば、この記事の目標は達成です。
まとめ
- サーバーにもIPアドレスが必要なのは、 クライアントが通信相手を識別してデータを届けるため
- IPパケットには送信元IPアドレスと宛先IPアドレスが含まれる
- IPアドレスは機器を、ポート番号はその機器上のサービスを識別する
- ドメイン名でアクセスする場合も、 DNSでIPアドレスへ変換してから通信する
- サーバーでは、接続先が変わらないように 固定IPやDHCP予約が使われることが多い
- 社内サーバーはプライベートIPだけでも利用できる
- インターネット公開サーバーでも、 NATやロードバランサーの内側では プライベートIPを使用する場合がある
- 異なるネットワークへ応答を返すには、 サーバー側のデフォルトゲートウェイ設定も重要
- 接続できない場合は、IP設定だけでなく、 ポート、サービス、ファイアウォール、DNS、経路を確認する
サーバーもネットワーク上の1台の通信機器です。 サービスを提供するためには、 クライアントから見つけてもらい、 要求と応答を正しくやり取りできるIPアドレスが必要です。
次は第4章のまとめテストに挑戦しよう
第4章では、DNS、DHCP、NAT・NAPT、HTTP・HTTPS、 有線LAN・無線LAN、サーバーのIPアドレスについて学びました。
まとめテストでは、それぞれのサービスを個別に暗記するだけでなく、 クライアントがWebサーバーへ接続する流れの中で どのように連携しているかを確認します。
初級編では、ネットワークの全体像からIPアドレス、DNS、TCP、 基本コマンド、障害切り分けまでを順番に学びます。

コメント