「ネットワークの仕組みの基礎知識」OSI参照モデル、IPアドレスとは何か

ネットワークのイメージ

通信プロトコル。通信における取り決め

 コンピューターが、他のコンピューターと通信する場合、それぞれが利用する言語や、処理のパターンなど、様々な規則を定義し、合わせなければ、上手くいかない。
一方がアルファベットと解釈してても、一方が数字と解釈してたら、通信のやりとりは成り立たない。
1ビット「ビットとは何か」情報量の原子は本質的にも原子であるのか  そのような、通信を行うための様々な一連の取り決めを『通信プロトコル』と言う。

OSI参照モデル。理想的な通信の流れ

 コンピューターが通信する上で必要となる機能を、7つの階層に分け、そのそれぞれの階層に、個々の役割を定義したモデルを、『OSI参照モデル』と言う。
このモデルにおいて、ひとつの階層から、別の階層にアクセスするのに、必ずそのひとつ上位、またはひとつ下位の階層に対してしか、できない、という制約を設けることで、通信はより体系的に説明、実装される。

 第一階層(物理層)
 『通信ケーブル』や『コネクタ(接続器機)』などの材質や形状。
利用される電気量や特性。
電気回路「電気回路、電子回路、半導体の基礎知識」電子機器の脈

 第二階層(データリンク層)
 第三階層(ネットワーク)から渡されたパケット(ある程度ひとかたまりにされたデータ)を、物理層で扱う2進法データ(電気信号で表せれるビット列)に変換する階層。
コンピュータの操作「コンピューターの構成の基礎知識」1と0の極限を目指す機械  『イーサネット』方式、『光ファイバー』方式などがある。

 第三階層(ネットワーク層)
 通信の最小単位とされるパケットを、送信する階層。
 『IP』方式など。

 第四階層(トランスポート層)
 通信相手のコンピューターと、実際に通信する方法を定める階層。
ネットワーク層で分割されたパケットが、全て届いているかの受信確認、それにエラーが発生した際の再送手順などの仕組み。
 『TCP』や『UDP』方式。

 第五階層(セッション層)。
アプリケーションによって、通信が開始されてから終了するまでの接続手順の階層。
 メール受信プロトコル(POP3)、メール送信プロトコル(SMTP)、httpプロトコルなど。
レンダリング中「ブラウザの仕組み」レンダリングはいかにして行われるか?

 第六階層(プレゼンテーション層)
 文字コードの変換や、圧縮形式など、固有のデータ形式を、ネットワーク共通のものに変換する階層。

 第七階層(アプリケーション層)
 『Webブラウザ』や、『メールソフト』など、通信アプリケーション自体が動作する階層。

 OSI参照モデルはあくまでも、理想化された通信手順であり、 必ずその通りにしなければならないということはない。
例えば、インターネットにおいて、『セッション(通信開始から終了までの接続手順)』の管理や、文字コード変換などを、 アプリケーション自体が行うのは普通であり、その場合、第五。第六、第七階層は全てアプリケーション層とまとめられる。

 また、ネットワークにIP方式、トランスポートにTCP方式を利用した通信モデルを、特に「TCP/IP」と言う。
基本的にインターネットはTCP/IPである。
共有システム「ファイル共有ソフト」仕組みと利点。P2Pソフトとは何か。

なるべくわかりやすくシンプルな、OSI参照モデルの通信の流れの例

 あるコンピューターから、あるコンピューターにデータを送信する場合。
データの流れは、7(送信側の通信ソフト)→〜→1(ケーブルや電波)→〜→7(受信側の通信ソフト)というようなものになる。
電波「電波とは何か」電磁波との違い。なぜ波長が長く、周波数が低いか  まず、通信により送信したいデータを、通信アプリケーション(第七階層)に設定する。
基本的に通信アプリケーションでは、データそのものや、送り先などの情報を設定する。
 通信アプリケーションは、そのデータや送り先などの情報を元に、通信方法含め、データの送信を、セッション層(第五階層)に依頼。

 実際に、データを通信する際には、普通、一度に送信できるデータサイズに制約がある。
そこで一定以上の大きさのデータは、パケットと呼ばれる小データ量に分割される。
 データ分割はトランスポート層(第四階層)で行われ、ネットワーク層(第三階層)で、やりとりされるのは、そのような分割されたパケットである事が基本。
パケットは、本来ひとつである事を示すために、タグと呼ばれる目印データが付加される。

 ネットワーク層では、送信先のインターフェイス(コンピューター自体がその周辺機器)情報に合わせ、パケットが合わせられるように調整した後に、それらのデータをデータリンク層(第二階層)に引き渡す。

 物理層(第一階層)を流れ抜けて、また、データリンク層を介し、ネットワーク層、トランスポート層ときた段階で、パケットはバッファ(データの一時保存領域)を利用して、貯められる。
基本的には、そうしてすべてのパケットが揃った段階で、元の一つの データを再形成する。
 しかし、一定時間が経過しても、パケットが揃わない場合は、送信側に再送信を依頼したり、通信エラーとして処理したりする。

 パケットを元のひとつのデータにしたトランスポート層は、送信先のアプリケーション層が、そのデータを受信可能かどうかを確認する。
そして、可能ならば、そのままデータを引き渡し、通信は完了となる。
しかし、この時にアプリケーション層が、受信不可の状態であるならば、そのままデータは破棄される。

TCP/IPプロトコルとIPアドレス

TCP、UDPの違い

 TCP/IP方式(プロトコル)と言っても、通信方法として、 TCPでなくUDPが用いられる場合がある。
 一般に、TCPはコネクション型と呼ばれていて、UDPはコネクションレス型と呼ばれている。
 TCPは、相手に確実にデータを送りたい時に使われる方式。
UDPは、確実性が要求されないような通信や、1回の送信手続きでいいような、簡易的な通信でよく使われる。

 TCPは、上位階層から、通信するデータを受け取った後、送信先にそれを送る訳だが、その際に、送信先からの応答を待って、通信できる状態だと判断してから、上位階層にも、通信準備が整ったことを伝える。
 確認応答は、パケットひとつひとつに対して行われるから、送信したはずのパケットが失われてしまった場合に、すぐ再送信要求が出来る。

 UDPは、データ送信するだけの通信。
応答による確認を行わないから、 送信先コンピューターがデータを受けれないような(例えば電源Offの)状態であろうと、とりあえず送信して、それで終わり。
 UDPは確実性に欠けるが、 それでもTCPと比べて、はるかに早く パケットデータを送信出来るというメリットがある。
 オフラインからオンラインに切り替わったことを、大量のコンピューターに対して、通知したりするのに便利とされる。

IPアドレス。エイリアス名。IPv4。IPv6

 TCP/IPのネットワークでは、ネットワーク接続されているコンピューターや。通信機器を特定するために、個々にIPアドレスと呼ばれる識別番号が割り当てられる。

 IPアドレスは当然のごとく、ニ進数で表現されるので、0と1の組み合わせだが、そのままだと見づらいので、表記される場合は、十進数に変換されることがよくある。
計算上、4294967296個のIPアドレスを扱える32ビットなら、8ビットずつに分割する事で、個々のフィールドを0〜255で表現できる。
普通は、各フィールドは「.」で区切られる。

 むしろ十進数に飽き足らず、IPアドレスの数値の記録、管理は完璧にコンピューターに任せ、扱える表示名として、個々の機器に、人が識別しやすい別名を設定する場合もある。
例えばAマシン、Bマシン、Cマシンとか。
mercury、venus、earthとか。(普通は半角英数字しか使えない)
太陽系「太陽と太陽系の惑星」特徴。現象。地球との関わり。生命体の可能性 そのような、個々につけられた識別名を『エイリアス名』と言う。

 32ビットでのIPアドレス管理方式は『IPv4』と呼ばれている。
実のところ、4294967296という数字は膨大であるのかもしれないが、 21世紀以降の爆発的なインターネット普及に対応できず『IPアドレス枯渇問題』を引き起こす形となってしまった。
新規のネットワーク接続者に割り当てるIPアドレスが不足しがちになってきた訳である。
 そこで128ビットを用いた『IPv6』というのが開発された。
これは、計算上は、30000000000000000000000000000000000000以上という大きな数となる。
 そういう訳だから、当面は問題ないとされている。
ただ、IPv6におけるIPアドレスの個数は、事実上、無限とされることがあるが、別にそんなことはないだろう。
森の扉「無限量」無限の大きさの証明、比較、カントールの集合論的方法

IPアドレスポリシーが定める、グローバルとローカルアドレス

 IPアドレスは、世界の共通財産という扱いであり、 扱う場合には IPアドレスのガイドラインである『IPアドレスポリシー』にのっとる必要がある。
各ISP(インターネットサービスプロバイダ)、つまりインターネットサービスを提供する各事業者には、特定範囲の利用可能IPアドレスが割り当てられている。
一般企業や団体、個人ユーザーなどが インターネット接続を行う場合、ISPに申請手続きをして、IPアドレスを貸し出してもらう形となる。
そのような、ISPから割り当てられたIPアドレスを、『グローバルIPアドレス』と言う。

 またローカル(地方的、局所的)なネットワークを構築する際に使えるIPアドレスも、IPアドレスポリシーを定義しているという。
ようするに『ローカルIPアドレス』と呼ばれる、申請しなくても自由に使えるIPアドレスの範囲である。
 当然、ローカルIPアドレスは各ローカルネットワークで重複しまくっているから、混乱を避けるため、そのままインターネット接続に使うことは禁じられている。

アドレスクラス

 IPアドレスの利用可能範囲を、ネットワークに接続している通信機器の台数に応じて分ける考え方もあり、『アドレスクラス』と呼ばれる。
アドレスクラスは、A(最大接続数16581375)、B(最大接続数65536)、C(最大接続数256)、D(最大接続数16)、E(最大接続数8)という感じ。
 通常のネットワークではA〜Cまでが使われ、DとEは、 ひとつのネットワークを、より細分化する場合などに使われる。

サブネットマスク。IPアドレス。ホスト番号

 TCP/IP ネットワークにおいては、ひとつのネットワークを、論理的に複数ネットワークに区分けする場合がある。
そういう場合に、区分けされた、個々に指定される通信パラメーターを、『サブネットマスク』と言う。
 サブネットマスクによるネットワークの区分けは、グループ分けである。
あるネットワークに物理的に繋がる複数の通信機器に、割り当てられた、個々の器機のIPアドレスを、サブネットマスクに設定された数値と比べて、同じと判断されたら、同じグループとする訳である(これはAND条件と呼ばれる方法)。
 例えば、サブネットマスクが、「255.255.000.000(11111111.11111111.00000000.00000000)」であった場合、個々のIPアドレスの「xxx.xxx.yyy.yyy」のx部分が共通の数値となっている機器を同一グループと見なす。
 サブネットマスクも、アドレスランクごとの指定がある場合がある。
そういう場合は、サブネットマスクから外れた機器があった際、サブネットマスクを変えるより、機器のIPアドレスの方を変えるのが普通。

 IPアドレスの、サブネットマスクが作用する部分の数値(同一グループの共通部分)は『ネットワークアドレス(IPアドレス)』と呼ばれる。
 サブネットマスクが作用しない部分は、『ホストアドレス(ホスト番号)』と呼ばれ、コンピューターや、通信機器固有の番号が割り当てられるのが普通。

ポートアドレス、ポート番号

 言うならば、IPアドレスというのは、データの通信を行う場合に、送信先ターゲットを識別するための番号である。
 このIPアドレスとは別に、『ポートアドレス(ポート番号)』というのがある。

 ポートアドレスは。送信先のプログラムを識別するために割り当てられている番号と言える。
送信先のプログラムが、例えばWebサーバー(https)なのか、メール受信サーバー(pop3)なのか、とかを識別するための番号。

デフォルトゲートウェイ。ルータ。接続ポイント

 通信範囲の広い、インターネット接続などでは、通信する相手が、同一ネットワーク上(同一グループ上)にいない場合はよくある。
 そういう場合に、異なるネットワークを中継するシステム、機器が『ゲートウェイ』である。
『ルータ』などと呼ばれる場合もある。
 ようするに個々のコンピューターのネットワークと、インターネットなどを繋ぐ、接続ポイントである。

 特に、外部ネットワークと繋がる際には、まず設定されたゲートウェイに繋がるのが普通。
そういう場合におけるゲートウェイは、『デフォルトゲートウェイ』と言われる。

 複雑なネットワークにおいては、ネットワーク上に複数のゲートウェイを用意して、送信先IPアドレスなどによって場合分け、使い分けしたりする事もある。

DNS。URL。FQDN

 IPアドレスにエイリアス名をつけるとしても、インターネットのような膨大なネットワークにおいては、個々にそんなものを決めておいたところで、かなり役に立たない。
 そこで、『DNS』というシステムがある。
 これは、ようするに、個々のIPアドレスやホスト名を、人に識別しやすいような文字名(いわゆるURL)に変換。
あるいは逆に変換されたURLを、元の数値に戻すシステム。
 URLにおけるホスト名とドメイン名の部分を合わせて、『FQDN』と言う。
DNSは、FQDNを設定するシステムとも言える。

DHCP。リース期間

 ネットワークに接続する通信機器が多ければ多いほど、IPアドレスのような通信パラメーターを、手動で設定するのは面倒になる。
そこで、通信機器の電源を入れた時に、ネットワーク経由で、IPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバーなどの情報を自動配布してくれるシステム、サービスが、『DHCP』である。

 まずネットワークに、通信パラメーターをリクエストするコマンドが送信される。
リクエストを受け取ったDHCPシステムは、管理しているIPアドレス範囲から。未使用のものを、その他の通信パラメーターとともに応答してくるという仕組み。

 DHCPがIPアドレスを割り当てる時、同時にそのIPアドレスに対する、使用中フラグと、『リース期間』と呼ばれるものが設定される。
 通常、DHCPと繋がっている通信機器の電源を切ると、自動的に返却リクエストが送られ、 利用されていたIPアドレスの使用中フラグが解除され、また未使用扱いに戻る。
 返却リクエストがなかった場合でも、リース期間が過ぎれば、自動的にIPアドレスは返却される。

 リース期間を延長するリクエストもある。
また、あるコンピューターに割り当てられたIPアドレスは、返却してから、次に割り当てられる時も、それがその時に使用中でないならば、同じIPアドレスが割り当てられるようになっていることが多い。