本発明は様々な変更を加え得、様々な実施例を有し得るので、特定の実施例を図面に例示して詳細に説明しようとする。
しかし、これは、本発明を特定の実施形態に対して限定しようとするわけではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物乃至代替物を含むものと理解されるべきである。
第1、第2などの用語は、様々な構成要素を説明するのに使用され得るが、前記構成要素は、前記用語により限定されてはならない。前記用語は、一つの構成要素を他の構成要素から区別する目的でのみ使用される。例えば、本発明の権利範囲を外れないながら、第1の構成要素は第2の構成要素と名付けられてもよく、同様に第2の構成要素も第1の構成要素と名付けられてもよい。及び/又はという用語は、複数の関連して記載された項目の組み合わせ、又は複数の関連して記載された項目のうちいずれかの項目を含む。
ある構成要素が他の構成要素に「連結されて」いるか、「接続されて」いると言及された場合には、その他の構成要素に直接的に連結されていてもよく、又は接続されていてもよいが、中間に他の構成要素が存在していてもよいと理解されるべきである。反面、ある構成要素が他の構成要素に「直接連結されて」いるか、「直接接続されて」いると言及された場合には、中間に他の構成要素が存在しないと理解されるべきである。
本出願で使用した用語は、単に特定の実施例を説明するために使用されたものであって、本発明を限定しようとする意図ではない。単数の表現は、文脈上明らかに異なる意味ではない限り、複数の表現を含む。本出願で、「含む」又は「有する」等の用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品、又はこれらを組み合わせたものが存在するということを指定しようとするものであり、一つ又はそれ以上の異なる特徴や数字、段階、動作、構成要素、部品、又はこれらを組み合わせたものの存在又は付加の可能性を予め排除しないものと理解されるべきである。
異なって定義されない限り、技術的又は科学的な擁護を含んでここで使用される全ての用語は、本発明が属する技術分野で通常の知識を有する者により一般的に理解されるものと同じ意味を有している。一般的に使用される辞典に定義されているような用語は、関連技術の文脈上有する意味と一致する意味を有するものと解釈されなければならず、本出願で明白に定義しない限り、理想的又は過度に形式的な意味と解釈されない。
以下、添付した図面を参照し、本発明の好ましい実施例をより詳細に説明しようとする。本発明を説明するにあたって、全体的な理解を容易にするために、図面上の同一の構成要素については同一の参照符号を使用し、同一の構成要素について重複する説明は省略する。
本明細書にわたって、エンティティ(entity)はネットワークと関連した各種装置を含み、これは、クライアント端末及び/又はサーバ装置、ネットワークに含まれたモノのインターネットデバイス、ネットワークビデオレコーダー(Network Video Recoder、NVR)、クラウド網を含む用語である。
ユーザは、基本的にクライアント端末又はモノのインターネットデバイスのユーザを意味する。但し、場合に応じて、本発明の一実施例にかかるパケットミラーリング装置(以下、「ネットワーク性能診断装置」又は「ネットワークモニタリング装置」とも指称され得る)のユーザを意味することもある。ネットワークの運営者及び/又はネットワークの管理者は、パケットミラーリング装置と関連したネットワークを管理する者であって、パケットミラーリング装置のユーザを意味し得る。
ネットワークの性能と関連した性能関連の指標を算出するネットワーク性能診断装置は、パケットミラーリング装置と呼ばれ得る。また、ネットワークサービスの前記性能関連の指標を視覚化する装置として実現化され得るので、ネットワーク性能指標視覚化装置と呼ばれ得る。さらに、ネットワークに新たに連携される個体を登録する装置として実現化され得るので、ネットワーク新規個体登録装置と呼ばれ得る。また、ネットワークの性能及び/又はセキュリティに対する診断を行うネットワークモニタリング装置と指称されることもある。
また、ネットワークの性能という用語は、サーバ、通信網及びクライアントでの通信性能に関して、包括的に使用できる。さらに、ネットワークのセキュリティという用語は、異常徴候検知(Anomaly Detection)による検知、シグネチャー(Signature)ベース検知、明細(Specification)ベース検知によるセキュリティ要素のうち少なくとも一つ以上を含むことができる。また、本発明におけるセキュリティは、意図的な障害だけでなく、非意図的な障害原因を全て含む。従って、システム設計誤謬、システム動作誤謬、管理者のミスの検知がセキュリティモニタリングに含まれることができる。
ネットワーク性能モニタリング
図2は、本発明の一実施例にかかるパケットミラーリング装置が含まれたシステムを示す概念図である。図2に示すように、本発明の一実施例にかかるパケットミラーリングシステムは、クライアント端末210-1~210-3、ネットワーク220、サーバ端230~250、及びパケットミラーリング装置200を含むことができる。
図2を参照すると、クライアント端末210-1~210-3は、ネットワーク220を介して特定のウェブサイト及び/又はウェブアプリケーションに接続する。このとき、接続は、前記ウェブサイト及び/又はウェブアプリケーションと関連したサーバ端230~250で行われる。クライアント端末210-1~210-3は、ウェブブラウザを介して、特定のウェブページに接続して、所望のページ又はアプリケーションの実行を要請する。前記要請は、html文書のような静的なコンテンツだけでなく、動画、オーディオのようなマルチメディアコンテンツ、及び/又はその他の他のアプリケーションの実行を含むことができる。
本発明の一実施例によると、クライアント端末210~210-3は、ユーザにより動作し、通信機能(インターネット接続及びウェブブラウザの実行機能を含む)及びデータ処理機能を含む任意の装置を含むことができる。クライアント端末210~210-3は、移動局(MS)、ユーザ装備(UE;User Equipment)、ユーザ端末(UT;User Terminal)、無線端末、アクセス端末(AT)、端末、固定又は移動加入者ユニット(Subscriber Unit)、加入者ステーション(SS;Subscriber Station)、セルラー電話、無線機器(wireless device)、無線通信デバイス、無線送受信ユニット(WTRU;Wireless Transmit/Receive Unit)、移動ノード、モバイル、モバイル局、個人携帯情報端末(personal digital assistant;PDA)、スマートフォン、ラップトップ、ネットブック、個人用コンピュータ、無線センサ、消費者電子機器(CE)、モノのインターネット(IoT)デバイス又は他の用語として指称され得る。クライアント端末210-1~210-3の様々な実施例は、セルラー電話機、無線通信機能を有するスマートフォン、無線通信機能を有する個人携帯用端末機(PDA)、無線モデム、無線通信機能を有する携帯用コンピュータ、無線通信機能を有するデジタルカメラのような撮影装置、無線通信機能を有するゲーミング装置、無線通信機能を有する音楽保存、並びに再生家電製品、無線インターネット接続及びブラウジングが可能なインターネット家電製品だけでなく、そのような機能の組み合わせを統合している携帯型ユニット又は端末機を含むことができるが、これに限定されるわけではない。
各クライアント端末210-1~210-3は、ユーザの入力を受信するためのマウス及びキーボードのような入力装置、及びユーザがネットワーキングされた装置と相互作用するための制御ユーザインターフェースを提供するためのディスプレイを含むユーザ通信インターフェースを含むことができる。ユーザインターフェースは、ユーザに情報を提供するために、グラフィックユーザインターフェース(GUI:Graphical User Interface)を含むことができる。
ネットワーク220は、有線及び/又は無線ネットワークを含む。ネットワーク220は、インターネット(internet)を含むことができる。ネットワーク220は、多様に接続されたクライアント端末210-1~210-3とサーバ端230~250との間にデータを送信して受信するために、物理層(媒体)を提供するシリアルバスを含むことができる。ここで、シリアルバスは、1394シリアルバスを含むことができる。これは、時間-多重送信(Time-multiplexed)オーディオ/ビデオ(A/V)ストリーム、及び標準IP(IP:Internet Protocol)通信(例えば、IETF REC 2734)を両方とも支援することができ、但し、必ずしもこれに限定されるわけではない。ネットワーク220は、非-1394ネットワーク(例えば、イーサネット等)も含むことができる。また、ネットワーク220は、ホームネットワークを含むこともできる。のみならず、ネットワーク220は、モノのインターネット(IoT)の連結を支援する任意のネットワークであり得る。各クライアント端末210-1~210-3は、ネットワーク220で一つ以上のサーバ装置230~250と通信できる。
サーバ端230~250は、ユーザにサービスを提供するためにネットワーク220資源を用いてユーザの要請に応答する。これは、情報(データ)のリターン(return)を含む。また、機能の性能(例えば、機械的な機能)並びに状態のリターン、データストリーム及び状態のリターン、データストリームの収容及び状態のリターン、又は各種行為に対する状態の保存を含む。サーバ端230~250は、その自分のハードウェアの制御を実現化するために、オーダーメイド型、内蔵型、制御プログラムを含むことができる。
サーバ端230~250は、特定のウェブサイト及び/又はウェブアプリケーションと関連し得、各ウェブサイト及び/又はウェブアプリケーションで行われる作業と関連した演算及び管理を行う。サーバ端230~250は、クライアント端末210-1~210-3及び他のサーバ230~250と相互作用できる。例示的なサービスは、MPEGソーシング/シンキング(sourcing/sinking)、及びディスプレイサービスを含むことができる。
サーバ端230~250は、ネットワーク220を介して装置の命令及び制御のためのインターフェースを提供するインターフェースデータ(例えば、HTML、XML、ジャバ、ジャバスクリプト、GIF、JPEG、MPEG、グラフィック破裂又は意図した目的に使用される任意の他のフォーマット)のような情報を処理することができる。特定の実施例で、各サーバ230~250は、その装置の命令及び制御を提供する一つ以上のハイパーテキストマークアップランゲー(HTML:Hypertext Markup Language)のような情報を処理することができる。サーバ端230~250は、ブラウザ技法を用いてHTMLページを示すインターネット標準を使用する。
本発明の実施例にかかると、サーバ端230~250は、ウェブサーバ230、アプリサーバ240(APP server)、及びデータベースサーバ250(DBサーバ)を含むことができる。但し、必ずしもサーバ端が3つのサーバの組み合わせのみで構成されなければならないのではない。ウェブサーバ230のみ存在し、アプリサーバ240及びデータベースサーバ250は存在しないことも有効であり、又はアプリサーバ240の一つのみ構成されることも可能であり、その他様々な形態及び階層のサーバの組み合わせも可能である。
ウェブサーバ230は、ウェブクライアント(Webclient)に要請されたコンテンツを提供するサーバである。ウェブサーバ230は、静的なHTMLやJPEG、GIFのようなイメージをHTTPプロトコルを介してウェブブラウザに提供できる。場合に応じて、ウェブサーバ230も、内部のアプリケーションを動作させることができるコンテナーを内蔵し得る。
アプリサーバ240は、WAS(Web Application Server)サーバとも呼ばれ得、これは、クライアント/サーバ環境でトランザクションの処理及び管理と、アプリケーションの実行環境を提供するミドルウェアソフトウェアサーバを示す。典型的に、サーバ端230~250は、ウェブサーバ、アプリケーションサーバ、データベースの3階層のウェブコンピューティング環境で構築されることができるが、このとき、アプリサーバ240は、クライアント/サーバ環境のアプリケーションサーバのような役割をする。アプリサーバ240は、アプリケーションの実行環境とデータベースの接続機能を提供し、トランザクションを管理し、業務を処理するビジネスロジックを行い、他の機種のシステム間のアプリケーションの連動等を行う。
本発明の実施例にかかると、ウェブサーバ230とWAS240の機能的分類を介して効果的な分散を誘導することができる。静的なデータは構造的に先に存在するウェブサーバ230で処理し、動的なデータは、後端のWAS240が処理できる。例えば、ユーザの要請に対して、静的データのHTMLやジャバスクリプトファイル、CSS、イメージ等を前端のウェブサーバ230に位置させて処理することによって、WAS240にサービスの要請が渡らないようにする。また、ウェブアプリケーションサービスを位置的に後側に存在するWAS240に渡すことによって、WAS240はウェブアプリケーションの実行に集中できる。ウェブサーバ230で処理することとWAS240に渡されることを処理する方式は、ウェブサーバ230のコンフィギュレーション(Configuration)を介して処理できる。特定の拡張子やディレクトリ業務をWAS240に渡すか否かは、ウェブサーバ230で処理する。
データベースサーバ250は、ウェブサーバ230及び/又はアプリサーバ240が取り扱う各種データが保存されているストレージである。データベースサーバ250は、ウェブサーバ230及び/又はアプリサーバ240が処理する作業、ウェブサイト、ウェブアプリケーションの性格に応じて、それと関連した膨大な量のデータが保存できる。これは、個人情報、機関情報、各種コンテンツ(例えば、マルチメディアコンテンツ)と関連したデータ等を含むことができる。
パケットミラーリング装置200は、ネットワーク220とウェブサーバ230との間、ウェブサーバ230とアプリサーバ240との間、及びアプリサーバ240とデータベースサーバ250との間のうち少なくとも一つに配置されることができる。パケットミラーリング装置200は、ネットワーク220とウェブサーバ230との間、ウェブサーバ230とアプリサーバ240との間、及びアプリサーバ240とデータベースサーバ250との間のうち少なくとも一つに配置されたスイッチング装置(図示せず)と連結され、二つの個体間に送受信されるパケットをミラーリングしたパケットに基づいて、ネットワークサービスの性能を診断する。本発明の前記実施例にかかると、ミラーリングされたパケットは、実際に送受信されるパケット(実際に使用されるユーザトラフィック)に基づいて、コピーにより生成され得るので、ネットワークサービスの性能診断のために別途の人為的なテストパケットを生成する必要がない。特に、パケットミラーリング装置200は、リアルタイムで全てのパケットに対するモニタリングが可能である。
パケットミラーリング装置200は、ミラーリングされたパケットに含まれた各種情報(例えば、ソースID(source id)、目的地ID(destination id)及び時間情報(time)等)に基づいて、ネットワークサービスの性能を示す各種指標をリアルタイムで算出する。指標の算出は、トランザクション(transaction)単位からなることができる。算出される指標は120種を超えることができ、これは、以下の図5を参照としてより詳細に説明する。パケットミラーリング装置200は算出された指標に基づき、ある区間に速度遅延、待機遅延、トラフィック超過、エラー発生のような問題があるか否かを区間別に判断し、判断結果を運営者又は管理者が確認できるように視覚化する。即ち、エラー区間を迅速に把握し、これに基づいてエラー区間に対する対応が迅速に行われるようにする。このようなネットワークサービスの管理が一つのポイントで行われるに従って、従来多数の担当者に分担されて行われたIT管理が効率的に進行されるようにし、一目で全ての区間のネットワークサービスの状態を示すことによって、直ちにエラーを確認することができるように支援し、これに対する対応が行われるようにする。
さらに、パケットミラーリング装置200は、ミラーリングされたパケットを分析し、悪意的なユーザからのアクセス(セキュリティイシュー関連)を追跡することができ、これに対する対応もリアルタイムで行われるようにする。
本発明の前記実施例にかかると、パケットミラーリング装置200は、前記スイッチング装置に連結されるので、サーバ端230~250に実質的に負荷を与えるエージェント(agent)の設置を要求しないことがある。即ち、サーバ端230~250の作業速度を遅らせる等の負担を与えない。但し、本発明のパケットミラーリング装置200が必ずしもハードウェア的に構成されなければならないのではなく、ソフトウェア的に、スイッチング装置やその他の装置に設置されて動作できる。
図3は、本発明の一実施例にかかるパケットミラーリング装置とネットワークの他の装置との連結構成を示すブロック図である。
図3を参照すると、インターネット320のようなネットワークにルータ322が連結されており、ルータ322はスイッチ324と連結され、クライアント端末(図示せず)の要請と関連したサーバ330-1~330-3に前記要請を送信し、サーバ330-1~330-3から要請に対する応答と関連した情報をクライアント端末に送信する。
ルータ322又はルーティング機能を有する親機(図示せず)は、インターネット320を介してクライアント端末から送信されたパケットの位置及び受信先を抽出し、その位置に対する最適の経路を指定し、この経路に沿ってデータパケットをスイッチ324に転向させる。ルータ322はIPアドレスを識別し、データをスイッチ324へフォワーディングする。
スイッチ324は、各サーバ330-1~330-3固有のMACアドレスを記憶しており、このアドレスを介してどのパケットがどこに送信されなければならないか判断し、ルータ322から提供されたパケットを該当サーバ330-1~330-3に送信する。スイッチ324はOSI2階層、OSI3階層、OSI4階層及び/又は他の階層(例えば、OSI7階層)の役割をするスイッチを含む。例えば、経路を設定する機能を行うことができる。また、ロードバランシングやポートフォワーディング、QoS等の機能を行うこともできる。スイッチ324は、ネットワークスイッチ、スイッチングハブ、ポートスイッチングハブ等と呼ばれ得る。
パケットミラーリング装置300は、スイッチ324と連結され、スイッチ324を介してサーバ330-1~330-3に提供されるほとんど全てのパケットをミラーリングして獲得する。パケットミラーリングは、即ち、パケットの複製又はキャプチャー(capture)は、スイッチ324で行われることができる。場合に応じて、パケットミラーリング装置300自体で行われることもある。スイッチ324は、サーバ330-1~330-3に提供されるパケットを複製した後、パケットミラーリング装置300と連結されたポートを目的地ポート(destination port)に設定して、パケットミラーリング装置300に提供できる。このとき、該当ポートを分析用途で指定して提供できる。
図4は、本発明の一実施例にかかるパケットミラーリング装置の各区間別の動作を説明するための概念図である。
図4を参照すると、図2及び図3で説明したように、クライアント端末410はインターネット420を介してパケットをサーバ端430、440、450に送信し、このとき、インターネット420とサーバ430との間にはルータ422及びスイッチ424が存在し、スイッチ424にパケットミラーリング装置400が連結される。
パケットミラーリング装置400は、ミラーリングされたパケットを分析し、クライアント端末410でのユーザの体感遅延時間を確認することができる。また、インターネット420を介して、最初のサーバ430までのトラフィックと関連した情報を把握することができ、サーバ端430、440、450での応答待機時間(latency)も確認できる。特に、サーバ端430、440、450の応答待機時間は各区間別に判断される。ウェブサーバ430とWAS440区間とWAS440とDBサーバ450の区間の応答待機時間は別に算出されて取り扱われる。ウェブ応答待機時間(Web latency)とアプリ応答待機時間(App latency)は別に算出されることができる。ここで、ウェブ応答待機時間は、静的URL(イメージ(gif、png、jpg等)、css、js、テキスト等)がウェブサーバ430からデータを受けるまでの応答遅延時間を示し、アプリ応答待機時間は、動的URL(Dynamic URL)やポストURL(POST URL)から生成されたページの一番目のパケットを受けるまでの応答遅延時間を意味する。アプリ応答待機時間は、クエリパラメータ(query parameter)が含まれた動的なコンテンツ、HTML、ASP、JSP、PHP等の動的コンテンツ(page)及び/又はHTTP POSTメソッド(method)を使用した呼出と関連し得る。即ち、これは、WASサーバ440及び/又はDBサーバ450を経由してリターンされる作業と関連した応答待機時間を示す。
まず、クライアント端末410におけるユーザの体感速度は、ページのローディング時間で把握される。これは、各主要なウェブページに対するユーザ別体感速度として分析されて視覚化される。即ち、特定のウェブページに接続するユーザが多数の場合、多数のユーザのユーザ環境別、及び/又は地域別の体感時間を把握することができる。ユーザ環境は、地域、クライアント端末に設置されたOS、ウェブブラウザの種類、及び端末の種類別に異なって把握されることができる。また、地域別接続現況及び分布モニタリングの環境を提供することができる。このとき、地域別接続現況は、世界地域全体を対象とするグローバル地域現況と、国内地域を対象とするローカル地域現況とに区分して提供されることができる。
サーバ430までのユーザ区間(ネットワーク区間)に対する実際のトラフィック発生現況は、ネットワークの往復到達時間(RTT:Round Trip Time)で表現され得る。これは、ネットワークの所要時間とも呼ばれ得る。ここに、使用量に関して、秒当たりのデータ伝送速度を示すBPS(Bit Per Second)情報、秒当たり連結されるユーザの数を示すUPS(User Per Second)情報、秒当たり連結される新しいセッションの数を示すCPS(Connection Per Second)情報、及び秒当たり発生するトランザクションの数を示すTPS(Transaction Per Second)情報の現況も把握可能である。また、ユーザアプリケーションをモニタリングすることができ、ユーザによる非正常行為も分析及び追跡可能である。このような性能関連の指標を介して、ネットワークトラフィックを占有しているアプリケーションを認知することができ、ユーザ、アプリケーション、及びネットワークの相関関係をモニタリングすることができる。
さらに、パケットミラーリング装置400は、各サーバ430、440、450間の応答遅延時間も把握可能である。即ち、サーバ区間別の応答品質指標を把握することができるが、ここには、サーバ別の応答遅延時間、サーバ別の応答待機セッションの数(wait)及びアプリケーションURI別の指標及び/又はDBサーバのクエリ(DB Query)別の指標を把握することができる。
図5は、本発明の一実施例にかかるパケットミラーリング装置を具体的に示すブロック図である。図5に示すように、本発明の一実施例にかかるパケットミラーリング装置500は、ポート510、パケット分析モジュール520、サービスモジュール530、及びユーザインターフェース540を含むことができる。また、パケット分析データベース522、及びサービスデータベース532をさらに含むことができる。
図5を参照すると、ポート510は少なくとも一つ以上備えられることができ、これは、スイッチ装置524-1、524-2、...と連結される。一つのポートは一つのスイッチ装置と連結されることができる。連結されたポートは、スイッチ装置524-1、524-2、...からミラーリングされたパケット情報を受信し、パケット分析モジュール520に前記ミラーリングされたパケットを送信する。
パケット分析モジュール520は、ミラーリングされたパケットを収集し、実質的にパケットを分析する。これは、分析エンジン(engine)と呼ばれ得る。パケット分析モジュール520は、ミラーリングされたパケットで1次的にパケットのヘッダを分析する。これを介して、HTTPパケットであるか、DBと関連したパケットであるか、TCPと関連したパケットであるか区分する。即ち、どのプロトコルと関連したパケットであるか区分する。これを介して、「GET/ウェブアドレス/HTTP/1.1」のような要請情報をどのサーバに送信したか確認できる。パケット分析モジュール520は、このようなパケットヘッダ情報をパーシングして構文解釈する。「GET」は要請メッセージになり、「ウェブアドレス」は要請と関連したウェブアドレスを示す。そして、「HTTP/1.1」は、HTTP1.1バージョンであることを意味し、これ以外にパケットと関連した言語情報(例えば、ko-kr)も確認して保存できる。要請メソッドは、GET以外にも、POST、HEAD、PUT、DELETE等が状況に応じて送信され得、パケット分析モジュール520をこのような情報を時間情報、関連IPと共に保存する。
パケット分析モジュール520は、それぞれのパケットのインデックスを付与し、付与されたインデックスに基づいて、どのパケットであるか、該当パケットであるHTTPベースの要請パケットであるか、それに対する応答パケットであるかを確認する。このとき、過去受信していたパケットから獲得した情報との比較分析も行われる。即ち、第1の個体から獲得された要請パケットが存在する場合、以降の第2の個体からそれに対する応答パケットが存在し得、このとき、時系列的な少なくとも二つ以上のパケット、第1の個体と第2の個体から送受信されるパケットに基づいて、一つのセッション確立、トランザクションのフローを分析することができる。
また、パケット分析モジュール520は、クライアント端末がどのブラウザを使用しているか、HOSTと関連した情報、以前のURLアドレス情報、ブラウザの支援言語情報をパーシングすることができる。このとき、ヘッダがどんな種類のヘッダ(general headerなのか、request headerなのか、entity headerなのか)なのか分析でき、ヘッダとペイロードの境界線を示す情報をパーシングすることができる。
それから、パケット分析モジュール520は2次的に、ミラーリングされたパケットのURL(Uniform Resource Locator)(又はURI(uniform resource identifier))、ソースIP(Source_ip)、目的地IP(Dest_ip)及び時間情報を分析する。ここで、URL値を確認すると、「https://www.google.co.kr/?gws_rd=ssl」のように、どのアドレスにリダイレクト(redirect)させてくれるパケットなのか確認できる。また、ソースIPは、クライアント端末のIPアドレスを、目的地IPは要請の最終目的地のサイトと関連したサーバのIPを示すことができる。応答パケットの場合、反対の情報を示すことができる。時間情報はタイムスタンプの形式で提供できる。これ以外に、全パケットの長さ情報(length)も確認できる。
パケット分析モジュール520は、それぞれのプロトコル、例えば、HTTP、IP、UDP、TCP、DNS等様々なプロトコルに対応したパケット分析アルゴリズムを含んでおり、各プロトコルに合わせて適応的にパケットからURL、ソースIP、目的地IP及び時間情報を抽出して分析に用いることができる。
このように2次分析で抽出されたパケット関連の情報に基づいて、1トランザクション当たり約120個要素の性能指標情報を生成することができる。好ましくは、1秒に10,000個のトランザクションを分析する。それから、前記抽出されたパケット関連の情報及びトランザクション当たり生成された120個余りの性能指標情報をデータベース522に保存する。以下、ミラーリングされたパケットのパケット関連の情報に基づいて生成される性能関連の指標をより詳細に説明する。
パケット分析モジュール520は、トランザクション単位で、往復到達時間情報(RTT情報)を算出する。即ち、データ信号の往復時間情報を算出する。RTT情報の算出と関連したアルゴリズムは、以下の図7を通じてより詳細に説明する。
そして、パケット分析モジュール520はセッション情報を生成する。これは、秒当たり確立されているソケットの数、即ち、切らずに連結されているソケットの数を示すことができる。、また、パケット分析モジュール520は、クライアントが要請を送り、特定サーバから応答を受ける前までかかった応答待機時間(Latency)情報を算出する。これは、データベースをクエリするか、アプリケーションが行われるか、その他の作業をしながらかかる待機時間と見ることができる。
パケット分析モジュール520は、秒当たり送信又は受信されるビット(bit)の大きさを示すBPS情報、秒当たり送信又は受信されるパケットの数情報を示すPPS(Packet Per Second)情報、秒当たり連結されるユーザの数(IP基準)を示すUPS情報を算出する。これは、1秒に何名のユーザが連結されているかを特定の目的地IPに連結されるソースIPの数に基づいて算出できる。これ以外に、秒当たり連結される新しいセッションの数を示すCPS情報(1秒に何個のセッションが新たに連結されるかを示す)、秒当たり発生するトランザクションの数を示すTPS情報(1秒に何個のトランザクションが発生するかを示す)を算出する。また、パケット分析モジュール520は、秒当たり要請するURLの数を示すHPS(Hit Per Second)情報を算出する。このとき、パケット分析モジュール520は、サーバHPSの場合、該当サーバで秒当たり何個のURLが要請されるかに基づいてHPSを算出し、クライアントHPSの場合、該当クライアントで秒当たり何個のURLが要請しているかに基づいてHPSを算出する。そして、パケット分析モジュール520は、秒当たり連結されるサーバの数情報であるSPS(Server Per Second)情報を算出する。これは、クライアントが1秒に何個のサーバに連結されているかを示す。
これ以外に、パケット分析モジュール520は、応答待機セッションの数を示すwait情報を算出する。これは、クライアントが要請を送り、応答を受けていない状態のセッションの数であって、サーバのリアルタイムのセッションが100個であるが、このうちWaitが10であると、100個のうち10個のセッション(Session)はまだ応答を受けていない状態であることを示す。
さらに、パケット分析モジュール520は、client_ip、server_ip、client_port、server_port情報を生成する。これは、それぞれクライアントのIP情報、サーバのIP情報、クライアントのポート情報及びサーバのポート情報を示す。このとき、client_ip及びserver_ip情報は、ストリング(string)を単位で使用し(例えば、222.103.141.187)、client_port及びserver_port情報は、ナンバ(number)を単位で使用する(例えば、1254又は80)。
パケット分析モジュール520は、transaction_number情報を算出することができる。transaction_number情報は、セッションが結ばれた後に生成されたトランザクション番号である。セッションが結ばれた後、一番目のトランザクションである場合、1を示す。通常、セッションを一度結んだ後、多数個のトランザクションが発生するが、このたびに1ずつ数字を増やしながらインデクシングする。ブラウザで一ページを見る場合、ページ内の各コンポーネント(js、css、image等)を要請するとき、一セッションで多数のトランザクションを処理する場合に、トランザクション当たり1ずつ増加しながらインデクシングしてこれを区分することができる。例えば、8のtransaction_number情報を有する場合、セッションが結ばれた後、8番目のTransactionであったことを示す。
パケット分析モジュール520は、トランザクションの開始と終了に関して、start_time情報、start_usec情報、end_time情報、end_usec情報、fin_time情報、及びfin_usec情報を生成する。これは、ミラーリングされたパケットのソースip、目的地IP及びタイム情報に基づいて、同一のソース(クライアント)と目的地(例えば、サーバ)で一定の時間区間内で要請パケットを与え、それに関するデータを全て受信しているかに対する細部内訳を分析することによって獲得されることができる。
start_time情報は、トランザクションの開始時間(年月日時分秒:例えば、2012-07-18 22:33:06)を、start_usec情報はTransactionの開始時間(百万文の1秒)を示す。start_usec情報は、前記start_timeと合わせて完成された時間になり得る(例えば、2012-07-18 22:33:06.288370)。
end_time情報は、トランザクションの終了時間を示す。即ち、データの終了(トランザクションの最後のResponse Dataを受けた時間)を示す。例えば、2012-07-18 22:33:12で表現され得る。
end_usec情報は、トランザクションの終了時間を百万文の1秒の単位で示したものである。
fin_time情報は、トランザクションが終了した後、次のトランザクションが来たり、トランザクションが完了(Finを受ける)するか、タイムアウト(Timeout)に終わったりして、完全に終了した時間を示す。例えば、2012-07-18 22:35:23で表現され得る。
fin_usec情報:トランザクションの完全終了時間を百万文の1秒の単位で示したものである。
パケット分析モジュール520は、トランザクションの状態を「state」という情報名で保存する。これは、7つのナンバで表現され得、次の通りである。
トランザクションの状態コード(Code)
1-session_finish:初期状態
2-3whs_syn_sent:3 handshakeの中、クライアントがsynを送った状態
3-3whs_syn_received:3 handshakeの中、クライアントがsyn/ackを受けた状態
4-3whs_ack_received:3 handshakeの中、サーバがackを受けた状態
5-session_connected:セッションが結ばれた状態
6-session_request:クライアントがRequest(要請)をした状態
7-session_response:サーバがResponse(応答)をした状態
次に、トランザクションの結果を「result」という情報名で保存する。これは、11個のナンバで表現され得、次の通りである。
トランザクションの結果コード
1-trans_finish:一つのトランザクションが終わった状態
2-client_finish:セッションをクライアントが終了した状態(Finish-FINを送る)
3-server_finish:セッションをサーバが終了した状態(Finish-FINを送る)
4-client_reset:セッションをクライアントが終了した状態(Reset-RSTを送る)
5-server_reset:セッションをサーバが終了した状態(Reset-RSTを送る)
6-client_timeout:クライアントが要請を送る中、Timeoutにかかって終了した状態
7-server_timeout:サーバが応答を送る中、Timeoutにかかって終了した状態
9-session_error:HTTPセッション誤謬
10-req_parser_error:HTTP Request Header誤謬
11-rsp_parser_error:HTTP Response Header誤謬
次に、パケット分析モジュール520は、トランザクションの応答遅延と関連した時間情報を算出する。これは、tran_latency、tran_rsp_time、used_time、及びfin_used_time情報を含む。
tran_latency情報は、トランザクションの応答待機時間を示す。これは、クライアントが要請を送った後、サーバから最初のデータを受けるまでの待機時間を示す。これは、百万文の1秒を単位とする。例えば、76328値を有し得る。tran_rsp_timeは、トランザクションの応答時間であって、応答データの送信時間を示す。即ち、サーバが応答データを送信した時間を示す。これもやはり、百万文の1秒を単位で使用する。used_time情報は、トランザクションの全体使用時間であって、「End Time-Start Time」で算出できる。これは、クライアントとサーバとの間にセッションが結ばれ、クライアントの要請とサーバの応答まで全て終わるまでかかった時間を示す。fin_used_time情報は、トランザクションの完全終了までの使用時間であって、「Fin Time-Start Time」で算出される。
パケット分析モジュール520は、session_req_pkts、session_req_bytes、session_rsp_pkts、session_rsp_bytes、session_bps、sess_max_bps、session_pps、sess_max_pps情報を算出する。
session_req_pkts情報は、トランザクションの要請データパケットの数を示し、これは、特定のクライアントが要請データとして送ったパケットの数に基づいて算出される。これは、ナンバを単位とする。session_req_bytes情報は、トランザクションの要請データのバイトを示し、特定のクライアントが要請データとして送ったバイトの量に基づいて算出される。単位はbyteである。session_rsp_pkts情報は、トランザクションの応答パケットの数を示し、特定サーバがクライアントに送った応答データのパケットの数に基づいて算出される。ナンバを単位とする。session_rsp_bytes情報は、トランザクションの応答データのバイトを示し、特定サーバが応答データとして送ったバイトの量に基づいて算出される。単位はbyteである。session_bps情報は、セッションのリアルタイムのBPSを示し、現在結ばれたセッションのBPSに基づいて算出される。単位はナンバである。session_pps情報は、セッションのリアルタイムのPPSを示し、現在結ばれたセッションのPPSに基づいて算出される。単位はナンバである。sess_max_pps情報は、セッションの最大のPPSを示し、該当セッションが使用される期間中の最大のPPSに基づいて算出される。単位はナンバである。
次に、パケット分析モジュール520は、domain、url、method、及びresponse_code_numberの情報を生成する。
domain情報は、クライアントが要請したUrlのうちドメインと関連した情報を示す。これはストリングを単位とする。例えば、「www.lgmobile.co.kr」のような情報を示す。
url情報は、クライアントが要請したUrlであって、「/jsp/front/search/include/akc.jsp」のような情報を示す。単位はストリングである。
method情報は、要請メソッド(POST、GET、HEAD、PUT...)の種類であって、クライアントが要請した要請メソッドのタイプを示す。単位はストリングである。
response_code_number情報は、応答結果であって、HTTP状態コードで示す。例えば、サーバが応答したResponse Status Codeとして「200、304、404、500…」のうち一つの値で表現され得る。単位はストリングである。
パケット分析モジュール520は、特定のurlと関連して、users、max_users、sessions、max_sessions、wait、max_wait、ups、max_ups、cps、max_cps、tps、max_tps、latency、max_latency、idle情報を算出する。
users情報は、該当Urlのリアルタイムのユーザ(Client IP基準)の数を示し、例えば、「/jsp/front/search/include/akc.jspのリアルタイムのユーザの数」を示し得る。単位はナンバである。
max_users情報は、Urlが使用されている時間の間の該当Urlの最大のユーザ数であって、例えば、「/jsp/front/search/include/akc.jspの最大のユーザ数」を示す。単位はナンバである。
sessions情報は、該当Urlのリアルタイムのセッションの数を示し、例えば、「/jsp/front/search/include/akc.jspのリアルタイムのセッションの数」を示し得る。単位はナンバである。
max_sessions情報は、Urlが使用されている時間の間の該当Urlの最大のセッションの数を示し、例えば、「/jsp/front/search/include/akc.jspの最大のセッションの数」を示し得る。単位はナンバである。
wait情報は、該当UrlのリアルタイムのWaitの数であって、例えば、「jsp/front/search/include/akc.jspのリアルタイムの応答待機セッションの数」を示し得る。単位はナンバである。
max_wait情報は、Urlが使用されている時間の間の該当Urlの最大の応答待機セッションの数であって、例えば、「/jsp/front/search/include/akc.jspの最大の応答待機セッションの数」を示し得る。単位はナンバである。
ups情報は、該当UrlのリアルタイムのUPSを示し、例えば、「/jsp/front/search/include/akc.jspのリアルタイムのUPS」を示し得る。これは、「/jsp/front/search/include/akc.jspに秒当たり連結されるユーザの数」を意味する。単位はナンバである。
max_ups情報は、該当UrlのMax UPSを示し、例えば、「/jsp/front/search/include/akc.jspの最大のUPS」を示し得る。単位はナンバである。
cps情報は、該当UrlのリアルタイムのCPSを示し、例えば、「/jsp/front/search/include/akc.jspのリアルタイムのCPS」を示し得る。これは、「/jsp/front/search/include/akc.jspに秒当たり連結されるセッションの数」を意味する。単位はナンバである。
max_cps該当UrlのMax CPSを示し、例えば、「/jsp/front/search/include/akc.jspの最大のCPS」示し得る。単位はナンバである。
tps情報は、該当UrlのリアルタイムのTPSを示し、例えば、「/jsp/front/search/include/akc.jspのリアルタイムのTPS」を示し得る。これは、「/jsp/front/search/include/akc.jspの秒当たり発生するトランザクションの数」を意味する。単位はナンバである。
max_tps情報は、該当UrlのMax TPSを示し、例えば、「/jsp/front/search/include/akc.jspの最大のTPS」を示し得る。単位はナンバである。
latency情報は、該当UrlのLatencyであって、例えば、「jsp/front/search/include/akc.jspのリアルタイム Latency(応答待機時間)」を示し得る。単位はナンバである。
max_latency情報は、該当UrlのMax Latencyを示し、例えば、「/jsp/front/search/include/akc.jspの最大のLatency(応答待機時間)」を示し得る。単位はナンバである。
idle情報は、該当UrlのIdleを示し、例えば、「/jsp/front/search/include/akc.jspの要請がなかった時間」を示し得る。該当Urlが多く使用されるUrlである場合、Idleは短くなり、逆に多く使用されないUrlである場合、Idleが長くなる。単位はナンバである。
パケット分析モジュール520は、クライアントの要請パケット及びサーバからの応答パケットのヘッダを分析し、content_len、mime、referrers、agent、cookie情報を生成することができる。
content_len情報は、応答ヘッダのコンテンツの長さを示し、サーバが送った応答HTTPヘッダの中に含まれたコンテンツの長さを示す。例えば、「/jsp/front/search/include/akc.jspのbyte」を意味し得る。単位はストリングである。
mime情報は、応答ヘッダのコンテンツタイプを示す。例えば、text/html等のうち一つであり得る。これは、サーバが送った応答HTTPヘッダの中に含まれたコンテンツタイプの情報である。単位はストリングである。
referrers情報は、要請ヘッダのリファラ(Referrer)を示し、クライアントが送った要請HTTPヘッダの中に含まれたリファラ(Referrer)を示す。例えば、「/jsp/front/search/include/akc.jspのリファラは、http://www.lgmobile.co.kr/jsp/front/search/include/miniAkc.htmlである」のような意味で考慮され得る。単位はストリングである。
agent情報は、要請ヘッダのエージェント(Agent)を示し、これは、クライアントが送った要請HTTPヘッダの中に含まれたエージェントを示す。この情報は、ブラウザが含ませて送る場合が多く、OSバージョン、ブラウザの種類、バージョン等の情報を含むことができる。
cookie情報は、要請ヘッダのクッキー(cookie)を示し、クライアントが送った要請HTTPヘッダの中に含まれたクッキーと関連した情報を含んでいる。
パケット分析モジュール520は、特定サーバのネットワークサービスと関連した情報として、server_countrys、server_max_countrys、server_error、server_user、server_max_user、server_sessions、server_max_sessions、server_bps、server_max_bps、server_pps、server_max_pps、server_rtt、server_max_rtt、server_ups、server_max_ups、server_cps、server_max_cps、server_tps、server_max_tps、server_hps、server_max_hps、server_wait、server_max_wait、server_idleの情報を生成することができる。
server_countrys情報は、該当サーバにおけるリアルタイムの国の数を示す。例えば、「203.247.157.199サーバに連結されたユーザのリアルタイムの国の数」を意味し得る。これに基づいて、203.247.157.199サーバには、現在二カ国が連結されているという事実が分析できる。
server_max_countrys情報は、該当サーバのMax Countryの数を示す。即ち、登録されたサーバの場合、Maxの基準は一日を示し得る。これは、ユーザの設定事項に変更可能である。例えば、「203.247.157.199サーバに連結された最大の国の数」を意味し得る。これを通じて、203.247.157.199サーバには、最大10カ国で同時に連結されたことがあるという事実を分析できる。
server_error情報は、該当サーバのリアルタイムのエラー(400、500個のResponse Code)の数を示す。例えば、203.247.157.199サーバが応答したResponse Status Codeのうち400~599までのユーザエラー及び/又はサーバエラーの数を示し得る。
server_user情報は、該当サーバのリアルタイムのユーザの数(ClientIP基準)を示す。例えば、「203.247.157.199サーバのリアルタイムのユーザの数」を意味し得る。
server_max_user情報は、該当サーバの最大のユーザの数を示す。ここで、登録されたサーバの場合、Maxの基準は一日であり得る。これは、ユーザの設定事項に変更可能である。例えば、これは「203.247.157.199サーバの最大のユーザの数」を示し得る。
server_sessions該当サーバのリアルタイムのセッションの数を示す。server_max_sessions情報は、該当サーバのMaxセッションの数を示す。server_bps情報は、該当サーバのリアルタイムのBPSを示す。server_max_bps情報は、該当サーバのMax BPSを示す。server_pps情報は、該当サーバのリアルタイムのPPSを示す。server_max_pps情報は、該当サーバのMax PPSを示す。
server_rtt情報は、該当サーバのリアルタイムのRTTを示す。server_max_rtt情報は、該当サーバのMax RTTを示し、例えば、これは、「203.247.157.199サーバの最大の平均RTT」で解決できる。server_rtt情報及びserver_max_rtt情報の単位はmicro secである。
server_ups情報は、該当サーバのリアルタイムのUPSを示す。これは、「203.247.157.199サーバのリアルタイムのUPS」を示し得、これは、203.247.157.199サーバには秒当たり1名程度のユーザが連結されていることを意味する。
server_max_ups情報は、該当サーバのMax UPSを示す。
server_cps情報は、該当サーバのリアルタイムのCPSを示し、例えば、「203.247.157.199サーバのリアルタイムのCPS」を示し得る。これは、203.247.157.199サーバには秒当たり15個程度のセッションが連結されていることを意味する。
server_max_cps情報は、該当サーバのMax CPSを示す。
server_tps情報は、該当サーバのリアルタイムのTPSを示し、例えば、「203.247.157.199サーバのリアルタイムのTPS」を示し得る。これは、203.247.157.199サーバには、秒当たり79個程度のトランザクションが発生していることを示す。
server_max_tps情報は、該当サーバのMax TPSを示す。
server_hps情報は、該当サーバのリアルタイムのHPSを示す。例えば、「203.247.157.199サーバのリアルタイムのHPS」を示し得る。これは、203.247.157.199サーバrには、秒当たり79個程度のUrlが要請されていることを意味する。
server_max_hps情報は、該当サーバのMax HPSを示す。
server_wait情報は、該当サーバのWaitの数を示す。例えば、「203.247.157.199サーバのリアルタイムのWaitの数」を示し得る。これは、203.247.157.199サーバには、現在206個のセッションのうち46個のセッションが応答待機中であることを示し得る。
server_max_wait情報は、該当サーバのMax Waitの数を示す。
server_idle情報は、該当サーバのIdle Timeを示す。例えば、「203.247.157.199サーバに要請がなかった時間」を示し得る。該当サーバが接続者が多い場合、Idleは短くなり、接続者が小さい場合、Idleが長くなる。単位はmicro secである。
本発明の実施例にかかると、server_countrys、server_max_countrys、server_error、server_user、server_max_user、server_sessions、server_max_sessions、server_bps、server_max_bps、server_pps、server_max_pps、server_ups、server_max_ups、server_cps、server_max_cps、server_tps、server_max_tps、server_hps、server_max_hps、server_wait、及びserver_max_wait情報の単位はナンバである。
パケット分析モジュール520は、特定のクライアントのネットワークサービスと関連した情報として、client_country_code、client_error、client_servers、client_max_servers、client_sessions、client_max_sessions、client_bps、client_max_bps、client_pps、client_max_pps、client_rtt、client_max_rtt、client_sps、client_max_sps、client_cps、client_max_cps、client_tps、client_max_tps、client_hps、client_max_hps、client_wait、client_max_wait、及びclient_idle情報を生成し得る。
client_country_code情報は、クライアントの国コード(KR..)を示す。例えば、「222.103.141.187クライアントの国はKR」を示し得る。
client_error情報は、クライアントのリアルタイムのエラー数を示す。例えば、「222.103.141.187 クライアントが要請したトランザクションのうち、Response Status Codeの400~599までのエラー数」を示し得る。
client_servers情報は、クライアントのリアルタイムのサーバ接続の数を示し、これは、現在のパケット分析モジュール520がモニタリング中であるサーバに基づいて算出される。例えば、「222.103.141.187clientが現在接続中であるサーバの数」を示し得る。client_max_servers情報は、クライアントの最大の同時サーバの数を示す。client_sessions情報は、クライアントのリアルタイムセッションの数を示す。client_max_sessions情報は、クライアントの最大のセッションの数を示す。
client_bps情報は、クライアントのリアルタイムのBPSを示し、client_max_bpsは、クライアントの最大のBPSを示し、client_pps情報は、クライアントのリアルタイムのPPSを示し、client_max_pps情報は、クライアントの最大のPPSを示す。
client_rtt情報は、クライアントのリアルタイムのRTTを示し、client_max_rtt情報は、クライアントの最大のRTTを示す。client_rtt情報及びclient_max_rtt情報の単位はmicro secである。
client_sps情報は、クライアントのリアルタイムのSPSを示し、現在秒当たり何個のサーバに連結されているかを示す。client_max_sps情報は、クライアントの最大のSPSを示す。client_cps情報は、クライアントのリアルタイムのCPSを示し、これは、秒当たり何個程度のセッションが連結されているかを示す。client_max_cps情報は、クライアントの最大のCPSを示す。client_tps情報は、クライアントのリアルタイムのTPSを示し、これは、現在秒当たり何個程度のトランザクションが発生しているかを示す。client_max_tps情報は、クライアントの最大のTPSを示す。client_hps情報は、クライアントのリアルタイムのHPSを示し、client_max_hps情報は、クライアントの最大のHPSを示す。
client_wait情報は、クライアントのリアルタイムのWaitの数を示し、現在特定のクライアントで応答待機中であるセッションの数を示す。client_max_wait情報は、クライアントの最大のWait数を示し、client_idle情報は、クライアントのリアルタイムのIdle Timeを示し、これは、特定のクライアントで要請がなかった時間を示す。client_idle情報の単位はmicro secである。
本発明の実施例にかかると、client_country_code、client_error、client_servers、client_max_servers、client_sessions、client_max_sessions、client_bps、client_max_bps、client_pps、client_max_pps、client_sps、client_max_sps、client_cps、client_max_cps、client_tps、client_max_tps、client_hps、client_max_hps、client_wait、及びclient_max_wait情報の単位はナンバである。
さらに、パケット分析モジュール520は、org、city_id、isp_id、os_id、browser_id、mobile_id、telcom_id情報を生成し得る。
org情報は、IPベースクライアントの組織を示す。例えば、「222.103.141.187clientの組織」は、Korea Telecomであることを示し得る。
city_id情報は、IPベースクライアントのCity Codeを示し得る。例えば、「222.103.141.187clientのCity」はSeoulであることを示し得る。
isp_id情報は、IPベースクライアントのISP Codeを示す。例えば、「222.103.141.187clientのISP」は、Korea Telecomであることを示し得る。
os_id情報は、クライアントのclientのOS Codeを示す。これを通じて、該当クライアントがOSとしてWin XPを使用するか、iOSを使用するか、アンドロイド(登録商標)を使用するかに対する情報を確認することができる。
browser_idは、クライアントのBrowser Codeを示す。これを通じて、該当クライアントがウェブブラウザとして、explorerを使用するか、chromeを使用するか、MSIE9を使用するかに対する情報を確認することができる。
mobile_id情報は、クライアントのMobile Codeを示す。これは、クライアントの機器識別情報であって、サムスン、パンテック、アップル機器であるかに対する情報を示す。
telcom_id情報は、クライアントのTelCom Codeを示す。これは、クライアントの通信会社がSKTであるか、KTであるか、LGTであるかに対する情報を示す。
前記した120個余りのパケットと関連したネットワークサービス性能関連の指標は、リアルタイムで生成され、データベース522に保存される。
サービスモジュール530は、データベース522に保存された性能関連の指標に基づいて統計を出す。統計は、特定のサーバ単位から、特定のユーザ単位から、URL単位から、セッション単位から、特定地域に位置したサーバグループ、特定地域に位置したクライアントグループ単位から、及び/又はウェブページ単位からなることができる。サービスモジュール530は、予め設定された様々な形態の視覚化ツールを用いて、ユーザが直観的に現在のネットワークによるサービスの性能を把握できるように前記性能関連の指標を適切に視覚化する。視覚化は統計に基づいて行われる。即ち、特定の媒介と関連した指標を取り合わせて、意味ある形態のグラフ又はテーブルを生成することができる。例えば、特定のクライアント又はサーバと関連し、特定の時間帯に生成されたセッションのリストを生成するか、その際に発生したデータベースクエリに対するテーブルを生成する等の作業を行う。即ち、ネットワークサービスと関連した前記性能関連の指標は、該当パケットの時間情報(タイムスタンプ情報)と共に保存されるので、特定の時間帯のパケットフローをクライアント端末及びサーバ端との関係内で理解できるようにフローマップ(flow map)を生成することもできる。様々な統計及びそれによる視覚化方法は、以下の図面を通じてより詳細に説明する。
サービスモジュール530は、ユーザからの入力に対応し、特定のグラフ又は特定のテーブル/リストを生成するためには、所望の時間又は所望の環境(例えば、特定のウェブブラウザタイプ又は特定のユーザ端末の種類(モバイルなのか、PCなのか))のような基準(criteria)変数に基づいて検索及び照会することができる。サービスモジュール530は、選択された基準変数に基づいて、所望のデータを分類して適切な形態の視覚化情報を生成することができる。
本発明の実施例にかかると、サービスモジュール530は、ネットワークサービスにおいて、問題になる部分を見つけて表示するアラーム機能を行うことができる。例えば、waitの数が臨界値以上である場合、該当区間の応答速度に問題があると判断し、該当区間に問題があることを視覚的に表示できる。問題発生による警告手段は、必ず視覚的に異なって表現すること以外にも、関連の担当者に既に保存された連絡先に文字メッセージを送信するか、e-mailを送信する形態で実現化できる。これは、図12を通じて、より詳細に説明する。
サービスモジュール530で生成された各種統計データ、視覚化情報データ、視覚化ツールに関する情報、及びユーザにより設定される各種臨界値情報は、サービスデータベース532に保存され、ユーザインターフェース540を介してユーザが任意の加工された情報を要請するとき、それに対応する情報を返還することができる。
ユーザインターフェース540は、運営者から各種入力を受けて、サービスモジュール530で生成したグラフ又はテーブルのような視覚化された情報を出力する装置を含む。これは、マウス、キーボード、タッチパッドのような入力手段と、モニター、タッチスクリーンのような出力手段とを含むことができる。ユーザは、サーバに対する情報(例えば、サーバ名、サーバIP、関連したURL、ポート、ソートナンバ(sort number)、サーバの位置情報、処理可能なIP領域等)と関連したデータベース、各種サーバ端の連結関係(リンク)と関連したフロー(flow)データベース及びユーザに出力するための視覚化ツール及び/又は視覚化と関連したメタデータを含むUX/UIデータベース情報を入力することができる。また、問題発生の判断のためのルールセット及びルールセットと関連した各種設定値を入力することができる。
図6は、本発明の一実施例にかかるパケットミラーリング装置のネットワーク性能診断方法を概略的に示すフローチャートである。
図6を参照すると、パケットミラーリング装置は、スイッチング装置からミラーリングされたパケットを獲得する(S610)。
それから、ミラーリングされたパケットで、ソースIP、目的地IP及び時間情報を抽出した後、各種性能関連の指標を算出する(S620)。性能関連の指標のうち一部は、トランザクション単位で算出されることもあり、特定の性能関連の指標は秒単位で算出されることもある。
それから、パケットミラーリング装置で算出された性能関連の指標をローカルストレージ及び/又は外部のデータベースに保存できる(S630)。そして、算出された性能関連の指標に基づいて、クライアント端末のユーザ及び/又はネットワーク管理者が所望の統計情報を視覚化するために、各指標に対する統計を出し、所望の情報に対する検索及び照会結果を返還することができる。また、サービスと関連し、特定値以上の場合、ネットワーク上の問題と判断し、これを区間別に又はウェブサイト別に表示できる。
図7a及び図7bは、本発明の一実施例にかかるパケットミラーリング装置で算出されるユーザとサーバとの間のネットワークRTT(Round Trip Time)指標を示す概念図である。
図7aを参照すると、パケットミラーリング装置は、ユーザとサーバとの間のネットワーク上のパケットの往復到達時間(RTT)情報を算出する。このとき、パケットミラーリング装置は、クライアントとサーバとの間にあると仮定する。基本的な同期化のシナリオを仮定し、最初のクライアントが同期信号(SYN)を送信し、サーバはこれを受信し、サーバは受信された同期信号に応答して同期信号と応答信号(ACK)を共に送信し、クライアントはサーバからの信号に応答して応答信号(ACK)を送信できる。このような3つの信号の送受信を3-way Handshakeと呼び得る。
このような信号送信シナリオで、パケットミラーリング装置はクライアントとサーバとの間にあるため、クライアントから出発し、実際のサーバに同期信号(SYN)が到着する時間より早いT1時点に、パケットミラーリング装置にミラーリングされたパケットが到着する。そして、サーバからの同期信号及び応答信号は、クライアントの到着時点より早いT2時点に、パケットミラーリング装置に到着する。最後に、クライアントでの応答信号(ACK)は、サーバでの到着時点より早いT3時点に、パケットミラーリング装置に到着する。
このような関係で、パケットミラーリング装置は、3つのパケット送受信時点と関連し、T1乃至T3の時間情報を確保することができ、サーバでの到達時間で一定時間早い時点にシフトされたRTT値を「T3-T1」を用いて算出できる。これは、ネットワークRTTと呼び得る。
図7bを参照すると、ネットワークRTTをより細分化し、サーバでのRTTとクライアントでのRTTとを区分して算出できる。サーバでのRTT(sRTT)は、一つのパケットに対してサーバ端で遅延される時間を示し、これは、「T2-T1」を用いて算出できる。
また、クライアントでのRTT(cRTT)は、クライアントでのRTTであって、「T3-T2」を用いて算出できる。
本発明の一実施例にかかるパケットミラーリング装置は、前記した3つのRTT、ネットワークRTT、サーバRTT及び/又はクライアントRTTをリアルタイムでトランザクション毎に算出して保存する。
図8は、本発明の一実施例にかかるパケットミラーリング装置で算出される遅延指標を示す概念図である。
図8を参照すると、パケットミラーリング装置は、様々な遅延指標を算出できる。このとき、パケットミラーリング装置は、クライアントとサーバとの間に存在し、クライアントは複数個の要請パケットをサーバに送信し、サーバは複数個の要請に対応し、複数個の応答パケットをクライアントに送信する実施例を仮定する。
パケットミラーリング装置は、パケットミラーリング装置に最初のクライアントの要請パケットが到達したT1時間、最後のクライアントの要請パケットが到達したT2時間、サーバから最初の応答パケットが到達したT3時間、及びサーバから最後の応答パケットが到達したT4時間をミラーリングされたパケットの到着時間を介して獲得できる。
このとき、遅延指標のうち要請送信時間(request time)情報は、クライアントからサーバへの複数個の要請を送信し始めた時間から、該当要請がサーバに到達した時間を示す。これと関連し、パケットミラーリング装置は、cRTTを半分に分けた値を通じて、T1時点を基準に最初の要請パケットがクライアントから出発した時間が分かる。また、sRTTを半分に分けた値を通じて、最後の要請パケットが実際のサーバに到達した時間が分かる。このような算術的な分析を通じて、「request time=cRTT/2+(T2-T1)+sRTT/2」を用いて算出でき、一般的にsRTT値は非常に小さい値であるので、cRTT/2+(T2-T1)値と近似値で算出される。
次に、応答待機時間(latency)は、クライアントの要請と関連したURLから要請と関連したコンテンツ又はデータをサーバが受信するまでの応答遅延時間を示す。即ち、サーバはデータを受信してすぐにクライアントに送信を行うと見て、サーバが該当URLから要請と関連した最初のデータを受信するまでの時間を示す。これは、結果、(T2-T3)からsRTT値を引いた値で算出される。ここで、sRTT値を無視してもよい程度に小さい値であり得るので、「T2-T3」が応答待機時間になり得る。
次に、応答データ送信時間(response time)は、サーバがクライアントに要請と関連したコンテンツを送信するのにかかる時間を示す。これは、「response time=sRTT/2+(T4-T3)+cRTT/2」の数式を用いて算出される。sRTTが非常に小さい値であることを考慮すると、これは、(T4-T3)+cRTT/2値とほとんど一致する。
クライアント側で要請を送信した後から要請と関連した全体応答データを受信するまでの利用時間(used time)を算出すると、これは、結果、要請送信時間と応答待機時間及び応答データ送信時間の和であるので、「used time=(T4-T1)+cRTT」を用いて算出される。
図9は、本発明の一実施例にかかるパケットミラーリング装置で算出されるサーバ応答待機セッション数の指標を示す概念図である。
図9を参照すると、サーバは複数個のクライアントから少なくとも一つの要請を処理するため、一つのサーバでも前記要請と関連し、複数個のセッションを処理する。このとき、サーバでの処理時間が長くなると、クライアントでの待機時間が長くなることになり、これは、クライアント装置のユーザをして忍耐心を要求することになる。従って、サーバでのこのような応答待機セッション数の情報は、かなり重要な意味を有する。
応答待機セッションの数は、要請と関連した複数個のセッションのうちサーバでの処理を経て実際の応答データがクライアントに送信されたセッションを引いた残りのセッションの数で算出される。例えば、3つのセッションに対して1つのセッションに対する応答のみからなる場合、応答待機セッションの数、wait=3-1=2として算出される。即ち、パケットミラーリング装置は、クライアントとサーバとの間に存在し、両者間に送受信される実際のパケットに対するミラーリングパケットを全て確保可能であるので、現在のサーバ内で処理中の応答待機セッションの数を明確に把握できる。
本発明の実施例にかかると、サーバで特定の要請に対する処理が完了しているか否かは、ソースipと目的地ipに基づいて、特定のURLに対する要請に対する応答パケットがクライアントに送信されているかに基づいて確認できる。応答パケットの場合、要請パケットで示された前記特定のURLと関連していると共に、目的地ipとソースipが要請パケットと反対に含まれているか否かを確認することによって把握可能である。
図10は、本発明の一実施例にかかるパケットミラーリング装置で算出されるCPS/TPS(Connection Per Second/Transaction Per Second)の指標を示す概念図である。
図10を参照すると、一つのトランザクションは、クライアントとサーバとの間に少なくとも一つの要請と前記少なくとも一つの要請による少なくとも一つの応答データパケットを含む。図10の実施例では、一つのGET要請に対して3つの応答データパケットが一つのトランザクションをなしているが、これは、必ずしも1:3の関係を有さなければならないのではなく、要請パケットがより多く、該当要請パケットに対応の応答データパケットがより少ない関係を有してもよい。
このようなトランザクションも、ネットワークサービスの速度及び遅延と関連して重要な意味を有する。よって、パケットミラーリング装置は、秒当たり新たに試みられるトランザクションの数を算出する。これは、TPSという。また、特定のクライアントと特定のサーバ間の連結の数、これをコネクション(connection)と呼び得るが、秒当たり新たに試みられるコネクションの数を算出する。これは、CPSという。
これ以外にも、秒当たり連結されるユーザの数を示すUPS(User Per Second)情報及び特定のクライアント、特定のサーバ又は特定のセッションを介して秒当たり送受信されるデータの量を示すBPS情報も周期的に算出する。秒当たり送受信されるパケットの数を示すPPS情報、秒当たり要請するURLの数を示すHPS情報、及び秒当たり連結されるサーバの数を示すSPS情報もまた周期的に算出する。
図7a乃至図10の実施例で、パケットミラーリング装置がクライアントとサーバとの間に存在し、クライアントとサーバとの間でのネットワーク遅延と関連した各種指標を算出する実施例を例示に挙げたが、パケットミラーリング装置は、サーバ端の複数個のサーバ間に存在し、サーバ間の遅延を算出することもできる。例えば、ウェブサーバとWASサーバとの間に存在し、ウェブサーバとWASサーバとの間の遅延指標を算出でき、WASサーバとDBサーバとの間に存在し、WASサーバとDBサーバとの間の遅延指標を算出することもできる。また、複数個のパケットミラーリング装置が複数個のサーバを含むサーバ端内に配置され、各区間別の遅延指標を算出し、算出された遅延指標を互いに共有することによって、全サーバネットワーク内の区間別、サーバ別の遅延指標を総合して表示することもできる。
本発明の別の実施例にかかると、一つのパケットミラーリング装置をクライアントとウェブサーバとの間のスイッチ、ウェブサーバとWASサーバとの間のスイッチ、及びWASサーバとDBサーバとの間のスイッチにそれぞれ連結し、一つのパケットミラーリング装置で複数個のサーバ区間での区間別及び/又はサーバ別の遅延指標を算出するようにできる。
図11は、本発明の一実施例にかかるパケットミラーリング装置で算出される性能指標に基づいて生成されるフローマップ(Flow map)を示す図である。
図11を参照すると、フローマップは、ユーザと少なくとも一つのサーバ、及びユーザとサーバとの間のリンク(セッションと関連する)で構成される。本実施例では、ユーザが3つのウェブサーバと連結され、3つのウェブサーバが3つのWASと連結され、3つのWASが一つのDBと連結されるシステムの構成を示す。
本発明の実施例にかかると、パケットミラーリング装置の性能指標を視覚化する部分と関連して、パケットミラーリング装置は、ネットワーク性能指標の視覚化装置として実現化され、このとき、性能関連の指標は必ずしもミラーリングされたパケットに基づいて生成された指標を用いなければならないのではない。他の方式でパケットを獲得した後、獲得されたパケット内の情報に基づいて、前述した方式で性能関連の指標を算出した後、該当性能関連の指標をオブジェクト化し、後述するフローマップ、サーバリスト、ユーザリスト、URLリスト、セッションリスト、及びウェブページ分析ページ等を生成することができる。
まず、図11の実施例において、パケットミラーリング装置は、算出された性能関連の指標に基づいて、各個体を含むネットワークのトラフィックフローを示すフローマップを生成することができる。前記フローマップの上端には、見たい時間区間を設定する部分が存在する。リアルタイムの設定をすると、現在時点のフローマップが再生される。過去の特定時点のネットワークサービスの性能を調べるために、過去時点のフローマップを再生することもできる。例えば、過去2017年1月2日11:11から2017年1月3日01:33までの区間を見たければ、ユーザは開始時間及び終了時間をそれぞれ設定し、それによって該当時点を基準に生成されたフローマップと関連したコンテンツを再生する。このとき、設定された開始時間と終了時間によってタイムバー(time bar)が生成され、生成されたタイムバーに対して、早い前進移動、早い後進移動、再生/停止等の制御を介して、所望の時点のフローマップを再生させることができる。このとき、各リンク、各ユーザ及び各サーバを介して示しようとする指標を選択することができる。例えば、応答待機時間(latency)、応答待機セッション数の情報(wait)、BPS、CPS、TPS、UPS等のうち少なくとも一つを含むことができる。また、各ユーザ及び各サーバにはIPアドレスと共に表示されるように選択できる。
本発明の実施例にかかると、フローマップで、ユーザ及び各サーバは、前記で算出された性能関連の指標を表示する。このとき、性能関連の指標のうちネットワークの遅延及び/又は速度と関連した指標が使用できる。各性能関連の指標は、オブジェクト化され、特定の視覚化の空間上に表示される。ここで、オブジェクトはデータオブジェクトであって、フローマップ上に示されるように前記性能関連の指標をオブジェクト化したものである。例えば、応答待機速度又はBPSのようなデータを含むことができる。各性能関連の指標は時間情報を含んでいるため、オブジェクトも時間情報を含むように実現化し、視覚化の空間にマッピングされることができる。視覚化空間は、オブジェクトを表示するディスプレイ空間を示し、視覚化空間内に複数個のオブジェクトが表現され得る。
パケットミラーリング装置はフローマップを生成するにあたって、性能関連の指標がどの個体(例えば、クライアントであるか、サーバであるか、クライアントとサーバとの間のリンクであるか)と関連したものであるか判断し、どの性能関連の指標であるか識別した後、識別された性能関連の指標の内容(BPSであるか、応答待機セッションの数(wait)であるか、応答待機速度(latency)であるか)と前記性能関連の指標の個体に基づいて、視覚化空間上に予め定められたメタデータに合わせてフローマップを生成する。特に、一つの性能関連の指標は、一つのオブジェクトに対応し、指標毎にある視覚的形態をもって表現されるのが原則であるが、関連性の高い性能関連の指標(例えば、同じユーザの応答待機速度と応答待機セッションの数のような指標)は、一つの視覚的形態をもってオブジェクト化できる。即ち、一つのクライアントのアイコン上に二つのデータが一定の形式をもって共に表示され得る。サーバ端とリンクと関連した性能関連の指標も同様である。
例えば、0.63msのユーザの応答待機速度(latency)のような遅延指標はオブジェクト化され、フローマップと関連した視覚化空間上に表現される。リンクは複数個の個体間の性能関連の指標のうち少なくとも一つに基づいてオブジェクト化される。サーバは、サーバと関連した性能関連の指標のうち少なくとも一つに基づいてオブジェクト化され、前記視覚化空間上に表現される。フローマップ上に表示される遅延指標は、必ずしも応答待機速度だけを含むわけではなく、本発明の一実施例にかかり生成される約120個余りの性能関連の指標のうち他の少なくとも一つの指標を表示し得る。このとき、表示される応答待機速度は現在の応答待機速度を示し得、複数個のリンクで複数個の応答待機速度が存在する場合、ユーザの設定に応じて最も早い応答待機速度、平均応答待機速度、及び/又は最も遅い応答待機速度を表示し得る。
また、フローマップで、ユーザ及び各サーバと関連し、現在のユーザが関連している全体セッションの数の情報及び処理待機中のセッションの数の情報を「1/203」のような形態で表示し得る。
本発明の実施例にかかると、ユーザは特定地域のユーザグループで表示され得る。例えば、一つの会社内のユーザは、一つの会社と関連したグループユーザで表示され得、このとき、関連したユーザの数を別途表記し得る。また、一つのグループ内でユーザを分類し、グループ1、グループ2等に分類できる。このとき、分類の基準は、管理者が直接設定してもよく、地域、組織及び/又はIPと関連した情報に基づいて自動分類してもよい。また、分類されたユーザに対する性能関連の指標は、別途処理され得る。別途処理の意味は、フローマップでのオブジェクト化の際、別途のオブジェクトに生成されることを意味し得る。即ち、会社員50ののグループでグループ1は15名であり、グループ2は35名に分類され得、このとき、ユーザ1はグループ1の15名の性能関連の指標を示し、グループ2は残り35名の性能関連の指標に基づいてオブジェクト化され、フローマップに表示され得る。
サーバの場合も、該当サーバに連結された全体セッションの数に対して処理完了せずに、現在処理中のセッション数の情報を「1/122」のように表示し得る。ここで、セッションと関連した情報は、ユーザの設定に応じてトランザクションと関連した情報及び/又はコネクション(又はリンク)と関連した情報等に変更して示し得る。即ち、前記パケットミラーリング装置で算出される120個余りの性能関連の指標を前記フローマップに適切に図示し得る。
図11の実施例において、それぞれのリンクはパケット送信と受信両端のセッションと関連している。リンクの中間に四角ボックスの形態でオブジェクト化されて表示される情報には、応答待機速度、応答待機セッションの数の情報、BPS等のような遅延速度の指標が含まれ得る。例えば、ユーザと図11の上端のホームページ_WEB1の場合、現在両個体間には特定のパケットに対して0.03sの応答待機速度を示しており、122個のセッションが存在するが、殆ど処理され、現在1つのセッションのみが応答待機の状態であることを一目で分かる。また、401.4kのBPSで早い速度でサービスが行われることが確認できる。
これと反対に、図11の下端のポータル行政_WEB1とユーザとの間には、1.35sの応答待機速度で非常に遅い速度を示しており、現在0/65の全体セッションに対して応答待機セッションの数の比率を示しており、28.61kと比較的低いBPSを示している。従って、低い応答待機速度及びBPSにより、該当リンクは、「区間遅延」と関連した警告表示がされている。警告表示は、該当リンクを示す線の色で区分する方法と、線の太さ、又は線の形態を異にする方法を通じて表現し得る。例えば、複数個の応答待機速度と関連した臨界値を設定し、設定された臨界値と現在の応答待機速度値とを比較し、状態を区分する。状態は、後述するルールセット(Rule set)により決定されることができ、複数個の臨界値を介して複数個の区間に区分されることができる。例えば、「正常」、「警告」、「問題発生」等の状態に区分でき、臨界値との比較結果に基づいて状態を決定できる。決定された状態に対応する視覚的表現が存在し、該当状態は、前記対応する視覚的表現で表示され得る。例えば、最もよくない状態は、「問題発生」を示す赤色で、その次によくない状態については、「警告」を示す黄色で表現する方式を使用することもできる。即ち、複数個の臨界値に対応する複数個の区間別に互いに異なる視覚的表現が行われるようにすることができる。視覚的表現は、オブジェクトの色相、太さ、形態のうち少なくとも一つの変更を含む。特に、リンクと関連する状態において、「正常」の状態は黒い線で、「遅延」の状態は赤い線で、「ネットワーク問題」の状態は黒い点線で、「ネットワーク遅延」の状態は赤い点線で一目で直観的に運営者が理解できるように表示し得る。
さらに、フローマップで、ウェブサーバは少なくとも一つのWASサーバと連携される。特に、上端の二つのウェブサーバ(ホームページ_WEB1及びホームページ_WEB2)は、二つのWASサーバ(ホームページ_WAS1及びホームページ_WAS2)と複数個のリンクを形成しながら連結される。即ち、ウェブサーバ(ホームページ_WEB1)も、二つのWAS(ホームページ_WAS1及びホームページ_WAS2)と連結され、ウェブサーバ(ホームページ_WEB2)も、前記二つのWAS(ホームページ_WAS1及びホームページ_WAS2)と連結される。よって、4つのリンクが生成され、4つのリンクに対してそれぞれ性能関連の指標を表示する。
このような方式で、ユーザ-ウェブサーバの区間だけでなく、ウェブサーバ-WAS区間とWAS-DB区間を表現し得、このような視覚的な表現により、ユーザは直観的に現在又は過去にネットワークサーバ上、どの区間にどのサーバに問題があるか把握できる。
本発明の別の実施例にかかると、必ずしもユーザ-ウェブサーバ区間、ウェブサーバ-WAS区間とWAS-DB区間の3つの区間で表現されなければならないのではなく、これよりも少ない一つの区間(例えば、ユーザ-サーバ区間)で表現されてもよく、DBサーバ区間を複数個で階層化し、DBスレーブ(DB slave)、DBマスター(DB master)及びDBエンド(DB end)のように複数個で表現されてもよい。ウェブサーバやWASも同様である。このような全体的なフローマップの構成は、ユーザの設定(これは、メタデータとして保存されていることがある)を介して生成され得る。
フローマップの生成と関連して、パケットミラーリング装置は中心になるユーザ(即ち、クライアント端末のIP)に基づいて、前記ユーザの要請と関連したウェブサーバ、WASサーバ、及びDBサーバをミラーリングされたパケット分析の内容に基づいて構成できる。即ち、ミラーリングされたパケット内に目的地ip及び/又はURLと関連したサーバ端をフローマップの構成要素として抽出し、抽出された各サーバのipに基づいて、フローマップの連結関係を生成してこれを視覚化できる。又は中心になる特定のサーバを先に設定し、設定されたサーバに基づいてサーバに要請を送ったユーザと設定されたサーバと関連した他のサーバを連携し、フローマップを生成することもできる。
フローマップの構成と関連したメタデータは、サービスデータベース(図5の532)に予め保存されていることがある。メタデータにはオブジェクト化される対象客体(例えば、ユーザ、サーバ、及びリンク)の形態及び位置座標と関連した情報だけでなく、色相、フォント、物理的なファイルの位置、タイル背景等が保存され得る。
図12は、本発明の一実施例にかかるパケットミラーリング装置でのネットワーク性能と関連した警告発生可否を判断する設定値の例示を示すである。
図12を参照すると、フローマップ又はその他の視覚化された表現において、パケットミラーリング装置は、現在のネットワークサービスと関連した性能関連の指標を様々な臨界値と比較して警告表示することによってユーザをして予め大きいトラフィック問題を予防することができるように支援する。よって、警告判断と関連して、様々な臨界値の設定が要求され得る。
全般的に警告状況に対する判断は、サーバ警告と区間警告に区分できる。それぞれ別途の使用可能なルールセット(Rule set)を有する。サーバ区間に対しては、サーバ状態(サービスダウン(Service Down)、サーバダウン(Server Down))に対する部分、セッションの数、応答待機セッションの数、応答待機時間、CPS、TPS、BPS、HTTP 40x又は50xエラー等に基づいて判断され得る。区間警告は、応答待機セッションの数及び応答待機時間に基づいて判断され得る。
図12に表示されたように、パケットミラーリング装置は、前記性能関連の指標のうち少なくとも一部に基づいてネットワークサービスの問題発生可否を判断する。クライアントのコンテンツに対する要請と関連したURLから前記コンテンツと関連した最初のデータを前記サーバが受信するまでの応答遅延時間を示す応答待機時間(latency)情報、及びクライアントが送った要請に対して応答を受けていない状態のセッションの数を示す応答待機セッションの数(wait)の情報に基づいて、ウェブトラフィック遅延、WASトラフィックサーバ遅延、WASトラフィックWaitの過多、DBトラフィック遅延、ウェブWAS区間の遅延発生等を判断し得る。パケットミラーリング装置は、性能関連の指標と臨界値との比較、比較結果の臨界値よりも高い性能関連の指標の値が存在する持続時間(duration)に対する測定を通じて問題発生可否を判断し得る。
まず、ウェブトラフィック遅延は、全てのウェブサーバを対象に、全体セッションのうち応答待機セッションの数が70%以上でありながら、応答待機時間が5秒を超える場合、発生し得る。ユーザの設定に応じて、このような時間が10秒以上であれば、ウェブトラフィック遅延に対する問題があると判断し得る。
また、WASトラフィックサーバの遅延はWASサーバを対象に、応答待機時間が5秒以上になる状態が5秒以上持続されるときに問題が発生したと判断し得る。WASトラフィックwaitの過多発生は、WASサーバに対して応答待機セッションの数が70%以上の状態が5秒以上持続されるとき、問題が発生したと判断する。
DBトラフィック遅延の発生は、全てのDBサーバを対象に、全体セッションのうち応答待機セッションの数が30%以上でありながら、応答待機時間が5秒を超える場合、発生し得る。ユーザの設定に応じて、このような時間が10秒以上になると、DBトラフィック遅延に対する問題があると判断し得る。
さらに、ウェブWAS区間の遅延発生と関連して、全てのウェブサーバ及びWASサーバを対象に、応答待機時間が5秒以上の状態が約5秒以上続く場合、問題があると判断し得る。
また、パケットミラーリング装置は、BPSのような速度関連の指標を臨界値と比較し、問題発生可否を判断し得る。BPSの過多発生は、全てのサーバを対象とするが、BPSが50Mの超える状態が5秒以上続くと、問題が発生したと判断する。
CPSの過多発生は全てのサーバを対象に、CPSが150の超える状態が約10秒以上続くと、問題が発生したと判断する。
50X及び/又は40Xエラーの場合、全てのウェブサーバに対して、HTTP 50xエラー(又はHTTP 40xエラー)が5を超える状態が約5秒以上続く場合、問題が発生したと判断する。
waitの過多発生の場合、全てのサーバに対して全セッションの数が1000を超え、応答待機セッションの数の比率が80%を超える状態が約10秒以上続く場合、問題が発生したと判断する。
このような問題発生と関連した様々な臨界値、関連の持続時間臨界値、対象サーバIP、それによる警告レベルは、ユーザの設定により変更可能なように選択される。
本発明の実施例にかかると、前記のような問題状況にマッチングされるように警告レベルが定められ得、警告レベルに応じてフローマップ及びその他の様々な視覚化ツールで警告状態を前記警告レベルに合わせて表現する。また、問題状況にマッチングされる措置として、既に設定された担当者のアカウントと関連したSMSメッセージ、e-mail及び/又はSNS(Social Network Service)に警告状況を通報する動作を行い得る。
本発明の別の実施例にかかると、パケットミラーリング装置は、時間によるネットワーク性能関連の指標に対するデータを持続的に保存するので、保存されたデータはビッグデータをなすことになる。このように保存されたビッグデータに対して機械学習(machine learning)のアルゴリズムを適用し、適応的に警告状況に合う適切なルールセットを生成させることができる。例えば、パケットミラーリング装置がWASトラフィック遅延の問題が常時発生するWASサーバに対して、過去のWASサーバの平均的な応答遅延時間及び/又は応答待機セッションの数に対するデータに基づいて、臨界値をより低く、又はより高く設定させることができる。
また、過去のビッグデータを介して正常範疇での応答遅延時間及び/又は応答待機セッションの数、BPS、又はTPS値を保存している状態で、正常範疇の平均応答遅延時間及び/又は応答待機セッションの数、BPS、又はTPS値に対して臨界値以上の差が出る場合、問題発生を判断するようにできる。
それとも、ウェブサーバとWASサーバ、又はWASサーバとDBサーバの連結関係で、何れか一つのサーバにのみ集中的にサービス速度の遅延が発生する場合、他のサーバとの平均速度の遅延値に対して臨界値以上の速度遅延の発生を判断し、警告を表現するようにすることもできる。
図13は、本発明の別の実施例にかかる複数個のパケットミラーリング装置のシステムの連結関係を説明するための図である。
図13を参照すると、パケットミラーリング装置はL2/L3スイッチ及びL4スイッチと連結され得る。パケットミラーリング装置を含む全体ネットワークシステムは、インターネットネットワークと連結されたバックボーン(backborn)スイッチ、前記バックボーンスイッチと連結されたL4スイッチ、L4スイッチと連結されたファイヤウォールシステム(侵入防止システム)及び侵入遮断システム、前記侵入遮断システムと連結されたL4スイッチ、及びL4スイッチと連結されたL2/L3スイッチを含む。ここで、侵入遮断システムでブランチとして他の二つのL4スイッチが連結され得、前記二つのL4スイッチはL3システムと連結される。パケットミラーリング装置1は、L2/L3スイッチ、L4スイッチからパケットを収集する。このとき、L2/3スイッチからは1000base-T規格でパケットミラーリングを行ってミラーリングされたパケットを受信する。L4スイッチからは10G Fiber NICを用いて、パケットミラーリングを行うことによってミラーリングされたパケットを受信することができる。このとき、前記二つのL4スイッチのうち一つに対しては、1000Base-Tの管理インターフェースが連結され、スイッチング動作に対する管理及びパケットミラーリング動作に対する管理と関連した信号を送受信することができる。
本発明の前記実施例にかかると、パケットミラーリング装置1と連結されたスイッチは、それぞれ互いに異なる規格で通信し得、特に連結メディアも銅(copper)及びファイバー(fiber)を含んで様々な種類のメディアが通信特性に合わせて使用できる。
前記パケットミラーリング装置1は、パケットミラーリング装置2と連動するように構成でき、前記パケットミラーリング装置1はパケットの収集及び分析を、前記パケットミラーリング装置2は、性能統計及び検索作業を行うように動作を区分して構成できる。このとき、L2/3スイッチは、ウェブサーバ、WASサーバ及びDBサーバと複合的に連結されているので、ウェブサーバ-WASサーバ区間及びWASサーバ-DBサーバ区間に対して、区間別のネットワークサービス性能の指標をそれぞれ算出できる。
図14は、本発明のまた別の実施例にかかる複数個のパケットミラーリング装置の連結関係によって互いに異なる機能を行う構成を示す図である。
図14を参照すると、パケットミラーリング装置1はスイッチと連結され、ミラーリングされたパケットを収集する。パケットミラーリング装置1は、クライアント-ウェブサーバ、ウェブ-WAS、及びWAS-DBのような各区間に対するパケット情報を収集して区間別のネットワークサービスの性能をリアルタイムで分析してモニタリングする。これは、性能と関連した統計を出して分析を行うパケットミラーリング装置2と連動し得る。
パケットミラーリング装置2は、パケットミラーリング装置1とNFC(Near Field Communication)のような近距離無線通信又は有線通信を介して通信し、パケットミラーリング装置1から送信されるパケット関連のロー(raw)データ、及び分析された性能関連の指標と関連したデータを用いて統計データを周期的に生成する。特定の統計は、1時間単位で生成されることもある。それから、統計データを照会、検索、保管する機能を行うことができる。
図面には、パケットミラーリング装置1にのみ連結されたものと開示されているが、パケットミラーリング装置1及び/又はパケットミラーリング装置2は、ディスプレイ手段と連結され、関連したデータをユーザが見ることができるようにディスプレイできる。
図15は、本発明の一実施例にかかるパケットミラーリング装置、又は図5のサービスモジュールを具体的に示すブロック図である。図15に示すように、本発明の一実施例にかかるパケットミラーリング装置又はサービスモジュールは、受信部4210、マップ/ページ生成部4220を含むことができる。
図15を参照すると、受信部4210はパケットミラーリング装置(図示せず)又は分析データベース(図5の522参照)からミラーリングされたパケットのローデータ情報及び性能関連の指標と関連したデータを受信することができる。それから、マップ/ページ生成部4220に受信されたデータを提供する。
マップ/ページ生成部4220は、位置テンプレート4230、タイル情報4232、プロジェクト設定4234、ルールスクリプト4236及び実行スケジューラ4238情報に基づいて受信されるパケットデータ及び/又は性能関連の指標を統合し、フローマップ又は分析ページデータを生成できる。
位置テンプレート情報4230は、様々な類型のページの配置情報を含むことができる。例えば、一つの全体ディスプレイキャンバス内に複数個の分析ページ(例えば、サーバリスト、セッションリスト、ユーザリスト、URLリスト、ウェブページ分析ページ等)の配置の様々な類型情報を含んでいることがある。また、テンプレート情報は、マップ/ページ間の連結関係情報を含むことができる。ドリル-ダウンベースの階層的ページの構成と関連し、どの分析ページをどの階層に配置するかを決定して(デフォルト類型を設定可能であり、複数個の類型を設定可能である)、決定された所定の類型のマップ/ページの配置及びマップ/ページ間の連結関係を有するテンプレートが定義され得る。本発明の別の実施例にかかると、管理者が望む特定の類型のテンプレートを生成しておくと、後日同一のテンプレートを呼んで同一のマップ/ページの構成を容易に再配列できる。
タイル情報4232は、ユーザインターフェースの背景情報を保存している。例えば、フローマップの背景に使用される背景情報を保存し、マップ/ページ生成部4220がマップ/ページデータを生成する際、前記保存された背景に視覚化されるようにする。
プロジェクト設定4234の情報は、マップ生成部4220での動的コンテンツを生成するプロジェクトの各種設定情報を含んでいる。
ルールスクリプト4236は、マップ/ページに表示される各種オブジェクト(例えば、装置オブジェクト、サーバオブジェクト、及び/又はリンクオブジェクト等)の基本配置情報、マップ/ページに表記される視覚的表現の色相、フォント等を定義している。ルールスクリプト4236の設定情報は、ルールシステムにより新たな設定の生成、保存及び既存設定の削除等の管理が行われる。
また、受信されるデータの周期は可変的であり得るので、マップ/ページ生成部4230は、実行スケジューラ4238をもって、定義されたスケジュールにより自動/手動でデータ受信周期及び/又はページ生成周期を変更し、マップ/ページの生成を行うことができる。実行スケジューラ4238は、受信されたデータから分析に必要なデータを抽出するステップからマップ及び/又は分析ページの生成までの時系列的な作業順序の情報を含むことができる。
マップ/ページ生成部4230を介して生成されたマップ及び/又はページデータは、モニターのようなディスプレイ手段4240を介して出力されることができる。又は他のパケットミラーリング装置に提供され、連動するパケットミラーリング装置が提供されるマップ及び/又はページデータを加工し、他の形態のデータに生成することができる。ディスプレイ手段4240は、パケットミラーリング装置に含まれることもあり、外部のモニターのように別途存在することもある。
ネットワークのセキュリティモニタリング
本発明の一実施例にかかるネットワークモニタリング装置は、ネットワークにセキュリティ問題が発生しているか否かを決定するネットワークセキュリティモニタリングを行うことができる。一方、本発明の一側面にかかると、ネットワークモニタリングは、前記で説明したネットワークの性能に対する指標を算出するネットワーク性能モニタリング及び/又はネットワークセキュリティモニタリングを同時に、又は別個として行うことができる。以下、本発明のネットワークモニタリングの中、セキュリティモニタリングの要素についてより具体的に説明する。
前記で見た通り、本発明においてネットワークのセキュリティは、異常徴候検知(Anomaly Detection)による検知、シグネチャー(Signature)ベース検知、明細(Specification)ベース検知によるセキュリティ要素のうち少なくとも一つ以上を含むことができる。また、本発明でのセキュリティは、意図的障害だけでなく、非意図的障害の原因を全て含む。従って、システム設計誤謬、システム動作誤謬、管理者のミスの検知がセキュリティモニタリングに含まれ、ネットワークに含まれたデバイスに対する正常作動のチェック可否もやはりセキュリティモニタリングに含まれ得る。
図16は、本発明の一実施例にかかるネットワークモニタリングが適用できる第1のネットワークの概念図であり、図17は、図16の第1のネットワークに対する構成を示すブロック図である。まず、図17に示すように、本発明の一実施例にかかるネットワークモニタリングが適用できる第1のネットワークは、少なくとも一つのスイッチング装置1620を中間に備えて、互いに情報を送受信する少なくとも一つの第1のエンティティ(entity)1610と少なくとも一つの第2のエンティティ1630を含むことができる。スイッチング装置1620は、OSI2階層、OSI3階層、OSI4階層及び/又は他の階層(例えば、OSI7階層)の役割をするネットワークスイッチを含むことができる。例えば、パケットの経路を設定する機能を行うことができる。また、ロードバランシングやポートフォワーディング、QoS等の機能を行うこともできる。スイッチング装置1620は、ネットワークスイッチ、スイッチングハブ、ポートスイッチングハブ等と呼ばれ得る。
ネットワークモニタリング装置1660は、スイッチング装置1620と連結され、スイッチング装置1620を介して第1のエンティティ1610と第2のエンティティ1620との間で送受信される殆ど全てのパケットをミラーリングして獲得できる。パケットミラーリング、即ち、パケットの複製又はキャプチャー(capture)は、スイッチング装置1620で行われる。場合に応じて、ネットワークモニタリング装置1660自体で行われることもある。スイッチング装置1620は、第1のエンティティ1610と第2のエンティティ1620との間で送受信されるパケットを複製した後、ネットワークモニタリング装置1660と連結されたポートを目的地ポート(destination port)に設定し、複製されたパケットをネットワークモニタリング装置1660に提供できる。このとき、該当ポートを分析用途に指定して提供できる。
任意の第3者1650は、例えば、図17に示すように、スイッチング装置1620に向けて非正常行為の攻撃(Anomaly Action)を行うことができ、図17に示したところと異なり、第2のエンティティ1630又は第1のエンティティ1610に無線又は有線ネットワークを介して攻撃を行うこともできる。ネットワークモニタリング装置1660は、スイッチング装置1620に基づいて、第1のエンティティ1610と第2のエンティティ1630との間のパケットをミラーリングすることにより、ネットワークに対するセキュリティモニタリングを行って、前記ネットワークにセキュリティ関連の問題が発生しているか否かを決定するように構成できる。
一側面にかかると、第2のエンティティ1630はプロセッサを備え、エッジコンピューティングを行うことができるデバイスであり得、又はプロセッサを含むエッジコンピューティングデバイスを経由してスイッチング装置1620と連結されることができる。前記プロセッサはソフトウェアで実現化されるか、別途のハードウェアで実現化されることもできるセキュリティモジュール1640を備えることができ、セキュリティモジュール1640は、ネットワークモニタリング装置1660のセキュリティモニタリングと並列的に、同時に又は順次に第2のエンティティ1630自体でのセキュリティモニタリングを行うことができる。第2のエンティティ1630は、プロセッサを備えたモノのインターネット(IoT)装置であってもよく、モノのインターネット環境でネットワークに含まれるモノのインターネットデバイスの数はねずみ算式に増加する傾向である。任意の第3者1650の非正常行為の攻撃は、第1のエンティティ1610だけでなく、第2のエンティティ1630に向けることもあり、このようにモノのインターネットデバイスのセキュリティは、従来のネットワークの構成要素より脆弱であり得る。但し、ネットワークに含まれたモノのインターネット装置が非常に多数の場合に、ネットワークモニタリング装置1660でネットワークに含まれた全てのモノのインターネット装置に対するセキュリティモニタリングを行うことは、例えば、ネットワークモニタリング装置1660の処理能力不足やリアルタイム性確保の困難の問題点を有し得る。本発明の一側面にかかる第2のエンティティ1630それぞれは、セキュリティモジュール1640に基づいて個別的にセキュリティモニタリングを行うようにすることで、多数の第2のエンティティ1630が存在する場合にも、ネットワークに対するセキュリティモニタリングをさらに確実に行うことができる。
図16は、図17の第1のネットワークで第1のエンティティがサーバ1610-1及びネットワークビデオレコーダー(Network Video Recorder、NVR)1610-2、1610-3であり、第2のエンティティがIPカメラ1630-1、1630-2、1630-3であるより具体的な実施例を示す。例えば、特定地域のセキュリティやスマートシティー、スマートファクトリーのように、複数のIPカメラを備えることが必須的なアプリケーションが多様に発展しているが、IPカメラの活性化はカメラに対するハッキングのようなセキュリティ問題が大きな解決課題になっている。図16に示すように、IPカメラとNVRを含むネットワークで、サーバ1610-1及びNVR1610-2、1610-3は、第1のスイッチング装置1620-1に連結されてもよく、複数のIPカメラ1630-1、1630-2、1630-3は、第2のスイッチング装置1620-2に連結されてもよく、第1のスイッチング装置1620-1と第2のスイッチング装置1620-2とが互いに連結されてもよい。また、ネットワークモニタリング装置1660は、第1のスイッチング装置1620-1と第2のスイッチング装置1620-2からミラーリングされたパケットを分析し、ネットワークに対するセキュリティモニタリングを行うことができ、ネットワークにセキュリティ問題が発生したという決定に応答して統合管制システムに警告を伝達できる。
図16のネットワークで、任意の第3者1650-1は、第1のスイッチング装置1620-1を介して、ネットワークに異常徴候行為(Anomaly Action)を加えることもでき、任意の第3者1650-2は、第2のスイッチング装置1620-2を介してネットワークに異常徴候行為(Anomaly Action)を加えることもできる。ネットワークモニタリング装置1660がネットワーク全般に対するセキュリティモニタリング、異常徴候検知、ネットワークに含まれたデバイスのヘルスチェック(Device Health Check)、アプリケーションモニタリングを行うことができる。のみならず、一側面にかかると、例えば、IPカメラ1630-3はプロセッサを備え、エッジコンピューティングを行うことができるコネクテッドカメラとして実現化されることができる。プロセッサ上で、例えば、ソフトウェアモジュールとして実現化されることができるマイクロエンジンの形態のセキュリティモジュール1640は、IPカメラ1630-3に集中してセキュリティモニタリングを行うことができる。コネクテッドカメラ1630-3に備えられたプロセッサは、人工知能の学習及び適用が可能なように構成されることができ、セキュリティモジュール1640はプロセス及び資源に対するモニタリングを行い、例えば、システムログファイルをウォッチングでき、他のセキュリティ要素に対して検討するように構成されることができる。
従って、図16のNVRベースの「セキュリティが強化したIPカメラシステム」は、NVRに連結される少なくとも一部のIPカメラに対するパケット情報及びカメラ動作情報を分析し、異常徴候検知(Anomaly Detection)を行うことができる。モニタリング装置1660及びセキュリティモジュール1640のうち少なくとも一つのセキュリティモニタリングを介して、トランザクションロギング(Transaction Logging)ベースの後処理はもちろん、リアルタイムの異常徴候診断(Anomaly Detection) の実行が可能であり、セキュリティモジュールのマイクロエンジンの適用により、リアルタイムの診断効果が向上することができる。セキュリティモジュールでの分析は、例えば、第2のエンティティに入るパケットに対する分析と、ログ、状態ウォッチング及び分析を含むことができる。ネットワークに含まれたIPカメラのうち少なくとも一部は、エッジコンピューティングの実行ができない低性能のIoT装置であってもよく、この場合、マイクロエンジンを介したリアルタイムの診断は行われないこともある。
図18は、本発明の一実施例にかかるネットワークモニタリングが適用できるクラウド網を含む第2のネットワークの概念図であり、図19は、図18の第2のネットワークに対する構成を示すブロック図である。
図18乃至図19の第2のネットワークでは、第2のエンティティ1830がスイッチング装置1820を経由し、クラウド網1810とデータを送受信するように構成されることができる。即ち、別途のサーバ又はNVRを備える代わりに、クラウド網が第2のエンティティからの情報を受信し、クラウド網を介して第2のエンティティ1830にアクセス又は制御するようにできる。ネットワークモニタリング装置1860は、スイッチング装置1820を用いて、クラウド網1810と第2のエンティティ1830との間のパケットをミラーリングし、ネットワークのセキュリティモニタリングを行うことができる。第1のネットワークと同様に、第2のエンティティ1830がプロセッサを備えるエッジコンピューティングデバイスとして、セキュリティモジュール1840を備えることができる。任意の第3者1850-1がクラウド網1810を介してネットワークに異常徴候行為(Anomaly Action)を行うか、任意の第3者1850-2がスイッチング装置1820を介して異常徴候行為を行うことができ、前記第1のネットワークと同様の趣旨で、ネットワークモニタリング装置1860と第2のエンティティ1830のセキュリティモジュール1840が少なくとも部分的に協業し、セキュリティモニタリングを行うことができる。図18に示すように、第2のエンティティは複数のIPカメラ1830-1、1830-2、1830-3を含むことができ、例えば、一部のIPカメラ1830-3がエッジコンピューティングを行うように構成されることもできる。
図20は、本発明の一実施例にかかるネットワークモニタリング方法のフローチャートである。以下、図20を参照して、本発明の一実施例にかかるネットワークモニタリング方法をより詳細に説明する。本発明の一実施例にかかるネットワークモニタリング方法は、例えば、前記図16乃至図19を参照して説明したように、第1のエンティティ(entity)と第2のエンティティ、前記第1のエンティティ及び第2のエンティティの間に備えられるスイッチング装置、並びに前記スイッチング装置と連結されるネットワークモニタリング装置を含むネットワークに対するモニタリングを行うことができる。ここで、第1のエンティティはサーバを含み、前記第2のエンティティはクライアント(Client)端末を含むことができ、クライアント端末はモノのインターネット(IoT)装置を含むことができる。一側面にかかると、例えば、図16乃至図17に示すように、第1のエンティティはネットワークビデオレコーダー(Network Video Recorder、NVR)を含み、第2のエンティティはIPカメラを含んでセキュリティが強化したIPカメラシステムを構成することもできる。
図20に示すように、本発明の一実施例にかかるネットワークモニタリング方法で、ネットワークモニタリング装置1660はスイッチング装置1620からミラーリングすることに基づき、第1のエンティティ1610と第2のエンティティ1630との間に送受信される少なくとも一つのパケットに対する、ミラーリングされた少なくとも一つのパケットを獲得することができる(ステップ2210)。例えば、スイッチング装置1620で複製又はキャプチャーされたパケットがネットワークモニタリングデバイス1660に伝達されることができる。
ネットワークモニタリング装置1660は、ミラーリングされた少なくとも一つのパケットに含まれた情報のうち少なくとも一部に基づいて、第1のエンティティ1610と第2のエンティティ1620と関連したネットワークに対するセキュリティ問題の発生可否を決定することができる(ステップ2220)。のみならず、前述したように、ネットワークモニタリング装置1660は、ネットワークの性能モニタリングもやはり行うことができるが、セキュリティ問題の発生可否を決定(ステップ2220)することと並列的に、ミラーリングされた少なくとも一つのパケットに含まれた情報のうち少なくとも一部に基づいて、第1のエンティティ1610と第2のエンティティ1630と関連したネットワークのサービスの性能を示す性能関連の指標を算出することもできる(ステップ2240)。前記セキュリティ問題の発生可否の決定と性能関連の指標の算出は、同時に行われてもよく、順次行われてもよく、少なくとも部分的に同時に行われてもよい。性能関連の指標の算出に対する具体的な技術的特徴は、前述したネットワーク性能モニタリングに関する記載が援用され得る。
一方、前述したように、本発明の一側面にかかる第2のエンティティ1630は、プロセッサを備え、エッジコンピューティング(Edge computing)を行うか、プロセッサを備えるエッジコンピューティング装置を経由してスイッチング装置1620に連結されることができる。この場合、第2のエンティティ1630又はエッジコンピューティング装置(図示せず)は、ネットワークモニタリング装置のネットワークモニタリングの実行と独立的かつ並列的に、第2のエンティティ1630に受信されるか、第2のエンティティ1630で送信される少なくとも一つのパケットに含まれた情報のうち少なくとも一部に基づいて、第1のエンティティ1610と第2のエンティティ1630と関連したネットワークに対するセキュリティ問題の発生可否を決定することができる(ステップ2250)。
ネットワークモニタリング装置1660と第2のエンティティ1630又はエッジコンピューティングデバイスにより行われるセキュリティモニタリングは、互いに少なくとも部分的に異なり得、各デバイスでのセキュリティモニタリング手続きは、本明細書で以降詳述される。
再度図20を参照すると、モニタリングデバイス及び第2のエンティティ又はエッジコンピューティングデバイスのうち少なくとも一つがネットワークにセキュリティ関連の問題が発生したと決定することに応答して、予め設定された管理者デバイス又は統合管制システムのうち少なくとも一つにセキュリティ警告情報を送信することができる(ステップ2260)。一側面にかかると、第2のエンティティ又はエッジコンピューティング装置は、セキュリティ問題が発生したと決定することに応答して、スイッチング装置1620にエッジ領域のセキュリティ警告情報を送信することができる。エッジ領域のセキュリティ警告情報は、第2のエンティティ又はエッジコンピューティングデバイスを含むエッジ領域でセキュリティ関連の問題が発生したことを示す情報を含むことができる。ネットワークモニタリング装置1660は、ネットワークモニタリング装置が行ったセキュリティモニタリングによりネットワークに対するセキュリティ問題が発生したと決定するか、又は第2のエンティティ又は前記エッジコンピューティング装置からスイッチング装置1620を経由してエッジ領域のセキュリティ警告情報を受信することに応答して、予め登録されたネットワークの管理のための第1のアカウントのユーザ端末にセキュリティ警告情報を送信することができる。
図21は、セキュリティ問題の発生可否の検知のための例示的な方法の分類図であり、図22は、図21の人工知能ベースの異常徴候検知方法に対する詳細分類図である。図21に示すように、セキュリティ関連の問題発生可否の検知方法(Detection Method)は、大きく人工知能ベースの異常徴候検知(Anomaly-based Detection(AI))2110、シグネチャー(Signature)ベース検知又は誤用探知(Misuse-based Detection)2120、状態プロトコル分析検出(Stateful Protocol Analysis Detection)又は明細ベース検知(Specification-based Detection)2130に区分できる。異常徴候検知2110は、一般的なシステム使用のパターンから外れる非正常行為を探知する。シグネチャーベース検知2120は、既に知られている攻撃パターンを用いて、知られている攻撃に対して監視することによって検出が行われる。明細ベースの探知2130は、正常行為から外れた攻撃を探知するという点では異常徴候検知と類似する側面があるが、機械学習技法に依存せず、適法なシステム行為をモデリングして手動で開発した明細に基づいて、開発した明細にセキュリティ規則を適用させて、その規則を危険な客体の実際動作と比較して探知する特徴がある。
一方、図22に示すように、人工知能ベースの異常徴候検知のアルゴリズムは、監督学習(Supervised Learning)2201と非監督学習(Unsupervised Learning)2203に区分でき、具体的に最近隣法(Nearest Neighbor)2210、クラスタリング2220、統計的技法2230に区分できる。
本発明の一実施例にかかるネットワークセキュリティモニタリングでは、人工知能ベースの異常徴候検知技法のうち、主にクラスタリング2220又は統計的技法2230を適用することができ、規則又はパターンベースのシグネチャーベース探知2120、規則又はパターンを用いる明細ベース探知2130のうち少なくとも一つ以上が用いられることができる。即ち、図20のセキュリティ問題の発生可否を決定するステップ(ステップ2220、ステップ2250)は、クラスタリング(Clustering)又は統計的(statistical)技法を含む人工知能に基づく異常徴候検知(Anomaly detection)、パターン又は規則を用いるシグネチャー(Signiture)ベース探知、パターン又は規則を用いる明細(Specification)ベース探知のうち少なくとも一つに基づいて、前記セキュリティ問題の発生可否を決定することができる。一方、モニタリング装置1660のセキュリティモニタリングとセキュリティモジュール1640でのセキュリティモニタリングに適用される技法が異なり得、同じ装置でのセキュリティモニタリングもやはり、分析対象になる情報に応じてその適用技法が異なり得、これは、本明細書で以降詳述される。
図23は、本発明の一実施例にかかるセキュリティ問題の発生可否決定のメカニズムを示すフローチャートである。図23に示すように、本発明の一側面にかかるセキュリティ問題の発生可否の決定は、ミラーリングされたパケットから誘導される情報によって特定情報に対して段階的に、また特定情報に対して並列的に行われることができる。より具体的に、図23に示すように、まず、スイッチング装置1620からミラーリングされたパケットが収集(ステップ2305)されると、ミラーリングされた少なくとも一つのパケットからの情報を含むパケット(Packet)情報を収集(ステップ2310)することができる。パケット情報のセキュリティモジュールは、前記パケット情報に基づいてネットワークにセキュリティ関連の問題が発生しているか否かを決定することができる(ステップ2315)。ここで、パケット情報は、例えば、応答信号(ACK)が秒当たり100回以上発生する場合をセキュリティ問題の発生と決定するように、パケットのソースや目的地と関係なく、少なくとも一つのパケットから獲得できる情報を意味し得る。
再度図23を参照すると、パケット情報に基づいてトラフィック(Traffic)情報を収集することができる(ステップ2320)。トラフィック情報のセキュリティモジュールは、前記トラフィック情報に基づいてネットワークにセキュリティ関連の問題が発生しているか否かを決定することができる(ステップ2325)。ここで、トラフィック情報は、例えば、5tuple(ソースIP、ソースポート、目的地IP、目的地ポート、プロトコル)に基づいて、パケットをフロー(flow)に変換したものであり得る。即ち、トラフィック情報は、ソースと目的地に対する情報をもって、二つ以上のエンティティ間の連結関係を示す情報を含むことができる。
再度図23を参照すると、トラフィック情報に基づいてトランザクション(Transaction)情報又はプロトコル(Protocol)情報を収集することができる(ステップ2330)。プロトコル情報のセキュリティモジュールは、前記トランザクション情報又はプロトコル情報に基づいて、ネットワークにセキュリティ関連の問題が発生しているか否かを決定することができる(ステップ2335)。ここで、トランザクション情報は、複数のエンティティ間の情報の送受信の集合を示し得、例えば、前記ネットワーク説明のモニタリングと関連して、前述したトランザクションの概念が適用されることもできる。プロトコルの単位では、例えば、ログイン(login)が分当たり10回以上発生する場合をセキュリティ問題の発生と決定することができる。前述したパケット情報、トラフィック情報及びトランザクション情報は、以下「データ送受信に関する情報」とも指称され得る。このような情報は、リアルタイムでセキュリティ問題の発生可否を検知するために使用できる。
再度図23を参照すると、パケット情報、トラフィック情報及びトランザクション情報のうち少なくとも一つ以上は累積されて統計情報を形成することができる(ステップ2340)。統計情報のセキュリティモジュールは、前記統計情報に基づいてセキュリティ問題の発生可否を決定することができる(ステップ2345)。統計情報は、予め決定された時間区間の間のネットワークの特性と判断時点のネットワークの特性とを比較し、臨界値以上の差が出るとき、セキュリティ問題の発生可否を検知するようにすることができる。一方、リアルタイムのセキュリティ検知のみならず、保存された複数の情報に基づいて、従来のセキュリティ問題に対するフォレンジック検知を行うこともできる。
前述したパケット情報のセキュリティモジュール、トラフィック情報のセキュリティモジュール、プロトコル情報のセキュリティモジュール及び統計情報のセキュリティモジュールは、各々処理対象情報に基づいてセキュリティ問題可否の発生可否を検知するが、攻撃の予測可否を検知することもできる(ステップ2350)。即ち、それぞれの判断基準に基づいて攻撃の発生ではなく、予め決定した時間区間以内に攻撃が発生するという点を予測するように構成されることができ、攻撃の予測を決定すると、攻撃が予測されるという事実、及び予測される時間情報又は持続時間情報のうち少なくとも一つを共に通知する予測報知を行うことができる(ステップ2355)。のみならず、実際に攻撃が発生したということを決定することもでき(ステップ2360)、攻撃が発生したという決定に応答してこれを通知する攻撃報知を行うことができる(ステップ2365)。
一方、再度図23を参照すると、本発明の一側面にかかるセキュリティモニタリングは、任意の第3者による意図的セキュリティイシューのみならず、ユーザの意図しない問題も、セキュリティモニタリングに含ませることができる。本発明の一側面にかかるセキュリティは、安全を含む概念と理解できる。例えば、図23に示すように、本発明の一側面にかかるセキュリティモニタリングは、デバイスヘルス(Device Health)情報を判断するようにすることができ、具体的にはネットワークに含まれたデバイスの正常作動可否又はアライブ(Alive)可否を判断するようにすることができる(ステップ2375)。アライブ情報は、連結(Connect)情報を収集(ステップ2370)し、これに基づいて判断するような能動的(Active)方式と、別途のデータ送信なしで判断する受動的(Passive)方式のうち少なくとも一つが使用できる。デバイス又はサービスのアライブ可否を判断し(ステップ2380)、デバイスがアライブの状態ではないと判断されることに応答して、これを管理者又は管制センターに報知することができる(ステップ2385)。
図24は、図20のモニタリング装置によるセキュリティ問題の発生可否の決定ステップ(ステップ2220)の詳細なフローチャートであり、図25は、図24のデータ送受信に関する情報に基づいて、セキュリティ問題の発生可否を決定するステップに対する詳細なフローチャートである。
図24に示すように、ネットワークモニタリング装置がセキュリティ問題の発生可否を決定するステップ(ステップ2320)は、ミラーリングされた少なくとも一つのパケットから獲得されたデータ送受信に関する情報に基づいて、セキュリティ問題の発生可否を決定することができる(ステップ2221)。より具体的に、データ送受信に関する情報は、前述したようにパケット情報、トラフィック情報、トランザクション情報を含むが、データ送受信に関する情報に基づいてセキュリティ問題の発生可否を決定するステップは、図25に示すように、少なくとも一つのパケットからの情報を含むパケット(Packet)情報に基づいてセキュリティ問題の発生可否を決定し(ステップ2221-1)、パケットのソース、目的地を用いてパケットのフロー(flow)に関する情報を含むトラフィック(Traffic)情報に基づいてセキュリティ問題の発生可否を決定し(ステップ2221-3)、複数のパケットの送受信及びパケットのアプリケーションに関する情報を含むプロトコル(Protocol)情報に基づいてセキュリティ問題の発生可否を決定(ステップ2221-5)することができる。
再度図24を参照すると、ネットワークモニタリング装置は、複数のミラーリングされたパケットから獲得された統計情報に基づいてセキュリティ問題の発生可否を決定(ステップ2223)することができ、第1のエンティティ及び前記第2のエンティティのうち少なくとも一つに対する連結(Connect)が可能か否かを示すアライブ(Alive)情報に基づいてセキュリティ問題の発生可否を決定(ステップ2225)することができる。図24には、各ステップが順序をもって図示されているが、前記のようなそれぞれの情報に基づくセキュリティ問題の発生可否の決定ステップは、少なくとも部分的に同時に行われてもよく、順次に行われてもよい。
図26は、図20の第2のエンティティによるセキュリティ問題の発生可否の決定ステップの詳細なフローチャートである。図26に示すように、第2のエンティティ又はエッジコンピューティング装置がセキュリティ問題の発生可否を決定するステップ(ステップ2250)は、第2のエンティティ又はエッジコンピューティング装置のシステム状態及びログ(Log)情報のうち少なくとも一つに基づいて、セキュリティ問題の発生可否を決定することができる(ステップ2251)。第2のエンティティ又はエッジコンピューティング装置により行われるセキュリティモニタリングは、第2のエンティティ又はエッジコンピューティング装置のプロセッサの性能に応じて異なって決定され得る。基本的には、第2のエンティティ又はエッジコンピューティング装置に対するシステム状態や、第2のエンティティ又はエッジコンピューティング装置に記録されるログを分析し、セキュリティ問題の発生可否を決定できる。例えば、第2のエンティティ又はエッジコンピューティングデバイスに許容されていないIPからのログインの試みが発生した際、セキュリティ関連の問題が発生したと決定するようにできる。
一方、第2のエンティティ又はエッジコンピューティング装置がセキュリティ問題の発生可否を決定するステップ(ステップ2250)は、第2のエンティティ又はエッジコンピューティング装置に送受信される少なくとも一つのパケットから獲得されたデータ送受信に関する情報を含むパケット(Packet)情報に基づいて、セキュリティ問題の発生可否を決定するステップ(ステップ2253)をさらに含むことができる。第2のエンティティ及びエッジコンピューティング装置のプロセシング能力を考慮し、前記ネットワークモニタリング装置でデータ送受信に関する情報を用いたセキュリティモニタリングのうち、ソース及び目的地に関する情報を含まないパケットそれ自体からの情報を含むことができる「パケット情報」に基づいて、セキュリティモニタリングを行うことができる。但し、本発明の他の側面にかかると、第2のエンティティ又はエッジコンピューティング装置により高性能のプロセッサを備え、ネットワークモニタリング装置と同様に「トラフィック情報」及び「プロトコル情報」のうち少なくとも一つ以上をさらに考慮し、セキュリティモニタリングを行うように構成されることもできる。
再度図26を参照すると、第2のエンティティ又はエッジコンピューティング装置がセキュリティ問題の発生可否を決定するステップ(ステップ2250)は、第2のエンティティ又はエッジコンピューティング装置がセキュリティ問題が発生したと決定することに応答して、第2のエンティティ又はエッジコンピューティング装置が、スイッチング装置1620にエッジ領域のセキュリティ警告情報を送信するステップ(ステップ2255)をさらに含むことができる。第2のエンティティ又はエッジコンピューティング装置を含むことができるエッジ領域でのセキュリティモニタリングは、第2のエンティティ又はエッジコンピューティング装置により行われることができ、第2のエンティティ又はエッジコンピューティング装置は、エッジ領域でセキュリティ問題が発生したという情報を含むエッジ領域のセキュリティ警告情報をスイッチング装置1620に送信できる。前記のようなエッジ領域のセキュリティ警告情報は、スイッチング装置1620をしてエッジ領域のセキュリティ警告情報を送信した第2のエンティティ又はエッジコンピューティング装置からのデータ受信を遮断するようにする命令を含むこともできる。エッジ領域のセキュリティ警告情報は、スイッチング装置1620を経由してネットワークモニタリング装置1660へも送信されることができ、協業を介したより向上したセキュリティモニタリングが行われるようにすることができる。前記で見たように、ネットワークモニタリング装置は、自体でセキュリティ問題が発生したと決定するか、エッジ領域でセキュリティ問題が発生したという情報を受信することに応答して、管理者又は統合管制システムにセキュリティ警告を発送することができる。一側面によって、ネットワークモニタリング装置は、セキュリティ問題が発生した際、セキュリティ問題が発生したネットワークの特定のエンティティに対する情報の送受信を遮断するように構成されることもできる。
図27は、OSI7階層によるセキュリティモニタリングの適用案の例示を示す表である。図27に示すように、前記で説明したようなパケット情報ベースのセキュリティモニタリング、トラフィック情報ベースのセキュリティモニタリング、プロトコル情報ベースのセキュリティモニタリング、統計情報ベースのセキュリティモニタリング及びアライブ情報ベースのセキュリティモニタリングは、それぞれOSI7階層のうちいずれか階層での情報に基づくか否かがそれぞれ異なり得る。一側面にかかると、パケット情報は、OSI3階層及びOSI4階層のうち少なくとも一つから取得され、トラフィック情報は、OSI4階層から取得され、プロトコル情報は、OSI7階層から取得され、統計情報は、OSI3階層、OSI4階層及びOSI7階層のうち少なくとも一つから取得され、前記アライブ情報は、OSI3階層及びOSI4階層のうち少なくとも一つから取得されることができる。
図27を参照としてより具体的に説明すると、OSI3階層のネットワーク(Network)レイヤーでは、例えば、IP、ICMPのようなプロトコルが適用され、パケット情報、統計情報、又はアライブ情報のうち少なくとも一つに基づくセキュリティモニタリングのための情報を提供することができる。OSI4階層のトランスポート(Transport)レイヤーでは、例えば、TCP、UDPのようなプロトコルが適用され、パケット情報、トラフィック情報、統計情報又はアライブ情報のうち少なくとも一つに基づくセキュリティモニタリングのための情報を提供することができる。OSI7階層のアプリケーション(Application)レイヤーは、例えば、HTTP、FTPのようなプロトコルが適用され、プロトコル情報又は統計情報のうち少なくとも一つに基づくセキュリティモニタリングのための情報を提供することができる。図27に例示されていないが、OSI3、4及び7階層を除いた残りの階層で獲得される情報に基づいて、セキュリティモニタリングを行うことも可能である。図27のAlive情報は、例えば、IoTデバイス、IPカメラのような第2のエンティティのエッジ端での故障やトロイの木馬の設置可否のために使用できる。
図28は、人工知能ベースのセキュリティモニタリング技法の適用案に対する概念図である。図28に示すように、本発明の一側面にかかるセキュリティモニタリングは、ミラーリングされたパケットに基づく学習する人工知能ベースの異常徴候検知(Anomaly Detection)技法を使用することができる。関連して、ネットワークの構成及び正常状態は個別のネットワーク毎に完全に異なり得、特定のネットワークで正常作動の範疇に含まれる行為又は状態が、他のネットワークでは異常徴候行為と認識されることもある。従って、特定の一般的な訓練データに基づいて人工知能を学習させることは、個別のネットワークに適用時、誤ったセキュリティモニタリングの結果を導出するようにする問題点が発生し得る。
本発明の一側面にかかる人工知能ベースの異常徴候検知技法は、該当ネットワークでの予め決定された時間長の区間(例えば、一週間)の間の実際にミラーリングされたパケットデータを訓練データに使用して人工神経網を学習させて、以降、実際にミラーリングされたパケットデータに対するセキュリティモニタリングを行う際、前記学習された人工神経網モデルを適用するように実現化できる。図28に示すように、学習ステップ(ステップ2810)では、予め決定された時間長の区間(例えば、一週間)の間、例えば、強化学習に基づいて実際のネットワークモニタリング方法が適用される対象ネットワークからミラーリングされたパケットを訓練データとして活用することにより人工神経網を学習させることができる。必要な場合には、このような人工神経網モデルをアップデート(ステップ2815)することもでき、適用ステップ(ステップ2820)では学習及び/又はアップデートされた人工神経網モデルに基づいて適用対象ネットワークのミラーリングされたパケットをモニタリングし、セキュリティモニタリングを行うことができる。
人工知能ベースの異常徴候検知技法は、例えば、クラスタリング技法でり得る。人工神経網を学習させるステップは、予め決定した第1の時間区間の間の前記ミラーリングされた少なくとも一つのパケットそれぞれを第1の関数を用いてそれぞれの数値に変換し、前記人工神経網が前記それぞれの数値に基づいて正常数値の範囲を決定するようにすることを含むことができる。一側面にかかると、学習対象になる、例えば、一週間のミラーリングされたパケットから獲得される情報を所定の関数に基づいて数学的記号又は数字、又はベクトルに変換できる。前記のような変換は、該当ネットワークの状態を適切に分散させることができる任意の関数により行われることができ、このような変換は、公知のマシンラーニング技法のいずれかが使用されることもできる。例えば、ネットワークのミラーリングされたパケットのL3、L4、L7データのうち少なくとも一つは、関数により数字的記号、数字又はベクトルに変換でき、クラスタリングにより正常範疇の範囲が決定できる。
以降、異常徴候の発生可否を検出することは、モニタリング時点にミラーリングされた少なくとも一つのパケットを前記第1の関数を用いて基準数値に変換し、基準数値が正常数値の範囲に含まれないという決定に応答して、異常徴候が発生したと決定することを含むことができる。一側面にかかると、適用段階でのミラーリングされたパケットからの情報を変換した際、その値が正常状態を示す範疇で予め設定した値以上離れている場合、これをセキュリティ問題が発生したと決定するように構成できる。前記のように実際の適用対象になるネットワークのミラーリングされたパケットに基づいて予め決定された時間長の区間の間に人工神経網を学習させることにより、個別的なネットワーク毎に適応的にセキュリティモニタリングを行うようにすることができる。
図29は、処理要素によるセキュリティモニタリングの案及び対象項目の例示を示す表であり、図30は、処理要素によるセキュリティ検知の例示を示す表である。図29に示すように、本発明の一側面にかかるセキュリティモニタリングは、処理要素に応じて異なるセキュリティモニタリングの案又はアルゴリズムを適用することができる。
図29に示すように、パケット情報を処理する例示的なセキュリティ問題の検出案として、人工知能(AI)ベースのクラスタリング(Clustering)技法と規則/パターンベースのシグネチャー(Signature)ベース検知技法のうち少なくとも一つが使用できる。アルゴリズム(対象項目)として、L3/L4データに対するAIベースのクラスタリングを適用するか、シグネチャー技法と関連し、例えば、ソースIP、ソースポート、目的地IP、目的地ポート、プロトコル、パケットフラグ、PPS、BPS、CPSに対するAnomaly detectionを行うようにすることができる。前記で見たように、パケット情報に対するセキュリティモニタリングは、ネットワークモニタリング装置1660及びセキュリティモジュール1640のうち少なくとも一つで行われることができる。
再度図29を参照すると、トラフィック情報を処理する例示的なセキュリティ問題の検出案としてAIベースのクラスタリング技法が使用できる。アルゴリズム(対象項目)としては、例えば、トラフィック分散グラフ(Traffic Dispersion Graph)に対するクラスタリング技法が適用できる。トラフィック情報に対するセキュリティモニタリングは、ネットワークモニタリング装置1660で行われることができる。但し、本発明の別の側面にかかり、エッジコンピューティングデバイスのプロセッサの処理能力を向上させる場合、セキュリティモジュール1640でも行われるようにすることもできる。
再度図29を参照すると、プロトコル情報を処理する例示的なセキュリティ問題の検出案として、AIベースのクラスタリング技法と規則/パターンベースの明細(Specification)ベースの技法のうち少なくとも一つが使用できる。アルゴリズム(対象項目)として、L7データに対するAIベースのクラスタリングを適用するか、明細ベース技法と関連し、例えば、URL、Command、Behaviorに対するAnomaly detectionを行うようにすることができる。セキュリティモニタリングの適用対象がIPカメラを含むシステムである場合、コマンド(Command)は、例えば、IPカメラに対するログインコマンド、ビューイングコマンド、プレビューコマンドのうち少なくとも一つを含むことができる。プロトコル情報に対するセキュリティモニタリングは、ネットワークモニタリング装置1660で行われることができる。但し、本発明の別の側面にかかり、エッジコンピューティングデバイスのプロセッサの処理能力を向上させる場合、セキュリティモジュール1640でも行われるようにすることもできる。
再度図29を参照すると、統計情報を処理する例示的なセキュリティ問題の検出案として、AIベースの統計的(Statistical)技法が適用できる。具体的なアルゴリズム(対象項目)は、例えば、時間をベースとする比較(例えば、同じ時刻に対する異なる日付での状態比較)が含まれ得る。統計情報に対するセキュリティモニタリングは、ネットワークモニタリング装置1660で行われ得る。但し、本発明の別の側面にかかり、エッジコンピューティングデバイスのプロセッサの処理能力を向上させる場合、セキュリティモジュール1640でも行われるようにすることもできる。
再度図29を参照すると、アライブ情報を処理する例示的なセキュリティ問題の検出案は、規則/パターンベースの明細ベース技法が適用できる。具体的なアルゴリズム(対象項目)は、明細ベースとして臨界値をベースとする比較が使用できる。アライブ情報に対するセキュリティモニタリングは、ネットワークモニタリング装置1660で行われることができる。但し、本発明の別の側面にかかり、エッジコンピューティングデバイスのプロセッサの処理能力を向上させる場合、セキュリティモジュール1640でも行われるようにすることもできる。
最後に、図29を参照すると、第2のエンティティ又はエッジコンピューティング装置のセキュリティモジュール1640で行われることができるシステム状態及びLog情報に対する処理は、規則/パターンベースのシグネチャーベース技法が適用できる。例えば、シグネチャーベース技法内で臨界値を基準に比較する方法が適用できる。
図29を参照として前述したところによって、図25又は図26のパケット情報に基づいてセキュリティ問題の発生可否を決定するステップ(ステップ2221-1又はステップ2253)は、クラスタリングベースの異常徴候検知及びシグネチャーベース探知のうち少なくとも一つを用いて、図25のトラフィック情報に基づいてセキュリティ問題の発生可否を決定するステップ(ステップ2221-3)は、クラスタリングベースの異常徴候検知を用いて、図25のプロトコル情報に基づいてセキュリティ問題の発生可否を決定するステップ(ステップ2221-5)は、クラスタリングベースの異常徴候検知及び明細ベースの探知のうち少なくとも一つを用いて、図24の統計情報に基づいて、セキュリティ問題の発生可否を決定するステップ(ステップ2223)は、統計的技法ベースの異常徴候検知を用いて、図24のアライブ情報に基づいて、セキュリティ問題の発生可否を決定するステップ(ステップ2225)は、明細ベース探知を用いるように構成されることができる。
図30を参照すると、前記のようなセキュリティ問題の発生可否の検出案及び対象項目によるセキュリティモニタリング適用の具体的な例示が図示される。図30に開示されたように、図25又は図26のパケット情報に基づいて、セキュリティ問題の発生可否を決定するステップ(ステップ2221-1又はステップ2253)は、AIベースの予め決定した第1のソースIPから第1の目的地IPまでの区間の接続の数が予め決定した臨界値以上という決定、予め決定した第1のURLに対する要請が予め決定した臨界値以上という決定、予め決定した第1のサーバのBPS(Bit Per Second)が予め決定した臨界値以上という決定と、シグネチャー技法に属する、予め決定した第2のソースIPからのPPS(Packet Per Second)が予め決定した臨界値以上という決定、予め決定した第3のソースIPからの同期信号(SYN)パケットの数が予め決定した臨界値以上という決定、及び予め決定した第4のソースIPが予め決定した臨界値以上の数のサーバIPに同時に接続を試みるという決定のうち少なくとも一つに基づいて、ネットワークにセキュリティ問題が発生したと決定するように構成できる。
また、図30を参照すると、図25のトラフィック情報に基づいて、セキュリティ問題の発生可否を決定するステップ(ステップ2221-3)は、AIベースのクラスタリング技法を用いて、トラフィック分散グラフから予め決定した臨界値以上外れたトラフィックが発生したと決定することに応答して、ネットワークにセキュリティ問題が発生したと決定するように構成できる。
再度図30を参照すると、図25のプロトコル情報に基づいて、セキュリティ問題の発生可否を決定するステップ(ステップ2221-5)は、AIベースの予め決定した第1のIPから予め決定した第1のSQL(Structured Query Language)に対して、予め決定した臨界値以上の要請が発生したという決定、HTTPの要請が予め設定した基準値より少ない第5のソースIPから予め決定した臨界値以上のHTTPの要請が発生したという決定、及び予め決定した第2のサーバに対する予め決定した第2のURLに対する要請が予め決定した臨界値以上に発生したという決定と、明細ベース技法に属することができる、予め決定した時間長の区間の間に予め決定した第1の行動(例えば、keep-Alive)が予め決定した臨界値の回数以上に発生したという決定、404誤謬を発生するURLへの接続が予め決定した臨界値以上発生したという決定、予め決定した時間長の区間(例えば、1分)の間に臨界値の回数(例えば、3回)以上ログイン失敗が発生したという決定のうち少なくとも一つに基づいて、前記ネットワークにセキュリティ問題が発生したと決定するように構成できる。
また、図30を参照すると、図24の統計情報に基づいて、セキュリティ問題の発生可否を決定するステップ(ステップ2223)は、AI技法に属することができる、予め決定した第1の時刻区間の平均BPSが予め設定した日付以前の同じ時刻区間の平均BPSより予め決定した臨界値以上に大きいという決定、予め決定した時間長の区間の間に接続がなかったクライアントIPからサーバ接続が発生したという決定、サーバの出力(Outbound)BPSが予め設定された平均値より2倍以上高いという決定のうち少なくとも一つに基づいて、前記ネットワークにセキュリティ問題が発生したと決定するように構成できる。
再度図30を参照すると、図24のアライブ情報に基づいて、セキュリティ問題の発生可否を決定するステップ(ステップ2225)は、明細ベース技法に属することができる、予め決定した臨界値の時間長の区間以上に前記第1のエンティティ又は第2のエンティティのうち少なくとも一つに接続ができないという決定、同期信号(SYN)パケットに比べて、応答信号(ACK)パケットが予め決定した臨界値以上により少なく発生するという決定、ARP(Address Resolution Protocol)内にデバイスIPが存在しないという決定のうち少なくとも一つに基づいて、前記ネットワークにセキュリティ問題が発生したと決定するように構成できる。
一方、図30を参照すると、図26のシステム状態及びログ(Log)情報のうち少なくとも一つに基づいて、セキュリティ問題の発生可否を決定するステップ(ステップ2251)は、シグネチャーベース技法に含まれることができる、許容されていないIPから前記第2のエンティティ又は前記エッジコンピューティング装置にログイン(Login)の試みが発生したという決定、第2のエンティティ又は前記エッジコンピューティング装置で知られていないプロセスの動作が発生したという決定、第2のエンティティ又はエッジコンピューティング装置に予め決定された時間長の区間の間に予め決定された回数以上のログイン失敗が発生したという決定のうち少なくとも一つに基づいて、第2のエンティティ又は前記エッジコンピューティングデバイスにセキュリティ問題が発生したと決定するように構成できる。
図31は、モニタリング装置及びエッジ領域の協業によるセキュリティ性を示す表である。図31に示すように、ネットワークモニタリング装置1660とエッジ領域の例を挙げて、第2のエンティティ又はエッジコンピューティング装置のセキュリティモジュール1640で全てセキュリティ検知が行われるとき、最上のセキュリティ性を確保することができ、ネットワークモニタリング装置1660でのみセキュリティ検知が行われるとき、上のセキュリティ性を、エッジ領域の例を挙げて、第2のエンティティ又はエッジコンピューティング装置のセキュリティモジュール1640でのみセキュリティ検知が行われるとき、下のセキュリティ性を、ネットワークモニタリング装置1660とエッジ領域の例を挙げて、第2のエンティティ又はエッジコンピューティング装置のセキュリティモジュール1640で全てセキュリティ検知が行われないとき、最下のセキュリティ性を有することになる。さらに、前記で見たように、エッジ領域の例を挙げて、第2のエンティティ又はエッジコンピューティング装置のセキュリティモジュール1640で行われるセキュリティ検知は、例えば、第2のエンティティ又はエッジコンピューティング装置のプロセッサの性能に応じて変化され得、これは、セキュリティ性の強度にも影響及び/又はセキュリティモニタリングの効率性、迅速性のうち何れか一つ以上に影響を与え得る。
図32は、アライブ(Alive)情報のセキュリティアルゴリズムの例示を示す表である。図32に示すように、アライブ情報ベースのセキュリティアルゴリズムは、受動型(Passive)及び能動型(Active)に区分でき、デバイスの状態は、サーバダウン(Server Down)とサービスダウン(Service Down)に区分できる。ここで、サーバダウンとサービスダウンは、それぞれの条件(Condition)1と2が全て満たされる場合に決定され、サーバがダウンされた場合には、無条件サービスがダウンされたと決定できる。図32で、last_transfer_timeは、一番最後に送信(request/response)されたパケットの時間を示し、CONNECT()のtimeout時間は、例えば、3秒であり得る。ARP(Address Resolution Protocol)は、ネットワーク上でIPアドレスを物理的ネットワークアドレスに対応(bind)させるために使用されるプロトコルを示し得る。
図32に示すように、受動型アルゴリズムでサーバダウンの条件1は、最終の送信時間から現在までの時間がn秒を超えるものであり、条件2は、同期信号(SYN)の数がm個を超えるものであり得る。また、受動型アルゴリズムでサービスダウンの条件1は、同じように最終の送信時間から現在までの時間がn秒を超えるものであり、条件2は、サーバリセットのカウントがmを超えるものであり得る。能動型アルゴリズムでサーバダウンの条件1は、サーバIPに対する接続時間がネットワークタイムアウト(timeout)時間であるか、ネットワーク終了(close)時間のものであり得、条件2は、サーバIPがARP内に存在しないものであり得る。能動型アルゴリズムのサービスダウンの条件1はサーバダウンと同一であるが、条件2は、サーバIPがARP内に存在するものであり得る。
図33は、本発明の一実施例にかかるネットワークモニタリング装置の例示的な構成を示すブロック図である。図33に示すように、本発明の一実施例にかかるネットワークモニタリング装置3300は、プロセッサ3310、ポート3320、及びメモリ3330を含むことができる。ネットワークモニタリング装置3300は、前記図16乃至図19を参照として説明したように、第1のエンティティ1610と第2のエンティティ1630、第1のエンティティ及び第2のエンティティの間に備えられるスイッチング装置1620、並びにスイッチング装置と連結されるネットワークモニタリング装置(1660又は3300)を含むネットワークに含まれたものであり得る。
ポート(port)3320は、スイッチング装置1620からミラーリングすることに基づき、第1のエンティティ1610と第2のエンティティ1630との間に送受信される少なくとも一つのパケットに対する、ミラーリングされた少なくとも一つのパケットを獲得するように構成できる。
プロセッサ3330は、ミラーリングされた少なくとも一つのパケットに含まれた情報のうち少なくとも一部に基づいて、第1のエンティティ1610と第2のエンティティ1630と関連したネットワークに対するセキュリティ問題の発生可否を決定するように構成できる。
メモリ3330には、例えば、セキュリティモニタリングのための訓練された人工神経網モデルや、シグネチャー情報、明細情報のうち少なくとも一つ以上が保存されてもよく、一側面にかかると、プロセッサ3310をしてネットワークモニタリングを行うようにするためのコマンドが保存されてもよい。
図34は、本発明の一実施例にかかる第2のエンティティの例示的な構成を示すブロック図である。図34に示すように、本発明の一実施例にかかる第2のエンティティ3400は、第1のエンティティと第2のエンティティ、第1のエンティティ及び第2のエンティティの間に備えられるスイッチング装置を含むネットワークに含まれた、第2のエンティティであり得る。ここで、第2のエンティティ3400は、第1のエンティティとパケットを送受信するための送受信部3420を含み、プロセッサ3420を備え、エッジコンピューティング(Edge computing)を行うか、プロセッサを備えるエッジコンピューティング装置を経由して前記スイッチング装置に連結されるように構成できる。
プロセッサ3420は、第2のエンティティ3400に受信されるか、第2のエンティティ3400で送信される少なくとも一つのパケットに含まれた情報のうち少なくとも一部に基づいて、第1のエンティティと第2のエンティティと関連したネットワークに対するセキュリティ問題の発生可否を決定するように構成できる。
メモリ3430には、例えば、セキュリティモニタリングのための訓練された人工神経網モデルや、シグネチャー情報、明細情報のうち少なくとも一つ以上が保存されてもよく、一側面にかかると、プロセッサ3410をしてネットワークモニタリングを行うようにするためのコマンドが保存されてもよい。
一方、図16乃至図19を参照し、本発明の一実施例にかかるネットワークセキュリティ問題の発生可否を決定するネットワークモニタリングシステムについて説明すると、本発明の一実施例にかかるネットワークモニタリングシステムは、第1のエンティティ(entity)と第2のエンティティとの間に備えられるスイッチング装置1620と、スイッチング装置と連結され、スイッチング装置からミラーリングすることに基づき、第1のエンティティと第2のエンティティとの間に送受信される少なくとも一つのパケットに対する、ミラーリングされた少なくとも一つのパケットを獲得し、ミラーリングされた少なくとも一つのパケットに含まれた情報のうち少なくとも一部に基づいて、第1のエンティティと第2のエンティティと関連したネットワークに対するセキュリティ問題の発生可否を決定する、ネットワークモニタリング装置1660及びプロセッサを備え、エッジコンピューティング(Edge computing)を行うか、プロセッサを備えるエッジコンピューティング装置を経由してスイッチング装置に連結される第2のエンティティ1630を含むことができる。ここで、プロセッサは、第2のエンティティに受信されるか、第2のエンティティで送信される少なくとも一つのパケットに含まれた情報のうち少なくとも一部に基づいて、第1のエンティティと第2のエンティティと関連したネットワークに対するセキュリティ問題の発生可否を決定するように構成できる。
本発明の一実施例にかかるネットワークモニタリング装置、第2のエンティティ、及びネットワークモニタリングシステムのうち少なくとも一つの具体的な動作は、前述した本発明の一実施例にかかるネットワークモニタリング方法の具体的な手続に従うことができる。
図35は、本発明の一実施例にかかる第2のエンティティによるネットワークモニタリングのための設定画面を示す。前述したように、本発明の一側面にかかると、プロセッサを備えてエッジコンピューティングを行うか、プロセッサを備えるエッジコンピューティング装置を経由して第1のエンティティと通信し、スイッチング装置に連結される第2のエンティティもやはりネットワークの性能及び/又はセキュリティに対するモニタリングを行うように構成できる。第2のエンティティのネットワークモニタリングに対する設定は、例えば、第2のエンティティ又は第2のエンティティと連結された装置によって行われてもよく、スイッチング装置と連結されたモニタリング装置又はモニタリング装置に連結されたデバイス(例えば、コンソール)により行われてもよい。図35は、第2のエンティティによるネットワークモニタリングに対する具体的な設定を行うことができる例示的なUX/UIを示す。例えば、コンソールにより構成されたネットワークモニタリングに対する設定値(setting value)は、ネットワークモニタリング装置に伝達され、ネットワークモニタリング装置のネットワークモニタリングに対する設定値がネットワークモニタリング装置に保存されるようにすることができ、コンソールにより決定された第2のエンティティのネットワークモニタリングに対する設定値は第2のエンティティに伝達され、保存されることができる。第2のエンティティは、前記のような設定値によってネットワークモニタリングを行い、モニタリングの結果に対する情報をネットワークモニタリング装置に伝達し、ユーザに伝達するように構成できる。
図35を参照すると、ネットワークモニタリングのための環境設定のためのUX/UIにより、ユーザは環境設定を変更しようとする警告要素3501を決定することができる。従来の警告対象であったサーバ/フローマップ/クライアントのみならず、例えば、「IoT Device」のような第2のエンティティもやはり警告要素として選択できるように追加されることができる。また、類型による複数のエンティティのうちそれぞれに対する警告ネーム(Alert Name)及びデバイスIP(Device IP)と詳細内訳(Description)が表示されるようにすることができる。
一方、警告対象を設定した後、ユーザは警告の類型3502を設定することができる。即ち、警告対象に対して性能(Performance)及び/又はセキュリティ(Security)モニタリングのうちいずれかに対する設定を変更するか決定することができる。
以降、モニタリングのための具体的な個別項目に対する詳細設定の変更が行われる。装置の状態3503に対する警告設定として、CPU/メモリ/ディスクの使用量に対する設定が行われる。一側面にかかると、CPU/メモリ/ディスク使用量の1分の平均に対する値が予め設定した臨界値以上であるとき、警告を行うようにすることができ、それぞれの使用量の臨界値に対してユーザが変更して設定するように構成できる。
非正常行為警告3504と関連し、CPU/メモリ/ディスクの平均絶対偏差に対する設定が行われる。一側面にかかると、CPU/メモリ/ディスクの使用量に対する3分単位の平均絶対偏差が予め設定した臨界値以上であるとき、非正常行為警告を行うようにすることができ、それぞれの使用量の臨界値に対して、ユーザが変更して設定するように構成されることができる。
一方、一側面にかかり、例えば、許容IP及び/又は許容プロセスとしてホワイトリスト3505を運営することができる。即ち、特定のIPを許容IPとして設定しておき、許容IP以外のIPから第2のエンティティにアクセスが試みられる場合、これを通知するように設定でき、特定のプロセスを許容プロセスとして設定しておき、許容プロセス以外のプロセスに対する実行が試みられるとき、これを通知するように設定できる。
DDoS又はDoSの探知のための設定3506が行われる。例えば、DDoSの探知のために接続が許容される最大のIP数を設定し、予め設定した数以上のIPで接続が試みられるとき、ユーザに警告が通知されるように設定されることができる。また、例えば、DoSの探知のために一つのIPに連結されたポートの最大の数を設定し、予め設定した数のポートより多いポートで接続が試みられる場合に、ユーザに警告が通知されるように設定されることができる。
一方、メモリカード脱着変化チェック3507に対する設定が可能である。第2のエンティティに、例えば、メモリカードのような付加の保存媒体が連結又は連結解除されるイベントがセキュリティ問題の発生と関連し得るので、連結されていなかった付加の保存媒体が連結される時点、又は連結されていた付加の保存媒体が連結解除される時点に、ユーザに警告が通知されるように設定されることができる。
データの送信率関連設定3508もまた行われる。例えば、BPS IN(TX)又はOUT(RX)の臨界値に対する以上又は以下に対する設定が行われる。第2のエンティティで受信されるデータのBPSが、予め設定された値以上になるか、以下になる時点に、ユーザに警告が通知されるか、第2のエンティティから送信されるデータのBPSが、予め設定された値以上になるか、以下になる時点に、ユーザに警告が通知されるようにすることができる。また、基準になるBPSの値もやはりユーザが変更設定するように構成されることができる。
報知機能3509に対する細部設定が可能である。即ち、警告報知が受信される受信者グループに対する設定、メール又はビープのような報知方法に対する設定、SMSメッセージの送信可否に対する設定と、命令の実行に対する設定が可能である。また、警告のレベルに対する設定と、活性化可否3510もやはり設定が可能である。
一方、以上で説明されたシステム又は装置、方法は、ハードウェアの構成要素、ソフトウェアの構成要素、及び/又はハードウェアの構成要素及びソフトウェアの構成要素の組み合わせで実現化されることができる。例えば、実施例で説明されたシステム、装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサ、又は命令(instruction)を実行して応答できる他のどの装置のように、一つ以上の汎用コンピュータ又は特殊目的のコンピュータを利用して実現化されることができる。処理装置は、運営体制(OS)及び前記運営体制上で行われる一つ以上のソフトウェアアプリケーションを行うことができる。また、処理装置はソフトウェアの実行に応答して、データをアクセス、保存、操作、処理及び生成することもできる。理解の便宜のために、処理装置は一つが使用されるものと説明された場合もあるが、該当技術分野で通常の知識を有する者は、処理装置が複数個の処理要素(processing element)及び/又は複数類型の処理要素を含み得ることが分かる。例えば、処理装置は、複数個のプロセッサ又は一つのプロセッサ及び一つのコントローラを含むことができる。また、並列プロセッサ(parallel processor)のような、他の処理構成(processing configuration)も可能である。
ソフトウェアは、コンピュータプログラム(computer program)、コード(code)、命令(instruction)、又はこれらのうち一つ以上の組み合わせを含むことができ、望む通りに動作するように処理装置を構成するか、独立的又は結合的に(collectively)処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈されるか、処理装置に命令又はデータを提供するために、ある類型の機械、構成要素(component)、物理的装置、仮想装置(virtual equipment)、コンピュータ保存媒体又は装置、若しくは送信される信号波(signal wave)に永久的に、若しくは一時的に具体化(embody)されることができる。ソフトウェアはネットワークで連結されたコンピュータシステム上に分散され、分散された方法で保存されるか、実行されることもできる。ソフトウェア及びデータは、一つ以上のコンピュータ読取可能記録媒体に保存されることができる。
実施例にかかる方法は、様々なコンピュータ手段を介して行われるプログラム命令の形態で実現化され、コンピュータ読取可能媒体に記録されることができる。前記コンピュータ読取可能媒体は、プログラム命令、データファイル、データ構造等を単独で又は組み合わせて含むことができる。前記媒体に記録されるプログラム命令は、実施例のために特別に設計されて構成されたものであるか、コンピュータソフトウェアの当業者に公知となって使用可能なものであってもよい。コンピュータ読取可能記録媒体の例には、ハードディスク、フロッピーディスク、及び磁気テープのような磁気体(magnetic media)、CD-ROM、DVDのような光記録媒体(optical media)、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical media)、及びロム(ROM)、ラム(RAM)、フラッシュメモリ等のようなプログラム命令を保存して行うように特別に構成されたハードウェア装置が含まれる。プログラム命令の例には、コンパイラにより作られるような機械語コードだけでなく、インタプリタ等を使用してコンピュータによって実行されることができる高級言語コードを含む。前記したハードウェア装置は、実施例の動作を行うために一つ以上のソフトウェアモジュールとして作動するように構成されることができ、その逆も同様である。
以上のように、実施例が限定された実施例と図面により説明されているが、該当技術分野で通常の知識を有する者であれば、前記の記載から様々な修正及び変形が可能である。例えば、説明された技術が説明された方法と異なる順序で行われるか、及び/又は説明されたシステム、構造、装置、回路等の構成要素が説明された方法と異なる形態で結合又は組み合わされるか、他の構成要素又は均等物によって代えたり代置されるか置換されても、適切な結果が達成できる。
従って、他の実現化、別の実施例及び特許請求範囲と均等なものも、後述する特許請求範囲の範囲に属する。