株式会社Ninjastars 技術研究部

「もっと楽しく安全なゲームの世界を創る」

第1回ネットワークについて - OSI参照モデルの全体像をつかむ -

はじめまして、株式会社Ninjastars取締役の野中です。
今回から私の担当する記事では、数回に渡ってOSI参照モデルの各層について実例を交えながら解説をしていきたいと思っています。
第一回のこの記事では、OSI参照モデルの全体像を把握するため、各層について概説的に書いていきます。
「木を見て森を見ず」のような状態にならないために、まずは簡単にでもOSI参照モデルという”森”を見ておきましょう。

OSI参照モデルとは

OSI参照モデルとは、ネットワーク上の異なるノード間で相互通信を行うための「ネットワーク・モデル」と言われる統一規格のことです。

通常、ネットワークに接続されるノード*1は、すべてが同じ機種であるとは限りません。かと言って、ネットワークの利用者が通信相手との通信方式や文字コードの差異をいちいち意識するのは面倒です。そのため、異機種間でも通信を行えるルールの標準がISO(国際標準化機構)によって策定されました。

OSI参照モデルは、コンピュータなどの通信機器の通信機能を階層構造に分割したモデルで、実際には以下の7層に分割されています。

伝送媒体にデータを送信する物理的な手段を提供する。

隣接ノード間のデータ伝送制御手順を提供。誤り検出や再送制御などの機能がある。

IPアドレスに基づいたデータの転送(ルーティング)や順序制御*2の手順を規定する。

データの到達確認、フロー制御、誤り検出などの機能を提供する。

  • 第5層 セッション層

アプリケーション間での通信を開始して終了するまでの手順(確立、維持、切断)を規定する

  • 第6層 プレゼンテーション層

異なるシステムのデータ表現形式を標準化する。具体的には、文字コードやデータ圧縮、暗号化機能を提供する。

  • 第7層 アプリケーション層

アプリケーションと通信機能の間のインターフェースを提供する。

OSI参照モデルから見た通信の仕組み

ルータやブリッジ、リピータなどのネットワーク機器は、OSI参照モデルからみて、それぞれ次の階層に位置します。

f:id:Ninjastars:20190102184901p:plain
ネットワーク機器とその階層
OSI参照モデルから見たネットワーク通信は、データが各種ネットワーク機器の各層をカプセル化およびカプセル化解除を行いながら通過し、宛先までたどり着きます。
f:id:Ninjastars:20190102184906p:plain
データの流れ

TCP/IPとは

TCP/IPとはOSI参照モデルを簡略化した規格のことです。現在のLANやインターネットにおける事実上の標準規格となっています。
以下がOSI参照モデルTCP/IPとの各階層の対応です。

f:id:Ninjastars:20190102184928p:plain
OSI参照モデルTCP/IPの対応

コンピュータ上のTCP/IPによる通信の流れ

TCP/IPネットワークにおいて、コンピュータ上のアプリケーションを使用して通信を行う場合、データはTCP/IPの上位層から下位層へデータが渡り、最下層で伝送路へと流れます。以下のように各層で通信に必要なデータを付与していきカプセル化していきます。

  • アプリケーション層

転送するデータを用意する。

受信側のどのアプリケーション宛に送るかを指定するポート番号をデータに付与し、セグメント化する。

  • インターネット層

受信側の宛先を示す情報としてIPアドレスをセグメントに付与し、パケット化する。

  • インターフェース層

パケットにMACアドレスを付与し、フレーム化する。

上記の流れを図にすると、以下のようになります。

f:id:Ninjastars:20190102184909p:plain
データのカプセル化

より詳細に知るためには

ここまで、OSI参照モデルTCP/IPについて駆け足で見てきました。個別の技術について詳細に触れることができませんでしたので、より詳細にネットワークについて知りたい方は
3分間ネットワーキングを見てみることをおすすめします。
OSI参照モデルTCP/IPについてだけでなくネットワーク全般について、各単元を3分ほどで読めるようにまとめれており、ネットワークについて学習するのに最適だと思われます。

次回予告

次回の私の記事では、OSI参照モデルのアプリケーション層について、実例を交えながら解説していきます。
具体的には、多くの人にとって馴染みの深いHTTPを、簡単に実装をしてみながら、その仕組みとアプリケーション層の役割を解説しようと思います。お楽しみに!

本レポートについて

お問い合せ
E-mail:nonaka@ninjastars-net.com

株式会社Ninjastars取締役
野中高亮

*1:ネットワークの接点、分岐点や中継点などを意味する。具体的には、ネットワークを構成するコンピュータ、ハブ、ルーターといった機器のこと。

*2:送信するデータが大きい場合、データはある一定のサイズで分割され、順番を示す番号を付けられ後に送信される。受信側では、到着したデータの番号を基にデータの並べ替えを行い、元のデータに戻す