JP4952642B2 - パケット転送装置およびパケット破棄方法 - Google Patents
パケット転送装置およびパケット破棄方法 Download PDFInfo
- Publication number
- JP4952642B2 JP4952642B2 JP2008105684A JP2008105684A JP4952642B2 JP 4952642 B2 JP4952642 B2 JP 4952642B2 JP 2008105684 A JP2008105684 A JP 2008105684A JP 2008105684 A JP2008105684 A JP 2008105684A JP 4952642 B2 JP4952642 B2 JP 4952642B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- queue
- period
- address
- pointer
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9078—Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
- H04L2012/5682—Threshold; Watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
- H04L49/503—Policing
Description
以下、本発明のパケット転送装置の一実施形態を図面に関連付けて説明する。実施形態に係るパケット転送装置1は、例えばルータやスイッチ等のように、ネットワークの伝送路上に設けられ、ネットワーク上のあるノードから他のノードへパケットを転送するための装置である。
先ず、本実施形態に係るパケット転送装置1の構成について、図1に関連付けて説明する。図1は、実施形態に係るパケット転送装置1の概略構成を示すブロック図である。図1に示すように、このパケット転送装置1は、多重化部2、出力ポート設定部3、出力ポートテーブル4、パケットバッファ管理部5、パケットバッファ6およびスイッチング部7を備える。
なお、図1では入出力ポートを特定せずに、パケットのデータフロー(全体として図1の紙面上左から右の方向に太線で示す。)のみを表示してある。また、図1では、パケットがパケット転送装置1に設けられる出力ポートから出力される場合について示しているが、別の出力先、例えば、パケット転送装置1に装着される通信用カード、または、当該カード内に設定されている出力ポートである場合も同様の構成をとることが可能である。
以下、このパケット転送装置1のパケットバッファ管理部5について詳細に説明する。
パケットバッファ管理部5では、パケットバッファ6の書き込み可能なアドレスに対するパケットの書き込み順序を管理している。すなわち、パケットバッファ管理部5は、パケットバッファ6の空きアドレスと、到着したパケットを書き込むときの空きアドレスの順序とを管理している。また、パケットバッファ管理部5では、書き込み済みのアドレスからのパケットの読み出し順序を管理している。すなわち、パケットバッファ管理部5は、パケットバッファ6の書き込み済みアドレスと、パケットを読み出すときの書き込み済みアドレスの順序とを管理している。
上述したパケットの書き込み順序およびパケットの読み出し順序は、この実施形態では、ポインタによるキュー(後述する空きポインタキューおよびパケットキュー)によって管理される。
図2に示すように、パケットバッファ管理部5は、書き込み制御部10(第1制御部)と、読み出し制御部20(第2制御部)と、ポインタ格納部30と、遅延閾値テーブル22(DTT)と、タイマ40と、書き込み管理テーブル50(WMT)とを備える。なお、図2では、パケットバッファ管理部5におけるパケットのデータフロー(入力パケットPK_INから出力パケットPK_OUTに至るフロー)を太線で示してある。また、この実施形態では、一例として、パケットに許容される最大遅延期間、すなわち、パケットバッファ6内に滞留可能な最長期間が128msである場合について説明する。
図2において、タイマ40は、所定の単位期間毎の時刻を計測する。
タイマ40によって計測される時刻は、パケットの書き込み処理および読み出し処理のタイミングの基準となるほか、パケットのパケットバッファ6内の滞留期間の算出にも用いられる。タイマ40の計測のための所定の単位期間(以下では適宜、「単位期間」と表記する。)は、遅延を許容できる期間が最も短いパケット、例えば音声や映像のリアルタイム再生のためのパケットの破棄判断を適切に行うことができる程度に短く設定される。この実施形態の説明では、一例として、タイマ40の計測における単位期間を1msとする。
ポインタ格納部30には、パケットバッファ6の各アドレスに対応したポインタアドレスを有するポインタによるキュー(ポインタによるリンクリストで形成される待ち行列)として、空きポインタキューとパケットキューが格納されている。ポインタ格納部30内の各キューは、パケットバッファ6とは独立したメモリで構成される。
ここで、空きポインタキューは、パケットバッファ6の書き込み可能なアドレスに対するパケットの書き込み順序を管理するキューである。パケットキューは、書き込み済みのアドレスからのパケットの読み出し順序を管理するキューである。
図3は、空きポインタキューの構成をパケットバッファ6と関連付けて説明するための図であって、(a)は空きポインタキュー、(b)はパケットバッファ6の構成を示す。
以下の説明では、パケットバッファ6の各アドレスは、「ポインタP_x(x:1〜m)に対応するアドレス」として適宜参照される。
例えばポインタP_1,P_2,P_3,P_4を含む空きポインタキューQ1は、パケットバッファ6のアドレスA_1,A_2,A_3,A_4が属するアドレス群G1に対応して設けられ、ポインタP_m−3,P_m−2,P_m−1,P_mを含む空きポインタキューQ128は、パケットバッファ6のアドレスA_m−3,A_m−2,A_m−1,A_mが属するアドレス群G128に対応して設けられる。
後述するように、パケットバッファ管理部5では、パケットバッファ6に対するパケットの書き込みがある度に、空きポインタキューが示す順序に従って空きポインタキューのリンクリストからポインタが外される。そして、この外されたポインタが順にリンクリストを形成することによって、パケットキューが形成される。すなわち、パケットキューでは、書き込まれたパケットのアドレスに対応するポインタアドレスを有するポインタが順序付けられる。このパケットキューによって、書き込み済みのアドレスからのパケットの読み出し順序が管理される。
再び図2を参照して、書き込み制御部10(第1制御部)について説明する。
書き込み制御部10は、出力ポート設定部3から取り込むパケットPK_INの特性を判定して、そのパケットを、ポインタ格納部30に含まれる複数のパケットキューの内、いずれかのパケットキューと対応付ける。
次に、再び図2を参照して、読み出し制御部20(第2制御部)について説明する。
読み出し制御部20は、タイマ40の単位期間(この実施形態では、1ms)毎の時刻情報TMを受信する。読み出し制御部20では、タイマ40の単位期間を読み出し期間として管理する。読み出し制御部20での読み出し処理は、パケットキュー毎の帯域などを管理するスケジューラ25からパケットキューの読み出し要求があった場合、または、タイマからの時刻情報TMの変化時(読み出し期間の変化時)に行われる。
この読み出し処理では、パケットバッファ6内に一定期間滞留したパケットの破棄も行われる。読み出し期間の変化時の読み出し処理は、パケットバッファ6内に一定期間滞留したパケットの破棄を目的に行われ、実際のパケットの読み出しおよび送出を行わない。
読み出し制御部20は、読み出し期間毎に、書き込み管理テーブル50に記録されている書き込みパケット数から、このカウンタ21のカウント値(=読み出しパケット数)を減算して、破棄したパケット数(破棄パケット数)を算出する。従って、このパケット転送装置1では、破棄すべきパケットをパケットバッファから読み出すことなく、破棄パケット数が得られる。
次に、本実施形態のパケット転送装置1におけるパケットバッファ管理部の動作について説明する。
先ず、パケット書き込み処理におけるパケットバッファ管理部5の動作について図2および図7〜9に関連付けて説明する。図7は、パケット書き込み処理におけるパケットバッファ管理部5の動作を示すフローチャートである。図8は、パケット書き込み前後のパケットキューおよび空きポインタキューの一例を示す図である。図9は、パケット書き込み前後の各キューのリンクリストの一例についてパケットバッファと関連付けて説明するための図である。
図7において、書き込み制御部10が出力ポート設定部3からパケットPK_INを受信すると(ステップS101のYES)、例えばそのパケットに記述されるVLAN制御情報に基づくクラスによって、パケットの特性を判定する(ステップS102)。この特性判定により、受信したパケットが複数のパケットキューのいずれかと対応付けられる。そして、書き込み制御部10は、前回のパケット書き込み時から書き込み期間が変化したか否かを判断する(ステップS103)。この判断は、タイマ40からの時刻情報TMが変化したか否かに基づく。書き込み期間が変化していない場合には(ステップS103のNO)、書き込み制御部10はカウンタ11をカウントアップさせる(ステップS104)。
次に、パケット読み出し処理におけるパケットバッファ管理部5の動作について図2および図10〜13に関連付けて説明する。以下で説明されるパケット読み出し処理は、(1)パケットを実際に読み出すときの処理と、(2)パケットを読み出さずに破棄するときの処理とを含む。なお、図10および図11は、パケット読み出し処理におけるパケットバッファ管理部5の動作を示すフローチャートである。図12は、実際にパケットを読み出す場合において、パケット読み出し前後の各キューのリンクリストの一例についてパケットバッファと関連付けて説明するための図である。図13は、パケットを破棄する場合において、パケットの破棄前後の各キューのリンクリストの一例についてパケットバッファと関連付けて説明するための図である。
図10のフローチャートについて、図2と関連付けながら説明する。
読み出し制御部20での読み出し処理は、パケットキュー毎の帯域などを管理するスケジューラ25からのパケットキューの読み出し要求をトリガとして実行される場合と、タイマ40からの時刻情報TMの変化時(読み出し期間の変化時)をトリガとして実行される場合がある。
そして、読み出し制御部20は、読み出したポインタを、そのポインタに対応する空きポインタキュー、すなわち借り受け元の空きポインタキューに返却する。これにより、返却されたポインタは、返却先の空きポインタキューのリンクリストに連結されて、その空きポインタキューのエンドポインタ(EP)となる(ステップS210)。さらに、パケットの読み出し後は、パケットキューのスタートポインタ(SP)をリンクリストから外す必要があるので、そのスタートポインタが指すポインタアドレスの次ポインタを当該パケットキューの新たなスタートポインタ(SP)とする(ステップS211)。
一方、ステップS206において、読み出し制御部20は、滞留期間と遅延閾値とを比較し、滞留期間が遅延閾値を超えている場合に、そのパケットを破棄すべきであると判断する(ステップS206のYES)。これにより、読み出し制御部20は、図11に示すステップS301〜S305の処理を実行する。
次に、パケットバッファ管理部5の全体処理について図14と関連付けて説明する。図14は、パケットバッファ管理部5の全体処理に伴う、時系列のパケットキューの変化一例を示す図であって、(a)は遅延閾値が小さいパケットキューの場合、(b)は遅延閾値が大きいパケットキューの場合である。
なお、図14では、書き込み期間(各1ms)がWP1→WP2→WP3→WP4→…と経過し、読み出し期間(各1ms)がRP1→RP2→RP3→RP4→…と経過している。「New」と表記されるポインタは、各書き込み期間での新たなパケット書き込みに伴って、その期間に新規に空きポインタキューから借り受けたポインタを示す。また、図14では、各期間における先頭ポインタ(FP)と最終ポインタ(LP)の記録の際にパケットキューからポインタが反映される様子を、点線で示してある。
以下、本発明のパケット転送装置の他の実施形態に関し、特に第1実施形態のものと異なる点について図面に関連付けて説明する。本実施形態に係るパケット転送装置1’は、全体の構成は図2に示した第1実施形態のものと同様であるが、ポインタ格納部30内の空きポインタキューおよびパケットキューの構成が第1実施形態のものと異なる。なお、第2実施形態において、書き込み制御部および読み出し制御部は、それぞれ本発明の第3制御部および第4制御部に対応する。
以下では、本実施形態におけるパケットバッファ管理部5の構成について、第1実施形態のものとの差異を中心に説明する。先ず、本実施形態における空きポインタキューおよびパケットキューの構成について、それぞれ図15および図16に関連付けて説明する。
図15は、第2実施形態における空きポインタキューの構成をパケットバッファ6と関連付けて説明するための図であって、(a)は空きポインタキュー、(b)はパケットバッファ6の構成を示す。図3に示したものと同様に、第2実施形態のポインタ格納部30の各ポインタアドレスはパケットバッファ6のアドレスと対応付けられている。図3に示したものと異なり、第2実施形態では、単一の空きポインタキュー(第3キュー)によって、パケットバッファ6のアドレスに対する書き込み順序が管理される。
図16は、第2実施形態におけるパケットキューの構成をパケットバッファ6と関連付けて説明するための図であって、(a)はパケットキュー、(b)はパケットバッファ6の構成を示す。図16に示すように、第2実施形態では、複数のポインタキューQa’,Qb’,Qc’,…(複数の第4キュー)が設けられる。パケットキューQa’,Qb’,Qc’,…の各々には、パケットの特性に応じて、パケットバッファの書き込み済みのアドレスに対する読み出し順序を示す、ポインタによるリンクリストが形成される点は、第1実施形態と同様である。一方、第1実施形態のものと異なり、本実施形態のパケットキューでは、ポインタによるリンクリストと共に、リンクリスト上のポインタを借り受けたとき(=パケットを書き込んだとき)の書き込み期間の情報(WP1,WP2,…)が付加される。
[パケット書き込み処理]
書き込み制御部10は、パケットの書き込み処理時において、空きポインタキューのリンクリスト上のポインタに対応するパケットバッファ6のアドレスにパケットを書き込む。このパケットの書き込みに当たって単一の空きポインタキューからのポインタの借り受けが逐次行われる。第1実施形態の場合と異なり、第2実施形態では、異なる書き込み期間において常に単一の空きポインタキューから、空きポインタキューの示す順序に従ってポインタを借り受ける。また、第1実施形態の場合と異なり、パケット書き込み処理において、パケットキューには、リンクリストと共に、リンクリスト上のポインタに関連付けて書き込み期間の情報が付加される(図16参照)。
本実施形態におけるパケット読み出し処理は、滞留期間の算出方法が第1実施形態のものと異なる。具体的には、読み出し制御部20は、パケット読み出し処理時に、パケットキューのスタートポインタに付加された書き込み期間(図16参照)と現在時刻との差分からパケットの滞留期間を算出する。この滞留期間に基づくパケット破棄判断では、第1実施形態の場合と同様に、遅延閾値テーブル22が参照される。
従って、この実施形態のパケット転送装置においても、破棄対象のパケットを無駄にパケットバッファから読み出すことがなく、読み出しのためのデータ転送容量(帯域)を有効に利用できる。
上述した各実施形態に係るパケット転送装置は例示に過ぎず、これに基づいて以下に示すような改良・改変を行うことが可能である。
先ず図17に関連付けて、各実施形態のパケット転送装置における好適な処理方法を説明する。図17は、パケットキューに対する時系列の処理を示す図であって、(a)は書き込み処理、(b)は読み出し処理の場合である。この図17に示すように、各実施形態のパケット転送装置では、各書き込み期間または各読み出し期間において、複数のパケットキュー(図17では、Qa,Qb,Qc,…)を時分割処理することが好ましい。このような処理により、パケット書き込み処理とパケット読み出し処理(パケット破棄を含む)に伴う複数のパケットキューに対するポインタ処理が単位期間内で分散され、パケットバッファ管理部における処理負荷が軽減される。
各実施形態のパケット転送装置では、パケット書き込み処理とパケット読み出し処理(パケット破棄を含む)に伴う複数のパケットキューに対するポインタ処理は、優先度が高いパケットキューから実行することが好ましい。例えばパケットの破棄判断は、複数のパケットキューの内、優先度の高いパケットキューのスタートポインタに基づいて順に実行されることが好ましい。
図18は、優先度テーブル23を含むパケットバッファ管理部5の構成を示すブロック図である。この優先度テーブル23には、複数のパケットキューと、各パケットキューの優先度との対応関係が記述されている。各パケットキューは、例えばパケットに記述されるVLAN制御情報に基づくクラス等、パケットの特性と対応付けられているので、この優先度テーブルにはパケットの特性とその優先度との関係が記述されているに等しい。
各実施形態のパケット転送装置では、パケットの優先度に応じて、パケットを複数のパケットキューのいずれかと対応付ける場合について説明したが、これに限られない。単一のパケットキューを用いたパケット転送装置の場合であっても同様の作用および効果を奏する。
以上の第1および第2実施形態に関し、さらに以下の付記を開示する。
(付記1)
転送対象のパケットを一時的に格納するためのパケットバッファと、
所定の単位期間毎の時刻を計測するタイマと、
前記パケットバッファを構成する複数のアドレス群の各々に対応した複数の第1キューであって、各第1キューは、対応するアドレス群内のアドレスに対するパケットの書き込み順序を管理する、複数の第1キューと、
パケットの特性に応じて設けられる複数の第2キューであって、各第2キューは、前記パケットバッファのアドレスの内、書き込み済みのアドレスからのパケットの読み出し順序を管理する、複数の第2キューと、
書き込み対象のアドレス群を前記単位期間毎に切り替えることで各アドレス群と書き込み期間とを対応付け、書き込み対象のアドレス群に対し、そのアドレス群に対応する第1キューが示すアドレス順序に従ってパケットの書き込みを行い、書き込まれたアドレスを当該パケットの特性に対応する第2キューに加える第1制御部と、
第2キューが示す最初のアドレスのパケットのパケットバッファにおける滞留期間を、前記最初のアドレスが属するアドレス群から特定される第1書き込み期間と、タイマが示す現在時刻とに基づいて算出し、前記滞留期間に基づいてパケットを破棄することを決定したときには、前記第1書き込み期間内に書き込まれたすべてのアドレスを前記第2キューから除去する第2制御部と、
を備えたパケット転送装置。(1)
前記パケットバッファの各アドレスに対応したポインタアドレスを有するポインタを備え、
前記第1キューは、対応するアドレス群の中でパケットを書き込み可能なアドレスに対応するポインタによるリンクリストで構成され、
前記第1制御部は、パケットの書き込み時において、書き込み期間に応じた第1キューのリンクリスト上のポインタに対応する前記パケットバッファのアドレスにパケットを書き込むとともに、そのポインタを第1キューのリンクリストから外し、かつ、そのポインタによって前記第2キューをポインタによるリンクリストとして形成し、
前記第2制御部は、第2キューのスタートポインタに基づきパケットを破棄することを決定したときには、当該スタートポインタと同一の書き込み期間内に前記第2キューに連結されたすべてのポインタを当該第2キューから外し、前記第1キューへ連結する、
付記1に記載のパケット転送装置。(2)
ある期間内に前記パケットバッファに書き込まれたパケットの数をカウントする第1カウンタと、
当該期間内に前記パケットバッファに書き込まれたパケットのうち、前記パケットバッファから読み出されたパケットの数をカウントする第2カウンタと、
をさらに備え、
前記第1カウンタのカウント値から前記第2カウンタのカウント値を減算することで、当該期間における破棄パケット数を算出する、
付記1または2に記載のパケット転送装置。(3)
パケットの特性に基づいて、前記複数の第2キューの各々に対する優先度が予め設定されており、
ある期間におけるパケットの破棄の決定が2以上の第2キューに基づいて行われたときには、その期間の当該2以上の第2キューに対する処理は、前記優先度の順に従って行われる、
付記1または2に記載のパケット転送装置。(4)
前記第1制御部および前記第2制御部の前記複数の第2キューに対する処理は、前記単位期間内において時分割で行われる、
付記1または2に記載のパケット転送装置。(5)
パケットの破棄判断を行うときに前記滞留期間と比較される遅延閾値を、前記複数の第2キューの各々に対して予め設定される、
付記1または2に記載のパケット転送装置。
前記所定の期間をT1、パケットに許容される最大遅延期間をT2としたときに、
前記第1キューがT2/T1以上の数だけ設けられる、
付記1または2に記載のパケット転送装置。
転送対象のパケットを一時的に格納するためのパケットバッファと、所定の単位期間毎の時刻を計測するタイマとを備えたパケット転送装置、に対するパケット破棄方法であって、
前記パケットバッファを構成する複数のアドレス群の各々に対応した複数の第1キューであって、各第1キューは、対応するアドレス群内のアドレスに対するパケットの書き込み順序を管理する、複数の第1キューを用意するステップと、
パケットの特性に応じた複数の第2キューを用意するステップと、
書き込み対象のアドレス群を前記単位期間毎に切り替え、書き込み対象のアドレス群に対し、そのアドレス群に対応する第1キューが示すアドレス順序に従ってパケットの書き込みを行うステップと、
パケットが書き込まれたアドレスを、そのパケットの特性に対応する第2キューに加えるステップと、
前記第2キューが示す最初のアドレスのパケットのパケットバッファにおける滞留期間を、前記最初のアドレスが属するアドレス群から特定される第1書き込み期間と、タイマが示す現在時刻とに基づいて算出するステップと、
前記滞留期間に基づいてパケットを破棄することを決定したときには、前記第1書き込み期間内に書き込まれたすべてのアドレスを前記第2キューから除去するステップと、
を備えたパケット破棄方法。(6)
転送対象のパケットを一時的に格納するためのパケットバッファと、
所定の単位期間毎の時刻を計測するタイマと、
前記パケットバッファのアドレスに対するパケットの書き込み順序を管理する第3キューと、
パケットの特性に応じて設けられる複数の第4キューであって、各第4キューは、前記パケットバッファのアドレスの内、書き込み済みのアドレスからのパケットの読み出し順序を、キュー内の各アドレスに対する書き込み期間とともに管理する、複数の第4キューと、
前記第3キューが示すアドレス順序に従ってパケットの書き込みを行い、書き込まれたアドレスを書き込み期間とともに当該パケットの特性に対応する第4キューに加える第3制御部と、
第4キューが示す最初のアドレスのパケットのパケットバッファにおける滞留期間を、前記最初のアドレスに対する第1書き込み期間と、タイマが示す現在時刻とに基づいて算出し、前記滞留期間に基づいてパケットを破棄することを決定したときには、前記第1書き込み期間内に書き込まれたすべてのアドレスを前記第4キューから除去する第4制御部と、
を備えたパケット転送装置。(7)
前記パケットバッファの各アドレスに対応したポインタアドレスを有するポインタを備え、
前記第3キューは、対応するアドレス群の中でパケットを書き込み可能なアドレスに対応するポインタによるリンクリストで構成され、
前記第3制御部は、パケットの書き込み時において、前記第3キューのリンクリスト上のポインタに対応する前記パケットバッファのアドレスにパケットを書き込むとともに、そのポインタを第3キューのリンクリストから外し、かつ、そのポインタによって前記第4キューをポインタによるリンクリストとして形成し、第4キューの各ポインタと書き込み期間とを関連付け、
前記第4制御部は、第4キューのスタートポインタと関連付けられた書き込み期間に基づきパケットを破棄することを決定したときには、当該スタートポインタと同一の書き込み期間内に前記第4キューに連結されたすべてのポインタを第4キューから外し、第3キューへ連結する、
付記9記載のパケット転送装置。
転送対象のパケットを一時的に格納するためのパケットバッファと、所定の単位期間毎の時刻を計測するタイマとを備えたパケット転送装置、に対するパケット破棄方法であって、
前記パケットバッファのアドレスに対するパケットの書き込み順序を管理する第3キューを用意するステップと、
パケットの特性に応じた複数の第4キューを用意するステップと、
前記第3キューが示すアドレス順序に従ってパケットの書き込みを行うステップと、
パケットが書き込まれたアドレスを書き込み期間とともに、そのパケットの特性に対応する第4キューに加えるステップと、
第4キューが示す最初のアドレスのパケットのパケットバッファにおける滞留期間を、前記最初のアドレスに対する第1書き込み期間と、タイマが示す現在時刻とに基づいて算出するステップと、
前記滞留期間に基づいてパケットを破棄することを決定したときには、前記第1書き込み期間内に書き込まれたすべてのアドレスを前記第4キューから除去するステップと、
を備えたパケット破棄方法。(8)
3…出力ポート設定部
4…出力ポートテーブル
5…パケットバッファ管理部
10…書き込み制御部
11…カウンタ
20…読み出し制御部
21…カウンタ
25…スケジューラ
22…遅延閾値テーブル
23…優先度テーブル
31,32…ポインタ格納部
40…タイマ
6…パケットバッファ
7…スイッチング部
Claims (8)
- 転送対象のパケットを一時的に格納するためのパケットバッファと、
所定の単位期間毎の時刻を計測するタイマと、
前記パケットバッファを構成する複数のアドレス群の各々に対応した複数の第1キューであって、各第1キューは、対応するアドレス群内のアドレスに対するパケットの書き込み順序を管理する、複数の第1キューと、
パケットの特性に応じて設けられる複数の第2キューであって、各第2キューは、前記パケットバッファのアドレスの内、書き込み済みのアドレスからのパケットの読み出し順序を管理する、複数の第2キューと、
書き込み対象のアドレス群を前記単位期間毎に切り替えることで各アドレス群と書き込み期間とを対応付け、書き込み対象のアドレス群に対し、そのアドレス群に対応する第1キューが示すアドレス順序に従ってパケットの書き込みを行い、書き込まれたアドレスを当該パケットの特性に対応する第2キューに加える第1制御部と、
第2キューが示す最初のアドレスのパケットのパケットバッファにおける滞留期間を、前記最初のアドレスが属するアドレス群から特定される第1書き込み期間と、タイマが示す現在時刻とに基づいて算出し、前記滞留期間に基づいてパケットを破棄することを決定したときには、前記第1書き込み期間内に書き込まれたすべてのアドレスを前記第2キューから除去する第2制御部と、
を備えたパケット転送装置。 - 前記パケットバッファの各アドレスに対応したポインタアドレスを有するポインタを備え、
前記第1キューは、対応するアドレス群の中でパケットを書き込み可能なアドレスに対応するポインタによるリンクリストで構成され、
前記第1制御部は、パケットの書き込み時において、書き込み期間に応じた第1キューのリンクリスト上のポインタに対応する前記パケットバッファのアドレスにパケットを書き込むとともに、そのポインタを第1キューのリンクリストから外し、かつ、そのポインタによって前記第2キューをポインタによるリンクリストとして形成し、
前記第2制御部は、第2キューのスタートポインタに基づきパケットを破棄することを決定したときには、当該スタートポインタと同一の書き込み期間内に前記第2キューに連結されたすべてのポインタを当該第2キューから外し、前記第1キューへ連結する、
請求項1に記載のパケット転送装置。 - ある期間内に前記パケットバッファに書き込まれたパケットの数をカウントする第1カウンタと、
当該期間内に前記パケットバッファに書き込まれたパケットのうち、前記パケットバッファから読み出されたパケットの数をカウントする第2カウンタと、
をさらに備え、
前記第1カウンタのカウント値から前記第2カウンタのカウント値を減算することで、当該期間における破棄パケット数を算出する、
請求項1または2に記載のパケット転送装置。 - パケットの特性に基づいて、前記複数の第2キューの各々に対する優先度が予め設定されており、
ある期間におけるパケットの破棄の決定が2以上の第2キューに基づいて行われたときには、その期間の当該2以上の第2キューに対する処理は、前記優先度の順に従って行われる、
請求項1または2に記載のパケット転送装置。 - 前記第1制御部および前記第2制御部の前記複数の第2キューに対する処理は、単位期間内において時分割で行われる、
請求項1または2に記載のパケット転送装置。 - 転送対象のパケットを一時的に格納するためのパケットバッファと、所定の単位期間毎の時刻を計測するタイマとを備えたパケット転送装置、に対するパケット破棄方法であって、
前記パケットバッファを構成する複数のアドレス群の各々に対応した複数の第1キューであって、各第1キューは、対応するアドレス群内のアドレスに対するパケットの書き込み順序を管理する、複数の第1キューを用意するステップと、
パケットの特性に応じた複数の第2キューを用意するステップと、
書き込み対象のアドレス群を前記単位期間毎に切り替え、書き込み対象のアドレス群に対し、そのアドレス群に対応する第1キューが示すアドレス順序に従ってパケットの書き込みを行うステップと、
パケットが書き込まれたアドレスを、そのパケットの特性に対応する第2キューに加えるステップと、
前記第2キューが示す最初のアドレスのパケットのパケットバッファにおける滞留期間を、前記最初のアドレスが属するアドレス群から特定される第1書き込み期間と、タイマが示す現在時刻とに基づいて算出するステップと、
前記滞留期間に基づいてパケットを破棄することを決定したときには、前記第1書き込み期間内に書き込まれたすべてのアドレスを前記第2キューから除去するステップと、
を備えたパケット破棄方法。 - 転送対象のパケットを一時的に格納するためのパケットバッファと、
所定の単位期間毎の時刻を計測するタイマと、
前記パケットバッファのアドレスに対するパケットの書き込み順序を管理する第3キューと、
パケットの特性に応じて設けられる複数の第4キューであって、各第4キューは、前記パケットバッファのアドレスの内、書き込み済みのアドレスからのパケットの読み出し順序を、キュー内の各アドレスに対する書き込み期間とともに管理する、複数の第4キューと、
前記第3キューが示すアドレス順序に従ってパケットの書き込みを行い、書き込まれたアドレスを書き込み期間とともに当該パケットの特性に対応する第4キューに加える第3制御部と、
第4キューが示す最初のアドレスのパケットのパケットバッファにおける滞留期間を、前記最初のアドレスに対する第1書き込み期間と、タイマが示す現在時刻とに基づいて算出し、前記滞留期間に基づいてパケットを破棄することを決定したときには、前記第1書き込み期間内に書き込まれたすべてのアドレスを前記第4キューから除去する第4制御部と、
を備えたパケット転送装置。 - 転送対象のパケットを一時的に格納するためのパケットバッファと、所定の単位期間毎の時刻を計測するタイマとを備えたパケット転送装置、に対するパケット破棄方法であって、
前記パケットバッファのアドレスに対するパケットの書き込み順序を管理する第3キューを用意するステップと、
パケットの特性に応じた複数の第4キューを用意するステップと、
前記第3キューが示すアドレス順序に従ってパケットの書き込みを行うステップと、
パケットが書き込まれたアドレスを書き込み期間とともに、そのパケットの特性に対応する第4キューに加えるステップと、
第4キューが示す最初のアドレスのパケットのパケットバッファにおける滞留期間を、前記最初のアドレスに対する第1書き込み期間と、タイマが示す現在時刻とに基づいて算出するステップと、
前記滞留期間に基づいてパケットを破棄することを決定したときには、前記第1書き込み期間内に書き込まれたすべてのアドレスを前記第4キューから除去するステップと、
を備えたパケット破棄方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008105684A JP4952642B2 (ja) | 2008-04-15 | 2008-04-15 | パケット転送装置およびパケット破棄方法 |
US12/361,655 US8306045B2 (en) | 2008-04-15 | 2009-01-29 | Packet forwarding apparatus and method for discarding packets |
GB0901569A GB2459168B (en) | 2008-04-15 | 2009-02-02 | Packet forwarding apparatus and method for discarding packets |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008105684A JP4952642B2 (ja) | 2008-04-15 | 2008-04-15 | パケット転送装置およびパケット破棄方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009260535A JP2009260535A (ja) | 2009-11-05 |
JP4952642B2 true JP4952642B2 (ja) | 2012-06-13 |
Family
ID=40469358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008105684A Active JP4952642B2 (ja) | 2008-04-15 | 2008-04-15 | パケット転送装置およびパケット破棄方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8306045B2 (ja) |
JP (1) | JP4952642B2 (ja) |
GB (1) | GB2459168B (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7730238B1 (en) * | 2005-10-07 | 2010-06-01 | Agere System Inc. | Buffer management method and system with two thresholds |
CN102449094B (zh) * | 2009-04-03 | 2014-10-22 | 亚什兰许可和知识产权有限公司 | 紫外辐射可固化压敏丙烯酸类粘合剂 |
US8897132B2 (en) * | 2010-03-31 | 2014-11-25 | Blue Coat Systems, Inc. | Enhanced random early discard for networked devices |
JP6254824B2 (ja) * | 2013-11-06 | 2017-12-27 | 関西電力株式会社 | 通信装置、データ送信方法、及び、データ送信プログラム |
US10484311B2 (en) * | 2015-03-31 | 2019-11-19 | Cavium, Llc | Method and apparatus for using multiple linked memory lists |
CN107615718B (zh) | 2015-05-25 | 2020-06-16 | 华为技术有限公司 | 报文处理方法及装置 |
DE102016202331A1 (de) * | 2016-02-16 | 2017-08-17 | Siemens Aktiengesellschaft | Netzknoteneinrichtung und Verfahren zur Vermittlung von Daten |
JP7041339B2 (ja) * | 2017-09-20 | 2022-03-24 | 富士通株式会社 | 情報処理システム、情報処理装置、及び情報処理システムの制御方法 |
US10659374B2 (en) * | 2017-09-29 | 2020-05-19 | Electronics And Telecommunications Research Institute | Method and apparatus for controlling frame transmission |
US10819647B2 (en) * | 2017-12-06 | 2020-10-27 | Marvell Israel (M.I.S.L) Ltd. | Network device having reduced latency |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05207063A (ja) | 1991-12-04 | 1993-08-13 | Nec Corp | 音声パケット遅延制御方式 |
US6247058B1 (en) | 1998-03-30 | 2001-06-12 | Hewlett-Packard Company | Method and apparatus for processing network packets using time stamps |
US6570876B1 (en) * | 1998-04-01 | 2003-05-27 | Hitachi, Ltd. | Packet switch and switching method for switching variable length packets |
US6788682B1 (en) * | 2000-08-02 | 2004-09-07 | 3Com Corporation | Mapping of packets between links of trunk groups using Mux/Demux devices |
JP4110733B2 (ja) * | 2000-11-24 | 2008-07-02 | 沖電気工業株式会社 | 音声パケット通信の品質評価システム |
JP2003283579A (ja) * | 2002-03-26 | 2003-10-03 | Matsushita Electric Ind Co Ltd | パケット記憶回路及びパケット記憶装置 |
EP1532748B1 (en) * | 2002-08-21 | 2010-10-13 | Nxp B.V. | Delay line for multiple propagation paths reception |
US6754744B2 (en) * | 2002-09-10 | 2004-06-22 | Broadcom Corporation | Balanced linked lists for high performance data buffers in a network device |
JP2006174233A (ja) * | 2004-12-17 | 2006-06-29 | Nippon Telegr & Teleph Corp <Ntt> | パケット処理装置 |
US7533109B2 (en) | 2005-04-26 | 2009-05-12 | Hewlett-Packard Development Company, L.P. | Item queue management |
KR100881925B1 (ko) | 2006-01-16 | 2009-02-04 | 삼성전자주식회사 | 이동통신 기지국 시스템에서 하향 음성 패킷망 패킷스케줄링 장치 및 방법 |
JP4614909B2 (ja) * | 2006-05-08 | 2011-01-19 | 三菱電機株式会社 | パケットバッファ装置 |
US20100238801A1 (en) | 2006-07-31 | 2010-09-23 | Smith Donald L | Method and system for stale data detection based quality of service |
US7710953B2 (en) * | 2007-03-30 | 2010-05-04 | Alcatel-Lucent Usa Inc. | Method and apparatus for operating fast switches using slow schedulers |
-
2008
- 2008-04-15 JP JP2008105684A patent/JP4952642B2/ja active Active
-
2009
- 2009-01-29 US US12/361,655 patent/US8306045B2/en active Active
- 2009-02-02 GB GB0901569A patent/GB2459168B/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20090257441A1 (en) | 2009-10-15 |
GB0901569D0 (en) | 2009-03-11 |
JP2009260535A (ja) | 2009-11-05 |
GB2459168A (en) | 2009-10-21 |
GB2459168B (en) | 2012-07-18 |
US8306045B2 (en) | 2012-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4952642B2 (ja) | パケット転送装置およびパケット破棄方法 | |
US6965566B2 (en) | Packet flow control apparatus and a method for controlling the same | |
US7016366B2 (en) | Packet switch that converts variable length packets to fixed length packets and uses fewer QOS categories in the input queues that in the outout queues | |
US7120113B1 (en) | Systems and methods for limiting low priority traffic from blocking high priority traffic | |
US8325749B2 (en) | Methods and apparatus for transmission of groups of cells via a switch fabric | |
US20130070584A1 (en) | Network impairment unit for concurrent delay and packet queue impairments | |
EP2306322A1 (en) | Method for processing data packets in flow-aware network nodes | |
JP6036310B2 (ja) | パケット交換装置、伝送装置、及びパケットスケジューリング方法 | |
JP5711257B2 (ja) | タイムスタンプの記録と中央制御装置を用いた多数のアダプタによるデータフレームの分散処理 | |
JP5749732B2 (ja) | キューの充填レベルの更新を制御することにより帯域幅を節約しながらデータを受信し記憶するアセンブリおよび方法 | |
US20010040896A1 (en) | Method and device for communicating between a first and a second network | |
CN113454957B (zh) | 一种存储器的管理方法及装置 | |
JP5087595B2 (ja) | エッジノード、ウィンドウサイズ制御方法およびプログラム | |
JP2002033749A (ja) | バッファ装置およびスイッチング装置 | |
US8073999B2 (en) | Data input-output control apparatus | |
US7782780B1 (en) | System and method for arbitration of multicast data packets using holds | |
US8289989B1 (en) | System and method for arbitration using availability signals | |
Meitinger et al. | A hardware packet re-sequencer unit for network processors | |
US9922000B2 (en) | Packet buffer with dynamic bypass | |
CN105099932B (zh) | 基于直通转发技术的调度方法及装置 | |
CN113347112B (zh) | 一种基于多级缓存的数据包转发方法及装置 | |
JPH11234333A (ja) | ゲートウェイ装置 | |
JPH0983525A (ja) | セル出力帯域規制装置 | |
JPH1117702A (ja) | パケットデータメモリ装置 | |
JP2012155440A (ja) | 相互結合網制御システム、相互結合網制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120126 |
|
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: 20120214 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4952642 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150323 Year of fee payment: 3 |