オープンシステム相互接続(OSI)モデルは、コンピューティングデバイスがネットワークを介して通信する方法に関する普遍的な標準を提供する概念モデルです。
OSIモデルとは何でしょうか?ISO(国際標準化機構)によって策定されたこのモデルは、コンピュータネットワーク間の通信を、互いに積み重ねられた7つの抽象的な層に分類しています。 各層は、ネットワーク通信において独自の機能を果たし、その上下の層と通信を行います。
このモデルは、システムの具体的な基盤技術や使用するプロトコルスイートに関係なく適用されます。標準的な通信プロトコルを使用するすべてのシステム間で相互運用性を確保することを目的としています。
この用語解説では、OSIモデルの7つの各層について詳しく解説します。また、OSIモデルの価値や、TCP/IPなどの他のネットワーク通信モデルとの違いについても触れます。最後に、OSIモデルにおけるDNSの役割についても取り上げます。
OSIモデルのレイヤー
OSIモデルには7つの抽象的な層があります。これらを簡単に覚える方法をお探しですか?次の記憶術を試してみてください:「All People Seem To Need Data Processing」(「すべての人はデータ処理を 必要としているようだ」)。(他にも素晴らしいOSIの記憶術がありますので、ぜひチェックしてみてください。)
| All |
アプリケーション(レイヤー7) |
| People |
プレゼンテーション(第6層) |
| Seem |
セッション(レイヤー5) |
| 宛先 |
トランスポート(レイヤー4) |
| 必要 |
ネットワーク(レイヤー3) |
| データ |
データリンク(レイヤー2) |
| 処理 |
物理層(レイヤー1) |
このモデルを最もよく理解するには、最上層であるレイヤー7(アプリケーション層)から始めて、下に向かって順を追って理解していく方が、多くの場合、簡単です。
レイヤー7:アプリケーション層
この層はエンドユーザーに最も近い位置にあります。ただし、ソフトウェアアプリケーション自体(たとえば Microsoft Word など)はこの層の一部ではないことに注意することが重要です。むしろ、アプリケーション層は、アプリケーションがその機能を果たし、エンドユーザーにデータを伝達するために依存するプロトコルを包含しています。
アプリケーション層を構成するプロトコルには、Webブラウザを使用する場合はハイパーテキスト転送プロトコル(HTTP)、メールクライアントを使用する場合は簡易メール転送プロトコル(SMTP)、ファイルを転送する場合はファイル転送プロトコル(FTP)などが含まれます。
DNSもレイヤー7に位置します。これについては後ほど詳しく説明します。
レイヤー6:プレゼンテーション層
この層は、アプリケーション層が受け入れられる形式にデータを構成します。これを行うには、変換、暗号化(および復号化)、圧縮の3つの方法があります。
変換とは、すべてのバイナリの「1」と「0」を、機械が読み取れるデータに変換することです。 デバイスが異なる通信方式を使用している場合、プレゼンテーション層はデータを、レイヤー7の受信デバイスにとって理解可能な形式に変換します。
さらに、接続が暗号化されている場合、レイヤー6は送信側で暗号化を行い、受信側で復号化を行います。その結果、アプリケーション層は暗号化されていないデータを受け取ることになります。 代表的な例としては、暗号化セキュリティプロトコルであるSSLを使用するWebブラウザやサーバーが挙げられます。
最後に、プレゼンテーション層は、レイヤー7から受け取ったデータを、スタックを下ってレイヤー5に送信する前に圧縮する役割を担っています。 例えば、30メガバイトのファイルを10メガバイトに圧縮してから、セッション層へ転送することがあります。圧縮は効率と速度を向上させ、特に大容量の動画や音声ファイルを扱う際に重要となります。
レイヤー5:セッション層

この層は、2つ以上のデバイス間の接続(セッションとも呼ばれる)を管理する役割を担っています。具体的には、これらの通信セッションの開始と終了を制御します。レイヤー4で定義されたポートを使用して、レイヤー5は必要なすべてのデータを転送するためにセッションが開いた状態を維持し、転送が完了したらセッションを閉じます。
セッション層は、ユーザー名とパスワードによるユーザー認証やその他の認証プロトコルの処理、およびセッションを終了させるためのユーザーのログオフを処理します。
第4層:トランスポート層
次に、この層は、ユーザーデータグラムプロトコル(UDP)または伝送制御プロトコル(TCP)を使用して、デバイス間のデータ伝送を処理します。データ単位が大きく、最大パケットサイズを超える場合は、スタックを下ってレイヤー3に送信される前に、セグメントと呼ばれる小さな断片に分割されます。 受信側デバイスも、レイヤー3でこれらのセグメントを再構成します。
セグメントにはシーケンス番号が割り当てられています。データパケットが小さなチャンクに分割されるため、再構成の際には正しい順序に戻す必要があります。
レイヤー4では、フロー制御とエラー制御も行われます。フロー制御は、高速な接続が低速な接続に過大な負荷をかけないよう、送信側と受信側の間でデータが最適なレートでやり取りされるようにします。接続速度の遅い受信端末は、「はい、これらのセグメントを受信しました。次のセグメントを送信してください」と応答します。
一方、エラー制御では、パケットに含まれるチェックサムを検証し、受信したデータが完全かつ正確であることを確認します。
また、レイヤー4は、レイヤー5がさまざまな機能のセッションを確立するために使用するポートを特定します。たとえば、DNSはポート53を使用し、システム、ファイアウォール、クライアントではほぼ常にこのポートが開いており、DNSクエリが送信されます。一方、Webサーバーは、HTTPにはポート80を、HTTPSにはポート443を使用します。
レイヤー3:ネットワーク層
この層では、異なるネットワーク間のルーティングが行われます。ネットワーク層は、送信側デバイスにおいてレイヤー4からのセグメントをパケットに分割し、IPアドレスを使用して宛先を指定し、宛先へ転送した後、受信側デバイスでそれらを再構成します。この層は、データパケットを目的地に送信するために最も効率的な経路を決定します。
ここで主に使用されるプロトコルは、インターネットプロトコル(IPv4またはIPv6。インターネットトラフィックの大部分はこれらを介して送信されます)と、インターネット制御メッセージプロトコル(ICMP)です。
オフィスのローカルエリアネットワーク(LAN)など、同じネットワーク上で2つのデバイスが通信している場合、レイヤー3での処理は必要ありません。
レイヤー2:データリンク層
その点で、データリンク層は、同じネットワーク上にある2台以上のデバイス間のデータ転送を処理します。これは、ノード間データ転送と呼ばれることもあります。イーサネットは、レイヤー2で最も一般的に使用されるプロトコルです。
レイヤー2は、レイヤー3からパケットを受け取り、それをフレームと呼ばれるさらに小さな単位に分割します。パケット内のアドレスはIPアドレスですが、フレーム内のアドレスは通常、メディアアクセス制御(MAC)アドレスです。
データリンク層は、以下の2つのサブレイヤーに分かれています: 論理リンク制御(LLC)サブレイヤーとMACサブレイヤーです。LLCサブレイヤーは、同期制御、フロー制御、エラー制御を行うため、レイヤー2の「頭脳」としての役割を果たします。これはMACサブレイヤーの上に位置し、OSIスタックの上位層と、MACサブレイヤーで動作するイーサネットなどのプロトコルとの間を橋渡しします。
レイヤー1:物理層
最後に、この層には、光ファイバーやネットワークスイッチなど、ネットワークを介してデータを伝送する機器が含まれます。物理層では、データが1と0からなるコンピュータの二進数列であるビットに変換されます。また、デジタルビットを電気信号、無線信号、または光信号に変換します。
すべてのネットワーク通信がOSIモデルの7つのレイヤーすべてを使用する必要があるわけではない点に留意することが重要です。必須なのはレイヤー1、2、3のみです。
OSIモデルの価値
ネットワークシステムを表すモデルはこれだけではありません。インターネットプロトコルスイート、すなわちTCP/IPモデルもあります。しかし、両者には重要な違いがあります。米国国防総省によって開発されたTCP/IPは、OSIモデルのいくつかの層を統合した、わずか4層からなるより単純なモデルです。
また、TCP/IPはインターネットで使用される通信プロトコルに特化したものです。TCP/IPは、データがパケットに分割され、宛先が指定され、送信され、ルーティングされ、宛先で受信されるまでのプロセスを含め、インターネット上でのデータ伝送方法を規定しています。
一方、OSI参照モデルはより汎用的であり、特定のプロトコルに依存せず、あらゆる形態のネットワーク通信を記述するのに役立ちます。
重要な点として、OSIモデルはネットワーク環境におけるトラブルシューティングのための共通言語を提供します。問題を具体的かつ広く理解されているレイヤーに絞り込むことで、多くの場合、より迅速な解決につながります。
また、OSIモデルが絶対的なものではない点にも留意すべきです。分散型サービス拒否(DDoS)攻撃は、通常、OSIモデルの特定の層を標的としています。
DNSはOSIモデルにどのように位置づけられるのでしょうか?

DNS に対応する OSI レイヤーは存在するのでしょうか?一言で言えば、いいえ。DNS はアプリケーション層のプロトコルであり、他のプロトコルと同様にレイヤー 7 に位置します。
ドメインネームシステム(DNS)は、ネットワーク上のデバイス間での通信を可能にする階層的な命名システムです。 最も一般的な用途として、DNSは人間が読みやすいドメイン名(bluecatnetworks.comなど)を、コンピュータが理解しやすいインターネットプロトコル(IP)アドレス(104.239.197.100など)に変換します。
ユーザーは、クライアントデバイスと呼ばれるコンピュータやスマートフォンを操作して、ウェブサイトにアクセスします。その際、デバイスはDNSサーバーに対してDNSクエリ(要求)を送信します。スタブリゾルバーとは、クライアントデバイス内でこれらの要求を処理する部分であり、レイヤー7に位置しています。
しかし、DNSはレイヤー4でUDP(場合によってはTCP)も利用しており、これらはいずれもレイヤー3でIPを使用しています。その結果、OSIモデルにおいてDNSがどこに位置するかについて、時に混乱が生じることがあります。DNSがOSIモデルの各レイヤーを通過するからといって、実際にそれらの他のレイヤーに存在しているわけではありません。
DNSの管理方法についてさらに詳しく知りたいですか?BlueCatのソリューションが、その第一歩となります。