(57)【要約】      （修正有）【課題】受信するパケットの出所を確かめることによりネットワークセキュリティを向上するシステム及び方法を提供する。【解決手段】方法において、、第１のパケット転送デバイスの各ポートを、固有のＭＡＣアドレスを割り当てる。第１のコンピューティングデバイスから受信した第１のパケットについて、第１のパケット転送デバイスは、第１のパケットの宛先ＭＡＣアドレスが、第１のパケットを受信したポートに割り当てられるＭＡＣアドレスと一致することを判断する。当該判断に応答して、第１のパケットを第２のコンピューティングデバイスに転送する。第２のコンピューティングデバイスから受信した第２のパケットについて、第１のパケット転送デバイスは、ＭＡＣアドレスが第２のパケットの送信元ＭＡＣアドレスと一致するポートを介して第２のパケットを転送する。【選択図】図３
2020099058.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
第１のコンピューティングデバイスと、
第２のコンピューティングデバイスと、
第１のパケット転送デバイスとを備え、前記第１のコンピューティングデバイスおよび前記第２のコンピューティングデバイスの各々は、前記第１のパケット転送デバイスのそれぞれのポートに通信可能に結合され、前記第１のコンピューティングデバイスから受信した第１のパケットについて、前記第１のパケット転送デバイスは、
前記第１のパケットの宛先ＭＡＣアドレスが、前記第１のパケットを受信した前記ポートに関連付けられていることを判断するように構成され、
前記第１のパケットの前記宛先ＭＡＣアドレスが、前記第１のパケットを受信した前記ポートに関連付けられていると判断したことに応答して、前記第１のパケットを前記第２のコンピューティングデバイスに転送するように構成され、
前記第２のコンピューティングデバイスから受信した第２のパケットについて、前記第１のパケット転送デバイスは、前記第２のパケットの送信元ＭＡＣアドレスに関連付けられた前記ポートを介して前記第２のパケットを転送するように構成される、システム。
【請求項２】
前記第１のパケット転送デバイスは、さらに、前記第２のパケットの前記送信元ＭＡＣアドレスが前記第１のパケット転送デバイスのいずれのポートにも関連付けられていないと判断したことに応答して、前記第２のパケットをドロップするように構成される、請求項１に記載のシステム。
【請求項３】
前記第１のコンピューティングデバイスから受信した第３のパケットについて、前記第１のパケット転送デバイスは、
前記第３のパケットがブロードキャストパケットおよびマルチキャストパケットのうちの１つであることを判断するように構成され、
前記第３のパケットの宛先ＭＡＣアドレスを、前記第３のパケットを受信した前記ポートに割り当てられるＭＡＣアドレスに変更するように構成され、
前記第３のパケットを前記第２のコンピューティングデバイスに転送するように構成される、請求項１に記載のシステム。
【請求項４】
前記第１のパケット転送デバイスの少なくとも１つのポートに割り当てられるＭＡＣアドレスは、前記第１のパケット転送デバイスのＩＰアドレスおよび前記少なくとも１つのポートを固有に識別する数字に基づく、請求項１に記載のシステム。
【請求項５】
前記第１のパケット転送デバイスの少なくとも１つのポートに割り当てられるＭＡＣアドレスは、前記第１のパケット転送デバイスの前記ＩＰアドレスおよび前記少なくとも１つのポートを固有に識別する前記数字を含む、請求項４に記載のシステム。
【請求項６】
前記第１のパケット転送デバイスは、さらに、
前記第１のコンピューティングデバイスから受信した第４のパケットの宛先ＭＡＣアドレスが、前記第４のパケットを受信した前記ポートに関連付けられていないことを判断し、前記第４のパケットの前記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないことを判断するように構成され、
前記第４のパケットの前記宛先ＭＡＣアドレスが、前記第４のパケットを受信した前記ポートに関連付けられていないと判断し、前記第４のパケットの前記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないと判断したことに応答して、前記第４のパケットをドロップするように構成される、請求項１に記載のシステム。
【請求項７】
複数のポートを含む第３のコンピューティングデバイスをさらに備え、前記第３のコンピューティングデバイスは、前記第１のパケット転送デバイスのそれぞれのポートに通信可能に結合され、前記第１のパケット転送デバイスは、さらに、
前記第３のコンピューティングデバイスから受信した第５のパケットの宛先ＭＡＣアドレスが前記第３のコンピューティングデバイスのデバイスＩＤに関連付けられていることを判断するように構成され、
第５のパケットの前記宛先ＭＡＣアドレスが前記第３のコンピューティングデバイスの前記デバイスＩＤに関連付けられていると判断したことに応答して、前記第５のパケットを前記第２のコンピューティングデバイスに転送するように構成される、請求項１に記載のシステム。
【請求項８】
前記第３のコンピューティングデバイスは、
前記第１のパケット転送デバイスから受信した第６のパケットの送信元ＭＡＣアドレスが、前記第３のコンピューティングデバイスが通信可能に結合される前記第１のパケット転送デバイスの前記ポートに関連付けられていることを判断するように構成され、
前記第６のパケットの前記送信元ＭＡＣアドレスに関連付けられた前記第３のコンピューティングデバイスの前記ポートを介して前記第６のパケットを転送するように構成される、請求項１に記載のシステム。
【請求項９】
前記第１のコンピューティングデバイスは、さらに、前記第２のコンピューティングデバイスに向かう各パケットが、前記第１のコンピューティングデバイスが通信可能に結合される前記第１のパケット転送デバイスの前記ポートに関連付けられた宛先ＭＡＣアドレスを有することを確実にするように構成される、請求項１に記載のシステム。
【請求項１０】
前記第２のコンピューティングデバイスは、さらに、前記第１のコンピューティングデバイスに向かう各パケットが、前記第１のコンピューティングデバイスが通信可能に結合される前記第１のパケット転送デバイスの前記ポートに関連付けられた送信元ＭＡＣアドレスを有することを確実にするように構成される、請求項１に記載のシステム。
【請求項１１】
パケットを処理する方法であって、
第１のパケット転送デバイスによって、第１のコンピューティングデバイスから第１のパケットを受信するステップと、
前記第１のパケット転送デバイスによって、前記第１のパケットの宛先ＭＡＣアドレスが、前記第１のパケットを受信したポートに関連付けられていることを判断するステップと、
前記第１のパケット転送デバイスによって、前記第１のパケットの前記宛先ＭＡＣアドレスが、前記第１のパケットを受信した前記ポートに関連付けられていると判断したことに応答して、前記第１のパケットを第２のコンピューティングデバイスに転送するステップと、
前記第２のコンピューティングデバイスによって、第２のパケットを前記第１のパケット転送デバイスに送信するステップと、
前記第１のパケット転送デバイスによって、前記第２のパケットの送信元ＭＡＣアドレスに関連付けられた前記ポートを介して前記第２のパケットを転送するステップとを備える、方法。
【請求項１２】
前記第１のパケット転送デバイスによって、前記第２のパケットの送信元ＭＡＣアドレスが前記第１のパケット転送デバイスのいずれのポートにも関連付けられていないことを判断するステップと、
前記第１のパケット転送デバイスによって、前記第２のパケットの前記送信元ＭＡＣア
ドレスが前記第１のパケット転送デバイスのいずれのポートにも関連付けられていないと判断したことに応答して、前記第２のパケットをドロップするステップとをさらに備える、請求項１１に記載の方法。
【請求項１３】
前記第１のパケット転送デバイスによって、前記第１のコンピューティングデバイスから第３のパケットを受信するステップと、
前記第１のパケット転送デバイスによって、前記第３のパケットがブロードキャストパケットおよびマルチキャストパケットのうちの１つであることを判断するステップと、
前記第１のパケット転送デバイスによって、前記第３のパケットの宛先ＭＡＣアドレスを、前記第３のパケットを受信した前記ポートに割り当てられるＭＡＣアドレスに変更するステップと、
前記第１のパケット転送デバイスによって、前記第３のパケットを前記第２のコンピューティングデバイスに転送するステップとをさらに備える、請求項１１に記載の方法。
【請求項１４】
前記第１のパケット転送デバイスの少なくとも１つのポートに割り当てられるＭＡＣアドレスは、前記第１のパケット転送デバイスのＩＰアドレスおよび前記少なくとも１つのポートを固有に識別する数字に基づく、請求項１１に記載の方法。
【請求項１５】
前記第１のパケット転送デバイスの少なくとも１つのポートに割り当てられるＭＡＣアドレスは、前記第１のパケット転送デバイスの前記ＩＰアドレスおよび前記少なくとも１つのポートを固有に識別する前記数字を含む、請求項１４に記載の方法。
【請求項１６】
前記第１のパケット転送デバイスによって、前記第１のコンピューティングデバイスから第４のパケットを受信するステップと、
前記第１のパケット転送デバイスによって、前記第４のパケットの宛先ＭＡＣアドレスが、前記第４のパケットを受信した前記ポートに関連付けられていないことを判断し、前記第４のパケットの前記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないことを判断するステップと、
前記第１のパケット転送デバイスによって、前記第４のパケットの前記宛先ＭＡＣアドレスが、前記第４のパケットを受信した前記ポートに関連付けられていないと判断し、前記第４のパケットの前記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないと判断したことに応答して、前記第４のパケットをドロップするステップとをさらに備える、請求項１１に記載の方法。
【請求項１７】
前記第１のパケット転送デバイスによって、第３のコンピューティングデバイスから第５のパケットを受信するステップをさらに備え、前記第３のコンピューティングデバイスは、複数のポートを含み、前記方法は、さらに、
前記第１のパケット転送デバイスによって、前記第３のコンピューティングデバイスから受信した前記第５のパケットの宛先ＭＡＣアドレスが前記第３のコンピューティングデバイスのデバイスＩＤに関連付けられていることを判断するステップと、
前記第１のパケット転送デバイスによって、第５のパケットの前記宛先ＭＡＣアドレスが前記第３のコンピューティングデバイスの前記デバイスＩＤに関連付けられていると判断したことに応答して、前記第５のパケットを前記第２のコンピューティングデバイスに転送するステップとを備える、請求項１１に記載の方法。
【請求項１８】
前記第１のパケット転送デバイスによって、第６のパケットを前記第３のコンピューティングデバイスに送信するステップと、
前記第３のコンピューティングデバイスによって、前記第１のパケット転送デバイスから受信した第６のパケットの送信元ＭＡＣアドレスが、前記第３のコンピューティングデバイスが通信可能に結合される前記第１のパケット転送デバイスの前記ポートに関連付け
られていることを判断するステップと、
前記第３のコンピューティングデバイスによって、前記第６のパケットの前記送信元ＭＡＣアドレスに関連付けられた前記第３のコンピューティングデバイスの前記ポートを介して前記パケットを転送するステップとをさらに備える、請求項１１に記載の方法。
【請求項１９】
前記第１のコンピューティングデバイスによって、前記第２のコンピューティングデバイスに向かう各パケットが、前記第１のコンピューティングデバイスが通信可能に結合される前記第１のパケット転送デバイスの前記ポートに関連付けられた宛先ＭＡＣアドレスを有することを確実にするステップをさらに備える、請求項１１に記載の方法。
【請求項２０】
前記第２のコンピューティングデバイスによって、前記第１のコンピューティングデバイスに向かう各パケットが、前記第１のコンピューティングデバイスが通信可能に結合される前記第１のパケット転送デバイスの前記ポートに関連付けられた送信元ＭＡＣアドレスを有することを確実にするステップをさらに備える、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、「コンピュータネットワークにおいてパケットを処理するためのシステムおよび方法（SYSTEMS AND METHODS FOR PROCESSING PACKETS IN A COMPUTER NETWORK）」と題される２０１５年９月１５日に出願された米国特許出願番号第１４／８５４，９３９号の優先権を主張し、米国特許出願番号第１４／８５４，９３９号の内容は、引用によって本明細書に援用される。
【背景技術】
【０００２】
背景
情報は、コンピュータネットワークを介して伝送される。情報は、パケットに分割されるビットとして表わされる。パケットは、スイッチおよびルータなどのネットワークデバイス間で受け渡され、コンピュータネットワーク中に情報を行き渡らせる。各パケットは、その送信元から、それぞれのパケット内のヘッダ情報によって指定される宛先の方に伝送される。パケットの送信元および宛先は、それぞれ、ネットワークの異なる部分にあってもよい。送信元と宛先との間には複数の想定されるルートがあってもよい。
【発明の概要】
【０００３】
概要
いくつかの局面において、本開示はシステムに関する。上記システムは、第１のコンピューティングデバイスと、第２のコンピューティングデバイスと、第１のパケット転送デバイスとを含み得る。上記第１のコンピューティングデバイスおよび上記第２のコンピューティングデバイスの各々は、上記第１のパケット転送デバイスのそれぞれのポートに通信可能に結合され得る。上記第１のコンピューティングデバイスから受信した第１のパケットについて、上記第１のパケット転送デバイスは、上記第１のパケットの宛先ＭＡＣアドレスが、上記第１のパケットを受信した上記ポートに関連付けられていることを判断するように構成され得る。また、上記第１のパケット転送デバイスは、上記第１のパケットの上記宛先ＭＡＣアドレスが、上記第１のパケットを受信した上記ポートに関連付けられていると判断したことに応答して、上記第１のパケットを上記第２のコンピューティングデバイスに転送するように構成され得る。上記第２のコンピューティングデバイスから受信した第２のパケットについて、上記第１のパケット転送デバイスは、上記第２のパケットの送信元ＭＡＣアドレスに関連付けられた上記ポートを介して上記第２のパケットを転送するように構成され得る。
【０００４】
いくつかの実現例において、上記第１のパケット転送デバイスは、さらに、上記第２のパケットの上記送信元ＭＡＣアドレスが上記第１のパケット転送デバイスのいずれのポートにも関連付けられていないと判断したことに応答して、上記第２のパケットをドロップするように構成される。いくつかの実現例において、上記第１のコンピューティングデバイスから受信した第３のパケットについて、上記第１のパケット転送デバイスは、上記第３のパケットがブロードキャストパケットおよびマルチキャストパケットのうちの１つであることを判断するように構成され、上記第３のパケットの宛先ＭＡＣアドレスを、上記第３のパケットを受信した上記ポートに割り当てられるＭＡＣアドレスに変更するように構成され、上記第３のパケットを上記第２のコンピューティングデバイスに転送するように構成される。
【０００５】
いくつかの実現例において、上記第１のパケット転送デバイスの少なくとも１つのポー
トに割り当てられるＭＡＣアドレスは、上記第１のパケット転送デバイスのＩＰアドレスおよび上記少なくとも１つのポートを固有に識別する数字に基づく。いくつかの実現例において、上記第１のパケット転送デバイスの少なくとも１つのポートに割り当てられるＭＡＣアドレスは、上記第１のパケット転送デバイスの上記ＩＰアドレスおよび上記少なくとも１つのポートを固有に識別する上記数字を含む。
【０００６】
いくつかの実現例において、上記第１のパケット転送デバイスは、さらに、上記第１のコンピューティングデバイスから受信した第４のパケットの宛先ＭＡＣアドレスが、上記第４のパケットを受信した上記ポートに関連付けられていないことを判断し、上記第４のパケットの上記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないことを判断するように構成され、上記第４のパケットの上記宛先ＭＡＣアドレスが、上記第４のパケットを受信した上記ポートに関連付けられていないと判断し、上記第４のパケットの上記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないと判断したことに応答して、上記第４のパケットをドロップするように構成される。
【０００７】
いくつかの実現例において、上記システムは、複数のポートを含む第３のコンピューティングデバイスを含み得る。上記第３のコンピューティングデバイスは、上記第１のパケット転送デバイスのそれぞれのポートに通信可能に結合され得る。上記第１のパケット転送デバイスは、さらに、上記第３のコンピューティングデバイスから受信した第５のパケットの宛先ＭＡＣアドレスが上記第３のコンピューティングデバイスのデバイスＩＤに関連付けられていることを判断するように構成され得る。また、上記第１のパケット転送デバイスは、さらに、第５のパケットの上記宛先ＭＡＣアドレスが上記第３のコンピューティングデバイスの上記デバイスＩＤに関連付けられていると判断したことに応答して、上記第５のパケットを上記第２のコンピューティングデバイスに転送するように構成され得る。
【０００８】
いくつかの実現例において、上記第３のコンピューティングデバイスは、上記第１のパケット転送デバイスから受信した第６のパケットの送信元ＭＡＣアドレスが、上記第３のコンピューティングデバイスが通信可能に結合される上記第１のパケット転送デバイスの上記ポートに関連付けられていることを判断するように構成され、上記第６のパケットの上記送信元ＭＡＣアドレスに関連付けられた上記第３のコンピューティングデバイスの上記ポートを介して上記第６のパケットを転送するように構成される。いくつかの実現例において、上記第１のコンピューティングデバイスは、さらに、上記第２のコンピューティングデバイスに向かう各パケットが、上記第１のコンピューティングデバイスが通信可能に結合される上記第１のパケット転送デバイスの上記ポートに関連付けられた宛先ＭＡＣアドレスを有することを確実にするように構成される。いくつかの実現例において、上記第２のコンピューティングデバイスは、さらに、上記第１のコンピューティングデバイスに向かう各パケットが、上記第１のコンピューティングデバイスが通信可能に結合される上記第１のパケット転送デバイスの上記ポートに関連付けられた送信元ＭＡＣアドレスを有することを確実にするように構成される。
【０００９】
いくつかの局面において、本開示はパケットを処理する方法に関する。上記方法は、第１のパケット転送デバイスによって、第１のコンピューティングデバイスから第１のパケットを受信するステップを含み得る。上記方法は、上記第１のパケット転送デバイスによって、上記第１のパケットの宛先ＭＡＣアドレスが、上記第１のパケットを受信したポートに関連付けられていることを判断するステップを含み得る。上記方法は、上記第１のパケット転送デバイスによって、上記第１のパケットの上記宛先ＭＡＣアドレスが、上記第１のパケットを受信した上記ポートに関連付けられていると判断したことに応答して、上記第１のパケットを第２のコンピューティングデバイスに転送するステップを含み得る。
上記方法は、上記第２のコンピューティングデバイスによって、第２のパケットを上記第１のパケット転送デバイスに送信するステップを含み得る。上記方法は、上記第１のパケット転送デバイスによって、上記第２のパケットの送信元ＭＡＣアドレスに関連付けられた上記ポートを介して上記第２のパケットを転送するステップを含み得る。
【００１０】
いくつかの実現例において、上記方法は、上記第１のパケット転送デバイスによって、上記第２のパケットの送信元ＭＡＣアドレスが上記第１のパケット転送デバイスのいずれのポートにも関連付けられていないことを判断するステップと、上記第１のパケット転送デバイスによって、上記第２のパケットの上記送信元ＭＡＣアドレスが上記第１のパケット転送デバイスのいずれのポートにも関連付けられていないと判断したことに応答して、上記第２のパケットをドロップするステップとを含み得る。
【００１１】
いくつかの実現例において、上記方法は、上記第１のパケット転送デバイスによって、上記第１のコンピューティングデバイスから第３のパケットを受信するステップを含み得る。上記方法は、上記第１のパケット転送デバイスによって、上記第３のパケットがブロードキャストパケットおよびマルチキャストパケットのうちの１つであることを判断するステップを含み得る。上記方法は、上記第１のパケット転送デバイスによって、上記第３のパケットの宛先ＭＡＣアドレスを、上記第３のパケットを受信した上記ポートに割り当てられるＭＡＣアドレスに変更するステップを含み得る。上記方法は、上記第１のパケット転送デバイスによって、上記第３のパケットを上記第２のコンピューティングデバイスに転送するステップを含み得る。
【００１２】
いくつかの実現例において、上記第１のパケット転送デバイスの少なくとも１つのポートに割り当てられるＭＡＣアドレスは、上記第１のパケット転送デバイスのＩＰアドレスおよび上記少なくとも１つのポートを固有に識別する数字に基づく。いくつかの実現例において、上記第１のパケット転送デバイスの少なくとも１つのポートに割り当てられるＭＡＣアドレスは、上記第１のパケット転送デバイスの上記ＩＰアドレスおよび上記少なくとも１つのポートを固有に識別する上記数字を含む。
【００１３】
いくつかの実現例において、上記方法は、上記第１のパケット転送デバイスによって、上記第１のコンピューティングデバイスから第４のパケットを受信するステップを含み得る。上記方法は、上記第１のパケット転送デバイスによって、上記第４のパケットの宛先ＭＡＣアドレスが、上記第４のパケットを受信した上記ポートに関連付けられていないことを判断し、上記第４のパケットの上記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないことを判断するステップを含み得る。上記方法は、上記第１のパケット転送デバイスによって、上記第４のパケットの上記宛先ＭＡＣアドレスが、上記第４のパケットを受信した上記ポートに関連付けられていないと判断し、上記第４のパケットの上記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないと判断したことに応答して、上記第４のパケットをドロップするステップを含み得る。
【００１４】
いくつかの実現例において、上記方法は、上記第１のパケット転送デバイスによって、第３のコンピューティングデバイスから第５のパケットを受信するステップを含み得る。上記第３のコンピューティングデバイスは、複数のポートを含み得る。上記方法は、上記第１のパケット転送デバイスによって、上記第３のコンピューティングデバイスから受信した上記第５のパケットの宛先ＭＡＣアドレスが上記第３のコンピューティングデバイスのデバイスＩＤに関連付けられていることを判断するステップを含み得る。上記方法は、上記第１のパケット転送デバイスによって、第５のパケットの上記宛先ＭＡＣアドレスが上記第３のコンピューティングデバイスの上記デバイスＩＤに関連付けられていると判断したことに応答して、上記第５のパケットを上記第２のコンピューティングデバイスに転
送するステップを含み得る。
【００１５】
いくつかの実現例において、上記方法は、上記第１のパケット転送デバイスによって、第６のパケットを上記第３のコンピューティングデバイスに送信するステップを含み得る。上記方法は、上記第３のコンピューティングデバイスによって、上記第１のパケット転送デバイスから受信した第６のパケットの送信元ＭＡＣアドレスが、上記第３のコンピューティングデバイスが通信可能に結合される上記第１のパケット転送デバイスの上記ポートに関連付けられていることを判断するステップを含み得る。上記方法は、上記第３のコンピューティングデバイスによって、上記第６のパケットの上記送信元ＭＡＣアドレスに関連付けられた上記第３のコンピューティングデバイスの上記ポートを介して上記パケットを転送するステップを含み得る。
【００１６】
いくつかの実現例において、上記方法は、上記第１のコンピューティングデバイスによって、上記第２のコンピューティングデバイスに向かう各パケットが、上記第１のコンピューティングデバイスが通信可能に結合される上記第１のパケット転送デバイスの上記ポートに関連付けられた宛先ＭＡＣアドレスを有することを確実にするステップを含み得る。いくつかの実現例において、上記方法は、上記第２のコンピューティングデバイスによって、上記第１のコンピューティングデバイスに向かう各パケットが、上記第１のコンピューティングデバイスが通信可能に結合される上記第１のパケット転送デバイスの上記ポートに関連付けられた送信元ＭＡＣアドレスを有することを確実にするステップを含み得る。
【００１７】
本開示の上記のおよび関連する目的、特徴および利点は、添付の図面と併せて以下の詳細な説明を参照することによって十分に理解されるであろう。
【図面の簡単な説明】
【００１８】
【図１Ａ】パケットを転送するための例示的なシステムのブロック図である。
【図１Ｂ】パケットを転送するための別の例示的なシステムのブロック図である。
【図２】図１Ａに示される例示的なパケット転送デバイスのブロック図である。
【図３】パケットを転送するための例示的なプロセスを示すフローチャートである。
【図４】パケットを転送するための別の例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【００１９】
明確にする目的で、全ての図面に全ての構成要素を記載しているとは限らない。図面は、一定の比率の縮尺で描かれるよう意図されてはいない。さまざまな図の中の同様の参照番号および符号は、同様の要素を示す。
【００２０】
詳細な説明
本開示のシステムおよび方法は、パケット処理に関する。特に、本開示には、ホストデバイスとルーティングデバイスとの間で送信されるパケットのポートレベルでの制御を提供することによってネットワークセキュリティを向上させることができるタイプのパケット転送デバイスについて記載されている。当該パケット転送デバイスは、複数の下流ポート（downward port）と単一の上流ポート（upward port）とを含み得て、上流のデバイスがホストデバイスから受信する各パケットの出所を確かめることができるように下流ポートと上流ポートとの間で全てのパケットを転送することができる。一般に、パケットの出所は、パケットの起点、および、パケットが上流のデバイスに向かう途中で通過するパケット転送デバイスの下流ポートの組を指し得る。また、上流のデバイスおよびパケット転送デバイスは、上流のデバイスによって伝送されたパケットを放出することになるパケット転送デバイスのポートの組を上流のデバイスが選択することができるように構成され得
る。
【００２１】
図１Ａは、パケットを転送するための例示的なシステム１００のブロック図である。システム１００は、複数のホストデバイス１０２ａ〜１０２ｈ（全体としてホストデバイス１０２と称する）と、３つのパケット転送デバイス１１０ａ〜１１０ｃ（全体としてパケット転送デバイス１１０と称する）と、ルーティングデバイス１２２とを含む。また、システム１００は、ルーティングデバイス１２２に接続されたネットワーク１２４を含む。いくつかの実現例では、ネットワーク１２４は、インターネットなどの大規模な外部コンピュータネットワークであってもよい。たとえば、ルーティングデバイス１２２は、ホストデバイス１０２へのインターネットアクセスを提供する企業ネットワークのゲートウェイデバイスであってもよい。いくつかの他の実現例では、ネットワーク１２４は、異なるコンピュータネットワークであってもよい。
【００２２】
パケット転送デバイス１１０ａは、３つの下流ポート１１４ａ〜１１４ｃと、１つの上流ポート１１８ａとを含む。同様に、パケット転送デバイス１１０ｂは、３つの下流ポート１１４ｄ〜１１４ｆと、１つの上流ポート１１８ｂとを含み、パケット転送デバイス１１０ｃは、３つの下流ポート１１４ｇ〜１１４ｉと、１つの上流ポート１１８ｃとを含む。下流ポート１１４ａ〜１１４ｉを全体として下流ポート１１４と称し、上流ポート１１８ａ〜１１８ｃを全体として上流ポート１１８と称する。「上流」ポートまたは「下流」ポートのいずれかとしてポートを表示することは、パケットがポートを通過している方向を指すものではない。それよりもむしろ、それは、システム１００の階層全体に対するポートの相対的位置を指す。したがって、上流ポート１１８は、ルーティングデバイス１２２に近接して位置決めされているのに対して、下流ポート１１４は、ホストデバイス１０２に近接して位置決めされている。
【００２３】
パケット転送デバイス１１０ａおよび１１０ｂは、それぞれの上流ポート１１８ａおよび１１８ｂを介してルーティングデバイス１２２に直接接続されている。パケット転送デバイス１１０ｃの上流ポート１１８ｃは、パケット転送デバイス１１０ｂの下流ポート１１４ｆに接続されている。したがって、パケット転送デバイス１１０ｂおよびパケット転送デバイス１１０ｃは、「カスケード接続」配置で接続されている。その結果、ルーティングデバイス１２２とパケット転送デバイス１１０ｃとの間を通過するパケットは、パケット転送デバイス１１０ｂも通過しなければならない。パケット転送デバイス１１０ｂの下流ポート１１４ｆは、ホストデバイス１０２ではなくカスケード接続されたパケット転送デバイス１１０ｃに接続されているので、カスケードポートと呼ぶことができる。パケット転送デバイス１１０ｂおよび１１０ｃのカスケード接続配置により、パケット転送デバイス１１０ｂのみで可能であるよりも多くのホストデバイス１０２をルーティングデバイス１２２に接続することが可能になり得る。なぜなら、パケット転送デバイス１１０ｃが、各々がさらなるホストデバイス１０２に接続され得るさらなる下流ポート１１４を提供するからである。いくつかの実現例では、システム１００は、３つ以上のレベルのカスケード接続されたパケット転送デバイス１１０を含み得る。たとえば、システム１００は、３つ、４つ、５つまたはそれ以上のレベルのカスケード接続されたパケット転送デバイス１１０を含んでいてもよい。
【００２４】
いくつかの実現例では、下流ポート１１４ｆは、専用のカスケードポート（すなわち、パケット転送デバイス１１０ｃなどのカスケード接続されたパケット転送デバイス１１０のみに接続されるべきであり、ホストデバイス１０２に直接接続されるべきでないポート）であり得る。いくつかの他の実現例では、パケット転送デバイス１１０ｂの下流ポート１１４のうちのいずれかがカスケードポートとして構成されてもよく、カスケードポートとして機能するように下流ポート１１４ｆを選択することは任意であり得る。たとえば、パケット転送デバイス１１０ｂは、その下流ポート１１４のうちのどれがカスケードポー
トであるかを示すテーブルを保持してもよい。パケット転送デバイス１１０が下流ポート１１４に結合されると、カスケード接続されたパケット転送デバイス１１０が接続される下流ポート１１４がカスケードポートであることを示すように当該テーブルが更新され得る。以下でさらに説明するように、カスケードポートとして機能する下流ポート１１４に対応する情報を保持することは、ルーティングデバイス１２２から受信されるパケットの処理に役立ち得る。
【００２５】
各ホストデバイス１０２は、パケット転送デバイス１１０のうちの１つのそれぞれの下流ポート１１４に接続されている。各パケット転送デバイス１１０は３つの下流ポート１１４を含むものとして示されているが、この構成は例示に過ぎないということが理解されるべきである。他の実現例では、各パケット転送デバイス１１０は、より多くの下流ポート１１４を含んでいてもよい。たとえば、いくつかの実現例では、各パケット転送デバイス１１０は、１６個、３２個、６４個または１２８個の下流ポート１１４を含んでいてもよい。いくつかの実現例では、各パケット転送デバイス１１０は、２５５個までの下流ポート１１４を含んでいてもよい。
【００２６】
パケット転送デバイス１１０は、着信パケットがどの下流ポート１１４からやって来たかをルーティングデバイス１２２が確かめることができるようにルーティングデバイス１２２とホストデバイス１０２との間のネットワークトラフィックのポートレベルでの制御を提供するように構成され得る。これにより、ルーティングデバイス１２２はパケットの送信元を追跡することが可能になり得て、システム１００におけるセキュリティを向上させることができる。たとえば、ルーティングデバイス１２２が悪意のあるペイロードを含むパケットを受信すると、悪意のあるパケットを送信したホストデバイス１０２を識別することができる。ホストデバイス１０２を識別することにより、当該ホストデバイス１０２をシステム１００から取り除くまたはホストデバイス１０２を修理するなどの修正措置を取ることが可能になり得る。また、パケット転送デバイス１１０は、どの下流ポート１１４が発信パケットを放出することになるかをルーティングデバイス１２２が選択することを可能にするように構成され得る。いくつかの実現例では、これにより、ルーティングデバイス１２２はシステム１００内の負荷分散を実現することが可能になり得る。
【００２７】
ルーティングデバイス１２２が着信パケットの出所を確認して各発信パケットを放出することになる下流ポート１１４を選択することを可能にするために、パケット転送デバイス１１０の各下流ポート１１４は、１つ以上のＭＡＣアドレスに関連付けられ得る。たとえば、ホストデバイス１０２に直接接続される各下流ポート１１４は、当該下流ポート１１４に割り当てられた固有のＭＡＣアドレスに関連付けられてもよい。下流ポート１１４に割り当てられるＭＡＣアドレスは、同一のパケット転送デバイス１１０上の他の下流ポート１１４のＭＡＣアドレスに対してだけではなく、他のパケット転送デバイス１１０の下流ポート１１４に対しても固有であり得る。各ホストデバイス１０２は、ホストデバイス１０２が接続されるそれぞれの下流ポート１１４と一致する宛先ＭＡＣアドレスを有するパケット転送デバイス１１０の方に向けられるパケットをアドレス指定するように構成され得る。パケット転送デバイス１１０ａとは対照的に、スイッチなどの一般的なネットワークノードは、概して単一のＭＡＣアドレスを有し、ホストデバイスは、ホストデバイスがどのポートに接続されるかに関わらず、同一の宛先ＭＡＣアドレスを有するノードに向けられるパケットをアドレス指定する。システム１００内の各ホストデバイス１０２はそれぞれの下流ポート１１４に接続され、ホストデバイス１０２に直接接続された各下流ポート１１４は固有のＭＡＣアドレスを割り当てられるので、パケット転送デバイス１１０を介してルーティングデバイス１２２に到達するパケットは、当該パケットのヘッダに含まれる宛先情報に基づいて、特定のホストデバイス１０２から発生したと判断することができる。
【００２８】
いくつかの実現例では、パケット転送デバイス１１０の下流ポート１１４に割り当てられるＭＡＣアドレスは、パケット転送デバイス１１０を他のパケット転送デバイス１１０から固有に識別する情報、および、下流ポート１１４を当該パケット転送デバイス１１０上の他の下流ポート１１４から固有に識別する情報に基づき得る。たとえば、いくつかの実現例では、各パケット転送デバイス１１０を固有に識別する情報（デバイスＩＤと称することもある）は、パケット転送デバイス１１０に関連付けられるＩＰｖ４アドレスであってもよい。いくつかの他の実現例では、他の識別情報を使用して、各パケット転送デバイス１１０を区別してもよい。たとえば、パケット転送デバイス１１０は、シリアル番号などの値によって、または各パケット転送デバイス１００に関連付けられるＭＡＣアドレスなどの別のハードウェアアドレスによって、互いに区別されてもよい。いくつかの実現例では、各パケット転送デバイス１１０上の下流ポート１１４を固有に識別する情報は、所与のパケット転送デバイス１１０上の各下流ポート１１４に固有であるが、異なるパケット転送デバイス１１０の下流ポート１１４に割り当てられる数字と比べて固有でないかもしれない任意の数字であり得る。たとえば、下流ポート１１４は、１からパケット転送デバイス１００上のポートの個数までの整数によって固有に識別されてもよい。いくつかの実現例では、各ポートは、１から２５５までの整数を割り当てられてもよい。
【００２９】
いくつかの実現例では、下流ポート１１４をシステム１００内の他の全ての下流ポート１１４から固有に識別する情報一式（すなわち、パケット転送デバイス１１０を他のパケット転送デバイス１１０から固有に識別する情報＋下流ポート１１４を当該パケット転送デバイス１１０上の他の下流ポート１１４から固有に識別する情報）は、ホストデバイス１０２に直接接続される各下流ポート１１４に割り当てられるＭＡＣアドレスの形態をとり得る。この情報一式はシステム１００内の各下流ポート１１４に固有であるので、このようなＭＡＣアドレスもシステム１００内で固有であることができる。たとえば、いくつかの実現例では、下流ポート１１４に割り当てられるＭＡＣアドレスは、当該下流ポート１１４が位置するパケット転送デバイス１１０に割り当てられるＩＰアドレス、および、下流ポート１１４を当該パケット転送デバイス１１０上の他の下流ポートの中から固有に識別する数字に基づき得る。
【００３０】
いくつかの実現例では、下流ポート１１４に割り当てられるＭＡＣアドレスは、当該下流ポート１１４が位置するパケット転送デバイス１１０に割り当てられるＩＰアドレスと、下流ポート１１４を当該パケット転送デバイス１１０上の他の下流ポート１１４の中から固有に識別する数字とを含み得る。一般に、ＭＡＣアドレスは、１２個の１６進数字の列として表わすことができる４８ビットの数字である。いくつかの実現例では、ＭＡＣアドレスの最初の２個の１６進数字は、特定の値に限定され得る。下流ポート１１４に割り当てられるＭＡＣアドレスは、最初の２個の１６進数字のいずれかの有効値を含み得る。たとえば、下流ポート１１４に割り当てられるＭＡＣアドレスの最初の２個の１６進数字の有効値は、０２または０Ｅを含んでいてもよい。下流ポート１１４に割り当てられるＭＡＣアドレスの次の８個の１６進数字は、下流ポート１１４が位置するパケット転送デバイス１１０のＩＰｖ４アドレスに対応し得て、最後の２個の１６進数字は、１からパケット転送デバイス１１０によってサポートされる下流ポート１１４の個数までの数字であり得る。この例では、特定のパケット転送デバイス１１０の下流ポート１１４に割り当てられるＭＡＣアドレスの最初の１０個の１６進数字は、同一であり、当該パケット転送デバイス１１０の全ての下流ポート１１４について共通のプレフィックスとして機能し得る。最後の２個の１６進数字は、当該パケット転送デバイス１１０の各下流ポート１１４で異なっている。
【００３１】
いくつかの実現例では、（パケット転送デバイス１１０ｃに接続される下流ポート１１４ｆなどの）ホストデバイス１０２に直接接続されるのではなくカスケード接続の態様で他のパケット転送デバイス１１０に接続される下流ポート１１４は、それぞれのＭＡＣア
ドレスを割り当てられることができない。その代わりに、このような下流ポート１１４は、それらが接続されるカスケード接続されたパケット転送デバイス１１０の下流ポート１１４のＭＡＣアドレスに関連付けられ得る。たとえば、下流ポート１１４ｆは、それ自体のＭＡＣアドレスを割り当てられるのではなく、カスケード接続されたパケット転送デバイス１１０ｃの下流ポート１１４ｇ〜１１４ｉのＭＡＣアドレスに関連付けられてもよい。いくつかの実現例では、下流ポート１１４は、パケット転送デバイス１１０のマルチレベルカスケードにおける全ての下流ポート１１４のＭＡＣアドレスに関連付けられ得る。したがって、一般に、所与の下流ポート１１４は、１つ以上のＭＡＣアドレスに関連付けられることができ、当該１つ以上のＭＡＣアドレスは、当該下流ポート１１４に割り当てられる固有のＭＡＣアドレスと、当該下流ポート１１４に接続されるカスケード接続されたパケット転送デバイス１１０上の下流ポート１１４のＭＡＣアドレスとを含み得る。
【００３２】
いくつかの実現例では、パケット転送デバイス１１０は、ルーティングデバイス１２２などの上流のデバイスが、ホストデバイス１０２から上流のデバイスに伝送される各パケットの出所を判断することができるように選択された一連のルールに従ってパケットを処理し得る。これらのルールは、一部にはパケットを伝送する下流ポート１１４に関連付けられるＭＡＣアドレスに基づき得て、これらのルールについては以下でさらに説明する。
【００３３】
いくつかの実現例では、パケット転送デバイス１１０は、ルーティングデバイス１２２から伝送されたパケットを放出することになる下流ポート１１４をルーティングデバイス１２２が選択することができるように構成され得る。たとえば、ルーティングデバイス１２２は、ホストデバイス１０２ａに向かうパケットを生成し、当該生成されたパケットの送信元ＭＡＣアドレスが、ホストデバイス１０２ａが接続される下流ポート（すなわち、下流ポート１１４ａ）に割り当てられるＭＡＣアドレスと一致するように構成され得る。パケット転送デバイス１１０ａは、ルーティングデバイス１２２から受信したパケットの送信元ＭＡＣアドレスが、下流ポート１１４ａに割り当てられるＭＡＣアドレスに関連付けられている（たとえば、一致する）ことを判断するように構成され得て、当該判断に応答して下流ポート１１４ａを介してパケットを転送し得る。ルーティングデバイス１２２から受信したパケットの送信元ＭＡＣアドレスが下流ポート１１４ａ〜１１４ｃのいずれにも関連付けられていないとパケット転送デバイス１１０ａが判断すると、パケット転送デバイス１１０ａは、パケットをドロップするように構成され得る。したがって、この例では、パケット転送デバイス１１０ａは、パケットの送信元ＭＡＣアドレスに基づいてパケットを転送し、送信元ＭＡＣアドレスが下流ポート１１４ａ〜１１４ｃのいずれにも関連付けられていないパケットをドロップする。これは、ルーティングデバイス１２２のアドレスおよびホストデバイス１０２のうちの１つの宛先ＭＡＣアドレスと一致するように偽造された送信元ＭＡＣアドレスを有するパケットを作成するデバイスによる攻撃を防止することに役立ち得る。当該送信元ＭＡＣアドレスは、パケット転送デバイス１１０の下流ポート１１４のうちのいずれかに関連付けられているＭＡＣアドレスではないので、このようなパケットはドロップされる。
【００３４】
図１Ｂは、パケットを転送するための別の例示的なシステム１０１のブロック図である。図１に示されるシステム１００と同様に、システム１０１は、ネットワーク１２４に接続されたルーティングデバイス１２２を含む。また、システム１０１は、３つのホストデバイス１０２ｉ〜１０２ｋ（全体としてホストデバイス１０２と称する）と、２つのパケット転送デバイス１１０ｄおよび１１０ｅ（全体としてパケット転送デバイス１１０と称する）とを含む。パケット転送デバイス１１０ｄおよび１１０ｅは、図１に示されるパケット転送デバイス１１０ａ〜１１０ｃと同様であり、ホストデバイス１０２ｉ〜１０２ｋは、図１に示されるホストデバイス１０２と同様である。たとえば、パケット転送デバイス１１０ｄは、３つの下流ポート１１４ｊ〜１１４ｌと、１つの上流ポート１１８ｄとを含み、パケット転送デバイス１１０ｅは、３つの下流ポート１１４ｍ〜１１４ｏと、１つ
の上流ポート１１８ｅとを含む。下流ポート１１４ｊ〜１１４Ｏを全体として下流ポート１１４と称し、上流ポート１１８ｄおよび１１８ｅを全体として上流ポート１１８と称する。
【００３５】
パケット転送デバイス１１０ｄおよび１１０ｅは、それらのそれぞれの上流ポート１１８ｄおよび１１８ｅを介してルーティングデバイス１２２に直接接続される。システム１０１では各ホストデバイス１０２とルーティングデバイス１２２との間に複数の経路があるという点で、システム１０１は図１に示されるシステム１００とは異なっている。たとえば、ホストデバイス１０２ｉには下流ポート１１４ｊまたは下流ポート１１４ｋを介して到達することができ、ホストデバイス１０２ｊには下流ポート１１４ｌまたは下流ポート１１４ｍを介して到達することができ、ホストデバイス１０２ｋには下流ポート１１４ｎまたは下流ポート１１４ｏを介して到達することができる。図１Ａに関連付けて上記したように、ホストデバイス１０２に直接接続される各下流ポート１１４には、固有のＭＡＣアドレスが割り当てられる。
【００３６】
下流ポート１１４に割り当てられる固有のＭＡＣアドレスにより、ルーティングデバイス１２２は、各ホストデバイス１０２への特定の経路を選択することが可能になり得る。たとえば、上記のように、ルーティングデバイス１２２は、送信元ＭＡＣアドレスが、パケットを放出することになる下流ポート１１４のＭＡＣアドレスと一致するパケットを生成するように構成され得る。したがって、ルーティングデバイス１２２は、パケットの送信元ＭＡＣアドレスを、所望のルートに沿って位置する下流ポート１１４のＭＡＣアドレスに設定することによって、パケットの特定のルートを選択することができる。
【００３７】
いくつかの実現例では、ルーティングデバイス１２２は、負荷分散スキームに基づいてルートを選択し得る。たとえば、ルーティングデバイス１２２は、対応するパケットの送信元ＭＡＣアドレスフィールドにおいて所望のポートの識別子を指定することによって、パケット転送デバイス１１０ｄを介して、下流ポート１１４ｊまたは下流ポート１１４ｋのいずれかを経てホストデバイス１０２ｉにパケットまたはパケットのフローを選択的にルーティングしてもよい。そうすることにより、下流ポート１１４ｊおよび１１４ｋのいずれかが混雑することを防止することに役立ち得る。上記の機能は、アグリゲーションノードとさまざまなサーバラックとの間に複数のルートを提供するより複雑なスイッチファブリック（たとえば、データセンタネットワーク）を有する階層型ネットワークにおいて特に有益であり得る。
【００３８】
システム１０１のトポロジは例示に過ぎないということが理解されるべきである。たとえば、いくつかの実現例では、システム１０１は、さらなるパケット転送デバイス１１０を含んでいてもよく、そのうちのいくつかは、カスケード接続の態様で配置されてもよい。また、各ホストデバイス１０２は、３つ以上の下流ポート１１４に接続されてもよく、または単一の下流ポート１１４のみに接続されてもよい。
【００３９】
図１Ａに示されるシステム１００および図１Ｂに示されるシステム１０１における各パケット転送デバイス１１０は、一般に、他のデバイス（たとえば、他のパケット転送デバイス１１０）と通信することができるいずれかのタイプのデバイスを含み得る。たとえば、各パケット転送デバイス１１０は、コンピュータ、ルータ、スイッチ、サーバ、またはこれらの要素のいずれかの組み合わせであってもよい。同様に、ホストデバイス１０２およびルーティングデバイス１２２も、コンピュータ、ルータ、スイッチ、サーバ、またはこれらの要素のいずれかの組み合わせであってもよい。パケット転送デバイス１１０、ホストデバイス１０２およびルーティングデバイス１２２の各々は、少なくとも１つのプロセッサと、メモリと、ネットワークインターフェイスカードとを含み得る。いくつかの実現例では、ネットワーク１２４は、インターネットであってもよく、システム１００は、
インターネットに接続されたデータセンタであってもよい。たとえば、ホストデバイス１０２は、データセンタによって提供されるデータを格納し、パケット転送デバイス１１０およびルーティングデバイス１２２を介してデータの要求を受信して応答するように構成され得る。一般に、データセンタは、リアルタイムのコンテンツ配信に関連付けられるトラフィックを含む幅広いコンピュータネットワークトラフィック、パーソナルコンピュータまたはモバイルコンピュータのユーザによってアクセスされるクラウドコンピューティングサービス、データストレージ、データ索引化、データバックアップ、大量データ転送およびデータアクセスをサポートし得る。いくつかの他の実現例では、システム１００は、インターネットまたは別の外部ネットワークに接続される企業ネットワークに相当し得る。
【００４０】
図２は、図１Ａに示される例示的なパケット転送デバイス１１０ｂのブロック図である。上記のように、パケット転送デバイス１１０ｂは、下流ポート１１４ｄ〜１１４ｆ（全体として下流ポート１１４と称する）と、上流ポート１１８ｂとを含む。また、パケット転送デバイス１１０ｂは、ＭＡＣアドレス通知モジュール２０１と、ヘッダ変更モジュール２０４と、パケット転送モジュール２０６と、メモリ２０８とを含む。
【００４１】
いくつかの実現例では、ＭＡＣアドレス通知モジュール２０１は、ホストデバイスに直接接続される下流ポート１１４の固有のＭＡＣアドレスを示す情報を、下流ポート１１４に接続された各デバイスに送信するように構成され得る。たとえば、ＭＡＣアドレス通知モジュール２０１は、下流ポート１１４ｄおよび１１４ｅに関連付けられるＭＡＣアドレスを、それらのポートに接続されたデバイスにそれぞれ送信してもよい。
【００４２】
いくつかの実現例では、ＭＡＣアドレス通知モジュール２０１は、下流ポート１１４に接続されたデバイスから要求を受信したことに応答して、適切なＭＡＣアドレスをそれぞれの下流ポート１１４に送信するように構成され得る。たとえば、ＭＡＣアドレス通知モジュール２０１は、接続されたホストデバイスから受信したアドレス解決プロトコル（address resolution protocol：ＡＲＰ）に応答するように構成され得る。たとえば、下流
ポート１１４ｄに接続されたデバイスは、ＡＲＰ要求をパケット転送デバイス１１０ｂに送信し得る。ＭＡＣアドレス通知モジュール２０１は、下流ポート１１４ｄのＭＡＣアドレスに対応する情報を、下流ポート１１４ｄに接続されたデバイスに送信することによって、ＡＲＰ要求に応答し得る。ＡＲＰ要求は、下流ポート１１４ｅに接続されたデバイスから受信され、処理され得る。したがって、パケット転送デバイス１１０ｂの異なる下流ポート１１４に接続されたデバイスは、ＡＲＰ要求に対する異なる応答を受信し得る。対照的に、一般的なネットワークデバイスは、ＡＲＰ要求を起動するデバイスが接続されるポートにかかわらず、単一のアドレスを有するＡＲＰ要求に応答するように構成される。ＭＡＣアドレス通知モジュール２０１は、さらに、その上流ポート１１８ｂを介してその下流ポート１１４のＭＡＣアドレスを通知するように構成され得る。上記のように、図１Ａに示されるようにホストデバイス１０２ではなく別のパケット転送デバイス１１０ｃに接続された下流ポート１１４ｆは、ＭＡＣアドレスを割り当てられるのではなく、図１Ａに示されるパケット転送デバイス１１０ｃの下流ポート１１４などの、カスケード接続の態様でパケット転送デバイス１１０ｂに結合された他のパケット転送デバイスの下流ポート１１４のＭＡＣアドレスに関連付けられ得る。したがって、ＭＡＣアドレス通知モジュールは、その上流ポート１１８ｂを介してこれらのポートのＭＡＣアドレスを通知するようにも構成され得る。
【００４３】
パケット転送モジュール２０６は、図３および図４に関連付けて以下で説明する一連のルールに基づいてパケットを転送するように構成され得る。たとえば、下流ポート１１４を介してホストデバイスからパケットを直接受信する場合、パケット転送モジュール２０６は、受信したの宛先ＭＡＣアドレスが、パケットを受信した下流ポート１１４に関連付
けられているか否かを判断するように構成され得る。いくつかの実現例では、各下流ポート１１４に関連付けられるＭＡＣアドレスは、メモリ２０８に格納され得る。パケット転送モジュール２０６は、メモリ２０８から当該情報を検索し得て、下流ポート１１４を介して受信したパケットの宛先ＭＡＣアドレスと当該情報とを比較して、上流ポート１１８を介してパケットを転送するか否かを判断し得る。
【００４４】
ヘッダ変更モジュール２０４は、パケット転送デバイス１１０ｂによって受信したパケットのヘッダ内に含まれる情報を変更するように構成され得る。いくつかの実現例では、図１Ａに示されるルーティングデバイス１２２などの上流のデバイスが、下流（たとえば、パケットが通過したパケット転送デバイス１１０の下流ポート１１４の組）からやって来るパケットの出所を判断することを可能にするために、パケットヘッダ情報を変更する必要があるであろう。たとえば、いくつかの実現例では、ホストデバイスは、パケットをブロードキャストまたはマルチキャストパケットとして識別する宛先ＭＡＣアドレスを有するパケットを送信してもよい。しかし、当該パケットがパケット転送デバイス１１０ｂを通過した後に元のままでルーティングデバイスによって受信されると、ルーティングデバイスにはパケットが通過した下流ポート１１４を判断するすべがない。この問題に対処するために、ヘッダ変更モジュール２０４は、下流ポート１１４のうちの１つから受信したパケットがブロードキャストまたはマルチキャストパケットであるかを判断し、そうであればパケットのヘッダを変更するように構成され得る。パケットのヘッダは、パケットを受信した下流ポート１１４に割り当てられる宛先ＭＡＣアドレスと一致する宛先ＭＡＣアドレスを含むように変更され得て、それにより、ルーティングデバイスは、パケットの宛先ＭＡＣアドレスフィールドを調べることによってパケットの出所を判断することができる。
【００４５】
いくつかの実現例では、パケット転送モジュール２０６は、受信したパケットの宛先ＭＡＣアドレスを判断し、当該宛先ＭＡＣアドレスを、ブロードキャストおよびマルチキャストパケットに関連付けられる宛先ＭＡＣアドレスのリストと比較するように構成され得る。たとえば、このようなリストは、メモリ２０８に保持され得る。受信したパケットがブロードキャストまたはマルチキャストパケットである場合、パケット転送モジュール２０６は、パケットをヘッダ変更モジュール２０４に送信し得て、当該ヘッダ変更モジュール２０４は、パケットを受信した下流ポート１１４に割り当てられるＭＡＣアドレスと一致するように、パケットのヘッダ内に含まれる宛先フィールドを変更するように構成され得る。パケット転送モジュール２０６は、変更されたパケットをルーティングデバイスに送信し得る。変更されたパケットがルーティングデバイスによって受信されると、ルーティングデバイスは、受信したパケットの宛先フィールドを調べることによって、パケットが通過した下流ポート１１４を判断し得る。
【００４６】
いくつかの実現例では、パケット転送モジュール２０６は、カスケード接続された下流ポート１１４を介して受信したパケットを転送するか否かを判断し得る。たとえば、パケット転送デバイス１１０ｂは、パケット転送デバイス１１０ｂの下流ポート１１４ｄ〜１１４ｆと１つ以上のホストデバイス１０２との間に位置決めされる全てのカスケード接続されたパケット転送デバイス１１０の下流ポート１１４に関連付けられるＭＡＣアドレスのリストを格納してもよい。このようなリストは、たとえばメモリ２０８に格納され得る。パケット転送モジュール２０６は、下流ポート１１４を介して受信したパケットの宛先ＭＡＣアドレスと、リストに格納されたＭＡＣアドレスとを比較するように構成され得る。一致が判断されると、パケット転送モジュール２０６は、上流ポート１１８ｂを介してパケットを転送し得る。一致が判断されなければ、パケットはドロップされ得る。いくつかの他の実現例では、パケット転送デバイス１１０ｂは、パケット転送デバイス１１０ｂの下流ポート１１４ｄ〜１１４ｆと１つ以上のホストデバイス１０２との間に位置決めされる全てのカスケード接続されたパケット転送デバイス１１０の下流ポート１１４に関連
付けられるＭＡＣアドレスの共通のプレフィックスのリストを格納し得る。上記のように、共通のプレフィックスは、パケット転送デバイス１１０の全ての下流ポート１１４にわたって同一であるＭＡＣアドレスの部分（すなわち、最初の１０個の１６進数字）であり得る。したがって、パケット転送モジュール２０６は、受信したパケットの宛先ＭＡＣアドレス全体とカスケード接続されたパケット転送デバイス１１０のうちのいずれかの下流ポート１１４に関連付けられる固有のＭＡＣアドレスとの一致を判断するのではなく、受信したパケットの宛先ＭＡＣアドレスのプレフィックスとカスケード接続されたパケット転送デバイス１１０の共通のプレフィックスとの一致を判断することによって、カスケード接続された下流ポート１１４を介して受信したパケットを転送するか否かをより効率的に判断することができる。
【００４７】
いくつかの実現例では、パケット転送モジュール２０６は、図１Ａに示されるルーティングデバイス１２２または別のパケット転送デバイス１１０などの上流のデバイスから下流ポート１１４を介して直接受信したパケットを転送するように構成され得る。たとえば、パケット転送モジュール２０６は、受信したパケットの送信元ＭＡＣアドレスがいずれかの下流ポート１１４に関連付けられているか否かを判断するように構成され得る。いくつかの実現例では、各下流ポート１１４に関連付けられるＭＡＣアドレスは、メモリ２０８に格納され得る。パケット転送モジュール２０６は、当該情報をメモリ２０８から検索し得て、上流ポート１１８を介して受信したパケットの送信元ＭＡＣアドレスと当該情報とを比較し得る。一致が判断されると、パケット転送モジュール２０６は、受信したパケットの送信元ＭＡＣアドレスに関連付けられる下流ポート１１４を介して、受信したパケットを転送するように構成され得る。たとえば、下流ポート１１４のＭＡＣアドレスが、受信したパケットの送信元ＭＡＣアドレスと一致する場合、または、ＭＡＣアドレスが受信したパケットの送信元ＭＡＣアドレスと一致する下流ポートを有する別のパケット転送デバイス１１０に下流ポート１１４が接続される場合に、関連付けがなされてもよい。したがって、上流のデバイスからパケットを受信する場合、パケット転送モジュール２０６は、受信したパケットの送信元アドレスとカスケード接続された下流ポート１１４に関連付けられるＭＡＣアドレスとの一致を判断したことに応答して、適切な下流ポート１１４を介してパケットを転送し得る。いくつかの実現例では、下流ポート１１４は、ＭＡＣアドレスが受信したパケットの送信元ＭＡＣアドレスと一致する下流ポートを有する別のパケット転送デバイス１００に接続されるカスケード接続された下流ポート１１４であり得る。一致が判断されなければ、パケット転送モジュール２０６は、パケットをドロップするように構成され得る。
【００４８】
いくつかの他の実現例では、パケット転送モジュール２０６は、パケットの送信元ｍＡＣアドレスが、パケット転送デバイス１１０ｂの下流ポート１１４ｄ〜１１４ｆと１つ以上のホストデバイス１０２との間に位置決めされる全てのカスケード接続されたパケット転送デバイスの下流ポート１１４に関連付けられる送信元ＭＡＣアドレスと一致することを判断することなく、パケットの送信元ＭＡＣアドレスが、ホストデバイスに直接接続された下流ポート１１４のうちのいずれかに割り当てられるＭＡＣアドレスと一致しないと判断したことに応答して、カスケード接続されたパケット転送デバイス１１０にパケットを転送し得る。パケットがカスケード接続における最後のパケット転送デバイス１１０に到達すると、当該パケット転送デバイスは、パケットの送信元ＭＡＣアドレスのそれ自体の調査に基づいて、パケットをドロップするかパケットを転送するかを判断し得る。
【００４９】
いくつかの実現例では、ＭＡＣアドレス通知モジュール２０１、ヘッダ変更モジュール２０４およびパケット転送モジュール２０６の各々は、フィールドプログラマブルゲートアレイ（field programmable gate array：ＦＰＧＡ）または特定用途向け集積回路（application-specific integrated circuit：ＡＳＩＣ）などの特殊目的論理回路として実現されてもよい。他の実現例では、ＭＡＣアドレス通知モジュール２０１、ヘッダ変更モジ
ュール２０４およびパケット転送モジュール２０６は、コンピュータ読取可能な媒体に格納されて１つ以上の汎用プロセッサ上で実行される１つ以上のソフトウェアモジュールとして実現されてもよい。いくつかの実現例では、ＭＡＣアドレス通知モジュール２０１、ヘッダ変更モジュール２０４およびパケット転送モジュール２０６のうちのいくつかまたは全ての機能は、単一のモジュールに結合されてもよく、またはより小さなモジュールにさらに細分されてもよい。パケット転送デバイス１１０ｂは、ネットワークインターフェイスカード、さらなるメモリモジュールおよび入出力デバイスなどの図２に図示されていない他の通信ハードウェアも含んでいてもよい。
【００５０】
図１Ａおよび図１Ｂに示されるシステム１００に含まれるパケット転送デバイス１１０のうちのいずれも、パケット転送デバイス１１０ｂに関連付けて上記したモジュールと同様のモジュールを含み得る、ということが理解されるべきである。たとえば、パケット転送デバイス１１０ａおよびパケット転送デバイス１１０ｄの各々は、それぞれのＭＡＣアドレス通知モジュール２０１と、それぞれのヘッダ変更モジュール２０４と、それぞれのパケット転送モジュール２０６と、それぞれのメモリ２０８とを含んでいてもよい。他のパケット転送デバイス１１０に含まれるモジュールは、パケット転送デバイス１１０ｂのモジュールに関連付けて上記した態様と同様の態様で動作し得る。
【００５１】
図３は、パケットを転送するための例示的なプロセス３００を示すフローチャートである。いくつかの実現例では、図１Ａおよび図１Ｂに示されるホストデバイス１０２のうちのいずれかなどのコンピューティングデバイスから、図１Ａおよび図１Ｂに示されるパケット転送デバイス１１０などのパケット転送デバイスによって受信したパケットを処理するためのプロセス３００が使用され得る。大まかにいうと、プロセス３００は、パケット転送デバイスによって、第１のコンピューティングデバイスからパケットを受信すること（段階３０２）を含む。プロセス３００は、受信したパケットがブロードキャストパケットおよびマルチキャストパケットのうちの１つであるか否かを判断すること（段階３０４）を含む。パケットがブロードキャストパケットまたはマルチキャストパケットである場合、プロセス３００は、パケットの宛先ＭＡＣアドレスを、パケットを受信したポートのＭＡＣアドレスに変更すること（段階３０６）と、変更されたパケットを第２のコンピューティングデバイスに転送すること（段階３０８）とを含む。パケットがブロードキャストパケットでもマルチキャストパケットでもない場合、プロセス３００は、パケットの宛先ＭＡＣアドレスが、パケットを受信したポートに関連付けられているか否かを判断すること（段階３１０）を含む。パケットの宛先ＭＡＣアドレスが、パケットを受信したポートに関連付けられている場合、プロセス３００は、パケットを第２のコンピューティングデバイスに転送すること（段階３１２）を含む。パケットの宛先ＭＡＣアドレスが、パケットを受信したポートに関連付けられていない場合、プロセス３００は、パケットをドロップすること（段階３１４）を含む。
【００５２】
再び図３を参照して、プロセス３００は、パケット転送デバイスによって、第１のコンピューティングデバイスからパケットを受信すること（段階３０２）を含む。いくつかの実現例では、第１のコンピューティングデバイスは、図１Ａおよび図１Ｂに示されるホストデバイス１０２のうちのいずれかなどのホストデバイスであってもよく、パケット転送デバイスの下流ポートを介してパケット転送デバイスに接続され得る。いくつかの他の実現例では、第１のコンピューティングデバイスは、第１のパケット転送デバイスとホストデバイスとの間に位置決めされた別のパケット転送デバイスであってもよい。さらに他の実現例では、第１のコンピューティングデバイスは、たとえばホストデバイスのうちの１つの送信元ＭＡＣアドレスと一致するようにパケットの送信元ＭＡＣアドレスを偽造する（または偽装する）ことによってホストデバイスのうちの１つになりすまそうとしているかもしれないコンピューティングデバイスであってもよい。プロセス３００を使用して、図１Ａおよび図１Ｂに示されるルーティングデバイス１２２などの上流のルーティングデ
バイスに適切に向けられないパケットをドロップし、ルーティングデバイスがパケット転送デバイスによって転送されるパケットの出所を判断することを可能にすることができる。
【００５３】
プロセス３００は、受信したパケットがブロードキャストパケットおよびマルチキャストパケットのうちの１つであるか否かを判断すること（段階３０４）を含む。いくつかの実現例では、ブロードキャストまたはマルチキャストパケットのために特定の宛先ＭＡＣアドレスを取っておいてもよく、当該特定の宛先ＭＡＣアドレスは、たとえばネットワーキングデバイス間でのセキュリティネゴシエーション、ＡＲＰ要求、ルータ発見またはルーティングプロトコル通知で使用することができるが、これらに限定されるものではない。パケットがブロードキャストパケットまたはマルチキャストパケットであると判断されると、プロセス３００は、パケットの宛先ＭＡＣアドレスを、パケットを受信したポートのＭＡＣアドレスに変更すること（段階３０６）を含む。ブロードキャストパケットまたはマルチキャストパケットが元のままでルーティングデバイスに転送されると、ルーティングデバイスは、パケットを発生させた特定のホストデバイスまたはパケットを受信したパケット転送デバイスの下流ポートを判断することができない。たとえば、別のホストデバイスは、パケットで使用される送信元ＩＰおよび送信元ＭＡＣアドレスを偽装した可能性がある。この問題に対処するために、パケット転送デバイスは、パケットが到着した下流ポートのＭＡＣアドレスを含むようにパケットの宛先フィールドを変更し得る。いくつかの実現例では、宛先ＭＡＣアドレスがパケット転送デバイスによって変更されていても、パケットのコンテンツは依然として、パケットがマルチキャストまたはブロードキャストパケットであることを示し得る。
【００５４】
プロセス３００は、変更されたパケットを第２のコンピューティングデバイスに転送すること（段階３０８）を含む。いくつかの実現例では、第２のコンピューティングデバイスは、図１Ａおよび図１Ｂに示されるルーティングデバイス１２２であってもよい。上記のように、ホストに直接結合されたパケット転送デバイスの各下流ポートは、固有のＭＡＣアドレスを有し得る。したがって、第２のコンピューティングデバイスは、変更されたパケットを受信すると、受信したパケットの変更された宛先ＭＡＣアドレスを調べることによって、パケットが通過した下流ポートを判断することができる。
【００５５】
パケットがブロードキャストパケットでもマルチキャストパケットでもない場合、プロセス３００は、パケットの宛先ＭＡＣアドレスが、パケットを受信したポートに関連付けられているか否かを判断すること（段階３１０）を含む。当該判断は、たとえば受信したパケットの宛先ＭＡＣアドレスとパケットを受信したポートに関連付けられるＭＡＣアドレスとを比較することによってなされ得る。パケットの宛先ＭＡＣアドレスが、パケットを受信したポートに関連付けられている場合、プロセス３００は、パケットを第２のコンピューティングデバイスに転送すること（段階３１２）を含む。いくつかの実現例では、カスケード接続された下流ポート（すなわち、別のパケット転送デバイスに接続された下流ポート）を介して受信したパケットは、検査なしに上流ポートを介して転送される。なぜなら、カスケード接続されたパケット転送デバイスがパケットを転送する前に、カスケード接続されたパケット転送デバイスによってパケットが適切に処理されているからである。
【００５６】
いくつかの実現例では、パケットの宛先ＭＡＣアドレスが、パケットを受信した下流ポートに関連付けられていると判断したことに基づいて、パケットを転送することは、ホストデバイスになりすまそうとしているかもしれないデバイスによる攻撃を防止することに役立ち得る。たとえば、いくつかの実現例では、ホストデバイスは、パケットの宛先ＭＡＣアドレスが、ホストデバイスがそれぞれ接続されるパケット転送デバイスの下流ポートのＭＡＣアドレスと一致するように、第２のコンピューティングデバイスに向かうパケッ
トを生成するように構成される。したがって、パケットの宛先ＭＡＣアドレスが、パケットを受信したポートに関連付けられていなければ、パケット転送デバイスは、パケットが対応するホストデバイスから発生したものではないと判断し得て、パケットをドロップし得る（段階３１４）。そのため、ホストデバイスのアドレスと一致するように送信元ＭＡＣアドレスが偽造されたパケットは、パケットが正しい宛先ＭＡＣアドレス（すなわち、パケット転送デバイスによってパケットを受信した下流ポートに関連付けられるＭＡＣアドレス）も含まない限り、転送されることはない。同様に、上流のデバイスのアドレスと一致するように偽造された送信元ＭＡＣアドレスを有する下流ポートで受信したパケットも、パケットが正しい宛先ＭＡＣアドレス（すなわち、パケット転送デバイスによってパケットを受信した下流ポートに関連付けられるＭＡＣアドレス）も含まない限り、転送されることはない。したがって、偽造された送信元ＭＡＣアドレスを有するパケットが第２のコンピューティングデバイスに到達する可能性は、低くなる。
【００５７】
いくつかの実現例では、パケットの宛先ＭＡＣアドレスが、パケットを受信した下流ポートに関連付けられていると判断したことに基づいて、パケットを転送することは、図１Ａに示されるルーティングデバイス１２２などの上流のデバイスが、悪意のあるパケットの送信元を識別することを可能にし得る。たとえば、上流のデバイスが（たとえば、ウイルス感染の結果として生成された）悪意のあるペイロードを含むパケットを受信すると、悪意のあるパケットを送信したホストデバイスがパケットの宛先ＭＡＣアドレスに基づいて識別され得て、ホストデバイスを取り除くまたは修正するように修正措置が実行され得る。
【００５８】
図４は、パケットを転送するための別の例示的なプロセス４００を示すフローチャートである。いくつかの実現例では、図１Ａおよび図１Ｂに示されるルーティングデバイス１２２などのコンピューティングデバイスから、図１Ａおよび図１Ｂに示されるパケット転送デバイス１１０などのパケット転送デバイスによって受信したパケットを処理するためのプロセス４００が使用され得る。大まかにいうと、プロセス４００は、パケット転送デバイスによって、第２のコンピューティングデバイスからパケットを受信すること（段階４０２）を含む。プロセス４００は、パケットの送信元ＭＡＣアドレスがパケット転送デバイスのいずれかの下流ポートに関連付けられているか否かを判断すること（段階４０４）を含む。パケットの送信元ＭＡＣアドレスがパケット転送デバイスの下流ポートに関連付けられている場合、プロセス４００は、ＭＡＣアドレスがパケットの送信元ＭＡＣアドレスと一致する下流ポートを介してパケットを転送すること（段階４０６）を含む。パケットの送信元ＭＡＣアドレスがパケット転送デバイスの下流ポートに関連付けられていない場合、プロセス４００は、パケットをドロップすること（段階４０８）を含む。
【００５９】
再び図４を参照して、プロセス４００は、パケット転送デバイスによって、第２のコンピューティングデバイスからパケットを受信すること（段階４０２）を含む。いくつかの実現例では、第２のコンピューティングデバイスは、図１Ａおよび図１Ｂに示されるルーティングデバイス１２２などの、パケット転送デバイスの上流のルーティングデバイスであってもよく、パケット転送デバイスの上流ポートを介してパケット転送デバイスに接続され得る。いくつかの他の実現例では、第２のコンピューティングデバイスは、カスケード接続されたパケット転送デバイスであってもよい。プロセス４００を使用して、上流のルーティングデバイスが、パケットを放出することになるパケット転送デバイスのポートを選択できるようにすることができる。
【００６０】
プロセス４００は、パケットの送信元ＭＡＣアドレスがパケット転送デバイスのいずれかの下流ポートに関連付けられているか否かを判断すること（段階４０４）を含む。当該判断は、たとえば受信したパケットの送信元ＭＡＣアドレスとパケット転送デバイスの各下流ポートに関連付けられたＭＡＣアドレスとを比較することによってなされ得る。上記
のように、下流ポートは、当該下流ポートに割り当てられたＭＡＣアドレスおよび当該下流ポートに接続されるカスケード接続されたパケット転送デバイスの下流ポートのＭＡＣアドレスに関連付けられ得る。パケットの送信元ＭＡＣアドレスがパケット転送デバイスの下流ポートに関連付けられている場合、プロセス４００は、パケットの送信元ＭＡＣアドレスに関連付けられた下流ポートを介してパケットを転送すること（段階４０６）を含む。パケットの送信元ＭＡＣアドレスとパケット転送デバイスの下流ポートのうちの１つとの間の関連付けを判断することに基づいてパケットを転送することは、別のホストデバイスになりすまそうとしているかもしれないホストデバイスによる攻撃を防止することに役立ち得る。パケットを放出することになる下流ポートの選択は、パケット転送デバイスではなく上流のルーティングデバイスによってなされる。パケット転送デバイスは、パケットの宛先ＭＡＣアドレスにかかわらず、ＭＡＣアドレスがパケットの送信元ＭＡＣアドレスに関連付けられる下流ポートを介してルーティングデバイスから受信した各パケットを転送する。ルーティングデバイスは、パケットの送信元ＭＡＣアドレスをターゲットホストデバイスが選択される下流ポートに関連付けられたＭＡＣアドレスに設定することによって、パケットを受信するようにターゲットホストデバイスを選択し得る。その結果、ターゲットホストデバイスに向かうパケットを受信しようとする別のホストデバイスは、たとえばＭＡＣアドレスがターゲットホストデバイスのＭＡＣアドレスと一致することを通知することによって、このようなパケットを受信することができなくなる。対照的に、大半のネットワーキングデバイスは、送信元ＭＡＣアドレスではなくパケットの宛先ＭＡＣアドレスに基づいてパケットを転送するため、悪意をもってターゲットホストデバイスになりすましているホストデバイスにパケットを転送する可能性が高い。
【００６１】
本明細書に記載されている主題および動作の実現例は、デジタル電子回路で実現されてもよく、または本明細書に開示されている構造およびそれらの構造的等価物を含む、有形の媒体、ファームウェアもしくはハードウェアに組み入れられたコンピュータソフトウェアで実現されてもよく、またはそれらの１つ以上の組み合わせで実現されてもよい。本明細書に記載されている主題の実現例は、有形の媒体に組み入れられた１つ以上のコンピュータプログラム、すなわちコンピュータプログラム命令の１つ以上のモジュールとして実現されてもよく、当該コンピュータプログラム命令は、１つ以上のコンピュータ記憶媒体上で符号化されて、データ処理装置によって実行され、またはデータ処理装置の動作を制御する。コンピュータ記憶媒体は、コンピュータ読取可能な記憶装置、コンピュータ読取可能な記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらの１つ以上の組み合わせであってもよく、またはそれらに含まれてもよい。また、コンピュータ記憶媒体は、１つ以上の別々のコンポーネントまたは媒体（たとえば、複数のＣＤ、ディスクまたは他の記憶装置）であってもよく、またはそれらに含まれてもよい。コンピュータ記憶媒体は、有形であってもよく、非一時的であってもよい。
【００６２】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとしても知られている）は、コンパイラ型言語、インタープリタ型言語、宣言型言語および手続き型言語を含むいずれかの形態のプログラミング言語で書かれてもよく、コンピュータプログラムは、スタンドアロンのプログラム、または、モジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境での使用に適した他のユニットを含むいずれかの形態でデプロイされてもよい。コンピュータプログラムは、ファイルシステムにおけるファイルに対応し得るが、そうである必要はない。プログラムは、他のプログラムもしくはデータ（たとえば、マークアップ言語ドキュメントに格納される１つ以上のスクリプト）を保持するファイルの一部に格納されてもよく、対象のプログラムに専用の単一のファイルに格納されてもよく、または複数の協調的なファイル（たとえば、１つ以上のモジュール、ライブラリ、サブプログラム、もしくはコードの一部を格納するファイル）に格納されてもよい。コンピュータプログラムは、１つのコンピュータ上で実行されるように、または、一箇所に位置しているもしく
は複数の箇所にわたって分散されて通信ネットワークによって相互接続されている複数のコンピュータ上で実行されるようにデプロイされてもよい。
【００６３】
本明細書に記載されているプロセスおよび論理フローは、入力データに対して作用して出力を生成することによって動作を行うように１つ以上のコンピュータプログラムを実行する１つ以上のプログラム可能なプロセッサによって実行することができる。また、プロセスおよび論理フローは、特殊目的論理回路、たとえばフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）または特定用途向け集積回路（「ＡＳＩＣ」）によって実行されてもよく、装置もこのような特殊目的論理回路として実現されてもよい。このような特殊目的回路は、汎用プロセッサでなくても、コンピュータプロセッサと称することができる。
【００６４】
本明細書は多くの具体的な実現例の詳細を含んでいるが、これらは、いずれの発明または記載され得る内容の範囲に対しても限定として解釈されるべきではなく、特定の発明の特定の実現例に特有の特徴を説明するものとして解釈されるべきである。別々の実現例の文脈の中で本明細書に記載されている特定の特徴は、組み合わせて単一の実現例において実現されてもよい。逆に、単一の実現例の文脈の中で記載されているさまざまな特徴は、複数の実現例において別々に実現されてもよく、または任意の好適なサブコンビネーションで実現されてもよい。さらに、特徴は特定の組み合わせで機能するものとして上記され、当初はそのようなものとしてクレームされていたが、記載の組み合わせからの１つ以上の特徴は、場合によっては当該組み合わせから削除されてもよく、記載の組み合わせは、サブコンビネーションまたはサブコンビネーションの変形例に向けられてもよい。
【００６５】
同様に、動作は特定の順序で図面に示されているが、これは、望ましい結果を達成するためにこのような動作を示されている特定の順序でまたはシーケンシャルな順序で実行しなければならないものとして理解されるべきではなく、または望ましい結果を達成するために示されている動作を全て実行しなければならないものとして理解されるべきではない。特定の状況では、マルチタスクおよび並列処理が有利である場合もある。さらに、上記の実現例におけるさまざまなシステムコンポーネントの分離は、全ての実現例においてこのような分離が必要であるものとして理解されるべきではなく、記載されているプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に統合されてもよく、または複数のソフトウェア製品にパッケージングされてもよい、ということが理解されるべきである。
【００６６】
「または」への言及は、「または」を使用して記載されているいかなる用語も、記載されている用語のうちの１つ、２つ以上および全てのいずれかを示すように包括的であるものとして解釈され得る。「第１の」、「第２の」、「第３の」などの表示は、必ずしも順序付けを示すよう意図されているわけではなく、一般に同様または類似の項目または要素を区別するために使用しているに過ぎない。
【００６７】
このように、主題の特定の実現例について説明してきた。他の実現例も以下の特許請求の範囲の範囲内である。場合によっては、特許請求の範囲に記載されている動作は、異なる順序で実行されてもよく、それでもなお望ましい結果を達成することができる。また、添付の図面に示されているプロセスは、望ましい結果を達成するために、必ずしも示されている特定の順序またはシーケンシャルな順序を必要とするわけではない。特定の実現例では、マルチタスクまたは並列処理が使用されてもよい。
【図１Ａ】
2020099058.tif 000003
【図１Ｂ】
2020099058.tif 000004
【図２】
2020099058.tif 000005
【図３】
2020099058.tif 000006
【図４】
2020099058.tif 000007
【手続補正書】
【提出日】令和2年2月20日(2020.2.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムであって、
１つ以上の第１のコンピューティングデバイスと、
第２のコンピューティングデバイスと、
パケット転送デバイスとを備え、前記１つ以上の第１のコンピューティングデバイスの各々は、前記パケット転送デバイスのそれぞれの第１のポートに通信可能に結合され、前記第２のコンピューティングデバイスは、前記パケット転送デバイスの第２のポートに結合され、前記パケット転送デバイスは、前記第１のポートに関連付けられたＭＡＣアドレスを識別する１つ以上の識別子のリストを格納するためのメモリを含み、前記１つ以上の第１のコンピューティングデバイスのうちの１つから受信した第１のパケットについて、前記パケット転送デバイスは、
前記第１のパケットの宛先ＭＡＣアドレスが、前記リストの前記１つ以上の識別子のうちの１つに対応するか否かを判断し、
前記第１のパケットの前記宛先ＭＡＣアドレスが、前記リストの前記１つ以上の識別子のうちの１つに対応すると判断したことに応答して、前記第１のパケットを前記第２のコンピューティングデバイスに転送し、および、
前記第１のパケットの前記宛先ＭＡＣアドレスが、前記リストの前記１つ以上の識別子のうちの１つに対応しないと判断したことに応答して、前記第１のパケットをドロップするように構成され、
前記第２のコンピューティングデバイスから受信した第２のパケットについて、前記パケット転送デバイスは、前記第２のパケットの送信元ＭＡＣアドレスに関連付けられた前記第１のポートを介して前記第２のパケットを転送するように構成される、システム。
【請求項２】
前記パケット転送デバイスは、さらに、前記第２のパケットの前記送信元ＭＡＣアドレスが前記パケット転送デバイスのいずれのポートにも関連付けられていないと判断したことに応答して、前記第２のパケットをドロップするように構成される、請求項１に記載のシステム。
【請求項３】
前記１つ以上の第１のコンピューティングデバイスのうちの１つから受信した第３のパケットについて、前記パケット転送デバイスは、
前記第３のパケットがブロードキャストパケットおよびマルチキャストパケットのうちの１つであることを判断し、
前記第３のパケットの宛先ＭＡＣアドレスを、前記第３のパケットを受信した前記第１のポートに割り当てられるＭＡＣアドレスに変更し、および、
前記第３のパケットを前記第２のコンピューティングデバイスに転送するように構成される、請求項１または２に記載のシステム。
【請求項４】
前記パケット転送デバイスの少なくとも１つのポートに割り当てられるＭＡＣアドレスは、前記パケット転送デバイスのＩＰアドレスおよび前記少なくとも１つのポートを固有に識別する数字に基づく、請求項１から３のいずれか１項に記載のシステム。
【請求項５】
前記パケット転送デバイスの少なくとも１つのポートに割り当てられるＭＡＣアドレスは、前記パケット転送デバイスの前記ＩＰアドレスおよび前記少なくとも１つのポートを固有に識別する前記数字を含む、請求項４に記載のシステム。
【請求項６】
前記パケット転送デバイスは、さらに、
前記１つ以上の第１のコンピューティングデバイスのうちの１つから受信した第４のパケットの宛先ＭＡＣアドレスが、前記第４のパケットを受信した前記第１のポートに関連付けられていないことを判断し、前記第４のパケットの前記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないことを判断し、および、
前記第４のパケットの前記宛先ＭＡＣアドレスが、前記第４のパケットを受信した前記第１のポートに関連付けられていないと判断し、前記第４のパケットの前記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないと判断したことに応答して、前記第４のパケットをドロップするように構成される、請求項１から５のいずれか１項に記載のシステム。
【請求項７】
複数のポートを含む第３のコンピューティングデバイスをさらに備え、前記第３のコンピューティングデバイスは、前記パケット転送デバイスのそれぞれの第１のポートに通信可能に結合され、前記パケット転送デバイスは、さらに、
前記第３のコンピューティングデバイスから受信した第５のパケットの宛先ＭＡＣアドレスが前記第３のコンピューティングデバイスのデバイスＩＤに関連付けられていることを判断し、および、
第５のパケットの前記宛先ＭＡＣアドレスが前記第３のコンピューティングデバイスの前記デバイスＩＤに関連付けられていると判断したことに応答して、前記第５のパケットを前記第２のコンピューティングデバイスに転送するように構成される、請求項１から６のいずれか１項に記載のシステム。
【請求項８】
前記第３のコンピューティングデバイスは、
前記パケット転送デバイスから受信した第６のパケットの送信元ＭＡＣアドレスが、前記第３のコンピューティングデバイスが通信可能に結合される前記パケット転送デバイスの前記第１のポートに関連付けられていることを判断し、および、
前記第６のパケットの前記送信元ＭＡＣアドレスに関連付けられた前記第３のコンピューティングデバイスの前記ポートを介して前記第６のパケットを転送するように構成される、請求項７に記載のシステム。
【請求項９】
前記１つ以上の第１のコンピューティングデバイスは、さらに、前記第２のコンピューティングデバイスに向かう各パケットが、前記１つ以上の第１のコンピューティングデバイスが通信可能に結合される前記パケット転送デバイスの前記ポートに関連付けられた宛先ＭＡＣアドレスを有することを確実にするように構成される、請求項１から８のいずれか１項に記載のシステム。
【請求項１０】
前記第２のコンピューティングデバイスは、さらに、前記１つ以上の第１のコンピューティングデバイスのうちの１つに向かう各パケットが、前記パケットの向かう先である前記第１のコンピューティングデバイスが通信可能に結合される前記パケット転送デバイスの前記ポートに関連付けられた送信元ＭＡＣアドレスを有することを確実にするように構成される、請求項１から９のいずれか１項に記載のシステム。
【請求項１１】
パケットを処理する方法であって、
パケット転送デバイスが、第１のコンピューティングデバイスから第１のパケットを受信するステップと、
前記パケット転送デバイスが、前記第１のパケットの宛先ＭＡＣアドレスが、前記第１のコンピューティングデバイスに関連付けられた１つ以上のＭＡＣアドレスを識別する１つ以上の識別子のリストに含まれる識別子に対応するか否かを判断するステップと、
前記パケット転送デバイスが、前記第１のパケットの前記宛先ＭＡＣアドレスが、前記リストに含まれる識別子に対応すると判断したことに応答して、前記第１のパケットを第２のコンピューティングデバイスに転送するステップと、
前記パケット転送デバイスが、前記第１のパケットの前記宛先ＭＡＣアドレスが、前記リストの前記１つ以上の識別子のうちの１つに対応しないと判断したことに応答して、前記第１のパケットをドロップするステップと、
前記パケット転送デバイスが、第２のコンピューティングデバイスから第２のパケットを受信するステップと、
前記パケット転送デバイスが、前記第２のパケットの送信元ＭＡＣアドレスに関連付けられた前記ポートを介して前記第２のパケットを転送するステップとを備える、方法。
【請求項１２】
前記パケット転送デバイスが、前記第２のパケットの送信元ＭＡＣアドレスが前記パケット転送デバイスのいずれのポートにも関連付けられていないことを判断するステップと、
前記パケット転送デバイスが、前記第２のパケットの前記送信元ＭＡＣアドレスが前記パケット転送デバイスのいずれのポートにも関連付けられていないと判断したことに応答して、前記第２のパケットをドロップするステップとをさらに備える、請求項１１に記載の方法。
【請求項１３】
前記パケット転送デバイスが、前記第１のコンピューティングデバイスから第３のパケットを受信するステップと、
前記パケット転送デバイスが、前記第３のパケットがブロードキャストパケットおよびマルチキャストパケットのうちの１つであることを判断するステップと、
前記パケット転送デバイスが、前記第３のパケットの宛先ＭＡＣアドレスを、前記第３のパケットを受信した前記ポートに割り当てられるＭＡＣアドレスに変更するステップと、
前記パケット転送デバイスが、前記第３のパケットを前記第２のコンピューティングデバイスに転送するステップとをさらに備える、請求項１１または１２に記載の方法。
【請求項１４】
前記パケット転送デバイスの少なくとも１つのポートに割り当てられるＭＡＣアドレスは、前記パケット転送デバイスのＩＰアドレスおよび前記少なくとも１つのポートを固有に識別する数字に基づく、請求項１１から１３のいずれか１項に記載の方法。
【請求項１５】
前記パケット転送デバイスの少なくとも１つのポートに割り当てられるＭＡＣアドレスは、前記パケット転送デバイスの前記ＩＰアドレスおよび前記少なくとも１つのポートを固有に識別する前記数字を含む、請求項１４に記載の方法。
【請求項１６】
前記パケット転送デバイスが、前記第１のコンピューティングデバイスから第４のパケットを受信するステップと、
前記パケット転送デバイスが、前記第４のパケットの宛先ＭＡＣアドレスが、前記第４のパケットを受信した前記ポートに関連付けられていないことを判断し、前記第４のパケットの前記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないことを判断するステップと、
前記パケット転送デバイスが、前記第４のパケットの前記宛先ＭＡＣアドレスが、前記第４のパケットを受信した前記ポートに関連付けられていないと判断し、前記第４のパケットの前記宛先ＭＡＣアドレスがブロードキャストＭＡＣアドレスでもマルチキャストＭＡＣアドレスでもないと判断したことに応答して、前記第４のパケットをドロップするステップとをさらに備える、請求項１１から１５のいずれか１項に記載の方法。
【請求項１７】
前記パケット転送デバイスが、第３のコンピューティングデバイスから第５のパケットを受信するステップをさらに備え、前記第３のコンピューティングデバイスは、複数のポートを含み、前記方法は、さらに、
前記パケット転送デバイスが、前記第３のコンピューティングデバイスから受信した前記第５のパケットの宛先ＭＡＣアドレスが前記第３のコンピューティングデバイスのデバイスＩＤに関連付けられていることを判断するステップと、
前記パケット転送デバイスが、第５のパケットの前記宛先ＭＡＣアドレスが前記第３のコンピューティングデバイスの前記デバイスＩＤに関連付けられていると判断したことに応答して、前記第５のパケットを前記第２のコンピューティングデバイスに転送するステップとを備える、請求項１１から１６のいずれか１項に記載の方法。
【請求項１８】
前記パケット転送デバイスが、第６のパケットを前記第３のコンピューティングデバイスに送信するステップと、
前記第３のコンピューティングデバイスが、前記パケット転送デバイスから受信した第６のパケットの送信元ＭＡＣアドレスが、前記第３のコンピューティングデバイスが通信可能に結合される前記パケット転送デバイスの前記ポートに関連付けられていることを判断するステップと、
前記第３のコンピューティングデバイスが、前記第６のパケットの前記送信元ＭＡＣアドレスに関連付けられた前記第３のコンピューティングデバイスの前記ポートを介して前記パケットを転送するステップとをさらに備える、請求項１７に記載の方法。
【請求項１９】
前記第１のコンピューティングデバイスが、前記第２のコンピューティングデバイスに向かう各パケットが、前記第１のコンピューティングデバイスが通信可能に結合される前記パケット転送デバイスの前記ポートに関連付けられた宛先ＭＡＣアドレスを有することを確実にするステップをさらに備える、請求項１１から１８のいずれか１項に記載の方法。
【請求項２０】
前記第２のコンピューティングデバイスが、前記第１のコンピューティングデバイスに向かう各パケットが、前記第１のコンピューティングデバイスが通信可能に結合される前記パケット転送デバイスの前記ポートに関連付けられた送信元ＭＡＣアドレスを有することを確実にするステップをさらに備える、請求項１１から１９のいずれか１項に記載の方法。
【請求項２１】
請求項１１から２０のいずれか１項に記載の方法をコンピュータに実行させるプログラム。
【外国語明細書】
2020099058000001.pdf