ネットワーク基礎3
■IPアドレス設定方法
ICANNから割り当てられたIPアドレスはMACアドレスとは違い、
製品に最初から紐付いているわけではありません。
ネットワーク管理者がホストに対して割り当てる必要があります。
割り当てには、DHCPサーバーと呼ばれるサーバーを利用して自動的に割り当てる方法と
コンピュータの設定機能を利用して割り当てる方法があります。
大規模なネットワークではLAN内部のIPアドレスの管理を行う必要がありますので、
DHCPサーバーによる自動割り当ての方法が採用されています。
IP割り当ての際にはサブネットマスクやデフォルトゲートウェイの設定も行います。
ホスト:
ホストはIPアドレスが割り当てられ、
通信が行える機器(主にコンピュータ)のこと
デフォルトゲートウェイ:
デフォルトゲートウェイとはLANなどのネットワークから
外へアクセスする場合の出入り口となる機器のこと
一般的にはルーターがデフォルトゲートウェイの役割を担っている
■DHCP(Dynamic Host Configuration Protocol)
DHCP(Dynamic Host Configuration Protocol)は
LANなどのネットワークに割り当て可能なIPアドレスを管理し、
コンピュータの要請に応じてIPアドレスを割り当てる役割を担っています。
DHCPの仕組みの説明の前に先にブロードキャストアドレスの説明をしたいと思います。
●ブロードキャストアドレス:
ブロードキャストアドレスとはIPアドレスのホスト部が全て1に
なっているアドレスのことをいいます。
このアドレスを使用することにより、同じネットワークの
コンピュータ全てに情報を送信することが可能になります。
●DHCPの仕組み
DHCPはクライアントがIPアドレスの取得要求をDHCPサーバーに対して行い、
DHCPサーバーが割り当てを行って、その結果をクライアントに返します。
●DHCPでのIPアドレス取得の流れ
①.クライアントがDHCP DISCOVERメッセージを送信する
クライアントがDHCPにIP割り当てを行ってもらうためには
まず、ブロードキャストでDHCP DISCOVERメッセージを送信します。
ブロードキャストで送信しているのはどのコンピュータが
DHCPサーバーか分からないからです。
②.DHCPサーバーがクライアントにDHCP OFFERメッセージを送信する
DISCOVERメッセージを受信したDHCPサーバーは
IPアドレスプールの中から使用されていないIPアドレスを選択し、
DHCP OFFERメッセージでクライアントに通知する
③.クライアントがDHCP REQUESTメッセージを送信する
OFFERメッセージで通知されたIPアドレスを確認して
問題がなければDHCPサーバーへDHCP REQUESTメッセージを
ブロードキャストで送信する
④.DHCPサーバーがクライアントにDHCP ACKメッセージを送信する
REQUESTメッセージを受信して問題がなければ
クライアントにDHCP ACKメッセージを送信し、
IPアドレス割り当てを完了する
■ARP(Address Resolution Protocol)
ARP(Address Resolution Protocol)とはIPアドレスから
MACアドレスを調べるためのプロトコルのことです。
最近はLAN環境での通信もIPアドレスを使用して送信先を決めますが
LAN環境内の通信はMACアドレスを使用してやり取りを行わなければいけません。
そのため、IPアドレスとMACアドレスの対応表が必要となります。
IPアドレスとMACアドレスの対応表を作成し、
その中から該当するMACアドレスを探すのがARPの役割になります。
プロトコル:
ネットワークにおけるプロトコルはデータや情報を
滞りなく送信できるように決められた約束事や手順のこと
●ARPテーブル
ARPテーブルとはLAN内のIPアドレスとMACアドレスの対応表のことです。
●ARPリクエスト
IPアドレスを使用してデータを送信する際は必ずARPテーブルを参照して
送信先のコンピュータのMACアドレスを特定します。
そしてARPテーブル内に該当するIPアドレスがなかった場合に
ブロードキャストアドレスを使用してネットワーク全体に問い合わせを行います。
この問い合わせのことをARPリクエストと呼びます。
ARPリクエストはARPパケットを使用して行い、問い合わせのIPアドレスが、
自分のIPアドレスと一致した場合のみ、MACアドレスを返します。
●ARPリクエストの流れ
①.ARPテーブルを参照し、該当するIPアドレスがあるか確認する
データを送信したい相手のIPアドレスが自身が持つ
ARPテーブル内に存在するかを確認します。
②.ARPテーブルにない場合、ブロードキャストでARPリクエストを行う
ARPテーブルに該当するIPアドレスがなかった場合は
ブロードキャストを使用してネットワーク環境内の
コンピュータ全てにARPリクエストを送信します。
③.ARPリクエストに対して応答するかどうか決める
ARPリクエストを受けたコンピュータは送られてきたIPアドレスと
自分のIPアドレスが一致しているかを確認します。
もし、一致していた場合は自分のMACアドレスを送り、
違っていたらARPリクエストを破棄します。
④.応答を受け取り、ARPテーブルに追加する
応答データを受け取ったら、IPアドレスとMACアドレスを
ARPテーブルに追加します。
■ポート番号
ポート番号はIPアドレスやMACアドレスと同じで通信先を特定するための識別子です。
受信したデータをどのアプリケーションで使用するのかを、指定する役割を持っています。
「インターネット中にメールを受信する」といったような
異なるデータを同時に送受信できるのはそれぞれに異なるポート番号が
パケットデータに記録されているからです。
パケットデータを受信するとコンピュータがポート番号を確認し、
その内容に応じたアプリケーションにデータを渡します。
送信の際もアプリケーションから渡されたデータに
送信元と送信先のポート番号が記録されています。
●ポート番号の種類
ポート番号はサービスによって決まった番号がつけられたウェルノウンポートと
自由に設定することを許されているエフェメラルポートの2種類があります。
ウェルノウンポートはメールやウェブの閲覧などの
ネットワークでよく使用するサービスに対して番号がつけられています。
エフェメラルポートはメールやウェブサーバーにデータを送信する際の
クライアント(ユーザー)の送信元ポート番号として使用されています。
エフェメラルポートは通信が終了したら解放されます。
以下はウェルノウンポートのリストになります。
■NAT(Network Address Translation:ナット)
NAT(Network Address Translation)はプライベートIPアドレスから
インターネットへ接続するために使用される仕組みのことです。
NATによるインターネットへのアクセスはグローバルIPアドレスを
取得しているネットワーク環境であることが前提ですので注意してください。
例えばグローバルIPアドレスが16個で30台のコンピュータがある場合は
インターネット接続が必要なコンピュータにだけグローバルIPアドレスが
割り当てられます。
割り当てにはNATテーブルと呼ばれるプライベートIPとグローバルIPの対応表があり、
これを使用してどのプライベートIPアドレスを持つコンピュータに対して
グローバルIPアドレスを割り当てたかか、わかるようになっています。
しかし、NATではグローバルIPアドレス以上のコンピュータによる同時接続はできません。
■NAPT(Network Address Port Translation:ナプト)
NAPTはインターネットを行うことが前提のネットワークにおいて
全てのコンピュータがインターネットに接続することが可能となる仕組みのことで
IPマスカレードとも呼ばれています。
NAPTを使用することでグローバルIPアドレス一つだけで全てのコンピュータが
インターネットに接続可能となります。
NAPTでは「プライベートIPアドレス + 送信元ポート番号」で
NAPTテーブルの管理を行います。
送信元ポート番号はエフェメラルポートが使用されますので、
NAPTテーブルの情報がかぶることなく管理できるようになり、
その結果としてグローバルIPアドレスが一つでも多くのコンピュータが
インターネットに接続することができるようになっています。