(57)【要約】  本出願は、第1の転送デバイスにより、イーサネットフレームの複数のフラグメントを受信するステップであって、複数のフラグメントが最初のフラグメントおよび第1のフラグメントを含み、最初のフラグメントが宛先媒体アクセス制御MACアドレスフィールドを含む、ステップと、第1の転送デバイスにより、複数のフラグメントに基づいてイーサネットフレームのフレームチェックシーケンスFCS値を決定するステップと、第1の転送デバイスにより、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断するステップと、第1の転送デバイスにより、イーサネットフレーム内でエラーが発生したと判断するステップに応答して、第1のフラグメントを第2のフラグメントに変更するステップであって、第2のフラグメントが第2のタイプ指示情報および第2の送信対象データを含み、第2のタイプ指示情報が、第2の送信対象データのタイプが制御文字であることを示すために使用され、第1の送信対象データの値が第2の送信対象データの値と等しくなく、第2の送信対象データが、イーサネットフレーム内でエラーが発生したことを示すために使用される、ステップと、第1の転送デバイスにより、第2のフラグメントを宛先デバイスに送信するステップとを含む、データ送信方法を提供する。本出願において提供される方法は、イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるのに役立つ。
2021517428.tif 000002
【特許請求の範囲】
【請求項１】
データ送信方法であって、
第1の転送デバイスにより、イーサネットフレームの複数のフラグメントを受信するステップであって、前記複数のフラグメントが最初のフラグメントおよび第1のフラグメントを備え、前記最初のフラグメントが宛先媒体アクセス制御MACアドレスフィールドを備える、ステップと、
前記第1の転送デバイスにより、前記複数のフラグメントに基づいて前記イーサネットフレームのフレームチェックシーケンスFCS値を決定するステップと、
前記第1の転送デバイスにより、前記FCS値に基づいて、前記イーサネットフレーム内でエラーが発生したと判断するステップと、
前記第1の転送デバイスにより、前記イーサネットフレーム内でエラーが発生したと判断する前記ステップに応答して、前記第1のフラグメントを第2のフラグメントに変更するステップであって、前記第1のフラグメントが第1のタイプ指示情報および第1の送信対象データを備え、前記第2のフラグメントが第2のタイプ指示情報および第2の送信対象データを備え、前記第1のタイプ指示情報が前記第1の送信対象データのタイプを示すために使用され、前記第2のタイプ指示情報が、前記第2の送信対象データのタイプが制御文字であることを示すために使用され、前記第1の送信対象データの値が前記第2の送信対象データの値と等しくなく、前記第2の送信対象データが、前記イーサネットフレーム内でエラーが発生したことを示すために使用される、ステップと、
前記第1の転送デバイスにより、前記第2のフラグメントを宛先デバイスに送信するステップであって、前記宛先MACアドレスフィールドの値が前記宛先デバイスのMACアドレスと等しく、前記宛先デバイスの前記MACアドレスが前記第1の転送デバイスのMACアドレスと等しくない、ステップと
を備える、方法。
【請求項２】
前記第1の転送デバイスにより、前記イーサネットフレーム内でエラーが発生したと判断する前記ステップに応答して、前記第1のフラグメントを第2のフラグメントに変更する前記ステップが、
前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しくないとき、前記第1の転送デバイスにより、前記第1のフラグメント内の前記第1のタイプ指示情報および前記第1の送信対象データを前記第2のタイプ指示情報および前記第2の送信対象データにそれぞれ変更するステップ、または
前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しいとき、前記第1の転送デバイスにより、前記第1のフラグメント内の前記第1の送信対象データを前記第2の送信対象データに変更するステップ
を備える、請求項1に記載の方法。
【請求項３】
前記第2のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記第2のタイプ指示情報を搬送し、前記RxDフィールドが前記第2の送信対象データを搬送する、請求項1または2に記載の方法。
【請求項４】
前記RxCフィールドの値が1であり、前記RxDフィールドの値が0xFEに等しい、請求項3に記載の方法。
【請求項５】
前記第2のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記第2の送信対象データを備え、前記第2のタイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記第2のタイプ指示情報が、前記第2の送信対象データの前記タイプが制御文字であることを示すために使用され、前記第2のタイプ指示情報が、前記複数の送信対象データの中の前記第2の送信対象データの位置を示すためにさらに使用される、
請求項1または2に記載の方法。
【請求項６】
前記第2の送信対象データの前記値が0x1eに等しい、請求項5に記載の方法。
【請求項７】
前記第1のフラグメント内の前記送信対象データがFCSフィールドを備えるか、または前記第1のフラグメントがFCSフィールドを備えない、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記第1の転送デバイスにより、前記FCS値に基づいて、前記イーサネットフレーム内でエラーが発生したと判断する前記ステップが、
前記FCS値が前記FCSフィールドの値と等しくないとき、前記第1の転送デバイスにより、前記イーサネットフレーム内でエラーが発生したと判断するステップ
を備える、請求項7に記載の方法。
【請求項９】
データ送信方法であって、
第2の転送デバイスにより、最初のフラグメントおよび第1のフラグメントを受信するステップであって、前記第1のフラグメントがタイプ指示情報および送信対象データを備え、前記タイプ指示情報が前記送信対象データのタイプを示すために使用され、前記送信対象データの前記タイプが制御文字であり、前記送信対象データが、イーサネットフレーム内でエラーが発生したことを示すために使用され、前記イーサネットフレームが前記最初のフラグメントを備え、前記最初のフラグメントが宛先MACアドレスフィールドを備え、前記宛先MACアドレスフィールドの値が宛先デバイスのMACアドレスと等しく、前記第2の転送デバイスのMACアドレスが前記宛先MACアドレスフィールドの前記値と等しくない、ステップと、
前記第2の転送デバイスにより、前記第1のフラグメントを前記宛先デバイスに送信するステップと
を備える、方法。
【請求項１０】
前記イーサネットフレームが第2のフラグメントをさらに備え、前記第2の転送デバイスが前記第1のフラグメントを受信する前に、前記イーサネットフレームに対してCRCチェックが実行された後、前記イーサネットフレーム内でエラーが発生したと判断したことに応答して、前記第2のフラグメントが前記第1のフラグメントに変更される、請求項9に記載の方法。
【請求項１１】
第2の転送デバイスにより、最初のフラグメントおよび第1のフラグメントを受信する前記ステップの後、かつ前記第2の転送デバイスにより、前記第1のフラグメントを前記宛先デバイスに送信する前記ステップの前に、前記方法が、
前記第2の転送デバイスにより、前記宛先MACアドレスフィールドに基づいて、前記転送デバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと判断するステップ
をさらに備え、
前記第2の転送デバイスにより、前記第1のフラグメントを前記宛先デバイスに送信する前記ステップが、
前記第2の転送デバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと判断する前記ステップに応答して、前記第2の転送デバイスにより、前記第1のフラグメントを前記宛先デバイスに送信するステップ
を備える、請求項9または10に記載の方法。
【請求項１２】
前記第2の転送デバイスが、物理コーディングサブレイヤ受信機PCS receiverを備え、前記第2の転送デバイスが前記第1のフラグメントを受信した後に、前記方法が、
前記送信対象データに応答して、前記PCS receiverがRX＿E状態に入ること
をさらに備える、請求項9から11のいずれか一項に記載の方法。
【請求項１３】
前記第1のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記タイプ指示情報を搬送し、前記RxDフィールドが前記送信対象データを搬送する、請求項9から12のいずれか一項に記載の方法。
【請求項１４】
前記RxCフィールドの値が1に等しく、前記RxDフィールドの値が0xFEに等しい、請求項13に記載の方法。
【請求項１５】
前記第1のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記送信対象データを備え、前記タイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記タイプ指示情報が、前記送信対象データの前記タイプが制御文字であることを示すために使用され、前記タイプ指示情報が、前記複数の送信対象データの中の前記送信対象データの位置を示すためにさらに使用される、
請求項9から12のいずれか一項に記載の方法。
【請求項１６】
前記同期ヘッダフィールドの値が0x10に等しく、前記送信対象データの値が0x1Eに等しい、請求項15に記載の方法。
【請求項１７】
前記第2のフラグメント内の送信対象データが、前記イーサネットフレームのフレームチェックシーケンスFCSフィールドを備えるか、または前記第2のフラグメントが、前記イーサネットフレームのフレームチェックシーケンスFCSフィールドを備えない、請求項10から16のいずれか一項に記載の方法。
【請求項１８】
転送デバイスであって、
イーサネットフレームの複数のフラグメントを受信するように構成された受信回路であって、前記複数のフラグメントが最初のフラグメントおよび第1のフラグメントを備え、前記最初のフラグメントが宛先媒体アクセス制御MACアドレスフィールドを備える、受信回路と、
前記複数のフラグメントに基づいて前記イーサネットフレームのフレームチェックシーケンスFCS値を決定し、前記FCS値に基づいて、前記イーサネットフレーム内でエラーが発生したと判断し、前記イーサネットフレーム内でエラーが発生したと前記判断することに応答して、前記第1のフラグメントを第2のフラグメントに変更するように構成された処理回路であって、前記第1のフラグメントが第1のタイプ指示情報および第1の送信対象データを備え、前記第2のフラグメントが第2のタイプ指示情報および第2の送信対象データを備え、前記第1のタイプ指示情報が前記第1の送信対象データのタイプを示すために使用され、前記第2のタイプ指示情報が、前記第2の送信対象データのタイプが制御文字であることを示すために使用され、前記第1の送信対象データの値が前記第2の送信対象データの値と等しくなく、前記第2の送信対象データが、前記イーサネットフレーム内でエラーが発生したことを示すために使用される、処理回路と、
前記第2のフラグメントを宛先デバイスに送信するように構成された送信回路であって、前記宛先MACアドレスフィールドの値が前記宛先デバイスのMACアドレスと等しく、前記宛先デバイスの前記MACアドレスが前記転送デバイスのMACアドレスと等しくない、送信回路と
を備える、転送デバイス。
【請求項１９】
前記処理回路が、
前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しくないとき、前記第1のフラグメント内の前記第1のタイプ指示情報および前記第1の送信対象データを前記第2のタイプ指示情報および前記第2の送信対象データにそれぞれ変更するか、または
前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しいとき、前記第1のフラグメント内の前記第1の送信対象データを前記第2の送信対象データに変更する
ように構成される、請求項18に記載の転送デバイス。
【請求項２０】
前記第2のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記第2のタイプ指示情報を搬送し、前記RxDフィールドが前記第2の送信対象データを搬送する、請求項18または19に記載の転送デバイス。
【請求項２１】
前記RxCフィールドの値が1であり、前記RxDフィールドの値が0xFEに等しい、請求項20に記載の転送デバイス。
【請求項２２】
前記第2のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記第2の送信対象データを備え、前記第2のタイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記第2のタイプ指示情報が、前記第2の送信対象データの前記タイプが制御文字であることを示すために使用され、前記第2のタイプ指示情報が、前記複数の送信対象データの中の前記第2の送信対象データの位置を示すためにさらに使用される、請求項18または19に記載の転送デバイス。
【請求項２３】
前記第2の送信対象データの前記値が0x1eに等しい、請求項22に記載の転送デバイス。
【請求項２４】
前記第1のフラグメント内の前記送信対象データがFCSフィールドを備えるか、または前記第1のフラグメントがFCSフィールドを備えない、請求項18から23のいずれか一項に記載の転送デバイス。
【請求項２５】
前記処理回路が、
前記FCS値が前記FCSフィールドの値と等しくないとき、前記イーサネットフレーム内でエラーが発生したと判断する
ように構成される、請求項24に記載の転送デバイス。
【請求項２６】
転送デバイスであって、
最初のフラグメントおよび第1のフラグメントを受信するように構成された受信回路であって、前記第1のフラグメントがタイプ指示情報および送信対象データを備え、前記タイプ指示情報が前記送信対象データのタイプを示すために使用され、前記送信対象データの前記タイプが制御文字であり、前記送信対象データが、イーサネットフレーム内でエラーが発生したことを示すために使用され、前記イーサネットフレームが前記最初のフラグメントを備え、前記最初のフラグメントが宛先MACアドレスフィールドを備え、前記宛先MACアドレスフィールドの値が宛先デバイスのMACアドレスと等しく、前記転送デバイスのMACアドレスが前記宛先MACアドレスフィールドの前記値と等しくない、受信回路と、
前記第1のフラグメントを前記宛先デバイスに送信するように構成された送信回路と
を備える、転送デバイス。
【請求項２７】
前記イーサネットフレームが第2のフラグメントをさらに備え、前記転送デバイスが前記第1のフラグメントを受信する前に、前記イーサネットフレームに対してCRCチェックが実行された後、前記イーサネットフレーム内でエラーが発生したと判断したことに応答して、前記第2のフラグメントが前記第1のフラグメントに変更される、請求項26に記載の転送デバイス。
【請求項２８】
前記処理回路が、
前記受信回路が前記最初のフラグメントおよび前記第1のフラグメントを受信した後、かつ前記送信回路が前記第1のフラグメントを前記宛先デバイスに送信する前に、前記宛先MACアドレスフィールドに基づいて、前記転送デバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと判断する
ように構成され、
前記送信回路が、
前記転送デバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと前記判断することに応答して、前記第1のフラグメントを前記宛先デバイスに送信する
ように構成される、請求項26または27に記載の転送デバイス。
【請求項２９】
前記受信回路が物理コーディングサブレイヤ受信機PCS receiverを備え、前記PCS receiverが、
前記受信回路が前記第1のフラグメントを受信した後、前記送信対象データに応答して、前記PCS receiverがRX＿E状態に入る
ように構成される、請求項26から28のいずれか一項に記載の転送デバイス。
【請求項３０】
前記第1のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記タイプ指示情報を搬送し、前記RxDフィールドが前記送信対象データを搬送する、請求項26から29のいずれか一項に記載の転送デバイス。
【請求項３１】
前記RxCフィールドの値が1に等しく、前記RxDフィールドの値が0xFEに等しい、請求項30に記載の転送デバイス。
【請求項３２】
前記第1のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記送信対象データを備え、前記タイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記タイプ指示情報が、前記送信対象データの前記タイプが制御文字であることを示すために使用され、前記タイプ指示情報が、前記複数の送信対象データの中の前記送信対象データの位置を示すためにさらに使用される、請求項26から29のいずれか一項に記載の転送デバイス。
【請求項３３】
前記同期ヘッダフィールドの値が0x10に等しく、前記送信対象データの値が0x1Eに等しい、請求項32に記載の転送デバイス。
【請求項３４】
前記第2のフラグメント内の送信対象データが、前記イーサネットフレームのフレームチェックシーケンスFCSフィールドを備えるか、または前記第2のフラグメントが、前記イーサネットフレームのフレームチェックシーケンスFCSフィールドを備えない、請求項27から33のいずれか一項に記載の転送デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、モバイル通信の分野に関し、より詳細には、通信の分野におけるデータ送信方法および転送デバイスに関する。
【背景技術】
【０００２】
産業用モノのインターネットおよび車両のインターネットは、通常、複数の転送デバイスを含む。ソースデバイスによって送信されたデータは、複数の転送デバイスを使用して転送されて、宛先デバイスに到達する。複数の転送デバイスは、チェーンネットワークまたはリングネットワークを形成することができる。
【０００３】
データがチェーンネットワークまたはリングネットワークを使用して転送されるとき、各転送デバイスは何らかの遅延を発生させる可能性がある。その結果、エンドツーエンドの遅延は、一部のアプリケーションシナリオの要件を満たすことができない。
【０００４】
カットスルー（Cut−through）転送技術は、エンドツーエンドの遅延を低減することができる。たとえば、Cut−through転送技術では、転送デバイスは、イーサネットフレーム全体を受信していないときに、受信されたフラグメントをネクストホップ転送デバイスに送信し始めることができる。具体的には、イーサネットフレーム1は、フラグメント1、フラグメント2、およびフラグメント3を含む。転送デバイス1は、フラグメント1のみを受信し、フラグメント2およびフラグメント3を受信していないときに、フラグメント1を転送デバイス2に送信することができる。
【０００５】
送信プロセスにおいてイーサネットフレーム内でエラーが発生する場合がある。宛先デバイスによって受信されたイーサネットフレームが比較的大量のエラーを含むとき、宛先デバイスは、受信されたイーサネットフレームに対して巡回冗長検査（cyclic redundancy check、CRC）を実行しても、イーサネットフレームがエラーを含むことを検出することができない場合がある。結果として、データ送信サービスにおいて例外が発生する。
【発明の概要】
【課題を解決するための手段】
【０００６】
本出願は、イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるのに役立つデータ送信方法を提供する。
【０００７】
第1の態様によれば、データ送信方法が提供され、第1の転送デバイスにより、イーサネットフレームの複数のフラグメントを受信するステップであって、複数のフラグメントが最初のフラグメントおよび第1のフラグメントを含み、最初のフラグメントが宛先媒体アクセス制御（MAC）アドレスフィールドを含む、ステップと、第1の転送デバイスにより、複数のフラグメントに基づいてイーサネットフレームのフレームチェックシーケンス（FCS）値を決定するステップと、第1の転送デバイスにより、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断するステップと、第1の転送デバイスにより、イーサネットフレーム内でエラーが発生したと判断するステップに応答して、第1のフラグメントを第2のフラグメントに変更するステップであって、第1のフラグメントが第1のタイプ指示情報および第1の送信対象データを含み、第2のフラグメントが第2のタイプ指示情報および第2の送信対象データを含み、第1のタイプ指示情報が第1の送信対象データのタイプを示すために使用され、第2のタイプ指示情報が、第2の送信対象データのタイプが制御文字であることを示すために使用され、第1の送信対象データの値が第2の送信対象データの値と等しくなく、第2の送信対象データが、イーサネットフレーム内でエラーが発生したことを示すために使用される、ステップと、第1の転送デバイスにより、第2のフラグメントを宛先デバイスに送信するステップであって、宛先MACアドレスフィールドの値が宛先デバイスのMACアドレスと等しく、宛先デバイスのMACアドレスが第1の転送デバイスのMACアドレスと等しくない、ステップとを含む。
【０００８】
イーサネットフレームがソースデバイスから宛先デバイスに送信されるプロセスでは、転送デバイスは、イーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したことを見つける。転送デバイスがイーサネットフレーム内でエラーが発生したことを見つけると、転送デバイスはイーサネットフレームの受信されたフラグメントを変更し、その結果、変更されたフラグメント（第2のフラグメント）は、イーサネットフレーム内でエラーが発生したことを示す。たとえば、第2のフラグメントにはエラー制御文字を含んでよい。エラー制御文字は、イーサネットフレーム内でエラーが発生したことを示すために使用される。転送デバイスは、第2のフラグメントを宛先デバイスに送信する。したがって、宛先デバイスのPHY回路は、第2のフラグメントに基づいて、受信されたイーサネットフレーム内でエラーが発生したと判断する。具体的には、宛先デバイスのPHY回路はPCS receiverを含む。第2のフラグメントはエラー制御文字を含む。PCS receiverは、エラー制御文字に基づいて、イーサネットフレーム内でエラーが発生したと判断する。たとえば、PCS receiverは、エラー制御文字に基づいてRX＿E状態に入る。RX＿E状態のPCS receiverは信号を生成する。信号は、値が1のRxCフィールドおよび値が0xFEのRxDフィールドを含むPCS receiverは、MIIを介して宛先デバイスのMAC回路に信号を送信する。宛先デバイスのMAC回路は、信号に基づいて、イーサネットフレーム内でエラーが発生したと判断することができる。さらに、宛先デバイスのMAC回路は、イーサネットフレームを廃棄することができる。言い換えれば、受信されたイーサネットフレームに対してCRCチェックを実行する必要なしに、宛先デバイスのMAC回路は、イーサネットフレーム内でエラーが発生したと判断することができる。宛先デバイスがイーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したと判断する技術的解決策と比較して、前述の技術的解決策は、イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるのに役立つ。具体的には、CRCアルゴリズムの特徴に起因して、イーサネットフレームが比較的少量のエラーを含むとき、CRCチェックを介してイーサネットフレームのエラーを検出することは比較的容易である。イーサネットフレームが比較的大量のエラーを含むとき、イーサネットフレームのエラーはCRCチェックを介して検出されない場合がある。イーサネットフレームがソースデバイスから宛先デバイスに送信されるプロセスでは、複数のエラーが発生する可能性がある。特にイーサネットフレームが複数の転送デバイスを使用して転送される必要があるとき、比較的大量のエラーが発生する可能性がある。加えて、転送デバイスがイーサネットフレームをネクストホップ転送デバイスまたは宛先デバイスに送信する前に、転送デバイスは、イーサネットフレームのFCS値を再計算し、再計算されたFCS値をイーサネットフレームのFCSフィールドに追加することができるイーサネットフレームのFCS値を再計算するとき、転送デバイスは、イーサネットフレーム内のFCSフィールド以外のフィールドをパラメータとして使用する。これは、イーサネットフレーム内でエラーが発生��た場合、イーサネットフレームのFCS値を再計算するために必要なパラメータとしてエラーも使用されることを意味する。その結果、ネクストホップ転送デバイスまたは宛先デバイスは、CRCチェックを介して、受信されたイーサネットフレームにエラーを含むことを検出することができない。
【０００９】
本出願において提供される技術的解決策では、宛先デバイスのPHY回路は、変更されたフィールドに基づいて、イーサネットフレーム内でエラーが発生したと判断することができる。宛先デバイスは、イーサネットフレーム内でエラーが発生したかどうかを判断するために、CRCチェックに依存する必要がない。したがって、本出願の技術的解決策は、イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるのに役立つ。
【００１０】
第1の態様を参照して、第1の態様の可能な実装形態では、第1の転送デバイスにより、イーサネットフレーム内でエラーが発生したと判断するステップに応答して、第1のフラグメントを第2のフラグメントに変更するステップは、第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しくないとき、第1の転送デバイスにより、第1のフラグメント内の第1のタイプ指示情報および第1の送信対象データを第2のタイプ指示情報および第2の送信対象データにそれぞれ変更するステップ、または第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しいとき、第1の転送デバイスにより、第1のフラグメント内の第1の送信対象データを第2の送信対象データに変更するステップを含む。
【００１１】
第1のフラグメント内のタイプ指示情報が変更され、その結果、第1のフラグメント内のタイプ指示情報を変更することによって示された送信対象データのタイプは制御文字であり、第1のフラグメント内の送信対象データが変更され、その結果、変更された送信対象データの値は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを宛先デバイスに示すことができる。したがって、イーサネットフレームを受信すると、宛先デバイスは、変更された第1のフラグメント（第2のフラグメント）に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断する。
【００１２】
第1の態様を参照して、第1の態様の可能な実装形態では、第2のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドは第2のタイプ指示情報を搬送するために使用され、RxDフィールドの値は第2の送信対象データである。
【００１３】
RxCフィールドの値は、RxDフィールドの値が制御オクテットであることを宛先デバイスに示すために使用され、RxDフィールドの値は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを宛先デバイスに示すために使用される。したがって、RxDフィールドの値が制御オクテットであると判断すると、宛先デバイスは、RxDフィールドの制御コードの値をさらにチェックし、最終的に、RxDフィールドの制御コードの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００１４】
第1の態様を参照して、第1の態様の可能な実装形態では、RxCフィールドの値は1であり、RxDフィールドの値は0xFEに等しい。
【００１５】
第1の態様を参照して、第1の態様の可能な実装形態では、第2のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは第2の送信対象データを含み、第2のタイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2のタイプ指示情報は、複数の送信対象データの中の第2の送信対象データの位置を示すためにさらに使用される。
【００１６】
同期ヘッダフィールドの値は、あるタイプの制御文字を有する送信対象データが同期ヘッダフィールドの後ろに含まれるかどうかを宛先デバイスに示すために使用され、ブロックタイプフィールドの値は、複数の送信対象データの中のあるタイプの制御文字を有する、ブロックタイプフィールドの後ろの送信対象データの位置を宛先デバイスに示すために使用され、位置に対応する送信対象データの値は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを宛先デバイスに示すために使用される。したがって、あるタイプの制御文字を有する送信対象データの位置を特定した後、宛先デバイスは、位置に対応する送信対象データの値をさらにチェックし、最終的に、位置に対応する送信対象データの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００１７】
第1の態様を参照して、第1の態様の可能な実装形態では、第2の送信対象データの値は0x1eに等しい。
【００１８】
第1の態様を参照して、第1の態様の可能な実装形態では、第1のフラグメント内の送信対象データはFCSフィールドを含むか、または第1のフラグメントはFCSフィールドを含まない。
【００１９】
イーサネットフレーム内の最初のフラグメント以外の任意のフラグメントが変更され、その結果、変更されたフラグメントを受信すると、宛先デバイスは、変更されたフラグメントに基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００２０】
第1の態様を参照して、第1の態様の可能な実装形態では、第1の転送デバイスにより、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断するステップは、FCS値がFCSフィールドの値と等しくないとき、第1の転送デバイスにより、イーサネットフレーム内でエラーが発生したと判断するステップを含む。
【００２１】
第2の態様によれば、データ送信方法が提供され、第2の転送デバイスにより、最初のフラグメントおよび第1のフラグメントを受信するステップであって、第1のフラグメントがタイプ指示情報および送信対象データを含み、タイプ指示情報が送信対象データのタイプを示すために使用され、送信対象データのタイプが制御文字であり、送信対象データが、イーサネットフレーム内でエラーが発生したことを示すために使用され、イーサネットフレームが最初のフラグメントを含み、最初のフラグメントが宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値が宛先デバイスのMACアドレスと等しく、第2の転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくない、ステップと、第2の転送デバイスにより、第1のフラグメントを宛先デバイスに送信するステップとを含む。
【００２２】
イーサネットフレームがソースデバイスから宛先デバイスに送信されるプロセスでは、転送デバイスは、イーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したことを見つける。転送デバイスがイーサネットフレーム内でエラーが発生したことを見つけると、転送デバイスはイーサネットフレームの受信されたフラグメントを変更し、その結果、変更されたフラグメント（第2のフラグメント）は、イーサネットフレーム内でエラーが発生したことを示す。たとえば、第2のフラグメントにはエラー制御文字を含んでよい。エラー制御文字は、イーサネットフレーム内でエラーが発生したことを示すために使用される。転送デバイスは、第2のフラグメントを宛先デバイスに送信する。したがって、宛先デバイスのPHY回路は、第2のフラグメントに基づいて、受信されたイーサネットフレーム内でエラーが発生したと判断する。具体的には、宛先デバイスのPHY回路はPCS receiverを含む。第2のフラグメントはエラー制御文字を含む。PCS receiverは、エラー制御文字に基づいて、イーサネットフレーム内でエラーが発生したと判断する。たとえば、PCS receiverは、エラー制御文字に基づいてRX＿E状態に入る。RX＿E状態のPCS receiverは信号を生成する。信号は、値が1のRxCフィールドおよび値が0xFEのRxDフィールドを含むPCS receiverは、MIIを介して宛先デバイスのMAC回路に信号を送信する。宛先デバイスのMAC回路は、信号に基づいて、イーサネットフレーム内でエラーが発生したと判断することができる。さらに、宛先デバイスのMAC回路は、イーサネットフレームを廃棄することができる。言い換えれば、受信されたイーサネットフレームに対してCRCチェックを実行する必要なしに、宛先デバイスのMAC回路は、イーサネットフレーム内でエラーが発生したと判断することができる。宛先デバイスがイーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したと判断する技術的解決策と比較して、前述の技術的解決策は、イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるのに役立つ。具体的には、CRCアルゴリズムの特徴に起因して、イーサネットフレームが比較的少量のエラーを含むとき、CRCチェックを介してイーサネットフレームのエラーを検出することは比較的容易である。イーサネットフレームが比較的大量のエラーを含むとき、イーサネットフレームのエラーはCRCチェックを介して検出されない場合がある。イーサネットフレームがソースデバイスから宛先デバイスに送信されるプロセスでは、複数のエラーが発生する可能性がある。特にイーサネットフレームが複数の転送デバイスを使用して転送される必要があるとき、比較的大量のエラーが発生する可能性がある。加えて、転送デバイスがイーサネットフレームをネクストホップ転送デバイスまたは宛先デバイスに送信する前に、転送デバイスは、イーサネットフレームのFCS値を再計算し、再計算されたFCS値をイーサネットフレームのFCSフィールドに追加することができるイーサネットフレームのFCS値を再計算するとき、転送デバイスは、イーサネットフレーム内のFCSフィールド以外のフィールドをパラメータとして使用する。これは、イーサネットフレーム内でエラーが発生��た場合、イーサネットフレームのFCS値を再計算するために必要なパラメータとしてエラーも使用されることを意味する。その結果、ネクストホップ転送デバイスまたは宛先デバイスは、CRCチェックを介して、受信されたイーサネットフレームにエラーを含むことを検出することができない。
【００２３】
本出願において提供される技術的解決策では、宛先デバイスのPHY回路は、変更されたフィールドに基づいて、イーサネットフレーム内でエラーが発生したと判断することができる。宛先デバイスは、イーサネットフレーム内でエラーが発生したかどうかを判断するために、CRCチェックに依存する必要がない。したがって、本出願の技術的解決策は、イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるのに役立つ。
【００２４】
第2の態様を参照して、第2の態様の可能な実装形態では、イーサネットフレームは第2のフラグメントをさらに含み、第2の転送デバイスが第1のフラグメントを受信する前に、イーサネットフレームに対してCRCチェックが実行された後、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第2のフラグメントは第1のフラグメントに変更される。
【００２５】
第2の態様を参照して、第2の態様の可能な実装形態では、第2の転送デバイスにより、最初のフラグメントおよび第1のフラグメントを受信するステップの後、かつ第2の転送デバイスにより、第1のフラグメントを宛先デバイスに送信するステップの前に、方法は、第2の転送デバイスにより、宛先MACアドレスフィールドに基づいて、第2の転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断するステップをさらに含み、第2の転送デバイスにより、第1のフラグメントを宛先デバイスに送信するステップは、第2の転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断するステップに応答して、第2の転送デバイスにより、第1のフラグメントを宛先デバイスに送信するステップを含む。
【００２６】
第2の態様を参照して、第2の態様の可能な実装形態では、第2の転送デバイスは、物理コーディングサブレイヤ受信機PCS receiverを含み、第2の転送デバイスが第1のフラグメントを受信した後に、方法は、送信対象データに応答して、PCS receiverにより、RX＿E状態に入るステップをさらに含む。
【００２７】
第2の態様を参照して、第2の態様の可能な実装形態では、第1のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドはタイプ指示情報を搬送し、RxDフィールドは送信対象データを搬送する。
【００２８】
RxCフィールドの値は、RxDフィールドの値が制御オクテットであることを宛先デバイスに示すために使用され、RxDフィールドの値は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを宛先デバイスに示すために使用される。したがって、RxDフィールドの値が制御オクテットであると判断すると、宛先デバイスは、RxDフィールドの制御コードの値をさらにチェックし、最終的に、RxDフィールドの制御コードの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００２９】
第2の態様を参照して、第2の態様の可能な実装形態では、RxCフィールドの値は1に等しく、RxDフィールドの値は0xFEに等しい。
【００３０】
第2の態様を参照して、第2の態様の可能な実装形態では、第1のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは送信対象データを含み、タイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、タイプ指示情報は、送信対象データのタイプが制御文字であることを示すために使用され、タイプ指示情報は、複数の送信対象データの中の送信対象データの位置を示すためにさらに使用される。
【００３１】
同期ヘッダフィールドの値は、あるタイプの制御文字を有する送信対象データが同期ヘッダフィールドの後ろに含まれるかどうかを宛先デバイスに示すために使用され、ブロックタイプフィールドの値は、複数の送信対象データの中のあるタイプの制御文字を有する、ブロックタイプフィールドの後ろの送信対象データの位置を宛先デバイスに示すために使用され、位置に対応する送信対象データの値は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを宛先デバイスに示すために使用される。したがって、あるタイプの制御文字を有する送信対象データの位置を特定した後、宛先デバイスは、位置に対応する送信対象データの値をさらにチェックし、最終的に、位置に対応する送信対象データの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００３２】
第2の態様を参照して、第2の態様の可能な実装形態では、同期ヘッダフィールドの値は0x10に等しく、送信対象データの値は0x1Eに等しい。
【００３３】
第2の態様を参照して、第2の態様の可能な実装形態では、第2のフラグメント内の送信対象データは、イーサネットフレームのフレームチェックシーケンスFCSフィールドを含むか、または第2のフラグメントは、イーサネットフレームのフレームチェックシーケンスFCSフィールドを含まない。
【００３４】
イーサネットフレーム内の最初のフラグメント以外の任意のフラグメントが変更され、その結果、変更されたフラグメントを受信すると、宛先デバイスは、変更されたフラグメントに基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００３５】
第3の態様によれば、転送装置が提供され、第1の態様および第1の態様の実装形態におけるデータ送信方法のステップを実行するように構成されたモジュールを含む。
【００３６】
第4の態様によれば、転送デバイスが提供され、受信回路、処理回路、および送信回路を含み、
受信回路は、イーサネットフレームの複数のフラグメントを受信するように構成され、複数のフラグメントは最初のフラグメントおよび第1のフラグメントを含み、最初のフラグメントは宛先媒体アクセス制御MACアドレスフィールドを含み、処理回路は、複数のフラグメントに基づいてイーサネットフレームのフレームチェックシーケンスFCS値を決定し、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断し、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第1のフラグメントを第2のフラグメントに変更するように構成され、第1のフラグメントは第1のタイプ指示情報および第1の送信対象データを含み、第2のフラグメントは第2のタイプ指示情報および第2の送信対象データを含み、第1のタイプ指示情報は第1の送信対象データのタイプを示すために使用され、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第1の送信対象データの値は第2の送信対象データの値と等しくなく、第2の送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用され、送信回路は、第2のフラグメントを宛先デバイスに送信するように構成され、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、宛先デバイスのMACアドレスは第1の転送デバイスのMACアドレスと等しくない。
【００３７】
第5の態様によれば、転送デバイスが提供され、転送デバイスはプロセッサおよびメモリを含み、プロセッサは、メモリによって記憶されたプログラムを呼び出して、第1の態様または第1の態様の任意の可能な実装形態におけるデータ送信方法を実行するように構成される。
【００３８】
第6の態様によれば、コンピュータプログラム製品が提供され、コンピュータプログラム製品はコンピュータプログラムコードを含み、転送デバイスの処理モジュールおよび通信モジュールまたはプロセッサおよびトランシーバがコンピュータプログラムコードを実行すると、転送デバイスは、第1の態様および第1の態様の任意の実装形態におけるデータ送信方法を実行する。
【００３９】
第7の態様によれば、コンピュータ可読記憶媒体が提供され、コンピュータ可読記憶媒体はプログラムを記憶し、プログラムが実行され、その結果、転送デバイスは、第1の態様および第1の態様の任意の実装形態におけるデータ送信方法を実行する。
【００４０】
第8の態様によれば、チップシステムが提供され、メモリおよびプロセッサを含み、メモリはコンピュータプログラムを記憶するように構成され、プロセッサはメモリ内のコンピュータプログラムを呼び出し実行するように構成され、その結果、チップシステムが取り付けられた転送デバイスは、第1の態様および第1の態様の任意の実装形態におけるデータ送信方法を実行する。
【００４１】
第9の態様によれば、転送装置が提供され、第2の態様および第2の態様の実装形態におけるデータ送信方法のステップを実行するように構成されたモジュールを含む。
【００４２】
第10の態様によれば、転送デバイスが提供され、受信回路および送信回路を含み、受信回路は、最初のフラグメントおよび第1のフラグメントを受信するように構成され、第1のフラグメントはタイプ指示情報および送信対象データを含み、タイプ指示情報は送信対象データのタイプを示すために使用され、送信対象データのタイプは制御文字であり、送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用され、イーサネットフレームは最初のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、第2の転送デバイスのMACアドレスは宛先MACアドレスフィールドの値と等しくなく、送信回路は、第1のフラグメントを宛先デバイスに送信するように構成される。
【００４３】
第11の態様によれば、転送デバイスが提供され、宛先デバイスはプロセッサおよびメモリを含み、プロセッサは、メモリによって記憶されたプログラムを呼び出して、第2の態様または第2の態様の任意の可能な実装形態におけるデータ送信方法を実行するように構成される。
【００４４】
第12の態様によれば、コンピュータプログラム製品が提供され、コンピュータプログラム製品はコンピュータプログラムコードを含み、宛先デバイスの処理モジュールおよび通信モジュールまたはプロセッサおよびトランシーバがコンピュータプログラムコードを実行すると、宛先デバイスは、第2の態様および第2の態様の任意の実装形態におけるデータ送信方法を実行する。
【００４５】
第13の態様によれば、コンピュータ可読記憶媒体が提供され、コンピュータ可読記憶媒体はプログラムを記憶し、プログラムが実行され、その結果、宛先デバイスは、第2の態様および第2の態様の任意の実装形態におけるデータ送信方法を実行する。
【００４６】
第14の態様によれば、チップシステムが提供され、メモリおよびプロセッサを含み、メモリはコンピュータプログラムを記憶するように構成され、プロセッサはメモリ内のコンピュータプログラムを呼び出し実行するように構成され、その結果、チップシステムが取り付けられた宛先デバイスは、第2の態様および第2の態様の任意の実装形態におけるデータ送信方法を実行する。
【００４７】
第15の態様によれば、システムが提供され、システムは、第3の態様の転送装置および第9の態様の転送装置を含むか、またはシステムは、第4の態様の転送デバイスおよび第10の態様の転送デバイスを含むか、またはシステムは、第5の態様の転送デバイスおよび第11の態様の転送デバイスを含む。
【図面の簡単な説明】
【００４８】
【図１】本出願の一実施形態に適用可能なイーサネットシステム100の概略ブロック図である。
【図２】本出願の一実施形態による、転送デバイスまたは宛先デバイスの可能な概略構造図である。
【図３】本出願の一実施形態による、データ送信方法の概略フローチャートである。
【図４】本出願の一実施形態による、データ送信方法の別の概略フローチャートである。
【図５】本出願の一実施形態による、転送装置の概略ブロック図である。
【図６】本出願の一実施形態による、転送装置の別の概略ブロック図である。
【図７】本出願の一実施形態による、転送デバイスの概略ブロック図である。
【図８】本出願の一実施形態による、転送デバイスの別の概略ブロック図である。
【発明を実施するための形態】
【００４９】
以下で、添付図面を参照して本出願の技術的解決策を記載する。
【００５０】
本出願のPHY回路は、イーサネット規格によって定義された物理層の機能を実行するために使用される回路である。イーサネット規格は、IEEEによってリリースされたイーサネット規格であってよい。たとえば、イーサネット規格はIEEE802．3−2015であってよい。たとえば、物理層の機能は、物理コーディングサブレイヤ（physical coding sublayer、PCS）の機能および物理媒体連結（physical medium attachment、PMA）サブレイヤの機能を含んでよい。
【００５１】
本出願のMAC回路は、イーサネット規格によって定義された媒体アクセス制御（media access control、MAC）の機能を実行するために使用される回路である。イーサネット規格は、IEEEによってリリースされたイーサネット規格であってよい。たとえば、イーサネット規格はIEEE802．3−2015であってよい。MACの機能はデータリンク層にある。論理リンク制御（logical link control、LLC）の機能もデータリンク層にある。
【００５２】
本出願では、MAC回路およびPHY回路は、媒体非依存インターフェース（media independent interface、MII）を介して互いに通信することができる。たとえば、MIIは10ギガビット媒体非依存インターフェース（ten gigabit media independent interface、XGMII）であってよい。可能な設計では、物理層の機能は、調整サブレイヤ（reconciliation sublayer、RS）の機能をさらに含んでよい。MAC回路は、RS回路およびMIIを介してPHY回路と通信することができる。RS回路は、RSの機能を実行するために使用される回路である。
【００５３】
本出願のイーサネットフレームは、フレームヘッダ、ペイロード、およびFCSフィールドを含む。フレームヘッダは、宛先MACアドレスフィールドから始まり、イーサネットタイプ（Ethertype）フィールドまたは長さ（length）フィールドで終わる。フレームヘッダは、プリアンブル（preamble）フィールドも、フレームデリミタの開始（Start of frame delimiter、SFD）フィールドも含まない。イーサネットフレームは、preambleフィールドも、SFDフィールドも含まない。FCSフィールドは、イーサネットフレームに対してCRCチェックを実行するために使用される。イーサネットフレーム内のFCSフィールド以外のフィールドは、イーサネットフレームのFCS値を計算するために使用される必要があるパラメータである。計算されたFCS値がFCSフィールドの値と等しくないとき、イーサネットフレーム内でエラーが発生したと見なされる。イーサネットフレームのフォーマットについては、IEEE802．3の説明を参照されたい。
【００５４】
本出願のフラグメントは、イーサネットフレームのフラグメントである。blockは、符号化処理がイーサネットフレーム上の物理層によって実行された後に取得されてよい。本出願のフラグメントは、物理層の符号化処理の後に取得されるblockであってよい。たとえば、フラグメントは64B／66B blockであってよい。加えて、MIIを介してMAC回路にイーサネットフレームを送信するとき、PHY回路は、MIIを介してMAC回路にRxCフィールドおよびRxDフィールドを送信することができる。本出願のフラグメントは、代替として、RxCフィールドおよびRxCフィールドに関連付けられたRxDフィールドであってよい。
【００５５】
本出願の技術用語の意味および具体的な実装形態については、IEEE802．3の説明を参照されたく、たとえば、IEEE802．3−2015の説明を参照されたい。技術用語には、制御文字（control character）、データ文字（data character）、制御オクテット（control octet）、データオクテット（data octet）、制御コード（control code）、同期ヘッダ（synchronization header、sync header）フィールド、64B／66Bブロック（64B／66B block）、制御ブロック（control block）、データブロック（data block）、PCS受信機（PCS receiver）、ブロックタイプフィールド（block type field）、受信制御（receive control、RxC）フィールド、および受信データ（receive data、RxD）フィールドが含まれるが、それらに限定されない。
【００５６】
最初に、本出願におけるイーサネットシステム100が記載される。図1に示されたように、イーサネットシステム100は、ソースデバイス101、転送デバイス102、転送デバイス103、および宛先デバイス104を含む。ソースデバイス101、転送デバイス102、転送デバイス103、および宛先デバイス104は、直列に接続される。送信対象イーサネットフレームは、ソースデバイス101から送信され、転送デバイス102および転送デバイス103を通過した後、最終的に宛先デバイス104に到達する。
【００５７】
図1は、2つ転送デバイス：転送デバイス102および転送デバイス103のみを示すことに留意されたい。可能な設計では、ソースデバイス101と宛先デバイス104との間に少なくとも3つの転送デバイスが存在してよい。送信対象イーサネットフレームは、ソースデバイス101から送信され、少なくとも3つの転送デバイスによって転送された後、最終的に宛先デバイス104に到達する。
【００５８】
限定ではなく例として、本出願では、イーサネットシステム100は、カットスルーCut−through転送アプリケーションシナリオに適用される。以下で、図1のイーサネットシステム100を参照して、Cut−through技術を記載する。
【００５９】
ソースデバイス101はイーサネットフレームを送信し、イーサネットフレームのすべてではない一部を受信すると、転送デバイス102は、イーサネットフレームの受信された一部を転送する。たとえば、イーサネットフレームの一部は、イーサネットフレームのフラグメントであってよい。転送デバイスは、イーサネットフレーム全体が転送されるのを待つ必要がない。この解決策では、イーサネットフレームは転送デバイスを通過し、比較的小さい遅延で宛先デバイス104に到達する。
【００６０】
図2は、図1に示された転送デバイス102または転送デバイス103の可能な概略構造図である。
【００６１】
転送デバイスは、物理層（Physical Layer、PHY）回路201、MAC回路202、MAC回路203、およびPHY回路204を含む。可能な設計では、PHY回路201およびMAC回路202は、同じチップに含まれてよい。別の可能な設計では、PHY回路201およびMAC回路202は、異なるチップに含まれてよい。加えて、転送デバイスは、別の構成要素をさらに含んでよい。たとえば、転送デバイスは、（図には示されていない）ネットワークプロセッサをさらに含んでよい。ネットワークプロセッサは、ASICまたはFPGAを使用して実装されてよい。可能な設計では、ネットワークプロセッサの受信ポートは、MAC回路202の送信ポートに結合される。ネットワークプロセッサの送信ポートは、MAC回路203の送信ポートに結合される。ネットワークプロセッサは、MAC回路202によって提供されるイーサネットフレームから宛先MACアドレスを取得することができる。ネットワークプロセッサは、宛先MACアドレスを検索キーワードとして使用して、イーサネットフレームを転送するために使用される送信ポートを求めてMACテーブルを検索することができる。たとえば、送信ポートはMAC回路203およびPHY回路204を含む。さらに、ネットワークプロセッサは、MAC回路203にイーサネットフレームを提供することができ、その結果、PHY回路204は、イーサネットフレームをネクストホップデバイスに送信する。
【００６２】
PHY回路201およびMAC回路202は、隣接デバイス（たとえば、ソースデバイスまたは転送デバイス）によって送信されたフラグメントを受信するために使用され、MAC回路203およびPHY回路204は、MAC回路202から受信されたフラグメントを次の隣接デバイス（たとえば、ネクストホップ転送デバイスまたは宛先デバイス）に送信するために使用される。
【００６３】
本出願のこの実施形態では、PHY回路201は、受信されたフラグメントを2つのトランスポートフォーマットでMAC回路202に送信することができる。以下で、2つのトランスポートフォーマットを個別に記載する。
【００６４】
トランスポートフォーマット1：
【００６５】
PHY回路201は、受信されたビットストリームを構文解析して、各々が66ビットを含む複数のフラグメントをビットストリームから取得する。66ビットを含む各フラグメントは、2ビットの同期ヘッダフィールド（sync header field）、1バイトのブロックタイプフィールド（block type field）、およびnバイト（n≧7）の送信対象データを含む。2ビットの同期ヘッダフィールドは、66ビットフラグメント内のnバイトの送信対象データがあるタイプの制御文字を有する送信対象データを含むかどうかを示すために使用され、ブロックタイプフィールドは、nバイトの送信対象データの中のあるタイプの制御文字を有する送信対象データの位置を示すために使用される。本出願の66ビットを含むフラグメントは、64B／66B blockであってよい。本出願の送信対象データは、8ビットのデータオクテットであってよい。本出願の送信対象データは、代替として、7ビットの制御文字であってよい。
【００６６】
66ビットフラグメントをMAC回路202に送信する前に、PHY回路201は、66ビットフラグメントのフォーマットを変換する。具体的には、66ビットフラグメントは、媒体非依存インターフェース（media independent interface、MII）のフォーマットを満たすフラグメントに変換される。66ビットフラグメントは、フォーマット変換後に8つのフラグメントに変換される。各フラグメントは、1ビットのRxCフィールドおよび8ビットのRxDフィールドを含む。加えて、各フラグメント内のRxCフィールドの値は、フラグメント内のRxDフィールドのタイプを示す。たとえば、RxCフィールドの値は、RxDフィールドの値のタイプが制御文字であるかデータ文字であるかを示すことができる。PHY回路201は、シリアルまたはパラレルの送信方法を使用することにより、8つのフラグメントをMAC回路202に送信する。
【００６７】
トランスポートフォーマット2：
【００６８】
PHY回路201は、受信されたビットストリームを構文解析して、各々が66ビットを含む複数のフラグメントをビットストリームから取得する。各66ビットフラグメントは、2ビットの同期ヘッダフィールド、1バイトのブロックタイプフィールド、およびnバイトの送信対象データを含む。2ビットの同期ヘッダフィールドは、66ビットフラグメント内のnバイトの送信対象データが、あるタイプの制御文字を有する送信対象データを含むかどうかを示すために使用される。ブロックタイプフィールドは、nバイトの送信対象データの中のあるタイプの制御文字を有する送信対象データの位置示すために使用される。
【００６９】
トランスポートフォーマット1のシナリオとは異なり、トランスポートフォーマット2のシナリオでは、PHY回路201は、MAC回路202に66ビットフラグメントを送信する前に66ビットフラグメントのフォーマットを変換する代わりに、66ビットフラグメントをMAC回路202に直接送信する。
【００７０】
図3は、本出願の一実施形態による、データ送信方法300の概略フローチャートであり、方法は301〜304を含む。方法300は、図1または図2に示された転送デバイス102によって実行されてよい。
【００７１】
301．第1の転送デバイスがイーサネットフレームの複数のフラグメントを受信し、複数のフラグメントは最初のフラグメントおよび第1のフラグメントを含み、最初のフラグメントは宛先媒体アクセス制御MACアドレスフィールドを含む。
【００７２】
たとえば、イーサネットフレームを生成した後、ソースデバイス101は、伝送媒体を使用することにより、イーサネットフレームを転送デバイス102に送信することができる。イーサネットフレームは、ビットストリームの形態で伝送媒体内で送信されてよい。転送デバイス102内のPHY回路201は、伝送媒体を使用することにより、ビットストリームを受信することができる。ビットストリームは複数のフラグメントを含む。PHY回路201は、転送デバイス102のイーサネット受信ポートに配置されてよい。イーサネット受信ポートは、MAC回路202をさらに含んでよい。伝送媒体は、ケーブルまたはファイバであってよい。
【００７３】
302．第1の転送デバイスが、複数のフラグメントに基づいてイーサネットフレームのFCS値を決定する。
【００７４】
具体的には、転送デバイス102（たとえば、第1の転送デバイス）のPHY回路201は、アップストリームデバイス（たとえば、アップストリームデバイスは、ソースデバイス101またはソースデバイス101と転送デバイス102との間に配置された別の転送デバイスであってよい）によって送信されたイーサネットフレームの複数のフラグメントを受信し、複数のフラグメントをMAC回路202に送信する。複数のフラグメントは、イーサネットフレームの最初のフラグメントおよび第1のフラグメントを含む。第1のフラグメントは、複数のフラグメントの中の最初のフラグメント以外の任意のフラグメントである。最初のフラグメントは、宛先MACアドレスフィールドを含む。宛先MACアドレスフィールドの値は、宛先デバイス103のMACアドレスと等しい。
【００７５】
MAC回路202は、PHY回路201から受信された複数のフラグメントに基づいて、イーサネットフレームのFCS値を計算する。MAC回路202は、CRCアルゴリズムを使用して、イーサネットフレームのFCS値を計算することができる。たとえば、CRCアルゴリズムはCRC32アルゴリズムであってよい。
【００７６】
Cut−throughアプリケーションシナリオでは、複数のフラグメントが異なる時点で転送デバイス102のMAC回路202に到達することに留意されたい。複数のフラグメントの中の最初のフラグメントを受信すると、MAC回路202は、イーサネットフレームのFCS値の計算を開始することができる。転送デバイス102がイーサネットフレームのすべてのフラグメント（たとえば、複数のフラグメント）を受信した後、MAC回路202は、FCS値の計算を完了してイーサネットフレームのFCS値を決定することができる。前述の説明から、イーサネットフレームのFCS値を計算するとき、MAC回路202はイーサネットフレームのすべてのフラグメントを使用する必要があることが分かる。各フラグメントは、FCS値の計算プロセスに参加し、FCS値の計算プロセス用のパラメータを提供する。
【００７７】
複数のフラグメント内のフラグメントがFCS値の計算プロセス用のパラメータを提供した後、MAC回路202はそのフラグメントを転送することができる。あるいは、MAC回路202は、最初にフラグメントを格納し、次いでフラグメントを転送することができる。MAC回路202は、先入れ先出し規則に従って、イーサネットフレームのフラグメントを転送することができる。言い換えれば、先に受信されたフラグメントは、後に受信されたフラグメントの前に転送される必要がある。
【００７８】
PHY回路201が受信されたフラグメントを前述のトランスポートフォーマット1でMAC回路202に送信するとき、本出願のこの実施形態における最初のフラグメントは、6つのRxC／RxDペアを含むことに留意されたい。本出願のRxC／RxDペアは、1つのRxCフィールドおよび1つのRxDフィールドを含む信号である。1つのRxCフィールドは1ビットを含む。1つのRxDフィールドは8ビットを含む。RxC／RxDペア内のRxCフィールドとRxDフィールドとの間には対応関係が存在する。具体的には、RxC／RxDペア内のRxCフィールドは、RxC／RxDペア内のRxDフィールドのタイプを示すために使用される。したがって、最初のフラグメントが6つのRxC／RxDペアを含むことは、最初のフラグメントが6ビットのRxCフィールドおよび6バイトのRxDフィールドを含むことを意味する。6バイトのRxDフィールドは、宛先MACアドレスフィールドの値を搬送するために使用される。最初のフラグメントとは異なる他のすべてのフラグメントの各々は、1つのRxC／RxDペアを含む。
【００７９】
複数のフラグメントの各々は、タイプ指示情報および送信対象データを含み、タイプ指示情報の値は、送信対象データのタイプが制御文字であるかどうかを示すために使用されることに留意されたい。
【００８０】
303．第1の転送デバイスが、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断する。
【００８１】
具体的には、MAC回路202は、301において決定されたイーサネットフレームのFCS値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断する。イーサネットフレームはFCSフィールドを含む。第1の転送デバイスが、FCS値がFCSフィールドの値と等しくないと判断すると、第1の転送デバイスは、イーサネットフレーム内でエラーが発生したと判断することができる。
【００８２】
ソースデバイス101がイーサネットフレームを生成した後、イーサネットフレームがソースデバイス101から宛先デバイス101に送信されるプロセスにおける干渉に起因して、イーサネットフレーム内でエラーが発生する可能性があることが理解されよう。たとえば、電磁干渉は、送信プロセスにおけるイーサネットフレームに影響を与える可能性がある。イーサネットフレーム内でエラーが発生することは、イーサネットフレームに含まれる1つまたは複数のビットの値が変更されたことであり得る。たとえば、イーサネットフレーム内のビットの値が0から1に変更されるか、またはイーサネットフレーム内のビットの値が1から0に変更される。
【００８３】
限定ではなく例として、イーサネットフレームの複数のフラグメントの中の最後のフラグメントはFCSフィールドを含み、MAC回路202は、イーサネットフレームの決定されたFCS値を最後のフラグメントに含まれるFCSフィールドの値と比較する。
【００８４】
FCS値がFCSフィールドの値とは異なる場合、MAC回路202は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断する。
【００８５】
FCS値がFCSフィールドの値と同じである場合、MAC回路202は、送信プロセスにおいてイーサネットフレーム内でエラーが発生していないと判断する。
【００８６】
MAC回路202がPHY回路201から受信された複数のフラグメントに基づいてイーサネットフレームのFCS値を計算するとき、複数のフラグメントは最後のフラグメントを含まないことにさらに留意されたい。
【００８７】
304．第1の転送デバイスが、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第1のフラグメントを第2のフラグメントに変更し、第2のフラグメントは、第2のタイプ指示情報および第2の送信対象データを含み、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2の送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用される。
【００８８】
第1のフラグメントは、第1のタイプ指示情報および第1の送信対象データを含み、第1のタイプ指示情報は、第1の送信対象データのタイプを示すために使用され、第1の送信対象データの値は第2の送信対象データの値と等しくない。
【００８９】
具体的には、MAC回路202が、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断すると、MAC回路202は、複数のフラグメントの中で送信されていない少なくとも2つのフラグメントの中の1つのフラグメント（たとえば、第1のフラグメント）を変更して第2のフラグメントを取得する。
【００９０】
第2のフラグメント内のタイプ指示情報（たとえば、第2のタイプ指示情報）は、第2のフラグメント内の送信対象データ（たとえば、第2の送信対象データ）のタイプが制御文字であることを示し、第2のフラグメント内の第2の送信対象データの値は、第1のフラグメント内の送信対象データ（たとえば、第1の送信対象データ）の値と等しくなく、第1のフラグメント内のタイプ指示情報（たとえば、第1のタイプ指示情報）は、第1の送信対象データのタイプが制御文字であるかデータであるかを示すために使用される。
【００９１】
第1のタイプ指示情報の値が第2のタイプ情報の値と等しくない、言い換えれば、第1のタイプ指示情報が、第1の送信対象データのタイプがデータであることを示すとき、MAC回路202は、第1のタイプ指示情報および第1の送信対象データを別々に変更し、第1のタイプ指示情報の値を第2のタイプ指示情報の値に変更し、第1の送信対象データの値を第2の送信対象データの値に変更して、第2のフラグメントを取得するか、または
第1のタイプ指示情報の値が第2のタイプ情報の値と等しい、言い換えれば、第1のタイプ指示情報が、第1の送信対象データのタイプが制御文字であることを示すとき、MAC回路202は、第1の送信対象データのみを変更し、第1の送信対象データの値を第2の送信対象データの値に変更して、第2のフラグメントを取得する。
【００９２】
305．第1の転送デバイスが第2のフラグメントを宛先デバイスに送信する。
【００９３】
宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、宛先デバイスのMACアドレスは第1の転送デバイスのMACアドレスと等しくない。
【００９４】
具体的には、第2のフラグメントを取得した後、MAC回路202は、第2のフラグメントを宛先デバイス104に送信することができる。宛先MACアドレスは宛先デバイス104のMACアドレスと等しく、宛先デバイス104のMACアドレスは転送デバイス102のMACアドレスと等しくない。可能な設計では、第1の転送デバイスは、別の転送デバイスを使用することにより、第2のフラグメントを宛先デバイスに送信する。別の転送デバイスは、1つの転送デバイスであってもよく、複数の転送デバイスであってもよい。別の転送デバイスは、第2のフラグメントを変更しない。別の転送デバイスは、第2のフラグメントを透過的に送信する。別の可能な設計では、第1の転送デバイスは、第2のフラグメントを宛先デバイスに直接送信する。第2のフラグメントは、別の転送デバイスを通過する必要なしに宛先デバイスに到達することができる。
【００９５】
MAC回路202は、最初に第2のフラグメントをMAC回路203に送信し、MAC回路203は、第2のフラグメントをPHY回路204に送信し、最後に、PHY回路204は、第2のフラグメントを宛先デバイス104に送信する。
【００９６】
第1のフラグメントは、イーサネットフレームの複数のフラグメントの中の最初のフラグメント以外の任意のフラグメントであり、たとえば、第1のフラグメントは、イーサネットフレームの複数のフラグメントの中の最後のフラグメントであることに留意されたい。この場合、第1のフラグメントはFCSフィールドを含む。
【００９７】
第1のフラグメントをMAC回路202に送信するためにPHY回路201によって使用される前述の2つのトランスポートフォーマットを参照して、以下で、MAC回路202が第1のフラグメントを変更する2つのケースを記載する。
【００９８】
ケース1
【００９９】
第1のフラグメントをMAC回路202に送信するためにPHY回路201によって使用されるフォーマットが前述のトランスポートフォーマット1を満たすとき、第2のフラグメントはRxCフィールドおよびRxDフィールドを含む。RxCフィールドの値は第2のタイプ指示情報を搬送するために使用され、RxDフィールドの値は第2の送信対象データである。
【０１００】
限定ではなく例として、RxCフィールドの値が0x0であるとき、それは送信対象データがデータオクテットであることを示す。言い換えれば、それは送信対象データのタイプがデータ文字であることを示す。RxCフィールドの値が0x1であるとき、それは送信対象データが制御オクテットであることを示す。言い換えれば、それは送信対象データのタイプが制御文字であることを示す。RxDフィールドの値が0xFEであるとき、それは送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示す。
【０１０１】
たとえば、第1のフラグメント内の第1のタイプ指示情報の値が0であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、第1のタイプ指示情報の値を1に変更し、第1の送信対象データの値を0xFEに変更する必要がある。言い換えれば、第2のフラグメントの第2のタイプ指示情報の値は1であり、第2の送信対象データの値は0xFEである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内のRxCフィールドの値（0x1）に基づいて、RxDフィールドが制御オクテットであると判断し、RxDフィールドのデータオクテットの値（0xFE）をさらにチェックし、最終的に、RxDフィールドのデータオクテットの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
【０１０２】
別の例では、第1のフラグメント内の第1のタイプ指示情報の値が1であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、第1の送信対象データの値のみを0xFEに変更する必要がある。言い換えれば、第2のフラグメントの第2のタイプ指示情報の値は1であり、第2の送信対象データの値は0xFEである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内のRxCフィールドの値（0x1）に基づいて、RxDフィールドが制御オクテットであると判断し、RxDフィールドのデータオクテットの値（0xFE）をさらにチェックし、最終的に、RxDフィールドのデータオクテットの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
【０１０３】
本出願のこの実施形態では、第2のフラグメントは、第1のフラグメント内の第1のタイプ指示情報および／または第1の送信対象データが変更された後に取得され、その結果、次の転送デバイスは、第2のフラグメントに基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断する。
【０１０４】
宛先デバイス104は、第2のフラグメント内の第2のタイプ指示情報の値によって示された第2の送信対象データのタイプが制御文字であるときにのみ、第2の送信対象データの値をさらにチェックすることができ、第2の送信対象データの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断することができることに留意されたい。したがって、第2のタイプ指示情報の値によって示された第2の送信対象データのタイプがデータであるとき、MAC回路202は、第2のタイプ指示情報の値と第2の送信対象データの値の両方を変更する必要があるか、または第2のタイプ指示情報の値によって示された第2の送信対象データのタイプが制御文字であるとき、MAC回路202は、第2の送信対象データの値のみを変更する必要がある。
【０１０５】
ケース2
【０１０６】
第1のフラグメントをMAC回路202に送信するためにPHY回路201によって使用されるフォーマットが前述のトランスポートフォーマット2を満たすとき、第2のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、およびnバイト（n≧7）の送信対象データを含む。nバイトの送信対象データは第2の送信対象データを含み、第2のタイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2のタイプ指示情報は、複数の送信対象データの中の第2の送信対象データの位置を示すためにさらに使用される。
【０１０７】
具体的には、PHY回路201からMAC回路202によって受信された第1のフラグメントのフォーマットは、前述のトランスポートフォーマット2を満たす。言い換えれば、第2のフラグメントは、2ビットの同期ヘッダフィールド、1バイトのブロックタイプフィールド、およびnバイトの送信対象データを含む。第2の指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2のタイプ指示情報は、複数の送信対象データの中の第2の送信対象データの位置を示すためにさらに使用される。具体的な実装形態は以下の通りである：同期ヘッダフィールドは、nバイトの送信対象データがあるタイプの制御文字を有する送信対象データを含むかどうかを示し、ブロックタイプフィールドは、nバイトの送信対象データの中の第2の送信対象データの位置を示すために使用される。
【０１０８】
同期ヘッダフィールドの値、ブロックタイプフィールドの値、およびnバイトの送信対象データの値の間の対応関係については、イーサネット規格IEEE802．3−2015のセクション49．2．4．4の図49−7（Figure 49−7）を参照されたい。
【０１０９】
限定ではなく例として、同期ヘッダフィールドの値が01であるとき、それは同期ヘッダフィールドの後ろに8バイトの送信対象データがあることを示し、8バイトの送信対象データの各々はデータオクテットであり、8つのデータオクテットはそれぞれD0〜D7であり、同期ヘッダフィールドの値が10であり、ブロックタイプフィールドの値が0x1eであるとき、それはブロックタイプフィールドの後ろに8バイトの送信対象データがあることを示し、8バイトの送信対象データの各々は制御コードであり、8つの制御コードはそれぞれC0〜C7であり、C0〜C7の中の任意の制御コードの値が0x1eであるとき、それは送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示し、同期ヘッダフィールドの値が10であり、ブロックタイプフィールドの値が0x33であるとき、それはブロックタイプフィールドの後ろに8バイトの送信対象データがあることを示し、8バイトの送信対象データは4つの制御コードおよび3つのデータオクテットを含み、4つの制御コードはそれぞれC0〜C3であり、3つのデータオクテットはそれぞれD5〜D7であり、C0〜C3の中の任意の制御コードの値が0x1eであるとき、それは送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示すことが図から分かる。
【０１１０】
たとえば、第1のフラグメント内の同期ヘッダフィールドの値が01であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、第1のタイプ指示情報の値を10に変更し、同期ヘッダフィールドの後ろの8つのデータオクテットD0〜D7の中のD3を制御コードC3に変更する必要があり、制御コードC3の値は0x1eである。言い換えれば、第2のフラグメントの同期ヘッダフィールドの値は10であり、同期ヘッダフィールドの後ろの8つの送信対象データは、それぞれ、D0、D1、D2、C3、D4、D5、D6、およびD7であり、C3は第2の送信対象データである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内の同期ヘッダフィールドの値（10）に基づいて、同期ヘッダフィールドの後ろの8つの送信対象データが制御コードを含むと判断し、制御コードの値（0x1e）をさらにチェックして、最終的に、制御コードの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
【０１１１】
本出願では、ソースデバイスがイーサネットフレームを生成し、少なくとも1つの転送デバイスを使用して宛先デバイスにイーサネットフレームを送信する。転送デバイスは、受信されたイーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したと判断する。転送デバイスは、受信されたイーサネットフレームを変更する。変更されたイーサネットフレームは、第2のフラグメントを含む。宛先デバイスによって受信されたイーサネットフレームは、ソースデバイスによって生成されたイーサネットフレームとは異なる。本出願では、宛先デバイスによって受信されたイーサネットフレームは、異なるオブジェクトを区別するために、新しいイーサネットフレームと呼ばれる。
【０１１２】
別の例では、第1のフラグメント内の同期ヘッダフィールドの値が10であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、ブロックタイプフィールドの後ろにあるC0〜C3またはD5〜D7の中のいずれか1つの値のみを0x1eに変更する必要がある（たとえば、C0〜C3の中のC2の値が0x1eに変更されるか、またはD5〜D7の中のD6が制御コードC6に変更される）。言い換えれば、第2のフラグメントの同期ヘッダフィールドの値は10であり、同期ヘッダフィールドの後ろの8つの送信対象データの中のC2の値は0x1eであり、他の送信対象データの値は変更されないままであり、C2は第2の送信対象データである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内の同期ヘッダフィールドの値（10）に基づいて、同期ヘッダフィールドの後ろの8つの送信対象データが制御コードを含むと判断し、ブロックタイプフィールドの値0x33に基づいて、ブロックタイプフィールドの後ろのC0〜C3上の送信対象データが制御コードであると判断し、制御コードの値（0x1e）をさらにチェックして、最終的に、制御コードの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
【０１１３】
ブロックタイプフィールドはブロックタイプフィールドの後ろの8バイトの送信対象データの中の制御コードの位置を示すために使用されるので、D5〜D7の中のD6が制御コードC6に変更されると、ブロックタイプフィールドの値もそれに対応して変更される必要があることに留意されたい。
【０１１４】
前述の新しいイーサネットフレームは、第2のフラグメントおよび第1のフラグメントを除く複数のフラグメントを含むイーサネットフレームであることにさらに留意されたい。
【０１１５】
本出願のこの実施形態では、第2のフラグメントは、第1のフラグメント内の第1のタイプ指示情報および／または第1の送信対象データが変更された後に取得され、その結果、次の転送デバイスは、第2のフラグメントに基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断する。
【０１１６】
宛先デバイス104は、第2のフラグメント内の第2のタイプ指示情報の値によって示された第2の送信対象データのタイプが制御文字であるときにのみ、第2の送信対象データの値をさらにチェックすることができ、第2の送信対象データの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断することができることに留意されたい。したがって、第2のタイプ指示情報の値によって示された第2の送信対象データのタイプがデータであるとき、MAC回路202は、第2のタイプ指示情報の値と第2の送信対象データの値の両方を変更する必要があるか、または第2のタイプ指示情報の値によって示された第2の送信対象データのタイプが制御文字であるとき、MAC回路202は、第2の送信対象データの値のみを変更する必要がある。
【０１１７】
以下で、宛先デバイス104がケース1およびケース2において新しいイーサネットフレーム内でエラーが発生したと判断する詳細なプロセスを記載する。
【０１１８】
宛先デバイス104は、第2のフラグメントおよび複数のフラグメントの中の第1のフラグメント以外のフラグメントを受信し、宛先デバイス104は、第2のフラグメントに基づいて、新しいイーサネットフレーム内でエラーが発生したと判断し、新しいイーサネットフレームは、第2のフラグメントおよび複数のフラグメントの中の第1のフラグメント以外のフラグメントを含み、宛先デバイス104は、イーサネットフレーム内でエラーが発生したと判断したことに応答して、新しいイーサネットフレームを廃棄する。
【０１１９】
限定ではなく例として、宛先デバイス104のPHY回路201は、物理コーディングサブレイヤ受信機（PCS receiver）を含み、宛先デバイスが、第2のフラグメントに基づいて、新しいイーサネットフレーム内でエラーが発生したと判断することは、以下を含む。
【０１２０】
宛先デバイス104が、第2のフラグメント内の第2の送信対象データに応答し、PHY回路201のPCS receiverがRX＿E状態に入り、RX＿E状態にあるPHY回路201のPCS receiverがMAC回路202に信号を送信する。
【０１２１】
信号は、値が1のRxCフィールドおよび値が0xFEのRxDフィールドを含み、MAC回路202は、信号内のRxCフィールドの値およびRxDフィールドの値に基づいて、新しいイーサネットフレーム内でエラーが発生したと判断するか、または
信号は、値が10の同期ヘッダフィールド、値が0x33のブロックタイプフィールド、ならびにC0〜C3およびD5〜D7を含み、C2の値は0x1eであり、MAC回路202は、信号内にある同期ヘッダフィールドの値、ブロックタイプフィールドの値、およびC2の値に基づいて、新しいイーサネットフレーム内でエラーが発生したと判断する。
【０１２２】
限定ではなく例として、宛先デバイス104が、新しいイーサネットフレーム内でエラーが発生したと判断したことに応答して、新しいイーサネットフレームを廃棄することは、以下を含む。
【０１２３】
宛先デバイス104内のMAC回路202が新しいイーサネットフレームを廃棄する。
【０１２４】
転送デバイス102および宛先デバイス104が隣接するとき、言い換えれば、転送デバイス102と宛先デバイス104との間に転送デバイスがないとき、変更されたフラグメントは、転送デバイス102によって宛先デバイス104に直接送信されるか、または転送デバイス102と宛先デバイス104との間に別の転送デバイスがあるとき、第2のフラグメントは、最初に転送デバイス102によって転送デバイス102の後ろの転送デバイスに送信され、次いで、転送デバイス102の後ろの転送デバイス（たとえば、転送デバイス103）が第2のフラグメントを宛先デバイス104に送信することに留意されたい。
【０１２５】
以下で、転送デバイス103が、転送デバイス102から受信されたイーサネットフレームの複数のフラグメントを宛先デバイス104に送信する方法400を記載する。
【０１２６】
図4は、本出願の一実施形態による、データ送信方法400の概略フローチャートであり、方法は401および402を含む。方法400は、図1または図2に示された転送デバイス103によって実行されてよい。
【０１２７】
401．第2の転送デバイスが最初のフラグメントおよび第1のフラグメントを受信し、第1のフラグメントはタイプ指示情報および送信対象データを含み、タイプ指示情報は送信対象データのタイプを示すために使用され、送信対象データのタイプは制御文字であり、送信対象データはイーサネットフレーム内でエラーが発生したことを示すために使用される。
【０１２８】
イーサネットフレームは最初のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、第2の転送デバイスのMACアドレスは宛先MACアドレスフィールドの値と等しくない。
【０１２９】
たとえば、第2の転送デバイスはイーサネット受信ポートを含む。イーサネット受信ポートはPHY回路を含む。第2の転送デバイスは、イーサネット受信ポートに含まれるPHY回路を使用して、最初のフラグメントおよび第1のフラグメントを受信することができる。401の具体的な実装形態については、図3に示された実施形態における301の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１３０】
具体的には、転送デバイス103（たとえば、第2の転送デバイス）のPHY回路201は、方法300において転送デバイス102のPHY回路204によって送信された変更されたフラグメント（たとえば、第1のフラグメント）を受信し、変更されたフラグメントを転送デバイス103のMAC回路202に送信する。変更されたフラグメントはタイプ指示情報および送信対象データを含み、タイプ指示情報は、送信対象データのタイプが制御文字であることを示すために使用され、送信対象データは、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示すために使用される。イーサネットフレームは最初のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値は宛先デバイス104のMACアドレスと等しく、転送デバイス103のMACアドレスは宛先MACアドレスフィールドの値と等しくない。
【０１３１】
402．第2の転送デバイスが第1のフラグメントを宛先デバイスに送信する。
【０１３２】
たとえば、第2の転送デバイスはイーサネット送信ポートを含む。402の具体的な実装形態については、図3に示された実施形態における305の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１３３】
限定ではなく例として、転送デバイス103が最初のフラグメントおよび第1のフラグメントを受信した後、転送デバイス103が第1のフラグメントを宛先デバイス104に送信する前に、方法400は以下をさらに含む。
【０１３４】
転送デバイス103が、宛先MACアドレスフィールドに基づいて、転送デバイス103のMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断する。
【０１３５】
転送デバイス103が第1のフラグメントを宛先デバイス104に送信することは以下を含む。
【０１３６】
転送デバイス103のMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断したことに応答して、転送デバイス103が第1のフラグメントを宛先デバイス104に送信する。
【０１３７】
具体的には、第1のフラグメントを宛先デバイス104に送信する前に、転送デバイス103は、転送デバイス103のMACアドレスが最初のフラグメントに含まれる宛先MACアドレスフィールドの値と等しくないと判断し、転送デバイス103が宛先デバイスではないとさらに判断し、第1のフラグメントを宛先デバイス104に送信することを決定する。
【０１３８】
限定ではなく例として、イーサネットフレームは第2のフラグメントをさらに含み、転送デバイス103が第1のフラグメントを受信する前に、イーサネットフレームに対してCRCチェックが実行された後、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第2のフラグメントは第1のフラグメントに変更される。
【０１３９】
具体的には、イーサネットフレームは第2のフラグメントをさらに含む。転送デバイス102がイーサネットフレーム内でエラーが発生したと判断すると、イーサネットフレームに対してCRCチェックが実行された後、イーサネットフレーム内でエラーが発生したと判断したことに応答して、転送デバイス102は、第2のフラグメントを第1のフラグメントに変更し、第1のフラグメントを転送デバイス103に送信する。
【０１４０】
限定ではなく例として、転送デバイス103のPHY回路201は、物理コーディングサブレイヤ（physical coding sublayer、PCS）receiverを含む。転送デバイス103のPHY回路201が第1のフラグメントを受信した後、第1のフラグメント内の送信対象データに応答して、PCS receiverはRX＿E状態に入る。さらに、PHY回路201は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断することができる。
【０１４１】
限定ではなく例として、第1のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドはタイプ指示情報を搬送し、RxDフィールドは送信対象データを搬送する。
【０１４２】
限定ではなく例として、RxCフィールドの値は1に等しく、RxDフィールドの値は0xFEに等しい。
【０１４３】
限定ではなく例として、第1のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは送信対象データを含み、同期ヘッダフィールドおよびブロックタイプフィールドはタイプ指示情報を搬送する。
【０１４４】
限定ではなく例として、同期ヘッダフィールドの値は0x10に等しく、送信対象データの値は0x1eに等しい。
【０１４５】
限定ではなく例として、第2のフラグメント内の送信対象データは、イーサネットフレームのフレームチェックシーケンスFCSフィールドを含むか、または第2のフラグメントは、イーサネットフレームのフレームチェックシーケンスFCSフィールドを含まない。
【０１４６】
図1〜図4を参照して、前述で、本出願の実施形態において提供されたデータ送信方法を記載している。図5〜図8を参照して、以下で、本出願の実施形態において提供される転送装置、転送デバイス、宛先装置、および宛先デバイスを記載する。
【０１４７】
図5は、本出願の一実施形態による、転送装置500の概略ブロック図である。転送装置500は、受信モジュール510、処理モジュール520、および送信モジュール530を含む。
【０１４８】
たとえば、転送装置500は、図1または図2に示された転送デバイス102であってよい。転送装置500は、図3に示された方法を実行するように構成されてよい。転送装置500の具体的な実装形態については、図3に対応する実施形態の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１４９】
受信モジュール510は、イーサネットフレームの複数のフラグメントを受信するように構成され、複数のフラグメントは最初のフラグメントおよび第1のフラグメントを含み、最初のフラグメントは宛先媒体アクセス制御MACアドレスフィールドを含む。
【０１５０】
たとえば、受信モジュール510は、301を実行するように構成されてよい。受信モジュール510の具体的な実装形態については、図3に対応する実施形態における301の説明を参照されたい。
【０１５１】
処理モジュール520は、複数のフラグメントに基づいてイーサネットフレームのフレームチェックシーケンスFCS値を決定し、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断し、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第1のフラグメントを第2のフラグメントに変更するように構成され、第1のフラグメントは第1のタイプ指示情報および第1の送信対象データを含み、第2のフラグメントは第2のタイプ指示情報および第2の送信対象データを含み、第1のタイプ指示情報は第1の送信対象データのタイプを示すために使用され、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第1の送信対象データの値は第2の送信対象データの値と等しくなく、第2の送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用される。
【０１５２】
たとえば、処理モジュール520は、302、303、および304を実行するように構成されてよい。処理モジュール520の具体的な実装形態については、図3に対応する実施形態における302、303、および304の説明を参照されたい。
【０１５３】
送信モジュール530は、第2のフラグメントを宛先デバイスに送信するように構成され、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、宛先デバイスのMACアドレスは転送デバイスのMACアドレスと等しくない。
【０１５４】
たとえば、送信モジュール530は、305を実行するように構成されてよい。送信モジュール530の具体的な実装形態については、図3に対応する実施形態における305の説明を参照されたい。
【０１５５】
場合によっては、処理モジュール520は、第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しくないとき、第1のフラグメント内の第1のタイプ指示情報および第1の送信対象データを、それぞれ、第2のタイプ指示情報および第2の送信対象データに変更するか、または第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しいとき、第1のフラグメント内の第1の送信対象データを第2の送信対象データに変更するように構成される。
【０１５６】
場合によっては、第2のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドは第2のタイプ指示情報を搬送し、RxDフィールドは第2の送信対象データを搬送する。
【０１５７】
場合によっては、RxCフィールドの値は1であり、RxDフィールドの値は0xFEに等しい。
【０１５８】
場合によっては、第2のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは第2の送信対象データを含み、第2のタイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2のタイプ指示情報は、複数の送信対象データの中の第2の送信対象データの位置を示すためにさらに使用される。
【０１５９】
場合によっては、第2の送信対象データの値は0x1eに等しい。
【０１６０】
場合によっては、第1のフラグメント内の送信対象データはFCSフィールドを含むか、または第1のフラグメントはFCSフィールドを含まない。
【０１６１】
場合によっては、処理モジュール520は、FCS値がFCSフィールドの値と等しくないとき、イーサネットフレーム内でエラーが発生したと判断するように構成される。
【０１６２】
本発明のこの実施形態における処理モジュール520は、プロセッサまたはプロセッサに関連する回路構成要素によって実装されてよく、受信モジュール510および送信モジュール530は、トランシーバまたはトランシーバに関連する回路構成要素によって実装されてよいことを理解されたい。
【０１６３】
図6は、本出願の一実施形態による、転送装置600の概略ブロック図である。転送装置600は、受信モジュール610および送信モジュール620を含む。
【０１６４】
たとえば、転送装置600は、図1または図2に示された転送デバイス103であってよい。転送装置600は、図4に示された方法を実行するように構成されてよい。転送装置600の具体的な実装形態については、図4に対応する実施形態の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１６５】
受信モジュール610は、最初のフラグメントおよび第1のフラグメントを受信するように構成され、第1のフラグメントはタイプ指示情報および送信対象データを含み、タイプ指示情報は送信対象データのタイプを示すために使用され、送信対象データのタイプは制御文字であり、送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用され、イーサネットフレームは最初のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、転送デバイスのMACアドレスは宛先MACアドレスフィールドの値と等しくない。
【０１６６】
たとえば、受信モジュール610は、401を実行するように構成されてよい。受信モジュール610の具体的な実装形態については、図4に対応する実施形態における401の説明を参照されたい。
【０１６７】
送信モジュール620は、第1のフラグメントを宛先デバイスに送信するように構成される。
【０１６８】
たとえば、送信モジュール620は、402を実行するように構成されてよい。送信モジュール620の具体的な実装形態については、図4に対応する実施形態における402の説明を参照されたい。
【０１６９】
場合によっては、イーサネットフレームは第2のフラグメントをさらに含み、転送デバイスが第1のフラグメントを受信する前に、イーサネットフレームに対してCRCチェックが実行された後、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第2のフラグメントは第1のフラグメントに変更される。
【０１７０】
場合によっては、宛先装置600は処理モジュール630をさらに含み、処理モジュール630は、
受信モジュール610が最初のフラグメントおよび第1のフラグメントを受信した後、かつ送信モジュール620が第1のフラグメントを宛先デバイスに送信する前に、宛先MACアドレスフィールドに基づいて、転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断する
ように構成され、
送信モジュール620は、
転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断したことに応答して、第1のフラグメントを宛先デバイスに送信する
ように構成される。
【０１７１】
場合によっては、受信モジュール610はPCS receiverを含み、PCS receiverは、受信モジュール610が第1のフラグメントを受信した後、送信対象データに応答して、PCS receiverがRX＿E状態に入るように構成される。
【０１７２】
場合によっては、第1のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドはタイプ指示情報を搬送し、RxDフィールドは送信対象データを搬送する。
【０１７３】
場合によっては、RxCフィールドの値は1に等しく、RxDフィールドの値は0xFEに等しい。
【０１７４】
場合によっては、第1のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは送信対象データを含み、タイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、タイプ指示情報は、送信対象データのタイプが制御文字であることを示すために使用され、タイプ指示情報は、複数の送信対象データの中の送信対象データの位置を示すためにさらに使用される。
【０１７５】
場合によっては、同期ヘッダフィールドの値は0x10に等しく、送信対象データの値は0x1Eに等しい。
【０１７６】
場合によっては、第2のフラグメント内の送信対象データは、イーサネットフレームのフレームチェックシーケンスFCSフィールドを含むか、または第2のフラグメントは、イーサネットフレームのフレームチェックシーケンスFCSフィールドを含まない。
【０１７７】
本発明のこの実施形態における処理モジュール630は、プロセッサまたはプロセッサに関連する回路構成要素によって実装されてよく、受信モジュール610および送信モジュール620は、トランシーバまたはトランシーバに関連する回路構成要素によって実装されてよいことを理解されたい。
【０１７８】
図7は、本出願の一実施形態による、転送デバイス700の概略ブロック図である。転送デバイス700は、受信回路710、処理回路720、および送信回路730を含む。
【０１７９】
たとえば、転送デバイス700は、図1または図2に示された転送デバイス102であってよい。転送デバイス700は、図3に示された方法を実行するように構成されてよい。転送デバイス700の具体的な実装形態については、図3に対応する実施形態の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１８０】
受信回路710は、イーサネットフレームの複数のフラグメントを受信するように構成され、複数のフラグメントは最初のフラグメントおよび第1のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含む。
【０１８１】
たとえば、受信回路710は、301を実行するように構成されてよい。受信回路710の具体的な実装形態については、図3に対応する実施形態における301の説明を参照されたい。
【０１８２】
処理回路720は、複数のフラグメントに基づいてイーサネットフレームのフレームチェックシーケンスFCS値を決定し、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断し、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第1のフラグメントを第2のフラグメントに変更するように構成され、第1のフラグメントは第1のタイプ指示情報および第1の送信対象データを含み、第2のフラグメントは第2のタイプ指示情報および第2の送信対象データを含み、第1のタイプ指示情報は第1の送信対象データのタイプを示すために使用され、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第1の送信対象データの値は第2の送信対象データの値と等しくなく、第2の送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用される。
【０１８３】
たとえば、処理回路720は、302、303、および304を実行するように構成されてよい。処理回路720の具体的な実装形態については、図3に対応する実施形態における302、303、および304の説明を参照されたい。
【０１８４】
送信回路730は、第2のフラグメントを宛先デバイスに送信するように構成され、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、宛先デバイスのMACアドレスは転送デバイスのMACアドレスと等しくない。
【０１８５】
たとえば、送信回路730は、305を実行するように構成されてよい。送信回路730の具体的な実装形態については、図3に対応する実施形態における305の説明を参照されたい。
【０１８６】
場合によっては、処理回路720は、第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しくないとき、第1のフラグメント内の第1のタイプ指示情報および第1の送信対象データを、それぞれ、第2のタイプ指示情報および第2の送信対象データに変更するか、または第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しいとき、第1のフラグメント内の第1の送信対象データを第2の送信対象データに変更するように構成される。
【０１８７】
場合によっては、第2のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドは第2のタイプ指示情報を搬送し、RxDフィールドは第2の送信対象データを搬送する。
【０１８８】
場合によっては、RxCフィールドの値は1であり、RxDフィールドの値は0xFEに等しい。
【０１８９】
場合によっては、第2のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは第2の送信対象データを含み、第2のタイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2のタイプ指示情報は、複数の送信対象データの中の第2の送信対象データの位置を示すためにさらに使用される。
【０１９０】
場合によっては、第2の送信対象データの値は0x1eに等しい。
【０１９１】
場合によっては、第1のフラグメント内の送信対象データはFCSフィールドを含むか、または第1のフラグメントはFCSフィールドを含まない。
【０１９２】
場合によっては、処理回路720は、FCS値がFCSフィールドの値と等しくないとき、イーサネットフレーム内でエラーが発生したと判断するように構成される。
【０１９３】
図8は、本出願の一実施形態による、転送デバイス800の概略ブロック図である。転送デバイス800は、受信回路810、送信回路820、および処理回路830を含む。
【０１９４】
たとえば、転送デバイス800は、図1または図2に示された転送デバイス103であってよい。転送デバイス800は、図4に示された方法を実行するように構成されてよい。転送デバイス800の具体的な実装形態については、図4に対応する実施形態の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１９５】
受信回路810は、最初のフラグメントおよび第1のフラグメントを受信するように構成され、第1のフラグメントはタイプ指示情報および送信対象データを含み、タイプ指示情報は送信対象データのタイプを示すために使用され、送信対象データのタイプは制御文字であり、送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用され、イーサネットフレームは最初のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、転送デバイスのMACアドレスは宛先MACアドレスフィールドの値と等しくない。
【０１９６】
たとえば、受信回路810は、401を実行するように構成されてよい。受信回路810の具体的な実装形態については、図4に対応する実施形態における401の説明を参照されたい。
【０１９７】
送信回路820は、第1のフラグメントを宛先デバイスに送信するように構成される。
【０１９８】
たとえば、送信回路820は、402を実行するように構成されてよい。送信回路820の具体的な実装形態については、図4に対応する実施形態における402の説明を参照されたい。
【０１９９】
場合によっては、イーサネットフレームは第2のフラグメントをさらに含み、転送デバイスが第1のフラグメントを受信する前に、イーサネットフレームに対してCRCチェックが実行された後、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第2のフラグメントは第1のフラグメントに変更される。
【０２００】
場合によっては、宛先装置600は処理回路830をさらに含み、処理回路830は、
受信回路810が最初のフラグメントおよび第1のフラグメントを受信した後、かつ送信回路820が第1のフラグメントを宛先デバイスに送信する前に、宛先MACアドレスフィールドに基づいて、転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断する
ように構成され、
送信回路820は、
転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断したことに応答して、第1のフラグメントを宛先デバイスに送信する
ように構成される。
【０２０１】
場合によっては、受信回路810は、物理コーディングサブレイヤ受信機PCS receiverを含み、PCS receiverは、受信回路810が第1のフラグメントを受信した後、送信対象データに応答して、PCS receiverがRX＿E状態に入るように構成される。
【０２０２】
場合によっては、第1のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドはタイプ指示情報を搬送し、RxDフィールドは送信対象データを搬送する。
【０２０３】
場合によっては、RxCフィールドの値は1に等しく、RxDフィールドの値は0xFEに等しい。
【０２０４】
場合によっては、第1のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは送信対象データを含み、タイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、タイプ指示情報は、送信対象データのタイプが制御文字であることを示すために使用され、タイプ指示情報は、複数の送信対象データの中の送信対象データの位置を示すためにさらに使用される。
【０２０５】
場合によっては、同期ヘッダフィールドの値は0x10に等しく、送信対象データの値は0x1Eに等しい。
【０２０６】
場合によっては、第2のフラグメント内の送信対象データは、イーサネットフレームのフレームチェックシーケンスFCSフィールドを含むか、または第2のフラグメントは、イーサネットフレームのフレームチェックシーケンスFCSフィールドを含まない。
【０２０７】
本発明のこの実施形態におけるプロセッサは中央処理装置（Central Processing Unit、CPU）であってよく、別の汎用プロセッサ、デジタル信号プロセッサ（Digital Signal Processor、DSP）、特定用途向け集積回路（Application Specific Integrated Circuit、ASIC）、フィールドプログラマブルゲートアレイ（Field Programmable Gate Array、FPGA）または別のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理デバイス、個別ハードウェア構成要素などであってもよいことを理解されたい。汎用プロセッサはマイクロプロセッサであってよく、またはプロセッサは任意の従来のプロセッサなどであってよい。
【０２０８】
本発明の実施形態で言及されたメモリは、揮発性メモリまたは不揮発性メモリであってもよく、揮発性メモリおよび不揮発性メモリを含んでもよいことを理解されたい。不揮発性メモリは、読取り専用メモリ（Read−Only Memory、ROM）、プログラマブル読取り専用メモリ（Programmable ROM、PROM）、消去可能プログラマブル読取り専用メモリ（Erasable PROM、EPROM）、電気的消去可能プログラマブル読取り専用メモリ（Electrically EPROM、EEPROM）、またはフラッシュメモリであってよい。揮発性メモリは、外部キャッシュとして使用されるランダムアクセスメモリ（Random Access Memory、RAM）であってよい。限定的な説明ではなく例として、多くの形態のRAM、たとえば、スタティックランダムアクセスメモリ（Static RAM、SRAM）、ダイナミックランダムアクセスメモリ（Dynamic RAM、DRAM）、同期式ダイナミックランダムアクセスメモリ（Synchronous DRAM、SDRAM）、ダブルデータレート同期式ダイナミックランダムアクセスメモリ（Double Data Rate SDRAM、DDR SDRAM）、拡張同期式ダイナミックランダムアクセスメモリ（Enhanced SDRAM、ESDRAM）、シンクリンクダイナミックランダムアクセスメモリ（Synchlink DRAM、SLDRAM）、およびダイレクトラムバスランダムアクセスメモリ（Direct Rambus RAM、DR RAM）が使用されてよい。
【０２０９】
プロセッサが汎用プロセッサ、DSP、ASIC、FPGAもしくは別のプログラマブル倫理デバイス、個別ゲートもしくはトランジスタ論理デバイス、または個別ハードウェア構成要素であるとき、メモリ（ストレージモジュール）はプロセッサに統合されていることに留意されたい。
【０２１０】
本明細書に記載されたメモリは、これらのメモリおよび別の適切なタイプのメモリを含むものであるが、それらに限定されないことに留意されたい。
【０２１１】
本明細書に開示された実施形態に記載された例と組み合わせて、ユニットおよびアルゴリズムステップは、電子ハードウェア、またはコンピュータソフトウェアと電子ハードウェアの組合せによって実装されてよいことを当業者なら認識されよう。機能がハードウェアによって実行されるか、またはコンピュータソフトウェアと回路ハードウェアの組合せによって実行されるかは、技術的解決策の特定の用途および設計制約条件に依存する。当業者は、様々な方法を使用して、特定の用途ごとに記載された機能を実施することができる。
【０２１２】
便利で簡潔な説明のために、上記のシステム、装置、およびユニットの詳細な動作プロセスについては、上記の方法実施形態における対応するプロセスを参照されたく、本明細書では詳細は再び記載されないことを当業者なら明確に理解されよう。
【０２１３】
本出願において提供されたいくつかの実施形態では、開示されたシステム、装置、および方法は他の方式で実装されてよいことを理解されたい。たとえば、記載された装置実施形態は一例にすぎない。たとえば、ユニット分割は論理的な機能分割にすぎず、実際の実装形態では他の分割であってよい。たとえば、複数のユニットまたは構成要素は組み合わされるか、もしくは別のシステムに統合されてよく、または、いくつかの機能は無視されるか、もしくは実行されなくてよい。加えて、表示または説明された相互結合または直接結合または通信接続は、いくつかのインターフェースを使用することによって実装されてよい。装置間またはユニット間の間接結合または通信接続は、電気、機械、または他の形態で実装されてよい。
【０２１４】
別々の構成要素として記載されたユニットは、物理的に分かれていても、分かれていなくてもよく、ユニットとして表示された構成要素は、物理ユニットであってもそうでなくてもよく、1つの場所に配置されてもよく、または複数のネットワークユニット上に分散されてもよい。ユニットの一部またはすべては、実施形態の解決策の目的を達成するために、実際の要件に基づいて選択されてよい。
【０２１５】
加えて、本出願の実施形態における機能ユニットは1つの処理ユニットに統合されてよく、またはユニットの各々は物理的に単独で存在してよく、または2つ以上のユニットが1つのユニットに統合される。
【０２１６】
機能がソフトウェア機能ユニットの形態で実装され、独立した製品として販売または使用されるとき、機能はコンピュータ可読記憶媒体に記憶されてよい。そのような理解に基づいて、本出願の技術的解決策は本質的に、または従来技術に寄与する部分は、または技術的解決策の一部は、ソフトウェア製品の形態で実装されてよい。コンピュータソフトウェア製品は記憶媒体に記憶され、本出願の実施形態に記載された方法のステップのすべてまたは一部を実行するように、（パーソナルコンピュータ、サーバ、またはネットワークデバイスであってよい）コンピュータデバイスに命令するためのいくつかの命令を含む。前述の記憶媒体には、USBフラッシュドライブ、リムーバブルハードディスク、読取り専用メモリ（Read−Only Memory、ROM）、ランダムアクセスメモリ（Random Access Memory、RAM）、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる任意の媒体が含まれる。
【符号の説明】
【０２１７】
100  イーサネットシステム
101  ソースデバイス
102  転送デバイス
103  転送デバイス
104  宛先デバイス
201  PHY回路
202  MAC回路
203  MAC回路
204  PHY回路
300  データ送信方法
400  データ送信方法
500  転送装置
510  受信モジュール
520  処理モジュール
530  送信モジュール
600  転送装置
610  受信モジュール
620  送信モジュール
630  処理モジュール
700  転送デバイス
710  受信回路
720  処理回路
730  送信回路
800  転送デバイス
810  受信回路
820  送信回路
830  処理回路
【図１】
2021517428.tif 000003
【図２】
2021517428.tif 000004
【図３】
2021517428.tif 000005
【図４】
2021517428.tif 000006
【図５】
2021517428.tif 000007
【図６】
2021517428.tif 000008
【図７】
2021517428.tif 000009
【図８】
2021517428.tif 000010
【手続補正書】
【提出日】令和2年11月10日(2020.11.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークデバイスによって実行される方法であって、
イーサネットフレームの複数のフラグメントを受信するステップであって、前記複数のフラグメントが最初のフラグメントおよび第1のフラグメントを備え、前記最初のフラグメントが宛先媒体アクセス制御（MAC）アドレスフィールドを備える、ステップと、
前記イーサネットフレーム内でエラーが発生したことに応答して、前記第1のフラグメントを第2のフラグメントに変更するステップであって、前記第1のフラグメントが第1のタイプ指示情報および第1の送信対象データを備え、前記第2のフラグメントが第2のタイプ指示情報および第2の送信対象データを備え、前記第1のタイプ指示情報が前記第1の送信対象データのタイプを示すために使用され、前記第2のタイプ指示情報が、前記第2の送信対象データのタイプが制御文字であることを示すために使用され、前記第1の送信対象データの値が前記第2の送信対象データの値と等しくなく、前記第2の送信対象データが、前記イーサネットフレーム内でエラーが発生したことを示すために使用される、ステップと、
前記第2のフラグメントを宛先デバイスに送信するステップであって、前記宛先MACアドレスフィールドの値が前記宛先デバイスのMACアドレスと等しく、前記宛先デバイスの前記MACアドレスが前記ネットワークデバイスのMACアドレスと等しくない、ステップと
を備える、方法。
【請求項２】
前記第1のフラグメントを第2のフラグメントに変更する前記ステップが、
前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しくないとき、第1の転送デバイスにより、前記第1のフラグメント内の前記第1のタイプ指示情報および前記第1の送信対象データを前記第2のタイプ指示情報および前記第2の送信対象データにそれぞれ変更するステップと、
前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しいとき、前記第1のフラグメント内の前記第1の送信対象データを前記第2の送信対象データに変更するステップ
のうちの1つを備える、請求項1に記載の方法。
【請求項３】
前記第2のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記第2のタイプ指示情報を搬送し、前記RxDフィールドが前記第2の送信対象データを搬送する、請求項1または2に記載の方法。
【請求項４】
前記RxCフィールドの値が1であり、前記RxDフィールドの値が0xFEに等しい、請求項3に記載の方法。
【請求項５】
前記第2のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記第2の送信対象データを備え、前記第2のタイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記第2のタイプ指示情報が、前記複数の送信対象データの中の前記第2の送信対象データの位置を示すためにさらに使用される、
請求項1または2に記載の方法。
【請求項６】
前記第2の送信対象データの前記値が0x1Eに等しい、請求項5に記載の方法。
【請求項７】
前記第1のフラグメント内の送信対象データがフレームチェックシーケンス（FCS）フィールドを備えるか、または前記第1のフラグメントがFCSフィールドを備えない、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記第1の転送デバイスにより、前記複数のフラグメントに基づいて、前記イーサネットフレームのFCS値を決定するステップと、
前記FCS値に基づいて、前記イーサネットフレーム内でエラーが発生したと判断するステップと
をさらに備える、請求項7に記載の方法。
【請求項９】
前記FCS値に基づいて、前記イーサネットフレーム内でエラーが発生したと判断する前記ステップが、
前記FCS値が前記FCSフィールドの値と等しくないとき前記イーサネットフレーム内でエラーが発生したと判断するステップ
を備える、請求項8に記載の方法。
【請求項１０】
ネットワークデバイスによる方法であって、
最初のフラグメントおよび第1のフラグメントを受信するステップであって、前記第1のフラグメントがタイプ指示情報および送信対象データを備え、前記タイプ指示情報が前記送信対象データのタイプを示すために使用され、前記送信対象データの前記タイプが制御文字であり、前記送信対象データが、イーサネットフレーム内でエラーが発生したことを示すために使用され、前記イーサネットフレームが前記最初のフラグメントを備え、前記最初のフラグメントが宛先媒体アクセス制御（MAC）アドレスフィールドを備え、前記宛先MACアドレスフィールドの値が宛先デバイスのMACアドレスと等しく、第2の転送デバイスのMACアドレスが前記宛先MACアドレスフィールドの前記値と等しくない、ステップと、
前記第1のフラグメントを前記宛先デバイスに送信するステップと
を備える、方法。
【請求項１１】
前記イーサネットフレームが第2のフラグメントをさらに備え、前記ネットワークデバイスが前記第1のフラグメントを受信し、前記イーサネットフレーム内でエラーが発生する前に、前記第2のフラグメントが前記第1のフラグメントに変更される、請求項10に記載の方法。
【請求項１２】
最初のフラグメントおよび第1のフラグメントを受信する前記ステップの後、かつ前記第1のフラグメントを前記宛先デバイスに送信する前記ステップの前に、前記方法が、
前記宛先MACアドレスフィールドに基づいて、転送デバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと判断するステップ
をさらに備え、
前記第1のフラグメントを前記宛先デバイスに送信する前記ステップが、
前記第2の転送デバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと判断する前記ステップに応答して、前記第1のフラグメントを前記宛先デバイスに送信するステップ
を備える、請求項10または11に記載の方法。
【請求項１３】
前記ネットワークデバイスが、物理コーディングサブレイヤ受信機（PCS）receiverを備え、前記ネットワークデバイスが前記第1のフラグメントを受信した後に、前記方法が、
前記送信対象データに応答して、前記PCS receiverがRX＿E状態に入ること
をさらに備える、請求項10から12のいずれか一項に記載の方法。
【請求項１４】
前記第1のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記タイプ指示情報を搬送し、前記RxDフィールドが前記送信対象データを搬送する、請求項10から13のいずれか一項に記載の方法。
【請求項１５】
前記RxCフィールドの値が1に等しく、前記RxDフィールドの値が0xFEに等しい、請求項14に記載の方法。
【請求項１６】
前記第1のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記送信対象データを備え、前記タイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記タイプ指示情報が、前記送信対象データの前記タイプが制御文字であることを示すために使用され、前記タイプ指示情報が、前記複数の送信対象データの中の前記送信対象データの位置を示すためにさらに使用される、
請求項10から13のいずれか一項に記載の方法。
【請求項１７】
前記同期ヘッダフィールドの値が0x10に等しく、前記送信対象データの値が0x1Eに等しい、請求項16に記載の方法。
【請求項１８】
前記第2のフラグメント内の送信対象データが、前記イーサネットフレームのフレームチェックシーケンスFCSフィールドを備えるか、または前記第2のフラグメントが、前記イーサネットフレームのフレームチェックシーケンスFCSフィールドを備えない、請求項11から17のいずれか一項に記載の方法。
【請求項１９】
巡回冗長検査（CRC）を使用することにより、前記イーサネットフレーム内でエラーが発生したと判断するステップ
をさらに備える、請求項10に記載の方法。
【請求項２０】
ネットワークデバイスであって、
イーサネットフレームの複数のフラグメントを受信するように構成された受信回路であって、前記複数のフラグメントが最初のフラグメントおよび第1のフラグメントを備え、前記最初のフラグメントが宛先媒体アクセス制御（MAC）アドレスフィールドを備える、受信回路と、
前記複数のフラグメントに基づいて前記イーサネットフレームのフレームチェックシーケンス（FCS）値を決定し、前記FCS値に基づいて、前記イーサネットフレーム内でエラーが発生したと判断し、前記イーサネットフレーム内でエラーが発生したと前記判断することに応答して、前記第1のフラグメントを第2のフラグメントに変更するように構成された処理回路であって、前記第1のフラグメントが第1のタイプ指示情報および第1の送信対象データを備え、前記第2のフラグメントが第2のタイプ指示情報および第2の送信対象データを備え、前記第1のタイプ指示情報が前記第1の送信対象データのタイプを示すために使用され、前記第2のタイプ指示情報が、前記第2の送信対象データのタイプが制御文字であることを示すために使用され、前記第1の送信対象データの値が前記第2の送信対象データの値と等しくなく、前記第2の送信対象データが、前記イーサネットフレーム内でエラーが発生したことを示すために使用される、処理回路と、
前記第2のフラグメントを宛先デバイスに送信するように構成された送信回路であって、前記宛先MACアドレスフィールドの値が前記宛先デバイスのMACアドレスと等しく、前記宛先デバイスの前記MACアドレスが前記ネットワークデバイスのMACアドレスと等しくない、送信回路と
を備える、ネットワークデバイス。
【請求項２１】
前記処理回路が、
前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しくないとき、前記第1のフラグメント内の前記第1のタイプ指示情報および前記第1の送信対象データを前記第2のタイプ指示情報および前記第2の送信対象データにそれぞれ変更するか、または
前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しいとき、前記第1のフラグメント内の前記第1の送信対象データを前記第2の送信対象データに変更する
ように構成される、請求項20に記載のネットワークデバイス。
【請求項２２】
前記第2のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記第2のタイプ指示情報を搬送し、前記RxDフィールドが前記第2の送信対象データを搬送する、請求項20または21に記載のネットワークデバイス。
【請求項２３】
前記RxCフィールドの値が1であり、前記RxDフィールドの値が0xFEに等しい、請求項22に記載のネットワークデバイス。
【請求項２４】
前記第2のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記第2の送信対象データを備え、前記第2のタイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記第2のタイプ指示情報が、前記第2の送信対象データの前記タイプが制御文字であることを示すために使用され、前記第2のタイプ指示情報が、前記複数の送信対象データの中の前記第2の送信対象データの位置を示すためにさらに使用される、請求項20または21に記載のネットワークデバイス。
【請求項２５】
前記第2の送信対象データの前記値が0x1eに等しい、請求項24に記載のネットワークデバイス。
【請求項２６】
前記第1のフラグメント内の送信対象データがFCSフィールドを備えるか、または前記第1のフラグメントがFCSフィールドを備えない、請求項20から25のいずれか一項に記載のネットワークデバイス。
【請求項２７】
前記処理回路が、
前記FCS値が前記FCSフィールドの値と等しくないとき、前記イーサネットフレーム内でエラーが発生したと判断する
ように構成される、請求項26に記載のネットワークデバイス。
【請求項２８】
ネットワークデバイスであって、
最初のフラグメントおよび第1のフラグメントを受信するように構成された受信回路であって、前記第1のフラグメントがタイプ指示情報および送信対象データを備え、前記タイプ指示情報が前記送信対象データのタイプを示すために使用され、前記送信対象データの前記タイプが制御文字であり、前記送信対象データが、イーサネットフレーム内でエラーが発生したことを示すために使用され、前記イーサネットフレームが前記最初のフラグメントを備え、前記最初のフラグメントが宛先MACアドレスフィールドを備え、前記宛先MACアドレスフィールドの値が宛先デバイスのMACアドレスと等しく、前記ネットワークデバイスのMACアドレスが前記宛先MACアドレスフィールドの前記値と等しくない、受信回路と、
前記第1のフラグメントを前記宛先デバイスに送信するように構成された送信回路と
を備える、ネットワークデバイス。
【請求項２９】
前記イーサネットフレームが第2のフラグメントをさらに備え、前記ネットワークデバイスが前記第1のフラグメントを受信する前に、前記イーサネットフレームに対してCRCチェックが実行された後、前記イーサネットフレーム内でエラーが発生したと判断したことに応答して、前記第2のフラグメントが前記第1のフラグメントに変更される、請求項28に記載のネットワークデバイス。
【請求項３０】
処理回路が、
前記受信回路が前記最初のフラグメントおよび前記第1のフラグメントを受信した後、かつ前記送信回路が前記第1のフラグメントを前記宛先デバイスに送信する前に、前記宛先MACアドレスフィールドに基づいて、前記ネットワークデバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと判断する
ように構成され、
前記送信回路が、
前記ネットワークデバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと前記判断することに応答して、前記第1のフラグメントを前記宛先デバイスに送信する
ように構成される、請求項28または29に記載のネットワークデバイス。
【請求項３１】
前記受信回路が物理コーディングサブレイヤ受信機（PCS）receiverを備え、前記PCS receiverが、
前記受信回路が前記第1のフラグメントを受信した後、前記送信対象データに応答して、前記PCS receiverがRX＿E状態に入る
ように構成される、請求項28から30のいずれか一項に記載のネットワークデバイス。
【請求項３２】
前記第1のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記タイプ指示情報を搬送し、前記RxDフィールドが前記送信対象データを搬送する、請求項28から31のいずれか一項に記載のネットワークデバイス。
【請求項３３】
前記RxCフィールドの値が1に等しく、前記RxDフィールドの値が0xFEに等しい、請求項32に記載のネットワークデバイス。
【請求項３４】
前記第1のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記送信対象データを備え、前記タイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記タイプ指示情報が、前記送信対象データの前記タイプが制御文字であることを示すために使用され、前記タイプ指示情報が、前記複数の送信対象データの中の前記送信対象データの位置を示すためにさらに使用される、請求項28から31のいずれか一項に記載のネットワークデバイス。
【請求項３５】
前記同期ヘッダフィールドの値が0x10に等しく、前記送信対象データの値が0x1Eに等しい、請求項34に記載のネットワークデバイス。
【請求項３６】
前記第2のフラグメント内の送信対象データが、前記イーサネットフレームのフレームチェックシーケンス（FCS）フィールドを備えるか、または前記第2のフラグメントが、前記イーサネットフレームのフレームチェックシーケンス（FCS）フィールドを備えない、請求項29から35のいずれか一項に記載のネットワークデバイス。
【請求項３７】
プログラムを備えるコンピュータ可読記憶媒体であって、前記プログラムが実行されると、請求項1から19のいずれか一項に記載の方法をコンピュータプログラムに実行させる、コンピュータ可読記憶媒体。
【請求項３８】
メモリおよびプロセッサを備えるチップシステムであって、前記メモリがコンピュータプログラムを記憶するように構成され、前記プロセッサが、前記メモリ内のコンピュータプログラムを呼び出し実行して、請求項1から19のいずれか一項に記載の方法を実行するように構成される、チップシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、通信の分野に関し、より詳細には、通信の分野におけるデータ送信方法および転送デバイスに関する。
【背景技術】
【０００２】
産業用モノのインターネットおよび車両のインターネットは、通常、複数の転送デバイスを含む。ソースデバイスによって送信されたデータは、複数の転送デバイスを使用して転送されて、宛先デバイスに到達する。複数の転送デバイスは、チェーンネットワークまたはリングネットワークを形成することができる。
【０００３】
データがチェーンネットワークまたはリングネットワークを使用して転送されるとき、各転送デバイスは何らかの遅延を発生させる可能性がある。その結果、エンドツーエンドの遅延は、一部のアプリケーションシナリオの要件を満たすことができない。
【０００４】
カットスルー転送技術は、エンドツーエンドの遅延を低減することができる。たとえば、Cut−through転送技術では、転送デバイスは、イーサネットフレーム全体を受信していないときに、受信されたフラグメントをネクストホップ転送デバイスに送信し始めることができる。具体的には、イーサネットフレーム1は、フラグメント1、フラグメント2、およびフラグメント3を含む。転送デバイス1は、フラグメント1のみを受信し、フラグメント2およびフラグメント3を受信していないときに、フラグメント1を転送デバイス2に送信することができる。
【０００５】
送信プロセスにおいてイーサネットフレーム内でエラーが発生する場合がある。宛先デバイスによって受信されたイーサネットフレームが比較的大量のエラーを含むとき、宛先デバイスは、受信されたイーサネットフレームに対して巡回冗長検査（CRC）を実行しても、イーサネットフレームがエラーを含むことを検出することができない場合がある。結果として、データ送信サービスにおいて例外が発生する。
【発明の概要】
【課題を解決するための手段】
【０００６】
本出願は、イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるのに役立つデータ送信方法を提供する。
【０００７】
第1の態様によれば、データ送信方法が提供され、第1の転送デバイスにより、イーサネットフレームの複数のフラグメントを受信するステップであって、複数のフラグメントが最初のフラグメントおよび第1のフラグメントを含み、最初のフラグメントが宛先媒体アクセス制御（MAC）アドレスフィールドを含む、ステップと、第1の転送デバイスにより、複数のフラグメントに基づいてイーサネットフレームのフレームチェックシーケンス（FCS）値を決定するステップと、第1の転送デバイスにより、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断するステップと、第1の転送デバイスにより、イーサネットフレーム内でエラーが発生したと判断するステップに応答して、第1のフラグメントを第2のフラグメントに変更するステップであって、第1のフラグメントが第1のタイプ指示情報および第1の送信対象データを含み、第2のフラグメントが第2のタイプ指示情報および第2の送信対象データを含み、第1のタイプ指示情報が第1の送信対象データのタイプを示すために使用され、第2のタイプ指示情報が、第2の送信対象データのタイプが制御文字であることを示すために使用され、第1の送信対象データの値が第2の送信対象データの値と等しくなく、第2の送信対象データが、イーサネットフレーム内でエラーが発生したことを示すために使用される、ステップと、第1の転送デバイスにより、第2のフラグメントを宛先デバイスに送信するステップであって、宛先MACアドレスフィールドの値が宛先デバイスのMACアドレスと等しく、宛先デバイスのMACアドレスが第1の転送デバイスのMACアドレスと等しくない、ステップとを含む。
【０００８】
イーサネットフレームがソースデバイスから宛先デバイスに送信されるプロセスでは、転送デバイスは、イーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したかどうかを見つける。転送デバイスがイーサネットフレーム内でエラーが発生したことを見つけると、転送デバイスはイーサネットフレームの受信されたフラグメントを変更し、その結果、変更されたフラグメント（第2のフラグメント）は、イーサネットフレーム内でエラーが発生したことを示す。たとえば、第2のフラグメントにはエラー制御文字を含んでよい。エラー制御文字は、イーサネットフレーム内でエラーが発生したことを示すために使用される。転送デバイスは、第2のフラグメントを宛先デバイスに送信する。したがって、宛先デバイスのPHY回路は、第2のフラグメントに基づいて、受信されたイーサネットフレーム内でエラーが発生したと判断する。具体的には、宛先デバイスのPHY回路はPCS receiverを含む。第2のフラグメントはエラー制御文字を含む。PCS receiverは、エラー制御文字に基づいて、イーサネットフレーム内でエラーが発生したと判断する。たとえば、PCS receiverは、エラー制御文字に基づいてRX＿E状態に入る。RX＿E状態のPCS receiverは信号を生成する。信号は、値が1のRxCフィールドおよび値が0xFEのRxDフィールドを含むPCS receiverは、MIIを介して宛先デバイスのMAC回路に信号を送信する。宛先デバイスのMAC回路は、信号に基づいて、イーサネットフレーム内でエラーが発生したと判断することができる。さらに、宛先デバイスのMAC回路は、イーサネットフレームを廃棄することができる。言い換えれば、受信されたイーサネットフレームに対してCRCチェックを実行する必要なしに、宛先デバイスのMAC回路は、イーサネットフレーム内でエラーが発生したと判断することができる。宛先デバイスがイーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したと判断する技術的解決策と比較して、前述の技術的解決策は、イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるのに役立つ。具体的には、CRCアルゴリズムの特徴に起因して、イーサネットフレームが比較的少量のエラーを含むとき、CRCチェックを介してイーサネットフレームのエラーを検出することは比較的容易である。イーサネットフレームが比較的大量のエラーを含むとき、イーサネットフレームのエラーはCRCチェックを介して検出されない場合がある。イーサネットフレームがソースデバイスから宛先デバイスに送信されるプロセスでは、複数のエラーが発生する可能性がある。特にイーサネットフレームが複数の転送デバイスを使用して転送される必要があるとき、比較的大量のエラーが発生する可能性がある。加えて、転送デバイスがイーサネットフレームをネクストホップ転送デバイスまたは宛先デバイスに送信する前に、転送デバイスは、イーサネットフレームのFCS値を再計算し、再計算されたFCS値をイーサネットフレームのFCSフィールドに追加することができるイーサネットフレームのFCS値を再計算するとき、転送デバイスは、イーサネットフレーム内のFCSフィールド以外のフィールドをパラメータとして使用する。これは、イーサネットフレーム内でエラーが��生した場合、イーサネットフレームのFCS値を再計算するために必要なパラメータとしてエラーも使用されることを意味する。その結果、ネクストホップ転送デバイスまたは宛先デバイスは、CRCチェックを介して、受信されたイーサネットフレームにエラーを含むことを検出することができない。
【０００９】
本出願において提供される技術的解決策では、宛先デバイスのPHY回路は、変更されたフィールドに基づいて、イーサネットフレーム内でエラーが発生したと判断することができる。宛先デバイスは、イーサネットフレーム内でエラーが発生したかどうかを判断するために、CRCチェックに依存する必要がない。したがって、本出願の技術的解決策は、イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるのに役立つ。
【００１０】
第1の態様を参照して、第1の態様の可能な実装形態では、第1の転送デバイスにより、イーサネットフレーム内でエラーが発生したと判断するステップに応答して、第1のフラグメントを第2のフラグメントに変更するステップは、第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しくないとき、第1の転送デバイスにより、第1のフラグメント内の第1のタイプ指示情報および第1の送信対象データを第2のタイプ指示情報および第2の送信対象データにそれぞれ変更するステップ、または第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しいとき、第1の転送デバイスにより、第1のフラグメント内の第1の送信対象データを第2の送信対象データに変更するステップを含む。
【００１１】
第1のフラグメント内のタイプ指示情報が変更され、その結果、第1のフラグメント内のタイプ指示情報を変更することによって示された送信対象データのタイプは制御文字であり、第1のフラグメント内の送信対象データが変更され、その結果、変更された送信対象データの値は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを宛先デバイスに示すことができる。したがって、イーサネットフレームを受信すると、宛先デバイスは、変更された第1のフラグメント（第2のフラグメント）に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断する。
【００１２】
第1の態様を参照して、第1の態様の可能な実装形態では、第2のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドは第2のタイプ指示情報を搬送するために使用され、RxDフィールドの値は第2の送信対象データである。
【００１３】
RxCフィールドの値は、RxDフィールドの値が制御オクテットであることを宛先デバイスに示すために使用され、RxDフィールドの値は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを宛先デバイスに示すために使用される。したがって、RxDフィールドの値が制御オクテットであると判断すると、宛先デバイスは、RxDフィールドの制御コードの値をさらにチェックし、最終的に、RxDフィールドの制御コードの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００１４】
第1の態様を参照して、第1の態様の可能な実装形態では、RxCフィールドの値は1であり、RxDフィールドの値は0xFEに等しい。
【００１５】
第1の態様を参照して、第1の態様の可能な実装形態では、第2のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは第2の送信対象データを含み、第2のタイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2のタイプ指示情報は、複数の送信対象データの中の第2の送信対象データの位置を示すためにさらに使用される。
【００１６】
同期ヘッダフィールドの値は、あるタイプの制御文字を有する送信対象データが同期ヘッダフィールドの後ろに含まれるかどうかを宛先デバイスに示すために使用され、ブロックタイプフィールドの値は、複数の送信対象データの中のあるタイプの制御文字を有する、ブロックタイプフィールドの後ろの送信対象データの位置を宛先デバイスに示すために使用され、位置に対応する送信対象データの値は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを宛先デバイスに示すために使用される。したがって、あるタイプの制御文字を有する送信対象データの位置を特定した後、宛先デバイスは、位置に対応する送信対象データの値をさらにチェックし、最終的に、位置に対応する送信対象データの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００１７】
第1の態様を参照して、第1の態様の可能な実装形態では、第2の送信対象データの値は0x1Eに等しい。
【００１８】
第1の態様を参照して、第1の態様の可能な実装形態では、第1のフラグメント内の送信対象データはFCSフィールドを含むか、または第1のフラグメントはFCSフィールドを含まない。
【００１９】
イーサネットフレーム内の最初のフラグメント以外の任意のフラグメントが変更され、その結果、変更されたフラグメントを受信すると、宛先デバイスは、変更されたフラグメントに基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００２０】
第1の態様を参照して、第1の態様の可能な実装形態では、第1の転送デバイスにより、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断するステップは、FCS値がFCSフィールドの値と等しくないとき、第1の転送デバイスにより、イーサネットフレーム内でエラーが発生したと判断するステップを含む。
【００２１】
第2の態様によれば、データ送信方法が提供され、第2の転送デバイスにより、最初のフラグメントおよび第1のフラグメントを受信するステップであって、第1のフラグメントがタイプ指示情報および送信対象データを含み、タイプ指示情報が送信対象データのタイプを示すために使用され、送信対象データのタイプが制御文字であり、送信対象データが、イーサネットフレーム内でエラーが発生したことを示すために使用され、イーサネットフレームが最初のフラグメントを含み、最初のフラグメントが宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値が宛先デバイスのMACアドレスと等しく、第2の転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくない、ステップと、第2の転送デバイスにより、第1のフラグメントを宛先デバイスに送信するステップとを含む。
【００２２】
イーサネットフレームがソースデバイスから宛先デバイスに送信されるプロセスでは、転送デバイスは、イーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したかどうかを見つける。転送デバイスがイーサネットフレーム内でエラーが発生したことを見つけると、転送デバイスはイーサネットフレームの受信されたフラグメントを変更し、その結果、変更されたフラグメント（第2のフラグメント）は、イーサネットフレーム内でエラーが発生したことを示す。たとえば、第2のフラグメントにはエラー制御文字を含んでよい。エラー制御文字は、イーサネットフレーム内でエラーが発生したことを示すために使用される。転送デバイスは、第2のフラグメントを宛先デバイスに送信する。したがって、宛先デバイスのPHY回路は、第2のフラグメントに基づいて、受信されたイーサネットフレーム内でエラーが発生したと判断する。具体的には、宛先デバイスのPHY回路はPCS receiverを含む。第2のフラグメントはエラー制御文字を含む。PCS receiverは、エラー制御文字に基づいて、イーサネットフレーム内でエラーが発生したと判断する。たとえば、PCS receiverは、エラー制御文字に基づいてRX＿E状態に入る。RX＿E状態のPCS receiverは信号を生成する。信号は、値が1のRxCフィールドおよび値が0xFEのRxDフィールドを含むPCS receiverは、MIIを介して宛先デバイスのMAC回路に信号を送信する。宛先デバイスのMAC回路は、信号に基づいて、イーサネットフレーム内でエラーが発生したと判断することができる。さらに、宛先デバイスのMAC回路は、イーサネットフレームを廃棄することができる。言い換えれば、受信されたイーサネットフレームに対してCRCチェックを実行する必要なしに、宛先デバイスのMAC回路は、イーサネットフレーム内でエラーが発生したと判断することができる。宛先デバイスがイーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したと判断する技術的解決策と比較して、前述の技術的解決策は、イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるのに役立つ。具体的には、CRCアルゴリズムの特徴に起因して、イーサネットフレームが比較的少量のエラーを含むとき、CRCチェックを介してイーサネットフレームのエラーを検出することは比較的容易である。イーサネットフレームが比較的大量のエラーを含むとき、イーサネットフレームのエラーはCRCチェックを介して検出されない場合がある。イーサネットフレームがソースデバイスから宛先デバイスに送信されるプロセスでは、複数のエラーが発生する可能性がある。特にイーサネットフレームが複数の転送デバイスを使用して転送される必要があるとき、比較的大量のエラーが発生する可能性がある。加えて、転送デバイスがイーサネットフレームをネクストホップ転送デバイスまたは宛先デバイスに送信する前に、転送デバイスは、イーサネットフレームのFCS値を再計算し、再計算されたFCS値をイーサネットフレームのFCSフィールドに追加することができるイーサネットフレームのFCS値を再計算するとき、転送デバイスは、イーサネットフレーム内のFCSフィールド以外のフィールドをパラメータとして使用する。これは、イーサネットフレーム内でエラーが��生した場合、イーサネットフレームのFCS値を再計算するために必要なパラメータとしてエラーも使用されることを意味する。その結果、ネクストホップ転送デバイスまたは宛先デバイスは、CRCチェックを介して、受信されたイーサネットフレームにエラーを含むことを検出することができない。
【００２３】
本出願において提供される技術的解決策では、宛先デバイスのPHY回路は、変更されたフィールドに基づいて、イーサネットフレーム内でエラーが発生したと判断することができる。宛先デバイスは、イーサネットフレーム内でエラーが発生したかどうかを判断するために、CRCチェックに依存する必要がない。したがって、本出願の技術的解決策は、イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるのに役立つ。
【００２４】
第2の態様を参照して、第2の態様の可能な実装形態では、イーサネットフレームは第2のフラグメントをさらに含み、第2の転送デバイスが第1のフラグメントを受信する前に、イーサネットフレームに対してCRCチェックが実行された後、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第2のフラグメントは第1のフラグメントに変更される。
【００２５】
第2の態様を参照して、第2の態様の可能な実装形態では、第2の転送デバイスにより、最初のフラグメントおよび第1のフラグメントを受信するステップの後、かつ第2の転送デバイスにより、第1のフラグメントを宛先デバイスに送信するステップの前に、方法は、第2の転送デバイスにより、宛先MACアドレスフィールドに基づいて、第2の転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断するステップをさらに含み、第2の転送デバイスにより、第1のフラグメントを宛先デバイスに送信するステップは、第2の転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断するステップに応答して、第2の転送デバイスにより、第1のフラグメントを宛先デバイスに送信するステップを含む。
【００２６】
第2の態様を参照して、第2の態様の可能な実装形態では、第2の転送デバイスは、物理コーディングサブレイヤ受信機PCS receiverを含み、第2の転送デバイスが第1のフラグメントを受信した後に、方法は、送信対象データに応答して、PCS receiverにより、RX＿E状態に入るステップをさらに含む。
【００２７】
第2の態様を参照して、第2の態様の可能な実装形態では、第1のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドはタイプ指示情報を搬送し、RxDフィールドは送信対象データを搬送する。
【００２８】
RxCフィールドの値は、RxDフィールドの値が制御オクテットであることを宛先デバイスに示すために使用され、RxDフィールドの値は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを宛先デバイスに示すために使用される。したがって、RxDフィールドの値が制御オクテットであると判断すると、宛先デバイスは、RxDフィールドの制御コードの値をさらにチェックし、最終的に、RxDフィールドの制御コードの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００２９】
第2の態様を参照して、第2の態様の可能な実装形態では、RxCフィールドの値は1に等しく、RxDフィールドの値は0xFEに等しい。
【００３０】
第2の態様を参照して、第2の態様の可能な実装形態では、第1のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは送信対象データを含み、タイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、タイプ指示情報は、送信対象データのタイプが制御文字であることを示すために使用され、タイプ指示情報は、複数の送信対象データの中の送信対象データの位置を示すためにさらに使用される。
【００３１】
同期ヘッダフィールドの値は、あるタイプの制御文字を有する送信対象データが同期ヘッダフィールドの後ろに含まれるかどうかを宛先デバイスに示すために使用され、ブロックタイプフィールドの値は、複数の送信対象データの中のあるタイプの制御文字を有する、ブロックタイプフィールドの後ろの送信対象データの位置を宛先デバイスに示すために使用され、位置に対応する送信対象データの値は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを宛先デバイスに示すために使用される。したがって、あるタイプの制御文字を有する送信対象データの位置を特定した後、宛先デバイスは、位置に対応する送信対象データの値をさらにチェックし、最終的に、位置に対応する送信対象データの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００３２】
第2の態様を参照して、第2の態様の可能な実装形態では、同期ヘッダフィールドの値は0x10に等しく、送信対象データの値は0x1Eに等しい。
【００３３】
第2の態様を参照して、第2の態様の可能な実装形態では、第2のフラグメント内の送信対象データは、イーサネットフレームのフレームチェックシーケンスFCSフィールドを含むか、または第2のフラグメントは、イーサネットフレームのフレームチェックシーケンスFCSフィールドを含まない。
【００３４】
イーサネットフレーム内の最初のフラグメント以外の任意のフラグメントが変更され、その結果、変更されたフラグメントを受信すると、宛先デバイスは、変更されたフラグメントに基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断し、それにより、イーサネットフレームが廃棄される。
【００３５】
第3の態様によれば、転送装置が提供され、第1の態様および第1の態様の実装形態におけるデータ送信方法のステップを実行するように構成されたモジュールを含む。
【００３６】
第4の態様によれば、転送デバイスが提供され、受信回路、処理回路、および送信回路を含み、
受信回路は、イーサネットフレームの複数のフラグメントを受信するように構成され、複数のフラグメントは最初のフラグメントおよび第1のフラグメントを含み、最初のフラグメントは宛先媒体アクセス制御MACアドレスフィールドを含み、処理回路は、複数のフラグメントに基づいてイーサネットフレームのフレームチェックシーケンスFCS値を決定し、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断し、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第1のフラグメントを第2のフラグメントに変更するように構成され、第1のフラグメントは第1のタイプ指示情報および第1の送信対象データを含み、第2のフラグメントは第2のタイプ指示情報および第2の送信対象データを含み、第1のタイプ指示情報は第1の送信対象データのタイプを示すために使用され、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第1の送信対象データの値は第2の送信対象データの値と等しくなく、第2の送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用され、送信回路は、第2のフラグメントを宛先デバイスに送信するように構成され、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、宛先デバイスのMACアドレスは転送デバイスのMACアドレスと等しくない。
【００３７】
第5の態様によれば、転送デバイスが提供され、転送デバイスはプロセッサおよびメモリを含み、プロセッサは、メモリによって記憶されたプログラムを呼び出して、第1の態様または第1の態様の任意の可能な実装形態におけるデータ送信方法を実行するように構成される。
【００３８】
第6の態様によれば、コンピュータプログラム製品が提供され、コンピュータプログラム製品はコンピュータプログラムコードを含み、転送デバイスの処理モジュールおよび通信モジュールまたはプロセッサおよびトランシーバがコンピュータプログラムコードを実行すると、転送デバイスは、第1の態様および第1の態様の任意の実装形態におけるデータ送信方法を実行する。
【００３９】
第7の態様によれば、コンピュータ可読記憶媒体が提供され、コンピュータ可読記憶媒体はプログラムを記憶し、プログラムが実行されると、転送デバイスに、第1の態様および第1の態様の任意の実装形態におけるデータ送信方法を実行させる。
【００４０】
第8の態様によれば、チップシステムが提供され、メモリおよびプロセッサを含み、メモリはコンピュータプログラムを記憶するように構成され、プロセッサはメモリ内のコンピュータプログラムを呼び出し実行するように構成され、その結果、チップシステムが取り付けられた転送デバイスは、第1の態様および第1の態様の任意の実装形態におけるデータ送信方法を実行する。
【００４１】
第9の態様によれば、転送装置が提供され、第2の態様および第2の態様の実装形態におけるデータ送信方法のステップを実行するように構成されたモジュールを含む。
【００４２】
第10の態様によれば、転送デバイスが提供され、受信回路および送信回路を含み、受信回路は、最初のフラグメントおよび第1のフラグメントを受信するように構成され、第1のフラグメントはタイプ指示情報および送信対象データを含み、タイプ指示情報は送信対象データのタイプを示すために使用され、送信対象データのタイプは制御文字であり、送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用され、イーサネットフレームは最初のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、転送デバイスのMACアドレスは宛先MACアドレスフィールドの値と等しくなく、送信回路は、第1のフラグメントを宛先デバイスに送信するように構成される。
【００４３】
第11の態様によれば、転送デバイスが提供され、転送デバイスはプロセッサおよびメモリを含み、プロセッサは、メモリによって記憶されたプログラムを呼び出して、第2の態様または第2の態様の任意の可能な実装形態におけるデータ送信方法を実行するように構成される。
【００４４】
第12の態様によれば、コンピュータプログラム製品が提供され、コンピュータプログラム製品はコンピュータプログラムコードを含み、転送デバイスの処理モジュールおよび通信モジュールまたはプロセッサおよびトランシーバがコンピュータプログラムコードを実行すると、転送デバイスは、第2の態様および第2の態様の任意の実装形態におけるデータ送信方法を実行する。
【００４５】
第13の態様によれば、コンピュータ可読記憶媒体が提供され、コンピュータ可読記憶媒体はプログラムを記憶し、プログラムが実行されると、転送デバイスに、第2の態様および第2の態様の任意の実装形態におけるデータ送信方法を実行させる。
【００４６】
第14の態様によれば、チップシステムが提供され、メモリおよびプロセッサを含み、メモリはコンピュータプログラムを記憶するように構成され、プロセッサはメモリ内のコンピュータプログラムを呼び出し実行するように構成され、その結果、チップシステムが取り付けられた転送デバイスは、第2の態様および第2の態様の任意の実装形態におけるデータ送信方法を実行する。
【００４７】
第15の態様によれば、システムが提供され、システムは、第3の態様の転送装置および第9の態様の転送装置を含むか、またはシステムは、第4の態様の転送デバイスおよび第10の態様の転送デバイスを含むか、またはシステムは、第5の態様の転送デバイスおよび第11の態様の転送デバイスを含む。
【図面の簡単な説明】
【００４８】
【図１】本出願の一実施形態に適用可能なイーサネットシステム100の概略ブロック図である。
【図２】本出願の一実施形態による、転送デバイスまたは宛先デバイスの可能な概略構造図である。
【図３】本出願の一実施形態による、データ送信方法の概略フローチャートである。
【図４】本出願の一実施形態による、データ送信方法の別の概略フローチャートである。
【図５】本出願の一実施形態による、転送装置の概略ブロック図である。
【図６】本出願の一実施形態による、転送装置の別の概略ブロック図である。
【図７】本出願の一実施形態による、転送デバイスの概略ブロック図である。
【図８】本出願の一実施形態による、転送デバイスの別の概略ブロック図である。
【発明を実施するための形態】
【００４９】
以下で、添付図面を参照して本出願の技術的解決策を記載する。
【００５０】
本出願のPHY回路は、イーサネット規格によって定義された物理層の機能を実行するために使用される回路である。イーサネット規格は、IEEEによってリリースされたイーサネット規格であってよい。たとえば、イーサネット規格はIEEE802．3−2015であってよい。たとえば、物理層の機能は、物理コーディングサブレイヤ（PCS）の機能および物理媒体連結（PMA）サブレイヤの機能を含んでよい。
【００５１】
本出願のMAC回路は、イーサネット規格によって定義された媒体アクセス制御（MAC）の機能を実行するために使用される回路である。イーサネット規格は、IEEEによってリリースされたイーサネット規格であってよい。たとえば、イーサネット規格はIEEE802．3−2015であってよい。MACの機能はデータリンク層にある。論理リンク制御（LLC）の機能もデータリンク層にある。
【００５２】
本出願では、MAC回路およびPHY回路は、媒体非依存インターフェース（MII）を介して互いに通信することができる。たとえば、MIIは10ギガビット媒体非依存インターフェース（ten gigabit media independent interface、XGMII）であってよい。可能な設計では、物理層の機能は、調整サブレイヤ（reconciliation sublayer、RS）の機能をさらに含んでよい。MAC回路は、RS回路およびMIIを介してPHY回路と通信することができる。RS回路は、RSの機能を実行するために使用される回路である。
【００５３】
本出願のイーサネットフレームは、フレームヘッダ、ペイロード、およびFCSフィールドを含む。フレームヘッダは、宛先MACアドレスフィールドから始まり、イーサネットタイプフィールドまたは長さフィールドで終わる。フレームヘッダは、プリアンブルフィールドも、フレームデリミタの開始（SFD）フィールドも含まない。イーサネットフレームは、preambleフィールドも、SFDフィールドも含まない。FCSフィールドは、イーサネットフレームに対してCRCチェックを実行するために使用される。イーサネットフレーム内のFCSフィールド以外のフィールドは、イーサネットフレームのFCS値を計算するために使用される必要があるパラメータである。計算されたFCS値がFCSフィールドの値と等しくないとき、イーサネットフレーム内でエラーが発生したと見なされる。イーサネットフレームのフォーマットについては、IEEE802．3の説明を参照されたい。
【００５４】
本出願のフラグメントは、イーサネットフレームのフラグメントである。blockは、符号化処理がイーサネットフレーム上の物理層によって実行された後に取得されてよい。本出願のフラグメントは、物理層の符号化処理の後に取得されるblockであってよい。たとえば、フラグメントは64B／66B blockであってよい。加えて、MIIを介してMAC回路にイーサネットフレームを送信するとき、PHY回路は、MIIを介してMAC回路にRxCフィールドおよびRxDフィールドを送信することができる。本出願のフラグメントは、代替として、RxCフィールドおよびRxCフィールドに関連付けられたRxDフィールドであってよい。
【００５５】
本出願の技術用語の意味および具体的な実装形態については、IEEE802．3の説明を参照されたく、たとえば、IEEE802．3−2015の説明を参照されたい。技術用語には、制御文字、データ文字、制御オクテット、データオクテット、制御コード、同期ヘッダsync header）フィールド、64B／66Bブロック（64B／66B block）、制御ブロック、データブロック、PCS受信機、ブロックタイプフィールド（block type field）、受信制御（RxC）フィールド、および受信データ（RxD）フィールドが含まれるが、それらに限定されない。
【００５６】
最初に、本出願におけるイーサネットシステム100が記載される。図1に示されたように、イーサネットシステム100は、ソースデバイス101、転送デバイス102、転送デバイス103、および宛先デバイス104を含む。ソースデバイス101、転送デバイス102、転送デバイス103、および宛先デバイス104は、直列に接続される。送信対象イーサネットフレームは、ソースデバイス101から送信され、転送デバイス102および転送デバイス103を通過した後、最終的に宛先デバイス104に到達する。
【００５７】
図1は、2つ転送デバイス：転送デバイス102および転送デバイス103のみを示すことに留意されたい。可能な設計では、ソースデバイス101と宛先デバイス104との間に少なくとも3つの転送デバイスが存在してよい。送信対象イーサネットフレームは、ソースデバイス101から送信され、少なくとも3つの転送デバイスによって転送された後、最終的に宛先デバイス104に到達する。
【００５８】
限定ではなく例として、本出願では、イーサネットシステム100は、カットスルー転送アプリケーションシナリオに適用される。以下で、図1のイーサネットシステム100を参照して、Cut−through技術を記載する。
【００５９】
ソースデバイス101はイーサネットフレームを送信し、イーサネットフレームのすべてではない一部を受信すると、転送デバイス102は、イーサネットフレームの受信された一部を転送する。たとえば、イーサネットフレームの一部は、イーサネットフレームのフラグメントであってよい。転送デバイスは、イーサネットフレーム全体が転送されるのを待つ必要がない。この解決策では、イーサネットフレームは転送デバイスを通過し、比較的小さい遅延で宛先デバイス104に到達する。
【００６０】
図2は、図1に示された転送デバイス102または転送デバイス103の可能な概略構造図である。
【００６１】
転送デバイスは、物理層（PHY）回路201、MAC回路202、MAC回路203、およびPHY回路204を含む。可能な設計では、PHY回路201およびMAC回路202は、同じチップに含まれてよい。別の可能な設計では、PHY回路201およびMAC回路202は、異なるチップに含まれてよい。加えて、転送デバイスは、別の構成要素をさらに含んでよい。たとえば、転送デバイスは、（図には示されていない）ネットワークプロセッサをさらに含んでよい。ネットワークプロセッサは、ASICまたはFPGAを使用して実装されてよい。可能な設計では、ネットワークプロセッサの受信ポートは、MAC回路202の送信ポートに結合される。ネットワークプロセッサの送信ポートは、MAC回路203の送信ポートに結合される。ネットワークプロセッサは、MAC回路202によって提供されるイーサネットフレームから宛先MACアドレスを取得することができる。ネットワークプロセッサは、宛先MACアドレスを検索キーワードとして使用して、イーサネットフレームを転送するために使用される送信ポートを求めてMACテーブルを検索することができる。たとえば、送信ポートはMAC回路203およびPHY回路204を含む。さらに、ネットワークプロセッサは、MAC回路203にイーサネットフレームを提供することができ、その結果、PHY回路204は、イーサネットフレームをネクストホップデバイスに送信する。
【００６２】
PHY回路201およびMAC回路202は、隣接デバイス（たとえば、ソースデバイスまたは転送デバイス）によって送信されたフラグメントを受信するために使用され、MAC回路203およびPHY回路204は、MAC回路202から受信されたフラグメントを次の隣接デバイス（たとえば、ネクストホップ転送デバイスまたは宛先デバイス）に送信するために使用される。
【００６３】
本出願のこの実施形態では、PHY回路201は、受信されたフラグメントを2つのトランスポートフォーマットでMAC回路202に送信することができる。以下で、2つのトランスポートフォーマットを個別に記載する。
【００６４】
トランスポートフォーマット1：
【００６５】
PHY回路201は、受信されたビットストリームを構文解析して、各々が66ビットを含む複数のフラグメントをビットストリームから取得する。66ビットを含む各フラグメントは、2ビットの同期ヘッダフィールド（sync header field）、1バイトのブロックタイプフィールド、およびnバイト（n≧7）の送信対象データを含む。2ビットの同期ヘッダフィールドは、66ビットフラグメント内のnバイトの送信対象データがあるタイプの制御文字を有する送信対象データを含むかどうかを示すために使用され、ブロックタイプフィールドは、nバイトの送信対象データの中のあるタイプの制御文字を有する送信対象データの位置を示すために使用される。本出願の66ビットを含むフラグメントは、64B／66B blockであってよい。本出願の送信対象データは、8ビットのデータオクテットであってよい。本出願の送信対象データは、代替として、7ビットの制御文字であってよい。
【００６６】
66ビットフラグメントをMAC回路202に送信する前に、PHY回路201は、66ビットフラグメントのフォーマットを変換する。具体的には、66ビットフラグメントは、媒体非依存インターフェース（MII）のフォーマットを満たすフラグメントに変換される。66ビットフラグメントは、フォーマット変換後に8つのフラグメントに変換される。各フラグメントは、1ビットのRxCフィールドおよび8ビットのRxDフィールドを含む。加えて、各フラグメント内のRxCフィールドの値は、フラグメント内のRxDフィールドのタイプを示す。たとえば、RxCフィールドの値は、RxDフィールドのタイプが制御文字であるかデータ文字であるかを示すことができる。PHY回路201は、シリアルまたはパラレルの送信方法を使用することにより、8つのフラグメントをMAC回路202に送信する。
【００６７】
トランスポートフォーマット2：
【００６８】
PHY回路201は、受信されたビットストリームを構文解析して、各々が66ビットを含む複数のフラグメントをビットストリームから取得する。各66ビットフラグメントは、2ビットの同期ヘッダフィールド、1バイトのブロックタイプフィールド、およびnバイトの送信対象データを含む。2ビットの同期ヘッダフィールドは、66ビットフラグメント内のnバイトの送信対象データが、あるタイプの制御文字を有する送信対象データを含むかどうかを示すために使用される。ブロックタイプフィールドは、nバイトの送信対象データの中のあるタイプの制御文字を有する送信対象データの位置示すために使用される。
【００６９】
トランスポートフォーマット1のシナリオとは異なり、トランスポートフォーマット2のシナリオでは、PHY回路201は、MAC回路202に66ビットフラグメントを送信する前に66ビットフラグメントのフォーマットを変換する代わりに、66ビットフラグメントをMAC回路202に直接送信する。
【００７０】
図3は、本出願の一実施形態による、データ送信方法300の概略フローチャートであり、方法は301〜304を含む。方法300は、図1または図2に示された転送デバイス102によって実行されてよい。
【００７１】
301．第1の転送デバイスがイーサネットフレームの複数のフラグメントを受信し、複数のフラグメントは最初のフラグメントおよび第1のフラグメントを含み、最初のフラグメントは宛先媒体アクセス制御（MAC）アドレスフィールドを含む。
【００７２】
たとえば、イーサネットフレームを生成した後、ソースデバイス101は、伝送媒体を使用することにより、イーサネットフレームを転送デバイス102に送信することができる。イーサネットフレームは、ビットストリームの形態で伝送媒体内で送信されてよい。転送デバイス102内のPHY回路201は、伝送媒体を使用することにより、ビットストリームを受信することができる。ビットストリームは複数のフラグメントを含む。PHY回路201は、転送デバイス102のイーサネット受信ポートに配置されてよい。イーサネット受信ポートは、MAC回路202をさらに含んでよい。伝送媒体は、ケーブルまたはファイバであってよい。
【００７３】
302．第1の転送デバイスが、複数のフラグメントに基づいてイーサネットフレームのFCS値を決定する。
【００７４】
具体的には、転送デバイス102（たとえば、第1の転送デバイス）のPHY回路201は、アップストリームデバイス（たとえば、アップストリームデバイスは、ソースデバイス101またはソースデバイス101と転送デバイス102との間に配置された別の転送デバイスであってよい）によって送信されたイーサネットフレームの複数のフラグメントを受信し、複数のフラグメントをMAC回路202に送信する。複数のフラグメントは、イーサネットフレームの最初のフラグメントおよび第1のフラグメントを含む。第1のフラグメントは、複数のフラグメントの中の最初のフラグメント以外の任意のフラグメントである。最初のフラグメントは、宛先MACアドレスフィールドを含む。宛先MACアドレスフィールドの値は、宛先デバイス104のMACアドレスと等しい。
【００７５】
MAC回路202は、PHY回路201から受信された複数のフラグメントに基づいて、イーサネットフレームのFCS値を計算する。MAC回路202は、CRCアルゴリズムを使用して、イーサネットフレームのFCS値を計算することができる。たとえば、CRCアルゴリズムはCRC32アルゴリズムであってよい。
【００７６】
Cut−throughアプリケーションシナリオでは、複数のフラグメントが異なる時点で転送デバイス102のMAC回路202に到達することに留意されたい。複数のフラグメントの中の最初のフラグメントを受信すると、MAC回路202は、イーサネットフレームのFCS値の計算を開始することができる。転送デバイス102がイーサネットフレームのすべてのフラグメント（たとえば、複数のフラグメント）を受信した後、MAC回路202は、FCS値の計算を完了してイーサネットフレームのFCS値を決定することができる。前述の説明から、イーサネットフレームのFCS値を計算するとき、MAC回路202はイーサネットフレームのすべてのフラグメントを使用する必要があることが分かる。各フラグメントは、FCS値の計算プロセスに参加し、FCS値の計算プロセス用のパラメータを提供する。
【００７７】
複数のフラグメント内のフラグメントがFCS値の計算プロセス用のパラメータを提供した後、MAC回路202はそのフラグメントを転送することができる。あるいは、MAC回路202は、最初にフラグメントを格納し、次いでフラグメントを転送することができる。MAC回路202は、先入れ先出し規則に従って、イーサネットフレームのフラグメントを転送することができる。言い換えれば、先に受信されたフラグメントは、後に受信されたフラグメントの前に転送される必要がある。
【００７８】
PHY回路201が受信されたフラグメントを前述のトランスポートフォーマット1でMAC回路202に送信するとき、本出願のこの実施形態における最初のフラグメントは、6つのRxC／RxDペアを含むことに留意されたい。本出願のRxC／RxDペアは、1つのRxCフィールドおよび1つのRxDフィールドを含む信号である。1つのRxCフィールドは1ビットを含む。1つのRxDフィールドは8ビットを含む。RxC／RxDペア内のRxCフィールドとRxDフィールドとの間には対応関係が存在する。具体的には、RxC／RxDペア内のRxCフィールドは、RxC／RxDペア内のRxDフィールドのタイプを示すために使用される。したがって、最初のフラグメントが6つのRxC／RxDペアを含むことは、最初のフラグメントが6ビットのRxCフィールドおよび6バイトのRxDフィールドを含むことを意味する。6バイトのRxDフィールドは、宛先MACアドレスフィールドの値を搬送するために使用される。最初のフラグメントとは異なる他のすべてのフラグメントの各々は、1つのRxC／RxDペアを含む。
【００７９】
複数のフラグメントの各々は、タイプ指示情報および送信対象データを含み、タイプ指示情報の値は、送信対象データのタイプが制御文字であるかどうかを示すために使用されることに留意されたい。
【００８０】
303．第1の転送デバイスが、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断する。
【００８１】
具体的には、MAC回路202は、301において決定されたイーサネットフレームのFCS値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断する。イーサネットフレームはFCSフィールドを含む。第1の転送デバイスが、FCS値がFCSフィールドの値と等しくないと判断すると、第1の転送デバイスは、イーサネットフレーム内でエラーが発生したと判断することができる。
【００８２】
ソースデバイス101がイーサネットフレームを生成した後、イーサネットフレームがソースデバイス101から宛先デバイス104に送信されるプロセスにおける干渉に起因して、イーサネットフレーム内でエラーが発生する可能性があることが理解されよう。たとえば、電磁干渉は、送信プロセスにおけるイーサネットフレームに影響を与える可能性がある。イーサネットフレーム内でエラーが発生することは、イーサネットフレームに含まれる1つまたは複数のビットの値が変更されたことであり得る。たとえば、イーサネットフレーム内のビットの値が0から1に変更されるか、またはイーサネットフレーム内のビットの値が1から0に変更される。
【００８３】
限定ではなく例として、イーサネットフレームの複数のフラグメントの中の最後のフラグメントはFCSフィールドを含み、MAC回路202は、イーサネットフレームの決定されたFCS値を最後のフラグメントに含まれるFCSフィールドの値と比較する。
【００８４】
FCS値がFCSフィールドの値とは異なる場合、MAC回路202は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断する。
【００８５】
FCS値がFCSフィールドの値と同じである場合、MAC回路202は、送信プロセスにおいてイーサネットフレーム内でエラーが発生していないと判断する。
【００８６】
MAC回路202がPHY回路201から受信された複数のフラグメントに基づいてイーサネットフレームのFCS値を計算するとき、複数のフラグメントは最後のフラグメントを含まないことにさらに留意されたい。
【００８７】
304．第1の転送デバイスが、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第1のフラグメントを第2のフラグメントに変更し、第2のフラグメントは、第2のタイプ指示情報および第2の送信対象データを含み、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2の送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用される。
【００８８】
第1のフラグメントは、第1のタイプ指示情報および第1の送信対象データを含み、第1のタイプ指示情報は、第1の送信対象データのタイプを示すために使用され、第1の送信対象データの値は第2の送信対象データの値と等しくない。
【００８９】
具体的には、MAC回路202が、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断すると、MAC回路202は、複数のフラグメントの中で送信されていない少なくとも2つのフラグメントの中の1つのフラグメント（たとえば、第1のフラグメント）を変更して第2のフラグメントを取得する。
【００９０】
第2のフラグメント内のタイプ指示情報（たとえば、第2のタイプ指示情報）は、第2のフラグメント内の送信対象データ（たとえば、第2の送信対象データ）のタイプが制御文字であることを示し、第2のフラグメント内の第2の送信対象データの値は、第1のフラグメント内の送信対象データ（たとえば、第1の送信対象データ）の値と等しくなく、第1のフラグメント内のタイプ指示情報（たとえば、第1のタイプ指示情報）は、第1の送信対象データのタイプが制御文字であるかデータであるかを示すために使用される。
【００９１】
第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しくない、言い換えれば、第1のタイプ指示情報が、第1の送信対象データのタイプがデータであることを示すとき、MAC回路202は、第1のタイプ指示情報および第1の送信対象データを別々に変更し、第1のタイプ指示情報の値を第2のタイプ指示情報の値に変更し、第1の送信対象データの値を第2の送信対象データの値に変更して、第2のフラグメントを取得するか、または
第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しい、言い換えれば、第1のタイプ指示情報が、第1の送信対象データのタイプが制御文字であることを示すとき、MAC回路202は、第1の送信対象データのみを変更し、第1の送信対象データの値を第2の送信対象データの値に変更して、第2のフラグメントを取得する。
【００９２】
305．第1の転送デバイスが第2のフラグメントを宛先デバイスに送信する。
【００９３】
宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、宛先デバイスのMACアドレスは第1の転送デバイスのMACアドレスと等しくない。
【００９４】
具体的には、第2のフラグメントを取得した後、MAC回路202は、第2のフラグメントを宛先デバイス104に送信することができる。宛先MACアドレスは宛先デバイス104のMACアドレスと等しく、宛先デバイス104のMACアドレスは転送デバイス102のMACアドレスと等しくない。可能な設計では、第1の転送デバイスは、別の転送デバイスを使用することにより、第2のフラグメントを宛先デバイスに送信する。別の転送デバイスは、1つの転送デバイスであってもよく、複数の転送デバイスであってもよい。別の転送デバイスは、第2のフラグメントを変更しない。別の転送デバイスは、第2のフラグメントを透過的に送信する。別の可能な設計では、第1の転送デバイスは、第2のフラグメントを宛先デバイスに直接送信する。第2のフラグメントは、別の転送デバイスを通過する必要なしに宛先デバイスに到達することができる。
【００９５】
MAC回路202は、最初に第2のフラグメントをMAC回路203に送信し、MAC回路203は、第2のフラグメントをPHY回路204に送信し、最後に、PHY回路204は、第2のフラグメントを宛先デバイス104に送信する。
【００９６】
第1のフラグメントは、イーサネットフレームの複数のフラグメントの中の最初のフラグメント以外の任意のフラグメントであり、たとえば、第1のフラグメントは、イーサネットフレームの複数のフラグメントの中の最後のフラグメントであることに留意されたい。この場合、第1のフラグメントはFCSフィールドを含む。
【００９７】
第1のフラグメントをMAC回路202に送信するためにPHY回路201によって使用される前述の2つのトランスポートフォーマットを参照して、以下で、MAC回路202が第1のフラグメントを変更する2つのケースを記載する。
【００９８】
ケース1
【００９９】
第1のフラグメントをMAC回路202に送信するためにPHY回路201によって使用されるフォーマットが前述のトランスポートフォーマット1を満たすとき、第2のフラグメントはRxCフィールドおよびRxDフィールドを含む。RxCフィールドの値は第2のタイプ指示情報を搬送するために使用され、RxDフィールドの値は第2の送信対象データである。
【０１００】
限定ではなく例として、RxCフィールドの値が0x0であるとき、それは送信対象データがデータオクテットであることを示す。言い換えれば、それは送信対象データのタイプがデータ文字であることを示す。RxCフィールドの値が0x1であるとき、それは送信対象データが制御オクテットであることを示す。言い換えれば、それは送信対象データのタイプが制御文字であることを示す。RxDフィールドの値が0xFEであるとき、それは送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示す。
【０１０１】
たとえば、第1のフラグメント内の第1のタイプ指示情報の値が0であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、第1のタイプ指示情報の値を1に変更し、第1の送信対象データの値を0xFEに変更する必要がある。言い換えれば、第2のフラグメントの第2のタイプ指示情報の値は1であり、第2の送信対象データの値は0xFEである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内のRxCフィールドの値（0x1）に基づいて、RxDフィールドが制御オクテットであると判断し、RxDフィールドのデータオクテットの値（0xFE）をさらにチェックし、最終的に、RxDフィールドのデータオクテットの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
【０１０２】
別の例では、第1のフラグメント内の第1のタイプ指示情報の値が1であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、第1の送信対象データの値のみを0xFEに変更する必要がある。言い換えれば、第2のフラグメントの第2のタイプ指示情報の値は1であり、第2の送信対象データの値は0xFEである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内のRxCフィールドの値（0x1）に基づいて、RxDフィールドが制御オクテットであると判断し、RxDフィールドのデータオクテットの値（0xFE）をさらにチェックし、最終的に、RxDフィールドのデータオクテットの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
【０１０３】
本出願のこの実施形態では、第2のフラグメントは、第1のフラグメント内の第1のタイプ指示情報および／または第1の送信対象データが変更された後に取得され、その結果、次の転送デバイスは、第2のフラグメントに基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断する。
【０１０４】
宛先デバイス104は、第2のフラグメント内の第2のタイプ指示情報の値によって示された第2の送信対象データのタイプが制御文字であるときにのみ、第2の送信対象データの値をさらにチェックすることができ、第2の送信対象データの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断することができることに留意されたい。したがって、第2のタイプ指示情報の値によって示された第2の送信対象データのタイプがデータであるとき、MAC回路202は、第2のタイプ指示情報の値と第2の送信対象データの値の両方を変更する必要があるか、または第2のタイプ指示情報の値によって示された第2の送信対象データのタイプが制御文字であるとき、MAC回路202は、第2の送信対象データの値のみを変更する必要がある。
【０１０５】
ケース2
【０１０６】
第1のフラグメントをMAC回路202に送信するためにPHY回路201によって使用されるフォーマットが前述のトランスポートフォーマット2を満たすとき、第2のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、およびnバイト（n≧7）の送信対象データを含む。nバイトの送信対象データは第2の送信対象データを含み、第2のタイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2のタイプ指示情報は、nバイトの送信対象データの中の第2の送信対象データの位置を示すためにさらに使用される。
【０１０７】
具体的には、PHY回路201からMAC回路202によって受信された第1のフラグメントのフォーマットは、前述のトランスポートフォーマット2を満たす。言い換えれば、第2のフラグメントは、2ビットの同期ヘッダフィールド、1バイトのブロックタイプフィールド、およびnバイトの送信対象データを含む。第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2のタイプ指示情報は、nバイトの送信対象データの中の第2の送信対象データの位置を示すためにさらに使用される。具体的な実装形態は以下の通りである：同期ヘッダフィールドは、nバイトの送信対象データがあるタイプの制御文字を有する送信対象データを含むかどうかを示し、ブロックタイプフィールドは、nバイトの送信対象データの中の第2の送信対象データの位置を示すために使用される。
【０１０８】
同期ヘッダフィールドの値、ブロックタイプフィールドの値、およびnバイトの送信対象データの値の間の対応関係については、イーサネット規格IEEE802．3−2015のセクション49．2．4．4の図49−7を参照されたい。
【０１０９】
限定ではなく例として、同期ヘッダフィールドの値が01であるとき、それは同期ヘッダフィールドの後ろに8バイトの送信対象データがあることを示し、8バイトの送信対象データの各々はデータオクテットであり、8つのデータオクテットはそれぞれD0〜D7であり、同期ヘッダフィールドの値が10であり、ブロックタイプフィールドの値が0x1Eであるとき、それはブロックタイプフィールドの後ろに8バイトの送信対象データがあることを示し、8バイトの送信対象データの各々は制御コードであり、8つの制御コードはそれぞれC0〜C7であり、C0〜C7の中の任意の制御コードの値が0x1Eであるとき、それは送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示し、同期ヘッダフィールドの値が10であり、ブロックタイプフィールドの値が0x33であるとき、それはブロックタイプフィールドの後ろに8バイトの送信対象データがあることを示し、8バイトの送信対象データは4つの制御コードおよび3つのデータオクテットを含み、4つの制御コードはそれぞれC0〜C3であり、3つのデータオクテットはそれぞれD5〜D7であり、C0〜C3の中の任意の制御コードの値が0x1Eであるとき、それは送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示すことが図から分かる。
【０１１０】
たとえば、第1のフラグメント内の同期ヘッダフィールドの値が01であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、第1のタイプ指示情報の値を10に変更し、同期ヘッダフィールドの後ろの8つのデータオクテットD0〜D7の中のD3を制御コードC3に変更する必要があり、制御コードC3の値は0x1Eである。言い換えれば、第2のフラグメントの同期ヘッダフィールドの値は10であり、同期ヘッダフィールドの後ろの8つの送信対象データは、それぞれ、D0、D1、D2、C3、D4、D5、D6、およびD7であり、C3は第2の送信対象データである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内の同期ヘッダフィールドの値（10）に基づいて、同期ヘッダフィールドの後ろの8つの送信対象データが制御コードを含むと判断し、制御コードの値（0x1E）をさらにチェックして、最終的に、制御コードの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
【０１１１】
本出願では、ソースデバイスがイーサネットフレームを生成し、少なくとも1つの転送デバイスを使用して宛先デバイスにイーサネットフレームを送信する。転送デバイスは、受信されたイーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したと判断する。転送デバイスは、受信されたイーサネットフレームを変更する。変更されたイーサネットフレームは、第2のフラグメントを含む。宛先デバイスによって受信されたイーサネットフレームは、ソースデバイスによって生成されたイーサネットフレームとは異なる。本出願では、宛先デバイスによって受信されたイーサネットフレームは、異なるオブジェクトを区別するために、新しいイーサネットフレームと呼ばれる。
【０１１２】
別の例では、第1のフラグメント内の同期ヘッダフィールドの値が10であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、ブロックタイプフィールドの後ろにあるC0〜C3またはD5〜D7の中のいずれか1つの値のみを0x1Eに変更する必要がある（たとえば、C0〜C3の中のC2の値が0x1Eに変更されるか、またはD5〜D7の中のD6が制御コードC6に変更される）。言い換えれば、第2のフラグメントの同期ヘッダフィールドの値は10であり、同期ヘッダフィールドの後ろの8つの送信対象データの中のC2の値は0x1Eであり、他の送信対象データの値は変更されないままであり、C2は第2の送信対象データである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内の同期ヘッダフィールドの値（10）に基づいて、同期ヘッダフィールドの後ろの8つの送信対象データが制御コードを含むと判断し、ブロックタイプフィールドの値0x33に基づいて、ブロックタイプフィールドの後ろのC0〜C3上の送信対象データが制御コードであると判断し、制御コードの値（0x1E）をさらにチェックして、最終的に、制御コードの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
【０１１３】
ブロックタイプフィールドはブロックタイプフィールドの後ろの8バイトの送信対象データの中の制御コードの位置を示すために使用されるので、D5〜D7の中のD6が制御コードC6に変更されると、ブロックタイプフィールドの値もそれに対応して変更される必要があることに留意されたい。
【０１１４】
前述の新しいイーサネットフレームは、第2のフラグメントおよび第1のフラグメントを除く複数のフラグメントを含むイーサネットフレームであることにさらに留意されたい。
【０１１５】
本出願のこの実施形態では、第2のフラグメントは、第1のフラグメント内の第1のタイプ指示情報および／または第1の送信対象データが変更された後に取得され、その結果、次の転送デバイスは、第2のフラグメントに基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断する。
【０１１６】
宛先デバイス104は、第2のフラグメント内の第2のタイプ指示情報の値によって示された第2の送信対象データのタイプが制御文字であるときにのみ、第2の送信対象データの値をさらにチェックすることができ、第2の送信対象データの値に基づいて、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断することができることに留意されたい。したがって、第2のタイプ指示情報の値によって示された第2の送信対象データのタイプがデータであるとき、MAC回路202は、第2のタイプ指示情報の値と第2の送信対象データの値の両方を変更する必要があるか、または第2のタイプ指示情報の値によって示された第2の送信対象データのタイプが制御文字であるとき、MAC回路202は、第2の送信対象データの値のみを変更する必要がある。
【０１１７】
以下で、宛先デバイス104がケース1およびケース2において新しいイーサネットフレーム内でエラーが発生したと判断する詳細なプロセスを記載する。
【０１１８】
宛先デバイス104は、第2のフラグメントおよび複数のフラグメントの中の第1のフラグメント以外のフラグメントを受信し、宛先デバイス104は、第2のフラグメントに基づいて、新しいイーサネットフレーム内でエラーが発生したと判断し、新しいイーサネットフレームは、第2のフラグメントおよび複数のフラグメントの中の第1のフラグメント以外のフラグメントを含み、宛先デバイス104は、イーサネットフレーム内でエラーが発生したと判断したことに応答して、新しいイーサネットフレームを廃棄する。
【０１１９】
限定ではなく例として、宛先デバイス104のPHY回路201は、物理コーディングサブレイヤ受信機（PCS receiver）を含み、宛先デバイスが、第2のフラグメントに基づいて、新しいイーサネットフレーム内でエラーが発生したと判断することは、以下を含む。
【０１２０】
宛先デバイス104が、第2のフラグメント内の第2の送信対象データに応答し、PHY回路201のPCS receiverがRX＿E状態に入り、RX＿E状態にあるPHY回路201のPCS receiverがMAC回路202に信号を送信する。
【０１２１】
信号は、値が1のRxCフィールドおよび値が0xFEのRxDフィールドを含み、MAC回路202は、信号内のRxCフィールドの値およびRxDフィールドの値に基づいて、新しいイーサネットフレーム内でエラーが発生したと判断するか、または
信号は、値が10の同期ヘッダフィールド、値が0x33のブロックタイプフィールド、ならびにC0〜C3およびD5〜D7を含み、C2の値は0x1Eであり、MAC回路202は、信号内にある同期ヘッダフィールドの値、ブロックタイプフィールドの値、およびC2の値に基づいて、新しいイーサネットフレーム内でエラーが発生したと判断する。
【０１２２】
限定ではなく例として、宛先デバイス104が、新しいイーサネットフレーム内でエラーが発生したと判断したことに応答して、新しいイーサネットフレームを廃棄することは、以下を含む。
【０１２３】
宛先デバイス104内のMAC回路202が新しいイーサネットフレームを廃棄する。
【０１２４】
転送デバイス102および宛先デバイス104が隣接するとき、言い換えれば、転送デバイス102と宛先デバイス104との間に転送デバイスがないとき、変更されたフラグメントは、転送デバイス102によって宛先デバイス104に直接送信されるか、または転送デバイス102と宛先デバイス104との間に別の転送デバイスがあるとき、第2のフラグメントは、最初に転送デバイス102によって転送デバイス102の後ろの転送デバイスに送信され、次いで、転送デバイス102の後ろの転送デバイス（たとえば、転送デバイス103）が第2のフラグメントを宛先デバイス104に送信することに留意されたい。
【０１２５】
以下で、転送デバイス103が、転送デバイス102から受信されたイーサネットフレームの複数のフラグメントを宛先デバイス104に送信する方法400を記載する。
【０１２６】
図4は、本出願の一実施形態による、データ送信方法400の概略フローチャートであり、方法は401および402を含む。方法400は、図1または図2に示された転送デバイス103によって実行されてよい。
【０１２７】
401．第2の転送デバイスが最初のフラグメントおよび第1のフラグメントを受信し、第1のフラグメントはタイプ指示情報および送信対象データを含み、タイプ指示情報は送信対象データのタイプを示すために使用され、送信対象データのタイプは制御文字であり、送信対象データはイーサネットフレーム内でエラーが発生したことを示すために使用される。
【０１２８】
イーサネットフレームは最初のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、第2の転送デバイスのMACアドレスは宛先MACアドレスフィールドの値と等しくない。
【０１２９】
たとえば、第2の転送デバイスはイーサネット受信ポートを含む。イーサネット受信ポートはPHY回路を含む。第2の転送デバイスは、イーサネット受信ポートに含まれるPHY回路を使用して、最初のフラグメントおよび第1のフラグメントを受信することができる。401の具体的な実装形態については、図3に示された実施形態における301の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１３０】
具体的には、転送デバイス103（たとえば、第2の転送デバイス）のPHY回路201は、方法300において転送デバイス102のPHY回路204によって送信された変更されたフラグメント（たとえば、第1のフラグメント）を受信し、変更されたフラグメントを転送デバイス103のMAC回路202に送信する。変更されたフラグメントはタイプ指示情報および送信対象データを含み、タイプ指示情報は、送信対象データのタイプが制御文字であることを示すために使用され、送信対象データは、送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示すために使用される。イーサネットフレームは最初のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値は宛先デバイス104のMACアドレスと等しく、転送デバイス103のMACアドレスは宛先MACアドレスフィールドの値と等しくない。
【０１３１】
402．第2の転送デバイスが第1のフラグメントを宛先デバイスに送信する。
【０１３２】
たとえば、第2の転送デバイスはイーサネット送信ポートを含む。402の具体的な実装形態については、図3に示された実施形態における305の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１３３】
限定ではなく例として、転送デバイス103が最初のフラグメントおよび第1のフラグメントを受信した後、転送デバイス103が第1のフラグメントを宛先デバイス104に送信する前に、方法400は以下をさらに含む。
【０１３４】
転送デバイス103が、宛先MACアドレスフィールドに基づいて、転送デバイス103のMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断する。
【０１３５】
転送デバイス103が第1のフラグメントを宛先デバイス104に送信することは以下を含む。
【０１３６】
転送デバイス103のMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断したことに応答して、転送デバイス103が第1のフラグメントを宛先デバイス104に送信する。
【０１３７】
具体的には、第1のフラグメントを宛先デバイス104に送信する前に、転送デバイス103は、転送デバイス103のMACアドレスが最初のフラグメントに含まれる宛先MACアドレスフィールドの値と等しくないと判断し、転送デバイス103が宛先デバイスではないとさらに判断し、第1のフラグメントを宛先デバイス104に送信することを決定する。
【０１３８】
限定ではなく例として、イーサネットフレームは第2のフラグメントをさらに含み、転送デバイス103が第1のフラグメントを受信する前に、イーサネットフレームに対してCRCチェックが実行された後、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第2のフラグメントは第1のフラグメントに変更される。
【０１３９】
具体的には、イーサネットフレームは第2のフラグメントをさらに含む。転送デバイス102がイーサネットフレーム内でエラーが発生したと判断すると、イーサネットフレームに対してCRCチェックが実行された後、イーサネットフレーム内でエラーが発生したと判断したことに応答して、転送デバイス102は、第2のフラグメントを第1のフラグメントに変更し、第1のフラグメントを転送デバイス103に送信する。
【０１４０】
限定ではなく例として、転送デバイス103のPHY回路201は、物理コーディングサブレイヤ（PCS）receiverを含む。転送デバイス103のPHY回路201が第1のフラグメントを受信した後、第1のフラグメント内の送信対象データに応答して、PCS receiverはRX＿E状態に入る。さらに、PHY回路201は、送信プロセスにおいてイーサネットフレーム内でエラーが発生したと判断することができる。
【０１４１】
限定ではなく例として、第1のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドはタイプ指示情報を搬送し、RxDフィールドは送信対象データを搬送する。
【０１４２】
限定ではなく例として、RxCフィールドの値は1に等しく、RxDフィールドの値は0xFEに等しい。
【０１４３】
限定ではなく例として、第1のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは送信対象データを含み、同期ヘッダフィールドおよびブロックタイプフィールドはタイプ指示情報を搬送する。
【０１４４】
限定ではなく例として、同期ヘッダフィールドの値は0x10に等しく、送信対象データの値は0x1Eに等しい。
【０１４５】
限定ではなく例として、第2のフラグメント内の送信対象データは、イーサネットフレームのフレームチェックシーケンス（FCS）フィールドを含むか、または第2のフラグメントは、イーサネットフレームのフレームチェックシーケンス（FCS）フィールドを含まない。
【０１４６】
図1〜図4を参照して、前述で、本出願の実施形態において提供されたデータ送信方法を記載している。図5〜図8を参照して、以下で、本出願の実施形態において提供される転送装置、転送デバイス、宛先装置、および宛先デバイスを記載する。
【０１４７】
図5は、本出願の一実施形態による、転送装置500の概略ブロック図である。転送装置500は、受信モジュール510、処理モジュール520、および送信モジュール530を含む。
【０１４８】
たとえば、転送装置500は、図1または図2に示された転送デバイス102であってよい。転送装置500は、図3に示された方法を実行するように構成されてよい。転送装置500の具体的な実装形態については、図3に対応する実施形態の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１４９】
受信モジュール510は、イーサネットフレームの複数のフラグメントを受信するように構成され、複数のフラグメントは最初のフラグメントおよび第1のフラグメントを含み、最初のフラグメントは宛先媒体アクセス制御（MAC）アドレスフィールドを含む。
【０１５０】
たとえば、受信モジュール510は、301を実行するように構成されてよい。受信モジュール510の具体的な実装形態については、図3に対応する実施形態における301の説明を参照されたい。
【０１５１】
処理モジュール520は、複数のフラグメントに基づいてイーサネットフレームのフレームチェックシーケンスFCS値を決定し、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断し、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第1のフラグメントを第2のフラグメントに変更するように構成され、第1のフラグメントは第1のタイプ指示情報および第1の送信対象データを含み、第2のフラグメントは第2のタイプ指示情報および第2の送信対象データを含み、第1のタイプ指示情報は第1の送信対象データのタイプを示すために使用され、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第1の送信対象データの値は第2の送信対象データの値と等しくなく、第2の送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用される。
【０１５２】
たとえば、処理モジュール520は、302、303、および304を実行するように構成されてよい。処理モジュール520の具体的な実装形態については、図3に対応する実施形態における302、303、および304の説明を参照されたい。
【０１５３】
送信モジュール530は、第2のフラグメントを宛先デバイスに送信するように構成され、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、宛先デバイスのMACアドレスは転送デバイスのMACアドレスと等しくない。
【０１５４】
たとえば、送信モジュール530は、305を実行するように構成されてよい。送信モジュール530の具体的な実装形態については、図3に対応する実施形態における305の説明を参照されたい。
【０１５５】
場合によっては、処理モジュール520は、第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しくないとき、第1のフラグメント内の第1のタイプ指示情報および第1の送信対象データを、それぞれ、第2のタイプ指示情報および第2の送信対象データに変更するか、または第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しいとき、第1のフラグメント内の第1の送信対象データを第2の送信対象データに変更するように構成される。
【０１５６】
場合によっては、第2のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドは第2のタイプ指示情報を搬送し、RxDフィールドは第2の送信対象データを搬送する。
【０１５７】
場合によっては、RxCフィールドの値は1であり、RxDフィールドの値は0xFEに等しい。
【０１５８】
場合によっては、第2のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは第2の送信対象データを含み、第2のタイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2のタイプ指示情報は、複数の送信対象データの中の第2の送信対象データの位置を示すためにさらに使用される。
【０１５９】
場合によっては、第2の送信対象データの値は0x1Eに等しい。
【０１６０】
場合によっては、第1のフラグメント内の送信対象データはFCSフィールドを含むか、または第1のフラグメントはFCSフィールドを含まない。
【０１６１】
場合によっては、処理モジュール520は、FCS値がFCSフィールドの値と等しくないとき、イーサネットフレーム内でエラーが発生したと判断するように構成される。
【０１６２】
本出願のこの実施形態における処理モジュール520は、プロセッサまたはプロセッサに関連する回路構成要素によって実装されてよく、受信モジュール510および送信モジュール530は、トランシーバまたはトランシーバに関連する回路構成要素によって実装されてよいことを理解されたい。
【０１６３】
図6は、本出願の一実施形態による、転送装置600の概略ブロック図である。転送装置600は、受信モジュール610および送信モジュール620を含む。
【０１６４】
たとえば、転送装置600は、図1または図2に示された転送デバイス103であってよい。転送装置600は、図4に示された方法を実行するように構成されてよい。転送装置600の具体的な実装形態については、図4に対応する実施形態の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１６５】
受信モジュール610は、最初のフラグメントおよび第1のフラグメントを受信するように構成され、第1のフラグメントはタイプ指示情報および送信対象データを含み、タイプ指示情報は送信対象データのタイプを示すために使用され、送信対象データのタイプは制御文字であり、送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用され、イーサネットフレームは最初のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、転送デバイスのMACアドレスは宛先MACアドレスフィールドの値と等しくない。
【０１６６】
たとえば、受信モジュール610は、401を実行するように構成されてよい。受信モジュール610の具体的な実装形態については、図4に対応する実施形態における401の説明を参照されたい。
【０１６７】
送信モジュール620は、第1のフラグメントを宛先デバイスに送信するように構成される。
【０１６８】
たとえば、送信モジュール620は、402を実行するように構成されてよい。送信モジュール620の具体的な実装形態については、図4に対応する実施形態における402の説明を参照されたい。
【０１６９】
場合によっては、イーサネットフレームは第2のフラグメントをさらに含み、転送デバイスが第1のフラグメントを受信する前に、イーサネットフレームに対してCRCチェックが実行された後、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第2のフラグメントは第1のフラグメントに変更される。
【０１７０】
場合によっては、転送装置600は処理モジュール630をさらに含み、処理モジュール630は、
受信モジュール610が最初のフラグメントおよび第1のフラグメントを受信した後、かつ送信モジュール620が第1のフラグメントを宛先デバイスに送信する前に、宛先MACアドレスフィールドに基づいて、転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断する
ように構成され、
送信モジュール620は、
転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断したことに応答して、第1のフラグメントを宛先デバイスに送信する
ように構成される。
【０１７１】
場合によっては、受信モジュール610はPCS receiverを含み、PCS receiverは、受信モジュール610が第1のフラグメントを受信した後、送信対象データに応答して、PCS receiverがRX＿E状態に入るように構成される。
【０１７２】
場合によっては、第1のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドはタイプ指示情報を搬送し、RxDフィールドは送信対象データを搬送する。
【０１７３】
場合によっては、RxCフィールドの値は1に等しく、RxDフィールドの値は0xFEに等しい。
【０１７４】
場合によっては、第1のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは送信対象データを含み、タイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、タイプ指示情報は、送信対象データのタイプが制御文字であることを示すために使用され、タイプ指示情報は、複数の送信対象データの中の送信対象データの位置を示すためにさらに使用される。
【０１７５】
場合によっては、同期ヘッダフィールドの値は0x10に等しく、送信対象データの値は0x1Eに等しい。
【０１７６】
場合によっては、第2のフラグメント内の送信対象データは、イーサネットフレームのフレームチェックシーケンス（FCS）フィールドを含むか、または第2のフラグメントは、イーサネットフレームのフレームチェックシーケンス（FCS）フィールドを含まない。
【０１７７】
本出願のこの実施形態における処理モジュール630は、プロセッサまたはプロセッサに関連する回路構成要素によって実装されてよく、受信モジュール610および送信モジュール620は、トランシーバまたはトランシーバに関連する回路構成要素によって実装されてよいことを理解されたい。
【０１７８】
図7は、本出願の一実施形態による、転送デバイス700の概略ブロック図である。転送デバイス700は、受信回路710、処理回路720、および送信回路730を含む。
【０１７９】
たとえば、転送デバイス700は、図1または図2に示された転送デバイス102であってよい。転送デバイス700は、図3に示された方法を実行するように構成されてよい。転送デバイス700の具体的な実装形態については、図3に対応する実施形態の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１８０】
受信回路710は、イーサネットフレームの複数のフラグメントを受信するように構成され、複数のフラグメントは最初のフラグメントおよび第1のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含む。
【０１８１】
たとえば、受信回路710は、301を実行するように構成されてよい。受信回路710の具体的な実装形態については、図3に対応する実施形態における301の説明を参照されたい。
【０１８２】
処理回路720は、複数のフラグメントに基づいてイーサネットフレームのフレームチェックシーケンスFCS値を決定し、FCS値に基づいて、イーサネットフレーム内でエラーが発生したと判断し、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第1のフラグメントを第2のフラグメントに変更するように構成され、第1のフラグメントは第1のタイプ指示情報および第1の送信対象データを含み、第2のフラグメントは第2のタイプ指示情報および第2の送信対象データを含み、第1のタイプ指示情報は第1の送信対象データのタイプを示すために使用され、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第1の送信対象データの値は第2の送信対象データの値と等しくなく、第2の送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用される。
【０１８３】
たとえば、処理回路720は、302、303、および304を実行するように構成されてよい。処理回路720の具体的な実装形態については、図3に対応する実施形態における302、303、および304の説明を参照されたい。
【０１８４】
送信回路730は、第2のフラグメントを宛先デバイスに送信するように構成され、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、宛先デバイスのMACアドレスは転送デバイスのMACアドレスと等しくない。
【０１８５】
たとえば、送信回路730は、305を実行するように構成されてよい。送信回路730の具体的な実装形態については、図3に対応する実施形態における305の説明を参照されたい。
【０１８６】
場合によっては、処理回路720は、第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しくないとき、第1のフラグメント内の第1のタイプ指示情報および第1の送信対象データを、それぞれ、第2のタイプ指示情報および第2の送信対象データに変更するか、または第1のタイプ指示情報の値が第2のタイプ指示情報の値と等しいとき、第1のフラグメント内の第1の送信対象データを第2の送信対象データに変更するように構成される。
【０１８７】
場合によっては、第2のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドは第2のタイプ指示情報を搬送し、RxDフィールドは第2の送信対象データを搬送する。
【０１８８】
場合によっては、RxCフィールドの値は1であり、RxDフィールドの値は0xFEに等しい。
【０１８９】
場合によっては、第2のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは第2の送信対象データを含み、第2のタイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、第2のタイプ指示情報は、第2の送信対象データのタイプが制御文字であることを示すために使用され、第2のタイプ指示情報は、複数の送信対象データの中の第2の送信対象データの位置を示すためにさらに使用される。
【０１９０】
場合によっては、第2の送信対象データの値は0x1Eに等しい。
【０１９１】
場合によっては、第1のフラグメント内の送信対象データはFCSフィールドを含むか、または第1のフラグメントはFCSフィールドを含まない。
【０１９２】
場合によっては、処理回路720は、FCS値がFCSフィールドの値と等しくないとき、イーサネットフレーム内でエラーが発生したと判断するように構成される。
【０１９３】
図8は、本出願の一実施形態による、転送デバイス800の概略ブロック図である。転送デバイス800は、受信回路810および送信回路820を含む。
【０１９４】
たとえば、転送デバイス800は、図1または図2に示された転送デバイス103であってよい。転送デバイス800は、図4に示された方法を実行するように構成されてよい。転送デバイス800の具体的な実装形態については、図4に対応する実施形態の説明を参照されたい。詳細は本明細書では再び記載されない。
【０１９５】
受信回路810は、最初のフラグメントおよび第1のフラグメントを受信するように構成され、第1のフラグメントはタイプ指示情報および送信対象データを含み、タイプ指示情報は送信対象データのタイプを示すために使用され、送信対象データのタイプは制御文字であり、送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用され、イーサネットフレームは最初のフラグメントを含み、最初のフラグメントは宛先MACアドレスフィールドを含み、宛先MACアドレスフィールドの値は宛先デバイスのMACアドレスと等しく、転送デバイスのMACアドレスは宛先MACアドレスフィールドの値と等しくない。
【０１９６】
たとえば、受信回路810は、401を実行するように構成されてよい。受信回路810の具体的な実装形態については、図4に対応する実施形態における401の説明を参照されたい。
【０１９７】
送信回路820は、第1のフラグメントを宛先デバイスに送信するように構成される。
【０１９８】
たとえば、送信回路820は、402を実行するように構成されてよい。送信回路820の具体的な実装形態については、図4に対応する実施形態における402の説明を参照されたい。
【０１９９】
場合によっては、イーサネットフレームは第2のフラグメントをさらに含み、転送デバイスが第1のフラグメントを受信する前に、イーサネットフレームに対してCRCチェックが実行された後、イーサネットフレーム内でエラーが発生したと判断したことに応答して、第2のフラグメントは第1のフラグメントに変更される。
【０２００】
場合によっては、転送装置800は処理回路830をさらに含み、処理回路830は、
受信回路810が最初のフラグメントおよび第1のフラグメントを受信した後、かつ送信回路820が第1のフラグメントを宛先デバイスに送信する前に、宛先MACアドレスフィールドに基づいて、転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断する
ように構成され、
送信回路820は、
転送デバイスのMACアドレスが宛先MACアドレスフィールドの値と等しくないと判断したことに応答して、第1のフラグメントを宛先デバイスに送信する
ように構成される。
【０２０１】
場合によっては、受信回路810は、物理コーディングサブレイヤ受信機PCS receiverを含み、PCS receiverは、受信回路810が第1のフラグメントを受信した後、送信対象データに応答して、PCS receiverがRX＿E状態に入るように構成される。
【０２０２】
場合によっては、第1のフラグメントはRxCフィールドおよびRxDフィールドを含み、RxCフィールドはタイプ指示情報を搬送し、RxDフィールドは送信対象データを搬送する。
【０２０３】
場合によっては、RxCフィールドの値は1に等しく、RxDフィールドの値は0xFEに等しい。
【０２０４】
場合によっては、第1のフラグメントは、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを含み、複数の送信対象データは送信対象データを含み、タイプ指示情報は、同期ヘッダフィールドおよびブロックタイプフィールドを含み、タイプ指示情報は、送信対象データのタイプが制御文字であることを示すために使用され、タイプ指示情報は、複数の送信対象データの中の送信対象データの位置を示すためにさらに使用される。
【０２０５】
場合によっては、同期ヘッダフィールドの値は0x10に等しく、送信対象データの値は0x1Eに等しい。
【０２０６】
場合によっては、第2のフラグメント内の送信対象データは、イーサネットフレームのフレームチェックシーケンス（FCS）フィールドを含むか、または第2のフラグメントは、イーサネットフレームのフレームチェックシーケンス（FCS）フィールドを含まない。
【０２０７】
本出願のこの実施形態におけるプロセッサは中央処理装置（CPU）であってよく、別の汎用プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）または別のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理デバイス、個別ハードウェア構成要素などであってもよいことを理解されたい。汎用プロセッサはマイクロプロセッサであってよく、またはプロセッサは任意の従来のプロセッサなどであってよい。
【０２０８】
本出願の実施形態で言及されたメモリは、揮発性メモリまたは不揮発性メモリであってもよく、揮発性メモリおよび不揮発性メモリを含んでもよいことを理解されたい。不揮発性メモリは、読取り専用メモリ（ROM）、プログラマブル読取り専用メモリ（PROM）、消去可能プログラマブル読取り専用メモリ（EPROM）、電気的消去可能プログラマブル読取り専用メモリ（EEPROM）、またはフラッシュメモリであってよい。揮発性メモリは、外部キャッシュとして使用されるランダムアクセスメモリ（RAM）であってよい。限定的な説明ではなく例として、多くの形態のRAM、たとえば、スタティックランダムアクセスメモリ（SRAM）、ダイナミックランダムアクセスメモリ（DRAM）、同期式ダイナミックランダムアクセスメモリ（SDRAM）、ダブルデータレート同期式ダイナミックランダムアクセスメモリ（Double Data Rate SDRAM、DDR SDRAM）、拡張同期式ダイナミックランダムアクセスメモリ（ESDRAM）、シンクリンクダイナミックランダムアクセスメモリ（SLDRAM）、およびダイレクトラムバスランダムアクセスメモリ（DR RAM）が使用されてよい。
【０２０９】
プロセッサが汎用プロセッサ、DSP、ASIC、FPGAもしくは別のプログラマブル倫理デバイス、個別ゲートもしくはトランジスタ論理デバイス、または個別ハードウェア構成要素であるとき、メモリ（ストレージモジュール）はプロセッサに統合されていることに留意されたい。
【０２１０】
本明細書に記載されたメモリは、これらのメモリおよび別の適切なタイプのメモリを含むものであるが、それらに限定されないことに留意されたい。
【０２１１】
本明細書に開示された実施形態に記載された例と組み合わせて、ユニットおよびアルゴリズムステップは、電子ハードウェア、またはコンピュータソフトウェアと電子ハードウェアの組合せによって実装されてよいことを当業者なら認識されよう。機能がハードウェアによって実行されるか、またはコンピュータソフトウェアと回路ハードウェアの組合せによって実行されるかは、技術的解決策の特定の用途および設計制約条件に依存する。当業者は、様々な方法を使用して、特定の用途ごとに記載された機能を実施することができる。
【０２１２】
便利で簡潔な説明のために、上記のシステム、装置、およびユニットの詳細な動作プロセスについては、上記の方法実施形態における対応するプロセスを参照されたく、本明細書では詳細は再び記載されないことを当業者なら明確に理解されよう。
【０２１３】
本出願において提供されたいくつかの実施形態では、開示されたシステム、装置、および方法は他の方式で実装されてよいことを理解されたい。たとえば、記載された装置実施形態は一例にすぎない。たとえば、ユニット分割は論理的な機能分割にすぎず、実際の実装形態では他の分割であってよい。たとえば、複数のユニットまたは構成要素は組み合わされるか、もしくは別のシステムに統合されてよく、または、いくつかの機能は無視されるか、もしくは実行されなくてよい。加えて、表示または説明された相互結合または直接結合または通信接続は、いくつかのインターフェースを使用することによって実装されてよい。装置間またはユニット間の間接結合または通信接続は、電気、機械、または他の形態で実装されてよい。
【０２１４】
別々の構成要素として記載されたユニットは、物理的に分かれていても、分かれていなくてもよく、ユニットとして表示された構成要素は、物理ユニットであってもそうでなくてもよく、1つの場所に配置されてもよく、または複数のネットワークユニット上に分散されてもよい。ユニットの一部またはすべては、実施形態の解決策の目的を達成するために、実際の要件に基づいて選択されてよい。
【０２１５】
加えて、本出願の実施形態における機能ユニットは1つの処理ユニットに統合されてよく、またはユニットの各々は物理的に単独で存在してよく、または2つ以上のユニットが1つのユニットに統合される。
【０２１６】
機能がソフトウェア機能ユニットの形態で実装され、独立した製品として販売または使用されるとき、機能はコンピュータ可読記憶媒体に記憶されてよい。そのような理解に基づいて、本出願の技術的解決策は本質的に、または従来技術に寄与する部分は、または技術的解決策の一部は、ソフトウェア製品の形態で実装されてよい。コンピュータソフトウェア製品は記憶媒体に記憶され、本出願の実施形態に記載された方法のステップのすべてまたは一部を実行するように、（パーソナルコンピュータ、サーバ、またはネットワークデバイスであってよい）コンピュータデバイスに命令するためのいくつかの命令を含む。前述の記憶媒体には、USBフラッシュドライブ、リムーバブルハードディスク、読取り専用メモリ（ROM）、ランダムアクセスメモリ（RAM）、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる任意の媒体が含まれる。
【符号の説明】
【０２１７】
100  イーサネットシステム
101  ソースデバイス
102  転送デバイス
103  転送デバイス
104  宛先デバイス
201  PHY回路
202  MAC回路
203  MAC回路
204  PHY回路
300  データ送信方法
400  データ送信方法
500  転送装置
510  受信モジュール
520  処理モジュール
530  送信モジュール
600  転送装置
610  受信モジュール
620  送信モジュール
630  処理モジュール
700  転送デバイス
710  受信回路
720  処理回路
730  送信回路
800  転送デバイス
810  受信回路
820  送信回路
830  処理回路
【国際調査報告】
2021517428.tif 000011
2021517428.tif 000012
2021517428.tif 000013
2021517428.tif 000014