このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

目次

階層化ネットワークモデル

 異機種コンピュータシステム間でネットワークを通じてデータをやり取りすることを実現化するために、階層化ネットワークモデルであるOSI参照モデルが採用されている。このOSI参照モデルでは分割して統治するという方式を用いており、ひとつの課題をより小さくて自己完結的な7つの課題に分割する。7つの課題に対処するソリューションは、OSI参照モデル内に階層という形で実現される。このような階層化方式はベンダの実装形態がどうあるべきかという規定ではない。単なる特定の製品を開発するためにベンダが利用するフレームワークであり、OSI参照モデルに基づいて開発された標準やプロトコルに準拠するわけである。

 通信を実現するため、送信時には情報がスタックを降下し、受信時にはスタックを上昇する。このようにネットワーク機能スタック内で分割されていると、次のような利点が生まれる。

  • ネットワーク動作における相互に関連する要素が、より単純な構成要素に分割される。
  • 複雑なインターネットワーキング構成要素が、独立したサブセットに分割される。
  • ハードウェアやソフトウェアの開発者が、モジュール単位でデザインや開発作業を進めることができる。
  • ひとつのエリアの改良が他のエリアに影響しない。
  • ベンダ間のプラグアンドプレイの互換性を提供する標準インタフェースを定義できる。

ピアツーピア通信

 あるシステムに属する各階層では、それ自身の階層プロトコルを使って、別のシステムの同等の階層(ピア階層という)と通信を行う。このときピア階層は、PDUをやり取りして通信する。これがピアツーピア通信である。

 このときPDUは階層によって異なる。

トランスポート層セグメント
ネットワーク層パケット
データリンク層フレーム
物理層ビット

 これら以外の階層のPDUは一般にデータと呼ばれる。

 OSI参照モデルの階層化は、ピア同士の直接の通信を禁じている。物理層でさえ、直接に通信することはできない。必ずネットワークを経由する必要がある。

プロトコル7階層

 OSI7層構造モデルとは、ISO(International Standard Organization:国際標準化機構)と呼ばれる組織が提唱しているOSI(Open System Interconnection:開放型システム間相互接続)のことである。プロトコル4階層を細かくしたものである。

 通信を行うにあたって「こういった方法を取るのが理想的ですよ」という提案である。提案なので、守らなければならないという制約もない。実際に昔のコンピュータの通信ではこのプロトコル7階層からはずれた、独自のプロトコルを実装したものもある。

 OSI参照モデルでは、次のようにプロトコルを7層に階層化し、それぞれの層が上位の層に提供するサービス機能を定義している。1から4までを下位層といい、5から7までを上位層という。

レイヤ番号レイヤ名概要ネットワーク機器プロトコル
7アプリケーション層(Application Layer)・ユーザーに対するサービスが実行される層
・業務に依存した処理
・FTP
・TLENET
6プレゼンテーション層(Presentation Layer)・OSで異なるアプリケーションのデータ表現形式の差異を吸収
・データ表現方法の取り決め(使用する文字コードなど)
・使用されるデータ形式と変換を実行し、アプリケーションで取り扱える形式のデータにする。
・データ暗号化と復号化を実行し、第三者によるデータの盗聴や改竄を防止する。
・データ圧縮を実行し、チャンネル(システム上の1通信パス)の使用効率を最適化する。
5セッション層(Session Layer)・アプリケーション間のセッション定義、双方向同時・双方向交互・単方向
・業務を開始/終了するための取り決め
・セッションは2つまたはそれ以上のシステムのプレゼンテーション層の対話により成立する。
・アプリケーション層、プレゼンテーション層、セッション層はアプリケーション層同士がデータを共有し、簡単に通信を行うための標準化を担当する階層のこと。これらの階層ではデータを目的地に送り届ける処理は行われない。
・NFS
SQL
・RPC
4トランスポート層(Transport Layer)・上位層と下位層の中間に位置する。
・上位層に対してエンドツーエンドのデータ転送サービスを提供。
・上位アプリケーションをセグメント化する。
・エンドホストから相手のエンドホストへセグメントを送信する。
・エラー検出と訂正を定義して、信頼性の高いデータ転送を保証する。
・アプリケーション同士の電文の送受信
・ゲートウェイ・TCP
UDP
NetBEUI
・SPX
3ネットワーク層(Network Layer)・ネットワークへの接続を定義、コネクション型・コネクションレス型
・コンピュータ同士の電文の送受信
・ルーター
・レイヤ3スイッチ
IP
・IPX
ICMP
2データリンク層(Data Link Layer)・物理的伝送媒体を通じ信頼性あるデータ配送、エラー検出・フロー制御
・隣接したノードに1ビットを転送する
・スイッチングハブ
・ブリッジ
PPP
・PPPoE
CSMA/CD方式
・トークンバッシング方式
・HDLC手順
1物理層(Physical Layer)・ネットワーク伝送媒体の物理的な特性を定義
・伝送路の物理特性(ハードウェア依存)
・リピーターハブ
・リピーター
DCE(Data Circuit Terminating Equipment:データ回線終端装置)

プロトコル4階層とプロトコル7階層の比較

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

 最も上部の層に位置するアプリケーション層は、コンピュータを操作するユーザが使用するアプリケーション(サービス)と下の層の橋渡しをするものである。

 例えば、アプリケーション層の働きによって、FTPの情報は相手のFTPに、TELNETの情報は相手のTELNETに間違えなく引き渡される。

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

  • データ表現
  • データ暗号化
  • データ圧縮

 例えば、「こんにちは」という情報はデジタル信号に変換する必要がある。ここでは、その変換(逆の変換もある)が行われる。

第5層:セッション層

 プレゼンテーション層で符号化されたデータを相手に送信する機能を持っている。また互いの通信の終了などもセッション層で管理している。

 OSI参照モデルの7階層モデルの第7層から第5階層まではTCP/IPのプロトコルの4階層モデルの第1階層と対応している。

第4層:トランスポート層

 トランスポート層は、通信を行う両者の間でポートの情報交換を管理することとデータ転送の方法を決める。

 このトランスポート層にはTCPとUDPという機能の異なる2つの通信プロトコルがある。この2つのプロトコルはデータの信頼性と速度面で互いに使われ方が違う。

上位層アプリケーションのセグメント化

 アプリケーションの送受信のセグメントの追跡と管理をポート番号を使って行う。送信元アプリケーションと宛先アプリケーションはあらかじめ決められているポート番号を使うので、送信元システムと宛先システムのトランスポート層は、適切な上位層アプリケーションにセグメントを送受信することができる。

エンドツーエンドの接続の確立

 トランスポートの役目として、送信元システムと宛先システムの間に、エンドツーエンド接続を確立することも挙げられる。エンドツーエンド接続を確立するために、トランスポート層は一連のハンドシェイク、つまり一方のシステムから他方のシステムに要求を送って接続を確立する手続きを行う。ハンドシェイクはシステム間の接続を確立する過程で実行され、同期や接続のパラメータを調整する。

ホスト間のセグメント転送

 さらにトランスポートの役目として、接続の確立とシステム間のデータ転送を開始した後で提供される。トランスポート層は、システム間でセグメントを送信し、すべてのセグメントが宛先に到達したことをチェックする。なぜそういう仕組みがあるのかというと、システム間で転送するデータは破棄されてしまうことがありえるからである。一番多い原因は輻輳である。コンピュータによって生成されたトラフィックがネットワークの転送能力を超えてしまいと、輻輳が発生する。また複数のコンピュータから同一の宛先やゲートウェイの転送能力を超えたときにも、輻輳が発生する。

 トランスポート層は輻輳を制御するためにフロー制御を行う。フロー制御とは送信側システムのデータ送信を受信側システムのデータ処理能力に合わせて調整するメカニズムである。トランスポート層は3つのフロー制御方式を使用できる。

  • バッファリング
  • マルチプレキシング
  • パラレル化

バッファリング

 フロー制御方式の一種。各システムには情報のバッファリングに使える一定量のメモリが確保されている。受信側システムのトランスポート層は十分なバッファがあることを確認し、処理能力を超える帯域幅でデータを転送しないように調整する。受信側システムのバッファが足りなくなった場合は、バッファ内のデータが処理されるまで、データ転送を一時的に停止するためにnot readyメッセージが送信側システムに送信される。バッファ内のデータ処理が終わったら、受信側システムからreadyメッセージが送信側システムに送られる。

マルチプレキシング

パラレル化

第3層:ネットワーク層

 パケットの中のアドレスにより、さらに届け先を限定する。これを担当する通信プロトコルがIPである。

 また、送信する情報は、実際には複数のパケットに分割されて送信される。通信によってはパケットのひとつが欠けたり、消失してしまう可能性がある。それでは何のデータだかわからなくてエラーが起こってしまう。これを防ぐために、それらの細分化されたデータのひとつひとつを管理し、データが抜け落ちていないか監視し、もし抜けがあった場合には相手のネットワーク層に連絡して抜けていた情報の再送信するように依頼するなどの機能を持つ。これを担当する通信プロトコルをICMPである。

第2層:データリンク層

 第3層のネットワーク層では、相手のアドレスが明確になる。しかし実際にネットワークは1対1で接続されているわけではない。そこで最終的にデータリンク層で届け先を限定する。これを実現する通信プロトコルとして、Ethernet、PPP、トークンリングなどがある。

第1層:物理層

 物理層では、データリンク層から渡されたデジタル信号を実際に伝送するための電気信号に変換したり、届いた電気信号に変換したりする層である。ここでは10BASE,100BASEやISDN,アナログ電話などのケーブルの規格などが当てはまる。

各層と対応する暗号プロトコル

各層と対応する脆弱性

  • 7層(アプリケーション層)
    • メールボム
    • スパム
    • トロイの木馬
    • ウイルス
    • ブルートフォースアタック
    • OSのセキュリティホール
    • ワーム
    • ブラウザのセキュリティホール
    • 悪意のあるJavaやActiveX
    • DNSキラー
    • 偵察スキャン
    • 遠隔操作
    • アクセス許可の突破
    • キーロガー
    • 不要なアカウントの存在
  • 6層(プレゼンテーション層)
    • 暗号化されていないデータの盗聴
    • トロイの木馬やウイルスの圧縮
  • 5層(セッション層)
    • ネットワーク盗聴
    • 共有の脆弱性
    • ルートアクセス
  • 4層(トランスポート層)
    • ポートスキャン
    • スプーフィング
    • セッションハイジャック
    • DoS/DDoSアタック
    • SYN floodアタック
    • UDPボム
  • 3層(ネットワーク層)
    • Pingスキャン
    • パケットスニッフィング
    • ARPポイゾニング
    • DDoSアタック
    • Smurfアタック
    • Stacheldraht
    • Ping of Death
    • Nuke
  • 2層(データリンク層)
    • 偵察
    • スニッフィング
    • スプーフィング
    • ブロードキャストストーム
    • NICの誤設定
    • アタックロボット
  • 1層(物理層)
    • ワイヤータッピング
    • スニッフィング
    • ヴァンダリズム
    • 停電
    • 窃盗
    • 災害
    • サボタージュ
    • 不忠実な社員(内部犯)、産業スパイ

参考文献

  • 講義資料
  • 『ポート番号のしくみ』
  • 『TCP/IPセキュリティ』
  • 『ハッキング防衛マニュアル』
  • 『LAN&インターネット 図解で分かるサーバのすべて』
  • 『クラッキング対策ファイナルガイド』
  • 『図解TCP/IPがわかるとネットワークに強くなる』
  • 『一人で作れるLinuxインターネットサーバー入門』
  • 『Router & Packet Filtering』
  • 『UNIXネットワークプログラミング入門』
  • 『ハッカーハンドブック』
  • 『平成16年度 情報セキュリティアドミニストレータ合格教本』
  • 『猫でもわかるネットワークプログラミング』
  • 『2004/2005年版 情報セキュリティアドミニストレータコンパクトブック』
  • 『EXAM PRESS Cisco教科書 CCNA Routing&Switching 試験番号:640-407』