ソフトウェア

IPアドレスとは

通信機器に割り当てられるIPアドレスやサブネットマスクについて解説します。

MACアドレスとは

MACアドレス(Media Access Control address)とはネットワークにつながるすべての機器に割り当てられている識別番号です。
下図のとおり「ベンダ識別子」「ベンダ内管理番号」からなり、0~Fの16進数で表されます。このアドレスは世界で唯一の番号です。

MACアドレスとは

IPアドレスとは

IPアドレスとは

IPアドレス(Internet Protocol Address)もコンピュータが通信相手を特定するという意味において、MACアドレスと同じ役割です。ただし、MACアドレスが、モデムなどに固定的に割りあてられるのに対して、IPアドレスは人間やコンピュータが割り当てます。

IPアドレスは、人間にわかりやすいように10進数の4つの数字で表されます。範囲は、「0.0.0.0~255.255.255.255」までです。下図のようにコンピュータ通信上は2進数で扱います。

IPアドレスとMACアドレスの違い

IPアドレスとMACアドレスの違い

コンピュータによるインターネット通信は、さまざまなプロトコルからなっており、MACアドレスはもっとも基礎的な第1層です。IPアドレスはコンピュータのOSや機器のファームウェアで設定される第2層にあたります。

実際の通信は、第1層のモデムなどの通信媒体を介して行われます。そのためにMACアドレスが設定されており、さらにIPアドレスを設定する必要があるわけです。

IPアドレスとサブネットマスク

一般にIPアドレスは規模に応じて、以下のIPアドレスが使われます。
クラスA :10.0.0.0 ~ 10.255.255.255
クラスB :172.16.0.0 ~ 172.31.255.255
クラスC :192.168.0.0 ~ 192.168.255.255

たとえば、コンピュータに以下のIPアドレスの設定をします。サブネットマスクは、文字通りマスクの役割をするのです。10進数の「255」は16進数で「FF」、2進数で「11111111」になります。

これで、このコンピュータは192.168.2.0(0はネットワークを表します)に属するコンピュータである。IPアドレスは192.168.2.1のコンピュータであるという設定になるのです。


同じLAN(イーサネット)の中では違うネットワークアドレスをもつ、コンピュータは通信ができず、192.168.2.0のネットワークに設定する必要があります。

【参考】TCP/IP通信における「ポート番号」とは

TCP/IP通信における「ポート番号」とは

MACアドレスやIPアドレスは原則として、通信をするモデムなどに1つずつ割り当てられています。しかし、コンピュータの中ではさまざまなアプリケーションが動作しており、通信はアプリケーションごとに行われます。

TCP/IP通信における「ポート番号」とは、どのアプリケーションと通信するのかを明示的に区別していると考えてください。

下図はWebサーバとメールサーバの通信の一例です。

WebページにクライアントからブラウザでWebサーバ(192.168.10.1)にアクセスします。この時、ブラウザは明示していませんが、ポート番号80を指定しているのです。この例では、サーバからの返信はクライアント(192.168.10.2)のポート番号4839に返信をしています。

さらに同じサーバにブラウザでアクセスすると、同じようにポート番号80で通信して、返信は同じクライアントのポート番号4899に返信されます。ブラウザを2つ起動して、同じサーバにアクセスしても通信が成立するには、アプリケーションごとに管理されているポート番号が必要なのです。

よく知られているポート番号には以下のものがあります。

ポート番号
ポート番号の範囲は0~65535です。それらは以下のように区分されています。

範囲名称用途
0~1023ウェルノウンボードインターネット標準として管理されているポートでありサーバプログラムが待ち受けポートとして利用する
1024~49151登録済みポートユーザーが実行するサーバプログラムが待ち受けポートとして利用する
49152~65535動的/非公式ポートクライアント側の送信元ポートや非公式のサーバプログラムの待ち受けポートとして利用する

とくにポート番号0~1023はインターネットの標準として割り当てられています。

上の図のサーバにクライアントがアクセスする場合は、ブラウザに以下のURLを入力してアクセスします。
「https://192.168.10.1」

もし、この時、Webサーバのポート番号が1234に設定されていたら、このように入力する必要があります。
「https://192.168.10.1:1234/」
このようにサーバのアドレスの後ろに「:ポート番号」を追加する必要があります。

逆にいうと、ポート80番の時は、標準的なポートを使うので省略できるというわけです。

【参考】Windows 10におけるIPアドレスの設定とファイヤーウォールの設定

BlueROV2水中ドローンの設定を例に説明します。

BlueROV2水中ドローンの設定

① ドローンが192.168.2.2のIPアドレスなので、制御PCは192.168.2.1のIPアドレスに設定します。(同じネットワーク192.168.2.0のネットワークにする必要があるため)

② 制御PCのファイヤーウォールの設定をする。
通常、パソコンはセキュリティ対策で使わないポートを閉じたり、通信を制限したりしています。そのため水中ドローンの制御プログラムがファイヤーウォールを通過できるように設定します。

下図のとおり、「Open source ground control app provided by QGroundControl dev team」または「QGroundControl」の「Private」「Public」の両方を許可します。

③ 制御用PCから水中ドローンにブラウザで通信する方法

この水中ドローンは、IPアドレス 192.168.2.2にポート番号2770でアクセスする仕様になっています。同様に「/network」で水中ドローンのWi-Fi設定。「/system」で水中ドローンのソフトウェアの確認・アップデートができます。

水中ドローンのネットワーク設定の時、制御用PCのブラウザURLは以下を入力
「192.168.2.2:2770/network」(https://は省略できます)

水中ドローンのソフトウェア確認・アップデートの時、制御用PCのブラウザURLは以下を入力
「192.168.2.2:2770/system」(https://は省略できます)

コメント

この記事へのコメントはありません。

TOP