JP2015126499A - 送信装置、受信装置、パケット送信方法、及びパケット受信方法 - Google Patents
送信装置、受信装置、パケット送信方法、及びパケット受信方法 Download PDFInfo
- Publication number
- JP2015126499A JP2015126499A JP2013271713A JP2013271713A JP2015126499A JP 2015126499 A JP2015126499 A JP 2015126499A JP 2013271713 A JP2013271713 A JP 2013271713A JP 2013271713 A JP2013271713 A JP 2013271713A JP 2015126499 A JP2015126499 A JP 2015126499A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- data
- identifier
- transmission
- unit
- 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.)
- Abandoned
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】データ転送量を抑えつつ、優先度の高いパケットを遅延なく転送することができる送信装置、受信装置、パケット送信方法、及びパケット受信方法を提供すること。【解決手段】スケジューラ106は、低プライオリティパケットの送信中に高プライオリティパケットが送信可能となった場合、送信中断命令を識別子生成部107及びデータ出力部108に供給する。識別子生成部107は、低プライオリティパケットに付与する中断用の識別子と再開用の識別子を生成する。データ出力部108は、送信中断命令を受信した場合、出力中の低プライオリティパケットのデータに中断用の識別子を付して低プライオリティパケットの送信を中断する。データ出力部108は、高プライオリティパケットに識別子を付すことなく送信した後に、送信を中断した低プライオリティパケットのデータに再開用の識別子を付して送信する。【選択図】図12
Description
本発明は送信装置、受信装置、パケット送信方法、及びパケット受信方法に関し、特に複数種類のパケットの送信優先度が異なる場合における送信装置、受信装置、パケット送信方法、及びパケット受信方法に関する。
一般的なパケット転送装置(スイッチ装置やルータ装置等)において、特定の物理ポートにおけるパケットの出力順序は、QoS(Quality of Service)制御によって決定される。つまり優先度の高いパケットは、装置内で優先的に選択されて出力される。これによりパケット転送装置内で発生する遅延を抑えることができる。
しかしQoS制御を行った場合であっても、一旦物理ポートから出力を開始したパケットが存在する場合、当該パケットの出力完了を待ってから次のパケットを出力する必要がある。ここでパケット転送装置が扱うパケットは、ジャンボフレーム(9600バイト)等の巨大なものも対象となっている。ジャンボフレーム(9600バイト)を1Gbps(bit per second)のポートから出力する場合、出力完了までに要する時間は80usである。すなわち、高い優先度のパケットの送信が80us遅延してしまう恐れがある。
近年、パケットによる位相同期機能(IEEE1588等)が注目されてきている。上述の伝送遅延や遅延揺らぎ(PDV:Packet Delay Variation)が生じた場合、位相同期に必要なネットワーク特性が得られない場合がある。以下、この問題に関連する技術、すなわちパケットの優先度を扱う先行技術について説明する。
特許文献1は、上述のパケット遅延を低減できるパケット制御装置の一態様を開示している。当該パケット制御装置は、バッファから一般パケットを出力中に特定のパケットがバッファに入力された場合、一般パケットの出力を中断して特定パケットを出力する割込み処理を実行している。受信側の装置は、一般パケットのエラーチェックを行い、不完全なパケットであった場合には破棄を行う。またパケット制御装置は、出力を中断した一般パケットの再送を行う(段落0033)。特許文献2にも、出力中のパケットの出力を停止し、優先度の高いパケットの出力動作に切り替える技術が開示されている。
特許文献3は、ATM(Asynchronous Transfer Mode)網を使用したフレーム転送装置が開示されている。当該フレーム転送装置は、フレームをパケット単位(48バイト)に分割し、分割したパケットに属性情報(フレームの優先度)と位置情報(分割されたパケットがフレームの何番目かを示す情報)を付与して送信する。受信先の装置は、属性情報と位置情報を用いてパケットからフレームを再構築する。
上述の特許文献1の技術では、一般パケットの出力中に特定パケットがバッファに格納された場合、一般パケットの出力が中断され、送信済みの一般パケットが受信装置側で破棄される。すなわち、不完全なデータを対向装置間で送受信することになり、ネットワーク帯域を無駄に使用してしまう。特許文献2についても同様である。
また特許文献3の技術では、常にフレームを分割したパケットに属性情報と位置情報を付与して送信している。各パケットに属性情報と位置情報が常に付与されるため、転送データ量が多くなってしまい、ネットワーク帯域を圧迫してしまう恐れがある。
すなわち上述の技術(特許文献1〜3)では、データ転送量を抑えつつ、優先度の高いパケットを遅延なく転送することができないという問題があった。
本発明は、上述の課題に鑑みてなされたものであり、データ転送量を抑えつつ、優先度の高いパケットを遅延なく転送することができる送信装置、受信装置、パケット送信方法、及びパケット受信方法を提供することを主たる目的とする。
本発明の送信装置の一態様は、
転送対象のパケットを格納部から読み出して出力するデータ出力部と、
送信可能となった第1パケットの送信優先度が前記データ出力部の送信している第2パケットの送信優先度よりも高い場合、送信中断命令を出力するスケジューラと、
前記送信中断命令が出力された場合、前記データ出力部が出力中のデータに付与する第1識別子と当該第1識別子と対応する第2識別子を生成する識別子生成部と、を備え、
前記データ出力部は、前記送信中断命令の受信時に、出力中の前記第2パケットのデータに前記第1識別子を付与して出力した後に前記第2パケットの出力を停止し、前記第1パケットに識別子も付すことなく出力した後に、前記第2パケットの送信前のデータに前記第2識別子を付与して送信する、ものである。
転送対象のパケットを格納部から読み出して出力するデータ出力部と、
送信可能となった第1パケットの送信優先度が前記データ出力部の送信している第2パケットの送信優先度よりも高い場合、送信中断命令を出力するスケジューラと、
前記送信中断命令が出力された場合、前記データ出力部が出力中のデータに付与する第1識別子と当該第1識別子と対応する第2識別子を生成する識別子生成部と、を備え、
前記データ出力部は、前記送信中断命令の受信時に、出力中の前記第2パケットのデータに前記第1識別子を付与して出力した後に前記第2パケットの出力を停止し、前記第1パケットに識別子も付すことなく出力した後に、前記第2パケットの送信前のデータに前記第2識別子を付与して送信する、ものである。
本発明の受信装置の一態様は、
識別子が付されたデータを保持する切断データ保持部と、
受信したデータに前記識別子が付されているか否かを判定するデータ入力部と、を備え、
前記データ入力部は、
一連のデータに前記識別子が付されていない場合には当該データが正常なパケットであると判定して後段処理部に転送し、
一連のデータに前記識別子が付されている場合には当該データを前記切断データ保持部に格納し、前記切断データ保持部が保持するデータを再構築してパケットを生成して後段処理部に転送する、ものである。
識別子が付されたデータを保持する切断データ保持部と、
受信したデータに前記識別子が付されているか否かを判定するデータ入力部と、を備え、
前記データ入力部は、
一連のデータに前記識別子が付されていない場合には当該データが正常なパケットであると判定して後段処理部に転送し、
一連のデータに前記識別子が付されている場合には当該データを前記切断データ保持部に格納し、前記切断データ保持部が保持するデータを再構築してパケットを生成して後段処理部に転送する、ものである。
本発明のパケット送信方法の一態様は、
転送対象のパケットを格納部から読み出して出力するデータ出力ステップと、
送信可能となった第1パケットの送信優先度が前記データ出力部の送信している第2パケットの送信優先度よりも高い場合、送信中断命令を出力するスケジューリングステップと、
前記送信中断命令が出力された場合、前記データ出力部が出力中のデータに付与する第1識別子と当該第1識別子と対応する第2識別子を生成する識別子生成ステップと、を備え、
前記データ出力ステップでは、前記送信中断命令の受信時に、出力中の前記第2パケットのデータに前記第1識別子を付与して出力した後に前記第2パケットの出力を停止し、前記第1パケットに識別子も付すことなく出力した後に、前記第2パケットの送信前のデータに前記第2識別子を付与して送信する、ものである。
転送対象のパケットを格納部から読み出して出力するデータ出力ステップと、
送信可能となった第1パケットの送信優先度が前記データ出力部の送信している第2パケットの送信優先度よりも高い場合、送信中断命令を出力するスケジューリングステップと、
前記送信中断命令が出力された場合、前記データ出力部が出力中のデータに付与する第1識別子と当該第1識別子と対応する第2識別子を生成する識別子生成ステップと、を備え、
前記データ出力ステップでは、前記送信中断命令の受信時に、出力中の前記第2パケットのデータに前記第1識別子を付与して出力した後に前記第2パケットの出力を停止し、前記第1パケットに識別子も付すことなく出力した後に、前記第2パケットの送信前のデータに前記第2識別子を付与して送信する、ものである。
本発明のパケット受信方法の一態様は、
識別子が付されたデータを保持する切断データ保持ステップと、
受信したデータに前記識別子が付されているか否かを判定するデータ入力ステップと、を備え、
前記データ入力ステップでは、
一連のデータに前記識別子が付されていない場合には当該データが正常なパケットであると判定して後段処理部に転送し、
一連のデータに前記識別子が付されている場合には当該データを前記切断データ保持部に格納し、前記切断データ保持部が保持するデータを再構築してパケットを生成して後段処理部に転送する、ものである。
識別子が付されたデータを保持する切断データ保持ステップと、
受信したデータに前記識別子が付されているか否かを判定するデータ入力ステップと、を備え、
前記データ入力ステップでは、
一連のデータに前記識別子が付されていない場合には当該データが正常なパケットであると判定して後段処理部に転送し、
一連のデータに前記識別子が付されている場合には当該データを前記切断データ保持部に格納し、前記切断データ保持部が保持するデータを再構築してパケットを生成して後段処理部に転送する、ものである。
本発明は、データ転送量を抑えつつ、優先度の高いパケットを遅延なく転送することができる送信装置、受信装置、パケット送信方法、及びパケット受信方法を提供することができる。
<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。実施の形態1は、主に送信装置100と受信装置200から構成されるネットワークシステムにかかるものである。図1は、本実施の形態にかかる送信装置100の構成を示すブロック図である。送信装置100は、物理ポート101、物理ポート102、スイッチ/QoS制御部103、高プライオリティキュー104、低プライオリティキュー105、スケジューラ106、識別子生成部107、データ出力部108、及び物理ポート109を備える。送信装置100はパケットを送信する任意の装置であれば良く、例えばスイッチ装置やルータ等が該当する。
以下、図面を参照して本発明の実施の形態について説明する。実施の形態1は、主に送信装置100と受信装置200から構成されるネットワークシステムにかかるものである。図1は、本実施の形態にかかる送信装置100の構成を示すブロック図である。送信装置100は、物理ポート101、物理ポート102、スイッチ/QoS制御部103、高プライオリティキュー104、低プライオリティキュー105、スケジューラ106、識別子生成部107、データ出力部108、及び物理ポート109を備える。送信装置100はパケットを送信する任意の装置であれば良く、例えばスイッチ装置やルータ等が該当する。
物理ポート101及び物理ポート102は、他の装置からのパケットが入力される物理的なポートである。物理ポート101及び物理ポート102に入力されたパケットは、スイッチ/QoS制御部103に入力される。なお、パケットの入力される物理ポートの数は任意の数でよい(例えば3個以上であってもよい。)。
スイッチ/QoS制御部103は、物理ポート101,102に入力されたパケットのQoS(Quality of Service)制御を行い、各パケットの優先度を決定する。パケットの優先度の決定方法は、一般的に用いられる方法(特許文献1や特許文献2に記載の手法等)であれば良い。スイッチ/QoS制御部103は、判定した優先度に従って、各パケットを高プライオリティキュー104または低プライオリティキュー105に格納する。
高プライオリティキュー104(第1キュー)は、優先度の高いパケットである高プライオリティパケット(第1パケット)が格納されるキューである。低プライオリティキュー105(第2キュー)は、優先度の低いパケットである低プライオリティパケット(第2パケット)が格納されるキューである。なお、本実施の形態では説明の明確化のため、パケットのプライオリティ(優先度)は低プライオリティと高プライオリティの2種類しかないものとして説明するが、実際にはこれに限られず3つ以上のプライオリティレベル設定がなされていてもよい。この場合、プライオリティのレベル設定数に応じたキューが送信装置100内に備えられる。なお、3つ以上のプライオリティレベルが設定された場合の動作例を実施の形態2において後述する。
なお、送信装置100はプライオリティのレベル設定数と同じ数のキューを必ずしも備える構成でなくてもよい。例えば送信装置100内に1つだけパケットの格納部を設け、スイッチ/QoS制御部103が判定したパケットの優先度に応じて当該格納部内のパケットをソートしてもよい。すなわち送信部100がパケットを格納する格納部を有すればよく、格納部の入出力形式(キューであるか否か)や格納部の数は任意に変更可能である。
スケジューラ106は、高プライオリティキュー104と低プライオリティキュー105を定期的に監視し、各キューの格納状態に応じてパケットの出力順序を決定する。スケジューラ106は、決定した出力順序をデータ出力部108に通知する。スケジューラ106は、高プライオリティキュー104と低プライオリティキュー105の双方にパケットが格納されている場合、高プライオリティキュー104に格納された高プライオリティパケットを優先して出力するように出力順序を定める。
またスケジューラ106は、低プライオリティパケットの出力中に高プライオリティキュー104に高プライオリティパケットが格納された場合、送信中断命令を識別子生成部107及びデータ出力部108に入力する。この送信中断命令は、低プライオリティパケットの送信を中断し、高プライオリティパケットの送信を遅延なく行うための命令である。
スケジューラ106は、送信中断命令を送信し、その後に高プライオリティキュー104を定期的に監視し、高プライオリティパケットの送信が終了したかを判断する。高プライオリティパケットの送信が終了した場合(すなわち高プライオリティキュー104が空になった場合)、スケジューラ106は識別子生成部107及びデータ出力部108に送信再開命令を出力する。送信再開命令は、中断した低プライオリティパケットの送信を再開するための命令である。
識別子生成部107は、送信中断命令が入力された場合に、出力中の低プライオリティパケットを構成するデータに付与する識別子(第1識別子)を生成する。この識別子は、送信装置100の装置IDや付与対象の低プライオリティパケットが格納されていたキュー(今回の例では低プライオリティキュー105)の識別IDを含む情報である。識別子の構成例は、動作例と共に図7等を参照して後述する。
また識別子生成部107は、送信再開命令が入力された場合に、送信中断命令が入力された際に生成した識別子(第1識別子)と対応する識別子(第2識別子)を生成してデータ出力部108に供給する。
データ出力部108は、スケジューラ106の制御に応じて各キューからパケットを読み出し、読み出したパケットを物理ポート109を介して受信装置200に送信する。またデータ出力部108は、送信中断命令が入力された際に出力中の低プライオリティパケットを構成するデータに対し、識別子生成部107から供給された識別子を挿入してデータ出力した後に、当該低プライオリティパケットの送信処理を中断する。この際にデータ出力部108は、低プライオリティパケットのどの位置まで(例えば先頭から何バイト目まで)送信したかを記憶しておく。なおこの位置情報は、データ出力部108が記憶するのではなく、低プライオリティキュー105に書き込んでおいてもよい。
データ出力部108は、識別子(第1識別子)を付した低プライオリティパケットのデータを送信した後に、高プライオリティパケットの送信を行う。データ出力部108は、高プライオリティパケットには識別子を付すことなく送信する。
データ出力部108には、高プライオリティパケットの送信後に送信再開命令が入力される。データ出力部108は、送信再開命令が入力された場合、記憶しておいた位置情報を基に低プライオリティパケットの読み出しを行って送信する。この際にデータ出力部108は、識別子生成部107が生成した識別子(第2識別子)を付して低プライオリティパケットを構成するデータを逐次送信する。
物理ポート109は、受信装置200とのデータ転送を行う物理的なポートである。物理ポート109には、データ出力部108から各パケットのデータが入力される。
続いて図2〜図4を参照して、本実施の形態にかかる送信装置100の具体的な動作について説明する。図2は、送信装置100に低プライオリティパケットが入力された際の処理の流れを示す概念図である。低プライオリティパケットが物理ポート102を介してスイッチ/QoS制御部103に入力される。
スイッチ/QoS制御部103は、入力されたパケットが低プライオリティパケットであることを判定し、当該低プライオリティパケットを低プライオリティキュー105に格納する。スケジューラ106は、定期的なキューの監視により、低プライオリティキュー105にのみパケットが格納された状況を検知する。そしてスケジューラ106は、データ出力部108に対して低プライオリティキュー105からの出力を指示する。その後にデータ出力部108は、低プライオリティパケットを構成するデータを先頭から順次読み出し、読み出したデータを物理ポート109から出力する。
図3は、図2に示す出力状態の間に送信装置100に対して高プライオリティパケットが入力された場合の動作を示す概念図である。高プライオリティパケットが物理ポート101を介してスイッチ/QoS制御部103に入力される。
スイッチ/QoS制御部103は、入力されたパケットが高プライオリティパケットであることを判定し、当該高プライオリティパケットを高プライオリティキュー104に格納する。スケジューラ106は、定期的なキューの監視により、高プライオリティキュー104と低プライオリティキュー105の双方にパケットが格納された状況を検知する。そこでスケジューラ106は、低プライオリティパケットの出力中に高プライオリティキュー104に高プライオリティパケットが格納されたと判定し、送信中断命令を識別子生成部107及びデータ出力部108に入力する。識別子生成部107は、送信中断命令が入力された場合に、出力中の低プライオリティパケットを構成するデータに付与する識別子を生成してデータ処理部108に供給する。データ出力部108は、出力中の低プライオリティパケットに対し、識別子生成部107から供給された識別子を挿入してデータ出力した後に、当該低プライオリティパケットの送信処理を中断する。
図4は、高プライオリティパケットの出力が開始された後(図3の状態の後)の送信装置100の動作を示す概念図である。データ出力部108は、低プライオリティパケットの送信処理の中断の後に高プライオリティパケットの送信を開始する。データ出力部108は、高プライオリティパケットを構成する全データの送信が終了するまで処理を継続する。スケジューラ106は、定期的なキューの監視により高プライオリティパケットの送信終了を検知する。そしてスケジューラ106は、識別子生成部107及びデータ出力部108に送信再開命令を出力する。識別子生成部107は、送信再開命令が入力された場合に、送信中断命令が入力された際に生成した識別子と対応する識別子をデータ出力部108に供給する。データ出力部108は、送信再開命令が入力された場合、記憶しておいた位置情報を基に低プライオリティパケットの読み出しを行い、識別子を付してデータを送信する。識別子生成部107が付与する識別子の例については、図7を参照して後述する。
続いて送信装置100が送信したパケットを受信する受信装置200の構成及び動作について説明する。図5は、受信装置200の構成を示すブロック図である。受信装置200は、物理ポート201、データ入力部202、切断データ格納部203、及びスイッチ/QoS制御部204を有する。
物理ポート201は、送信装置100(または他の装置)からデータが入力される物理的なポートである。データ入力部202は、入力されたデータに前述の識別子がついているか否かを判定し、当該判定に応じてデータを振り分けて格納する。またデータ入力部202は、切断データ格納部203に格納されたデータから識別子を基にして低プライオリティパケットを再構築する。詳細は図6を参照して説明する。
切断データ格納部203は、識別子が付されたデータを一時的に格納するデータ格納部である。スイッチ/QoS制御部204は、データ入力部202から入力されたパケットを他の装置に転送するための処理を行う。またはスイッチ/QoS制御部204は、入力されたパケットを自装置内で処理を行う場合には適切な処理部にパケットを転送する。他装置にパケットを転送する場合、スイッチ/QoS制御部204の処理は、送信装置100内のスイッチ/QoS制御部103の処理と略同一である。
なお受信装置200は、送信装置100が有する送信機能も併せ持ってもよい。すなわち受信装置200は、前述のスケジューラ106、各キュー、データ出力部108に相当する処理部を合わせて有してもよい。これらの処理部の処理は、送信装置100と同様であるため説明は省略する。
続いて図6を参照して、受信装置200のパケット受信時の動作を説明する。データ入力部202は、入力されたデータに識別子が付されているか否かを判定する。パケットの先頭を示すデータから終了を示すデータまでの間に識別子が無い場合、データ入力部202は入力されたデータをそのままスイッチ/QoS制御部204に転送する。すなわちデータ入力部202は、高プライオリティパケットをそのままスイッチ/QoS制御部204に転送する。
一方、パケットの先頭を示すデータから終了を示すデータまでの間に識別子を検出した場合、データ入力部202は入力されたデータを切断データ格納部203に格納する。そしてデータ入力部202は、切断データ格納部203に格納された複数のデータを接続したパケットを生成し、データチェックを行う。データチェックとは、一般的なEthernet(登録商標) FCS(Frame Check Sequence)チェック等でよく、再構築したデータがパケットとして問題が無いかを判定するものである。データチェックが成功であった場合、データ入力部202は再構成したパケットをスイッチ/QoS制御部204に転送する。
続いて識別子生成部107が生成する識別子の生成ルールやデータ構成について図7〜図9を参照して説明する。データ出力部108によるデータ出力はデータの先頭からFIFO(First In First Out)で出力する形式であり、シリアル接続で対向する受信装置200に送信される。そのため、分割された低プライオリティパケットの送信順序の反転(送信順序と受信順序が異なる)やデータのロストは原則として生じない。しかしながら、理論上は分割された低プライオリティパケットの送信順序の反転(送信順序と受信順序が異なる)やデータのロストが考えられる。そのため、識別子生成部107はこれらの問題に対応可能な識別子を生成して付与する。
図7は、中断が生じた場合に付される識別子(第1識別子)の構成を示すデータ例である。当該識別子には、中断固定定義(例えば10101等の固定値)、装置識別ID(送信装置100を識別するためのID)、キューID(どのキューに入っていたパケットのデータなのかを示すID)、シリアルナンバー(パケットの何番目のデータであるかを示す値)、を含む。なお当該識別子の構成は、あくまでも一例であってこれ以外のデータを含んでいてもよい。また図中の各データ(キューID等)のデータサイズはあくまでも一例であり、これ以外のデータサイズであってもよい。
図8は、中断から再開される場合に付される識別子(第2識別子)の構成を示すデータ例である。当該識別子は、図7の識別子の中断固定定義が再開固定定義(中断固定定義とは異なる固定値)を有する点を除いて図7の構成と同一である。
1つのパケットについて複数回の中断と再開が生じる場合、1つのデータに対して中断用の識別子(図7)と再開用の識別子(図8)の双方が付される。複数回の中断と再開が行われる場合の識別子の付与処理について図9を参照して説明する。図9は、1つの低プライオリティパケットの送信時に3回の送信中断命令が入力された場合の送信データを示す概念図である。図中において、識別子(中断用の識別子、再開用の識別子)の上に記載された数値はシリアルナンバーであるものとする。
図9の例では識別子生成部107は、0から順にシリアルナンバーを設定し、パケットの最終データを含むデータに対しては特定のシリアルナンバー(255)を設定している。そのため図9の例では、再開用の識別子に付されるシリアルナンバーは0、1、2、255と変化している。これによりデータ入力部202は、パケットが切断されて送信されていることや切断されたデータの順序、及びパケットを構成する最終データの存在位置を把握することができる。受信装置200のデータ入力部202は、シリアルナンバー(255)が付されたデータを受信した時点でパケットの再構築処理を行う。
データ入力部202は、切断データ格納部203にデータを保持している状態においてシリアルナンバーが連続していない再開用の識別子を持つデータを受信した場合、切断データ格納部203内のデータを破棄する。これは、データの順序反転が生じた恐れがあるためである。また切断データ格納部203に格納されている切断用の識別子とは異なるキューNo等を持つデータを受信した場合についても、データ入力部202は切断データ格納部203内のデータを破棄する。同様にデータ入力部202は、切断データ格納部203内にデータが無い状態において切断用の識別子のシリアルナンバーが0以外のデータを受信した場合についてもデータの破棄を行う。
すなわちデータ入力部202は、識別子のシリアルナンバー等を参照し、切断したデータの順序反転やデータのロストが生じたと考えられる場合、データの破棄を行う等して正確にパケットの再構築が行われるように処理を行えばよい。またデータ入力部202は、データの破棄と共にデータの再送要求等を行ってもよい。
なお図9に示す識別子のシリアルナンバーの付与ルールはあくまでも一例であり、これに限られない。上述のようにデータの反転等は理論上生じるものの現実的にはほとんど生じないため、識別子の生成ルールは上述のものとは異なるものであったり、簡略化されたものであってもよい。
例えば、シリアルナンバーはインクリメントする付与ルールでなくてもよく、最終データに付与されるシリアルナンバー以外を全て同じデータにしてもよい。例えば再開識別子に付されるシリアルナンバーは0、0、0、255のようにしてもよい。データ出力部108はパケットのデータの先頭から順番にデータ送信を行うため、この方式であっても一定程度の精度を持ってパケットの再構築が実現できる。しかしながら、ネットワーク環境等により送信順序と受信順序が変化してしまう場合にはパケットの正確な再構築ができない。そのため、図9に示すようにシリアル番号を所定のルールで変化(インクリメント、またはデクリメント)させ、パケットの最終データには特定のシリアルナンバーを付与することで、より正確にパケットの再構築を実現することができる。
続いて本実施の形態にかかる送信装置100及び受信装置200の効果について説明する。上述のように送信装置100は、低プライオリティパケット(第2パケット)の送信中に高プライオリティパケット(第1パケット)が送信可能となった場合、低プライオリティパケットを構成するデータに識別子(第1識別子)を付して送信した後に送信を中断する。そして送信装置100は、高プライオリティパケットに識別子を付すことなく全データを送信する。その後に送信装置100は、低プライオリティパケットの残りデータに識別子(第2識別子)を付して送信する。
このように送信装置100は、高プライオリティパケットに識別子を付さず、パケットの再構築に必要な低プライオリティパケットにのみ識別子を付している。これによりネットワーク上において送信される識別子が最小限となり、トラフィック量の増大を最小限に抑えることができる。また低プライオリティパケットを構成する各データに識別子を付して送信することにより、受信装置200においてパケット再構築が可能となる。さらに低プライオリティパケットの送信中であっても高プライオリティパケットを優先して送信するため、優先度の高いパケットを遅滞なく送信することができる。
<実施の形態2>
本実施の形態では、パケットのプライオリティのレベル分けが3以上である場合の処理を行うことを特徴とする。本実施の形態にかかる送信装置100及び受信装置200について実施の形態1と異なる点を以下に説明する。
本実施の形態では、パケットのプライオリティのレベル分けが3以上である場合の処理を行うことを特徴とする。本実施の形態にかかる送信装置100及び受信装置200について実施の形態1と異なる点を以下に説明する。
図10は、本実施の形態にかかる送信装置100の構成を示すブロック図である。当該送信装置100は、図1の構成に加えて新たに中プライオリティキュー110を備える。なお図10の構成は、プライオリティのレベル分けが3以上である構成の一例であり、送信装置100は4つ以上のキューを有していていも良い(レベル分けが4以上であってもよい)。以下では、説明の明確化のためキューは3つ(高プライオリティキュー104、低プライオリティキュー105、中プライオリティキュー110)であるものとして説明を行う。また中プライオリティキュー110に格納されるパケットを中プライオリティパケット(第3パケット)と呼称する。中プライオリティパケットは、高プライオリティパケットよりも送信優先度が低く、低プライオリティパケットよりも送信優先度が高いパケットである。
データ出力部108の処理概略について説明する。データ出力部108は、通常の動作時には高プライオリティパケット、中プライオリティパケット、低プライオリティパケットの優先順序でパケットを送信する。しかし、低プライオリティパケットの送信中断後に高プライオリティパケットを送信している際に中プライオリティパケットが送信可能となった(中プライオリティキュー110に格納された)場合、データ出力部108は低プライオリティパケットの送信が完了した後に中プライオリティパケットを送信する。
図11を参照して改めて説明する。はじめに低プライオリティパケットのみが低プライオリティキュー105内にあるものとし、その他のキューにパケットは格納されていないものとする。この場合、データ出力部108は、低プライオリティパケットの先頭からデータを順次読み出して送信処理を行う。
低プライオリティパケットの送信中に高プライオリティキュー104に高プライオリティパケットが入力されたとする。スケジューラ106は、データ出力部108に送信中断命令を出力する。送信中断命令に応じてデータ出力部108は、低プライオリティパケットのデータに識別子を付して送信した後に低プライオリティパケットの送信を中断する。そしてデータ出力部108は、高プライオリティパケットの送信を開始する。
ここで高プライオリティパケットの送信中に中プライオリティキュー110に中プライオリティパケットが入力されたとする。スケジューラ106は、中プライオリティキュー110への入力を検知する。そしてスケジューラ106は、高プライオリティパケットの送信終了を検出する。高プライオリティパケットの送信が終了した場合、スケジューラ106は中プライオリティパケットの送信ではなく、低プライオリティパケットの送信再開命令を識別子生成部107及びデータ出力部108に出力する。
これに応じてデータ出力部108は、低プライオリティパケットの残りデータを送信する。その後にデータ出力部108は、中プライオリティキュー110から中プライオリティパケットを読み出し、識別子を付与することなく送信を行う。
続いて図12を参照して図10に対応する受信装置200の動作について説明する。受信装置200の動作は、基本的に図6に示す動作と同様である。データ入力部202は、送信されたデータに識別子が付されているか否かを判定する。データ入力部202は、識別子が付されていないデータをそのままスイッチ/QoS制御部204に供給する。そのため高プライオリティパケットはデータ入力部202からスイッチ/QoS制御部204に直接供給される。同様に中プライオリティパケットには識別子が付されていないため、中プライオリティパケットはデータ入力部202からスイッチ/QoS制御部204に直接供給される。
データ入力部202は、識別子が付されているデータを切断データ格納部203に格納する。そしてデータ入力部202は実施の形態1と同様の手法でパケットの再構築を行い、再構築したパケットをスイッチ/QoS制御部204に供給する。図11の例では低プライオリティパケットのデータに識別子が付されているため、データ入力部202は再構築した低プライオリティパケットをスイッチ/QoS制御部204に供給する。
続いて本実施の形態にかかる送信装置100の効果について説明する。一般的に複数のキューがあり、複数種類のパケットが切断された場合、受信装置200におけるパケットの再構築処理が複雑となってしまう。
しかし本実施の形態にかかる送信装置100は、送信を中断しているパケットがある場合、複数のプライオリティレベルのパケットが分割されて送信されないように上述の制御を行う。そのため、受信装置200は、パケットの再構築動作を容易に行うことができる。また複数のプライオリティレベルのパケットが分割されて送信されないように制御することにより、識別子が付される回数が減少し、ネットワーク全体でのトラフィック量が増加することを回避することができる。
<その他の実施の形態>
上述のように低プライオリティパケットは、複数のデータに分割されて送信される可能性がある。ここで分割回数が多くなると各分割データに識別子の付与するために、分勝数が多くなるにつれてネットワーク上で送信されるデータ量が多くなってしまう可能性がある。そこで、トラフィック量の増大に対する対応方法について実施の形態1と異なる点を以下に述べる。
上述のように低プライオリティパケットは、複数のデータに分割されて送信される可能性がある。ここで分割回数が多くなると各分割データに識別子の付与するために、分勝数が多くなるにつれてネットワーク上で送信されるデータ量が多くなってしまう可能性がある。そこで、トラフィック量の増大に対する対応方法について実施の形態1と異なる点を以下に述べる。
以下、第1の変形例について述べる。データ出力部108は、スケジューラ106から送信中断命令が入力された場合であっても、直ちに低プライオリティパケットの送信を中断するのではなく、固定バイト分の出力が完了するまで低プライオリティパケットの出力を継続する。ここで固定バイトの最小サイズは、例えば64バイトとすればよい。これは64バイト長の遅延揺らぎは、ネットワーク上の処理においてほとんど問題と成らないためである。
なお上述の図7〜図9の説明において最終データを示すシリアルナンバーを255とした。これは、この固定長(64バイト)との関係で、以下の式が成り立つためである。
64バイト×256=16384バイト > 9600バイト(一般的なジャンボフレームの最大サイズ)
64バイト×256=16384バイト > 9600バイト(一般的なジャンボフレームの最大サイズ)
このように直ちに低プライオリティパケットの送信を中断するのではなく、固定長のデータ出力が終了するまで中断を行わないことにより低プライオリティパケットの分割数を減らすことができる。低プライオリティパケットの分割数が減ることにより付与する識別子の数が減少し、ネットワーク上のトラフィック量を削減することができる。
続いて第2の変形例について述べる。上述のようにスケジューラ106は、定期的にキューの格納状態を検査する。そこでスケジューラ106は、各検査時点におけるパケットの入力状態を記憶しておく。スケジューラ106は、検査時点から一定時間前(例えば検査時点からX秒前)までの高プライオリティパケットの入力状況を算出する。そしてスケジューラ106は、キューの状態と共に、上述の高プライオリティパケットの入力状態が所定閾値以下であるかに応じて送信再開命令を出力する。
具体的にはスケジューラ106は、低プライオリティキュー105にのみパケットが格納されている状態(高プライオリティキュー104にパケットが格納されていない状態)であっても、この検査時点から一定時間前までの高プライオリティパケットの入力状況が高かった場合には送信再開命令を出力しない。すなわちスケジューラ106は、高プライオリティパケットの送信が落ち着くまで送信再開命令を出力しない。これにより、高プライオリティパケットの送信が頻繁に行われている状態で低プライオリティパケットの送信が再開されることが回避される。これにより、低プライオリティパケットの分割数が減少し、ネットワーク上のトラフィック量を削減することができる。
上述した実施の形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施の形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
スケジューラ106、識別子生成部107、データ出力部108の処理は、CPU(Central Processing Unit)がコンピュータプログラムを実行することにより実現されてもよい。
コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
最後に図12を参照して本発明にかかる送信装置100の動作について改めて説明する。図12は、本発明にかかる送信装置100の特徴的な動作を行う処理部を示したブロック図である。
データ出力部108は、スケジューラ106に従ってキュー(高プライオリティユー104、低プライオリティキュー105)から読み出して受信装置200に送信する。スケジューラ106は、キューを監視し、送信順序をデータ出力部108に通知する。スケジューラ106は、低プライオリティパケットの送信中に高プライオリティパケットが送信可能となった場合(高プライオリティパケットが高プライオリティキュー104に格納された場合)、送信中断命令を識別子生成部107及びデータ出力部108に供給する。
送信中断命令が入力された識別子生成部107は、低プライオリティパケットに付与する中断用の識別子(第1識別子)と再開用の識別子(第2識別子)を生成する。
データ出力部108は、送信中断命令を受信した場合、出力中の低プライオリティパケットのデータに中断用の識別子を付して低プライオリティパケットの送信を中断する。そしてデータ出力部108は、高プライオリティパケットの送信を開始する。高プライオリティパケットには識別子を付すことなく送信が行われる。データ出力部108は、高プライオリティパケットの送信が終了した後に、送信を中断した低プライオリティパケットのデータに再開用の識別子を付して送信する。
このような構成とすることにより高プライオリティパケットを遅滞なく送信することができる。また、低プライオリティパケットの送信中断と再開を行う場合にのみ識別子を送信するため、ネットワーク上に送信されるデータ量の増加を最小限に抑えることができる。
100 送信装置
101 物理ポート
102 物理ポート
103 スイッチ/QoS制御部
104 高プライオリティキュー
105 低プライオリティキュー
106 スケジューラ
107 識別子生成部
108 データ出力部
109 物理ポート
110 中プライオリティパケット
200 受信装置
201 物理ポート
202 データ入力部
203 切断データ格納部
204 スイッチ/QoS制御部
101 物理ポート
102 物理ポート
103 スイッチ/QoS制御部
104 高プライオリティキュー
105 低プライオリティキュー
106 スケジューラ
107 識別子生成部
108 データ出力部
109 物理ポート
110 中プライオリティパケット
200 受信装置
201 物理ポート
202 データ入力部
203 切断データ格納部
204 スイッチ/QoS制御部
Claims (12)
- 転送対象のパケットを格納部から読み出して出力するデータ出力部と、
送信可能となった第1パケットの送信優先度が前記データ出力部の送信している第2パケットの送信優先度よりも高い場合、送信中断命令を出力するスケジューラと、
前記送信中断命令が出力された場合、前記データ出力部が出力中のデータに付与する第1識別子と当該第1識別子と対応する第2識別子を生成する識別子生成部と、を備え、
前記データ出力部は、前記送信中断命令の受信時に、出力中の前記第2パケットのデータに前記第1識別子を付与して出力した後に前記第2パケットの出力を停止し、前記第1パケットに識別子も付すことなく出力した後に、前記第2パケットの送信前のデータに前記第2識別子を付与して送信する、送信装置。 - 前記第1識別子及び前記第2識別子は、前記第2パケットの先頭から何番目のデータであるかを示すシリアルナンバーを含む、
ことを特徴とする請求項1に記載の送信装置。 - 前記第2識別子は、前記第2パケットの最終データを構成するデータであるか否かを示す情報を含む、
ことを特徴とする請求項1または請求項2に記載の送信装置。 - 前記データ出力部は、前記送信中断命令を受信後に、前記第2パケットを構成する所定サイズのデータを出力した後に前記第2パケットの出力を停止する、
ことを特徴とする請求項1〜3のいずれか1項に記載の送信装置。 - 前記スケジューラは、前記第1パケットの入力頻度を算出し、当該入力頻度が所定閾値以上の場合には、前記第1パケットの出力完了後であっても前記第2パケットの送信再開命令を出力しない、
ことを特徴とする請求項1〜請求項4のいずれか1項に記載の送信装置。 - 前記データ出力部は、前記第2パケットの出力停止中に前記第2パケットよりも送信優先度が高く前記第1パケットよりも送信優先度の低い第3パケットが送信可能となった場合、前記第2パケットの送信が終了した後に前記第3パケットを送信する、
ことを特徴とする請求項1〜請求項5のいずれか1項に記載の送信装置。 - 前記第1パケットを格納する第1キューと、
前記第2パケットを格納する第2キューと、を備える、
ことを特徴とする請求項1〜請求項6のいずれか1項に記載の送信装置。 - 識別子が付されたデータを保持する切断データ保持部と、
受信したデータに前記識別子が付されているか否かを判定するデータ入力部と、を備え、
前記データ入力部は、
受信データに前記識別子が付されていない場合には当該データが正常なパケットであると判定して後段処理部に転送し、
受信データに前記識別子が付されている場合には当該データを前記切断データ保持部に格納し、前記切断データ保持部が保持するデータを再構築してパケットを生成して後段処理部に転送する、受信装置。 - 前記データ入力部は、再構築したパケットに異常がないか否かをFCSチェックにより判定する、
ことを特徴とする請求項8に記載の受信装置。 - 前記データ入力部は、前記識別子を解析し、データの送信順序の反転やデータロストを検出した場合、前記切断データ保持部に格納されているデータを破棄する、
ことを特徴とする請求項8または請求項9に記載の受信装置。 - 転送対象のパケットを格納部から読み出して出力するデータ出力ステップと、
送信可能となった第1パケットの送信優先度が前記データ出力部の送信している第2パケットの送信優先度よりも高い場合、送信中断命令を出力するスケジューリングステップと、
前記送信中断命令が出力された場合、前記データ出力部が出力中のデータに付与する第1識別子と当該第1識別子と対応する第2識別子を生成する識別子生成ステップと、を備え、
前記データ出力ステップでは、前記送信中断命令の受信時に、出力中の前記第2パケットのデータに前記第1識別子を付与して出力した後に前記第2パケットの出力を停止し、前記第1パケットに識別子も付すことなく出力した後に、前記第2パケットの送信前のデータに前記第2識別子を付与して送信する、
パケット送信方法。 - 識別子が付されたデータを保持する切断データ保持ステップと、
受信したデータに前記識別子が付されているか否かを判定するデータ入力ステップと、を備え、
前記データ入力ステップでは、
受信データに前記識別子が付されていない場合には当該データが正常なパケットであると判定して後段処理部に転送し、
受信データに前記識別子が付されている場合には当該データを前記切断データ保持部に格納し、前記切断データ保持部が保持するデータを再構築してパケットを生成して後段処理部に転送する、
パケット受信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013271713A JP2015126499A (ja) | 2013-12-27 | 2013-12-27 | 送信装置、受信装置、パケット送信方法、及びパケット受信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013271713A JP2015126499A (ja) | 2013-12-27 | 2013-12-27 | 送信装置、受信装置、パケット送信方法、及びパケット受信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015126499A true JP2015126499A (ja) | 2015-07-06 |
Family
ID=53536878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013271713A Abandoned JP2015126499A (ja) | 2013-12-27 | 2013-12-27 | 送信装置、受信装置、パケット送信方法、及びパケット受信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015126499A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019026228A1 (ja) | 2017-08-03 | 2019-02-07 | 株式会社アプトポッド | クライアント装置、データ収集システム、データ送信方法、及びプログラム |
JP2019057817A (ja) * | 2017-09-21 | 2019-04-11 | 株式会社東芝 | 通信装置、通信方法及びプログラム |
-
2013
- 2013-12-27 JP JP2013271713A patent/JP2015126499A/ja not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019026228A1 (ja) | 2017-08-03 | 2019-02-07 | 株式会社アプトポッド | クライアント装置、データ収集システム、データ送信方法、及びプログラム |
US11283898B2 (en) | 2017-08-03 | 2022-03-22 | Aptpod, Inc. | Data collection system and method for transmitting multiple data sequences with different attributes |
JP2019057817A (ja) * | 2017-09-21 | 2019-04-11 | 株式会社東芝 | 通信装置、通信方法及びプログラム |
US11018986B2 (en) | 2017-09-21 | 2021-05-25 | Kabushiki Kaisha Toshiba | Communication apparatus, communication method, and computer program product |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106134138B (zh) | 一种拥塞控制的方法、设备和*** | |
EP2893678B1 (en) | Apparatus for transferring packets between interface control modules of line cards | |
US10129151B2 (en) | Traffic management implementation method and apparatus, and network device | |
WO2019128467A1 (zh) | 基于灵活以太网FlexE传输业务流的方法和装置 | |
US6170022B1 (en) | Method and system for monitoring and controlling data flow in a network congestion state by changing each calculated pause time by a random amount | |
JP5233504B2 (ja) | 経路制御装置およびパケット廃棄方法 | |
US20120284444A1 (en) | Interrupt Moderation | |
EP4319055A1 (en) | Message transmission method and apparatus | |
JP5629954B2 (ja) | 少なくとも部分的なフレーム送信に対して割り込みが可能な装置、方法、およびプログラム | |
WO2019228318A1 (zh) | 一种报文处理方法和装置 | |
EP3582459A1 (en) | Communication system, communication device, and communication method | |
US9571410B2 (en) | Credit-based link level flow control and credit exchange using DCBX | |
WO2011120467A2 (zh) | 报文保序处理方法、保序协处理器和网络设备 | |
WO2018076641A1 (zh) | 一种减少时延的方法、装置及存储介质 | |
US8908510B2 (en) | Communication link with intra-packet flow control | |
JP2009522867A (ja) | ネットワークトラフィック監視用装置及び方法 | |
JP5702708B2 (ja) | パケット制御方法及びパケット制御装置 | |
JP2015126499A (ja) | 送信装置、受信装置、パケット送信方法、及びパケット受信方法 | |
CN116868553A (zh) | 用于管理端点资源和拥塞缓解的数据中心网络上的动态网络接收器驱动的数据调度 | |
US10951546B2 (en) | Managing virtual output queues | |
US20180026864A1 (en) | Communication apparatus, communication system, and communication method | |
CN109600320B (zh) | 拥塞处理方法及设备、数据中心网络 | |
JP4990250B2 (ja) | 割込制御装置、割込制御システム、割込制御方法および割込制御プログラム | |
CN115603843A (zh) | 出站分组的准确加时间戳 | |
US9621487B2 (en) | Method and apparatus for protection switching based on memory control in packet transport system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161114 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20170630 |