動的IPアドレスはルーターによって割り当てられ、変更される可能性がありますが、静的IPアドレスは手動で設定され、変更されることはありません。ほとんどの場合、動的IPアドレス指定で十分です。ただし、ホームネットワークにリモートでアクセスしたい場合は、静的IPアドレスが役立ちます。
動的IPアドレスは自動的に設定されますが、コンピューターを起動するたびに変わる可能性があります。静的IPアドレスは手動で設定する必要がありますが、再起動しても常に維持されます。どちらが優れているのでしょうか?
IPアドレスとは?
IPアドレスは、ネットワーク上の各デバイスを識別する数値ラベルです。ネットワークプロトコルは、各デバイスのアドレスを使用して、ネットワークトラフィックを配信します。最も一般的に使用されているネットワークプロトコルはTCP/IP(伝送制御プロトコル/インターネットプロトコル)です。これが、「IPアドレス」の「IP」の由来です。
各IPアドレスは一意である必要があります。2つのデバイスがネットワークを介して通信する場合、データは一方のデバイスから送信され、もう一方のデバイスで受信されます。進行中の双方向の「会話」では、2つのデバイス間で、通信が必要な限り、これが前後に繰り返されます。
データは、パケットと呼ばれる管理しやすいチャンクに分割され、一連の短い送信として送信されます。各パケットにはメタデータがラベル付けされています。メタデータには、パケットのサイズ、送信内のパケットの総数、およびシーケンス内のパケットの番号などの情報が含まれています。
これにより、データを受信したときに再構築でき、欠落したパケットを識別できます。
もちろん、各パケットには宛先デバイスのIPアドレスがラベル付けされている必要があります。そうすることで、ネットワークスイッチとルーターはパケットを送信する場所を知ることができます。送信デバイスのIPアドレスも含まれているため、受信デバイスは誰に返信するか、または欠落したパケットの再送信を要求するかを知ることができます。
IPバージョン4とIPバージョン6
使用されているIP規格は2つあります。1つは、より古く、はるかに一般的なIPバージョン4またはIPv4であり、もう1つは、より新しいIPバージョン6またはIPv6です。
IPv6は、世界がIPv4アドレスを使い果たしてしまうという問題を克服するために設計されました。接続デバイスの数が多くなるにつれて、使用可能なIPv4アドレスのプールは減少します。IPv6規格により、可能なアドレスの数が桁違いに増加します。
IPv4アドレスは32ビットを使用してアドレス全体を記述し、0から255までの4つの数字のそれぞれに8ビットを与えます。IPv4 IPアドレスは次のようになります。
192.168.1.24
IPv6アドレスは128ビットを使用してアドレスを記述し、0x0から0xFFFF(65535)までの8つの16進数にそれぞれ16ビットを割り当てます。完全なIPv6アドレスは次のようになります。
fe80:0e85:0000:0000:0000:12a4:04e0:ff33
IPv6アドレスは、先頭のゼロを削除して記述できます。
fe80:e85:0:0:0:12a4:4e0:ff33
1アドレスあたり、連続するゼロのシーケンスを1回省略できます。
fe80:e85::12a4:4e0:ff33
IPv4は依然として最も一般的に使用されている形式です。
内部IPアドレス
有線接続またはWi-Fiを使用しているかどうかに関係なく、ネットワーク化されたすべてのデバイスにはIPアドレスがあります。ネットワークトラフィックを正しい受信デバイスに誘導するために使用されるため、独自のネットワーク内で一意である必要があります。同じIPアドレスを持つ2つ(以上)のデバイスは、送信の失敗やパケットの損失という問題を引き起こします。
内部IPアドレスは、デバイスを識別し、ローカルネットワークでネットワークトラフィックをルーティングするために使用されます。インターネットなどの他の外部ネットワークのコンピューターからは見えません。
プライベートなローカルネットワーク上のコンピューターが、Webサーバーなどのリモートコンピューターに接続したい場合、その接続要求をローカルルーターに送信します。ルーターは、ローカルコンピューターに代わってインターネットを介して通信します。プライベートな内部IPアドレスを持つローカルコンピューターとリモートサーバー間の双方向通信を仲介します。
動的IPアドレスとは?
動的IPアドレスとは、ルーターによってデバイスに自動的に割り当てられるIPアドレスです。コンピューターやラップトップは、IPアドレスが組み込まれた状態で製造されていません。ネットワークに接続するときにIPアドレスを付与する必要があります。大規模なネットワークでは、これは面倒な作業です。ルーターなどのネットワークハードウェアの中には、デフォルトのIPアドレスが192.168.1.1であるため、一般的なプライベートネットワーク設定と一致しますが、ネットワークと一致しない場合は変更できます。
ただし、すべてのネットワークデバイスに組み込まれているのはMAC(メディアアクセス制御)アドレスです。MACアドレスは、世界的に一意です。
ネットワークルーターは、MACアドレスとIPアドレスのリストを保持しています。各パケットの宛先IPアドレスを検索し、MACアドレスを見つけて、そのハードウェアにパケットを送信します。
各デバイスにIPアドレスを手動で設定することを要求するのではなく、動的IPアドレス指定により、ネットワークデバイスにIPアドレスを割り当てるプロセスが自動的に管理されます。DHCP(動的ホスト構成プロトコル)により、この自動化が可能になります。
DHCP対応ネットワークでは、ネットワークに参加するデバイスがDHCPDISCOVER
シグナルをネットワークに送信します。DHCPサーバー(ホームネットワークでは通常、ルーター内)はDHCPOFFER
メッセージで応答します。これにより、デバイスが使用できるIPアドレスと、ネットワークに関するその他の情報が提供されます。
デバイスがそのIPアドレスを使用したい場合は、DHCPサーバーにDHCPREQUEST
シグナルを送信します。DHCPサーバーはDHCPACK
シグナルで応答し、デバイスが使用するIPアドレスとその他の設定を確認します。
動的IPアドレスは変更される可能性があります
このようにして、デバイスは自動的にIPアドレスと、ネットワークに接続して通信するために必要なすべての情報を取得します。ただし、IPアドレスはリースされます。永続的に割り当てられるわけではありません。デバイスがIPアドレスを保持したい場合は、定期的にリースの更新を要求する必要があります。リース期間は、DHCPOFFER
メッセージに含まれる情報の一部です。
通常、デバイスに同じIPアドレスが再割り当てされても問題はありません。しかし、デバイスの電源がオフになっており、リースの期限が切れる前にリース更新要求を行うことができない場合(ホームネットワークでは、リース期間は多くの場合12時間に設定されている)、そのIPアドレスは別のデバイスに割り当てることができます。以前にそのIPアドレスを使用していたデバイスは、再起動時に別のIPアドレスが与えられます。
-v
(詳細)オプションを指定してdhclient
コマンドを使用すると、LinuxコンピューターとDHCPサーバーの間の通信の一部を確認できます。
sudo dhclient -v
コンピューターがリッスンして送信しているMACアドレスが通知され、DHCPREQUEST
およびDHCPACK
メッセージを確認できます。
外部IPアドレス
インターネットに接続するネットワークには、ISP(インターネットサービスプロバイダー)によって割り当てられたIPアドレスがあり、外部IPアドレスと呼ばれます。これはネットワークがインターネットに表示するIPアドレスであるため、パブリックIPアドレスとも呼ばれます。
ルーターはプライベートネットワークとインターネットの間のブリッジとして機能するため、ネットワーク上のデバイスからアクセスできるように内部IPアドレスが必要であり、ISPの機器と通信できるように外部IPアドレスが必要です。すべてのインターネットトラフィックはこの外部IPアドレスを通過します。
内部IPアドレスは10、172、または192で始まる可能性があります。外部IPアドレスは(実質的に)他のすべての値を使用できます。
プライベートネットワークのDHCPリストの機能と大まかに似て、インターネットのDNS(ドメインネームサービス)は、ドメイン名とURLをIPアドレスに変換し、インターネットトラフィックを正しい(外部)IPアドレスに誘導します。
静的IPアドレスとは?
静的IPアドレスとは、DHCPなどのツールによって変更されない、変更されないIPアドレスです。静的IPアドレス指定を使用するデバイスは、再起動の頻度やオフラインの期間に関係なく、IPアドレスを保持します。
静的IPアドレス指定と動的IPアドレス指定
DHCPを使用してIPアドレスを自動的に割り当てることは明らかに便利です。DHCPの欠点は、IPアドレスをリースすることです。コンピューター(またはその他のネットワークデバイス)がオフラインになった後に再起動した場合、同じIPアドレスを取得できるとは保証できません。
ほとんどの場合、それは問題になりません。デバイスがネットワークに接続されて動作しており、インターネットにアクセスできる限り、通常はそれで十分です。しかし、コンピューター間で通信する必要があるアプリケーションや、固定された静的IPアドレスで最適に機能するNAS(ネットワーク接続ストレージ)やメディアセンターなどのデバイスがある場合があります。
ネットワークでDHCPと静的IPアドレス指定を混在させることは完全に許容され、非常に一般的です。DHCPは、IPアドレスの大部分のデバイスへの割り当てを簡素化するために使用され、静的IPアドレス指定は特殊な場合に使用されます。
内部静的IPアドレスを設定する方法
Ubuntuで静的IPアドレスを設定するのはかなり簡単です。最初のステップは、他のデバイスがすでに使用していないIPアドレスを選択して構成していることを確認することです。ping
コマンドを使用して確認できます。
IPアドレスを選択したら、ncmli con add
コマンドを使用して接続を追加し、nmcli con mod
コマンドを使用して静的IPアドレス指定に設定できます。プロセスを説明する詳細なステップバイステップチュートリアルを用意しました。コマンドラインを避けたい場合は、GUIメソッドも扱っています。
Windows 10および11コンピューターでも静的IPアドレスを使用できます。もちろん、それについてもガイダンスを用意しています。
Dockerなどのコンテナを使用している場合は、コンテナ化されたコンピューターに静的IPアドレスを割り当てることができます。
外部静的IPアドレスを取得する方法
静的外部IPアドレスがない場合、ルーターの外部IPアドレスは再起動すると変更される可能性があります。ほとんどの場合、これは実際には問題ではありません。しかし、外出先でアクセスする必要があるセルフホストサービスがある場合は、外部静的IPアドレスが必要です。
外部IPアドレスはISPによって提供されており、設定を変更できるのはISPだけです。わずかな追加料金で、ISPは外部静的IPアドレスを割り当てることができるはずです。
外部静的IPアドレスを使用すると、ルーターと背後にあるプライベートネットワークにリモートでアクセスできます。これは、外部IPアドレスを常に把握しているためです。ドメイン名は記憶しやすく、他の人と共有できます。ドメイン名を購入して、外部静的IPアドレスを指すようにすることができます。
同じ効果を得る別の方法は、DDNS(動的ドメインネームシステム)ルーティングを使用することです。この設定では、ルーターが起動するたびに、または新しい外部IPアドレスを取得するたびに、DDNSプロバイダーに連絡するようにルーターを設定します。
DDNSプロバイダーは、ドメインのドメイン名エントリを更新して、新しい外部IPアドレスを指すようにします。ドメイン名に届くすべての接続要求は、現在の外部IPアドレスにルーティングされます。
通常、動的IPアドレスで十分
特殊なケースがない限り、動的内部IPアドレスと動的外部IPアドレスだけで十分です。デバイスに一意のアドレスがあり(DHCPがそれを管理します)、心配することはありません。
ローカルネットワーク上のコンピューターやその他のデバイスが常に同じIPアドレスを持つ必要がある場合は、内部静的IPアドレスで構成します。
ネットワークにリモートでアクセスする必要がある場合は、ISPに外部静的IPアドレスの料金を支払うか、DDNSサービスを使用します。
コメントする