[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2001251351A - パケット交換機における入力パケット処理方式 - Google Patents

パケット交換機における入力パケット処理方式

Info

Publication number
JP2001251351A
JP2001251351A JP2000061806A JP2000061806A JP2001251351A JP 2001251351 A JP2001251351 A JP 2001251351A JP 2000061806 A JP2000061806 A JP 2000061806A JP 2000061806 A JP2000061806 A JP 2000061806A JP 2001251351 A JP2001251351 A JP 2001251351A
Authority
JP
Japan
Prior art keywords
packet
header
input
search
label
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.)
Pending
Application number
JP2000061806A
Other languages
English (en)
Inventor
Yoshiaki Shioda
佳明 塩田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2000061806A priority Critical patent/JP2001251351A/ja
Priority to CA 2338969 priority patent/CA2338969C/en
Priority to US09/795,193 priority patent/US6987762B2/en
Publication of JP2001251351A publication Critical patent/JP2001251351A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 LSR において、複数回のポップ処理が実施さ
れるMPLSパケットが、後から到着したパケットの処理開
始時間に影響を与えないようにする。 【解決手段】 MPLSパケットのシムヘッダの内容及び事
前に設定された情報に基づき、スワップ、プッシュ及び
ポップの内から実施すべき操作を判断しその実施に必要
な情報を取得すると共に出力方路情報を取得する処理を
流れ作業的に行うパイプラインP1を備える。ヘッダコン
トローラ7は、複数回線2から入力される各パケットの
先頭シムヘッダをパイプラインP1に順次に入力し、得ら
れた情報に基づいて各パケットの先頭シムヘッダに対し
実際の操作を実施する。ポップ操作の結果、新しく先頭
になったシムヘッダが存在する場合、その新しく先頭に
なったシムヘッダをパイプラインP1に入力する処理から
再度繰り返す。つまり、MPLSパケットのポップ処理は1
度にまとめて行うのではなく、パイプラインをループさ
せて処理する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はパケット交換機に関
し、特に複数の回線カードとスイッチとで構成されるパ
ケット交換機において回線から入力されたパケットが回
線カードを通じてスイッチに出力されるまでの処理に関
する。
【0002】
【従来の技術】インターネットの普及によりIP(イン
タネット・プロトコル)ネットワーク上のトラヒックが
増大し、従来型のIPルータでは、データを効率的に運
ぶことが困難であり、またサービス品質を保つことが困
難であるという問題が存在する。これら問題を解決する
ための通信方式にMPLS(Multi Protocol Label Sw
itching)方式がある。
【0003】MPLS方式の技術は、たとえば「1999年
12月、アイ・イー・イー・イー・コミュニケーションズ
・マガジン、第37巻、第12号、36〜68頁(IEEE
COMMUNICATIONS MAGAZINE, VOL.37, NO.12, DECEMBER,
1999, pp.36-68) に記載されている。
【0004】MPLSは、図3(A)に示すようなフォ
ーマットを持つIPパケットを、図3(B)に示すよう
にシムヘッダと呼ばれるデータでカプセル化する。シム
ヘッダ中には、図3(C)に示すようにルーティング情
報を示す識別子であるラベルが存在する。ラベルは20
ビットの長さを持つことにより、100万個の入力パケ
ットを識別することができる。また、MPLSパケット
は、図3(D)に示すように複数のシムヘッダを付加す
ることによる階層構造をとることができ、これをラベル
スタッキングと呼ぶ。LSR(Label Switch Router)
は、LSRに到着したMPLSパケットに対しラベルを
もとにルーティングおよびスイッチング処理を行い、隣
接ルータにパケットを転送する。
【0005】さらにパケットは、例えばIETFのRF
C1661で規定されたPPPパケットでカプセル化さ
せて回線に送受信される。PPPはIPパケットもMP
LSパケットも運ぶことが可能で、PPPパケットを受
信したLSRは受信したパケットがIPパケットなの
か、MPLSパケットなのかを区別する。LSRにラベ
ル情報を設定する制御信号はMPLSパケットではな
く、IPパケット上のTCPをトランスポート層として
使用したLDP(Label Distribution Protocol)を用
いて行われる。
【0006】LSRには3種類が存在し、それぞれイン
グレスエッジLSR,コアLSR、イグレスエッジLS
Rと呼ばれる。イングレスエッジLSRは、回線から入
力されたIPパケットを、IPヘッダ中のソースアドレ
スや、デスティネーションアドレスに基づき、あらかじ
め指定しておいた特定の組み合わせに分類する。これを
FEC(Forwarding Equivalence Class)に分類すると
呼ぶ。イングレスエッジLSRは、このFECに分類さ
れたIPパケット群に対し、MPLS化の判断を行い、
必要であればMPLSパケット化して、隣接するLSR
へ転送する。コアLSRは、MPLSパケットの中継を
行う。中継の際には入力されたパケットのラベルを出力
用のラベルに付け替える(スワップと呼ぶ。シムヘッダ
中のラベルのみ付け替える)処理、パケットに新たなシ
ムヘッダを加える(プッシュと呼ばれる)処理、パケッ
トから先頭シムヘッダ(複数のシムヘッダでもよい)を
取り除く(ポップと呼ばれる)処理を行い、処理された
パケットを隣接するLSRへ転送する。イグレスエッジ
LSRは、入力パケットの先頭からラベルを全て取り除
いてIPパケット化し、IPルーティングによってパケ
ットを隣接IPルータに転送する。
【0007】LSRのMPLSパケット処理手順は、ま
ず回線入力インタフェースにMPLSパケットが到着す
ると、入力パケットのシムヘッダ中のラベルをキーとし
てILM(Incoming Label Map)と呼ばれるテーブルを参
照する。ILMの内容はポインタであり、NHLFE(N
ext Hop Label Forwarding Entry) と呼ばれる、ある入
力ラベルに対し、どの種類のラベル操作を行うかが記述
されたテーブルを指し示す。また、NHLFEをもとに
ルーティング処理を実施する。その後、LSRはその内
部でスイッチング処理を行い、回線出力インタフェース
からパケットを隣接LSRやIPルータに送信する。ま
た、イングレスエッジLSRでは、FECに分類された
IPパケット群でMPLS化の必要のあるものは、NH
LFEを参照した後ラベルをプッシュする。これらIL
MとNHLFEを用いる動作に関しては、IETFのド
ラフト仕様(MPLSのアーキテクチャを規定してい
る)で規定されているが、その実装に関しては規定され
ない。
【0008】ここで、交換機またはルータの既存の実装
方式として、複数枚の回線カードと、スイッチカードと
で交換機またはルータを構成する方式がある。通常、回
線カードには複数の回線を搭載可能であるが、1枚の回
線カードの通信帯域はあらかじめ決められており、例え
ば帯域が2.4Gbps(Giga Bit Per Sec)の場合、伝
送レートが2.4Gbpsの回線ならば1回線、155
Mbps(Mega Bit Per Sec)の回線ならば16回線収容
可能である。ここで、MPLSは回線ごとにラベル空間
を持つことが可能である。よって回線が異なれば同じラ
ベルの値を使用してもよい。この回線ごとのラベルを識
別するために、回線カード上で20ビットのラベルに入
力回線を区別するための識別子のビットを付加すると、
1枚の回線カードに16回線を収容する場合には、IL
Mの参照キーとして24ビットが必要になる。また、1
600万個の入力パケットが識別可能となる。
【0009】一方、装置の設計においてはメモリの制
限、管理の複雑化などの理由で、1600万個もの識別
子を同時に使用することは困難であり、使用する入力パ
ケットの識別子を制限することが行われる。MPLSに
おいて、これはILMが指し示すポインタの数を装置で
使用可能な数に制限することで可能である。
【0010】1枚の回線カード装置で使用可能な識別子
の数を64000個とすると、ILMの各エントリが持
つべきポインタは2バイト(16ビット)となる。ここ
で、上記24ビットをメモリへアクセスするためのアド
レスとするILMの実装を行うと、必要なメモリの量は
32メガバイトである。しかし、実際に使用する領域は
128キロバイト(64000×2バイト)であるの
で、メモリのほとんどの領域が無駄になってしまう問題
がある。
【0011】このような入力ラベルの識別処理を実施す
る従来技術が、特表平8−510102号公報「パケッ
トネットワーク内ラベル処理」に開示されている。この
技術は入力ラベルをあらかじめ第一部分および第二部分
に固定したもので構成されることを想定し、交換機は
(1)第一部分および第二部分のラベル、または(2)
第一部分のみのラベル、または(3)第二部分のみのラ
ベルという3通りの異なるモードで入力パケットの識別
処理を行うことが可能である。しかし、この技術は入力
回線番号が考慮されていない。また、MPLSに相当す
る上記(2)のモードである入力ラベルが第一部分から
のみ構成される場合には、第一部分に対応するテーブル
を検索する際に、入力ラベルをメモリアクセス用のアド
レスとして使用する。しかしこの方法ではMPLSのラ
ベルのように第一部分のビット長が長い場合には、前述
のような大規模メモリを必要とする問題があり、メモリ
の効率的な利用方法としては不十分であった。
【0012】一方、ILM、NHLFEを参照した結
果、ポップ処理が必要になったMPLSパケットは、ラ
ベルスタックの先頭からラベルを一つ取り除く。ポップ
処理を行った結果としては、IPパケットに戻る場合と
MPLSパケットのままの場合がある。IPパケットに
戻る場合には、そのLSRはイグレスエッジLSRであ
ることを意味し、その後前述のIPルーティング処理を
行う。MPLSパケットのままの場合には、もう一度I
LMとNHLFEを参照してラベル処理を行う必要があ
る。よって、このポップ処理が複数回行われることもあ
る。装置はこのポップ処理の繰り返しに対応する必要が
あるが、これは装置の実装を複雑化するとともに、性能
を劣化させる要因でもある。例えば、一つのパケットの
全ての処理が終了するまで次のパケットを処理しない方
法では、2回のポップが発生すると後から到着したパケ
ットは、2回のポップが発生していない時よりも、パケ
ット処理1回分の処理開始遅延が発生する。よって、2
回以上のポップが実施されるパケットを多数受信した場
合には、処理待ちのパケット数が増加して、処理せずに
廃棄せざるを得ない状況に陥る恐れがあるという問題が
ある。
【0013】さらに、これまで説明してきた通り、LS
RはMPLSパケットだけでなく、ルーティングを含む
IPパケット処理が必要であり、MPLSとIPの両方
の処理を統合し、効率的かつ高速に処理可能な方法が求
められる。
【0014】
【発明が解決しようとする課題】本発明の目的は、複数
回のポップ処理が実施されるパケットが、後から到着し
たパケットの処理開始時間に影響を与えないようにする
ことにある。
【0015】本発明の別の目的は、メモリを効率的に使
用可能でかつ高速なILM検索処理を実現することにあ
る。
【0016】本発明の他の目的は、MPLSとIPの両
方の処理を統合し、効率的かつ高速な交換機を提供する
ことにある。
【0017】
【課題を解決するための手段】第1の発明は、複数階層
によるスタッキング構成が可能なヘッダを持つプロトコ
ルのパケット(MPLSパケット)に付加されたヘッダ
(シムヘッダ)中のラベルに基づいて転送処理を行うパ
ケット交換機において、1パケットに対する複数回のポ
ップ操作を1度にまとめて実施するのではなく、1回の
ポップ操作が終了すると、一旦パケットを処理の最初の
段階へ戻したのち、再びILM検索からパケット処理を
実施する。具体的には、パケットのヘッダの内容および
事前に設定された情報に基づき、ラベルに対して実施す
べき操作の種類を判断してその操作の実施に必要な情報
を取得すると共に出力方路情報を取得する処理を流れ作
業的に行うパイプラインと、回線から入力される各パケ
ットの先頭ヘッダを前記パイプラインに順次に入力し、
得られた情報に基づいて各パケットの先頭ヘッダに対し
て実際の操作を実施すると共に、ポップ操作の結果、新
しく先頭になったヘッダが存在するパケットはその新し
く先頭になったヘッダを前記パイプラインに入力する段
階から処理を再度繰り返す手段とを備えている。
【0018】第2の発明は、第1の発明において、ラベ
ルと入力回線番号を組み合わせた検索キーを二個以上の
ブロックに分割し、ブロックごとにILMのテーブルを
検索する。具体的には、前記パイプラインは、ラベルに
対してどの種類の操作を行うかを記述した第1のテーブ
ル(NHLFE)と、前記第1のテーブルの該当エント
リのポインタを検索するための第2のテーブル(IL
M)とを含むヘッダ処理用テーブルを参照して、前記操
作の実施に必要な情報を取得する構成を有し、且つ、前
記パイプラインは、パケットが入力された入力回線番号
と先頭ヘッダ中のラベルとを合わせたものを検索キーと
して前記第2のテーブルを検索する手段を有し、該手段
は前記検索キーを1次からn次までのn個の分割検索キ
ーに分割して使用し、前記第2のテーブルは1次検索テ
ーブルからn次検索テーブルまでの複数の検索テーブル
に分割され、1次分割検索キーは、1次検索テーブルを
検索するために用い、前記1次検索テーブルを検索して
得られる結果は、2次検索テーブルを検索するための検
索キーの上位キーとして、2次分割検索キーは下位キー
として用いられ、前記上位キーと前記下位キーを合わせ
たものを前記2次検索テーブルを検索するためのキーと
して用い、k−1次(kは1からnまでの整数)検索テ
ーブルを検索して得られる結果は、k次検索テーブルを
検索するための検索キーの上位キーとして、k次分割検
索キーは下位キーとして用いられ、前記上位キーと前記
下位キーを合わせたものを前記k次検索テーブルを検索
するためのキーとして用い、n次検索テーブルを検索し
て得られる結果が前記第1のテーブルにアクセスするた
めのポインタとなる構成を有する。
【0019】第3の発明は、IP処理用パイプライン、
MPLS処理パイプラインを具備し、入力されたパケッ
トの種類を判断してそれぞれのパイプラインにパケット
ヘッダを送信し、それぞれのパイプラインでの処理を実
施した後、パイプライン処理を合流させることでMPL
SとIPの両方の処理を統合する。具体的には、複数階
層によるスタッキング構成が可能な第1ヘッダ(シムヘ
ッダ)を持つ第1プロトコルのパケット(MPLSパケ
ット)に付加された第1ヘッダ中のラベルに基づいて第
1プロトコルのパケットの転送処理を行うと共に、複数
階層によるスタッキング構成が不可能な第2ヘッダ(I
PヘッダおよびTCP/UDPヘッダ)を持つ第2プロ
トコルのパケット(IPパケット)に付加された第2ヘ
ッダ中のラベルに基づいて第2プロトコルのパケットの
転送処理を行うパケット交換機における入力パケット処
理方式において、第1ヘッダの内容および事前に設定さ
れた情報に基づき、ラベルに対して実施すべき操作の種
類を判断してその操作の実施に必要な情報を取得すると
共に出力方路情報を取得する処理を流れ作業的に行い、
予め定められたフォーマットの処理結果を出力する第1
パイプラインと、第2ヘッダの内容および事前に設定さ
れた情報に基づき、第2プロトコルのパケットの第1プ
ロトコルによるパケット化の必要性を判断してその操作
の実施に必要な情報を取得すると共に出力方路情報を取
得する処理を流れ作業的に行い、前記フォーマットで処
理結果を出力する第2パイプラインと、複数の回線から
入力されるパケットのプロトコルを判断し、第1プロト
コルのパケットであれば、回線から入力された各パケッ
トの先頭ヘッダを前記第1パイプラインに順次に入力
し、得られた情報に基づいて各パケットの先頭ヘッダに
対して実際の操作を実施すると共に、ポップ操作の結
果、新しく先頭になった第1ヘッダが存在するパケット
はその新しく先頭になったヘッダを前記第1パイプライ
ンに入力する段階から処理を再度繰り返し、第2プロト
コルのパケットであれば、回線から入力された各パケッ
トのヘッダを前記第2パイプラインに順次に入力し、得
られた情報に基づいて各パケットに対して実際の操作を
実施する手段とを備えている。
【0020】
【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
【0021】図1を参照すると、本発明の実施の形態に
かかるLSR1は、複数枚の回線カード3とこれらに接
続されたスイッチ4とで構成されている。それぞれの回
線カード3は、対向側装置とPPPパケットにより相互
接続される複数の回線2を収容し、IPパケットルーテ
ィング処理、IPパケットのMPLS化処理およびMP
LSパケットのラベル処理を実施してLSR1上の出力
方路情報(どの回線カードのどの回線に出力するか)を
求め、スイッチ4に出力する処理および、スイッチ4か
らパケットを受信して出力方路情報に基づき該当する回
線にパケットを出力する処理機能を兼ね備えている。ま
た、スイッチ4は、各回線カード3から入力されたパケ
ットを出力方路情報に基づきスイッチング処理を行い、
該当する回線カード3に出力する機能を備えている。な
お、LSR1はイングレス、コア、イグレスの全てのL
SR機能を有し、例えば或る回線カード3の或る回線は
イングレスLSR用、ある回線は通常のIPルーティン
グ用という使用が可能であるものとする。つまりLSR
はIPルータとしても動作する。
【0022】図2は回線カード3における回線からの入
力部(回線から入力されたパケットがスイッチ4に出力
されるまでのブロック)全体を示している。この例の入
力部は、バッファコントローラ5、バッファメモリ6、
ヘッダコントローラ7、ILM検索部8、ラベル処理部
9、フォワーディングエンジン10、CPU11、ポイ
ンタ格納メモリ12、NHLFE検索部13、NHLF
E格納メモリ14、ヘッダ等格納メモリ15、FEC分
類部16、ルーティングエンジン17、マージ部18を
含んでおり、ILM検索部8、NHLFE検索部13お
よびラベル処理部9でMPLS処理用のパイプラインP
1が構成され、FEC分類部16、ルーティングエンジ
ン17、マージ部18およびラベル処理部9でIPルー
ティング用かつMPLS化判断用のパイプラインP2が
構成される。
【0023】CPU11はオペレータや自律動作プロト
コルによって得られた情報をもとにして、回線カード3
内部の各ブロックの設定を行い、ポインタ格納メモリ1
2、NHLFE格納メモリ14、ヘッダ等格納メモリ1
5、FEC分類部16およびルーティングエンジン17
に必要なデータを設定する。ヘッダ等格納メモリ15の
各エントリには、スイッチ4で使用される出力方路情報
とパケットにプッシュすべきシムヘッダ群などが格納さ
れる。NHLFE格納メモリ14には、ラベル操作情
報、スワップする新ラベル、プッシュするシムヘッダ
長、ヘッダ等格納メモリ15をアクセスする際のアドレ
スとして使用される出力方路情報ポインタなどを各エン
トリに持つNHLFEが格納される。ポインタ格納メモ
リ12には、NHLFEのエントリへのポインタを保持
するILMが格納される。FEC分類部16には、FE
C分類条件のマッチ条件、各条件毎のシムヘッダ長や出
力方路情報ポインタ(ヘッダ等格納メモリ15をアクセ
スする際のアドレスとして使用される)などが設定さ
れ、またルーティングエンジン17にはルーティングテ
ーブルが設定される。
【0024】バッファコントローラ5は複数回線2から
入力されたパケットをバッファメモリ6に書き込むと同
時に、回線から入力されるパケットのヘッダ情報(IP
パケットの場合は、IPヘッダおよびTCP/ UDPヘ
ッダ、MPLSパケットの場合は全てのシムヘッダおよ
びIPヘッダ、TCP/ UDPヘッダを指す)を、パケ
ットを受信しながら抜き出して入力回線番号とともにヘ
ッダコントローラ7へ送信する。また、バッファコント
ローラ5はバッファメモリ6内部の未使用領域を管理し
ている。ヘッダコントローラ7に対して、パケット全体
を送信せずにヘッダのみを送信する理由は、MPLSラ
ベル処理またはIPルーティング、IPパケットのMP
LS化処理を行うにはパケットのヘッダのみを参照すれ
ば十分であり、パケット全体を送信するのは無駄である
ことによる。
【0025】ヘッダコントローラ7はパケットのヘッダ
情報や入力回線番号をILM検索部8、FEC分類部1
6、ルーティングエンジン17に送信する機能と、ヘッ
ダ処理終了をラベル処理部9から通知された後にMPL
Sパケットのポップ処理、バッファメモリ6内部のデー
タの変更およびフォワーディングエンジン10へパケッ
トの転送依頼も行う。フォワーディングエンジン10は
ヘッダ処理が終了したパケットをスイッチ4へ転送す
る。
【0026】ILM検索部8はヘッダ情報をもとにポイ
ンタ格納メモリ12上のILMを検索し、NHLFE検
索部13で使用されるポインタを得る。NHLFE検索
部13はポインタに基づきNHLFE格納メモリ14を
検索して、ラベル処理情報およびラベル処理部9で使用
するポインタを得るとともに、必要であればMPLSパ
ケットのスワップ処理を行う。
【0027】FEC分類部16は、パケットをIPやT
CPのヘッダ情報の組であるFEC(Forwarding Equiv
alence Classes)に分類して、パケットをMPLS化す
るかどうかを判定する。ルーティングエンジン17はI
Pパケットのルーティング処理を行う。マージ部18は
FEC分類部16の結果とルーティングエンジン17の
結果をマージして、結果をラベル処理部9に送信する。
【0028】ラベル処理部9はヘッダ等格納メモリ15
にアクセスし、プッシュするシムヘッダや出力方路など
のスイッチング情報を得て、結果をヘッダコントローラ
7に通知する。
【0029】複数回線2から受信するパケットのフォー
マットを図3に示す。実際はこれらパケットはPPPパ
ケットにカプセル化されている。図3(A)はIPパケ
ットを示す。(B)はMPLSパケットを示す。(C)
は(B)のシムヘッダの詳細を示す。(D)はラベルス
タッキングされているMPLSパケットの例を示す。
【0030】次に、本発明の実施の形態のより詳しい構
成とその動作を説明する。
【0031】図2を参照すると、複数回線2からバッフ
ァコントローラ5へ入力される複数のパケットは、バッ
ファメモリ6に十分な空き容量があれば、バッファコン
トローラ5によってバッファメモリ6に書き込まれる
(空き容量が無い場合には、バッファコントローラ5で
廃棄される)。この際、シムヘッダのプッシュが行われ
る場合には、バッファメモリ6に書き込まれたパケット
の先頭にシムヘッダが追加されるので、あらかじめパケ
ットバッファの先頭部分を、想定されるシムヘッダの長
さに合わせて空けて書き込む。同時に、当該パケットバ
ッファの先頭アドレス、パケットのヘッダ情報および入
力回線番号情報がシーケンス番号と共に一時的にバッフ
ァコントローラ5内部に保持される。このとき、パケッ
トの種類がIPパケットか、MPLSパケットかを判別
する。
【0032】入力パケットにおけるヘッダ部分の受信が
完了すると、バッファコントローラ5は保持していたバ
ッファの先頭アドレス、ヘッダ情報(IPパケットの場
合は、IPヘッダおよびTCP/ UDPヘッダ、MPL
Sパケットの場合は全てのシムヘッダおよびIPヘッ
ダ、TCP/ UDPヘッダを指す)、入力回線番号、パ
ケットの種類、およびシーケンス番号をヘッダコントロ
ーラ7に送信する。ヘッダコントローラ7に送信するデ
ータのフォーマットを図4に示す。ここでシーケンス番
号は、スイッチ4への転送が終了していないパケットを
管理するために使用される。また、ヘッダコントローラ
7は、受信イネーブル信号をバッファコントローラ5に
送信しており、バッファコントローラ5はこのイネーブ
ル信号がアクティブのときにのみ前記データを送信可能
である。
【0033】パケットの受信およびバッファメモリ6へ
の書き込みが終了すると、バッファコントローラ5はパ
ケットの伝送誤りをチェックし、正常であれば処理開始
依頼信号をヘッダコントローラ7へ送信すると共に、フ
ォワ―ディングエンジン10にシーケンス番号およびパ
ケットが格納されているバッファメモリ6中のアドレス
を通知する。バッファコントローラ5はヘッダ情報など
の転送が終了すると、その内部にシーケンス番号とバッ
ファメモリ6に保存されているパケットのバッファアド
レスを保存する。伝送誤りチェックの結果が異常であれ
ば、ヘッダコントローラ7に対し、渡したヘッダ情報な
どの廃棄を廃棄依頼信号によって指示する。
【0034】処理開始依頼を受信したヘッダコントロー
ラ7はバッファコントローラ5から受信したパケットの
種類の情報がMPLSであれば、ヘッダ情報、入力回線
番号、シーケンス番号をILM検索部8に渡す。IPで
あれば同じくFEC分類部16とルーティングエンジン
17に渡す。ここで各部8、16、17からヘッダコン
トローラ7には受信イネーブル信号による送信制御が実
施される。また、ヘッダコントローラ7はバッファコン
トローラ5から受信した情報(図4)を、フォワーディ
ングエンジン10へパケット送信依頼を行うまで保存す
る。
【0035】ここで、ヘッダコントローラ7が情報をI
LM検索部8に送信する動作から、後述するラベル処理
部9での動作まではパイプラインP1によるパイプライ
ン処理で実施される。例えば、ILM検索部8は、IL
M処理が終了して結果をNHLFE検索部13へ送信す
ると、すぐにヘッダコントローラ7から次のパケットヘ
ッダを受信することが可能である。また、NHLFE検
索部13は処理結果をラベル処理部9へ送信すると、す
ぐにILM検索部8から次のデータを受信することが可
能である。同様にヘッダコントローラ7が情報をFEC
分類部16、ルーティングエンジン17に送信する動作
から、後述するラベル処理部9での動作まではパイプラ
インP2によるパイプライン処理で実施される。例え
ば、FEC分類部16およびルーティングエンジン17
は処理結果をマージ部18へ送信すると、すぐにヘッダ
コントローラ7から次のパケットヘッダを受信すること
が可能である。また、マージ部18は処理結果をラベル
処理部9に送信すると、すぐにFEC分類部16、ルー
ティングエンジン17から次のデータを受信することが
可能である。双方のパイプラインP1、P2による処理
時間は同じとされ、双方のパイプラインP1、P2によ
る処理はラベル処理部9において合流する。
【0036】ヘッダコントローラ7がILM検索部8へ
渡すデータの構成を図5に示す。複数のシムヘッダによ
る多階層のMPLSパケットの場合でも、渡すシムヘッ
ダは先頭のみである。回線カードに収容される回線数が
例えば16の場合、入力回線番号情報は4ビット(2の
4乗=16)となり、ラベルの20ビットと合計して2
4ビットのデータ(ILM検索キー)となる。ILM検
索部8では、このILM検索キーおよび検索テーブルを
複数個のブロックに分割してILMの検索を実施する。
図6(A)に例として2個に分割した場合の例を示す。
24ビットのキーをmビットと24−mビットのブロッ
クに分割し、それぞれを1次分割検索キー、2次分割検
索キーとする。また、図6(B)、(C)に示すような
1次検索テーブル81および複数のサブテーブル82か
ら構成される2次検索テーブル83を用意する。1次検
索テーブル81の内容は2次検索テーブル83中のサブ
テーブル82にアクセスするためのポインタの集合であ
り、2次検索テーブル83の内容は次段のNHLFE検
索部13で使用されるポインタの集合である。1次、2
次検索テーブル81、83はポインタ格納メモリ12内
部に格納される。それぞれのテーブル81、83は、図
7に示すように別々の物理メモリ上に置き、各物理メモ
リをILM検索部8に対して並列に配置することで同時
アクセスを可能にする。勿論、両方のテーブルを同一メ
モリ上に置いても良い。処理速度を優先する場合には、
別々の物理メモリ上に配置する。
【0037】1次検索テーブル81は、図6(B)に示
すように2のm乗個のエントリをもつ。回線カード3で
識別可能な入力ラベル(入力回線番号を含む)を(16
00万個中)64000個に制限するとき、各エントリ
は2バイト(16ビット)のポインタをエントリ内容と
して持つ(2の16乗=65536)。つまり、エント
リ自体は2のm乗個だが、ポインタ数は最大2の16乗
個分である。ILM検索部8は、2×1次分割検索キー
をアドレスとしてポインタ格納メモリ12上に置かれた
1次検索テーブル81にアクセスし、2バイトのポイン
タを得る。続いてこのポインタと残りの24−mビット
のデータブロックである2次分割検索キーを結合する
(ポインタが上位ビット側)。ILM検索部8は、この
結果をアドレスとしてポインタ格納メモリ12上に置か
れた2次検索テーブル83にアクセスし、NHLFE検
索部13で使用される2バイトのポインタを得る。ここ
で図6(C)に示す通り、2次検索テーブル83は最大
で64000個のサブテーブル82の集合で構成され、
各サブテーブル82は2の(24−m)乗個のエントリ
を持っている。
【0038】ポインタを取得したILM検索部8は、そ
のポインタと、ヘッダコントローラ7から受信したシム
ヘッダ及びシーケンス番号をNHLFE検索部13に送
信する。上記において、mの値を変更することでILM
の総使用メモリ量は変更される。総メモリ量は式1で表
される。 2(2m +2(24-m)×64000)バイト … (式1)
【0039】式1は、m=20のときに最も少ないメモ
リ量(1次、2次検索テーブル共に1メガバイトで、合
計2メガバイト)となる。よって、図7の各物理メモリ
には各々1メガバイト以上の容量を持つメモリを用意す
ればよい。ラベルと入力回線番号の24ビットをメモリ
へアクセスするためのアドレスとするILM検索の方法
と比較して、必要なメモリ量は16分の1である。
【0040】上記例では2分割の場合を説明したが、さ
らに分割することで、使用メモリ量をより一層削減する
ことができる。
【0041】例えばn個に分割する場合、ILM検索キ
ーを1次からn次までのn個の分割検索キー、検索テー
ブルを1次からn次までの複数の検索テーブルに分割
し、1次分割検索キーは、1次検索テーブルを検索する
ために用い、1次検索テーブルを検索して得られる結果
は、2次検索テーブルを検索するための検索キーの上位
キーとして、2次分割検索キーは下位キーとして用いら
れ、上位キーと下位キーを合わせたものを2次検索テー
ブルを検索するためのキーとして用い、k−1次(kは
1からnまでの整数)検索テーブルを検索して得られる
結果は、k次検索テーブルを検索するための検索キーの
上位キーとして、k次分割検索キーは下位キーとして用
いられ、上位キーと下位キーを合わせたものをk次検索
テーブルを検索するためのキーとして用いる。最終的に
n次検索テーブルを検索して得られる結果は、NHLF
E検索部13で使用されるポインタである。総メモリ量
は、k次分割検索キーのビット幅をkjとすると式2で
表される。 2{(2k1+64000(2k2+……+2kn)}バイト … (式2)
【0042】検索キーの分割個数を決定すると、式2の
結果を最小化するkjの値が求まる。よって、具体的な
分割個数の決定は、装置に搭載可能なメモリ量を決め、
このメモリ量を満たす検索キーの分割個数、各分割検索
キーのビット幅を式2を用いて求めることで実施可能で
ある。
【0043】次にNHLFE検索部13は、ILM検索
部8からポインタとシムヘッダとシーケンス番号を受信
すると、受信したポインタをアドレスとして、NHLF
E格納メモリ14にアクセスし、結果としてラベル操作
のうちスワップ、プッシュ、ポップのどの操作を行うの
かが書かれたラベル操作情報、スワップする新ラベル、
プッシュするシムヘッダの長さ、およびラベル処理部9
で使用する出力方路情報ポインタ(ヘッダ等格納メモリ
15のアドレスとなる)を得る。これら情報のフォーマ
ット例を図8に示す。ラベル操作情報は図9のフォーマ
ットに示すようにスワップ、プッシュ、ポップの可否を
それぞれ1ビットで示す合計3ビットで構成される。次
に、ラベル操作情報のスワップビットが有効である場
合、ILM検索部8から受信したシムヘッダ中のラベル
を、得られた新ラベルで置き換える。ラベル操作情報の
プッシュビット、ポップビットが有効であっても、プッ
シュ、ポップの処理はNHLFE検索部13では実施せ
ず、後にプッシュはラベル処理部9で、ポップはヘッダ
コントローラ7でそれぞれ実施される。
【0044】最終的に、NHLFE検索部13はシムヘ
ッダ、出力方路情報ポインタ、ラベル操作情報、シムヘ
ッダ長、シーケンス番号の各データをラベル処理部9に
送信する。この送信データのフォーマットを図10に示
す。なお、NHLFE検索部13にはラベル処理部9か
ら受信イネーブル信号による送信制御が実施される。
【0045】図11はMPLSパケットに対するラベル
処理部9の動作を示すものである。ラベル処理部9で
は、NHLFE検索部13から受信した出力方路情報ポ
インタをアドレスとしてヘッダ等格納メモリ15にアク
セスする(101、102)。結果としてスイッチ4で
使用される出力方路情報、およびパケットにプッシュす
べきシムヘッダ群を得る(103)。このデータフォー
マットを図12に示す。ヘッダ等格納メモリ15から読
み込むシムヘッダ群に含まれるシムヘッダの数はパケッ
トによらず一定である。NHLFE検索部13から出力
されるシムヘッダ長の値により実際にプッシュするシム
ヘッダの数が決定される。次にラベル処理部9は、ラベ
ル操作情報のプッシュビットが立っていれば、シムヘッ
ダ長情報に書かれた数のシムヘッダを内部保持ヘッダ
(NHLFE検索部13から受信したシムヘッダを指
す)に追加する(104、105)。プッシュビットが
立っていない場合には追加せず、得たシムヘッダ群を無
視する。いずれの場合にも、出力方路情報は内部保持ヘ
ッダに追加される(106)。処理が終了するとラベル
処理部9は、内部保持ヘッダおよびラベル処理操作情
報、シムヘッダ長、出力方路情報、シーケンス番号をヘ
ッダコントローラ7に対して送信する(107)。この
データフォーマットを図13に示す。なお、ラベル処理
部9にはヘッダコントローラ7から受信イネーブル信号
による送信制御が実施される。
【0046】続いてFEC分類部16とルーティングエ
ンジン17の動作について説明する。FEC分類部16
はヘッダコントローラ7からIPヘッダ、TCP/ UD
Pヘッダ、シーケンス番号を受信し、例えばIPヘッダ
中のソースアドレスフィールドとTCPヘッダ中のソー
スポートフィールドが特定の値を持っているとき(FE
C分類条件がマッチ)に、そのIPパケットをMPLS
化する判断を行うと共に、出力方路情報ポインタを決定
する。特定の値をもっていないときには、ダミーの出力
方路情報ポインタを決定する。なお、ここで決定した出
力方路情報ポインタは、前述のMPLSと同様にラベル
処理部9がヘッダ等格納メモリ15から出力方路情報な
どを取り出す際のアドレスとして使用される。処理終了
後、FEC分類部16は出力方路情報ポインタ、MPL
S化情報、マッチ情報、シムヘッダ長、シーケンス番号
をマージ部18に送信する。ここで、マージ部18から
はFEC分類部16に対し受信イネーブル信号による送
信制御が実施される。
【0047】ルーティングエンジン17はヘッダコント
ローラ7からシーケンス番号、IPヘッダを受信し、I
Pヘッダ中のデスティネーションアドレスからルーティ
ングテーブルを検索して、出力方路情報(出力方路情報
ポインタとは異なり、スイッチ4で使用する出力方路情
報そのもの。FEC分類部16で有効な出力方路情報ポ
インタが決定されなかった場合に使用される)を得て、
シーケンス番号と共にマージ部18に送信する。マージ
部18からはルーティングエンジン17に対し受信イネ
ーブル信号による送信制御が実施される。ここで得られ
る出力方路情報は、IPルーティング処理によるもので
あり、FEC分類部16で条件がマッチせずに出力方路
情報ポインタが得られない場合に用いられることとな
る。
【0048】マージ部18は、FEC分類部16とルー
ティングエンジン17の情報を単純にマージして(ただ
し双方の情報のシーケンス番号の一致を確認して一致し
た場合にマージする)ラベル処理部9にマージ結果を送
信する。図14に送信する情報のフォーマットを示す。
ラベル処理部9からはマージ部18に対し受信イネーブ
ル信号による送信制御が実施される。
【0049】図15はIPパケットに対するラベル処理
部9の動作を示すものである。ラベル処理部9では、マ
ージ部18から受信した情報(図14)中のマッチ情報
が有効であれば、出力方路情報ポインタを用いてヘッダ
等格納メモリ15にアクセスし、スイッチ4で使用する
出力方路情報、パケットにプッシュすべきシムヘッダ群
を前述のMPLSパケットの処理と同様に得る(20
1、202、204、205)。さらに、MPLS化情
報が有効であれば、シムヘッダ長情報に書かれた数のシ
ムヘッダを内部保持ヘッダとして作成する(206、2
07)。ここで、プッシュビットが立っていない場合に
は追加せず、得たシムヘッダ群データを無視する。その
後、MPLS化情報にかかわらず、ヘッダ等格納メモリ
15から取得した出力方路情報を内部ヘッダに付加する
(208)。マッチ情報が無効であれば、ヘッダ等格納
メモリ15にはアクセスせず、内部ヘッダにマージ部1
8から受信した出力方路情報のみを追加し(203)、
結果をヘッダコントローラに送信する(209)。この
データフォーマットは図13のMPLSの場合と同じで
あるが、シムヘッダ19はオール0またはオール1とす
る。また、ラベル操作情報フィールドのプッシュビット
はラベル処理部9が有効化する。処理終了後、結果はヘ
ッダコントローラ7に渡される。ヘッダコントローラ7
からはラベル処理部9に対し受信イネーブル信号による
送信制御が実施される。
【0050】次に、MPLSパケット、IPパケットの
両方に共通である、ラベル処理部9での処理終了後に実
施される処理に関して説明する。図16はヘッダコント
ローラ7の動作に関するものである。ヘッダコントロー
ラ7はラベル処理部9から受信したデータ(図13)に
関し、シーケンス番号を照合し( 301、302) 、該
当するパケットがMPLSパケットであれば、ラベル操
作情報のポップビットを参照する(303、304)。
ここで、ポップ処理が必要な場合には、保持していたヘ
ッダデータ中の、先頭のシムヘッダをポップする(30
5)。結果、残されたヘッダデータがMPLSヘッダで
あれば、ILM検索部8へ、IPデータであればFEC
分類部16およびルーティングエンジン17へ再びヘッ
ダデータ等を送信して処理を依頼する(306、30
7、308)。この際、もしバッファコントローラ5か
ら新規に受信したパケットヘッダ等の送信処理と競合す
る場合には、ポップ処理後のデータの送信処理を優先す
る。304において、ポップ処理が実施されていないこ
とが判明したパケットは、続いてスワップビットのチェ
ックを行い(309)、(NHLFE検索部13で)ス
ワップが実施されたパケットは、保持していたヘッダデ
ータ中の先頭シムヘッダ中のラベルを新ラベルで置き換
える(310)。次に、プッシュビットのチェックを行
う(311)。ここで、303で分岐したIPパケット
もこの処理をMPLSパケットと同様に実施する(31
1)。プッシュビットが有効である場合には、シムヘッ
ダ群(MPLSの仕様では、一度に複数シムヘッダのプ
ッシュが可能である)を保持していたヘッダデータの先
頭に追加する(312)。以上でヘッダコントローラ7
中の内部保持ヘッダデータの処理が完了となる。つま
り、ひとつのパケットの一連のパイプライン処理の終了
は、ポップ以外の処理が行われた場合である。
【0051】全てのヘッダ処理を終了したヘッダコント
ローラ7は、更新した内部保持ヘッダを、バッファメモ
リ6中の該当パケットの先頭部分に対して上書き処理す
る(313)。これはバッファコントローラ5から最初
に受け取ったバッファの先頭アドレスを用いて実施され
る。ヘッダコントローラ7は最後に、処理が終了したパ
ケットのシーケンス番号をフォワーディングエンジン1
0に通知する(314)。
【0052】通知を受けたフォワーディングエンジン1
0は、シーケンス番号に対応するポインタ情報を用いて
バッファメモリ6からパケットを読み出して、スイッチ
4方向へパケットを転送する。ここで、シーケンス番号
に対応するパケットがバッファメモリ6に格納されてい
る位置(ポインタ情報)は、あらかじめバッファコント
ローラ5から受信しておく。
【0053】パケットのスイッチ4への転送が終了する
と、パケットのシーケンス番号をバッファコントローラ
5へ通知する。バッファコントローラ5は受信したシー
ケンス番号のパケットが使用していたバッファメモリを
開放し、未使用バッファリストに追加する。以上で、一
連のパケット処理が完了する。
【0054】一連の処理においてヘッダコントローラ7
は、パイプライン処理が実施されているパケット群のヘ
ッダおよびシーケンス番号をその内部に保持している
が、保持できるヘッダの数は、あらかじめ上限となる閾
値を固定値として設定しておく。保持ヘッダ数はバッフ
ァコントローラ5からヘッダを受信するとインクリメン
トされ、フォワーディングエンジン10にパケットの送
信を指示するとデクリメントされるが、ポップ処理が頻
繁に発生すると保持ヘッダ数が増加し、閾値を超えてし
まう場合がある。このときバッファコントローラ5へ送
信しているヘッダ受信イネーブル信号をインアクティブ
にすることによって、バッファコントローラ5からの新
規ヘッダの受信を停止する。この場合、バッファコント
ローラ5はヘッダコントローラ7からのイネーブル信号
がアクティブになるまでヘッダ情報を保持するが、バッ
ファコントローラ5内部のヘッダメモリ格納領域の空き
容量が無くなった場合には、複数回線2から受信する新
規パケットをバッファメモリ6に書き込まずに廃棄す
る。しかし、パイプライン処理により、ヘッダコントロ
ーラ7からILM検索部8などに送信されるヘッダデー
タの送信間隔は、ILM検索部8、FEC分類部16、
ルーティングエンジン17の処理時間のうち、最大のも
のに、ほぼ左右されるため、その時間は、ひとつのパケ
ットの全ての処理が終了するまで次のパケットを処理し
ない方法に比べて短い。よってパケットの廃棄も起こり
にくい。
【0055】
【発明の効果】第1の効果は、2回以上のポップ処理が
実施されるパケットが多数到着した場合に、後から到着
したパケットが廃棄される可能性が低くなることであ
る。その理由は、ヘッダ処理過程はパイプライン処理で
行われ、一度に複数ヘッダの処理が行われることと、M
PLSパケットのラベル処理においてポップ処理が発生
した場合、パイプライン処理過程をループさせることに
より、後から到着したパケットの待ち時間はパイプライ
ン処理過程に配置された各処理ブロックのうち、最も処
理時間がかかるブロックの処理時間にほぼ等しく、複数
回のポップ処理をまとめて処理する方法の待ち時間(ポ
ップ回数分の全パケット処理過程が必要)に比べて少な
いからである。
【0056】第2の効果は、ILMを実現するメモリ量
が、ラベルと入力回線をILM検索キーとして直接メモ
リにアクセスする場合と比べて、例えば16回線を収容
する回線カードの場合には16分の1以下になることで
ある。その理由は、ILM検索用のキーを複数に分割
し、分割後の複数のキーを用いてILMの検索を実施す
るからである。さらに、検索キーの分割個数および各分
割検索キーのビット幅は、入力回線数と設計者の方針に
より変更可能であるからである。
【0057】第3の効果は、MPLSとIPの両方の処
理が効率的に統合されることである。その理由は、ヘッ
ダ処理過程はパイプライン処理で行われ、パイプライン
処理はMPLS用と、IP用に2系統に分かれている
が、ラベル処理部で合流し、双方のパイプラインの処理
結果が同じフォーマットで表現されてヘッダコントロー
ラで処理されるからである。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかるLSRのブロック
図である。
【図2】LSR中の回線カードにおける回線からの入力
側のブロック図である。
【図3】複数回線から入力されるIP、MPLSパケッ
トのフォーマットを示す図である。
【図4】バッファコントローラがヘッダコントローラに
送信するデータのフォーマットを示す図である。
【図5】ヘッダコントローラがILM検索部へ渡すデー
タのフォーマットを示す図である。
【図6】ILM検索部で使用される検索キーの説明図で
ある。
【図7】ポインタ格納メモリの物理構成を示す図であ
る。
【図8】NHLFE検索部がNHLFE格納メモリから
得るデータのフォーマットを示す図である。
【図9】図8のデータ中のラベル操作情報の詳細を示す
図である。
【図10】NHLFE検索部がラベル処理部に送信する
データのフォーマットを示す図である。
【図11】ラベル処理部のMPLSパケット処理のフロ
ーチャートである。
【図12】ラベル処理部がヘッダ等格納メモリから得る
データのフォーマットを示す図である。
【図13】ラベル処理部がヘッダコントローラへ送信す
るデータのフォーマットを示す図である。
【図14】マージ部がラベル処理部へ出力するデータの
フォーマットを示す図である。
【図15】ラベル処理部のIPパケット処理のフローチ
ャートである。
【図16】ヘッダコントローラが、ラベル処理部から各
種データを受信してから、フォワーディングエンジンに
パケットのスイッチへの送信を依頼するまでの処理のフ
ローチャートである。
【符号の説明】
1…LSR 2…複数回線 3…回線カード 4…スイッチ 5…バッファコントローラ 6…バッファメモリ 7…ヘッダコントローラ 8…ILM検索部 9…ラベル処理部 10…フォワーディングエンジン 11…CPU 12…ポインタ格納メモリ 13…NHLFE検索部 14…NHLFE格納メモリ 15…ヘッダ等格納メモリ 16…FEC分類部 17…ルーティングエンジン 18…マージ部 19…シムヘッダ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5K030 GA01 GA05 HA08 HB28 HB29 HC01 JA05 KA15 LB05 LB11 LB18 LE06 MA12 5K034 AA02 AA09 AA11 BB06 DD01 EE11 FF04 FF08 GG03 HH02 HH04 HH06 JJ12 JJ23 KK27 MM25 SS02 9A001 BB03 BB04 CC06 DD10 FF03 JJ18 JJ25 KK56 LL09

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数階層によるスタッキング構成が可能
    なヘッダを持つプロトコルのパケットに付加されたヘッ
    ダ中のラベルに基づいて転送処理を行うパケット交換機
    における入力パケット処理方式において、 パケットのヘッダの内容および事前に設定された情報に
    基づき、ラベルに対して実施すべき操作の種類を判断し
    てその操作の実施に必要な情報を取得すると共に出力方
    路情報を取得する処理を流れ作業的に行うパイプライン
    と、 回線から入力される各パケットの先頭ヘッダを前記パイ
    プラインに順次に入力し、得られた情報に基づいて各パ
    ケットの先頭ヘッダに対して実際の操作を実施すると共
    に、ポップ操作の結果、新しく先頭になったヘッダが存
    在するパケットはその新しく先頭になったヘッダを前記
    パイプラインに入力する段階から処理を再度繰り返す手
    段とを備えたことを特徴とするパケット交換機における
    入力パケット処理方式。
  2. 【請求項2】 前記パケットがMPLSパケットであ
    り、前記ヘッダがシムヘッダである請求項1記載のパケ
    ット交換機における入力パケット処理方式。
  3. 【請求項3】 前記パイプラインは、ラベルに対してど
    の種類の操作を行うかを記述した第1のテーブルと、前
    記第1のテーブルの該当エントリのポインタを検索する
    ための第2のテーブルとを含むヘッダ処理用テーブルを
    参照して、前記操作の実施に必要な情報を取得する請求
    項1記載のパケット交換機における入力パケット処理方
    式。
  4. 【請求項4】 前記パイプラインは、パケットが入力さ
    れた入力回線番号と先頭ヘッダ中のラベルとを合わせた
    ものを検索キーとして前記第2のテーブルを検索する手
    段を有し、該手段は前記検索キーを1次からn次までの
    n個の分割検索キーに分割して使用し、前記第2のテー
    ブルは1次検索テーブルからn次検索テーブルまでの複
    数の検索テーブルに分割され、1次分割検索キーは、1
    次検索テーブルを検索するために用い、前記1次検索テ
    ーブルを検索して得られる結果は、2次検索テーブルを
    検索するための検索キーの上位キーとして、2次分割検
    索キーは下位キーとして用いられ、前記上位キーと前記
    下位キーを合わせたものを前記2次検索テーブルを検索
    するためのキーとして用い、k−1次(kは1からnま
    での整数)検索テーブルを検索して得られる結果は、k
    次検索テーブルを検索するための検索キーの上位キーと
    して、k次分割検索キーは下位キーとして用いられ、前
    記上位キーと前記下位キーを合わせたものを前記k次検
    索テーブルを検索するためのキーとして用い、n次検索
    テーブルを検索して得られる結果が前記第1のテーブル
    にアクセスするためのポインタとなる構成を有する請求
    項3記載のパケット交換機における入力パケット処理方
    式。
  5. 【請求項5】 複数階層によるスタッキング構成が可能
    な第1ヘッダを持つ第1プロトコルのパケットに付加さ
    れた第1ヘッダ中のラベルに基づいて第1プロトコルの
    パケットの転送処理を行うと共に、複数階層によるスタ
    ッキング構成が不可能な第2ヘッダを持つ第2プロトコ
    ルのパケットに付加された第2ヘッダ中のラベルに基づ
    いて第2プロトコルのパケットの転送処理を行うパケッ
    ト交換機における入力パケット処理方式において、 第1ヘッダの内容および事前に設定された情報に基づ
    き、ラベルに対して実施すべき操作の種類を判断してそ
    の操作の実施に必要な情報を取得すると共に出力方路情
    報を取得する処理を流れ作業的に行い、予め定められた
    フォーマットの処理結果を出力する第1パイプライン
    と、 第2ヘッダの内容および事前に設定された情報に基づ
    き、第2プロトコルのパケットの第1プロトコルによる
    パケット化の必要性を判断してその操作の実施に必要な
    情報を取得すると共に出力方路情報を取得する処理を流
    れ作業的に行い、前記フォーマットで処理結果を出力す
    る第2パイプラインと、 複数の回線から入力されるパケットのプロトコルを判断
    し、第1プロトコルのパケットであれば、回線から入力
    された各パケットの先頭ヘッダを前記第1パイプライン
    に順次に入力し、得られた情報に基づいて各パケットの
    先頭ヘッダに対して実際の操作を実施すると共に、ポッ
    プ操作の結果、新しく先頭になった第1ヘッダが存在す
    るパケットはその新しく先頭になったヘッダを前記第1
    パイプラインに入力する段階から処理を再度繰り返し、
    第2プロトコルのパケットであれば、回線から入力され
    た各パケットのヘッダを前記第2パイプラインに順次に
    入力し、得られた情報に基づいて各パケットに対して実
    際の操作を実施する手段とを備えたことを特徴とするパ
    ケット交換機における入力パケット処理方式。
  6. 【請求項6】 前記第1プロトコルのパケットがMPL
    Sパケット、前記第1ヘッダがシムヘッダであり、前記
    第2プロトコルのパケットがIPパケット、前記第2ヘ
    ッダがIPヘッダおよびTCP/UDPヘッダである請
    求項5記載のパケット交換機における入力パケット処理
    方式。
JP2000061806A 2000-03-02 2000-03-02 パケット交換機における入力パケット処理方式 Pending JP2001251351A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000061806A JP2001251351A (ja) 2000-03-02 2000-03-02 パケット交換機における入力パケット処理方式
CA 2338969 CA2338969C (en) 2000-03-02 2001-03-01 Packet exchange and router and input packet processing method thereof
US09/795,193 US6987762B2 (en) 2000-03-02 2001-03-01 Packet exchange and router and input packet processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000061806A JP2001251351A (ja) 2000-03-02 2000-03-02 パケット交換機における入力パケット処理方式

Publications (1)

Publication Number Publication Date
JP2001251351A true JP2001251351A (ja) 2001-09-14

Family

ID=18581897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000061806A Pending JP2001251351A (ja) 2000-03-02 2000-03-02 パケット交換機における入力パケット処理方式

Country Status (3)

Country Link
US (1) US6987762B2 (ja)
JP (1) JP2001251351A (ja)
CA (1) CA2338969C (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006222864A (ja) * 2005-02-14 2006-08-24 Mitsubishi Electric Corp ネットワーク接続装置
KR100697568B1 (ko) 2004-06-30 2007-03-22 코넥스안트 시스템스, 인코퍼레이티드 스위칭 환경을 위한 결합 파이프라인 패킷 분류 및어드레스 검색 방법 및 장치
JP2008502234A (ja) * 2004-06-07 2008-01-24 ▲ホア▼▲ウェイ▼技術有限公司 ネットワーク内でルート転送を実現する方法
JP2009219065A (ja) * 2008-03-12 2009-09-24 Nec Corp プロトコル処理装置及び処理方法
CN101674237A (zh) * 2008-09-10 2010-03-17 日本电气株式会社 路由器设备和在路由器设备中使用的可扩展性改进方法
JPWO2008149415A1 (ja) * 2007-06-04 2010-08-19 富士通株式会社 パケットスイッチ装置
WO2017030054A1 (ja) * 2015-08-18 2017-02-23 株式会社ポコアポコネットワークス メモリ機器
US10523566B2 (en) 2015-08-18 2019-12-31 Poco-Apoco Networks Co., Ltd. Memory device

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426210B1 (en) * 2001-04-03 2008-09-16 Yt Networks Capital, Llc Port-to-port, non-blocking, scalable optical router architecture and method for routing optical traffic
US7450578B2 (en) * 2001-06-01 2008-11-11 Fujitsu Limited Method of addressing and routing data
JP2003008627A (ja) * 2001-06-20 2003-01-10 Nec Corp データ転送装置
US7991006B2 (en) * 2001-08-02 2011-08-02 Oracle America, Inc. Filtering redundant packets in computer network equipments
JP4161557B2 (ja) * 2001-09-03 2008-10-08 株式会社日立製作所 パケット転送方法及びその装置
US7813346B1 (en) 2001-11-21 2010-10-12 Juniper Networks, Inc. Filter-based forwarding in a network
US7571258B2 (en) * 2002-12-12 2009-08-04 Adaptec, Inc. Method and apparatus for a pipeline architecture
JP4431315B2 (ja) * 2003-01-14 2010-03-10 株式会社日立製作所 パケット通信方法およびパケット通信装置
EP1592182A4 (en) * 2003-02-03 2010-05-12 Nippon Telegraph & Telephone DATA TRANSMISSION DEVICE AND DATA TRANSMISSION SYSTEM
KR100487131B1 (ko) * 2003-02-15 2005-05-03 삼성전자주식회사 내부 채널 공유 기능이 구비된 에이티엠 기반 라벨 스위칭라우터 및 그를 이용한 내부 채널 공유 방법
US7397795B2 (en) * 2003-02-24 2008-07-08 Intel California Method and system for label-based packet forwarding among multiple forwarding elements
GB0322491D0 (en) * 2003-09-25 2003-10-29 British Telecomm Virtual networks
GB2415319B (en) * 2004-06-19 2006-11-29 Agilent Technologies Inc Method of generating a monitoring datagram
CN100370757C (zh) * 2004-07-09 2008-02-20 国际商业机器公司 识别网络内分布式拒绝服务攻击和防御攻击的方法和系统
US20060007925A1 (en) * 2004-07-12 2006-01-12 Wright Steven A Methods, systems, and computer program products for compressing a multiprotocol label switching (MPLS) shim header in a packet
US20060187936A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Table searching techniques in a network device
US10554534B1 (en) 2005-09-23 2020-02-04 Chicago Mercantile Exchange Inc. Clearing message broker system messaging gateway
US8149732B1 (en) * 2005-09-23 2012-04-03 Chicago Mercantile Exchange, Inc. Clearing message broker system
US7869411B2 (en) * 2005-11-21 2011-01-11 Broadcom Corporation Compact packet operation device and method
US7680113B2 (en) * 2005-12-20 2010-03-16 Alcatel-Lucent Usa Inc. Inter-FE MPLS LSP mesh network for switching and resiliency in SoftRouter architecture
US20080101366A1 (en) * 2006-10-31 2008-05-01 Motorola, Inc. Methods for optimized tunnel headers in a mobile network
US9008116B2 (en) * 2007-02-20 2015-04-14 The Invention Science Fund I, Llc Cross-media communication coordination
US7860887B2 (en) 2007-02-20 2010-12-28 The Invention Science Fund I, Llc Cross-media storage coordination
EP2007078A1 (en) * 2007-06-19 2008-12-24 Panasonic Corporation Header size reduction of data packets
US8379623B2 (en) * 2007-07-10 2013-02-19 Motorola Solutions, Inc. Combining mobile VPN and internet protocol
US8014317B1 (en) * 2008-08-21 2011-09-06 Juniper Networks, Inc. Next hop chaining for forwarding data in a network switching device
US9268871B2 (en) * 2008-10-16 2016-02-23 Qualcomm Incorporated Methods and apparatus for obtaining content with reduced access times
US8351329B2 (en) * 2010-09-14 2013-01-08 Cisco Technology, Inc. Universal load-balancing tunnel encapsulation
US8798077B2 (en) * 2010-12-29 2014-08-05 Juniper Networks, Inc. Methods and apparatus for standard protocol validation mechanisms deployed over a switch fabric system
US8780896B2 (en) 2010-12-29 2014-07-15 Juniper Networks, Inc. Methods and apparatus for validation of equal cost multi path (ECMP) paths in a switch fabric system
CN102111338B (zh) * 2011-03-22 2012-08-15 北京星网锐捷网络技术有限公司 标签转发信息存储方法及装置、报文转发方法及装置
US9531564B2 (en) * 2014-01-15 2016-12-27 Cisco Technology, Inc. Single hop overlay architecture for line rate performance in campus networks
CN103886044A (zh) * 2014-03-11 2014-06-25 百度在线网络技术(北京)有限公司 搜索结果的提供方法和装置
US10826822B2 (en) * 2014-12-01 2020-11-03 Mellanox Technologies, Ltd. Label-based forwarding with enhanced scalability
US9853890B2 (en) 2015-03-23 2017-12-26 Mellanox Technologies, Ltd. Efficient implementation of MPLS tables for multi-level and multi-path scenarios
US10795867B2 (en) 2017-11-06 2020-10-06 International Business Machines Corporation Determining available remote storages in a network to use to replicate a file based on a geographical requirement with respect to the file
US10880207B2 (en) 2017-11-28 2020-12-29 Cumulus Networks Inc. Methods and systems for flow virtualization and visibility

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04216241A (ja) 1990-12-17 1992-08-06 Nippon Telegr & Teleph Corp <Ntt> パケット転送方式
SE515422C2 (sv) 1993-03-10 2001-07-30 Ericsson Telefon Ab L M Etiketthantering i paketnät
US6094575A (en) 1993-11-01 2000-07-25 Omnipoint Corporation Communication system and method
JPH09238140A (ja) 1996-02-29 1997-09-09 Toshiba Corp Atmスイッチ
JP3520709B2 (ja) 1997-03-13 2004-04-19 三菱電機株式会社 ネットワークアドレス検索方式
CA2239032A1 (en) * 1998-05-28 1999-11-28 Newbridge Networks Corporation Operator directed routing of soft permanent virtual circuits in a connection-orientated network
US6711152B1 (en) * 1998-07-06 2004-03-23 At&T Corp. Routing over large clouds
JP3615057B2 (ja) * 1998-07-17 2005-01-26 株式会社東芝 ラベルスイッチングパス設定方法及びノード装置
US6683865B1 (en) * 1999-10-15 2004-01-27 Nokia Wireless Routers, Inc. System for routing and switching in computer networks
US6693878B1 (en) * 1999-10-15 2004-02-17 Cisco Technology, Inc. Technique and apparatus for using node ID as virtual private network (VPN) identifiers
US6731644B1 (en) * 2000-02-14 2004-05-04 Cisco Technology, Inc. Flexible DMA engine for packet header modification

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008502234A (ja) * 2004-06-07 2008-01-24 ▲ホア▼▲ウェイ▼技術有限公司 ネットワーク内でルート転送を実現する方法
KR100697568B1 (ko) 2004-06-30 2007-03-22 코넥스안트 시스템스, 인코퍼레이티드 스위칭 환경을 위한 결합 파이프라인 패킷 분류 및어드레스 검색 방법 및 장치
JP2006222864A (ja) * 2005-02-14 2006-08-24 Mitsubishi Electric Corp ネットワーク接続装置
JP4646650B2 (ja) * 2005-02-14 2011-03-09 三菱電機株式会社 ネットワーク接続装置
JPWO2008149415A1 (ja) * 2007-06-04 2010-08-19 富士通株式会社 パケットスイッチ装置
JP4890613B2 (ja) * 2007-06-04 2012-03-07 富士通株式会社 パケットスイッチ装置
JP2009219065A (ja) * 2008-03-12 2009-09-24 Nec Corp プロトコル処理装置及び処理方法
CN101674237A (zh) * 2008-09-10 2010-03-17 日本电气株式会社 路由器设备和在路由器设备中使用的可扩展性改进方法
JP2010068161A (ja) * 2008-09-10 2010-03-25 Nec Corp ルータ装置及びそれに用いるスケーラビリティ拡大方法
US8363655B2 (en) 2008-09-10 2013-01-29 Nec Corporation Router device and scalability improvement method for use therein
WO2017030054A1 (ja) * 2015-08-18 2017-02-23 株式会社ポコアポコネットワークス メモリ機器
US10523566B2 (en) 2015-08-18 2019-12-31 Poco-Apoco Networks Co., Ltd. Memory device

Also Published As

Publication number Publication date
CA2338969C (en) 2005-05-17
CA2338969A1 (en) 2001-09-02
US20010021189A1 (en) 2001-09-13
US6987762B2 (en) 2006-01-17

Similar Documents

Publication Publication Date Title
JP2001251351A (ja) パケット交換機における入力パケット処理方式
US6731652B2 (en) Dynamic packet processor architecture
US6650642B1 (en) Network relaying apparatus and network relaying method capable of high-speed routing and packet transfer
US6683885B1 (en) Network relaying apparatus and network relaying method
CN107689931B (zh) 一种基于国产fpga的实现以太网交换功能系统及方法
US7773600B2 (en) Device for flow classifying and packet forwarding device with flow classify function
US7890672B2 (en) Data processing apparatus and data transfer method
US7016352B1 (en) Address modification within a switching device in a packet-switched network
JP3640299B2 (ja) ルートルックアップおよびパケット分類要求のための提起および応答アーキテクチャ
US7110400B2 (en) Random access memory architecture and serial interface with continuous packet handling capability
EP1158729A2 (en) Stackable lookup engines
US20030135691A1 (en) Input data selection for content addressable memory
US20190116063A1 (en) Transforming a service packet from a first domain to a second domain
US6658003B1 (en) Network relaying apparatus and network relaying method capable of high-speed flow detection
JPH0685842A (ja) 通信装置
JP2002314571A (ja) スイッチングノードのための分類およびタグ付け規則
JP3149926B2 (ja) アドレス変換方法及び装置
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
US8331368B2 (en) Method of processing information packets and telecommunication apparatus using the same
US20040095941A1 (en) Layer 2 switch and method of processing expansion VLAN tag of layer 2 frame
US8488489B2 (en) Scalable packet-switch
US6671277B1 (en) Network relaying apparatus and network relaying method capable of high quality transfer of packets under stable service quality control
JP2007228227A (ja) 通信装置
JP2003218907A (ja) パケットの高速ルーティング及びスイッチングに対するメモリ要件を低減するように構成されたプロセッサ
JP2000244570A (ja) ネットワーク中継装置及びネットワーク中継方法