JP2022120060A - データ送信方法および転送デバイス - Google Patents

データ送信方法および転送デバイス Download PDF

Info

Publication number
JP2022120060A
JP2022120060A JP2022092991A JP2022092991A JP2022120060A JP 2022120060 A JP2022120060 A JP 2022120060A JP 2022092991 A JP2022092991 A JP 2022092991A JP 2022092991 A JP2022092991 A JP 2022092991A JP 2022120060 A JP2022120060 A JP 2022120060A
Authority
JP
Japan
Prior art keywords
fragment
data
field
value
ethernet frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022092991A
Other languages
English (en)
Other versions
JP7346662B2 (ja
Inventor
童童 王
Tongtong Wang
心▲遠▼ 王
Xinyuan Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to JP2022092991A priority Critical patent/JP7346662B2/ja
Publication of JP2022120060A publication Critical patent/JP2022120060A/ja
Application granted granted Critical
Publication of JP7346662B2 publication Critical patent/JP7346662B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

【課題】イーサネットフレームがエラーを含むことを宛先デバイスが検出する成功率を高めるデータ送信方法及び転送デバイスを提供する。【解決手段】データ送信方法は、第1の転送デバイスにより、イーサネットフレームの複数のフラグメントを受信する。複数のフラグメントは、最初のフラグメント及び第1のフラグメントを含む。最初のフラグメントは、宛先媒体アクセス制御MACアドレスフィールドを含む。方法はさらに、第1の転送デバイスにより、イーサネットフレーム内でエラーが発生したとの判断に応答して、第1のフラグメントを第2のフラグメントに変更する。第2のフラグメントは、第2のタイプ指示情報及び第2の送信対象データを含む。第2の送信対象データは、イーサネットフレーム内でエラーが発生したことを示すために使用される。方法はまた、第1の転送デバイスにより、第2のフラグメントを宛先デバイスに送信する。【選択図】図3

Description

本出願は、モバイル通信の分野に関し、より詳細には、通信の分野におけるデータ送信方法および転送デバイスに関する。
産業用モノのインターネットおよび車両のインターネットは、通常、複数の転送デバイスを含む。ソースデバイスによって送信されたデータは、複数の転送デバイスを使用して転送されて、宛先デバイスに到達する。複数の転送デバイスは、チェーンネットワークまたはリングネットワークを形成することができる。
データがチェーンネットワークまたはリングネットワークを使用して転送されるとき、各転送デバイスは何らかの遅延を発生させる可能性がある。その結果、エンドツーエンドの遅延は、一部のアプリケーションシナリオの要件を満たすことができない。
カットスルー(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つのデータオクテットはそれぞれD~Dであり、同期ヘッダフィールドの値が10であり、ブロックタイプフィールドの値が0x1eであるとき、それはブロックタイプフィールドの後ろに8バイトの送信対象データがあることを示し、8バイトの送信対象データの各々は制御コードであり、8つの制御コードはそれぞれC~Cであり、C~Cの中の任意の制御コードの値が0x1eであるとき、それは送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示し、同期ヘッダフィールドの値が10であり、ブロックタイプフィールドの値が0x33であるとき、それはブロックタイプフィールドの後ろに8バイトの送信対象データがあることを示し、8バイトの送信対象データは4つの制御コードおよび3つのデータオクテットを含み、4つの制御コードはそれぞれC~Cであり、3つのデータオクテットはそれぞれD~Dであり、C~Cの中の任意の制御コードの値が0x1eであるとき、それは送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示すことが図から分かる。
たとえば、第1のフラグメント内の同期ヘッダフィールドの値が01であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、第1のタイプ指示情報の値を10に変更し、同期ヘッダフィールドの後ろの8つのデータオクテットD~Dの中のDを制御コードCに変更する必要があり、制御コードCの値は0x1eである。言い換えれば、第2のフラグメントの同期ヘッダフィールドの値は10であり、同期ヘッダフィールドの後ろの8つの送信対象データは、それぞれ、D、D、D、C、D、D、D、およびDであり、Cは第2の送信対象データである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内の同期ヘッダフィールドの値(10)に基づいて、同期ヘッダフィールドの後ろの8つの送信対象データが制御コードを含むと判断し、制御コードの値(0x1e)をさらにチェックして、最終的に、制御コードの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
本出願では、ソースデバイスがイーサネットフレームを生成し、少なくとも1つの転送デバイスを使用して宛先デバイスにイーサネットフレームを送信する。転送デバイスは、受信されたイーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したと判断する。転送デバイスは、受信されたイーサネットフレームを変更する。変更されたイーサネットフレームは、第2のフラグメントを含む。宛先デバイスによって受信されたイーサネットフレームは、ソースデバイスによって生成されたイーサネットフレームとは異なる。本出願では、宛先デバイスによって受信されたイーサネットフレームは、異なるオブジェクトを区別するために、新しいイーサネットフレームと呼ばれる。
別の例では、第1のフラグメント内の同期ヘッダフィールドの値が10であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、ブロックタイプフィールドの後ろにあるC~CまたはD~Dの中のいずれか1つの値のみを0x1eに変更する必要がある(たとえば、C~Cの中のCの値が0x1eに変更されるか、またはD~Dの中のDが制御コードCに変更される)。言い換えれば、第2のフラグメントの同期ヘッダフィールドの値は10であり、同期ヘッダフィールドの後ろの8つの送信対象データの中のCの値は0x1eであり、他の送信対象データの値は変更されないままであり、Cは第2の送信対象データである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内の同期ヘッダフィールドの値(10)に基づいて、同期ヘッダフィールドの後ろの8つの送信対象データが制御コードを含むと判断し、ブロックタイプフィールドの値0x33に基づいて、ブロックタイプフィールドの後ろのC~C上の送信対象データが制御コードであると判断し、制御コードの値(0x1e)をさらにチェックして、最終的に、制御コードの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
ブロックタイプフィールドはブロックタイプフィールドの後ろの8バイトの送信対象データの中の制御コードの位置を示すために使用されるので、D~Dの中のDが制御コードCに変更されると、ブロックタイプフィールドの値もそれに対応して変更される必要があることに留意されたい。
前述の新しいイーサネットフレームは、第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のブロックタイプフィールド、ならびにC~CおよびD~Dを含み、Cの値は0x1eであり、MAC回路202は、信号内にある同期ヘッダフィールドの値、ブロックタイプフィールドの値、およびCの値に基づいて、新しいイーサネットフレーム内でエラーが発生したと判断する。
限定ではなく例として、宛先デバイス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 処理回路
本出願は、通信の分野に関し、より詳細には、通信の分野におけるデータ送信方法および転送デバイスに関する。
産業用モノのインターネットおよび車両のインターネットは、通常、複数の転送デバイスを含む。ソースデバイスによって送信されたデータは、複数の転送デバイスを使用して転送されて、宛先デバイスに到達する。複数の転送デバイスは、チェーンネットワークまたはリングネットワークを形成することができる。
データがチェーンネットワークまたはリングネットワークを使用して転送されるとき、各転送デバイスは何らかの遅延を発生させる可能性がある。その結果、エンドツーエンドの遅延は、一部のアプリケーションシナリオの要件を満たすことができない。
カットスルー転送技術は、エンドツーエンドの遅延を低減することができる。たとえば、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の送信対象データの値は0x1に等しい。
第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アドレスフィールドの値は、宛先デバイス10の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から宛先デバイス10に送信されるプロセスにおける干渉に起因して、イーサネットフレーム内でエラーが発生する可能性があることが理解されよう。たとえば、電磁干渉は、送信プロセスにおけるイーサネットフレームに影響を与える可能性がある。イーサネットフレーム内でエラーが発生することは、イーサネットフレームに含まれる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つのデータオクテットはそれぞれD~Dであり、同期ヘッダフィールドの値が10であり、ブロックタイプフィールドの値が0x1であるとき、それはブロックタイプフィールドの後ろに8バイトの送信対象データがあることを示し、8バイトの送信対象データの各々は制御コードであり、8つの制御コードはそれぞれC~Cであり、C~Cの中の任意の制御コードの値が0x1であるとき、それは送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示し、同期ヘッダフィールドの値が10であり、ブロックタイプフィールドの値が0x33であるとき、それはブロックタイプフィールドの後ろに8バイトの送信対象データがあることを示し、8バイトの送信対象データは4つの制御コードおよび3つのデータオクテットを含み、4つの制御コードはそれぞれC~Cであり、3つのデータオクテットはそれぞれD~Dであり、C~Cの中の任意の制御コードの値が0x1であるとき、それは送信プロセスにおいてイーサネットフレーム内でエラーが発生したことを示すことが図から分かる。
たとえば、第1のフラグメント内の同期ヘッダフィールドの値が01であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、第1のタイプ指示情報の値を10に変更し、同期ヘッダフィールドの後ろの8つのデータオクテットD~Dの中のDを制御コードCに変更する必要があり、制御コードCの値は0x1である。言い換えれば、第2のフラグメントの同期ヘッダフィールドの値は10であり、同期ヘッダフィールドの後ろの8つの送信対象データは、それぞれ、D、D、D、C、D、D、D、およびDであり、Cは第2の送信対象データである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内の同期ヘッダフィールドの値(10)に基づいて、同期ヘッダフィールドの後ろの8つの送信対象データが制御コードを含むと判断し、制御コードの値(0x1)をさらにチェックして、最終的に、制御コードの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
本出願では、ソースデバイスがイーサネットフレームを生成し、少なくとも1つの転送デバイスを使用して宛先デバイスにイーサネットフレームを送信する。転送デバイスは、受信されたイーサネットフレームに対してCRCチェックを実行して、イーサネットフレーム内でエラーが発生したと判断する。転送デバイスは、受信されたイーサネットフレームを変更する。変更されたイーサネットフレームは、第2のフラグメントを含む。宛先デバイスによって受信されたイーサネットフレームは、ソースデバイスによって生成されたイーサネットフレームとは異なる。本出願では、宛先デバイスによって受信されたイーサネットフレームは、異なるオブジェクトを区別するために、新しいイーサネットフレームと呼ばれる。
別の例では、第1のフラグメント内の同期ヘッダフィールドの値が10であるとき、転送デバイス102のMAC回路202は、第2のフラグメントを取得するために、ブロックタイプフィールドの後ろにあるC~CまたはD~Dの中のいずれか1つの値のみを0x1に変更する必要がある(たとえば、C~Cの中のCの値が0x1に変更されるか、またはD~Dの中のDが制御コードCに変更される)。言い換えれば、第2のフラグメントの同期ヘッダフィールドの値は10であり、同期ヘッダフィールドの後ろの8つの送信対象データの中のCの値は0x1であり、他の送信対象データの値は変更されないままであり、Cは第2の送信対象データである。したがって、第2のフラグメントを受信すると、宛先デバイス104は、第2のフラグメント内の同期ヘッダフィールドの値(10)に基づいて、同期ヘッダフィールドの後ろの8つの送信対象データが制御コードを含むと判断し、ブロックタイプフィールドの値0x33に基づいて、ブロックタイプフィールドの後ろのC~C上の送信対象データが制御コードであると判断し、制御コードの値(0x1)をさらにチェックして、最終的に、制御コードの値に基づいて、送信プロセスにおいて新しいイーサネットフレーム内でエラーが発生したと判断する。
ブロックタイプフィールドはブロックタイプフィールドの後ろの8バイトの送信対象データの中の制御コードの位置を示すために使用されるので、D~Dの中のDが制御コードCに変更されると、ブロックタイプフィールドの値もそれに対応して変更される必要があることに留意されたい。
前述の新しいイーサネットフレームは、第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のブロックタイプフィールド、ならびにC~CおよびD~Dを含み、Cの値は0x1であり、MAC回路202は、信号内にある同期ヘッダフィールドの値、ブロックタイプフィールドの値、およびCの値に基づいて、新しいイーサネットフレーム内でエラーが発生したと判断する。
限定ではなく例として、宛先デバイス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に等しく、送信対象データの値は0x1に等しい。
限定ではなく例として、第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の送信対象データの値は0x1に等しい。
場合によっては、第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の送信対象データの値は0x1に等しい。
場合によっては、第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のフラグメントに変更される。
場合によっては、転送装置00は処理回路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 処理回路

Claims (34)

  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アドレスと等しくない、ステップと
    を備える、方法。
  2. 前記第1の転送デバイスにより、前記イーサネットフレーム内でエラーが発生したと判断する前記ステップに応答して、前記第1のフラグメントを第2のフラグメントに変更する前記ステップが、
    前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しくないとき、前記第1の転送デバイスにより、前記第1のフラグメント内の前記第1のタイプ指示情報および前記第1の送信対象データを前記第2のタイプ指示情報および前記第2の送信対象データにそれぞれ変更するステップ、または
    前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しいとき、前記第1の転送デバイスにより、前記第1のフラグメント内の前記第1の送信対象データを前記第2の送信対象データに変更するステップ
    を備える、請求項1に記載の方法。
  3. 前記第2のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記第2のタイプ指示情報を搬送し、前記RxDフィールドが前記第2の送信対象データを搬送する、請求項1または2に記載の方法。
  4. 前記RxCフィールドの値が1であり、前記RxDフィールドの値が0xFEに等しい、請求項3に記載の方法。
  5. 前記第2のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記第2の送信対象データを備え、前記第2のタイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記第2のタイプ指示情報が、前記第2の送信対象データの前記タイプが制御文字であることを示すために使用され、前記第2のタイプ指示情報が、前記複数の送信対象データの中の前記第2の送信対象データの位置を示すためにさらに使用される、
    請求項1または2に記載の方法。
  6. 前記第2の送信対象データの前記値が0x1eに等しい、請求項5に記載の方法。
  7. 前記第1のフラグメント内の前記送信対象データがFCSフィールドを備えるか、または前記第1のフラグメントがFCSフィールドを備えない、請求項1から6のいずれか一項に記載の方法。
  8. 前記第1の転送デバイスにより、前記FCS値に基づいて、前記イーサネットフレーム内でエラーが発生したと判断する前記ステップが、
    前記FCS値が前記FCSフィールドの値と等しくないとき、前記第1の転送デバイスにより、前記イーサネットフレーム内でエラーが発生したと判断するステップ
    を備える、請求項7に記載の方法。
  9. データ送信方法であって、
    第2の転送デバイスにより、最初のフラグメントおよび第1のフラグメントを受信するステップであって、前記第1のフラグメントがタイプ指示情報および送信対象データを備え、前記タイプ指示情報が前記送信対象データのタイプを示すために使用され、前記送信対象データの前記タイプが制御文字であり、前記送信対象データが、イーサネットフレーム内でエラーが発生したことを示すために使用され、前記イーサネットフレームが前記最初のフラグメントを備え、前記最初のフラグメントが宛先MACアドレスフィールドを備え、前記宛先MACアドレスフィールドの値が宛先デバイスのMACアドレスと等しく、前記第2の転送デバイスのMACアドレスが前記宛先MACアドレスフィールドの前記値と等しくない、ステップと、
    前記第2の転送デバイスにより、前記第1のフラグメントを前記宛先デバイスに送信するステップと
    を備える、方法。
  10. 前記イーサネットフレームが第2のフラグメントをさらに備え、前記第2の転送デバイスが前記第1のフラグメントを受信する前に、前記イーサネットフレームに対してCRCチェックが実行された後、前記イーサネットフレーム内でエラーが発生したと判断したことに応答して、前記第2のフラグメントが前記第1のフラグメントに変更される、請求項9に記載の方法。
  11. 第2の転送デバイスにより、最初のフラグメントおよび第1のフラグメントを受信する前記ステップの後、かつ前記第2の転送デバイスにより、前記第1のフラグメントを前記宛先デバイスに送信する前記ステップの前に、前記方法が、
    前記第2の転送デバイスにより、前記宛先MACアドレスフィールドに基づいて、前記転送デバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと判断するステップ
    をさらに備え、
    前記第2の転送デバイスにより、前記第1のフラグメントを前記宛先デバイスに送信する前記ステップが、
    前記第2の転送デバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと判断する前記ステップに応答して、前記第2の転送デバイスにより、前記第1のフラグメントを前記宛先デバイスに送信するステップ
    を備える、請求項9または10に記載の方法。
  12. 前記第2の転送デバイスが、物理コーディングサブレイヤ受信機PCS receiverを備え、前記第2の転送デバイスが前記第1のフラグメントを受信した後に、前記方法が、
    前記送信対象データに応答して、前記PCS receiverがRX_E状態に入ること
    をさらに備える、請求項9から11のいずれか一項に記載の方法。
  13. 前記第1のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記タイプ指示情報を搬送し、前記RxDフィールドが前記送信対象データを搬送する、請求項9から12のいずれか一項に記載の方法。
  14. 前記RxCフィールドの値が1に等しく、前記RxDフィールドの値が0xFEに等しい、請求項13に記載の方法。
  15. 前記第1のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記送信対象データを備え、前記タイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記タイプ指示情報が、前記送信対象データの前記タイプが制御文字であることを示すために使用され、前記タイプ指示情報が、前記複数の送信対象データの中の前記送信対象データの位置を示すためにさらに使用される、
    請求項9から12のいずれか一項に記載の方法。
  16. 前記同期ヘッダフィールドの値が0x10に等しく、前記送信対象データの値が0x1Eに等しい、請求項15に記載の方法。
  17. 前記第2のフラグメント内の送信対象データが、前記イーサネットフレームのフレームチェックシーケンスFCSフィールドを備えるか、または前記第2のフラグメントが、前記イーサネットフレームのフレームチェックシーケンスFCSフィールドを備えない、請求項10から16のいずれか一項に記載の方法。
  18. 転送デバイスであって、
    イーサネットフレームの複数のフラグメントを受信するように構成された受信回路であって、前記複数のフラグメントが最初のフラグメントおよび第1のフラグメントを備え、前記最初のフラグメントが宛先媒体アクセス制御MACアドレスフィールドを備える、受信回路と、
    前記複数のフラグメントに基づいて前記イーサネットフレームのフレームチェックシーケンスFCS値を決定し、前記FCS値に基づいて、前記イーサネットフレーム内でエラーが発生したと判断し、前記イーサネットフレーム内でエラーが発生したと前記判断することに応答して、前記第1のフラグメントを第2のフラグメントに変更するように構成された処理回路であって、前記第1のフラグメントが第1のタイプ指示情報および第1の送信対象データを備え、前記第2のフラグメントが第2のタイプ指示情報および第2の送信対象データを備え、前記第1のタイプ指示情報が前記第1の送信対象データのタイプを示すために使用され、前記第2のタイプ指示情報が、前記第2の送信対象データのタイプが制御文字であることを示すために使用され、前記第1の送信対象データの値が前記第2の送信対象データの値と等しくなく、前記第2の送信対象データが、前記イーサネットフレーム内でエラーが発生したことを示すために使用される、処理回路と、
    前記第2のフラグメントを宛先デバイスに送信するように構成された送信回路であって、前記宛先MACアドレスフィールドの値が前記宛先デバイスのMACアドレスと等しく、前記宛先デバイスの前記MACアドレスが前記転送デバイスのMACアドレスと等しくない、送信回路と
    を備える、転送デバイス。
  19. 前記処理回路が、
    前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しくないとき、前記第1のフラグメント内の前記第1のタイプ指示情報および前記第1の送信対象データを前記第2のタイプ指示情報および前記第2の送信対象データにそれぞれ変更するか、または
    前記第1のタイプ指示情報の値が前記第2のタイプ指示情報の値と等しいとき、前記第1のフラグメント内の前記第1の送信対象データを前記第2の送信対象データに変更する
    ように構成される、請求項18に記載の転送デバイス。
  20. 前記第2のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記第2のタイプ指示情報を搬送し、前記RxDフィールドが前記第2の送信対象データを搬送する、請求項18または19に記載の転送デバイス。
  21. 前記RxCフィールドの値が1であり、前記RxDフィールドの値が0xFEに等しい、請求項20に記載の転送デバイス。
  22. 前記第2のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記第2の送信対象データを備え、前記第2のタイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記第2のタイプ指示情報が、前記第2の送信対象データの前記タイプが制御文字であることを示すために使用され、前記第2のタイプ指示情報が、前記複数の送信対象データの中の前記第2の送信対象データの位置を示すためにさらに使用される、請求項18または19に記載の転送デバイス。
  23. 前記第2の送信対象データの前記値が0x1eに等しい、請求項22に記載の転送デバイス。
  24. 前記第1のフラグメント内の前記送信対象データがFCSフィールドを備えるか、または前記第1のフラグメントがFCSフィールドを備えない、請求項18から23のいずれか一項に記載の転送デバイス。
  25. 前記処理回路が、
    前記FCS値が前記FCSフィールドの値と等しくないとき、前記イーサネットフレーム内でエラーが発生したと判断する
    ように構成される、請求項24に記載の転送デバイス。
  26. 転送デバイスであって、
    最初のフラグメントおよび第1のフラグメントを受信するように構成された受信回路であって、前記第1のフラグメントがタイプ指示情報および送信対象データを備え、前記タイプ指示情報が前記送信対象データのタイプを示すために使用され、前記送信対象データの前記タイプが制御文字であり、前記送信対象データが、イーサネットフレーム内でエラーが発生したことを示すために使用され、前記イーサネットフレームが前記最初のフラグメントを備え、前記最初のフラグメントが宛先MACアドレスフィールドを備え、前記宛先MACアドレスフィールドの値が宛先デバイスのMACアドレスと等しく、前記転送デバイスのMACアドレスが前記宛先MACアドレスフィールドの前記値と等しくない、受信回路と、
    前記第1のフラグメントを前記宛先デバイスに送信するように構成された送信回路と
    を備える、転送デバイス。
  27. 前記イーサネットフレームが第2のフラグメントをさらに備え、前記転送デバイスが前記第1のフラグメントを受信する前に、前記イーサネットフレームに対してCRCチェックが実行された後、前記イーサネットフレーム内でエラーが発生したと判断したことに応答して、前記第2のフラグメントが前記第1のフラグメントに変更される、請求項26に記載の転送デバイス。
  28. 前記処理回路が、
    前記受信回路が前記最初のフラグメントおよび前記第1のフラグメントを受信した後、かつ前記送信回路が前記第1のフラグメントを前記宛先デバイスに送信する前に、前記宛先MACアドレスフィールドに基づいて、前記転送デバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと判断する
    ように構成され、
    前記送信回路が、
    前記転送デバイスの前記MACアドレスが前記宛先MACアドレスフィールドの前記値と等しくないと前記判断することに応答して、前記第1のフラグメントを前記宛先デバイスに送信する
    ように構成される、請求項26または27に記載の転送デバイス。
  29. 前記受信回路が物理コーディングサブレイヤ受信機PCS receiverを備え、前記PCS receiverが、
    前記受信回路が前記第1のフラグメントを受信した後、前記送信対象データに応答して、前記PCS receiverがRX_E状態に入る
    ように構成される、請求項26から28のいずれか一項に記載の転送デバイス。
  30. 前記第1のフラグメントがRxCフィールドおよびRxDフィールドを備え、前記RxCフィールドが前記タイプ指示情報を搬送し、前記RxDフィールドが前記送信対象データを搬送する、請求項26から29のいずれか一項に記載の転送デバイス。
  31. 前記RxCフィールドの値が1に等しく、前記RxDフィールドの値が0xFEに等しい、請求項30に記載の転送デバイス。
  32. 前記第1のフラグメントが、同期ヘッダフィールド、ブロックタイプフィールド、および複数の送信対象データを備え、前記複数の送信対象データが前記送信対象データを備え、前記タイプ指示情報が、前記同期ヘッダフィールドおよび前記ブロックタイプフィールドを備え、前記タイプ指示情報が、前記送信対象データの前記タイプが制御文字であることを示すために使用され、前記タイプ指示情報が、前記複数の送信対象データの中の前記送信対象データの位置を示すためにさらに使用される、請求項26から29のいずれか一項に記載の転送デバイス。
  33. 前記同期ヘッダフィールドの値が0x10に等しく、前記送信対象データの値が0x1Eに等しい、請求項32に記載の転送デバイス。
  34. 前記第2のフラグメント内の送信対象データが、前記イーサネットフレームのフレームチェックシーケンスFCSフィールドを備えるか、または前記第2のフラグメントが、前記イーサネットフレームのフレームチェックシーケンスFCSフィールドを備えない、請求項27から33のいずれか一項に記載の転送デバイス。
JP2022092991A 2018-03-31 2022-06-08 データ送信方法および転送デバイス Active JP7346662B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022092991A JP7346662B2 (ja) 2018-03-31 2022-06-08 データ送信方法および転送デバイス

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020552816A JP7087106B2 (ja) 2018-03-31 2018-03-31 データ送信方法および転送デバイス
PCT/CN2018/081495 WO2019183987A1 (zh) 2018-03-31 2018-03-31 传输数据的方法和转发设备
JP2022092991A JP7346662B2 (ja) 2018-03-31 2022-06-08 データ送信方法および転送デバイス

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020552816A Division JP7087106B2 (ja) 2018-03-31 2018-03-31 データ送信方法および転送デバイス

Publications (2)

Publication Number Publication Date
JP2022120060A true JP2022120060A (ja) 2022-08-17
JP7346662B2 JP7346662B2 (ja) 2023-09-19

Family

ID=68059486

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020552816A Active JP7087106B2 (ja) 2018-03-31 2018-03-31 データ送信方法および転送デバイス
JP2022092991A Active JP7346662B2 (ja) 2018-03-31 2022-06-08 データ送信方法および転送デバイス

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020552816A Active JP7087106B2 (ja) 2018-03-31 2018-03-31 データ送信方法および転送デバイス

Country Status (6)

Country Link
US (2) US11387940B2 (ja)
EP (1) EP3767851B1 (ja)
JP (2) JP7087106B2 (ja)
CN (3) CN111937329B (ja)
BR (1) BR112020019811A2 (ja)
WO (1) WO2019183987A1 (ja)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001308753A (ja) * 2000-04-18 2001-11-02 Nippon Telegr & Teleph Corp <Ntt> 通信システムの監視方法
JP2005006036A (ja) * 2003-06-12 2005-01-06 Nec Corp ネットワーク、伝送装置及びそれに用いるトランスペアレント転送方法
JP2006333478A (ja) * 2005-05-24 2006-12-07 Avago Technologies General Ip (Singapore) Private Ltd パケットデータの符号化と復号
JP2009239897A (ja) * 2008-01-14 2009-10-15 Huawei Technologies Co Ltd データエラー報告を実現するための方法およびデバイス
WO2011074298A1 (ja) * 2009-12-18 2011-06-23 日本電気株式会社 判定装置、転送装置、判定方法、コンピュータプログラム
JP2012253528A (ja) * 2011-06-02 2012-12-20 Hitachi Ltd パケットトランスポート用再生中継装置
US20150117177A1 (en) * 2013-10-29 2015-04-30 Ilango Ganga Ethernet enhancements
JP2017121091A (ja) * 2017-04-10 2017-07-06 日立オートモティブシステムズ株式会社 Ecu、及び車用ネットワーク装置
EP3242430A1 (en) * 2015-01-22 2017-11-08 Huawei Technologies Co., Ltd. Service signal transmission method and communication device using ethernet channel
WO2018163229A1 (ja) * 2017-03-06 2018-09-13 三菱電機株式会社 転送装置、転送方法及び転送システム
JP2019517198A (ja) * 2016-05-13 2019-06-20 ホアウェイ・テクノロジーズ・カンパニー・リミテッド データ伝送方法、デバイスおよびシステム
JP2019527499A (ja) * 2016-07-01 2019-09-26 華為技術有限公司Huawei Technologies Co.,Ltd. サービス送信方法及び装置、サービス受信方法及び装置、並びにネットワーク・システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089485B2 (en) * 2000-02-03 2006-08-08 Agere Systems Inc. Simple link protocol providing low overhead coding for LAN serial and WDM solutions
CN100388700C (zh) * 2002-10-18 2008-05-14 华为技术有限公司 一种在同步数字网上传送数据业务的方法
CN101180838B (zh) * 2005-05-09 2013-05-08 三菱电机株式会社 通信装置及交换处理装置
CN100438439C (zh) * 2006-05-19 2008-11-26 华为技术有限公司 一种防止mac地址欺骗的方法
US8402343B2 (en) 2009-12-04 2013-03-19 St-Ericsson Sa Reliable packet cut-through
US9204337B2 (en) * 2010-03-09 2015-12-01 Broadcom Corporation Bandwidth mechanisms and successive channel reservation access within multiple user, multiple access, and/or MIMO wireless communications
CN104580011B (zh) * 2013-10-23 2017-12-15 新华三技术有限公司 一种数据转发装置和方法
US9692715B2 (en) * 2014-02-21 2017-06-27 Cavium, Inc. Multiple ethernet ports and port types using a shared data path
US9515694B1 (en) * 2014-07-29 2016-12-06 nusemi inc. Adaptable rate transceiver
JP6573819B2 (ja) * 2015-01-20 2019-09-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム
US11075836B2 (en) * 2016-05-31 2021-07-27 128 Technology, Inc. Reverse forwarding information base enforcement
CN106788894A (zh) * 2016-12-20 2017-05-31 中核控制系统工程有限公司 分段独立传输校验方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001308753A (ja) * 2000-04-18 2001-11-02 Nippon Telegr & Teleph Corp <Ntt> 通信システムの監視方法
JP2005006036A (ja) * 2003-06-12 2005-01-06 Nec Corp ネットワーク、伝送装置及びそれに用いるトランスペアレント転送方法
JP2006333478A (ja) * 2005-05-24 2006-12-07 Avago Technologies General Ip (Singapore) Private Ltd パケットデータの符号化と復号
JP2009239897A (ja) * 2008-01-14 2009-10-15 Huawei Technologies Co Ltd データエラー報告を実現するための方法およびデバイス
WO2011074298A1 (ja) * 2009-12-18 2011-06-23 日本電気株式会社 判定装置、転送装置、判定方法、コンピュータプログラム
JP2012253528A (ja) * 2011-06-02 2012-12-20 Hitachi Ltd パケットトランスポート用再生中継装置
US20150117177A1 (en) * 2013-10-29 2015-04-30 Ilango Ganga Ethernet enhancements
EP3242430A1 (en) * 2015-01-22 2017-11-08 Huawei Technologies Co., Ltd. Service signal transmission method and communication device using ethernet channel
JP2019517198A (ja) * 2016-05-13 2019-06-20 ホアウェイ・テクノロジーズ・カンパニー・リミテッド データ伝送方法、デバイスおよびシステム
JP2019527499A (ja) * 2016-07-01 2019-09-26 華為技術有限公司Huawei Technologies Co.,Ltd. サービス送信方法及び装置、サービス受信方法及び装置、並びにネットワーク・システム
WO2018163229A1 (ja) * 2017-03-06 2018-09-13 三菱電機株式会社 転送装置、転送方法及び転送システム
JP2017121091A (ja) * 2017-04-10 2017-07-06 日立オートモティブシステムズ株式会社 Ecu、及び車用ネットワーク装置

Also Published As

Publication number Publication date
EP3767851A1 (en) 2021-01-20
WO2019183987A1 (zh) 2019-10-03
US11799587B2 (en) 2023-10-24
BR112020019811A2 (pt) 2021-01-05
US20220329352A1 (en) 2022-10-13
US11387940B2 (en) 2022-07-12
CN111937329A (zh) 2020-11-13
CN114374476A (zh) 2022-04-19
US20210014000A1 (en) 2021-01-14
CN111937329B (zh) 2021-12-31
JP7346662B2 (ja) 2023-09-19
EP3767851A4 (en) 2021-03-17
JP2021517428A (ja) 2021-07-15
JP7087106B2 (ja) 2022-06-20
EP3767851B1 (en) 2023-08-30
CN114374475A (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
US7519080B2 (en) Fibre channel frame-mode GFP with distributed delimiter
US8369226B2 (en) Method and device of processing a generic framing procedure frame
JP5069399B2 (ja) 入力データパケットを転送および回復する方法および装置
TWI650967B (zh) 乙太網路的連線方法及其乙太網路裝置
US7733865B2 (en) Communication apparatus and method
US10256944B1 (en) Controlling false packet acceptance
WO2018086564A1 (zh) 多通道无源光网络的帧序号承载方法、装置及系统、存储介质
EP1206099A2 (en) Network interface
EP2515462A1 (en) Determination device, transfer device, determination method, computer program
US20060075311A1 (en) Techniques to perform error detection
JP7346662B2 (ja) データ送信方法および転送デバイス
JP2011182287A (ja) データ転送装置及びデータ転送システム
CN110830152B (zh) 接收码块流的方法、发送码块流的方法和通信装置
US9160604B2 (en) Systems and methods to explicitly realign packets
US20080267281A1 (en) Method, device and network element for decoding an information word from a coded word
CN116455516A (zh) 编码方法、解码方法、装置、设备、系统及可读存储介质
EP3142277B1 (en) Fault tolerance method and apparatus for microwave transmission and computer readable storage medium
JP2021533691A (ja) サービスビットストリームを処理する方法及び装置
WO2023131004A1 (zh) 编码方法、解码方法、装置、设备、系统及可读存储介质
CN110830153B (zh) 接收码块流的方法、发送码块流的方法和通信装置
CN113949487A (zh) 数据通信方法、装置、通信终端及计算机可读存储介质
CN116455517A (zh) 编码方法、解码方法、装置、设备、系统及可读存储介质
CN116260553A (zh) 数据重传的方法、装置及系统
CN114095435A (zh) 比特块的发送方法及装置
JP2014150488A (ja) フレーム変換装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220610

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230906

R150 Certificate of patent or registration of utility model

Ref document number: 7346662

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150