ネットワーク基礎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に
	なっているアドレスのことをいいます。
	このアドレスを使用することにより、同じネットワークの
	コンピュータ全てに情報を送信することが可能になります。

	network_0014

●DHCPの仕組み
	DHCPはクライアントがIPアドレスの取得要求をDHCPサーバーに対して行い、
	DHCPサーバーが割り当てを行って、その結果をクライアントに返します。

	network_0015

●DHCPでのIPアドレス取得の流れ
	①.クライアントがDHCP DISCOVERメッセージを送信する
		クライアントがDHCPにIP割り当てを行ってもらうためには
		まず、ブロードキャストでDHCP DISCOVERメッセージを送信します。
		ブロードキャストで送信しているのはどのコンピュータが
		DHCPサーバーか分からないからです。
		
		network_0016

	②.DHCPサーバーがクライアントにDHCP OFFERメッセージを送信する
		DISCOVERメッセージを受信したDHCPサーバーは
		IPアドレスプールの中から使用されていないIPアドレスを選択し、
		DHCP OFFERメッセージでクライアントに通知する
		
		network_0017

	③.クライアントがDHCP REQUESTメッセージを送信する
		OFFERメッセージで通知されたIPアドレスを確認して
		問題がなければDHCPサーバーへDHCP REQUESTメッセージを
		ブロードキャストで送信する
		
		network_0018

	④.DHCPサーバーがクライアントにDHCP ACKメッセージを送信する
		REQUESTメッセージを受信して問題がなければ
		クライアントにDHCP ACKメッセージを送信し、
		IPアドレス割り当てを完了する
		
		network_0019

■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アドレスの対応表のことです。
	
	network_0020

●ARPリクエスト
	IPアドレスを使用してデータを送信する際は必ずARPテーブルを参照して
	送信先のコンピュータのMACアドレスを特定します。
	そしてARPテーブル内に該当するIPアドレスがなかった場合に
	ブロードキャストアドレスを使用してネットワーク全体に問い合わせを行います。
	この問い合わせのことをARPリクエストと呼びます。
	ARPリクエストはARPパケットを使用して行い、問い合わせのIPアドレスが、
	自分のIPアドレスと一致した場合のみ、MACアドレスを返します。

●ARPリクエストの流れ
	①.ARPテーブルを参照し、該当するIPアドレスがあるか確認する
		データを送信したい相手のIPアドレスが自身が持つ
		ARPテーブル内に存在するかを確認します。
	
		network_0021

	②.ARPテーブルにない場合、ブロードキャストでARPリクエストを行う
		ARPテーブルに該当するIPアドレスがなかった場合は
		ブロードキャストを使用してネットワーク環境内の
		コンピュータ全てにARPリクエストを送信します。
	
		network_0022

	③.ARPリクエストに対して応答するかどうか決める
		ARPリクエストを受けたコンピュータは送られてきたIPアドレスと
		自分のIPアドレスが一致しているかを確認します。
		もし、一致していた場合は自分のMACアドレスを送り、
		違っていたらARPリクエストを破棄します。
	
		network_0023

	④.応答を受け取り、ARPテーブルに追加する
		応答データを受け取ったら、IPアドレスとMACアドレスを
		ARPテーブルに追加します。
	
		network_0024

■ポート番号

ポート番号はIPアドレスやMACアドレスと同じで通信先を特定するための識別子です。
受信したデータをどのアプリケーションで使用するのかを、指定する役割を持っています。
「インターネット中にメールを受信する」といったような
異なるデータを同時に送受信できるのはそれぞれに異なるポート番号が
パケットデータに記録されているからです。
パケットデータを受信するとコンピュータがポート番号を確認し、
その内容に応じたアプリケーションにデータを渡します。
送信の際もアプリケーションから渡されたデータに
送信元と送信先のポート番号が記録されています。
	
network_0025
		
●ポート番号の種類
	ポート番号はサービスによって決まった番号がつけられたウェルノウンポートと
	自由に設定することを許されているエフェメラルポートの2種類があります。
	ウェルノウンポートはメールやウェブの閲覧などの
	ネットワークでよく使用するサービスに対して番号がつけられています。
	エフェメラルポートはメールやウェブサーバーにデータを送信する際の
	クライアント(ユーザー)の送信元ポート番号として使用されています。
	エフェメラルポートは通信が終了したら解放されます。
	以下はウェルノウンポートのリストになります。
		
	network_0026

■NAT(Network Address Translation:ナット)

NAT(Network Address Translation)はプライベートIPアドレスから
インターネットへ接続するために使用される仕組みのことです。
NATによるインターネットへのアクセスはグローバルIPアドレスを
取得しているネットワーク環境であることが前提ですので注意してください。
例えばグローバルIPアドレスが16個で30台のコンピュータがある場合は
インターネット接続が必要なコンピュータにだけグローバルIPアドレスが
割り当てられます。
割り当てにはNATテーブルと呼ばれるプライベートIPとグローバルIPの対応表があり、
これを使用してどのプライベートIPアドレスを持つコンピュータに対して
グローバルIPアドレスを割り当てたかか、わかるようになっています。
しかし、NATではグローバルIPアドレス以上のコンピュータによる同時接続はできません。

network_0027

■NAPT(Network Address Port Translation:ナプト)

NAPTはインターネットを行うことが前提のネットワークにおいて
全てのコンピュータがインターネットに接続することが可能となる仕組みのことで
IPマスカレードとも呼ばれています。
NAPTを使用することでグローバルIPアドレス一つだけで全てのコンピュータが
インターネットに接続可能となります。
NAPTでは「プライベートIPアドレス + 送信元ポート番号」で
NAPTテーブルの管理を行います。
送信元ポート番号はエフェメラルポートが使用されますので、
NAPTテーブルの情報がかぶることなく管理できるようになり、
その結果としてグローバルIPアドレスが一つでも多くのコンピュータが
インターネットに接続することができるようになっています。
	
network_0028