IPアドレスを十進数から二進数に変換する方法や変換ツールを紹介
IPアドレスには、グローバルIPアドレスやローカルIPアドレス、固定IPアドレス、動的IPアドレスなどさまざまな仕組みがあります。
IPアドレスは255までの整数4つを組み合わせてできていますが、コンピューターは32ビットのデータとして取り扱います。
そのとき、十進数から二進数への変換が必要です。
今回の記事では、IPアドレスと二進数の関係や、十進数から二進数への変換方法について解説、さらに相互に変換するツールも紹介します。
IPアドレスとは?
IPアドレスと二進数、十進数について解説する前に、まずはIPアドレスについての基礎知識をおさらいしておきましょう。
IPアドレスとは、スマートフォンやパソコンなどのデバイスに割り当てられる住所のようなものです。
インターネットでは、ウェブページを閲覧したり、メールを送受信したりするときにデバイスを識別する必要があり、この識別に使われるのがIPアドレスです。
IPアドレスにはIPv4とIPv6があります。
IPv4は255までの整数4つを組み合わせた、32ビットのデータです。
IPv4は約43億個しかなく、インターネットが普及した現在では枯渇が問題化しています。
そこで、128ビットのデータを持つIPv6への移行が進められています。IPv6は2の128乗である約340澗(かん)個のIPアドレスを用意できます。
1澗は0が36個並ぶ数字で、340澗は340兆を1兆倍したものです。
IPv6には「セキュリティの向上」「接続が簡単になる」「デバイス間で直接データの送受信が可能になる」などのメリットがあります。
IPアドレスの種類
IPアドレスには、グローバルIPアドレスとローカルIPアドレスという2つの種類があります。
IPアドレスについて理解を深めるため、それぞれの特徴や仕組みについて解説します。
グローバルIPアドレス
グローバルIPアドレスは、インターネットに接続するためのIPアドレスです。
グローバルIPアドレスは、パブリックIPアドレスとも呼ばれています。
インターネットに接続しているデバイスは、必ずグローバルIPアドレスが割り当てられています。
グローバルIPアドレスは、データの送受信を世界中で行うために重複なく割り当てられることが必要です。
割り当てを行っている団体はICANNで、ICANNから日本に割り当てられたグローバルIPアドレスは、JPNICが管理します。
JPNICからISPやインターネット事業者にグローバルIPアドレスが割り当てられ、ISPから各家庭やオフィスにグローバルIPアドレスが貸し出されます。
このようにして、重複なくグローバルIPアドレスが割り当てられているのです。
自分に割り当てられているグローバルIPアドレスは簡単に調べられます。
グローバルIPアドレスを調べるには、以下のサービスを利用してください。
ローカルIPアドレス
ローカルIPアドレスは、プライベートIPアドレスとも呼ばれます。
ローカルエリアネットワーク内で使われるIPアドレスが、ローカルIPアドレスです。
ローカルIPアドレスは、使用できる範囲であればローカルエリアネットワーク内で自由に設定できます。
ただし、ローカルエリアネットワーク内で重複しないように設定することが必要です。
通常はDHCPという仕組みによって自動的に割り当てられています。
サーバーやP2Pを運用するのでなければ、ローカルIPアドレスは自動で割り当てられるようにしておくのがおすすめです。
もし、サーバーやP2Pを利用するのであれば、ローカルIPアドレスを設定する以外に、ルーターにも設定が必要となります。
ローカルIPアドレスではインターネットに接続できません。
そのため、ローカルIPアドレスをグローバルIPアドレスに変換するNATやNAPTといった仕組みが必要となります。
NATやNAPTといった仕組みを備えているのがルーターです。
IPアドレスの割り当てられ方
IPアドレスには、ローカルIPアドレスとグローバルIPアドレスの2種類がありますが、それ以外にも、割り当てられ方によってIPアドレスの種類を分類することが可能です。
固定的に割り当てられているIPアドレスは固定IPアドレス、動的に割り当てられているIPアドレスを動的IPアドレスと呼びます。
それぞれのIPアドレスの特徴や仕組みについて解説します。
固定IPアドレス
固定IPアドレスは静的IPアドレスとも呼ばれ、ISP(インターネットサービスプロバイダ)からは固定されたグローバルIPアドレスが割り当てられます。
通常はルーターを再起動するとグローバルIPアドレスが変わってしまいますが、固定IPアドレスは変わらないままです。
固定IPアドレスの取得には通常、ISPに追加料金を支払う必要があります。
また、ISPによっては扱っていないこともあるので、取得したい場合は事前に確認しましょう。
固定IPアドレスはサーバーやP2Pを運用するのに必要で、例えばウェブサーバーを構築して外部からアクセスしようとしても、ウェブサーバーのグローバルIPアドレスが変わってしまうと閲覧ができません。
そのために、ウェブサーバーでは固定IPアドレスが必要となります。
固定IPアドレスはウェブサーバー以外にも、ファイルサーバーやP2P、VPNなどで利用できます。
動的IPアドレス
動的IPアドレスは可変IPアドレスとも呼ばれます。
動的IPアドレスは、常にIPアドレスが変わります。
IPアドレスが変化するタイミングは、デバイスやルーターを再起動したときで、そのほかにもデバイスを使用している最中でも切り替わることもあります。
例えば、ローカルIPアドレスは動的IPアドレスで、DHCPによって自動的に割り当てられており、デバイスの再起動で割り当てられるローカルIPアドレスが変化します。
動的IPアドレスはウェブサーバーやファイルサーバー、P2P、VPNなどの運用には向きません。
しかし、インターネットに接続してウェブページを閲覧したり、メールを送受信したりすることは可能です。
通常、固定IPアドレスをオプションで取得していないなら、ISPから割り当てられているのは動的IPアドレスとなります。
IPアドレスの表記の仕方
IPv4のIPアドレスは、32ビットのデータからできています。
コンピューターはIPアドレスを32桁の二進数で扱っています。
32桁の二進数とは「11001011000000000111000100000000」のような形式です。
しかし、このままでは人間に扱いにくいので、IPアドレスの記述は十進数に直されます。
十進数になおすとIPアドレスの表記は「204.0.113.0」などのような形式になります。
IPアドレスは255までの整数4つを組み合わせたものです。
これは、32桁のIPアドレスを8桁ずつ4つに区切り、二進数から十進数に変換したもので、この記法を「ドットアドレス」や「ドット・デシマル・ノーテーション」と呼びます。
十進数表記にすることで人間に扱いやすくなるのです。
IPアドレスと二進数・十進数の関係
IPアドレスと二進数・十進数の関係について解説します。
十進数とは?
十進数は英語で「decimal number(デシマル・ナンバー)」と書きます。
十進数は数を書き表す記数法の1つで、基数を10とした表記法のことです。
人が普段もっとも一般的に利用している記数法で、通常はアラビア数字の0~9を用いて表現します。
人間が十進数を一般的に使うようになったのは、人間の指が両手合わせて10本であることが理由です。
十進数では桁が1つ左に移動するごとに値が10倍になり、逆に、右に移動すると10分の1になります。
どのような基数の表記でも、右から2桁目が1となり右端が0の値はすべて「10」となります。
そして、それらは二進数の場合は2、八進数の場合は8、十六進数の場合は16です。
そのため、基数が10であることを示すために「10進数」と表記するのは不適切と考えられており、漢字表記の「十進数」が用いられています。
二進数とは?
二進数は数を表す記数法の一種で、基数を2とした表記法のことです。
通常、アラビア文字の0と1を用いてすべての数を表現します。
二進数で表現されたデータは「binary(バイナリ)」と呼ばれます。
二進数では桁が1つ左に移動するごとに値が2倍になり、逆に右に移動すると値は2分の1になります。
例えば、二進数の「1101」は十進数では 1×8+1×4+0×2+1×1となり13になります。
二進数は2つの数字の組み合わせですべての数が表現できるため、スイッチのオンオフや電圧の高低、電荷の有無といった物理状態と対応させやすいのが特徴です。
そのため、機械による情報伝達や記憶、演算などを容易に取り扱えます。
現代のコンピューターは原則として、すべての数字を二進数に置き換えて処理を行っています。
十進数を二進数に変換する方法
十進数を二進数に変換するなら、「0になるまで2で割り、あまりを並べる」という方法があります。
たとえば、52を二進数に変換してみましょう。
52÷2=26 あまり0
26÷2=13 あまり0
13÷2=6 あまり1
6÷2=3 あまり0
3÷2=1 あまり1
1÷2=0 あまり1
このあまりを下側から並べて「110100」が52を表す二進数となります。
たとえば、60の二進数への変換は以下の通りです。
60÷2=30 あまり0
30÷2=15 あまり0
15÷2=7 あまり1
7÷2=3 あまり1
3÷2=1 あまり1
1÷2=0 あまり1
「111100」が60を表す二進数となります。
二進数を十進数に変換する方法
十進数は10の累乗ごとに桁が上がっていきます。
1桁目は1が何個あるか、2桁目は10が何個あるかを示しています。
たとえば、「1234」という十進数は、1000×1+100×2+10×3+1×4です。
二進数を十進数になおすときも、基本的な考え方は上記と同様です。
ただし、二進数のそれぞれの位には0と1しか入りません。
結果的に、それぞれの桁を表す数のうち「1」が入っているものだけを足し合わせた数になります。
「110100」を十進数になおす場合、以下の通りに計算します。
32×1+16×1+8×0+4×1+2×0+1×0=52
「111100」で計算する式は以下の通りです。
32×1+16×1+8×1+4×1+2×0+1×0=60
コンピューターが二進数を使う理由
昨今、コンピューターはさまざまな製品に使われています。
パソコンやスマートフォンだけでなくIoTの冷蔵庫や炊飯器、レジ、切符売り場、改札、自動車などさまざまなシーンで利用されています。
コンピューターが二進数を使う理由は、数字を表現するのに好都合だからです。
コンピューターは回路の電圧で数字を記憶します。
昔のコンピューターは正確ではなかったため、回路の電圧がずれることがありました。
たとえば、0.1Vを1、0.2Vを2として十進法にしてしまうとずれが生じたのです。
そこで、「電圧がかかっていれば1、電圧がかかっていなければ2」という仕組みが採用されました。
これなら、正確な電圧は必要ありません。
1つの回路が記憶できるのは0か1だけとなり、二進数が使われるようになったのです。
十進数を二進数に変換するツール
十進法と二進数をそれぞれ、自分で計算する方法を解説してきましたが、以下に紹介するツールを使えば簡単にそれぞれ変換できます。
hogehoge.tk
hogehoge.tkは、便利なウェブアプリやツールを多くリリースしています。
「IPアドレス・サブネットマスク計算ツール」「テキスト操作ツール」「疑似個人情報生成サービス」などのツールが使えるウェブサービスで、二進数、八進数、十進数、十六進数を相互変換できるツールも提供しています。
簡単に変換できるため、自分で計算するより手軽です。
CMAN
CMANはさまざまなウェブアプリやツールを提供しています。
「サブネットマスク計算」「転送時間速度計算」「通信速度変換」など便利なツールが無料で使えます。
CMANでは二進数、八進数、十進数、十六進数を相互に変換するツールを提供。
また、変換方法についての解説も掲載しています。
instant tools
instant toolsは二進数、八進数、十進数、十六進数、三十二進数を簡単に相互変換できます。
加えて、自分で入力した記数法に変換することも可能。
たとえば、十二進数といった記数法に変換することもできます。
まとめ
今回は、IPアドレスと二進数、十進数の変換方法について解説しました。
二進数はコンピュータの原理を構成する記法ですが、日常でパソコンやインターネットを使う分には触れる機会はなく、エンジニアリングやプログラミングにおいても、かなり高いレベルでなければ必要になることはありません。
とはいえ、コンピュータの仕組みを理解する上では有益なので、それぞれの仕組みを理解し知識を深めておきましょう。
合わせて読みたい
【完全ガイド】誰でも10分!WordPressブログの始め方
独自ドメインを取得するなら「お名前.com」
「お名前.com」は、国内No.1のドメイン登録サービス。独自ドメインと合わせて、WordPressの自動インストールに対応したレンタルサーバーも利用できます。
WordPressや独自ドメインを一度も使ったことのない人でも、スムーズに始められるはず。
独自ドメインを取得しようと考えている方は、まずは気軽に無料で好きなドメイン名を検索してみましょう。
まずは検索!ドメインは早い者勝ち