(57)【要約】      （修正有）【課題】ネットワークデバイス内の中央処理装置ＣＰＵによるパケットの処理プロセスを単純化することによりネットワークデバイスのサービス処理効率を高める。【解決手段】ネットワークデバイスは、ネットワークプロセッサＮＰおよびＣＰＵを含む。ＮＰは、第１パケットを受信しＳ２０１、第１パケットのパケット特徴を取得しＳ２０２、パケット特徴に対応する処理ルールを取得しＳ２０３、処理ルールに基づいて第１パケットを処理して第２パケットを取得しＳ２０４、ＣＰＵに第２パケットを送信するＳ２０５。ＣＰＵは、第２パケットを受信し、第２パケットを処理するＳ２０６。【選択図】図２
2020178348.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークプロセッサ（ＮＰ）と中央処理装置（ＣＰＵ）とを備えるネットワークデバイスであって、
前記ＮＰは第１パケットを受信し、前記第１パケットのパケット特徴を取得し、前記パケット特徴に対応する処理ルールを取得し、前記処理ルールに基づいて前記第１パケットを処理して第２パケットを取得し、前記ＣＰＵに前記第２パケットを送信するように構成され、
前記ＣＰＵは前記第２パケットを受信し、前記第２パケットを処理するように構成される、
ネットワークデバイス。
【請求項２】
前記パケット特徴に対応する前記処理ルールを取得するときに、前記ＮＰは、
前記パケット特徴に基づいて前記ＮＰに記憶されたルールテーブルで検索し、
前記ルールテーブルが前記処理ルールを含むときに、前記ルールテーブルから前記処理ルールを取得し、
前記ルールテーブルが前記処理ルールを含まないときに、前記ＣＰＵに前記第１パケットまたは前記パケット特徴を送信し、前記ＣＰＵにより返信された前記処理ルールを受信する
ように構成される、請求項１に記載のネットワークデバイス。
【請求項３】
前記処理ルールは前記パケット特徴を報告することであり、
前記ＮＰは前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得するように構成され、前記第１拡張ヘッダは前記パケット特徴を含み、
前記ＣＰＵは前記第２パケットの前記第１拡張ヘッダから前記パケット特徴を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記パケット特徴に基づいて前記第１パケットを転送するように構成される、
請求項１または２に記載のネットワークデバイス。
【請求項４】
前記処理ルールはルーティング情報を取得することであり、
前記ＮＰは前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得するように構成され、前記第１拡張ヘッダは前記ルーティング情報を含み、
前記ＣＰＵは前記第２パケットの前記第１拡張ヘッダから前記ルーティング情報を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記ルーティング情報に基づいて前記第１パケットを転送するように構成される、
請求項１または２に記載のネットワークデバイス。
【請求項５】
前記処理ルールはサービス情報を報告することであり、
前記ＮＰは、前記第１パケットを受信するインタフェースに構成されるサービスを取得し、前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得するように構成され、前記第１拡張ヘッダは前記サービスに関する情報を含み、
前記ＣＰＵは前記第２パケットの前記第１拡張ヘッダから前記サービスに関する前記情報を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記第１パケットで前記サービスを実行するように構成される、
請求項１または２に記載のネットワークデバイス。
【請求項６】
前記ＣＰＵは前記ＮＰに第３パケットを送信するように構成され、前記第３パケットは第２拡張ヘッダを含み、前記第２拡張ヘッダは処理情報およびレイヤ２ヘッダを含み、
前記ＮＰは前記第２拡張ヘッダ内の前記処理情報および前記レイヤ２ヘッダを取得し、前記第３パケットから前記第２拡張ヘッダを削除して第４パケットを取得し、前記処理情報に基づいて前記第４パケットを処理し、前記第４パケットに前記レイヤ２ヘッダを追加して第５パケットを取得するように構成される、
請求項１から５のいずれか一項に記載のネットワークデバイス。
【請求項７】
ネットワークデバイスに適用されるサービス処理方法であって、前記ネットワークデバイスはネットワークプロセッサ（ＮＰ）および中央処理装置（ＣＰＵ）を含み、前記方法は、
前記ＮＰが第１パケットを受信し、前記第１パケットのパケット特徴を取得する段階と、
前記ＮＰが、前記パケット特徴に対応する処理ルールを取得し、前記処理ルールに基づいて前記第１パケットを処理して第２パケットを取得する段階と、
前記ＮＰが前記ＣＰＵに前記第２パケットを送信する段階と、
前記ＣＰＵが前記第２パケットを受信および処理する段階と
を備える方法。
【請求項８】
前記ＮＰが、前記パケット特徴に対応する処理ルールを取得する前記段階は、
前記ＮＰが前記パケット特徴に基づいて前記ＮＰに記憶されたルールテーブルで検索する段階と、
前記ルールテーブルが前記処理ルールを含むときに、前記ルールテーブルから前記処理ルールを取得する段階と、
前記ルールテーブルが前記処理ルールを含まないときに、前記ＣＰＵに前記第１パケットまたは前記パケット特徴を送信する段階と、
前記ＣＰＵにより返信された前記処理ルールを受信する段階と
を有する、請求項７に記載の方法。
【請求項９】
前記処理ルールは前記パケット特徴を報告することであり、
前記ＮＰが前記処理ルールに基づいて前記第１パケットを処理して第２パケットを取得する前記段階は、前記ＮＰが前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得する段階を有し、前記第１拡張ヘッダは前記パケット特徴を含み、
前記ＣＰＵが前記第２パケットを処理する前記段階は、前記ＣＰＵが前記第２パケットの前記第１拡張ヘッダから前記パケット特徴を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記パケット特徴に基づいて前記第１パケットを転送する段階を有する、
請求項７または８に記載の方法。
【請求項１０】
前記処理ルールはルーティング情報を取得することであり、
前記ＮＰが前記処理ルールに基づいて前記第１パケットを処理して第２パケットを取得する前記段階は、前記ＮＰが前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得する段階を有し、前記第１拡張ヘッダは前記ルーティング情報を含み、
前記ＣＰＵが前記第２パケットを処理する前記段階は、前記ＣＰＵが前記第２パケットの前記第１拡張ヘッダから前記ルーティング情報を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記ルーティング情報に基づいて前記第１パケットを転送する段階を有する、
請求項７または８に記載の方法。
【請求項１１】
前記処理ルールはサービス情報を報告することであり、
前記ＮＰが前記処理ルールに基づいて前記第１パケットを処理して第２パケットを取得する前記段階は、
前記ＮＰが、前記第１パケットを受信するインタフェースに構成されるサービスを取得し、前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得する段階
を有し、前記第１拡張ヘッダは前記サービスに関する情報を含み、
前記ＣＰＵが前記第２パケットを処理する前記段階は、前記ＣＰＵが前記第２パケットの前記第１拡張ヘッダから前記サービスに関する前記情報を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記第１パケットで前記サービスを実行する段階を有する、
請求項７または８に記載の方法。
【請求項１２】
前記ＣＰＵが前記ＮＰに第３パケットを送信する段階であって、前記第３パケットは第２拡張ヘッダを含み、前記第２拡張ヘッダは処理情報およびレイヤ２ヘッダを含む、段階と、
前記ＮＰが前記第２拡張ヘッダ内の前記処理情報および前記レイヤ２ヘッダを取得し、前記第３パケットから前記第２拡張ヘッダを削除して第４パケットを取得し、前記処理情報に基づいて前記第４パケットを処理し、前記第４パケットに前記レイヤ２ヘッダを追加して第５パケットを取得する段階と
を更に備える請求項７から１１のいずれか一項に記載の方法。
【請求項１３】
メモリとプロセッサとを備えるネットワークデバイスであって、前記メモリはプログラム命令を記憶するように構成され、前記プロセッサは前記メモリ内の前記プログラム命令を呼び出して、請求項７から１２のいずれか一項に記載のサービス処理方法を実行するように構成される、ネットワークデバイス。
【請求項１４】
コンピュータプログラムを記憶する可読記憶媒体であって、前記コンピュータプログラムは、実行されると、請求項７から１２のいずれか一項に記載のサービス処理方法を実装する、可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は通信技術の分野、特にサービス処理方法およびネットワークデバイスに関する。
【背景技術】
【０００２】
インターネットの流行に伴い、エッジルータがネットワークシステムにおいて重要な役割を果たしている。エッジルータは、ローカルエリアネットワークからワイドエリアネットワークにユーザを移動させるように配向される。今日、ローカルエリアネットワーク技術とワイドエリアネットワーク技術との間には依然として大きな違いがあり、エッジルータは、例えば単純なネットワーキングから複雑なマルチメディアサービスおよび仮想プライベートネットワーク（ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ、ＶＰＮ）サービスまで、ユーザの様々なサービス要件を満たす必要がある。
【０００３】
現在のところ、エッジルータに関連するサービスは全てエッジルータの中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、ＣＰＵ）により処理される。しかしながら、エッジルータに関連するサービスは多種多様であり、ＣＰＵの転送能力および処理能力を高めることが難しい。結果として、エッジルータのサービス処理効率が低くなる。
【発明の概要】
【０００４】
本願は、ネットワークデバイス内のＣＰＵによるパケットの処理プロセスを単純化することによりネットワークデバイスのサービス処理効率を高めるサービス処理方法およびネットワークデバイスを提供する。
【０００５】
第１態様によれば、本願はネットワークデバイスを提供し、ネットワークデバイスはネットワークプロセッサ（ｎｅｔｗｏｒｋ  ｐｒｏｃｅｓｓｏｒ、ＮＰ）およびＣＰＵを含む。ＮＰは第１パケットを受信し、第１パケットのパケット特徴を取得し、パケット特徴に対応する処理ルールを取得し、処理ルールに基づいて第１パケットを処理して第２パケットを取得し、ＣＰＵに第２パケットを送信するように構成される。ＣＰＵは第２パケットを受信し、第２パケットを処理するように構成される。
【０００６】
考えられる設計において、ＣＰＵは更にＮＰに処理ルールを送信するように構成される。
【０００７】
考えられる設計において、処理ルールはパケット特徴を報告することである。ＮＰは第１パケットに第１拡張ヘッダを追加して第２パケットを取得するように構成され、第１拡張ヘッダはパケット特徴を含む。ＣＰＵは第２パケットの第１拡張ヘッダからパケット特徴を取得し、第２パケットから第１拡張ヘッダを削除して第１パケットを取得し、パケット特徴に基づいて第１パケットを転送するように構成される。
【０００８】
考えられる設計において、処理ルールはルーティング情報を取得することである。ＮＰは第１パケットに第１拡張ヘッダを追加して第２パケットを取得するように構成され、第１拡張ヘッダはルーティング情報を含む。ＣＰＵは第２パケットの第１拡張ヘッダからルーティング情報を取得し、第２パケットから第１拡張ヘッダを削除して第１パケットを取得し、ルーティング情報に基づいて第１パケットを転送するように構成される。
【０００９】
考えられる設計において、処理ルールはサービス情報を報告することである。ＮＰは、第１パケットを受信するインタフェースに構成されるサービスを取得し、第１パケットに第１拡張ヘッダを追加して第２パケットを取得するように構成され、第１拡張ヘッダはサービスに関する情報を含む。ＣＰＵは第２パケットの第１拡張ヘッダからサービスに関する情報を取得し、第２パケットから第１拡張ヘッダを削除して第１パケットを取得し、第１パケットでサービスを実行するように構成される。
【００１０】
考えられる設計において、パケット特徴に対応する処理ルールを取得するときに、ＮＰは、パケット特徴に基づいてＮＰに記憶されたルールテーブルで検索し、ルールテーブルが処理ルールを含むときに、ルールテーブルから処理ルールを取得し、ルールテーブルが処理ルールを含まないときに、ＣＰＵに第１パケットまたはパケット特徴を送信し、ＣＰＵにより返信された処理ルールを受信する。
【００１１】
考えられる設計において、ＮＰは更にルールテーブルに処理ルールを追加する。
【００１２】
考えられる設計において、ＣＰＵはＮＰに第３パケットを送信し、第３パケットは第２拡張ヘッダを含み、第２拡張ヘッダは処理情報およびレイヤ２ヘッダを含む。
【００１３】
ＮＰは第２拡張ヘッダ内の処理情報およびレイヤ２ヘッダを取得し、第３パケットから第２拡張ヘッダを削除して第４パケットを取得し、処理情報に基づいて第４パケットを処理し、第４パケットにレイヤ２ヘッダを追加して第５パケットを取得するように構成される。
【００１４】
第２態様によれば、本願は、ネットワークデバイスに適用されるサービス処理方法を提供する。ネットワークデバイスはＮＰおよびＣＰＵを含み、方法は、ＮＰが第１パケットを受信し、第１パケットのパケット特徴を取得する段階と、ＮＰが、パケット特徴に対応する処理ルールを取得し、処理ルールに基づいて第１パケットを処理して第２パケットを取得する段階と、ＮＰがＣＰＵに第２パケットを送信する段階と、ＣＰＵが第２パケットを受信および処理する段階とを含む。
【００１５】
考えられる設計において、ＣＰＵはＮＰに処理ルールを送信する。
【００１６】
考えられる設計において、処理ルールはパケット特徴を報告することである。  ＮＰが処理ルールに基づいて第１パケットを処理して第２パケットを取得する段階は、ＮＰが第１パケットに第１拡張ヘッダを追加して第２パケットを取得する段階を有し、第１拡張ヘッダはパケット特徴を含み、ＣＰＵが第２パケットを処理する段階は、ＣＰＵが第２パケットの第１拡張ヘッダからパケット特徴を取得し、第２パケットから第１拡張ヘッダを削除して第１パケットを取得し、パケット特徴に基づいて第１パケットを転送する段階を有する。
【００１７】
考えられる設計において、処理ルールはルーティング情報を取得することである。  ＮＰが処理ルールに基づいて第１パケットを処理して第２パケットを取得する段階は、ＮＰが第１パケットに第１拡張ヘッダを追加して第２パケットを取得する段階を有し、第１拡張ヘッダはルーティング情報を含み、ＣＰＵが第２パケットを処理する段階は、ＣＰＵが第２パケットの第１拡張ヘッダからルーティング情報を取得し、第２パケットから第１拡張ヘッダを削除して第１パケットを取得し、ルーティング情報に基づいて第１パケットを転送する段階を有する。
【００１８】
考えられる設計において、処理ルールはサービス情報を報告することである。  ＮＰが処理ルールに基づいて第１パケットを処理して第２パケットを取得する段階は、ＮＰが、第１パケットを受信するインタフェースに構成されるサービスを取得し、第１パケットに第１拡張ヘッダを追加して第２パケットを取得する段階を有し、第１拡張ヘッダはサービスに関する情報を含み、ＣＰＵが第２パケットを処理する段階は、ＣＰＵが第２パケットの第１拡張ヘッダからサービスに関する情報を取得し、第２パケットから第１拡張ヘッダを削除して第１パケットを取得し、第１パケットでサービスを実行する段階を有する。
【００１９】
考えられる設計において、ＮＰが、パケット特徴に対応する処理ルールを取得する段階は、ＮＰがパケット特徴に基づいてＮＰに記憶されたルールテーブルで検索する段階と、ルールテーブルが処理ルールを含むときに、ルールテーブルから処理ルールを取得する段階と、ルールテーブルが処理ルールを含まないときに、ＣＰＵに第１パケットまたはパケット特徴を送信する段階と、ＣＰＵにより返信された処理ルールを受信する段階とを含む。
【００２０】
考えられる設計において、ＣＰＵにより返信された処理ルールをＮＰが受信する段階の後、方法は更に、ＮＰがルールテーブルに処理ルールを追加する段階を含む。
【００２１】
考えられる設計において、方法は更に、ＣＰＵがＮＰに第３パケットを送信する段階であって、第３パケットは第２拡張ヘッダを含み、第２拡張ヘッダは処理情報およびレイヤ２ヘッダを含む、段階と、ＮＰが第２拡張ヘッダ内の処理情報およびレイヤ２ヘッダを取得し、第３パケットから第２拡張ヘッダを削除して第４パケットを取得し、処理情報に基づいて第４パケットを処理し、第４パケットにレイヤ２ヘッダを追加して第５パケットを取得する段階とを備える。
【００２２】
第３態様によれば、本願はネットワークデバイスを提供する。ネットワークデバイスはプロセッサおよびメモリを含み、メモリはコンピュータ実行可能命令を記憶し、プロセッサは、メモリに記憶されたコンピュータ実行可能命令を実行して本願の第２態様に係る方法のいずれか１つを実装する。
【００２３】
第４態様によれば、本願はコンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体はプログラムコードを記憶し、プログラムコードは、プロセッサにより実行されると、本願の第２態様に係る方法のいずれか１つを実装する。
【００２４】
第５態様によれば、本願はプログラム製品を提供する。プログラム製品はコンピュータプログラムを含み、コンピュータプログラムは可読記憶媒体に記憶され、ネットワークデバイスのプロセッサが可読記憶媒体からコンピュータプログラムを読み取ってよく、プロセッサはコンピュータプログラムを実行して、ネットワークデバイスが本願の第２態様に係る方法のいずれか１つを実行できるようにする。
【００２５】
本願が提供するサービス処理方法およびネットワークデバイスによれば、ネットワークデバイスのＣＰＵが第１パケットを処理する前に、ネットワークデバイスのＮＰはまず第１パケットを処理し、処理後に取得された第２パケットをＣＰＵに送信する。そうすることで、ＣＰＵは第２パケットを直接処理して、ＣＰＵによる受信されたパケットの処理プロセスを単純化することができる。その結果、ネットワークデバイスのサービス処理効率が高まる。
【図面の簡単な説明】
【００２６】
【図１】本願のある実施形態に係る通信システムの概略図である。
【００２７】
【図２】本願のある実施形態に係るサービス処理方法のフローチャートである。
【００２８】
【図３】本願の別の実施形態に係るサービス処理方法のフローチャートである。
【００２９】
【図４】本願の別の実施形態に係るサービス処理方法のフローチャートである。
【００３０】
【図５】本願の別の実施形態に係るサービス処理方法のフローチャートである。
【００３１】
【図６】本願の別の実施形態に係るサービス処理方法のフローチャートである。
【００３２】
【図７】本願のある実施形態に係るネットワークデバイスの概略構造図である。
【００３３】
【図８】本願の別の実施形態に係るネットワークデバイスの概略構造図である。
【発明を実施するための形態】
【００３４】
本願における「少なくとも１つ」という用語は１または複数を指し、「複数」という用語は２つまたはそれより多くを指す。「および／または」という用語は、関連付けられる対象物間の対応関係を説明するものであり、３つの関係が存在し得ることを表す。例えば、Ａおよび／またはＢは、Ａのみが存在する、ＡおよびＢの両方が存在する、および、Ｂのみが存在するという３つのケースを表し得る。ＡおよびＢは単数形または複数形であってよい。「／」という文字は概して、関連付けられる対象物間の「または」の関係を示す。「以下の項目のうちの少なくとも１つ」または他の類似表現は、これらの項目の任意の組み合わせを指し、これらの項目の任意の組み合わせは、単一の項目または複数の項目の任意の組み合わせを含む。例えば、ａ、ｂ、またはｃのうちの少なくとも１つが、ａ、ｂ、ｃ、ａ−ｂ、ａ−ｃ、ｂ−ｃ、またはａ−ｂ−ｃとして表現されてよく、ａ、ｂ、およびｃは単数形または複数形であってよい。
【００３５】
図１は、本願のある実施形態に係る通信システムの概略図である。図１に示すように、通信システムは複数のネットワークデバイスを含む。ローカルエリアネットワークに配置されるネットワークデバイスもあれば、ワイドエリアネットワークに配置されるネットワークデバイスもあり、パケットがネットワークデバイス間で転送されて、ソースネットワークデバイスからターゲットネットワークデバイスに伝送され得る。ネットワークデバイスを使用することにより、パケットはローカルエリアネットワークとワイドエリアネットワークとの間で転送され得る。
【００３６】
ネットワークデバイスのうちエッジネットワークデバイスが、本願の実施形態における解決策を使用し得る。本願の実施形態におけるネットワークデバイスはエッジネットワークデバイスに限定されないことに留意されたい。
【００３７】
図２は、本願のある実施形態に係るサービス処理方法のフローチャートである。サービス処理方法はネットワークデバイスに適用され、ネットワークデバイスはＮＰおよびＣＰＵを含む。図２に示すように、この実施形態の方法は以下の段階を含んでよい。
【００３８】
Ｓ２０１：ＮＰは第１パケットを受信する。
【００３９】
Ｓ２０２：ＮＰは第１パケットのパケット特徴を取得する。
【００４０】
この実施形態において、ＮＰにより受信されるパケットは任意のパケットであってよく、ここでのパケットは第１パケットと呼ばれ、第１パケットのパケット特徴は、第１パケットが受信された後に第１パケットから取得される。パケット特徴は、例えば媒体アクセス制御（ｍｅｄｉａ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ、ＭＡＣ）アドレス、仮想ローカルエリアネットワーク（ｖｉｒｔｕａｌ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＶＬＡＮ）情報、宛先ポート番号、送信元ポート番号、プロトコル番号、インターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ、ＩＰ）アドレス、および他の情報のうちの少なくとも１つであってよい。
【００４１】
オプションとして、ＮＰは更に、第１パケットに対応する他の情報、例えば第１パケットに含まれる処理すべきサービスに関する情報、第１パケットのルーティング情報、および第１パケットを受信するインタフェースに構成されるサービスを第１パケットから取得してよい。
【００４２】
Ｓ２０３：ＮＰは、パケット特徴に対応する処理ルールを取得する。
【００４３】
考えられる設計において、ＣＰＵはＮＰに処理ルールを送信する。ＣＰＵはＮＰに処理ルールを能動的に送信してよい、または、ＮＰにより送信された、処理ルールを取得するための要求を受信した後、ＣＰＵはＮＰに処理ルールを送信する。ＮＰは、受信されたパケットを処理ルールに基づいて処理し、ＮＰがパケットを処理する方式が標準化されることにより、ＮＰによるパケットの処理効率が高まる。
【００４４】
考えられる設計において、Ｓ２０３の１つの考えられる実装は、ＮＰがパケット特徴に基づいてＮＰに記憶されたルールテーブルで検索する段階と、ルールテーブルが処理ルールを含むときに、ルールテーブルから処理ルールを取得する段階と、ルールテーブルが処理ルールを含まないときに、ＣＰＵに第１パケットまたはパケット特徴を送信する段階と、ＣＰＵにより返信された処理ルールを受信する段階とを含んでよい。
【００４５】
この実施形態において、ＮＰは、パケットのパケット特徴に対応する処理ルールを記憶し、処理ルールはルールテーブルの形式で記憶される。従って、第１パケットのパケット特徴を取得した後、ＮＰは第１パケットのパケット特徴に基づいてルールテーブルで検索して、第１パケットのパケット特徴に対応する処理ルールを取得する。第１パケットのパケット特徴に対応する処理ルールをＮＰのルールテーブルが既に含んでいる場合は、ＮＰは、第１パケットのパケット特徴に対応する処理ルールをルールテーブルから直接取得する。第１パケットのパケット特徴に対応する処理ルールをルールテーブルが含まない場合は、ＮＰは、第１パケットのパケット特徴に対応する処理ルールをＣＰＵから取得する必要がある。ある実装において、ＮＰは第１パケットに拡張ヘッダを追加してパケットを取得してよく、拡張ヘッダは第１情報を含み、第１情報は、ＮＰが処理ルールを含まないことを示すために使用され、次に、ＮＰはＣＰＵにパケットを送信して、ＣＰＵから処理ルールを取得するように要求する。ＣＰＵは、ＮＰにより送信されたパケットを受信し、パケットの拡張ヘッダから第１情報を取得し、第１情報に基づいてＮＰに処理ルールを送信する。別の実装において、ＮＰは代替的にＣＰＵに第１パケットのパケット特徴を送信してよく、ＣＰＵは、ＮＰにより送信された第１パケットのパケット特徴を受信し、第１パケットのパケット特徴に基づいて第１パケットのパケット特徴に対応する処理ルールをＮＰに送信する。それに応じて、ＮＰは、ＣＰＵにより送信された、第１パケットのパケット特徴に対応する処理ルールを受信し、処理ルールに基づいて第１パケットを処理して第２パケットを取得する。
【００４６】
この実施形態において、パケット特徴を取得した後、ネットワークデバイス内のＮＰはまず、パケット特徴に対応する処理ルールをルールテーブルで検索し、パケット特徴に対応する処理ルールをルールテーブルが含まないときに、ＮＰはＣＰＵに第１パケットまたはパケット特徴を送信して、パケット特徴に対応する処理ルールを取得する。このように、ＣＰＵの処理量が削減されることによりＣＰＵの処理効率が高まる。
【００４７】
考えられる設計において、パケット特徴に対応する処理ルールをＮＰが取得する段階の後、方法は更に、ＮＰがルールテーブルに処理ルールを追加する段階を含む。
【００４８】
この実施形態において、ＣＰＵにより送信された、第１パケットのパケット特徴に対応する処理ルールを受信した後、ＮＰは、第１パケットのパケット特徴に対応する処理ルールをルールテーブルに追加する。そうすることで、第１パケットと同じパケット特徴を有するパケットを後で受信するときに、ＮＰは、パケット特徴に対応する処理ルールをルールテーブルから直接見つけて、ＮＰがパケットを受信するたびにＮＰがＣＰＵから処理ルールを取得する必要があるという理由からＮＰおよびＣＰＵの処理量が増加するといったケースを回避し、ＣＰＵによるパケットの処理効率を高めることができる。その結果、ネットワークデバイスのサービス処理効率が高まる。
【００４９】
Ｓ２０４：ＮＰは、処理ルールに基づいて第１パケットを処理して第２パケットを取得する。
【００５０】
この実施形態において、第１パケットのパケット特徴を取得した後、ＮＰは、パケット特徴に対応する処理ルールを取得し、処理ルールはＮＰとＣＰＵとの間で合意された内容である。処理ルールは例えば、ＮＰが、ＮＰにより受信されたパケットのパケット特徴を取得し、ＣＰＵに当該パケット特徴を送信することであってもよいし、ＮＰが、ＮＰにより受信されたパケットのルーティング情報を取得し、ＣＰＵに当該ルーティング情報を送信することであってもよいし、ＮＰが、パケットを受信するインタフェースに構成されるタスクを取得し、ＣＰＵに当該タスクを送信することであってもよく、パケットを受信するインタフェースは、例えばネットワークデバイス上の物理インタフェースまたは仮想インタフェースである。ＮＰは、処理ルールに基づいて第１パケットを処理して第２パケットを取得し、第２パケットは、ＮＰにより解析される第１パケットに含まれる情報を含んでよい。
【００５１】
Ｓ２０５：ＮＰはＣＰＵに第２パケットを送信し、それに応じてＣＰＵは第２パケットを受信する。
【００５２】
Ｓ２０６：ＣＰＵは第２パケットを処理する。
【００５３】
この実施形態において、ＮＰはＣＰＵに第２パケットを送信し、ＣＰＵは第２パケットを受信する。次に、ＣＰＵは第２パケットを処理する。第２パケットは、ＮＰによる処理ルールに基づく処理の後に取得される。そのため、ＣＰＵは、受信されたパケットを処理ルールに基づいて処理する必要がなく、ＣＰＵによる受信されたパケットの処理プロセスが単純化される。
【００５４】
この実施形態において、ネットワークデバイスはＮＰおよびＣＰＵを含み、ＮＰは第１パケットを受信し、第１パケットのパケット特徴を取得し、パケット特徴に対応する処理ルールを取得し、処理ルールに基づいて第１パケットを処理して第２パケットを取得し、ＣＰＵに第２パケットを送信し、ＣＰＵは第２パケットを受信および処理する。ＣＰＵが第１パケットを処理する前、ＮＰは第１パケットを処理し、処理後に取得された第２パケットをＣＰＵに送信する。そうすることで、ＣＰＵは第２パケットを直接処理して、ＣＰＵによる、ＣＰＵにより受信されたパケットの処理プロセスを単純化することができる。その結果、ネットワークデバイスのサービス処理効率が高まる。
【００５５】
図３は、本願の別の実施形態に係るサービス処理方法のフローチャートである。サービス処理方法はネットワークデバイスに適用され、ネットワークデバイスはＮＰおよびＣＰＵを含む。図３に示すように、この実施形態における方法については、パケット特徴を報告することが処理ルールに含まれる例を使用することにより説明する。この実施形態における方法は以下の段階を含んでよい。
【００５６】
Ｓ３０１：ＮＰは第１パケットを受信する。
【００５７】
Ｓ３０２：ＮＰは第１パケットのパケット特徴を取得する。
【００５８】
この実施形態において、Ｓ３０１およびＳ３０２の具体的な実装については、Ｓ２０１およびＳ２０２を参照されたい。詳細についてはここで改めて説明しない。
【００５９】
Ｓ３０３：ＮＰはパケット特徴に対応する処理ルールを取得し、処理ルールはパケット特徴を報告することである。
【００６０】
Ｓ３０４：ＮＰは第１パケットに第１拡張ヘッダを追加して第２パケットを取得し、第１拡張ヘッダはパケット特徴を含む。
【００６１】
Ｓ３０５：ＮＰはＣＰＵに第２パケットを送信し、それに応じてＣＰＵは第２パケットを受信する。
【００６２】
この実施形態において、ＮＰにより取得される処理ルールはパケット特徴を報告することであってよく、パケット特徴を報告することは、第１パケットおよび第１パケットのパケット特徴の両方をＣＰＵに送信するようＮＰに命令するために使用される。従って、ＮＰは第１パケットに拡張ヘッダを追加してよく、ここでの拡張ヘッダは第１拡張ヘッダと呼ばれ、第１拡張ヘッダはパケット特徴を含み、第１パケットおよび第１パケットのパケット特徴を含む第２パケットが取得される。ＮＰは、報告されたパケット特徴に基づく処理の後に取得された第２パケットをＣＰＵに送信する。
【００６３】
Ｓ３０６：ＣＰＵは第２パケットの第１拡張ヘッダからパケット特徴を取得し、第２パケットから第１拡張ヘッダを削除して、第１パケットを取得する。
【００６４】
Ｓ３０７：ＣＰＵはパケット特徴に基づいて第１パケットを転送する。
【００６５】
この実施形態において、第１パケットのパケット特徴を含む第２パケットをＣＰＵが受信するときに、ＮＰは第２パケットの第１拡張ヘッダに第１パケットのパケット特徴を既に追加している。そのため、ＣＰＵは第２パケットの第１拡張ヘッダから第１パケットのパケット特徴を直接取得する。次に、ＣＰＵは第２パケットの第１拡張ヘッダを削除して第１パケットを取得し、第１パケットのパケット特徴に含まれる情報に基づいて第１パケットを転送する。例えば、パケット特徴はＭＡＣアドレスを含み、ＣＰＵは、第１パケットが受信されるＭＡＣアドレスに基づいて第１パケットを転送する。
【００６６】
この実施形態において、ネットワークデバイス内のＮＰは、パケット特徴を報告するという処理ルールに基づいて、パケット特徴を含む第１拡張ヘッダを第１パケットに追加して第２パケットを取得し、ＣＰＵに第２パケットを送信する。そうすることで、ＣＰＵは第２パケットの第１拡張ヘッダから第１パケットのパケット特徴を直接取得することができ、取得された第１パケットを分析して第１パケットのパケット特徴を取得する必要がなくなり、ＣＰＵによるパケットの処理プロセスが単純化され、ＣＰＵによるパケット処理時間が削減され、ＣＰＵによるパケットの転送効率および処理効率が高まる。その結果、ネットワークデバイスのサービス処理効率が高まる。
【００６７】
図４は、本願の別の実施形態に係るサービス処理方法のフローチャートである。サービス処理方法はネットワークデバイスに適用され、ネットワークデバイスはＮＰおよびＣＰＵを含む。図４に示すように、この実施形態における方法については、ルーティング情報を取得することが処理ルールに含まれる例を使用することにより説明する。この実施形態における方法は以下の段階を含んでよい。
【００６８】
Ｓ４０１：ＮＰは第１パケットを受信する。
【００６９】
Ｓ４０２：ＮＰは第１パケットのパケット特徴を取得する。
【００７０】
この実施形態において、Ｓ４０１およびＳ４０２の具体的な実装については、Ｓ２０１およびＳ２０２を参照されたい。詳細についてはここで改めて説明しない。
【００７１】
Ｓ４０３：ＮＰは、パケット特徴に対応する処理ルールを取得し、処理ルールはルーティング情報を取得することである。
【００７２】
Ｓ４０４：ＮＰは第１パケットに第１拡張ヘッダを追加して第２パケットを取得し、第１拡張ヘッダはルーティング情報を含む。
【００７３】
Ｓ４０５：ＮＰはＣＰＵに第２パケットを送信し、それに応じてＣＰＵは第２パケットを受信する。
【００７４】
この実施形態において、ＮＰにより取得される処理ルールはルーティング情報を取得することであってよく、ルーティング情報を取得することは、ＮＰにより取得される第１パケットのルーティング情報をＣＰＵがＮＰから取得することであり、この場合ＮＰは第１パケットおよび第１パケットのルーティング情報の両方をＣＰＵに送信する必要がある。従って、ＮＰは第１パケットに拡張ヘッダを追加してよく、ここでの拡張ヘッダは第１拡張ヘッダと呼ばれ、第１拡張ヘッダはルーティング情報を含み、第１パケットおよび第１パケットのルーティング情報を含む第２パケットが取得される。ルーティング情報は例えばルートインデックスを含んでよく、ルートインデックスはルータエントリの識別子であり、ルータエントリの識別子は、ルーティングテーブル内のルータエントリの格納場所を示すために使用される。ＮＰは、処理ルールに基づく処理の後に取得された第２パケットをＣＰＵに送信する。
【００７５】
Ｓ４０６：ＣＰＵは第２パケットの第１拡張ヘッダからルーティング情報を取得し、第２パケットから第１拡張ヘッダを削除して、第１パケットを取得する。
【００７６】
Ｓ４０７：ＣＰＵはルーティング情報に基づいて第１パケットを転送する。
【００７７】
この実施形態において、第１パケットのルーティング情報を含む第２パケットをＣＰＵが受信するときに、ＮＰは第２パケットの第１拡張ヘッダに第１パケットのルーティング情報を既に追加している。そのため、ＣＰＵは第２パケットの第１拡張ヘッダから第１パケットのルーティング情報を直接取得する。次に、ＣＰＵは第２パケットの第１拡張ヘッダを削除して第１パケットを取得し、第１パケットのルーティング情報に基づいて第１パケットを転送する。例えば、ルーティング情報がルートインデックスを含む場合は、ルートインデックスを取得した後、ＣＰＵはルートインデックスに基づいてルーティングテーブル内のルータエントリの格納場所を見つけることで、ルートインデックスにより示される格納場所に記憶されたルータエントリを取得できるようにする。
【００７８】
この実施形態において、ネットワークデバイス内のＮＰは、ルーティング情報を取得することに基づいてルーティング情報を含む第１拡張ヘッダを第１パケットに追加して第２パケットを取得し、ＣＰＵに第２パケットを送信する。そうすることで、ＣＰＵは第２パケットの第１拡張ヘッダから第１パケットのルーティング情報を直接取得し、ルーティング情報に基づいて第１パケットを転送することができ、第１パケットを分析して第１パケットのルーティング情報を取得する必要がなくなり、ＣＰＵによるパケットの処理プロセスが単純化され、ＣＰＵによるパケット処理時間が削減され、ＣＰＵによるパケットの転送効率および処理効率が高まる。その結果、ネットワークデバイスのサービス処理効率が高まる。
【００７９】
幾つかの実施形態では、図３または図４に示す実施形態に基づいて、ＣＰＵが第１パケットを転送するときに、ＣＰＵはＮＰに第１パケットを転送してよい。そうすることで、ＣＰＵは、第１パケットの転送を完了するために必要とされるプロセスでその後の転送をＮＰにハンドオーバすることができる。例えば、第１パケットを転送するときに、ＣＰＵは第１パケットをカプセル化する必要がある。現在のところ、第１パケットのカプセル化はＣＰＵにより完了される。本願では、ＣＰＵは、第１パケットをカプセル化するプロセスをＮＰにハンドオーバしてＣＰＵの処理量を削減し、ＣＰＵの転送効率および処理効率を高めることにより、ネットワークデバイスのサービス処理効率を高め、パケットの処理時間を削減する。
【００８０】
図５は、本願の別の実施形態に係るサービス処理方法のフローチャートである。サービス処理方法はネットワークデバイスに適用され、ネットワークデバイスはＮＰおよびＣＰＵを含む。図５に示すように、この実施形態における方法については、サービス情報を報告することが処理ルールに含まれる例を使用することにより説明する。この実施形態における方法は以下の段階を含んでよい。
【００８１】
Ｓ５０１：ＮＰは第１パケットを受信する。
【００８２】
Ｓ５０２：ＮＰは第１パケットのパケット特徴を取得する。
【００８３】
この実施形態において、Ｓ５０１およびＳ５０２の具体的な実装については、Ｓ２０１およびＳ２０２を参照されたい。詳細についてはここで改めて説明しない。
【００８４】
Ｓ５０３：ＮＰは、パケット特徴に対応する処理ルールを取得し、処理ルールはサービス情報を報告することである。
【００８５】
Ｓ５０４：ＮＰは、第１パケットを受信するインタフェースに構成されるサービスを取得し、第１パケットに第１拡張ヘッダを追加して第２パケットを取得し、第１拡張ヘッダはサービスに関する情報を含む。
【００８６】
Ｓ５０５：ＮＰはＣＰＵに第２パケットを送信し、それに応じてＣＰＵは第２パケットを受信する。
【００８７】
この実施形態において、ＮＰにより取得される処理ルールはサービス情報を報告することであってよく、サービス情報を報告することは、第１パケットおよび取得された第１パケットのサービス情報の両方をＣＰＵに送信するようＮＰに命令するために使用される。従って、ＮＰは、第１パケットを受信するインタフェースに構成されるサービスを取得し、第１パケットを受信するインタフェースに構成される取得されたサービスを使用することによりサービス情報を形成し、第１パケットに拡張ヘッダを追加する。ここでの拡張ヘッダは第１拡張ヘッダと呼ばれ、第１拡張ヘッダはサービス情報を含み、第１パケットおよび第１パケットのサービス情報を含む第２パケットが取得される。ＮＰは、処理ルールに基づく処理の後に取得された第２パケットをＣＰＵに送信する。
【００８８】
第１パケットを受信するインタフェースに構成される、ＮＰにより取得されるサービスは少なくとも１つある。従って、サービス情報は少なくとも１つのサービスに関する情報を含み、サービス情報がサービスに関する情報を複数含む場合は、サービス情報は、複数のサービスに関する情報により形成されるサービススタックである。
【００８９】
オプションとして、第１パケットを受信するインタフェースに構成される、ＮＰにより取得される少なくとも１つのサービスには、ＮＰが処理できるサービスが存在する場合があり、ＮＰが処理できないサービスが存在する場合もある。従って、ＮＰは、ＮＰが処理できないサービスに関する情報を第１拡張ヘッダに追加してよい、または、ＮＰは代替的に、第１パケットを受信するインタフェースに構成される少なくとも１つのサービスに関する情報を拡張ヘッダに追加してよい。これについては本願のこの実施形態において限定されない。
【００９０】
Ｓ５０６：ＣＰＵは第２パケットの第１拡張ヘッダからサービスに関する情報を取得し、第２パケットから第１拡張ヘッダを削除して、第１パケットを取得する。
【００９１】
Ｓ５０７：ＣＰＵは第１パケットでサービスを実行する。
【００９２】
この実施形態において、第１パケットを受信するインタフェースに構成されるサービスに関する情報をＣＰＵが受信するときに、ＮＰは、第１パケットを受信するインタフェースに構成されるサービスに関する情報を第２パケットの第１拡張ヘッダに既に追加している。そのため、ＣＰＵは、第１パケットを受信するインタフェースに構成されるサービスに関する情報を第２パケットの第１拡張ヘッダから直接取得する。次に、ＣＰＵは第２パケットの第１拡張ヘッダを削除して第１パケットを取得する。次に、ＣＰＵはサービス情報に基づいてサービスを実行する。例えば、第１パケットを受信するインタフェースに構成される、サービス情報を使用することによってＣＰＵにより取得されたサービスがトラフィックに関する統計の収集である場合は、ＣＰＵはトラフィックに関する統計を収集するサービスを実行する。
【００９３】
この実施形態において、ネットワークデバイス内のＮＰは、第１パケットを受信するインタフェースに構成されるサービスを処理ルールに基づいて第２パケットの第１拡張ヘッダに追加し、ＣＰＵにサービスを送信する。そうすることで、ＣＰＵは、第１パケットを受信するインタフェースに構成されるサービスに関する情報を第２パケットの第１拡張ヘッダから直接取得してサービスを直接処理することができ、受信されたパケットを分析して、パケットを受信するインタフェースに構成されるサービスに関する情報を取得する必要がなくなり、ＣＰＵによるパケットの処理時間が削減され、ＣＰＵの処理量が削減され、ＣＰＵによるパケットの転送効率および処理効率が高まる。その結果、ネットワークデバイスのサービス処理効率が高まる。
【００９４】
図６は、本願の別の実施形態に係るサービス処理方法のフローチャートである。図６に示すように、図２から図５に示す実施形態に基づいて、本願で提供するサービス処理方法は更に以下の段階を含んでよい。
【００９５】
Ｓ６０１：ＣＰＵはＮＰに第３パケットを送信し、第３パケットは第２拡張ヘッダを含み、第２拡張ヘッダは処理情報およびレイヤ２ヘッダを含む。
【００９６】
この実施形態において、ＣＰＵにより処理されるはずだったパケットは処理のためにＮＰにハンドオーバされてよく、この場合は、処理を必要とする係るパケットがあるときに、ＮＰはＣＰＵの処理リソースを占有することなくパケットを直接プロセスしてよい。例えば、ある実装は、ＣＰＵがＮＰに第３パケットを送信することであってよく、第３パケットは第２拡張ヘッダを含み、第２拡張ヘッダは処理情報およびレイヤ２ヘッダを含む。処理情報は、パケットの処理方式およびパケットの処理に必要とされる情報をＮＰに通知するために使用される。例えば、ＣＰＵは、処理情報を使用することにより、レイヤ２ヘッダをカプセル化するかどうか、または、パケット内のフィールドを変更するかどうかをＮＰに通知する。ＣＰＵは、処理情報を使用することにより、パケットにフィールドを追加するようＮＰに命令し、処理情報を使用することにより、追加すべきフィールドをＮＰに送信し、レイヤ２ヘッダは例えばＭＡＣアドレスまたはＶＬＡＮ情報を含む。
【００９７】
Ｓ６０２：ＮＰは第２拡張ヘッダ内の処理情報およびレイヤ２ヘッダを取得する。
【００９８】
Ｓ６０３：ＮＰは第３パケットから第２拡張ヘッダを削除して第４パケットを取得する。
【００９９】
Ｓ６０４：ＮＰは処理情報に基づいて第４パケットを処理する。
【０１００】
Ｓ６０５：ＮＰは第４パケットにレイヤ２ヘッダを追加して第５パケットを取得する。
【０１０１】
この実施形態において、ＮＰは第３パケットを受信し、ＮＰは、第３パケットの第２拡張ヘッダから処理情報およびレイヤ２ヘッダを取得した後に第３パケットの第２拡張ヘッダを削除して第４パケットを取得する。次に、ＮＰは、取得されたレイヤ２ヘッダを第４パケットに追加して第５パケットを取得する。
【０１０２】
この実施形態については、ＣＰＵにより実行されるはずだったレイヤ２仮想拡張可能ローカルエリアネットワーク（ｖｉｒｔｕａｌ  ｅｘｔｅｎｓｉｂｌｅ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＶＸＬＡＮ）処理が処理のためにＮＰにハンドオーバされる例を使用することにより説明する。
【０１０３】
ＣＰＵはレイヤ２ＶＸＬＡＮを構成し、レイヤ２ＶＸＬＡＮに関連する情報をＮＰに送信する。そうすることで、ＮＰは、レイヤ２ＶＸＬＡＮに関連する情報に基づいてパケットにおけるレイヤ２ＶＸＬＡＮのカプセル化およびデカプセル化を実行する。レイヤ２ＶＸＬＡＮに関連する情報は、例えばパケットにおけるＶＸＬＡＮのカプセル化およびデカプセル化を実行することの命令、ＭＡＣアドレス、ＶＬＡＮ識別子、ＶＸＬＡＮカプセル化に使用される送信元ＩＰアドレス、ＶＸＬＡＮカプセル化に使用される宛先ＩＰアドレス、およびＶＸＬＡＮカプセル化に使用されるＶＸＬＡＮネットワーク識別子のいずれか１つまたは複数を含んでよい。
【０１０４】
この実施形態において、ＣＰＵは、ＣＰＵにより処理されるはずだったパケットを処理のためにＮＰにハンドオーバして、ＣＰＵにより処理されるパケットの数を削減し、ＣＰＵによるパケットの転送効率および処理効率を高めることにより、ネットワークデバイスのサービス処理効率を高め、パケットの転送時間および処理時間を削減する。
【０１０５】
上記に基づいて、本願のこの実施形態では、ＣＰＵおよびＮＰを統合してパケットを共同で処理してよい、または、ＣＰＵにより処理されるパケットを独立した処理のためにＮＰにハンドオーバしてよい。そうすることで、ＮＰはＣＰＵの作業の一部を引き受けて、ＣＰＵによるパケットの転送効率および処理効率を高める。その結果、ネットワークデバイスのサービス処理効率が高まり、パケットの処理時間が削減される。
【０１０６】
図７は、本願のある実施形態に係るネットワークデバイスの概略構造図である。図７に示すように、この実施形態で提供するネットワークデバイス７００はＮＰ７０１およびＣＰＵ７０２を含む。ＮＰ７０１は第１パケットを受信し、第１パケットのパケット特徴を取得し、パケット特徴に対応する処理ルールを取得し、処理ルールに基づいて第１パケットを処理して第２パケットを取得し、ＣＰＵ７０２に第２パケットを送信するように構成され、ＣＰＵ７０２は第２パケットを受信し、第２パケットを処理するように構成される。
【０１０７】
考えられる設計において、ＣＰＵ７０２は更にＮＰ７０１に処理ルールを送信するように構成される。
【０１０８】
考えられる設計において、処理ルールはパケット特徴を報告することであり、ＮＰ７０１は第１パケットに第１拡張ヘッダを追加して第２パケットを取得するように構成され、第１拡張ヘッダはパケット特徴を含み、ＣＰＵ７０２は第２パケットの第１拡張ヘッダからパケット特徴を取得し、第２パケットから拡張ヘッダを削除して第１パケットを取得し、パケット特徴に基づいて第１パケットを転送するように構成される。処理ルールはルーティング情報を取得することである。ＮＰ７０１は第１パケットに第１拡張ヘッダを追加して第２パケットを取得するように構成され、第１拡張ヘッダはルーティング情報を含む。ＣＰＵ７０２は第２パケットの第１拡張ヘッダからルーティング情報を取得し、第２パケットから第１拡張ヘッダを削除して第１パケットを取得し、ルーティング情報に基づいて第１パケットを転送するように構成される。
【０１０９】
考えられる設計において、処理ルールはサービス情報を報告することである。ＮＰ７０１は、第１パケットを受信するインタフェースに構成されるサービスを取得し、第１パケットに第１拡張ヘッダを追加して第２パケットを取得するように構成され、第１拡張ヘッダはサービスに関する情報を含み、ＣＰＵ７０２は第２パケットの第１拡張ヘッダからサービスに関する情報を取得し、第２パケットから第１拡張ヘッダを削除して第１パケットを取得し、第１パケットでサービスを実行するように構成される。
【０１１０】
考えられる設計において、パケット特徴に対応する処理ルールを取得するときに、ＮＰ７０１は、パケット特徴に基づいてＮＰ７０１に記憶されたルールテーブルで検索し、ルールテーブルが処理ルールを含むときに、ルールテーブルから処理ルールを取得し、ルールテーブルが処理ルールを含まないときに、ＣＰＵ７０２にパケットまたはパケット特徴を送信し、ＣＰＵ７０２により返信された処理ルールを受信するように構成される。
【０１１１】
考えられる設計において、ＮＰ７０１は更にルールテーブルに処理ルールを追加するように構成される。
【０１１２】
考えられる設計において、ＣＰＵ７０２はＮＰ７０１に第３パケットを送信するように構成され、第３パケットは第２拡張ヘッダを含み、第２拡張ヘッダは処理情報およびレイヤ２ヘッダを含む。
【０１１３】
ＮＰ７０１は第２拡張ヘッダ内の処理情報およびレイヤ２ヘッダを取得し、第３パケットから第２拡張ヘッダを削除して第４パケットを取得し、処理情報に基づいて第４パケットを処理し、第４パケットにレイヤ２ヘッダを追加して第５パケットを取得するように構成される。
【０１１４】
この実施形態で提供するネットワークデバイスは、上述した方法の実施形態の技術的解決策を実行するように構成され得る。実装原理および技術的効果は同様であり、ここで更に説明しない。
【０１１５】
図８は、本願の別の実施形態に係るネットワークデバイスの概略構造図である。図８に示すように、この実施形態のネットワークデバイス８００は少なくとも１つのプロセッサ８０１とメモリ８０２とを含んでよい。図８では、１つのプロセッサを有するネットワークデバイスを例として使用する。
【０１１６】
メモリ８０２はプログラムを記憶するように構成される。具体的に言うと、プログラムはプログラムコードを含んでよく、プログラムコードはコンピュータ実行可能命令を含む。メモリ８０２は高速ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）を含んでもよいし、少なくとも１つの磁気ディスクメモリなどの不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）を更に含んでもよい。
【０１１７】
プロセッサ８０１は、メモリ８０２に記憶されたコンピュータ実行可能命令を実行して、上述した方法の実施形態で示され、かつ、上述した実施形態で実行されるサービス処理方法を実装するように構成される。
【０１１８】
オプションとして、ある具体的な実装において、メモリ８０２およびプロセッサ８０１が独立して実装される場合は、メモリ８０２およびプロセッサ８０１は、バスを使用することにより互いに接続され、互いの通信を完了してよい。バスは、業界標準アーキテクチャ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ、ＩＳＡ）バス、ペリフェラルコンポーネントインターコネクト（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ、ＰＣＩ）バス、または拡張型業界標準アーキテクチャ（Ｅｘｔｅｎｄｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ、ＥＩＳＡ）バスなどであってよい。バスはアドレスバス、データバス、または制御バスなどとして類別され得るが、このことは、１つのバスまたは１つのタイプのバスしかないことを意味するわけではない。
【０１１９】
オプションとして、ある具体的な実装において、メモリ８０２およびプロセッサ８０１が実装のために１つのチップに統合される場合は、メモリ８０２およびプロセッサ８０１は、内部インタフェースを使用することにより互いの通信を完了してよい。
【０１２０】
この実施形態におけるネットワークデバイスは、上述した方法の実施形態の技術的解決策を実行するように構成され得る。実装原理および技術的効果は同様であり、ここで改めて説明しない。
【０１２１】
機能がソフトウェア機能ユニットの形式で実装され、かつ、独立した製品として販売または使用される場合は、機能は１つのコンピュータ可読記憶媒体に記憶され得る。係る理解に基づいて、本願の技術的解決策は本質的に、または従来技術に寄与する部分が、またはこれらの技術的解決策の幾つかが、ソフトウェア製品の形式で実装されてよい。ソフトウェア製品は１つの記憶媒体に記憶され、本願の実施形態で説明する方法の段階のうちの全てまたは幾つかを実行するようコンピュータデバイス（パーソナルコンピュータ、サーバ、またはネットワークデバイスなどであってよい）に指示するための命令を幾つか含む。
【０１２２】
上述の説明は本願の具体的な実装に過ぎず、本願の保護範囲を限定することを意図するものではない。本願で開示する技術的範囲内で当業者が容易に考え付く変形または置換はいずれも、本願の保護範囲に含まれるものとする。従って、本願の保護範囲は請求項の保護範囲の対象になるものとする。
【図１】
2020178348.tif 000003
【図２】
2020178348.tif 000004
【図３】
2020178348.tif 000005
【図４】
2020178348.tif 000006
【図５】
2020178348.tif 000007
【図６】
2020178348.tif 000008
【図７】
2020178348.tif 000009
【図８】
2020178348.tif 000010
【手続補正書】
【提出日】令和2年5月21日(2020.5.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークプロセッサ（ＮＰ）と中央処理装置（ＣＰＵ）とを備えるネットワークデバイスであって、
前記ＮＰは第１パケットを受信し、前記第１パケットのパケット特徴を取得し、前記パケット特徴に対応する処理ルールを取得し、前記処理ルールに基づいて前記第１パケットを処理して第２パケットを取得し、前記ＣＰＵに前記第２パケットを送信するように構成され、
前記ＣＰＵは前記第２パケットを受信し、前記第２パケットを処理するように構成される、
ネットワークデバイス。
【請求項２】
前記パケット特徴に対応する前記処理ルールを取得するときに、前記ＮＰは、
前記パケット特徴に基づいて前記ＮＰに記憶されたルールテーブルで検索し、
前記ルールテーブルが前記処理ルールを含むときに、前記ルールテーブルから前記処理ルールを取得し、
前記ルールテーブルが前記処理ルールを含まないときに、前記ＣＰＵに前記第１パケットまたは前記パケット特徴を送信し、前記ＣＰＵにより返信された前記処理ルールを受信する
ように構成される、請求項１に記載のネットワークデバイス。
【請求項３】
前記処理ルールは前記パケット特徴を報告することであり、
前記ＮＰは前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得するように構成され、前記第１拡張ヘッダは前記パケット特徴を含み、
前記ＣＰＵは前記第２パケットの前記第１拡張ヘッダから前記パケット特徴を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記パケット特徴に基づいて前記第１パケットを転送するように構成される、
請求項１または２に記載のネットワークデバイス。
【請求項４】
前記処理ルールはルーティング情報を取得することであり、
前記ＮＰは前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得するように構成され、前記第１拡張ヘッダは前記ルーティング情報を含み、
前記ＣＰＵは前記第２パケットの前記第１拡張ヘッダから前記ルーティング情報を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記ルーティング情報に基づいて前記第１パケットを転送するように構成される、
請求項１または２に記載のネットワークデバイス。
【請求項５】
前記処理ルールはサービス情報を報告することであり、
前記ＮＰは、前記第１パケットを受信するインタフェースに構成されるサービスを取得し、前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得するように構成され、前記第１拡張ヘッダは前記サービスに関する情報を含み、
前記ＣＰＵは前記第２パケットの前記第１拡張ヘッダから前記サービスに関する前記情報を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記第１パケットで前記サービスを実行するように構成される、
請求項１または２に記載のネットワークデバイス。
【請求項６】
前記ＣＰＵは前記ＮＰに第３パケットを送信するように構成され、前記第３パケットは第２拡張ヘッダを含み、前記第２拡張ヘッダは処理情報およびレイヤ２ヘッダを含み、
前記ＮＰは前記第２拡張ヘッダ内の前記処理情報および前記レイヤ２ヘッダを取得し、前記第３パケットから前記第２拡張ヘッダを削除して第４パケットを取得し、前記処理情報に基づいて前記第４パケットを処理し、前記第４パケットに前記レイヤ２ヘッダを追加して第５パケットを取得するように構成される、
請求項１から５のいずれか一項に記載のネットワークデバイス。
【請求項７】
ネットワークデバイスに適用されるサービス処理方法であって、前記ネットワークデバイスはネットワークプロセッサ（ＮＰ）および中央処理装置（ＣＰＵ）を含み、前記方法は、
前記ＮＰが第１パケットを受信し、前記第１パケットのパケット特徴を取得する段階と、
前記ＮＰが、前記パケット特徴に対応する処理ルールを取得し、前記処理ルールに基づいて前記第１パケットを処理して第２パケットを取得する段階と、
前記ＮＰが前記ＣＰＵに前記第２パケットを送信する段階と、
前記ＣＰＵが前記第２パケットを受信および処理する段階と
を備える方法。
【請求項８】
前記ＮＰが、前記パケット特徴に対応する処理ルールを取得する前記段階は、
前記ＮＰが前記パケット特徴に基づいて前記ＮＰに記憶されたルールテーブルで検索する段階と、
前記ルールテーブルが前記処理ルールを含むときに、前記ルールテーブルから前記処理ルールを取得する段階と、
前記ルールテーブルが前記処理ルールを含まないときに、前記ＣＰＵに前記第１パケットまたは前記パケット特徴を送信する段階と、
前記ＣＰＵにより返信された前記処理ルールを受信する段階と
を有する、請求項７に記載の方法。
【請求項９】
前記処理ルールは前記パケット特徴を報告することであり、
前記ＮＰが前記処理ルールに基づいて前記第１パケットを処理して第２パケットを取得する前記段階は、前記ＮＰが前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得する段階を有し、前記第１拡張ヘッダは前記パケット特徴を含み、
前記ＣＰＵが前記第２パケットを処理する前記段階は、前記ＣＰＵが前記第２パケットの前記第１拡張ヘッダから前記パケット特徴を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記パケット特徴に基づいて前記第１パケットを転送する段階を有する、
請求項７または８に記載の方法。
【請求項１０】
前記処理ルールはルーティング情報を取得することであり、
前記ＮＰが前記処理ルールに基づいて前記第１パケットを処理して第２パケットを取得する前記段階は、前記ＮＰが前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得する段階を有し、前記第１拡張ヘッダは前記ルーティング情報を含み、
前記ＣＰＵが前記第２パケットを処理する前記段階は、前記ＣＰＵが前記第２パケットの前記第１拡張ヘッダから前記ルーティング情報を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記ルーティング情報に基づいて前記第１パケットを転送する段階を有する、
請求項７または８に記載の方法。
【請求項１１】
前記処理ルールはサービス情報を報告することであり、
前記ＮＰが前記処理ルールに基づいて前記第１パケットを処理して第２パケットを取得する前記段階は、
前記ＮＰが、前記第１パケットを受信するインタフェースに構成されるサービスを取得し、前記第１パケットに第１拡張ヘッダを追加して前記第２パケットを取得する段階
を有し、前記第１拡張ヘッダは前記サービスに関する情報を含み、
前記ＣＰＵが前記第２パケットを処理する前記段階は、前記ＣＰＵが前記第２パケットの前記第１拡張ヘッダから前記サービスに関する前記情報を取得し、前記第２パケットから前記第１拡張ヘッダを削除して前記第１パケットを取得し、前記第１パケットで前記サービスを実行する段階を有する、
請求項７または８に記載の方法。
【請求項１２】
前記ＣＰＵが前記ＮＰに第３パケットを送信する段階であって、前記第３パケットは第２拡張ヘッダを含み、前記第２拡張ヘッダは処理情報およびレイヤ２ヘッダを含む、段階と、
前記ＮＰが前記第２拡張ヘッダ内の前記処理情報および前記レイヤ２ヘッダを取得し、前記第３パケットから前記第２拡張ヘッダを削除して第４パケットを取得し、前記処理情報に基づいて前記第４パケットを処理し、前記第４パケットに前記レイヤ２ヘッダを追加して第５パケットを取得する段階と
を更に備える請求項７から１１のいずれか一項に記載の方法。
【請求項１３】
メモリとプロセッサとを備えるネットワークデバイスであって、前記メモリはプログラム命令を記憶するように構成され、前記プロセッサは前記メモリ内の前記プログラム命令を呼び出して、請求項７から１２のいずれか一項に記載のサービス処理方法を実行するように構成される、ネットワークデバイス。
【請求項１４】
コンピュータに、請求項７から１２のいずれか一項に記載のサービス処理方法を実行させるためのプログラム。
【外国語明細書】
2020178348000001.pdf