JP2017503405A - アドレス解決プロトコルメッセージを処理するための方法、スイッチ及びコントローラ - Google Patents

アドレス解決プロトコルメッセージを処理するための方法、スイッチ及びコントローラ Download PDF

Info

Publication number
JP2017503405A
JP2017503405A JP2016538639A JP2016538639A JP2017503405A JP 2017503405 A JP2017503405 A JP 2017503405A JP 2016538639 A JP2016538639 A JP 2016538639A JP 2016538639 A JP2016538639 A JP 2016538639A JP 2017503405 A JP2017503405 A JP 2017503405A
Authority
JP
Japan
Prior art keywords
arp
message
address
flow rule
rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016538639A
Other languages
English (en)
Other versions
JP2017503405A5 (ja
Inventor
仕勇 ▲譚▼
仕勇 ▲譚▼
慧 蔡
慧 蔡
慧 倪
慧 倪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2017503405A publication Critical patent/JP2017503405A/ja
Publication of JP2017503405A5 publication Critical patent/JP2017503405A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本発明は、アドレス解決プロトコルメッセージを処理するための方法、スイッチ及びコントローラを開示する。方法は、スイッチにより、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信するステップと、スイッチにより、受信されたフロールールに従ってARPメッセージを構成するとともに、ARPメッセージを送信するステップであって、フロールールがARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む、ステップとを含む。本発明によれば、外部装置とのARPメカニズムベースの対話が実施されることができる。

Description

本発明は、通信技術の分野に関し、特に、アドレス解決プロトコル(ARP、Address Resolution Protocol)メッセージを処理するための方法、スイッチ及びコントローラに関する。
OpenFlowプロトコルは、ソフトウェアデファインドネットワーキング(SDN、Software-Defined Networking)における典型的な技術である。OpenFlowプロトコルにおけるネットワーク要素は、コントローラ(OpenFlow Controller、OF Controller)及びスイッチ(OpenFlow Switch、OF Switch)を含む。コントローラは、パケットの特徴に従ってサービスフローのための転送動作を判定し、対応するフロールールをスイッチに供給することに関与する。スイッチは、フロールールを獲得して記憶し、そして、フロールールに適合する次のパケットに対して対応する動作を実行し、それによりパケットの転送又は処理を実施する。フロールールは、フローマッチング情報、及びそれに応じて実行される処理アクションセットを含む。スイッチは、全てのフローマッチング情報及びアクションセットを記憶するとともに、フローマッチング情報及びアクションセットを対応するフローテーブルにインストールし、ユーザパケットが到着する場合に、スイッチは、フローテーブルマッチングを実行するとともに、ユーザパケットを処理するために、フローテーブルマッチングのマッチング結果に従って対応する動作を実行する。
ARPは、リンクレイヤプロトコルであり、そしてネットワーク装置のIPアドレス及び媒体アクセス制御(MAC、Media Access Control)アドレスが、別のネットワーク装置のIPアドレス及びMACアドレスと対応するのを支援する。宛先IPアドレスを伝達するARPリクエストメッセージが、宛先MACアドレスを伝達するアドレス解決プロトコルレスポンスメッセージを取得するために送信され、その結果、ネットワーク装置は、通信ピアのMACアドレスを獲得する。
しかしながら、従来技術において、OpenFlowモデルに基づくスイッチは、レイヤ2のスイッチ装置(Switch)であり、レイヤ2のスイッチは、ARPメッセージを処理する能力を有していない。従って、スイッチは、スイッチに接続される外部装置とのARPメカニズムベースの対話を実行することができない。
本発明の実施例は、OpenFlowモデルに基づくスイッチがARPメッセージを処理することができない、という従来技術における問題を解決するために、ARPメッセージを処理するための方法、スイッチ及びコントローラを提供する。
前述の技術的問題を解決するために、本発明の実施例は、下記の技術的解決法を開示する。
第1の態様によれば、本発明は、アドレス解決プロトコルメッセージを処理するための方法であって、スイッチにより、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信するステップと、前記スイッチにより、前記の受信されたフロールールに従ってARPメッセージを構成するとともに、前記ARPメッセージを送信するステップであって、前記フロールールがARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む、ステップとを含む、アドレス解決プロトコルメッセージを処理するための方法を提供する。
第1の態様の第1の可能な実施方法において、前記フロールールはARPレスポンスフロールールを含み、前記ARPレスポンスフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、メッセージタイプはARPメッセージであるとともに、要求されたアドレスはスイッチポートにバインドされたIPアドレスであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、ARPレスポンスメッセージを構成するステップであって、前記ARPレスポンスメッセージの媒体アクセス制御(MAC)アドレスが受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスである、ステップを含み、それに応じて、前記スイッチにより、前記の受信されたフロールールに従ってARPメッセージを構成するとともに、前記ARPメッセージを送信する前記ステップは、前記スイッチにより、外部装置から送信されたARPリクエストメッセージを受信するステップと、前記ARPリクエストメッセージにおいて伝達された情報と前記ARPレスポンスフロールールにおける前記マッチングルールとの間でマッチングを行うステップと、もし前記マッチングが成功するならば、前記ARPレスポンスフロールールにおける前記アクションセットに従ってARPレスポンスメッセージを構成し、前記受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスを前記ARPレスポンスメッセージに記入し、その後ARPリクエストパケットの入力ポートを使用することにより前記ARPレスポンスメッセージを転送するステップとを具体的に含む。
第1の態様の第2の可能な実施方法において、前記フロールールは第1のARPリクエストフロールールを含み、前記第1のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは事前設定されたIPアドレスであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、第1のARPリクエストメッセージを構成するステップであって、前記第1のARPリクエストメッセージにおける宛先IPアドレスが前記事前設定されたIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含み、それに応じて、前記スイッチにより、前記の受信されたフロールールに従ってARPメッセージを構成するとともに、前記ARPメッセージを送信する前記ステップは、前記スイッチにより、ユーザパケットを受信するステップと、もし前記パケットの宛先IPアドレスに対応するMACアドレスが存在しないことを検出するならば、前記ユーザパケットに関する情報と前記第1のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを行い、もし前記マッチングが成功するならば、前記第1のARPリクエストフロールールにおける前記アクションセットに従って第1のARPリクエストメッセージを構成し、ここで前記第1のARPリクエストメッセージにおける宛先IPアドレスは前記事前設定されたIPアドレスであり、そして、設定された転送ポート又は全ての転送ポートを使用することにより前記第1のARPリクエストメッセージを送信するステップとを具体的に含む。
第1の態様の第2の可能な実施方法に関連して、第1の態様の第3の可能な実施方法において、前記第1のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、マスクは第1のマスク値を有するという情報を更に含み、それに応じて、前記ユーザパケットに関する前記情報と前記第1のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを行う前記ステップは、前記ユーザパケットがIPパケットであるかどうかを判定するステップと、もし肯定の結果であるならば、前記ユーザパケットにおける前記宛先IPアドレス及び前記第1のマスク値に対する所定の操作の結果が、前記事前設定されたIPアドレス及び前記第1のマスク値に対する前記所定の操作の結果と同じであるかどうかを判定し、もしそれらが同じであるならば、前記マッチングが成功したとみなすステップとを具体的に含む。
第1の態様の第2の可能な実施方法又は第1の態様の第3の可能な実施方法に関連して、第1の態様の第4の可能な実施方法において、前記フロールールは第2のARPリクエストフロールールを含み、前記第2のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、前記コントローラに転送するステップを含み、それに応じて、前記ユーザパケットに関する前記情報と前記第1のARPリクエストフロールールにおける前記マッチングルールとの間で前記マッチングが行われ、前記マッチングが失敗したあとで、当該方法は、前記スイッチにより、前記の受信されたユーザパケットに関する前記情報と前記第2のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを行うステップと、もし前記マッチングが成功するならば、前記ユーザパケットを前記第2のARPリクエストフロールールにおける前記アクションセットに従って前記コントローラに転送するステップと、前記コントローラにより供給された第3のARPリクエストフロールールを受信するステップと、前記第3のARPリクエストフロールールに従って第2のARPリクエストメッセージを構成するステップと、前記第2のARPリクエストメッセージを送信するステップとを更に含み、前記第3のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、マッチングの原因値は第1のIPアドレスに対応するMACアドレスが存在しないというものであり、パケットタイプはIPパケットであるとともに、宛先IPアドレスは前記第1のIPアドレスであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、第2のARPリクエストメッセージを構成するステップであって、前記第2のARPリクエストメッセージにおける宛先IPアドレスが前記第1のIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む。
第1の態様の第2の可能な実施方法、第1の態様の第3の可能な実施方法又は第1の態様の第4の可能な実施方法に関連して、第1の態様の第5の可能な実施方法において、前記ARPリクエストメッセージを送信する前記ステップのあとに、当該方法は、前記スイッチにより、外部装置から送信されたARPレスポンスメッセージを受信し、前記ARPレスポンスメッセージに従ってARPカプセル化フロールールを構成し、前記ユーザパケットが配置される接続上のデータパケットを受信し、前記データパケットに関する情報と前記ARPカプセル化フロールールにおけるマッチングルールとの間でマッチングを行い、もし前記マッチングが成功するならば、前記ARPレスポンスメッセージの宛先MACアドレスを前記ARPカプセル化フロールールにおけるアクションセットに従って前記データパケットにカプセル化し、その後前記のカプセル化されたデータパケットを送信するステップであって、前記ARPカプセル化フロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは前記ユーザパケットにおける宛先IPアドレスであるという情報を含む、ステップを更に含み、前記ARPメッセージに対応する前記アクションセットは、パケットの宛先MACアドレスをカプセル化するステップであって、前記宛先MACアドレスが前記ARPレスポンスメッセージの前記宛先MACアドレスである、ステップと、前記パケットを転送するステップであって、転送ポート番号が前記ARPレスポンスメッセージの入力ポート番号である、ステップとを含む。
第1の態様、第1の態様の第1の可能な実施方法、第1の態様の第2の可能な実施方法、第1の態様の第3の可能な実施方法又は第1の態様の第4の可能な実施方法に関連して、第1の態様の第6の可能な実施方法において、スイッチにより、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信する前記ステップは、前記スイッチにより、前記コントローラから送信された1つのフロールール伝達OpenFlowメッセージを受信するステップであって、前記の1つのOpenFlowメッセージが複数のフロールールを伝達する、ステップを具体的に含む。
第2の態様によれば、本発明は、スイッチであって、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信し、前記フロールールをARP処理ユニットに送信するように構成される受信ユニットと、前記の受信されたフロールールに従ってARPメッセージを構成するとともに、前記ARPメッセージを送信し、ここで前記フロールールはARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む、ように構成される前記ARP処理ユニットとを含む、スイッチを提供する。
第2の態様の第1の可能な実施方法において、前記ARP処理ユニットは、第1の処理サブユニットを含み、前記受信ユニットは、外部装置から送信されたARPリクエストメッセージを受信し、前記ARPリクエストメッセージを前記第1の処理サブユニットに送信するように更に構成され、前記第1の処理サブユニットは、前記の受信されたフロールールに含まれたARPレスポンスフロールールを解析し、前記ARPリクエストメッセージが受信されたあとで、前記ARPリクエストメッセージにおいて伝達される情報と前記ARPレスポンスフロールールにおける前記マッチングルールとの間でマッチングを行い、もし前記マッチングが成功するならば、前記ARPレスポンスフロールールにおける前記アクションセットに従ってARPレスポンスメッセージを構成し、前記の受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスを前記ARPレスポンスメッセージに記入し、その後ARPリクエストパケットの入力ポートを使用することにより前記ARPレスポンスメッセージを転送するように構成され、前記ARPレスポンスフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、メッセージタイプはARPメッセージであるとともに、要求されたアドレスはスイッチポートにバインドされたIPアドレスであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、ARPレスポンスメッセージを構成するステップであって、前記ARPレスポンスメッセージの媒体アクセス制御(MAC)アドレスが受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスである、ステップと、前記ARPレスポンスメッセージを転送するステップであって、転送ポート番号がARPリクエストパケットの入力ポート番号である、ステップとを含む。
第2の態様の第2の可能な実施方法において、前記ARP処理ユニットが、第2の処理サブユニットを含み、前記受信ユニットは、ユーザパケットを受信し、前記ユーザパケットを前記第2の処理サブユニットに転送するように更に構成され、前記第2の処理サブユニットは、前記の受信されたフロールールに含まれた第1のARPリクエストフロールールを解析し、前記ユーザパケットが受信されたあとで、もし前記パケットの宛先IPアドレスに対応するMACアドレスが存在しないことが検出されるならば、前記ユーザパケットに関する情報と前記第1のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを行い、もし前記マッチングが成功するならば、前記第1のARPリクエストフロールールにおける前記アクションセットに従って第1のARPリクエストメッセージを構成し、ここで前記第1のARPリクエストメッセージにおける宛先IPアドレスは事前設定されたIPアドレスであり、そして、設定された転送ポート又は全ての転送ポートを使用することにより前記第1のARPリクエストメッセージを送信するように構成され、前記第1のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは前記事前設定されたIPアドレスであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、第1のARPリクエストメッセージを構成するステップであって、前記第1のARPリクエストメッセージにおける宛先IPアドレスが前記事前設定されたIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む。
第2の態様の第2の可能な実施方法に関連して、第2の態様の第3の可能な実施方法において、前記第1のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールが、下記の、マスクは第1のマスク値を有するという情報を更に含み、それに応じて、前記ユーザパケットに関する前記情報と前記第1のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを行う前記ステップは、前記ユーザパケットがIPパケットであるかどうかを判定するステップと、もし肯定の結果であるならば、前記ユーザパケットにおける前記宛先IPアドレス及び前記第1のマスク値に対する所定の操作の結果が、前記事前設定されたIPアドレス及び前記第1のマスク値に対する前記所定の操作の結果と同じであるかどうかを判定し、もしそれらが同じであるならば、前記マッチングが成功したとみなすステップとを具体的に含む。
第2の態様の第2の可能な実施方法又は第2の態様の第3の可能な実施方法に関連して、第2の態様の第4の可能な実施方法において、前記第2の処理サブユニットは、前記フロールールに含まれた第2のARPリクエストフロールールを解析し、前記ユーザパケットに従って、前記第1のARPリクエストフロールールにおける前記マッチングルールに対して前記マッチングが行われ、前記マッチングが失敗したあとで、前記の受信されたユーザパケットに関する前記情報と前記第2のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを更に行い、もし前記マッチングが成功するならば、前記ユーザパケットを前記第2のARPリクエストフロールールにおける前記アクションセットに従って前記コントローラに転送し、前記ユーザパケットにおける前記宛先IPアドレスを含むとともに、前記コントローラにより供給された第3のARPリクエストフロールールを受信し、前記第3のARPリクエストフロールールに従って第2のARPリクエストメッセージを構成し、前記第2のARPリクエストメッセージを送信するように更に構成され、前記第2のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、前記コントローラに転送するステップを含む。
第2の態様の第2の可能な実施方法、第2の態様の第3の可能な実施方法又は第2の態様の第4の可能な実施方法に関連して、第2の態様の第5の可能な実施方法において、前記スイッチは構成ユニットを更に含み、前記受信ユニットは、外部装置から送信されたARPレスポンスメッセージを受信するとともに、前記ARPレスポンスメッセージを前記構成ユニットに送信し、前記ユーザパケットが配置される接続上のデータパケットを受信し、前記データパケットを前記第2の処理サブユニットに送信するように更に構成され、前記構成ユニットは、前記の受信されたARPレスポンスメッセージに従ってARPカプセル化フロールールを構成するように構成され、前記第2の処理サブユニットは、前記の受信されたデータパケットに関する情報と前記構成ユニットにより構成された前記ARPカプセル化フロールールにおけるマッチングルールとの間でマッチングを行い、前記マッチングが成功したあとで、前記ARPレスポンスメッセージの宛先MACアドレスを前記ARPカプセル化フロールールにおけるアクションセットに従って前記データパケットにカプセル化し、その後前記のカプセル化されたデータパケットを送信し、ここで前記ARPカプセル化フロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは前記ユーザパケットにおける宛先IPアドレスであるという情報を含む、ように更に構成され、前記ARPメッセージに対応する前記アクションセットは、パケットの宛先MACアドレスをカプセル化するステップであって、前記宛先MACアドレスが前記ARPレスポンスメッセージの前記宛先MACアドレスである、ステップと、前記パケットを転送するステップであって、転送ポート番号が前記ARPレスポンスメッセージの入力ポート番号である、ステップとを含む。
第3の態様によれば、本発明は、コントローラであって、前記ARPメッセージに対応するフロールールを作成するとともに、前記フロールールを送信ユニットに出力し、ここで前記フロールールは前記ARPメッセージに対応するマッチングルール及び前記ARPメッセージに対応するアクションセットを含む、ように構成される作成ユニットと、前記の受信されたフロールールをスイッチに送信するように構成される前記送信ユニットとを含む、コントローラを提供する。
第3の態様の第1の可能な実施方法において、前記作成ユニットは、ARPレスポンスフロールールを作成するように具体的に構成され、前記ARPレスポンスフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、メッセージタイプはARPメッセージであるとともに、要求されたアドレスはスイッチポートにバインドされたIPアドレスであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、ARPレスポンスメッセージを構成するステップであって、前記ARPレスポンスメッセージの媒体アクセス制御(MAC)アドレスが受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスである、ステップと、前記ARPレスポンスメッセージを転送するステップであって、転送ポート番号がARPリクエストパケットの入力ポート番号である、ステップとを含む。
第3の態様の第2の可能な実施方法において、前記作成ユニットは、第1のARPリクエストフロールールを作成するように具体的に構成され、前記第1のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは事前設定されたIPアドレスであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、第1のARPリクエストメッセージを構成するステップであって、前記第1のARPリクエストメッセージにおける宛先IPアドレスが前記事前設定されたIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む。
第3の態様の第2の可能な実施方法に関連して、第3の態様の第3の可能な実施方法において、前記作成ユニットは、第2のARPリクエストフロールールを作成するように更に構成され、前記第2のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、前記コントローラに転送するステップを含む。
第3の態様の第3の可能な実施方法に関連して、第3の態様の第4の可能な実施方法において、前記作成ユニットは、前記第2のARPリクエストフロールールに従って前記スイッチから送信されたフローテーブルリクエストを受信するとともに、第3のARPリクエストフロールールを作成するように更に構成され、前記第3のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、マッチングの原因値は第1のIPアドレスに対応するMACアドレスが存在しないというものであり、パケットタイプはIPパケットであるとともに、宛先IPアドレスは前記第1のIPアドレスであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、第2のARPリクエストメッセージを構成するステップであって、前記第2のARPリクエストメッセージにおける宛先IPアドレスが前記第1のIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む。
本発明において提供されるARPメッセージを処理するための方法、スイッチ及びコントローラによれば、スイッチは、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信することができ、フロールールは、ARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含み、スイッチは、受信されたフロールールに従ってARPメッセージを構成するとともに、ARPメッセージを送信することができる。したがって、外部装置とのARPメカニズムベースの対話が実施される。
本発明の実施例におけるか又は従来技術における技術的解決法をより明確に説明するために、下記は、実施例又は従来技術を説明するために必要とされる添付図面を簡単に説明する。明らかに、下記の説明における添付図面は本発明のいくつかの実施例を表すとともに、当業者は、創造的な努力なしでこれらの添付図面からさらに他の図面を導き出し得る。
本発明の実施例1による、ARPメッセージの処理を実施するためにスイッチにより実行される処理のフローチャートである。 本発明の実施例1−1による、ARPレスポンスメッセージの処理を実施するためにスイッチにより実行される処理のフローチャートである。 本発明の実施例1−2による、フロールール2に基づいてARPリクエストメッセージの処理を実施するためにスイッチにより実行される処理のフローチャートである。 本発明の実施例1−3による、フロールール2から4に基づいてARPリクエストメッセージの処理を実施するためにスイッチにより実行される処理のフローチャートである。 本発明の実施例2による、ARPメッセージの処理を実施するためにコントローラにより実行される処理のフローチャートである。 本発明の実施例3による、ARPレスポンスメッセージの処理を実施するためにコントローラとスイッチが共同して働くフローチャートである。 本発明の実施例4による、ARPレスポンスメッセージの処理を実施するためにコントローラとスイッチが共同して働く別のフローチャートである。 本発明の実施例5による、フロールール2に基づいてARPリクエストメッセージの処理を実施するためにコントローラとスイッチが共同して働くフローチャートである。 本発明の実施例6による、フロールール2から4に基づいてARPリクエストメッセージの処理を実施するためにコントローラとスイッチが共同して働くフローチャートである。 本発明の実施例7による、コントローラの概略の構造図である。 本発明の実施例7による、コントローラの別の概略の構造図である。 本発明の実施例8による、スイッチの概略の構造図である。 本発明の実施例8による、スイッチの別の概略の構造図である。 本発明の実施例9による、スイッチの概略の構造図である。 本発明の実施例10による、コントローラの概略の構造図である。
本発明の実施例の目的、技術的解決法、及び利点をより明確にするために、下記は、本発明の実施例における添付図面を参照して、本発明の実施例における技術的解決法を明瞭に説明する。明らかに、説明される実施例は本発明の実施例の全てよりむしろ一部である。創作的な努力なしで本発明の実施例に基づいて当業者により獲得される他の全ての実施例は、本発明の保護範囲に含まれるものとする。
[実施例1]
この実施例は、スイッチ側でARPメッセージの処理を実施する方法を提供する。図1を参照すると、方法は下記のステップを含む。
ステップ101:スイッチが、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信し、ここで各フロールールはARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む。
ステップ102:スイッチが、受信されたフロールールに従ってARPメッセージを構成するとともに、ARPメッセージを送信する。
本発明のこの実施例において提供されるARPメッセージを処理するための方法によれば、スイッチは、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信することができ、フロールールは、ARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含み、スイッチは、受信されたフロールールに従ってARPメッセージを構成するとともに、ARPメッセージを送信することができる。したがって、外部装置とのARPメカニズムベースの対話が実施される。
コントローラから送信されるとともに、スイッチにより受信される異なるフロールールに基づいて、スイッチは、それぞれ、対応する処理プロセスを実行する。説明の利便性のために、下記は、詳細な説明を4つの実施例において別々に提供する。
[実施例1−1]
この実施例は、スイッチにより受信されたフロールールが下記のフロールール1、すなわちARPレスポンスフロールールを含む場合のスイッチによる処理を説明する。
フロールール1:ARPレスポンスフロールール
このARPレスポンスフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、メッセージタイプはARPメッセージであるとともに、要求されたアドレスはスイッチポートにバインドされたIPアドレスであるという情報を含み、ARPメッセージに対応するアクションセットは、ARPレスポンスメッセージを構成するステップであって、ARPレスポンスメッセージの媒体アクセス制御(MAC)アドレスが受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスである、ステップを含む。任意に、受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスは、ARPレスポンスメッセージの媒体アクセス制御(MAC)アドレスとして記入される。ARPメッセージに対応するアクションセットは、例えば実現可能な実施例における前述の内容に限定されず、ARPメッセージに対応するアクションセットは、ARPレスポンスメッセージを転送するステップであって、転送ポート番号がARPリクエストパケットの入力ポート番号である、ステップを更に含み得る。
ARPレスポンスフロールールは、どのようにARPレスポンスメッセージを処理するかをスイッチに対して指示するために使用され、その結果、外部装置がスイッチをARPリクエストメッセージの宛先受信パーティとして使用する場合に、スイッチは、スイッチのMACアドレスを外部装置に送信するように、ARPレスポンスメッセージを構成することができる。
ステップ102は、スイッチにより、外部装置から送信されたARPリクエストメッセージを受信するステップと、ARPリクエストメッセージにおいて伝達された情報とARPレスポンスフロールールにおけるマッチングルールとの間でマッチングを行うステップと、もしマッチングが成功するならば、ARPレスポンスフロールールにおけるアクションセットに従ってARPレスポンスメッセージを構成し、受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスをARPレスポンスメッセージに記入し、その後ARPリクエストパケットの入力ポートを使用することによりARPレスポンスメッセージを転送するステップとを具体的に含む。
図2を参照すると、スイッチによる処理は下記のステップを含む。
ステップ201:スイッチが、コントローラにより供給されたフロールール1、すなわちARPレスポンスフロールールを受信する。
ステップ202:スイッチが、外部装置から送信されたARPリクエストメッセージを受信する。
ステップ203:スイッチが、ARPリクエストメッセージにおいて伝達される情報とARPレスポンスフロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、ステップ204が実行されるか、又は、もしマッチングが失敗するならば、現在のプロセスは終了する。
ステップ204:スイッチが、ARPレスポンスフロールールにおけるアクションセットに従ってARPレスポンスメッセージを構成し、受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスをARPレスポンスメッセージに記入し、その後ARPリクエストパケットの入力ポートを使用することによりARPレスポンスメッセージを転送する。
本発明のこの実施例において提供されるアドレス解決プロトコルメッセージを処理するための方法によれば、外部装置から送信されたARPリクエストメッセージが処理されることができるとともに、ARPレスポンスフロールールに従って、ARPレスポンスメッセージが構成されることができ、そしてARPレスポンスメッセージは外部装置に送信されることができる。したがって、外部装置とのARPメカニズムベースの対話が実施される。
[実施例1−2]
この実施例は、スイッチにより受信されたフロールールが下記のフロールール2、すなわち第1のARPリクエストフロールールを含む場合のスイッチによる処理を説明する。
フロールール2:第1のARPリクエストフロールール
第1のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは事前設定されたIPアドレスであるという情報を含み、ここでARPメッセージに対応するマッチングルールは前述の情報に限定されず、任意に、ARPメッセージに対応するマッチングルールは、下記の、マスクはマスク値を有するという情報を更に含み、ARPメッセージに対応するアクションセットは、第1のARPリクエストメッセージを構成するステップであって、第1のARPリクエストメッセージにおける宛先IPアドレスが事前設定されたIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む。
任意に、第1のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、マッチングの原因値はIPアドレスに対応するMACアドレスが存在しないというものであるという情報を更に含む。
第1のARPリクエストフロールールは、スイッチがARPリクエストメッセージを外部装置に送信する必要がある場合に、外部装置のMACアドレスを取得するために、スイッチにARPリクエストメッセージを構成するように指示するために使用される。
ステップ102は、スイッチにより、ユーザパケットを受信するステップと、もしパケットの宛先IPアドレスに対応するMACアドレスが存在しないことを検出するならば、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、第1のARPリクエストフロールールにおけるアクションセットに従って第1のARPリクエストメッセージを構成し、ここで第1のARPリクエストメッセージにおける宛先IPアドレスは事前設定されたIPアドレスであり、そして、設定された転送ポート又は全ての転送ポートを使用することにより第1のARPリクエストメッセージを送信するステップとを具体的に含む。
図3を参照すると、スイッチによる処理は下記のステップを含む。
ステップ301:スイッチが、コントローラにより供給されたフロールール2、すなわち第1のARPリクエストフロールールを受信する。
ステップ302:スイッチが、外部装置から送信されたユーザパケットを受信する。
ステップ303:スイッチが、ユーザパケットにおいて、パケットの宛先IPアドレスに対応するMACアドレスが存在しないことを検出する。
ステップ304:スイッチが、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、ステップ305が実行されるか、又は、もしマッチングが失敗するならば、現在のプロセスは終了する。
任意に、このステップでは、この第1のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールが、下記の、マスクは第1のマスク値を有するという情報を更に含む場合に、スイッチにより、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行うステップは、ユーザパケットがIPパケットであるかどうかを判定するステップと、もし肯定の結果であるならば、ユーザパケットにおける宛先IPアドレス及び第1のマスク値に対する所定の操作の結果が、マッチングルールにおいて事前設定されたIPアドレス及び第1のマスク値に対する所定の操作の結果と同じであるかどうかを判定し、もしそれらが同じであるならば、マッチングが成功したとみなすステップとを具体的に含む。
ステップ305:スイッチが、第1のARPリクエストフロールールにおけるアクションセットに従ってARPリクエストメッセージを構成し、ここでARPリクエストメッセージにおける宛先IPアドレスはマッチングルールにおける事前設定されたIPアドレスであり、そして、設定された転送ポート又は全ての転送ポートを使用することによりARPリクエストメッセージを送信する。
本発明のこの実施例において提供されるアドレス解決プロトコルメッセージを処理するための方法によれば、外部装置から送信されたユーザパケットが処理されることができるとともに、第1のARPリクエストフロールールに従って、ARPリクエストメッセージが構成されることができ、そしてARPリクエストメッセージは外部装置に送信されることができる。したがって、外部装置とのARPメカニズムベースの対話が実施される。
[実施例1−3]
この実施例は、スイッチにより受信されたフロールールがフロールール2、すなわち第1のARPリクエストフロールール、及びフロールール3、すなわち第2のARPリクエストフロールールの両方を含む場合のスイッチによる処理を説明する。
フロールール3:第2のARPリクエストフロールール
第2のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、ARPメッセージに対応するアクションセットは、コントローラに転送するステップを含む。
フロールール4:第3のARPリクエストフロールール
第3のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、マッチングの原因値は第1のIPアドレスに対応するMACアドレスが存在しないというものであり、パケットタイプはIPパケットであるとともに、宛先IPアドレスは第1のIPアドレスであるという情報を含み、ARPメッセージに対応するアクションセットは、第2のARPリクエストメッセージを構成するステップであって、第2のARPリクエストメッセージにおける宛先IPアドレスが第1のIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む。
したがって、前述の実施例において、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングが行われ、マッチングが失敗したあとで、当該方法は、スイッチにより、受信されたユーザパケットに関する情報と第2のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行うステップと、もしマッチングが成功するならば、ユーザパケットを第2のARPリクエストフロールールにおけるアクションセットに従ってコントローラに転送するステップと、コントローラにより供給された第3のARPリクエストフロールールを受信するステップと、第3のARPリクエストフロールールに従って第2のARPリクエストメッセージを構成するステップと、第2のARPリクエストメッセージを送信するステップとを更に含む。
図4を参照すると、スイッチによる処理は下記のステップを含む。
ステップ401:スイッチが、コントローラにより供給された第1のARPリクエストフロールール及び第2のARPリクエストフロールールを受信する。このステップでは、第1のARPリクエストフロールールに関する具体的な説明は、実施例1−2におけるフロールールに関する説明と完全に同一である。
ステップ402:スイッチが、外部装置から送信されたユーザパケットを受信する。
ステップ403:スイッチが、ユーザパケットにおいて、パケットの宛先IPアドレスに対応するMACアドレスが存在しないことを検出する。
ステップ404:スイッチが、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、ステップ405が実行されるか、又は、もしマッチングが失敗するならば、ステップ406が実行される。
ステップ405:スイッチが、第1のARPリクエストフロールールにおけるアクションセットに従ってARPリクエストメッセージを構成し、ここでARPメッセージにおける宛先IPアドレスは事前設定されたIPアドレスであり、そして、設定された転送ポート又は全ての転送ポートを使用することによりARPリクエストメッセージを送信して、現在のプロセスは終了する。
ステップ406:スイッチが、受信されたユーザパケットに関する情報と第2のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、ユーザパケットを第2のARPリクエストフロールールにおけるアクションセットに従ってコントローラに転送する。
スイッチは、第2のARPリクエストフロールールに従ってコントローラにフローテーブルリクエストを送信し、ここでリクエストは現在要求される必要がある宛先IPアドレスを伝達し、その結果、現在要求される必要があるとともに、フローテーブルリクエストにおいて伝達される宛先IPアドレスに対応するMACアドレスを見つけたあとで、コントローラは、スイッチが要求されたARPリクエストメッセージを構成することができることを保証するために、第3のARPリクエストフロールールを作成するとともに、次に第3のARPリクエストフロールールをスイッチに送信する。
ステップ407:スイッチが、コントローラにより供給された第3のARPリクエストフロールールを受信し、第3のARPリクエストフロールールに従ってARPリクエストメッセージを構成し、ARPリクエストメッセージを送信する。
任意に、実施例1−2及び実施例1−3において、スイッチがARPリクエストメッセージを送信したあとで、その後に、同じ接続上にあるデータパケット受信したあとで、スイッチがARPカプセル化フロールールに従って対応するMACアドレスをデータパケットに直接的にカプセル化することができることを保証するために、スイッチは、ARPカプセル化フロールールを更に作成し得る。具体的な実装例は、スイッチにより、外部装置から送信されたARPレスポンスメッセージを受信し、ARPレスポンスメッセージに従ってARPカプセル化フロールールを構成し、ユーザパケットが配置される接続上のデータパケットを受信し、データパケットに関する情報とARPカプセル化フロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、ARPレスポンスメッセージの宛先MACアドレスをARPカプセル化フロールールにおけるアクションセットに従ってデータパケットにカプセル化し、その後カプセル化されたデータパケットを送信するステップであって、ARPカプセル化フロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスはユーザパケットにおける宛先IPアドレスであるという情報を含む、ステップを含み、ここでARPメッセージに対応するマッチングルールは前述の情報に限定されず、任意に、ARPメッセージに対応するマッチングルールは、その下記の、マスクはマスク値を有するという情報を更に含み、ARPメッセージに対応するアクションセットは、パケットの宛先MACアドレスをカプセル化するステップであって、宛先MACアドレスがARPレスポンスメッセージの宛先MACアドレスである、ステップと、パケットを転送するステップであって、転送ポート番号がARPレスポンスメッセージの入力ポート番号である、ステップとを含む。
本発明のこの実施例において提供されるアドレス解決プロトコルメッセージを処理するための方法によれば、外部装置から送信されたユーザパケットが処理されることができ、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールに対して行われたマッチングが成功しない場合に、ユーザパケットに関する情報と第2のARPリクエストフロールールにおけるマッチングルールに対してマッチングが実行され得るとともに、ユーザパケットはコントローラに送信されることができ、コントローラにより供給された第3のARPリクエストフロールールに従って、ARPリクエストメッセージが構成されることができ、そしてARPリクエストメッセージは外部装置に送信されることができる。したがって、外部装置とのARPメカニズムベースの対話が実施される。
本発明の実施例1における全ての転送ポート番号は特定のポート番号識別子であり、スイッチの全てのポートを表すために使用される、ということが注意されるべきである。スイッチにより、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信するステップは、スイッチにより、コントローラから送信された1つのフロールール伝達OpenFlowメッセージを受信するステップであって、1つのOpenFlowメッセージが複数のフロールールを伝達する、ステップか、又は、スイッチにより、コントローラから送信された複数のフロールール伝達OpenFlowメッセージを受信するステップであって、複数のOpenFlowメッセージが複数のフロールールを伝達する、ステップを具体的に含む。コントローラにより複数のフロールールを1つのOpenFlowメッセージに加えることは、ネットワークリソースを節約することができる。
[実施例2]
この実施例は、コントローラ側でARPメッセージの処理を実施する方法を提供する。図5を参照すると、方法は下記のステップを含む。
ステップ501:コントローラが、ARPメッセージに対応するフロールールを作成し、ここで各フロールールはARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む。
ステップ502:コントローラが、作成されたフロールールをスイッチに送信する。
図5で示されたプロセスにおいて、各作成されたフロールールは、ARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含み、それは、その後に、スイッチが対応するマッチングルールに従ってマッチングにおいて成功したあとで、ARPメッセージの処理を完了するために、スイッチが対応するアクションセットに従って処理を行うことを保証することができる。
ステップ501において、コントローラは、ARPの特徴に従って、様々なARPメッセージ処理に対応するフロールールを作成することができ、例えば、実施例1におけるフロールールのうちのあらゆる1つ又は複数を作成することができる。フロールールは、フロールール1:ARPレスポンスフロールール、フロールール2:第1のARPリクエストフロールール、フロールール3:第2のARPリクエストフロールール、フロールール4:第3のARPリクエストフロールールを含む。
確かに、コントローラがフロールール1を作成できることを保証するために、コントローラは、フロールールに存在するマッチングルール及びアクションセットを作成するように、スイッチに関する様々な情報を前もって獲得する必要がある。したがって、実施例2の実施方法では、ステップ501のまえに、当該方法は、下記のステップを更に含む。ステップ500:コントローラが、スイッチのスイッチポートと、ポートのIPアドレス及びMACアドレスとの間の対応関係を獲得する。
ステップ500の複数の実施方法、例えば、
方法1:コントローラにより、事前設定された静的な構成に従って、又は、サードパーティ装置から、スイッチのスイッチポートと、ポートのIPアドレス及びMACアドレスとの間の対応関係を直接的に獲得するステップ、及び、
方法2:コントローラにより、事前設定された静的な構成に従って、又は、サードパーティ装置から、第1の情報を獲得し、ここで第1の情報はスイッチ識別子、スイッチポート識別子、及びスイッチポート識別子に対応するポートIPアドレスを含み、スイッチにより報告された第2の情報を獲得し、ここで第2の情報はスイッチポート識別子、及びスイッチポート識別子に対応するMACアドレスを含み、第1の情報及び第2の情報に従って、スイッチ識別子と、スイッチポート識別子と、ポートのIPアドレス及びMACアドレスとの対応関係を獲得するステップ、
がある。
任意に、コントローラにより作成されたフロールールがフロールール4、すなわち第3のARPリクエストフロールールを含む場合に、図5で示されたプロセスにおいて、ステップ502のあとに、当該方法は、下記のステップを更に含む。ステップ503:コントローラが、第2のARPリクエストフロールールに従ってスイッチから送信されたフローテーブルリクエストを受信し、ここでリクエストは現在要求される必要がある宛先IPアドレスを伝達する。ステップ504:もし現在要求される必要があるとともに、フローテーブルリクエストにおいて伝達される宛先IPアドレスに対応するMACアドレスを見つけるならば、コントローラが、スイッチが要求されたARPリクエストメッセージを構成することができることを保証するために、第3のARPリクエストフロールールを作成するとともに、次に第3のARPリクエストフロールールをスイッチに送信する。
本発明のこの実施例において提供されるARPメッセージを処理するための方法によれば、コントローラは、ARPメッセージの特徴に従ってフロールールを構成することができ、ここで構成されたフロールールはARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含み、その結果、スイッチは、外部装置とARPメカニズムベースの対話を実施する。
本発明の実施例2における全ての転送ポート番号は特定のポート番号識別子であり、スイッチの全てのポートを表すために使用される、ということが注意されるべきである。もしコントローラがステップ501において複数のフロールールを作成するならば、ステップ502において、コントローラは、作成された複数のフロールールを1つのOpenFlowメッセージに加えるとともに、1つのOpenFlowメッセージをスイッチに送信することができるか、又は、コントローラは、作成された複数のフロールールを複数のOpenFlowメッセージにそれぞれ加えるとともに、複数のOpenFlowメッセージをスイッチに送信することができる。この方法は、ネットワークリソースを節約することができる。
コントローラ及びスイッチがサービスを完了するために共同して働くプロセスのより簡単な理解のために、下記は、4つの実施例において、コントローラとスイッチとの間の共同のプロセスを説明する。
[実施例3]
この実施例は、フロールール1、すなわちARPレスポンスフロールールに基づいて、スイッチがARPレスポンスメッセージを構成して送信することを実施するための、コントローラとスイッチとの間の共同の完全なプロセスを説明する。
さらに、この実施例は、実施例2において示されたステップ500の方法2において実施される。図6を参照すると、コントローラとスイッチとの間の共同のプロセスは、下記のステップを含む。
ステップ601:コントローラが、スイッチポートとIPアドレスとの間の対応関係を獲得する。
ここで、コントローラは、事前設定された静的な構成を使用することにより、スイッチポートとIPアドレスとの間の対応関係を獲得し得るか、又は、サードパーティシステム、例えば外部のゲートウェイ、又は、操作及びメンテナンスシステムから、スイッチポートとIPアドレスとの間の対応関係を獲得し得る。
このステップでは、下記の情報がコントローラに記憶され得る。
[スイッチ識別子 スイッチポート番号 IPアドレス]
スイッチ識別子はスイッチを識別するために使用されるとともに、スイッチポート番号はスイッチポートを識別するために使用され、ここでスイッチ識別子は、スイッチID番号若しくはスイッチ名であり得るか、又は、コントローラがスイッチを識別することを可能にするあらゆるシンボルであり得る。
ステップ602:コントローラが、スイッチポートとMACアドレスとの間の対応関係を獲得する。
ここで、任意に、スイッチポートとMACアドレスとの間の対応関係は、スイッチによりコントローラに対して報告され得る。
このステップでは、下記の情報がコントローラに記憶され得る。
[スイッチ識別子 スイッチポート番号 MACアドレス]
スイッチ識別子はスイッチを識別するために使用されるとともに、スイッチポート番号はスイッチポートを識別するために使用され、ここでスイッチ識別子は、スイッチID番号若しくはスイッチ名であり得るか、又は、コントローラがスイッチを識別することを可能にするあらゆるシンボルであり得る。
ステップ603:コントローラが、スイッチポートと、IPアドレスと、MACアドレスとの間の対応関係を獲得する。
このステップでは、下記の情報がコントローラに記憶され得る。
[スイッチ識別子 スイッチポート番号 IPアドレス MACアドレス]
コントローラは、スイッチ識別子及びスイッチポート識別子に従って、スイッチポートと、IPアドレスと、MACアドレスとの間の対応関係を獲得する。
スイッチ識別子はスイッチを識別するために使用されるとともに、スイッチポート番号はスイッチポートを識別するために使用され、ここでスイッチ識別子は、スイッチID番号若しくはスイッチ名であり得るか、又は、コントローラがスイッチを識別することを可能にするあらゆるシンボルであり得る。
ステップ604:コントローラが、フロールール1、すなわちARPレスポンスフロールールを構成するとともに、フロールールをスイッチに供給する。
ARPレスポンスフロールールは、どのようにARPレスポンスメッセージを処理するかをスイッチに対してその後に指示するために使用され、その結果、外部装置がスイッチをARPリクエストメッセージの宛先受信パーティとして使用する場合に、スイッチは、スイッチのMACアドレスを外部装置に送信するように、ARPレスポンスメッセージを構成することができる。
具体的には、ARPレスポンスフロールールにおいて、ARPに対応するマッチングルールは、下記には限定されないが、1)ARPメッセージタイプ、及び2)要求されたアドレスはスイッチポートにバインドされたIPアドレスであること、を含み、ARPメッセージに対応するアクションセットは、下記には限定されないが、1)ARPレスポンスメッセージを構成するステップであって、受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスが、メッセージのMACアドレスとして記入される、ステップと、2)ARPレスポンスメッセージを転送するステップであって、転送ポート番号がARPリクエストパケットの入力ポート番号である、ステップとを含む。
ARPレスポンスフロールールの記述実施方法は、下記のとおりである。
〈フロールールインストールメッセージ〉:={フローマッチングルール<フローテーブル処理動作>}、ここで
フローテーブルマッチングルールは下記のとおりである:
OXM_OF_ETH_TYPE=0x0806
OXM_OF_ARP_THA=スイッチポートにバインドされたIPアドレス
対応するアクションセットは下記のとおりである:
OFPAT_CONSTRUCT_ARP=XXXX(ARPメッセージを構成するステップ、ここでARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスはメッセージにおける宛先MACアドレスとして記入される。)
OFPAT_OUTPUT=XXXX(含まれるポート番号はARPリクエストパケットの入力ポート番号である。)
ステップ604において、フロールール1がスイッチに供給される場合に、スイッチが複数のポートを有するシナリオにおいて、各ポートに対して、ポートに対応する1つのフロールール1が作成されるとともに、コントローラは、複数のフロールール1をスイッチに供給することができ、ここで複数のルールは1つのOpenFlowメッセージにおいて送信されるか、又は、複数のOpenFlowメッセージにおいて送信される。
ステップ605:スイッチが、ARPレスポンスフロールールを受信してインストールする。
ステップ606:スイッチが、スイッチポートのMACアドレスを要求するために外部装置から送信されたARPリクエストメッセージを受信する。
ステップ607:スイッチが、ARPリクエストメッセージにおいて伝達された情報とARPレスポンスフロールールにおけるマッチングルールとの間でマッチングを行い、マッチングが成功したあとで、ARPレスポンスフロールールにおけるアクションセットに従ってARPレスポンスメッセージを構成し、受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスをARPレスポンスメッセージに記入する。
ここで、ARPリクエストメッセージは、ARPメッセージタイプのメッセージであるとともに、要求されたアドレスはスイッチポートにバインドされたIPアドレスであり、したがって、ARPリクエストメッセージにおいて伝達された情報と、ARPメッセージに対応するとともに、ARPレスポンスフロールールに存在するマッチングルールとの間のマッチングは成功することができる。
ステップ608:スイッチが、ARPリクエストパケットの入力ポートを使用することにより、ARPレスポンスフロールールにおけるアクションセットに従ってARPレスポンスメッセージを外部装置に送信する。
本発明のこの実施例において提供されるアドレス解決プロトコルメッセージを処理するための方法によれば、外部装置から送信されたARPリクエストメッセージが処理されることができるとともに、ARPレスポンスフロールールに従って、ARPレスポンスメッセージが構成されることができ、そしてARPレスポンスメッセージは外部装置に送信されることができる。したがって、外部装置とのARPメカニズムベースの対話が実施される。
[実施例4]
この実施例は、まだフロールール1、すなわちARPレスポンスフロールールに基づいて、スイッチがARPレスポンスメッセージを構成して送信することを実施するための、コントローラとスイッチとの間の共同の完全なプロセスを説明する。
実施例3との差異は、この実施例が実施例2において示されたステップ500の方法1において実施される、ということである。図7を参照すると、コントローラとスイッチとの間の共同のプロセスは、下記のステップを含む。
ステップ701:コントローラが、事前設定された静的な構成に従って、又は、サードパーティ装置から、スイッチのスイッチポートと、ポートのIPアドレス及びMACアドレスとの間の対応関係を直接的に獲得する。
ここで、サードパーティシステムは、外部のゲートウェイ、又は、操作及びメンテナンスシステムであり得る。
このステップでは、下記の情報がコントローラに記憶され得る。
[スイッチ識別子 スイッチポート番号 IPアドレス MACアドレス]
構成ファイルにおいて、スイッチ識別子はスイッチを識別するために使用されるとともに、スイッチポート番号はスイッチポートを識別するために使用され、ここで構成ファイルにおけるスイッチ識別子は、ID番号若しくはスイッチ名であり得るか、又は、コントローラがスイッチを識別することを可能にするあらゆるシンボルであり得る。
ステップ702からステップ706の全ての説明は、ステップ604からステップ608の全ての説明と同じである。
[実施例5]
この実施例は、フロールール2、すなわち第1のARPリクエストフロールールに基づいて、スイッチがARPリクエストメッセージを構成して送信することを実施するための、コントローラとスイッチとの間の共同の完全なプロセスを説明する。図8を参照すると、プロセスは下記のステップを含む。
ステップ801:コントローラが、スイッチに対して、IPアドレスに対応するMACアドレスが存在しない状態において、ARPメッセージ構成のためのフロールールを獲得するために、フローテーブルマッチングを実行するように指示する。
このステップは、任意のステップである。スイッチは、通知メッセージを使用することにより、コントローラにより指示され得る。
確かに、このステップは、同様に、下記のとおりに置き換えられ得る。スイッチは、IPアドレスに対応するMACアドレスが存在しない状態において、ARPメッセージ構成のためのフロールールを獲得するために、フローテーブルマッチングを実行するように、初期設定の構成を実行する。
ステップ802:コントローラが、第1のARPリクエストフロールールを作成するとともに、フロールールをスイッチに供給する。
ここで、第1のARPリクエストフロールールにおいて、マッチングルールは、1)マッチングの原因値は第1のIPアドレスに対応するMACアドレスが存在しないというものであり、2)パケットタイプはIPパケットであり、3)宛先IPアドレスは事前設定されたIPアドレスであり、そして4)マスクは第1のマスク値、例えばXXXXを有することを含み、ここで項目1)は任意の項目であり、アクションセットは、1)ARPリクエストメッセージを構成するステップであって、ARPリクエストメッセージにおける宛先IPアドレスが事前設定されたIPアドレスであるステップと、2)転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号であること、を含む。
アクションセットの2)において、転送ポート番号が設定された転送ポート番号である場合に、特定の転送ポート番号はルーティングプロトコルに従って判定され得るか、又は、転送ポート番号が全ての転送ポート番号である場合に、メッセージは、フラッドFlood方法において送信される。
ステップ803:スイッチが、第1のARPリクエストフロールールを受信してインストールする。
ステップ804:スイッチが、ユーザパケットを受信するとともに、スイッチが、パケットの宛先IPアドレスに対応するMACアドレスが存在しないことを検出し、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、第1のARPリクエストフロールールにおけるアクションセットに従ってARPリクエストメッセージを構成し、ここでメッセージにおける宛先IPアドレスはマッチングルールにおける事前設定されたIPアドレスであり、次に、ステップ805が実行されるか、又は、もしマッチングが失敗するならば、現在のプロセスは終了する。
任意に、このステップでは、マッチングが成功するということは、マッチングの原因がIPアドレスに対応するMACアドレスが存在しないというものであり(任意)、パケットタイプはIPパケットであり、パケットの宛先IPアドレス及び第1のARPリクエストフロールールに含まれる第1のマスク値に対して実行された設定された操作の結果が、第1のARPリクエストフロールールに含まれる宛先IP及び第1のマスク値に対して実行された設定された操作の結果である、ということを意味する。
ステップ805:スイッチが、設定された転送ポート又は全ての転送ポートを使用することにより、第1のARPリクエストフロールールにおけるアクションセットに従ってARPリクエストメッセージを送信する。
ステップ806:スイッチが、外部装置から送信されたARPレスポンスメッセージを受信する。
ステップ807:スイッチが、受信されたARPレスポンスメッセージに従って、そしてステップ801における指示に従ってARPカプセル化フロールールを構成する。
ここで、ARPカプセル化フロールールは、同じ接続上にある次のデータパケットを受信したあとで、外部装置のMACアドレスを獲得するために毎回ARPリクエストメッセージを送信する必要性なく、スイッチが、ARPカプセル化フロールールに従って、獲得された対応するMACアドレスをデータパケットに直接的にカプセル化することができることを保証するために使用される。
スイッチにより作成されたARPカプセル化フロールールにおいて、ARPメッセージに対応するマッチングルールは、1)パケットタイプはIPパケットであり、2)宛先IPアドレスはユーザパケットにおける宛先IPアドレスであり、そして3)マスクは第3のマスク値を有することを含み、ここで項目3)は任意の項目であり、ARPメッセージに対応するアクションセットは、1)パケットの宛先MACアドレスをカプセル化するステップであって、2)宛先MACアドレスがARPレスポンスメッセージの宛先MACアドレスである、ステップと、3)パケットを転送するステップであって、4)転送ポート番号がARPレスポンスメッセージの入力ポート番号である、ステップとを含む。
ARPカプセル化フロールールの記述実施方法は、下記のとおりである。
〈フロールールインストールメッセージ〉:={フローマッチングルール<フローテーブル処理動作>}、ここで
フローテーブルマッチングルールは下記のとおりである:
OXM_OF_ETH_TYPE=0x0800
OXM_OF_ENCAP_MAC=ARPレスポンスメッセージの宛先MACアドレス
対応するアクションセットは下記のとおりである:
OFPAT_OUTPUT=XXXX(含まれるポート番号はARPレスポンスメッセージの入力ポート番号である。)
ステップ808:次のデータパケットがスイッチに到達し、スイッチが、データパケットに関する情報とARPカプセル化フロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、受信されたARPレスポンスメッセージの宛先MACアドレスをデータパケットのMACアドレスとしてカプセル化し、ARPレスポンスメッセージの入力ポートからデータパケットを転送するために、ARPカプセル化フロールールにおけるアクションセットを実行する。
[実施例6]
この実施例は、フロールール2から4、すなわち3つのARPリクエストフロールールに基づいて、スイッチがARPリクエストメッセージを構成して送信することを実施するための、コントローラとスイッチとの間の共同の完全なプロセスを説明する。図9を参照すると、プロセスは下記のステップを含む。
ステップ901及びステップ902の全ての説明は、ステップ801及びステップ802の全ての説明と同じである。
ステップ903:コントローラが、第2のARPリクエストフロールールを作成するとともに、第2のARPリクエストフロールールをスイッチに供給する。
第2のARPリクエストフロールールは、その後に、スイッチが第1のARPリクエストフロールールからマッチングを通して対応するマッチングルールを獲得することができず、したがって、ARPリクエストメッセージを構成することができない場合に、コントローラからの新しいARPリクエストフロールールを要求するようにスイッチに指示するために使用される。
具体的には、第2のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、1)パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであることを含み、ARPメッセージに対応するアクションセットは、1)コントローラに転送するステップを含む。
ステップ904:スイッチが、第1のARPリクエストフロールール及び第2のARPリクエストフロールールを受信してインストールする。
ステップ905:スイッチが、外部装置から送信されたユーザパケットを受信するとともに、ユーザパケットにおいて、パケットの宛先IPアドレスに対応するMACアドレスが存在しないことを検出する。
ステップ906:スイッチが、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、ステップ907が実行されるか、又は、もしマッチングが失敗するならば、ステップ908が実行される。
第1のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、1)パケットタイプはIPパケットであり、2)宛先IPアドレスは事前設定されたIPアドレスであり、そして3)マスクは第1のマスク値を有することを含み、ここで項目3)は任意の項目であり、ARPメッセージに対応するアクションセットは、下記には限定されないが、1)ARPリクエストメッセージを構成するステップであって、メッセージにおける宛先IPアドレスが事前設定されたIPアドレスであるステップと、2)転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号であること、を含む。
もしユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間のマッチングが成功するならば、対応するアクションセットに従って処理が実行される。
ステップ907:スイッチが、第1のARPリクエストフロールールにおけるアクションセットに従ってARPリクエストメッセージを構成し、ここでメッセージにおける宛先IPアドレスは事前設定されたIPアドレスであり、そして、設定された転送ポート又は全ての転送ポートを使用することによりARPリクエストメッセージを送信し、ステップ912が実行される。
ステップ908:スイッチが、受信されたユーザパケットに関する情報と第2のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行い、マッチングが成功したあとで、ユーザパケットを第2のARPリクエストフロールールにおけるアクションセットに従ってコントローラに転送する。
ここで、第2のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、1)パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであることを含み、ARPメッセージに対応するアクションセットは、1)コントローラに転送するステップを含む。
ステップ909:コントローラが、第2のARPリクエストフロールールに従ってスイッチから送信されたユーザパケットを受信するとともに、分析を用いて、現在要求される必要があるとともに、リクエストにおいて伝達される宛先IPアドレスを解析する。
ステップ910:もし現在要求される必要がある宛先IPアドレスに対応するMACアドレスを見つけるならば、コントローラが、第3のARPリクエストフロールールを作成するとともに、次に第3のARPリクエストフロールールをスイッチに送信する。
ステップ911:スイッチが、コントローラにより供給された第3のARPリクエストフロールールを受信し、第3のARPリクエストフロールールに従ってARPリクエストメッセージを構成し、ARPリクエストメッセージを送信する。
ステップ912からステップ914の全ての説明は、ステップ806からステップ808の全ての説明と同じである。
本発明のこの実施例において提供されるアドレス解決プロトコルメッセージを処理するための方法によれば、外部装置から送信されたユーザパケットが処理されることができ、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールに対して行われたマッチングが成功しない場合に、ユーザパケットに関する情報と第2のARPリクエストフロールールにおけるマッチングルールに対してマッチングが実行され得るとともに、ユーザパケットはコントローラに送信されることができ、コントローラにより供給された第3のARPリクエストフロールールに従って、ARPリクエストメッセージが構成されることができ、そしてARPリクエストメッセージは外部装置に送信されることができる。したがって、外部装置とのARPメカニズムベースの対話が実施される。
[実施例7]
この実施例は、コントローラを提供する。図10を参照すると、コントローラは、ARPメッセージに対応するフロールールを作成するとともに、フロールールを送信ユニット1002に出力し、ここでフロールールはARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む、ように構成される作成ユニット1001と、受信されたフロールールをスイッチに送信するように構成される送信ユニット1002とを含み、作成ユニット1001は、ARPレスポンスフロールールを作成するように具体的に構成される。任意に、作成ユニット1001は、第1のARPリクエストフロールールを作成するように具体的に構成される。
作成ユニット1001は、第1のARPリクエストフロールールを作成したあとで、第2のARPリクエストフロールールを作成するように更に構成される。
任意に、作成ユニット1001は、第2のARPリクエストフロールールに従ってスイッチから送信されたフローテーブルリクエストを受信するとともに、第3のARPリクエストフロールールを作成するように更に構成され、ここでARPレスポンスフロールール、第1のARPリクエストフロールール、第2のARPリクエストフロールール及び第3のARPリクエストフロールールについては、方法の実施例に対して参照が行われる。
本発明のこの実施例において提供されるコントローラは、フロールールを作成するとともに、フロールールをスイッチに送信することができる。
図11を参照すると、本発明のこの実施例の実施方法において、コントローラは、スイッチのスイッチポートと、ポートのIPアドレス及びMACアドレスとの間の対応関係を獲得するとともに、対応関係に関する情報を作成ユニット1001に送信するように構成される情報獲得ユニット1000を更に含み得る。
本発明のこの実施例の他の2つの実施方法において、送信ユニット1002は、作成ユニット1001から送信された複数のフロールールを受信し、複数のフロールールを1つのOpenFlowメッセージに加えるとともに、1つのOpenFlowメッセージをスイッチに送信するように構成される第1の送信サブユニット、又は、作成ユニット1001から送信された複数のフロールールを受信し、複数のフロールールを複数のOpenFlowメッセージにそれぞれ加えるとともに、複数のOpenFlowメッセージをスイッチに送信するように構成される第2の送信サブユニットを含む。
装置におけるユニット及びサブユニットの情報交換並びに実行プロセスのような内容は、本発明の方法の実施例の概念と同じである概念に基づいており、したがって、具体的な内容については、本発明の方法の実施例における説明に対して参照が行われ得るとともに、詳細は再びここでは説明されない。
本発明のこの実施例において提供されるコントローラは、フロールールを作成し、複数のフロールールを1つのOpenFlowメッセージに加えるとともに、1つのOpenFlowメッセージをスイッチに送信することができ、それは、ネットワークリソースを節約することができる。
[実施例8]
この実施例は、スイッチを提供する。図12を参照すると、スイッチは、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信し、フロールールをARP処理ユニット1202に送信するように構成される受信ユニット1201と、受信されたフロールールに従ってARPメッセージを構成するとともに、ARPメッセージを送信し、ここでフロールールはARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む、ように構成されるARP処理ユニット1202とを含む。
任意に、ARP処理ユニット1202は、第1の処理サブユニットを含み、受信ユニット1201は、外部装置から送信されたARPリクエストメッセージを受信し、ARPリクエストメッセージを第1の処理サブユニットに送信するように更に構成され、第1の処理サブユニットは、受信されたフロールールに含まれたARPレスポンスフロールールを解析し、ここでARPレスポンスフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、メッセージタイプはARPメッセージであるとともに、要求されたアドレスはスイッチポートにバインドされたIPアドレスであるという情報を含み、ARPメッセージに対応するアクションセットは、ARPレスポンスメッセージを構成するステップであって、ARPレスポンスメッセージの媒体アクセス制御(MAC)アドレスが受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスである、ステップと、ARPレスポンスメッセージを転送するステップであって、転送ポート番号がARPリクエストパケットの入力ポート番号である、ステップとを含み、そして、ARPリクエストメッセージが受信されたあとで、ARPリクエストメッセージにおいて伝達される情報とARPレスポンスフロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、ARPレスポンスフロールールにおけるアクションセットに従ってARPレスポンスメッセージを構成し、受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスをARPレスポンスメッセージに記入し、その後ARPリクエストパケットの入力ポートを使用することによりARPレスポンスメッセージを転送するように構成される。
ARP処理ユニット1202は、第2の処理サブユニットを含み、受信ユニット1201は、ユーザパケットを受信し、ユーザパケットを第2の処理サブユニットに転送するように更に構成され、第2の処理サブユニットは、受信されたフロールールに含まれた第1のARPリクエストフロールールを解析し、ここで第1のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは事前設定されたIPアドレスであるという情報を含み、ARPメッセージに対応するアクションセットは、第1のARPリクエストメッセージを構成するステップであって、第1のARPリクエストメッセージにおける宛先IPアドレスが事前設定されたIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含み、そして、ユーザパケットが受信されたあとで、もしパケットの宛先IPアドレスに対応するMACアドレスが存在しないことが検出されるならば、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、第1のARPリクエストフロールールにおけるアクションセットに従って第1のARPリクエストメッセージを構成し、ここで第1のARPリクエストメッセージにおける宛先IPアドレスは事前設定されたIPアドレスであり、そして、設定された転送ポート又は全ての転送ポートを使用することにより第1のARPリクエストメッセージを送信するように構成される。
第1のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、マスクは第1のマスク値を有するという情報を更に含み、それに応じて、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行うステップは、ユーザパケットがIPパケットであるかどうかを判定するステップと、もし肯定の結果であるならば、ユーザパケットにおける宛先IPアドレス及び第1のマスク値に対する所定の操作の結果が、事前設定されたIPアドレス及び第1のマスク値に対する所定の操作の結果と同じであるかどうかを判定し、もしそれらが同じであるならば、マッチングが成功したとみなすステップとを具体的に含む。
任意に、第2の処理サブユニットは、フロールールに含まれた第2のARPリクエストフロールールを解析し、ここで第2のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、ARPメッセージに対応するアクションセットは、コントローラに転送するステップを含み、そして、ユーザパケットに従って、第1のARPリクエストフロールールにおけるマッチングルールに対してマッチングが行われ、マッチングが失敗したあとで、受信されたユーザパケットに関する情報と第2のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを更に行い、もしマッチングが成功するならば、ユーザパケットを第2のARPリクエストフロールールにおけるアクションセットに従ってコントローラに転送し、ユーザパケットにおける宛先IPアドレスを含むとともに、コントローラにより供給された第3のARPリクエストフロールールを受信し、第3のARPリクエストフロールールに従って第2のARPリクエストメッセージを構成し、第2のARPリクエストメッセージを送信するように更に構成される。
本発明のこの実施例において提供されるスイッチは、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信することができ、ここでフロールールはARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含み、スイッチは、受信されたフロールールに従ってARPメッセージを構成するとともに、ARPメッセージを送信することができる。したがって、外部装置とのARPメカニズムベースの対話が実施される。
図13を参照すると、この実施例におけるスイッチの代表的な実施方法において、スイッチは、構成ユニット1203を更に含むことができ、受信ユニット1201は、外部装置から送信されたARPレスポンスメッセージを受信するとともに、ARPレスポンスメッセージを構成ユニット1203に送信し、ユーザパケットが配置される接続上のデータパケットを受信し、データパケットを第2の処理サブユニットに送信するように更に構成され、構成ユニット1203は、受信されたARPレスポンスメッセージに従ってARPカプセル化フロールールを構成するように構成され、第2の処理サブユニットは、受信されたデータパケットに関する情報と構成ユニット1203により構成されたARPカプセル化フロールールにおけるマッチングルールとの間でマッチングを行い、マッチングが成功したあとで、ARPレスポンスメッセージの宛先MACアドレスをARPカプセル化フロールールにおけるアクションセットに従ってデータパケットにカプセル化し、その後カプセル化されたデータパケットを送信し、ここでARPカプセル化フロールールについては、方法の実施例に対して参照が行われる。
装置におけるユニット及びサブユニットの情報交換並びに実行プロセスのような内容は、本発明の方法の実施例の概念と同じである概念に基づいており、したがって、具体的な内容については、本発明の方法の実施例における説明に対して参照が行われ得るとともに、詳細は再びここでは説明されない。
[実施例9]
この実施例は、スイッチを提供する。図14を参照すると、スイッチは、汎用コンピュータシステムの構造を使用し、ここでコンピュータシステムは、具体的に、プロセッサに基づくコンピュータであり得る。図14において示されたように、スイッチは、少なくとも1つのプロセッサ1401、通信バス1402、メモリ1403及び少なくとも1つの通信インタフェース1404を含む。
プロセッサ1401は、CPU、マイクロプロセッサ、特定用途向け集積回路ASIC、又は、本発明での解決法におけるプログラムの実行を制御するために使用される1つ若しくは複数の集積回路であり得る。
通信バス1402は、前述のコンポーネントの間で情報を伝送するためのチャネルを含み得る。通信インタフェース1404は、トランシーバのようなあらゆる装置であり得るとともに、別の装置、又は、イーサネット、RAN若しくはWLANのような通信ネットワークと通信するように構成される。
コンピュータシステムは、1つ又は複数のメモリを含み、それは、読み出し専用メモリROM、静的な情報及び命令を記憶することができる別のタイプの静的記憶装置、ランダムアクセスメモリRAM、若しくは情報及び命令を記憶することができる別のタイプの動的記憶装置であり得るか、あるいは、電気的消去書込み可能な読み出し専用メモリEEROM、読み出し専用光ディスクCD−ROM若しくは別の光ディスク記憶装置、ディスク記憶装置(コンパクトディスク、レーザディスク、光ディスク、デジタル多目的ディスク、ブルーレイディスク、若しくは同様のものを含む)、磁気ディスク記憶媒体若しくは別の磁気ディスク記憶装置、又は、命令若しくはデータ構造形式における予期されたプログラムコードを伝達若しくは記憶するために使用されることができるとともに、コンピュータによりアクセスされることができるあらゆる他の媒体であり得るが、しかし本発明はそれらに限定されない。これらのメモリは、バスを使用することによりプロセッサに接続される。
メモリ1403は、本発明における解決法を実行するために使用されるアプリケーションプログラムコードを記憶するように構成され、ここで本発明における解決法を実行するために使用されるアプリケーションプログラムコードはメモリに記憶され、アプリケーションプログラムコードの実行はプロセッサ1401により制御される。プロセッサ1401は、メモリ1403に記憶されるアプリケーションプログラムを実行するように構成される。
可能な実施方法において、アプリケーションプログラムがプロセッサ1401により実行される場合に、下記の機能、すなわち、スイッチにより、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信するステップと、スイッチにより、受信されたフロールールに従ってARPメッセージを構成するとともに、ARPメッセージを送信するステップであって、フロールールがARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む、ステップとが実施される。
任意に、フロールールはARPレスポンスフロールールを含み、ARPレスポンスフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、メッセージタイプはARPメッセージであるとともに、要求されたアドレスはスイッチポートにバインドされたIPアドレスであるという情報を含み、ARPメッセージに対応するアクションセットは、ARPレスポンスメッセージを構成するステップであって、ARPレスポンスメッセージの媒体アクセス制御(MAC)アドレスが受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスである、ステップを含む。
任意に、スイッチにより、受信されたフロールールに従ってARPメッセージを構成するとともに、ARPメッセージを送信するステップは、スイッチにより、外部装置から送信されたARPリクエストメッセージを受信するステップと、ARPリクエストメッセージにおいて伝達された情報とARPレスポンスフロールールにおけるマッチングルールとの間でマッチングを行うステップと、もしマッチングが成功するならば、ARPレスポンスフロールールにおけるアクションセットに従ってARPレスポンスメッセージを構成し、受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスをARPレスポンスメッセージに記入し、その後ARPリクエストパケットの入力ポートを使用することによりARPレスポンスメッセージを転送するステップとを含む。
任意に、フロールールは第1のARPリクエストフロールールを含み、第1のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは事前設定されたIPアドレスであるという情報を含み、ARPメッセージに対応するアクションセットは、第1のARPリクエストメッセージを構成するステップであって、第1のARPリクエストメッセージにおける宛先IPアドレスが事前設定されたIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む。
任意に、スイッチにより、受信されたフロールールに従ってARPメッセージを構成するとともに、ARPメッセージを送信するステップは、スイッチにより、ユーザパケットを受信するステップと、もしパケットの宛先IPアドレスに対応するMACアドレスが存在しないことを検出するならば、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、第1のARPリクエストフロールールにおけるアクションセットに従って第1のARPリクエストメッセージを構成し、ここで第1のARPリクエストメッセージにおける宛先IPアドレスは事前設定されたIPアドレスであり、そして、設定された転送ポート又は全ての転送ポートを使用することにより第1のARPリクエストメッセージを送信するステップとを含む。
任意に、第1のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、マスクは第1のマスク値を有するという情報を更に含む。
任意に、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行うステップは、ユーザパケットがIPパケットであるかどうかを判定するステップと、もし肯定の結果であるならば、ユーザパケットにおける宛先IPアドレス及び第1のマスク値に対する所定の操作の結果が、事前設定されたIPアドレス及び第1のマスク値に対する所定の操作の結果と同じであるかどうかを判定し、もしそれらが同じであるならば、マッチングが成功したとみなすステップとを具体的に含む。
任意に、フロールールは第2のARPリクエストフロールールを含み、第2のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、ARPメッセージに対応するアクションセットは、コントローラに転送するステップを含み、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングが行われ、マッチングが失敗したあとで、当該方法は、スイッチにより、受信されたユーザパケットに関する情報と第2のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行うステップと、もしマッチングが成功するならば、ユーザパケットを第2のARPリクエストフロールールにおけるアクションセットに従ってコントローラに転送するステップと、コントローラにより供給された第3のARPリクエストフロールールを受信するステップと、第3のARPリクエストフロールールに従って第2のARPリクエストメッセージを構成するステップと、第2のARPリクエストメッセージを送信するステップとを更に含み、第3のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、マッチングの原因値は第1のIPアドレスに対応するMACアドレスが存在しないというものであり、パケットタイプはIPパケットであるとともに、宛先IPアドレスは第1のIPアドレスであるという情報を含み、ARPメッセージに対応するアクションセットは、第2のARPリクエストメッセージを構成するステップであって、第2のARPリクエストメッセージにおける宛先IPアドレスが第1のIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む。
任意に、ARPリクエストメッセージを送信するステップのあとに、当該方法は、スイッチにより、外部装置から送信されたARPレスポンスメッセージを受信し、ARPレスポンスメッセージに従ってARPカプセル化フロールールを構成し、ユーザパケットが配置される接続上のデータパケットを受信し、データパケットに関する情報とARPカプセル化フロールールにおけるマッチングルールとの間でマッチングを行い、もしマッチングが成功するならば、ARPレスポンスメッセージの宛先MACアドレスをARPカプセル化フロールールにおけるアクションセットに従ってデータパケットにカプセル化し、その後カプセル化されたデータパケットを送信するステップであって、ARPカプセル化フロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスはユーザパケットにおける宛先IPアドレスであるという情報を含む、ステップを更に含み、ARPメッセージに対応するアクションセットは、パケットの宛先MACアドレスをカプセル化するステップであって、宛先MACアドレスがARPレスポンスメッセージの宛先MACアドレスである、ステップと、パケットを転送するステップであって、転送ポート番号がARPレスポンスメッセージの入力ポート番号である、ステップとを含む。
任意に、スイッチにより、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信するステップは、スイッチにより、コントローラから送信された1つのフロールール伝達OpenFlowメッセージを受信するステップであって、1つのOpenFlowメッセージが複数のフロールールを伝達する、ステップを具体的に含む。この実施例において、アプリケーションプログラムがプロセッサにより実行される場合にスイッチが別の装置と対話するための方法については、前述の方法の実施例に対して参照が行われ得る。詳細は再びここでは説明されない。
本発明のこの実施例において提供されるスイッチは、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信することができ、ここでフロールールはARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含み、スイッチは、受信されたフロールールに従ってARPメッセージを構成するとともに、ARPメッセージを送信することができる。したがって、外部装置とのARPメカニズムベースの対話が実施される。
[実施例10]
この実施例は、コントローラを提供する。図15を参照すると、コントローラは、汎用コンピュータシステムの構造を使用し、ここでコンピュータシステムは、具体的に、プロセッサに基づくコンピュータであり得る。図15において示されたように、コントローラは、少なくとも1つのプロセッサ1501、通信バス1502、メモリ1503及び少なくとも1つの通信インタフェース1504を含む。
プロセッサ1501は、CPU、マイクロプロセッサ、特定用途向け集積回路ASIC、又は、本発明での解決法におけるプログラムの実行を制御するために使用される1つ若しくは複数の集積回路であり得る。
通信バス1502は、前述のコンポーネントの間で情報を伝送するためのチャネルを含み得る。通信インタフェース1504は、トランシーバのようなあらゆる装置であり得るとともに、別の装置、又は、イーサネット、RAN若しくはWLANのような通信ネットワークと通信するように構成される。
コンピュータシステムは、1つ又は複数のメモリを含み、それは、読み出し専用メモリROM、静的な情報及び命令を記憶することができる別のタイプの静的記憶装置、ランダムアクセスメモリRAM、若しくは情報及び命令を記憶することができる別のタイプの動的記憶装置であり得るか、あるいは、電気的消去書込み可能な読み出し専用メモリEEROM、読み出し専用光ディスクCD−ROM若しくは別の光ディスク記憶装置、ディスク記憶装置(コンパクトディスク、レーザディスク、光ディスク、デジタル多目的ディスク、ブルーレイディスク、若しくは同様のものを含む)、磁気ディスク記憶媒体若しくは別の磁気ディスク記憶装置、又は、命令若しくはデータ構造形式における予期されたプログラムコードを伝達若しくは記憶するために使用されることができるとともに、コンピュータによりアクセスされることができるあらゆる他の媒体であり得るが、しかし本発明はそれらに限定されない。これらのメモリは、バスを使用することによりプロセッサに接続される。
メモリ1503は、本発明における解決法を実行するために使用されるアプリケーションプログラムコードを記憶するように構成され、ここで本発明における解決法を実行するために使用されるアプリケーションプログラムコードはメモリに記憶され、アプリケーションプログラムコードの実行はプロセッサ1501により制御される。プロセッサ1501は、メモリ1503に記憶されるアプリケーションプログラムを実行するように構成される。
可能な実施方法において、アプリケーションプログラムがプロセッサ1401により実行される場合に、下記の機能、すなわち、コントローラにより、ARPメッセージに対応するフロールールを作成するステップであって、各フロールールがARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む、ステップと、作成されたフロールールをコントローラによりスイッチに送信するステップとが実施される。
任意に、フロールールは、ARPレスポンスフロールール、第1のARPリクエストフロールール及び第2のARPリクエストフロールールを含む。
任意に、コントローラにより、ARPメッセージに対応するフロールールを作成するステップのまえに、実施方法は、コントローラにより、スイッチのスイッチポートと、ポートのIPアドレス及びMACアドレスとの間の対応関係を獲得するステップを更に含む。
任意に、スイッチのスイッチポートと、ポートのIPアドレス及びMACアドレスとの間の対応関係を獲得するステップは、
方法1:コントローラにより、事前設定された静的な構成に従って、又は、サードパーティ装置から、スイッチのスイッチポートと、ポートのIPアドレス及びMACアドレスとの間の対応関係を直接的に獲得するステップ、及び、
方法2:コントローラにより、事前設定された静的な構成に従って、又は、サードパーティ装置から、第1の情報を獲得し、ここで第1の情報はスイッチ識別子、スイッチポート識別子、及びスイッチポート識別子に対応するポートIPアドレスを含み、スイッチにより報告された第2の情報を獲得し、ここで第2の情報はスイッチポート識別子、及びスイッチポート識別子に対応するMACアドレスを含み、第1の情報及び第2の情報に従って、スイッチ識別子と、スイッチポート識別子と、ポートのIPアドレス及びMACアドレスとの対応関係を獲得するステップ、
を含む。
任意に、コントローラにより作成されたフロールールがフロールール4、すなわち第3のARPリクエストフロールールを含む場合に、作成されたフロールールをコントローラによりスイッチに送信したあとで、当該実施方法は、コントローラにより、第2のARPリクエストフロールールに従ってスイッチから送信されたフローテーブルリクエストを受信するステップであって、リクエストが現在要求される必要がある宛先IPアドレスを伝達する、ステップと、もし現在要求される必要があるとともに、フローテーブルリクエストにおいて伝達される宛先IPアドレスに対応するMACアドレスを見つけるならば、コントローラにより、スイッチが要求されたARPリクエストメッセージを構成することができることを保証するために、第3のARPリクエストフロールールを作成するとともに、次に第3のARPリクエストフロールールをスイッチに送信するステップとを更に含む。
本発明のこの実施例において提供されるコントローラは、フロールールを作成するとともに、フロールールをスイッチに送信することができる。
[実施例11]
この実施例は、実施例7におけるあらゆる構造及び機能を有するコントローラと、実施例8におけるあらゆる構造及び機能を有するスイッチとを含むSDNシステムを提供する。
装置におけるユニット及びサブユニットの情報交換並びに実行プロセスのような内容は、本発明の方法の実施例の概念と同じである概念に基づいており、したがって、具体的な内容については、本発明の方法の実施例における説明に対して参照が行われ得るとともに、詳細は再びここでは説明されない。本発明の実施例において提供されるARPメッセージを処理するための方法、スイッチ及びコントローラは、下記の有益な効果を少なくとも有する。
1.本発明の実施例において提供されるARPメッセージを処理するための方法、スイッチ及びコントローラによれば、スイッチは、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信することができ、フロールールは、ARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含み、スイッチは、受信されたフロールールに従ってARPメッセージを構成するとともに、ARPメッセージを送信することができる。したがって、外部装置とのARPメカニズムベースの対話が実施される。
2.本発明の実施例は、ARP処理能力を実施するスイッチのための追加のメカニズムを加える必要性なく、OpenFlowプロトコルの現存するフローテーブルのマッチング及び処理メカニズムに基づいて実施されることができ、したがって、スイッチは、最小限に変更され、実施することが更に容易になる。
当業者は、本発明の各態様、又は各態様の可能な実施方法は、具体的に、システム、方法又はコンピュータプログラム製品として実施され得る、ということを理解し得る。したがって、本発明の各態様、又は各態様の可能な実施方法は、ここでは一様に“回路”、“モジュール”又は“システム”と言われる、ハードウェアのみの実施例、ソフトウェアのみの実施例(ファームウェア、常駐ソフトウェアなどを含む)、又は、ソフトウェアとハードウェアの組み合わせによる実施例の形式を使用し得る。さらに、本発明の各態様、又は各態様の可能な実施方法は、コンピュータプログラム製品の形式をとることができ、ここでコンピュータプログラム製品はコンピュータ読み取り可能な媒体に記憶されるコンピュータ読み取り可能なプログラムコードのことを指す。
コンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な信号媒体、又はコンピュータ読み取り可能な記憶媒体であり得る。コンピュータ読み取り可能な記憶媒体は、下記には限定されないが、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去書込み可能な読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、及びコンパクトディスク読み出し専用メモリのような、電子的な、磁気的な、光学的な、電磁気的な、赤外線の、若しくは半導電性のシステム、デバイス、又は装置、あるいはそれらのあらゆる適切な組み合わせを含む。
コンピュータにおけるプロセッサは、コンピュータ読み取り可能な媒体に記憶されるコンピュータ読み取り可能なプログラムコードを読み取り、その結果、プロセッサは、フローチャートにおける各ステップ、又はステップの組み合わせにおいて指定された機能及び動作を実行することができ、装置は、構成図における各ブロック、又はブロックの組み合わせにおいて指定された機能及び動作を実施するように生成される。
全てのコンピュータ読み取り可能なプログラムコードはユーザコンピュータ上で実行され得るか、又は、いくつかはスタンドアロンソフトウェアパッケージとしてユーザコンピュータ上で実行され得るか、又は、いくつかがリモートコンピュータ上で実行される一方でいくつかはユーザのコンピュータ上で実行され得るか、又は、全てのコードはリモートコンピュータ又はサーバ上で実行され得る。いくつかの代替の実装例の解決法において、フローチャートにおける各ステップ、又は構成図における各ブロックで指定された機能は、例示された順番で発生しないかもしれない、ということが同様に注意されるべきである。例えば、例示における、関連する機能に依存している2つの連続的なステップ又は2のブロックは、実際には、実質的に同時に実行され得るか、又は、これらのブロックは、時には逆の順番で実行され得る。
明らかに、当業者は、本発明の精神及び範囲からはずれずに、本発明に様々な修正及び変更を行うことができる。本発明は、これらの修正及び変更が添付の請求項及びそれらの同等の技術により定義された保護の範囲内に含まれる限り、これらの修正及び変更をカバーすることを意図している。

本発明は、通信技術の分野に関し、特に、アドレス解決プロトコル(ARP)メッセージを処理するための方法、スイッチ及びコントローラに関する。
OpenFlowプロトコルは、ソフトウェアデファインドネットワーキング(SDN)における典型的な技術である。OpenFlowプロトコルにおけるネットワーク要素は、コントローラ(OF Controller)及びスイッチ(OF Switch)を含む。コントローラは、パケットの特徴に従ってサービスフローのための転送動作を判定し、対応するフロールールをスイッチに供給することに関与する。スイッチは、フロールールを獲得して記憶し、そして、フロールールに適合する次のパケットに対して対応する動作を実行し、それによりパケットの転送又は処理を実施する。フロールールは、フローマッチング情報、及びそれに応じて実行される処理アクションセットを含む。スイッチは、全てのフローマッチング情報及びアクションセットを記憶するとともに、フローマッチング情報及びアクションセットを対応するフローテーブルにインストールし、ユーザパケットが到着する場合に、スイッチは、フローテーブルマッチングを実行するとともに、ユーザパケットを処理するために、フローテーブルマッチングのマッチング結果に従って対応する動作を実行する。
ARPは、リンクレイヤプロトコルであり、そしてネットワーク装置のIPアドレス及び媒体アクセス制御(MAC)アドレスが、別のネットワーク装置のIPアドレス及びMACアドレスと対応するのを支援する。宛先IPアドレスを伝達するARPリクエストメッセージが、宛先MACアドレスを伝達するアドレス解決プロトコルレスポンスメッセージを取得するために送信され、その結果、ネットワーク装置は、通信ピアのMACアドレスを獲得する。
第1の態様の第2の可能な実施方法又は第1の態様の第3の可能な実施方法に関連して、第1の態様の第4の可能な実施方法において、前記フロールールは第2のARPリクエストフロールールを含み、前記第2のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、前記ARPメッセージを前記コントローラに転送するステップを含み、それに応じて、前記ユーザパケットに関する前記情報と前記第1のARPリクエストフロールールにおける前記マッチングルールとの間で前記マッチングが行われ、前記マッチングが失敗したあとで、当該方法は、前記スイッチにより、前記の受信されたユーザパケットに関する前記情報と前記第2のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを行うステップと、もし前記マッチングが成功するならば、前記ユーザパケットを前記第2のARPリクエストフロールールにおける前記アクションセットに従って前記コントローラに転送するステップと、前記コントローラにより供給された第3のARPリクエストフロールールを受信するステップと、前記第3のARPリクエストフロールールに従って第2のARPリクエストメッセージを構成するステップと、前記第2のARPリクエストメッセージを送信するステップとを更に含み、前記第3のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、マッチングの原因値は第1のIPアドレスに対応するMACアドレスが存在しないというものであり、パケットタイプはIPパケットであるとともに、宛先IPアドレスは前記第1のIPアドレスであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、第2のARPリクエストメッセージを構成するステップであって、前記第2のARPリクエストメッセージにおける宛先IPアドレスが前記第1のIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む。
第2の態様の第2の可能な実施方法又は第2の態様の第3の可能な実施方法に関連して、第2の態様の第4の可能な実施方法において、前記第2の処理サブユニットは、前記フロールールに含まれた第2のARPリクエストフロールールを解析し、前記ユーザパケットに従って、前記第1のARPリクエストフロールールにおける前記マッチングルールに対して前記マッチングが行われ、前記マッチングが失敗したあとで、前記の受信されたユーザパケットに関する前記情報と前記第2のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを更に行い、もし前記マッチングが成功するならば、前記ユーザパケットを前記第2のARPリクエストフロールールにおける前記アクションセットに従って前記コントローラに転送し、前記ユーザパケットにおける前記宛先IPアドレスを含むとともに、前記コントローラにより供給された第3のARPリクエストフロールールを受信し、前記第3のARPリクエストフロールールに従って第2のARPリクエストメッセージを構成し、前記第2のARPリクエストメッセージを送信するように更に構成され、前記第2のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、前記ARPメッセージを前記コントローラに転送するステップを含む。
第3の態様の第2の可能な実施方法に関連して、第3の態様の第3の可能な実施方法において、前記作成ユニットは、第2のARPリクエストフロールールを作成するように更に構成され、前記第2のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、前記ARPメッセージに対応する前記アクションセットは、前記ARPメッセージを前記コントローラに転送するステップを含む。
本発明の実施例における技術的解決法をより明確に説明するために、下記は、実施例を説明するために必要とされる添付図面を簡単に説明する。明らかに、下記の説明における添付図面は本発明のいくつかの実施例を表すとともに、当業者は、創造的な努力なしでこれらの添付図面からさらに他の図面を導き出し得る。
第2のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、ARPメッセージに対応するアクションセットは、ARPメッセージをコントローラに転送するステップを含む。
具体的には、ARPレスポンスフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記には限定されないが、1)ARPメッセージタイプ、及び2)要求されたアドレスはスイッチポートにバインドされたIPアドレスであること、を含み、ARPメッセージに対応するアクションセットは、下記には限定されないが、1)ARPレスポンスメッセージを構成するステップであって、受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスが、メッセージのMACアドレスとして記入される、ステップと、2)ARPレスポンスメッセージを転送するステップであって、転送ポート番号がARPリクエストパケットの入力ポート番号である、ステップとを含む。
任意に、このステップでは、マッチングが成功するということは、マッチングの原因がIPアドレスに対応するMACアドレスが存在しないというものであり(任意)、パケットタイプはIPパケットであり、パケットの宛先IPアドレス及び第1のARPリクエストフロールールに含まれる第1のマスク値に対して実行された設定された操作の結果が、第1のARPリクエストフロールールに含まれる宛先IPアドレス及び第1のマスク値に対して実行された設定された操作の結果である、ということを意味する。
具体的には、第2のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、1)パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであることを含み、ARPメッセージに対応するアクションセットは、1)ARPメッセージをコントローラに転送するステップを含む。
ここで、第2のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、1)パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであることを含み、ARPメッセージに対応するアクションセットは、1)ARPメッセージをコントローラに転送するステップを含む。
任意に、第2の処理サブユニットは、フロールールに含まれた第2のARPリクエストフロールールを解析し、ここで第2のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、ARPメッセージに対応するアクションセットは、ARPメッセージをコントローラに転送するステップを含み、そして、ユーザパケットに従って、第1のARPリクエストフロールールにおけるマッチングルールに対してマッチングが行われ、マッチングが失敗したあとで、受信されたユーザパケットに関する情報と第2のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを更に行い、もしマッチングが成功するならば、ユーザパケットを第2のARPリクエストフロールールにおけるアクションセットに従ってコントローラに転送し、ユーザパケットにおける宛先IPアドレスを含むとともに、コントローラにより供給された第3のARPリクエストフロールールを受信し、第3のARPリクエストフロールールに従って第2のARPリクエストメッセージを構成し、第2のARPリクエストメッセージを送信するように更に構成される。
任意に、フロールールは第2のARPリクエストフロールールを含み、第2のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、ARPメッセージに対応するアクションセットは、ARPメッセージをコントローラに転送するステップを含み、ユーザパケットに関する情報と第1のARPリクエストフロールールにおけるマッチングルールとの間でマッチングが行われ、マッチングが失敗したあとで、当該方法は、スイッチにより、受信されたユーザパケットに関する情報と第2のARPリクエストフロールールにおけるマッチングルールとの間でマッチングを行うステップと、もしマッチングが成功するならば、ユーザパケットを第2のARPリクエストフロールールにおけるアクションセットに従ってコントローラに転送するステップと、コントローラにより供給された第3のARPリクエストフロールールを受信するステップと、第3のARPリクエストフロールールに従って第2のARPリクエストメッセージを構成するステップと、第2のARPリクエストメッセージを送信するステップとを更に含み、第3のARPリクエストフロールールにおいて、ARPメッセージに対応するマッチングルールは、下記の、マッチングの原因値は第1のIPアドレスに対応するMACアドレスが存在しないというものであり、パケットタイプはIPパケットであるとともに、宛先IPアドレスは第1のIPアドレスであるという情報を含み、ARPメッセージに対応するアクションセットは、第2のARPリクエストメッセージを構成するステップであって、第2のARPリクエストメッセージにおける宛先IPアドレスが第1のIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む。
可能な実施方法において、アプリケーションプログラムがプロセッサ1501により実行される場合に、下記の機能、すなわち、コントローラにより、ARPメッセージに対応するフロールールを作成するステップであって、各フロールールがARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む、ステップと、作成されたフロールールをコントローラによりスイッチに送信するステップとが実施される。
明らかに、当業者は、本発明の範囲からはずれずに、本発明に様々な修正及び変更を行うことができる。本発明は、これらの修正及び変更が添付の請求項及びそれらの同等の技術により定義された保護の範囲内に含まれる限り、これらの修正及び変更をカバーすることを意図している。

Claims (18)

  1. アドレス解決プロトコル(ARP)メッセージを処理するための方法であって、
    スイッチにより、ARPメッセージに対応するとともに、コントローラから送信されたフロールールを受信するステップと、
    前記スイッチにより、前記の受信されたフロールールに従ってARPメッセージを構成するとともに、前記ARPメッセージを送信するステップであって、前記フロールールがARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む、ステップとを含む、アドレス解決プロトコルメッセージを処理するための方法。
  2. 前記フロールールがARPレスポンスフロールールを含み、前記ARPレスポンスフロールールにおいて、
    ARPメッセージに対応する前記マッチングルールが、下記の、メッセージタイプはARPメッセージであるとともに、要求されたアドレスはスイッチポートにバインドされたIPアドレスであるという情報を含み、
    前記ARPメッセージに対応する前記アクションセットが、ARPレスポンスメッセージを構成するステップであって、前記ARPレスポンスメッセージの媒体アクセス制御(MAC)アドレスが受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスである、ステップを含み、
    それに応じて、前記スイッチにより、前記の受信されたフロールールに従って前記ARPメッセージを構成するとともに、前記ARPメッセージを送信する前記ステップが、
    前記スイッチにより、外部装置から送信されたARPリクエストメッセージを受信するステップと、
    前記ARPリクエストメッセージにおいて伝達された情報と前記ARPレスポンスフロールールにおける前記マッチングルールとの間でマッチングを行うステップと、
    もし前記マッチングが成功するならば、前記ARPレスポンスフロールールにおける前記アクションセットに従ってARPレスポンスメッセージを構成し、前記受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスを前記ARPレスポンスメッセージに記入し、その後ARPリクエストパケットの入力ポートを使用することにより前記ARPレスポンスメッセージを転送するステップとを具体的に含む、請求項1に記載のアドレス解決プロトコルメッセージを処理するための方法。
  3. 前記フロールールが第1のARPリクエストフロールールを含み、前記第1のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールが、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは事前設定されたIPアドレスであるという情報を含み、
    前記ARPメッセージに対応する前記アクションセットが、第1のARPリクエストメッセージを構成するステップであって、前記第1のARPリクエストメッセージにおける宛先IPアドレスが前記事前設定されたIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含み、
    それに応じて、前記スイッチにより、前記の受信されたフロールールに従って前記ARPメッセージを構成するとともに、前記ARPメッセージを送信する前記ステップが、
    前記スイッチにより、ユーザパケットを受信するステップと、
    もし前記パケットの宛先IPアドレスに対応するMACアドレスが存在しないことを検出するならば、前記ユーザパケットに関する情報と前記第1のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを行い、もし前記マッチングが成功するならば、前記第1のARPリクエストフロールールにおける前記アクションセットに従って第1のARPリクエストメッセージを構成し、ここで前記第1のARPリクエストメッセージにおける宛先IPアドレスは前記事前設定されたIPアドレスであり、そして、設定された転送ポート又は全ての転送ポートを使用することにより前記第1のARPリクエストメッセージを送信するステップとを具体的に含む、請求項1に記載のアドレス解決プロトコルメッセージを処理するための方法。
  4. 前記第1のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールが、下記の、マスクは第1のマスク値を有するという情報を更に含み、
    それに応じて、前記ユーザパケットに関する前記情報と前記第1のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを行う前記ステップが、
    前記ユーザパケットがIPパケットであるかどうかを判定するステップと、
    もし前記ユーザパケットがIPパケットであるならば、前記ユーザパケットにおける前記宛先IPアドレス及び前記第1のマスク値に対する所定の操作の結果が、前記事前設定されたIPアドレス及び前記第1のマスク値に対する前記所定の操作の結果と同じであるかどうかを判定し、もしそれらが同じであるならば、前記マッチングが成功したと判定するステップとを具体的に含む、請求項3に記載のアドレス解決プロトコルメッセージを処理するための方法。
  5. 前記フロールールが第2のARPリクエストフロールールを含み、前記第2のARPリクエストフロールールにおいて、
    前記ARPメッセージに対応する前記マッチングルールが、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、前記ARPメッセージに対応する前記アクションセットが、前記コントローラに転送するステップを含み、
    それに応じて、前記ユーザパケットに関する前記情報と前記第1のARPリクエストフロールールにおける前記マッチングルールとの間で前記マッチングが行われ、前記マッチングが失敗したあとで、当該方法が、
    前記スイッチにより、前記の受信されたユーザパケットに関する前記情報と前記第2のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを行うステップと、
    もし前記マッチングが成功するならば、前記ユーザパケットを前記第2のARPリクエストフロールールにおける前記アクションセットに従って前記コントローラに転送するステップと、
    前記コントローラにより供給された第3のARPリクエストフロールールを受信するステップと、
    前記第3のARPリクエストフロールールに従って第2のARPリクエストメッセージを構成するステップと、
    前記第2のARPリクエストメッセージを送信するステップとを更に含み、
    前記第3のARPリクエストフロールールにおいて、
    前記ARPメッセージに対応する前記マッチングルールが、下記の、マッチングの原因値は第1のIPアドレスに対応するMACアドレスが存在しないというものであり、パケットタイプはIPパケットであるとともに、宛先IPアドレスは前記第1のIPアドレスであるという情報を含み、
    前記ARPメッセージに対応する前記アクションセットが、第2のARPリクエストメッセージを構成するステップであって、前記第2のARPリクエストメッセージにおける宛先IPアドレスが前記第1のIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む、請求項3又は請求項4に記載のアドレス解決プロトコルメッセージを処理するための方法。
  6. 前記ARPリクエストメッセージを送信する前記ステップのあとに、当該方法が、
    前記スイッチにより、外部装置から送信されたARPレスポンスメッセージを受信し、前記ARPレスポンスメッセージに従ってARPカプセル化フロールールを構成し、前記ユーザパケットが配置される接続上のデータパケットを受信し、前記データパケットに関する情報と前記ARPカプセル化フロールールにおけるマッチングルールとの間でマッチングを行い、もし前記マッチングが成功するならば、前記ARPレスポンスメッセージの宛先MACアドレスを前記ARPカプセル化フロールールにおけるアクションセットに従って前記データパケットにカプセル化し、その後前記のカプセル化されたデータパケットを送信するステップであって、前記ARPカプセル化フロールールにおいて、前記ARPメッセージに対応する前記マッチングルールが、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは前記ユーザパケットにおける宛先IPアドレスであるという情報を含む、ステップを更に含み、
    前記ARPメッセージに対応する前記アクションセットが、パケットの宛先MACアドレスをカプセル化するステップであって、前記宛先MACアドレスが前記ARPレスポンスメッセージの前記宛先MACアドレスである、ステップと、前記パケットを転送するステップであって、転送ポート番号が前記ARPレスポンスメッセージの入力ポート番号である、ステップとを含む、請求項3から請求項5のいずれか一項に記載のアドレス解決プロトコルメッセージを処理するための方法。
  7. 前記スイッチにより、前記ARPメッセージに対応するとともに、前記コントローラから送信された前記フロールールを受信する前記ステップが、
    前記スイッチにより、前記コントローラから送信された1つのフロールール伝達OpenFlowメッセージを受信するステップであって、前記の1つのOpenFlowメッセージが複数のフロールールを伝達する、ステップを具体的に含む、請求項1から請求項5のいずれか一項に記載のアドレス解決プロトコルメッセージを処理するための方法。
  8. スイッチであって、
    アドレス解決プロトコル(ARP)メッセージに対応するとともに、コントローラから送信されたフロールールを受信し、前記フロールールをARP処理ユニットに送信するように構成される受信ユニットと、
    前記の受信されたフロールールに従ってARPメッセージを構成するとともに、前記ARPメッセージを送信し、ここで前記フロールールはARPメッセージに対応するマッチングルール及びARPメッセージに対応するアクションセットを含む、ように構成される前記ARP処理ユニットとを備える、スイッチ。
  9. 前記ARP処理ユニットが、第1の処理サブユニットを備え、
    前記受信ユニットが、外部装置から送信されたARPリクエストメッセージを受信し、前記ARPリクエストメッセージを前記第1の処理サブユニットに送信するように更に構成され、
    前記第1の処理サブユニットが、前記の受信されたフロールールに含まれたARPレスポンスフロールールを解析し、前記ARPリクエストメッセージが受信されたあとで、前記ARPリクエストメッセージにおいて伝達される情報と前記ARPレスポンスフロールールにおける前記マッチングルールとの間でマッチングを行い、もし前記マッチングが成功するならば、前記ARPレスポンスフロールールにおける前記アクションセットに従ってARPレスポンスメッセージを構成し、前記の受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスを前記ARPレスポンスメッセージに記入し、その後ARPリクエストパケットの入力ポートを使用することにより前記ARPレスポンスメッセージを転送するように構成され、
    前記ARPレスポンスフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールが、下記の、メッセージタイプはARPメッセージであるとともに、要求されたアドレスはスイッチポートにバインドされたIPアドレスであるという情報を含み、前記第1の処理サブユニットが、ARPレスポンスメッセージを構成し、ここで前記ARPレスポンスメッセージの媒体アクセス制御(MAC)アドレスは受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスであり、そして、前記ARPレスポンスメッセージを転送し、ここで転送ポート番号は前記ARPリクエストパケットの入力ポート番号である、ように更に構成される、請求項8に記載のスイッチ。
  10. 前記ARP処理ユニットが、第2の処理サブユニットを備え、
    前記受信ユニットが、ユーザパケットを受信し、前記ユーザパケットを前記第2の処理サブユニットに転送するように更に構成され、
    前記第2の処理サブユニットが、前記の受信されたフロールールに含まれた第1のARPリクエストフロールールを解析し、前記ユーザパケットが受信されたあとで、もし前記パケットの宛先IPアドレスに対応するMACアドレスが存在しないことが検出されるならば、前記ユーザパケットに関する情報と前記第1のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを行い、もし前記マッチングが成功するならば、前記第1のARPリクエストフロールールにおける前記アクションセットに従って第1のARPリクエストメッセージを構成し、ここで前記第1のARPリクエストメッセージにおける宛先IPアドレスは事前設定されたIPアドレスであり、そして、設定された転送ポート又は全ての転送ポートを使用することにより前記第1のARPリクエストメッセージを送信するように構成され、
    前記第1のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールが、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは前記事前設定されたIPアドレスであるという情報を含み、前記第2の処理サブユニットが、第1のARPリクエストメッセージを構成し、ここで前記第1のARPリクエストメッセージにおける宛先IPアドレスは前記事前設定されたIPアドレスであり、転送ポート番号は設定された転送ポート番号又は全ての転送ポート番号である、ように更に構成される、請求項8に記載のスイッチ。
  11. 前記第1のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールが、下記の、マスクは第1のマスク値を有するという情報を更に含み、
    前記第2の処理サブユニットが、前記ユーザパケットがIPパケットであるかどうかを判定し、もし肯定の結果であるならば、前記ユーザパケットにおける前記宛先IPアドレス及び前記第1のマスク値に対する所定の操作の結果が、前記事前設定されたIPアドレス及び前記第1のマスク値に対する前記所定の操作の結果と同じであるかどうかを判定し、もしそれらが同じであるならば、前記マッチングが成功したと判定するように更に構成される、請求項10に記載のスイッチ。
  12. 前記第2の処理サブユニットが、前記フロールールに含まれた第2のARPリクエストフロールールを解析し、前記ユーザパケットに従って、前記第1のARPリクエストフロールールにおける前記マッチングルールに対して前記マッチングが行われ、前記マッチングが失敗したあとで、前記の受信されたユーザパケットに関する前記情報と前記第2のARPリクエストフロールールにおける前記マッチングルールとの間でマッチングを更に行い、もし前記マッチングが成功するならば、前記ユーザパケットを前記第2のARPリクエストフロールールにおける前記アクションセットに従って前記コントローラに転送し、前記ユーザパケットにおける前記宛先IPアドレスを含むとともに、前記コントローラにより供給された第3のARPリクエストフロールールを受信し、前記第3のARPリクエストフロールールに従って第2のARPリクエストメッセージを構成し、前記第2のARPリクエストメッセージを送信するように更に構成され、
    前記第2のARPリクエストフロールールにおいて、前記ARPメッセージに対応する前記マッチングルールが、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、前記ARPメッセージに対応する前記アクションセットが、前記コントローラに転送するステップを含む、請求項10又は請求項11に記載のスイッチ。
  13. 前記スイッチが構成ユニットを更に備え、
    前記受信ユニットが、外部装置から送信されたARPレスポンスメッセージを受信するとともに、前記ARPレスポンスメッセージを前記構成ユニットに送信し、前記ユーザパケットが配置される接続上のデータパケットを受信し、前記データパケットを前記第2の処理サブユニットに送信するように更に構成され、
    前記構成ユニットが、前記の受信されたARPレスポンスメッセージに従ってARPカプセル化フロールールを構成するように構成され、
    前記第2の処理サブユニットが、前記の受信されたデータパケットに関する情報と前記構成ユニットにより構成された前記ARPカプセル化フロールールにおけるマッチングルールとの間でマッチングを行い、前記マッチングが成功したあとで、前記ARPレスポンスメッセージの宛先MACアドレスを前記ARPカプセル化フロールールにおけるアクションセットに従って前記データパケットにカプセル化し、その後前記のカプセル化されたデータパケットを送信し、ここで前記ARPカプセル化フロールールにおいて、前記ARPメッセージに対応する前記マッチングルールが、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは前記ユーザパケットにおける宛先IPアドレスであるという情報を含む、ように更に構成され、
    前記ARPメッセージに対応する前記アクションセットが、パケットの宛先MACアドレスをカプセル化するステップであって、前記宛先MACアドレスが前記ARPレスポンスメッセージの前記宛先MACアドレスである、ステップと、前記パケットを転送するステップであって、転送ポート番号が前記ARPレスポンスメッセージの入力ポート番号である、ステップとを含む、請求項10から請求項12のいずれか一項に記載のスイッチ。
  14. コントローラであって、
    アドレス解決プロトコル(ARP)メッセージに対応するフロールールを作成するとともに、前記フロールールを送信ユニットに出力し、ここで前記フロールールは前記ARPメッセージに対応するマッチングルール及び前記ARPメッセージに対応するアクションセットを含む、ように構成される作成ユニットと、
    前記の受信されたフロールールをスイッチに送信するように構成される前記送信ユニットとを備える、コントローラ。
  15. 前記作成ユニットが、ARPレスポンスフロールールを作成するように具体的に構成され、前記ARPレスポンスフロールールにおいて、
    前記ARPメッセージに対応する前記マッチングルールが、下記の、メッセージタイプはARPメッセージであるとともに、要求されたアドレスはスイッチポートにバインドされたIPアドレスであるという情報を含み、
    前記ARPメッセージに対応する前記アクションセットが、ARPレスポンスメッセージを構成するステップであって、前記ARPレスポンスメッセージの媒体アクセス制御(MAC)アドレスが受信されたARPリクエストメッセージにおいて要求されたIPアドレスに対応するMACアドレスである、ステップと、前記ARPレスポンスメッセージを転送するステップであって、転送ポート番号がARPリクエストパケットの入力ポート番号である、ステップとを含む、請求項14に記載のコントローラ。
  16. 前記作成ユニットが、第1のARPリクエストフロールールを作成するように具体的に構成され、前記第1のARPリクエストフロールールにおいて、
    前記ARPメッセージに対応する前記マッチングルールが、下記の、パケットタイプはIPパケットであるとともに、宛先IPアドレスは事前設定されたIPアドレスであるという情報を含み、
    前記ARPメッセージに対応する前記アクションセットが、第1のARPリクエストメッセージを構成するステップであって、前記第1のARPリクエストメッセージにおける宛先IPアドレスが前記事前設定されたIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む、請求項14に記載のコントローラ。
  17. 前記作成ユニットが、第2のARPリクエストフロールールを作成するように更に構成され、前記第2のARPリクエストフロールールにおいて、
    前記ARPメッセージに対応する前記マッチングルールが、下記の、パケットタイプはIPアドレスに対応するMACアドレスが存在しないというものであるという情報を含み、
    前記ARPメッセージに対応する前記アクションセットが、前記コントローラに転送するステップを含む、請求項16に記載のコントローラ。
  18. 前記作成ユニットが、前記第2のARPリクエストフロールールに従って前記スイッチから送信されたフローテーブルリクエストを受信するとともに、第3のARPリクエストフロールールを作成するように更に構成され、前記第3のARPリクエストフロールールにおいて、
    前記ARPメッセージに対応する前記マッチングルールが、下記の、マッチングの原因値は第1のIPアドレスに対応するMACアドレスが存在しないというものであり、パケットタイプはIPパケットであるとともに、宛先IPアドレスは前記第1のIPアドレスであるという情報を含み、
    前記ARPメッセージに対応する前記アクションセットが、第2のARPリクエストメッセージを構成するステップであって、前記第2のARPリクエストメッセージにおける宛先IPアドレスが前記第1のIPアドレスであるとともに、転送ポート番号が設定された転送ポート番号又は全ての転送ポート番号である、ステップを含む、請求項17に記載のコントローラ。

JP2016538639A 2013-12-13 2013-12-13 アドレス解決プロトコルメッセージを処理するための方法、スイッチ及びコントローラ Pending JP2017503405A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/089377 WO2015085576A1 (zh) 2013-12-13 2013-12-13 地址解析协议消息的处理方法和转发器、控制器

Publications (2)

Publication Number Publication Date
JP2017503405A true JP2017503405A (ja) 2017-01-26
JP2017503405A5 JP2017503405A5 (ja) 2018-05-24

Family

ID=53370525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016538639A Pending JP2017503405A (ja) 2013-12-13 2013-12-13 アドレス解決プロトコルメッセージを処理するための方法、スイッチ及びコントローラ

Country Status (5)

Country Link
US (1) US20160285820A1 (ja)
EP (1) EP3073698A4 (ja)
JP (1) JP2017503405A (ja)
CN (2) CN108183976A (ja)
WO (1) WO2015085576A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020522202A (ja) * 2017-05-31 2020-07-27 新華三技術有限公司New H3C Technologies Co., Ltd. レイヤ3通信実施
US11102115B2 (en) 2017-05-31 2021-08-24 New H3C Technologies Co., Ltd. Forwarding packet

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014000266A1 (zh) * 2012-06-29 2014-01-03 华为技术有限公司 信息处理方法、转发面设备和控制面设备
KR20160095554A (ko) * 2015-02-03 2016-08-11 한국전자통신연구원 Sdn 기반의 물리 주소 결정장치 및 그 방법
JP2017011487A (ja) * 2015-06-22 2017-01-12 富士通株式会社 情報処理システム、情報処理システムの制御プログラム及び情報処理システムの制御方法
CN108028801B (zh) * 2015-07-27 2021-02-23 华为技术有限公司 一种基于sdn的arp实现方法及装置
US10187218B2 (en) * 2015-09-15 2019-01-22 Google Llc Systems and methods for processing packets in a computer network
CN105743788A (zh) * 2016-01-26 2016-07-06 北京小米移动软件有限公司 数据包转发方法及装置
CN106210173A (zh) * 2016-07-29 2016-12-07 杭州迪普科技有限公司 Dns回复报文的转发方法及装置
CN108075945B (zh) * 2016-11-18 2021-04-27 腾讯科技(深圳)有限公司 一种应用测试方法及装置
CN107294863B (zh) * 2017-06-22 2021-04-16 深圳市泰信通信息技术有限公司 网络数据流转发方法、装置、系统及可读存储介质
CN110798409A (zh) * 2019-10-31 2020-02-14 深信服科技股份有限公司 流量处理方法、装置和存储介质
CN113612963B (zh) * 2021-07-27 2024-08-20 深圳市捷视飞通科技股份有限公司 数据转发方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012093429A1 (en) * 2011-01-05 2012-07-12 Nec Corporation Communication control system, control server, forwarding node, communication control method, and communication control program
JP2012195807A (ja) * 2011-03-17 2012-10-11 Nec Corp 制御サーバ、通信システム、制御方法およびプログラム
WO2013126195A1 (en) * 2012-02-23 2013-08-29 Big Switch Network, Inc. System and methods for managing network packet forwarding with a controller
WO2013141340A1 (ja) * 2012-03-23 2013-09-26 日本電気株式会社 制御装置、通信装置、通信システム、通信方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143068B (zh) * 2011-03-01 2014-04-02 华为技术有限公司 一种mac地址学习的方法,装置和系统
US8929377B2 (en) * 2011-03-15 2015-01-06 Futurewei Technologies, Inc. Systems and methods for automatic rack detection
CN103460653A (zh) * 2011-03-31 2013-12-18 日本电气株式会社 计算机系统和通信方法
JP2013090072A (ja) * 2011-10-17 2013-05-13 Hitachi Ltd サービス提供システム
US8738756B2 (en) * 2011-12-01 2014-05-27 International Business Machines Corporation Enabling co-existence of hosts or virtual machines with identical addresses
US8990371B2 (en) * 2012-01-31 2015-03-24 International Business Machines Corporation Interconnecting data centers for migration of virtual machines
CN103051538B (zh) * 2012-12-27 2015-07-08 华为技术有限公司 Arp表项生成的方法、控制设备及系统
WO2015015505A1 (en) * 2013-08-01 2015-02-05 Hewlett-Packard Development Company, L.P. Address resolution rewriting
US9813312B2 (en) * 2014-07-21 2017-11-07 Big Switch Networks, Inc. Systems and methods for performing debugging operations on networks using a controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012093429A1 (en) * 2011-01-05 2012-07-12 Nec Corporation Communication control system, control server, forwarding node, communication control method, and communication control program
JP2012195807A (ja) * 2011-03-17 2012-10-11 Nec Corp 制御サーバ、通信システム、制御方法およびプログラム
WO2013126195A1 (en) * 2012-02-23 2013-08-29 Big Switch Network, Inc. System and methods for managing network packet forwarding with a controller
WO2013141340A1 (ja) * 2012-03-23 2013-09-26 日本電気株式会社 制御装置、通信装置、通信システム、通信方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
樋口 晋也 SHINYA HIGUCHI: "こんな夜中にOpenFlowでネットワークをプログラミング!", SOFTWAREDESIGN 発刊251号, JPN6018002147, 2011, JP *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020522202A (ja) * 2017-05-31 2020-07-27 新華三技術有限公司New H3C Technologies Co., Ltd. レイヤ3通信実施
US11102115B2 (en) 2017-05-31 2021-08-24 New H3C Technologies Co., Ltd. Forwarding packet
US11108594B2 (en) 2017-05-31 2021-08-31 New H3C Technologies Co., Ltd. Implementing three-layer communication
JP6995886B2 (ja) 2017-05-31 2022-01-17 新華三技術有限公司 レイヤ3通信実施

Also Published As

Publication number Publication date
EP3073698A4 (en) 2016-11-23
WO2015085576A1 (zh) 2015-06-18
CN104937896B (zh) 2018-02-23
CN104937896A (zh) 2015-09-23
EP3073698A1 (en) 2016-09-28
US20160285820A1 (en) 2016-09-29
CN108183976A (zh) 2018-06-19

Similar Documents

Publication Publication Date Title
JP2017503405A (ja) アドレス解決プロトコルメッセージを処理するための方法、スイッチ及びコントローラ
EP3154227B1 (en) Packet transmission method, node, path management server and storage medium
JP6666051B2 (ja) データ伝送方法、デバイスおよびシステム
CN110999265B (zh) 管理云计算服务端点和虚拟机之间的网络连接性
RU2661768C2 (ru) Способ воплощения arp, устройство коммутатора и модуль управления
CN111049752B (zh) 多传输线路的负载均衡方法及装置
CN109617995B (zh) 对租户集群vpc内部容器的管理系统、方法及电子设备
WO2016062169A1 (zh) 一种报文传输方法及装置
CN106559302A (zh) 单播隧道建立方法、装置和系统
WO2019091088A1 (zh) 一种vxlan的配置方法、设备及系统
CN113364660B (zh) Lvs负载均衡中的数据包处理方法及装置
CN111371666B (zh) 一种处理报文的方法、设备及系统
CN108512755B (zh) 一种路由信息的学习方法及装置
JP7448597B2 (ja) メッセージ生成方法および装置ならびにメッセージ処理方法および装置
EP3032801B1 (en) Method and device for generating forwarding information
CN102946350B (zh) 一种基于优先级的数据传输方法和设备
US11817970B2 (en) Method, device, and system for determining generic routing encapsulation GRE tunnel identifier
EP3503484A1 (en) Message transmission method, device and network system
CN111654390B (zh) 一种数据传输方法、装置、终端设备和存储介质
CN112887185B (zh) 一种叠加网络的通信方法及装置
CN114915519A (zh) 通信方法和通信装置
CN108259292B (zh) 建立隧道的方法及装置
CN113765794B (zh) 数据发送的方法、装置、电子设备及介质
WO2023134350A1 (zh) 一种报文发送方法、报文接收方法、信息发送方法及装置
CN116132435B (zh) 一种容器云平台的双栈跨节点通信方法和系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160722

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180329

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20180329

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181005

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20181015

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20181130