JP2014158246A - 1連のビット列を分割記憶する1連のビット列記憶回路 - Google Patents

1連のビット列を分割記憶する1連のビット列記憶回路 Download PDF

Info

Publication number
JP2014158246A
JP2014158246A JP2013029541A JP2013029541A JP2014158246A JP 2014158246 A JP2014158246 A JP 2014158246A JP 2013029541 A JP2013029541 A JP 2013029541A JP 2013029541 A JP2013029541 A JP 2013029541A JP 2014158246 A JP2014158246 A JP 2014158246A
Authority
JP
Japan
Prior art keywords
series
bit
address
bit string
memory
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.)
Withdrawn
Application number
JP2013029541A
Other languages
English (en)
Inventor
Hideo Tatsuno
秀雄 龍野
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2013029541A priority Critical patent/JP2014158246A/ja
Publication of JP2014158246A publication Critical patent/JP2014158246A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】アドレス記憶に、アドレスを分割記憶する複数のメモリを用いることで、広い1連のビット列記憶回路を提供する。
【解決手段】1連のビット列を1連のビット列記憶回路に記憶する方法は、そのn(=48)ビットからなる1連のビット列であるMACソースアドレスの先頭からm(=24)ビットをmビットアドレスの第1のメモリの指定に用い、次のLビットを2のL乗に展開するデコーダのビットに用い、残りの(n−m−L)ビットを、各デコーダ出力で選択される第2から第K(K=3)のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成とし、第2分割ソースアドレスまたは第2分割デスティネーションアドレスと第3分割ソースアドレスまたは第3分割デスティネーションアドレスとは、それぞれ使用するアドレスビットの6ビット分アドレスを重複させ、アドレスを記憶するアドレス空間を広くする。
【選択図】図1

Description

本発明は、携帯電話番号、固定電話番号、MACソースアドレス、MACデスティネーションアドレス、IPソースアドレス、IPデスティネーションアドレスのような1連のビット列を分割記憶する1連のビット列記憶回路に関する。
1連のビット列記憶回路の従来技術としては、特開2000−151617「テーブル作成検索装置」がある。この従来例を図8により説明する。この従来例は、MACアドレスの記憶回路に関するもので、行列アドレス800とMACアドレスデータエリアMA(48ビット)801とインデックスエリアIA802を持つRAM等で構成される第1のテーブルと行列アドレス820とMACアドレスデータエリアMA(48ビット)821とインデックスエリアIA822を持つRAM等で構成される第2のテーブルからなる。第1、第2テーブルのMACアドレスは16進表示で示している。
まず、到着パケットのソースMACアドレスの記憶方法を説明する。
到着したパケットのMACアドレスの下位16ビットの示すアドレス(例えば803)で、第1のテーブルのMACアドレステーブルが指定されるMACアドレスデータエリアMA(48ビット)801(例えば805)に48ビットのMACアドレスが既に記憶されていなければ、そこに記憶し、記憶されている場合で、そのインデックスエリアIAに記憶アドレスが無い場合は、第2のテーブルのMACアドレスデータエリアMA(48ビット)821のアドレスに既にMACアドレスが記憶されていない書き込みアドレスを探し、そこにMACアドレスを記憶し(例えば826)、その記憶したアドレス(例えば2)を第1テーブルのインデックスエリアIA802に記憶する(例えば808)。次に到着したMACアドレスの下位16ビットの示す第1テーブルのアドレス(例えば803)のインデックスエリアIA802に既にアドレスが記憶されている場合には、第2テーブルのそのアドレス(例えば2)の示すインデックスエリアIA822のエリア830に記憶アドレスが無い場合には、第2テーブルのMACアドレスデータエリアMA(48ビット)821の記憶されていないアドレスを探し、そこに到着パケットのMACアドレスを記憶し、そのアドレス(例えば3)を前記インデックスエリアIA822の830に記憶する。一方、インデックエリアIA822の830に既にアドレスが記憶されている場合には、そのアドレス(例えば3)の示すインデックスエリアIA822の831に記憶アドレスが無い場合には、MACアドレスデータエリアMA(48ビット)821のデータが記憶されていないアドレスを探し、そこに到着パケットのMACアドレスを記憶し、そのアドレス(例えば4)を前記インデックスエリア831に記憶する。
次に、到着パケットのデスティネーションMACアドレスがテーブルにあるか確認する方法を説明する。
到着したパケットのMACアドレスの下位16ビットの示すアドレス(例えば803)で、第1のテーブルのMACアドレステーブルが指定されるMACアドレスデータエリアMA(48ビット)801(例えば805)に記憶されているMACアドレスが到着パケットのMACアドレスと一致しない場合には、そのインデックスエリアIA808に記憶されている第2テーブルのアドレス(例えば2)を検索し、そこに記憶されているMACアドレスが到着パケットのMACアドレスに一致しない場合には、そのインデックスエリアIA830に記憶されている第2テーブルのアドレス(例えば3)を検索し、そこに記憶されているMACアドレスが到着パケットのMACアドレスに一致しない場合には、そのインデックスエリアIA831に記憶に記憶されている第2テーブルのアドレス(例えば4)を検索し、そこに記憶されているMACアドレスが到着パケットのMACアドレスに一致する場合には、到着したパケットのデスティネーションMACアドレスが記憶されていると判断する。
また、1連のビット列記憶回路の別の従来技術としては、特開2002−334114「テーブル管理方法及び装置」がある。この従来例を図9により説明する。図9において、900は受信MACアドレス、901はCRC等のハッシュ関数、902はハッシュ値であるエントリテーブル903のアドレス指定ビット(10ビット)、エントリテーブル903は、受信MACアドレスをそのハッシュ値アドレスに収容するテーブルであり、この例では、B1,B2,B3,B4の4つのテーブルがあり、各エントリ903は、MACアドレス48ビット、ポート番号等が格納さる。904は、アドレスビット902により読み出された登録MACアドレス48ビット、905、906,907,908は、B1,B2,B3,B4の各エントリテーブルからアドレス902により読み出されたMACアドレス48ビットと受信MACアドレス48ビット(909)の比較器であり、910は、各比較器出力のOR回路であり、911はその出力の一致検出信号である。
以下に動作を説明する。受信ソースMACアドレス900のハッシュ値のアドレスビット902で指定された4つのエントリテーブルのアドレス位置の格納エントリにあるMACアドレスの内に受信MACアドレスと一致するものが無く、格納されていないエントリエリアがあれば、その位置に受信ソースMACアドレス48ビットとそのポート番号を書き込み、指定されたエントリテーブルのアドレス位置に格納されているどれかのMACアドレスが受信MACアドレスと一致する場合には、そのままとし、一致するものが無く、エントリテーブルに空きが無い場合には、再ハッシュが発生し、格納エントリMACアドレスを受信MACアドレスに変更する。さらに、そのパケットのデスティネーションMACアドレスのハッシュ値のアドレスビット902で指定されたエントリテーブルのアドレス位置にMACアドレスが格納されていなければ、そのパケットはunknownパケットとして、フラッディングする。一方、格納されていれば、その4つのMACアドレスと受信デスティネーションMACアドレスを比較し、一致するものがある場合には、そのアドレス位置に共に格納されているポート番号にそのパケットを送出し、一致しなければ、unknownパケットとして、フラッディングする。
次に、従来のリング技術について述べる。従来のリング技術として、従来のL2SW等のMACスイッチを用いたEASP, MRP, MMRP2等のリングが提案されているが、これらはすべて、ループができないように、リングフローを切るポイントがリング上に存在していた。
これに対して、リング上のパケット転送を、パケットに、リングへのパケットのADDノードのMACアドレスと、リングからDROPするノードのMACアドレスを端末MACヘッダに付けることにより、カプセル化するとともに、リング上を周回するパケットが送信元のADDリングノードに戻った場合には、そのパケットを廃棄する機能を持つことにより初めて、MACリング転送を実現したRPRが提案され、標準化されている。
そのリング網は、IEEE802.17 RPR(Resilient Packet Ring)である。この従来技術の実施例として、特許文献1特開2009−77285号公報(パケットリングネットワークシステム、およびフォワーディングデータベース管理方法)等がある。これらのRPRは、従来問題になっていたループによる輻輳ストームを解決した。
リングに適用する従来のMAC形動作をするノード装置として図10に示す従来のMACSWがある。図10において、符号305,306はノード装置、符号300、301はそこで使われる各ポートに入力するパケットのソースアドレスとその入力ポートとを記憶したMACアドレステーブル、符号302は右回りリング伝送路、符号303は左回りリング伝送路、符号304は入力パケットのヘッダ読み取り回路、符号307,308は、ADD伝送路のポート、309,310はリング伝送路のポートである。
各ヘッダ読み取り回路およびリング伝送路へのパケット合流点に必要なバッファは図では省略されている。各ポートに入力するパケットのデスティネーションアドレスがMACアドレステーブル300,301にあれば、そのアドレスとともに書かれているポートに出力し、なければunknownパケットとして、コピーしてすべてのポートに出力する。図中、MACCD,MACBA,MACAB,MACDCの表示のMACの後の英文字CD,BA等は、デスティネーションアドレスが、C,Bであり、ソースアドレスがD,Aであることを示す。
右側のノードのポート2(308)に到着したパケットMACBAは、MACアドレステーブル301のデスティネーションアドレスMACBの出力先ポートであるポート4(310)に繋がる左回りリング伝送路303に(1)MACBAとして、送出され、左側のノードのMACアドレステーブル300にあるデスティネーションアドレスMACBの出力先ポートであるポート2(308)に(2)MACBAとしてドロップされる。
一方、その対向フローである左側のノードのポート2(308)に到着したパケットMACABは、MACアドレステーブル(300)のデスティネーションアドレスMACAの出力先ポートであるポート3(309)に繋がる右回りリング伝送路302に(3)MACABとして、送出され、右側のノードのMACアドレステーブル301にあるデスティネーションアドレスMACAの出力先ポートであるポート2(308)に(4)MACABとしてドロップされる。(5)、(6)MACCD,および(7)、(8)MACDCの動作も同様である。
次に、従来技術のRPRのリング動作を図11に示す。図11は0系リング伝送路321と1系リング伝送路320上にノードA(322),B(323),C(324),D(325)の4つのリングノードを持ち、各リングノードは、そのリングノード識別番号として、それぞれ、MACソースアドレスであるMACA,MACB,MACC,MACDを持ち、ノードAには、端末H(330),ノードBには端末F(331),ノードCには、端末G(332)が接続されている。端末H(330)のMACソースアドレスはMACHであり、IPソースアドレスはIPHであり,端末FのMACソースアドレスはMACFであり、IPソースアドレスはIPFであり,端末GのMACソースアドレスはMACGであり、IPソースアドレスはIPGである。
このリング上でのパケット伝送は、端末から到着したパケットに、リング上でそのパケットを転送するために必要なノードMACソースアドレスとノードMACデスティネーションアドレスを持つMACヘッダを付け加えて、行われる。そのための端末MACヘッダにノード間転送用のノードMACヘッダを付けるために必要なヘッダ変換テーブルを各ノードのリングに上がる入り口で持っている。
その変換テーブルは、各端末からノードに最初に到着した時に学習して持つ必要がある。これは端末から到着するARPパケットにより行われるもので、この従来例の図はその動作を示したものである。以下にその動作を示す。
端末H(330)から、端末F(331)宛ての端末FへのIPデスティネーションアドレスであるIPFを持ち、MACデスティネーションアドレスがオール1であり、端末HのMACソースアドレスであるMACHとIPソースアドレスであるIPHを持つ、ARPパケット(1)ARP,MAC,all1,H,IPF,Hが、リングノードA(322)に到着した場合、ノードA(322)は、そのパケットの宛先が分からないため、そのMACパケットに、ブロードキャストパケット表示であるオール1のMACデスティネーションアドレスとノードAのMACソースアドレスであるMACAのMACヘッダを付けたパケット、(2)Broadcast,MAC,all1,A,MAC,all1,H,IPF,Hを、両系リングまたは片系リングに送出する。
そのパケットは、各ノードB(323),ノードC(324),ノードD(325)でコピーされてドロップされる。各ノードでドロップされたそのパケットは、そのノードの出口に、そのパケットの外側MACソースアドレスであるMACAと端末MACソースアドレスであるMACHのヘッダ変換表を作成してから、外側のMACヘッダが取り除かれて、(3)ARP, MAC,all1,H,IPF,Hとして、下位ドロップ伝送路に送出される。そのパケットは、そのパケットの宛先IPアドレスであるIPFが端末のソースアドレスと一致する端末F(331)だけが、そのパケットを取り込み、ARP応答パケット、(4)ARP応答,MAC,H,F,IPH,FをノードBに送出する。
ノードB(323)はその端末パケットのMACデスティネーションアドレスから、宛先リングノードMACアドレスをヘッダ変換表から検索するともに、その端末H,端末F,ノードAの関係を記したその端末間接続に関するヘッダ変換表を完成させ、その端末パケットに、リングノード間転送用のMACヘッダ、MAC,A,Bを付け、(5)MAC,A,B,MAC,H,F,IPH,F、として1系リング(320)に送出する。
その際、ノードB(323)は、宛先であるノードA(322)への最短経路を前もって知っているため、そのパケットを1系リングに送出する。その1系リングに上がったパケットは、そのパケットの宛先であるノードA(322)でドロップされ、そのドロップ点出口で、そのパケットから、端末H,端末F,ノードBの関係を記したその端末間接続に関するヘッダ変換表を完成させてから、外側のMACヘッダが除去されて、端末Hに、(6)ARP応答,MAC,H,F,IPH,Fとして、送出される。以後、端末Hと端末F間のこのリングを介してのパケット転送は、ノードAとノードBに作成した前記ヘッダ変換テーブルを用いて、行われる。
図12は、従来技術であるRPRにおける、各ノードのMAC変換テーブルが完成後の、その場合のユニキャストパケットの転送動作を示したものである。この図では、ノードA(322)に端末E(333)と端末H(330)が接続され、ノードB(323)に端末F(331)が接続され、ノードC(324)に端末G(332)が接続され、端末Hと端末F間、端末Eと端末G間でパケット転送が行われている様子を示している。
図12では、各リング上に端末間でリングノードを介して転送されるパケットのMACヘッダが記されている。各端末は、ノードA,ノードB,ノードCのヘッダ変換テーブルに示した、送信元端末MACアドレス、送信先端末MACアドレス、送信元ノードMACアドレス、送信先ノードMACアドレスの関係表を用いて、各ノードのリングに上がる際、ヘッダ変換を行って、パケット転送する。
次に、従来例のMAC動作するリングのノード装置を図13に示す。図13は、特願2012−206011(パケット転送法およびノード装置)に開示されているもので、パスまたは1フロー用のパケット伝送に用いられる例で、現用、予備のドロップアドレステーブルを持つ例である。図13において、609は現用ドロップアドレステーブル、610は予備ドロップアドレステーブルであり、600は、0系リング伝送路、601は1系リング伝送路、602はADD伝送路、603はDROP伝送路、604はMACBA(Bは宛先MACアドレス、Aは送信元MACアドレス)、605はMACAB,606は、0系伝送路のパケットのヘッダ読み取り回路(BUF付)、607は、1系伝送路のパケットのヘッダ読み取り回路(BUF付)、608は、パケット振り分け回路(BUF付)である。以下に、動作を示す。ADD伝送路602からノードに入力したパケットMACBA604は、パケット振り分け回路608で、そのパケットのソースアドレスが読み取られ、そのアドレスが現用のドロップアドレステーブル609に無ければ、そのテーブルにそのソースアドレスを書き込み、ある場合は、そのまま、そのパケットのソースアドレスAの最下位ビット(この例では0)の示す0系リング伝送路600に送出される。
一方、リング上からこのノードに到着するパケットは、ヘッダ読み取り回路606または607で、そのパケットのデスティネーションアドレスが読み取られ、そのアドレスが最初に現用側のドロップアドレステーブル609に有るか検索し、有れば、そのパケットをドロップし、無ければ、予備のドロップアドレステーブル610を検索し、有れば、ドロップし、無ければ、そのパケットはそのまま、その出力リング伝送路にスルーして、送出される。
この例では、1系リング伝送路601から、MACAB605がノードに到着する例で、そのデスティネーションアドレスAが現用ドロップアドレステーブル609にあるので、そのパケットは、DROP伝送路603に送出される。このような動作で、予備のドロップアドレステーブル610が一定時間以上、検索において、ヒットすることが無い場合には、予備ドロップアドレステーブル610内のソースアドレスが古くなったものと判断し、そのテーブル内の全メモリをクリアするとともに、予備ドロップアドレステーブル610を現用ドロップアドレステーブルとし、これまで現用であったドロップアドレステーブル609を予備ドロップアドレステーブルに変更する。この例ではMACテーブルには、ドロップアドレスしかなく、動作が簡単化されている。
特開2000−151617 号公報 特開2002−334114 号公報 特願2012−206011 号公報
IEEE802.17 RPR(Resilient Packet Ring)
従来の1連のビット列記憶回路としての従来例特開2000−151617は到着したパケットのMACアドレスを到着した順にテーブルに記憶する方法に比べて、記憶動作が簡単化されているが、それは到着したパケットの下位MACアドレス16ビットの示す第1テーブルのMACアドレスデータ記憶エリアにまだ全MACアドレスビットが記憶されていない場合であり、既に違う全MACアドレスビットが記憶されている場合には、そのアドレスのインデックスエリアに記憶先が記憶されている第2テーブルのアドレス位置を検索し、そこに到着したパケットの全MACアドレスビットが記憶されていなければ、そのアドレスに到着パケットのMACアドレスを記憶する。
もし、そこに既に違う全MACアドレスビットが記憶されている場合には、空きエリアを探してそこに、全MACアドレスビットを記憶し、そのアドレスを前のインデックスエリアに記憶する。このように、次々と記憶エリアをたどらなければ、記憶も、記憶読み出しもできないため、到着パケットのMACアドレス処理に時間がかかる問題がある。また、記憶できるアドレス空間が狭い問題がある。また、到着パケットのMACアドレスの下位16ビットしか見ないため、到着パケットのMACアドレスが存在しないにもかかわらず、下位16ビットが一致する確率が高いため、到着パケットのMACアドレスが存在しないことを確認するには、多くのインデックスエリアをチェックしなければならず、アドレス処理に時間がかかる問題がある。
また、従来の1連のビット列記憶回路としての従来例特開2002−334114は、ハッシュ関数により、MACアドレスの検索が高速になるが、受信MACアドレスのハッシュ値であるアドレスビットの示すアドレスの格納されているMACアドレスと受信ソースMACアドレスが一致しない場合には、エントリテーブルのMACアドレスを変更する必要があり、誤動作の可能性が出る。また、ハッシュ値は、同じハッシュ値になる複数キーが存在するため、正確記憶にならない問題がある。また、ハッシュ値は1メモリのアドレス空間に限られるため、アドレス空間が狭い問題がある。
また、従来のリング技術としてのIEEE802.17 RPR(Resilient Packet Ring)図11、図12は特殊のRPRヘッダを用い、RPRヘッダにはDROPノード番号が必要であり、その学習に時間がかかる。また、その変換テーブルFDB(Forwarding Database)を作成後も端末から受信したパケットはこのテーブルを見て、DROP先ノードのMACアドレスを持つヘッダを付ける必要があり、変換に時間がかかる。
RPRは制御パケットをリングノード間で転送することにより、各ノードはリング上の他のノードの位置情報を持っており、DROPノードまでの最短経路が分かる。しかし、他リングと接続するためには、他リングIDをパケットに設定する必要があり、その学習に時間がかかる。それゆえにRPRは基本的に単一2重リング以外への適用が難しいので、MAN,LANへの適用例はあるが、大規模網への適用例はない。
また、RPRはカプセル化したことで、リング上では、高速転送可能となったが、他リングに接続するためには、他リング入り口ノードで再度リングドロップノードを学習する必要があり、本質的に問題がある。
また、RPRはカプセル化しているため、パス接続のリングでもあるが、リング外から入力するパス構成のパケットはリング内ではさらにリングヘッダでカプセル化しなければリング上を転送できない問題があった。また、メールアドレスのドメイン名またはWebアドレスのドメイン名により目的の宛先にパケットを転送できない問題があった。
また、リングの従来技術である特願2012−206011の図13に示した従来のMAC動作リングは、ノード装置が簡単化され、高速動作が可能であるが、MACアドレス48ビットを収容するには、RAM,SRAM,CAMのようなメモリは使用できないため、コストが高くなる欠点があった。そのため、MACアドレステーブルを使用するしかなく、そのため、多数のMACアドレスを収容できない問題があった。また、メールアドレスのドメイン名またはWebアドレスのドメイン名により目的の宛先にパケットを転送できない問題があった。
本発明は、上記従来技術の問題点を鑑みて成されたもので、その目的とする所は、アドレス記憶に、アドレスを分割記憶する複数のメモリを用いることで、アドレス空間の広い1連のビット列記憶回路を提供することにある。また、それを用いたリング網を提供することにある。
本発明(1)によれば、1連のビット列を分割記憶する1連のビット列記憶回路において、
目的の1連のビット列を1連のビット列記憶回路に記憶する方法は、そのnビットからなる1連のビット列または1連のビット列のハッシュ値の先頭からmビットをmビットアドレスの第1のメモリの指定に用い、次のLビットを2のL乗(L=0,1,2,3,−−−)に展開するデコーダのビットに用い、残りの(n−m−L)ビットを、前記各デコーダ出力で選択される第2から第K(K=2,3,−−−)のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第1から第Kのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が0の場合に、全メモリについて、前記指定アドレス位置にアドレス記憶データとして1を書き込み、かつ、前記メモリの読み出しでアドレス記憶出力が0であった中の一つのメモリの前記指定アドレス位置に、1連のビット列全体の記憶データとして目的の1連のビット列全体と付加情報または目的の1連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
一方、アドレス記憶出力が全てのメモリで1であり、かつ、読み出された1連のビット列全体の記憶データとしての1連のビット列全体または1連のビット列の圧縮したハッシュ値が記憶すべき目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値がある場合は、何もせず、
無い場合には、目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値が記憶されていないメモリの前記指定アドレス位置に、1連のビット列全体の記憶データとして目的の1連のビット列全体と付加情報または目的の1連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
目的の1連のビット列が1連のビット列記憶回路に記憶されていることを確認する方法は、そのnビットからなる1連のビット列または1連のビット列のハッシュ値の先頭からmビットをmビットアドレスの第1のメモリの指定に用い、次のLビットを2のL乗(L=0,1,2,3,−−−)に展開するデコーダのビットに用い、残りの(n−m−L)ビットを、前記各デコーダ出力で選択される第2から第K(K=2,3,−−−)のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第1から第Kのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が0である場合には、目的の1連のビット列は記憶されていないと判断し、
全てのメモリのアドレス記憶出力が1であり、かつ、第1のメモリから第Kのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の1連のビット列全体の記憶データが目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する場合には、目的の1連のビット列が記憶されていると判断し、その一致した目的の1連のビット列または目的の1連のビット列の圧縮したハッシュ値とともに記憶されている付加情報を読み出し、
一方、全てのメモリのアドレス記憶出力が1であり、かつ、目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する読み出した1連のビット列全体の記憶データがどのメモリ出力にも無い場合には、目的の1連のビット列は記憶されていないと判断する方法であることを特徴とする1連のビット列を分割記憶する1連のビット列記憶回路を提供する。
好ましくは、本発明(2)においては、上記本発明(1)において、目的の1連のビット列全体と付加情報または目的の1連のビット列の圧縮したハッシュ値と付加情報を記憶させるのは、第1のメモリ以外のメモリであることを特徴とする1連のビット列を分割記憶する1連のビット列記憶回路を提供する。
また、好ましくは、本発明(3)においては、上記本発明(1、2)において、第2メモリから第Kメモリのメモリは互いに1連のビット列の指定アドレスビットを1部重複して使用することを特徴とする1連のビット列を分割記憶する1連のビット列記憶回路を提供する。
また、好ましくは、本発明(4)においては、上記本発明(1から3)において、目的の1連のビット列を1連のビット列記憶回路に記憶する場合、目的の1連のビット列の下位ビット列のみを2度用いて、メモリのアドレス指定を行うことを特徴とする1連のビット列を分割記憶する1連のビット列記憶回路を提供する。
また、好ましくは、本発明(5)においては、上記本発明(1から4)において、
目的の1連のビット列を1連のビット列記憶回路から消去する方法は、そのnビットからなる1連のビット列または1連のビット列のハッシュ値の先頭からmビットをmビットアドレスの第1のメモリの指定に用い、次のLビットを2のL乗(L=0,1,2,3,−−−)に展開するデコーダのビットに用い、残りの(n−m−L)ビットを、前記各デコーダ出力で選択される第2から第K(K=2,3,−−−)のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第1から第Kのメモリを上記指定アドレスで読んだ場合に、全てのメモリのアドレス記憶出力が1であり、かつ、第1のメモリから第Kのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の1連のビット列全体の記憶データが目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する場合に、その目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する1連のビット列全体の記憶データを消去する方法であることを特徴とする1連のビット列を分割記憶する1連のビット列記憶回路を提供する。
また、好ましくは、本発明(6)においては、上記本発明(1から5)において、1連のビット列はIPソースアドレスまたはIPデスティネーションアドレスであることを特徴とする。
また、好ましくは、本発明(7)においては、上記本発明(1から5)において、1連のビット列は固定電話番号ソースアドレスまたは固定電話番号デスティネーションアドレスであることを特徴とする。
また、好ましくは、本発明(8)においては、上記本発明(1から5)において、1連のビット列は、スイッチングハブまたはL2スイッチまたはリングノードスイッチに用いられる1連のビット列記憶回路に、1連のビット列として記憶するMACソースアドレスまたはMACデスティネーションアドレスであり、付加情報はポート番号であることを特徴とする。
また、好ましくは、本発明(9)においては、上記本発明(1から5)において、
1連のビット列は携帯電話番号ソースアドレスまたは携帯電話番号デスティネーションアドレスであることを特徴とする。
また、好ましくは、本発明(10)においては、上記本発明(1から5)において、1連のビット列は、リングノードスイッチに用いられる1連のビット列記憶回路に、1連のビット列または1連のビット列のハッシュ値として記憶する
メールサーバのドメイン名またはWebサーバのドメイン名の各文字をビット列に変換したビット列であり、付加情報はポート番号であることを特徴とする。
また、好ましくは、本発明(11)においては、上記本発明(1から5)において、1連のビット列は、スイッチングハブまたはL2スイッチまたはリングノードスイッチに用いられる1連のビット列記憶回路に、1連のビット列または1連のビット列のハッシュ値として記憶する人名の各文字をビット列に変換したビット列であり、付加情報はポート番号であることを特徴とする。
また、好ましくは、本発明(12)においては、上記本発明(1から5)において、1連のビット列は、スイッチングハブまたはL2スイッチまたはリングノードスイッチに用いられる1連のビット列記憶回路に、1連のビット列または1連のビット列のハッシュ値として記憶するファイル名の各文字をビット列に変換したビット列であり、付加情報はポート番号であることを特徴とする。
また、好ましくは、本発明(13)においては、上記本発明(1から12)において、1連のビット列記憶回路を1重または2重リング網の各ノードに置き、そのノードに接続されるスイッチは1連のビット列記憶回路を持ち、端末からそのスイッチを介して、リングノードにADDしたパケットは、リング入口の前記1連のビット列記憶回路に、リングからドロップアドレス用の1連のビット列を記憶してリングに上がり、リング上のパケットがノードに入力した場合には、そのパケットの持つ1連のビット列である宛先アドレスが、そのノードの1連のビット列記録回路に記録されている場合には、そのパケットをドロップし、記憶されていない場合には、そのノードをスルーし、リング上に宛先がなく、リングにADDしたノードに戻った場合には、そのパケットは廃棄することを特徴とする1連のビット列を分割記憶する1連のビット列記録回路を持つリング網を提供する。
以上、説明したように、本発明は、アドレス記憶に、アドレスを分割記憶する複数のメモリを用いることで、アドレス空間が広く、かつアドレスを正確記憶できる1連のビット列記憶回路を提供できる利点がある。また、それを用いたMACアドレス記憶数の多いリング網を提供できる利点がある。
また、1連のビット列記憶回路に用いる第1メモリには、データ1しか記憶しないので、アドレス空間を広くでき、かつ、その1連のビット列記憶回路をリング網に用いた場合には、リングノードでドロップしないパケットを高速に検出できる確率が増加するので、高速動作が可能になる利点がある。
本発明の第1実施例の1連のビット列記憶回路へのソースアドレス書き込み前の読み出し動作を説明するための図である。 本発明の第1実施例の1連のビット列記憶回路へのソースアドレス書き込み動作を説明するための図である。 本発明の第1実施例の1連のビット列記憶回路のデスティネーションアドレス読み出し動作を説明するための図である。 本発明の第2実施例の1連のビット列記憶回路へのソースアドレス書き込み前の読み出し動作を説明するための図である。 本発明の第2実施例の1連のビット列記憶回路へのソースアドレス書き込み動作を説明するための図である。 本発明の第2実施例の1連のビット列記憶回路のデスティネーションアドレス読み出し動作を説明するための図である。 本発明の第3実施例の1連のビット列記憶回路を用いたリング網の動作を説明するための図である。 従来技術を説明するための図である。 従来技術を説明するための図である。 従来技術を説明するための図である。 従来技術を説明するための図である。 従来技術を説明するための図である。 従来技術を説明するための図である。
本発明の第1実施例を図1、図2、図3により説明する。この実施例は、第3実施例で示すリングノードに用いる1連のビット列記憶回路に関するもので、MACソースアドレスを第1の分割ソースアドレスと第2の分割ソースアドレスと第3の分割ソースアドレスに分けて、書き込みおよび記憶読み出しする例であり、図1はMACソースアドレスを書き込む前の読み出し動作の場合の例、図2はMACソースアドレスを書き込む動作の場合の例、図3は書き込まれたMACソースアドレスをMACデスティネーションアドレスとして記憶されているか確認する場合の例である。また、図1は、デコーダのビットL=0の場合で、メモリK=3の例である。
図1において、1は第1のRAM(Random Access Memory),SRAM(Static Random Access Memory ),CAM(Contents Addressable Memory)等のメモリであり、2は第1メモリと同じ構成の第2のメモリであり、3は第1メモリと同じ構成の第3のメモリであり、5は受信パケットのMACソースアドレス48ビット、6はそのMACソースアドレスの分割回路、7は、24ビットの第1の分割ソースアドレスで指定される第1メモリの読み出しアドレス、8は、18ビットの第2の分割ソースアドレスで指定される第2メモリの読み出しアドレス、9は、18ビットの第3の分割ソースアドレスで指定される第3メモリの読み出しアドレス、11は読み出し信号、12は第3メモリの1ビット読み出しデータ(1)、13は第2メモリの1ビット読み出しデータ(0)、14は第1メモリの1ビット読み出しデータ(0)、15は第3メモリの48ビット読み出しデータ(無)、16は第2メモリの48ビット読み出しデータ(無)である。
また、図2において、20は、24ビットの第1の分割ソースアドレスで指定される第1メモリの書き込みアドレス、21は、18ビットの第2の分割ソースアドレスで指定される第2メモリの書き込みアドレス、22は、18ビットの第3の分割ソースアドレスで指定される第3メモリの書き込みアドレス、23は、書き込みデータ1、24は書き込み信号、25は、48ビット書き込みデータであり、他は図1と同じである。
また、図3において、30は受信パケットのMACデスティネーションアドレス48ビット、31はそのMACデスティネーションアドレスの分割回路、32は、24ビットの第1の分割デスティネーションアドレスで指定される第1メモリの読み出しアドレス、33は、18ビットの第2の分割デスティネーションアドレスで指定される第2メモリの読み出しアドレス、34は、18ビットの第3の分割デスティネーションアドレスで指定される第3メモリの読み出しアドレス、35は読み出し信号、36は第3メモリの1ビット読み出しデータ(1)、37は第2メモリの1ビット読み出しデータ(1)、38は第1メモリの1ビット読み出しデータ(1)、39は第3メモリの48ビット読み出しデータ(無)、40は第2メモリの48ビット読み出しデータ(有)である。
以下動作を説明する。
1連のビット列を分割記憶する1連のビット列記憶回路において、
目的の1連のビット列を1連のビット列記憶回路に記憶する方法は、そのn(=48)ビットからなる1連のビット列であるMACソースアドレスの先頭からm(=24)ビットをmビットアドレスの第1のメモリの指定に用い(7)、次のLビットを2のL乗(L=0)に展開するデコーダのビットに用い、残りの(n−m−L)ビットを、前記各デコーダ出力で選択される第2から第K(K=3)のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第1から第Kのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が0の場合に、全メモリについて、前記指定アドレス位置にアドレス記憶データとして1を書き込み、かつ、前記メモリの読み出しでアドレス記憶出力が0であった中の一つのメモリの前記指定アドレス位置に、1連のビット列全体の記憶データとして目的の1連のビット列全体(48ビット)と付加情報または目的の1連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
一方、アドレス記憶出力が全てのメモリで1であり、かつ、読み出された1連のビット列全体の記憶データとしての1連のビット列全体(48ビット)または1連のビット列の圧縮したハッシュ値が記憶すべき目的の1連のビット列全体(48ビット)または目的の1連のビット列の圧縮したハッシュ値と一致する1連のビット列全体(48ビット)または目的の1連のビット列の圧縮したハッシュ値がある場合は、何もせず、無い場合には、目的の1連のビット列全体(48ビット)または目的の1連のビット列の圧縮したハッシュ値が記憶されていないメモリの前記指定アドレス位置に、1連のビット列全体の記憶データとして目的の1連のビット列全体(48ビット)と付加情報または目的の1連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
目的のMACデスティネーションアドレスである1連のビット列が1連のビット列記憶回路に記憶されていることを確認する方法は、そのn(=48)ビットからなる1連のビット列であるMACデスティネーションアドレスの先頭からm(=24)ビットをmビットアドレスの第1のメモリの指定に用い、次のLビットを2のL乗(L=0)に展開するデコーダのビットに用い、残りの(n−m−L)ビットを、前記各デコーダ出力で選択される第2から第K(K=3)のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第1から第Kのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が0である場合には、目的の1連のビット列は記憶されていないと判断し、全てのメモリのアドレス記憶出力が1であり、かつ、第1のメモリから第Kのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の1連のビット列全体の記憶データが目的の1連のビット列全体(48ビット)または目的の1連のビット列の圧縮したハッシュ値と一致する場合には、目的の1連のビット列が記憶されていると判断し、その一致した目的の1連のビット列または目的の1連のビット列の圧縮したハッシュ値とともに記憶されている付加情報を読み出し、
一方、全てのメモリのアドレス記憶出力が1であり、かつ、目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する読み出した1連のビット列全体の記憶データがどのメモリ出力にも無い場合には、目的の1連のビット列は記憶されていないと判断する方法である。
この実施例では、第2分割ソースアドレスまたは第2分割デスティネーションアドレスと第3分割ソースアドレスまたは第3分割デスティネーションアドレスとは、それぞれ使用するアドレスビットが、6ビット分アドレスが重複している。これは、アドレスを記憶するアドレス空間を広くするためである。また、48ビットの受信MACソースアドレス全体を記憶させるメモリは、指定アドレス位置にデータ1が記憶されていないメモリまたは受信MACソースアドレス全体が記憶されていないメモリであり、かつ第1メモリでないメモリである。第1メモリには、48ビットの受信MACソースアドレス全体を記憶させることはないので、メモリのアドレス空間を広くでき、MACデスティネーションアドレスとして読み出す際に、そのアドレスを記憶されていないことを高速に判断する確率を大きくできる。
また、この実施例はL=0で、デコーダがない場合の例である。
なお、全てのメモリが、指定アドレス位置に48ビットMACソースアドレス全体を記憶している場合には、他のメモリの空きアドレスに目的の48ビットMACソースアドレスを記憶させ、そのアドレスを、1連のビット列回路のどれかのメモリの指定アドレス位置のインデックスエリアに記憶させても良い。
また、指定アドレス位置に48ビットMACソースアドレス全体を記憶する場合には、その48ビットMACソースアドレスから記憶するメモリの指定アドレスビット列を除くビット列を記憶するだけでもよい。
また、目的の1連のビット列であるMACソースアドレスを1連のビット列記憶回路に記憶する場合、MACソースアドレスの下位アドレスを2度用いて、メモリのアドレス指定を行うことも有効である。この場合には、第1メモリに対しては、下位MACソースアドレス24ビットでアドレス指定することになる。
次に、本発明の第2実施例を図4、図5、図6により説明する。この実施例は、第3実施例で示すリングノードに用いる1連のビット列記憶回路に関するもので、ソースアドレスを第1の分割ソースアドレスと第2の分割ソースアドレスに分けて、書き込みおよび記憶読み出しする例であり、図1はソースアドレスを書き込む前の読み出し動作の場合の例、図2はソースアドレスを書き込む動作の場合の例、図3は書き込まれたソースアドレスをデスティネーションアドレスとして記憶されているか確認する場合の例である。また、図1は、デコーダのビットL=1の場合で、メモリK=2の例である。
図4において、41は第1のRAM(Random Access Memory),SRAM(Static Random Access Memory ),CAM(Contents Addressable Memory)等のメモリであり、42は第1メモリと同じ構成の第2のメモリであり、43は第1メモリと同じ構成の第2のメモリであり、45は受信パケットのMACソースアドレス48ビット、46はそのMACソースアドレスの分割回路、47は、24ビットの第1の分割ソースアドレスで指定される第1メモリの読み出しアドレス、48は、23ビットの第2の分割ソースアドレスで指定される第2メモリの読み出しアドレス、49は、1ビットのL=1のデコーダ、50は、デコーダ49の出力でメモリ42の選択信号1(1)、50は、デコーダ49の出力でメモリ43の選択信号2(0)、52は読み出し信号、53は第2メモリ(43)の1ビット読み出しデータ(0)、54は第2メモリ(42)の1ビット読み出しデータ(0)、55は第1メモリ(41)の1ビット読み出しデータ(0)、56は第2メモリ(43)の48ビット読み出しデータ(無)、57は第2メモリ(42)の48ビット読み出しデータ(無)である。
また、図5において、60は、24ビットの第1の分割ソースアドレスで指定される第1メモリの書き込みアドレス、61は、23ビットの第2の分割ソースアドレスで指定される第2メモリの書き込みアドレス、63は、書き込みデータ1、62は書き込み信号、64は、48ビット書き込みデータであり、他は図4と同じである。
また、図6において、70は受信パケットのMACデスティネーションアドレス48ビット、71はそのMACデスティネーションアドレスの分割回路、72は、24ビットの第1の分割デスティネーションアドレスで指定される第1メモリの読み出しアドレス、73は、23ビットの第2の分割デスティネーションアドレスで指定される第2メモリの読み出しアドレス、74は読み出し信号、75は第2メモリ(43)の1ビット読み出しデータ(0)、76は第2メモリ(42)の1ビット読み出しデータ(1)、77は第1メモリ(41)の1ビット読み出しデータ(1)、78は第2メモリ(43)の48ビット読み出しデータ(無)、79は第2メモリ(42)の48ビット読み出しデータ(有)である。
以下、動作を説明する。
1連のビット列を分割記憶する1連のビット列記憶回路において、
目的の1連のビット列を1連のビット列記憶回路に記憶する方法は、そのn(=48)ビットからなる1連のビット列であるMACソースアドレスの先頭からm(=24)ビットをmビットアドレスの第1のメモリの指定に用い(47)、次のLビットを2のL乗(L=1)に展開するデコーダのビットに用い、残りの(n−m−L)ビットを、前記各デコーダ出力で選択される第2から第K(K=2)のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第1から第Kのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が0の場合に、全メモリについて、前記指定アドレス位置にアドレス記憶データとして1を書き込み、かつ、前記メモリの読み出しでアドレス記憶出力が0であった中の一つのメモリの前記指定アドレス位置に、1連のビット列全体の記憶データとして目的の1連のビット列全体(48ビット)と付加情報または目的の1連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
一方、アドレス記憶出力が全てのメモリで1であり、かつ、読み出された1連のビット列全体の記憶データとしての1連のビット列全体(48ビット)または1連のビット列の圧縮したハッシュ値が記憶すべき目的の1連のビット列全体(48ビット)または目的の1連のビット列の圧縮したハッシュ値と一致する1連のビット列全体(48ビット)または目的の1連のビット列の圧縮したハッシュ値がある場合は、何もせず、
無い場合には、目的の1連のビット列全体(48ビット)または目的の1連のビット列の圧縮したハッシュ値が記憶されていないメモリの前記指定アドレス位置に、1連のビット列全体の記憶データとして目的の1連のビット列全体(48ビット)と付加情報または目的の1連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
目的のMACデスティネーションアドレスである1連のビット列が1連のビット列記憶回路に記憶されていることを確認する方法は、そのn(=48)ビットからなる1連のビット列であるMACデスティネーションアドレスの先頭からm(=24)ビットをmビットアドレスの第1のメモリの指定に用い、次のLビットを2のL乗(L=1)に展開するデコーダのビットに用い、残りの(n−m−L)ビットを、前記各デコーダ出力で選択される第2から第K(K=2)のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第1から第Kのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が0である場合には、目的の1連のビット列は記憶されていないと判断し、全てのメモリのアドレス記憶出力が1であり、かつ、第1のメモリから第Kのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の1連のビット列全体の記憶データが目的の1連のビット列全体(48ビット)または目的の1連のビット列の圧縮したハッシュ値と一致する場合には、目的の1連のビット列が記憶されていると判断し、その一致した目的の1連のビット列または目的の1連のビット列の圧縮したハッシュ値とともに記憶されている付加情報を読み出し、
一方、全てのメモリのアドレス記憶出力が1であり、かつ、目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する読み出した1連のビット列全体の記憶データがどのメモリ出力にも無い場合には、目的の1連のビット列は記憶されていないと判断する方法である。
この実施例では、1ビットのデコーダ49により第2分割ソースアドレスまたは第2分割デスティネーションアドレスを展開している。これは、アドレスを記憶するアドレス空間を広くするためである。また、48ビットの受信MACソースアドレス全体を記憶させるメモリは、指定アドレス位置にデータ1が記憶されていないメモリまたは受信MACソースアドレス全体を記憶していないメモリであり、かつ第1メモリでないメモリである。第1メモリには、48ビットの受信MACソースアドレス全体を記憶させることはないので、メモリのアドレス空間を広くでき、MACデスティネーションアドレスとして読み出す際に、そのアドレスを記憶されていないことを高速に判断する確率を大きくできる。
また、この実施例はL=1で、1ビットのデコーダの場合の例である。第2メモリの読み出しおよび書き込みを行うのは、デコーダにより選択された第2メモリのみである。この例ではメモリ42が選択されている。
なお、全てのメモリが、指定アドレス位置に48ビットMACソースアドレス全体を記憶している場合には、他のメモリの空きアドレスに目的の48ビットMACソースアドレスを記憶させ、そのアドレスを、1連のビット列回路のどれかのメモリの指定アドレス位置のインデックスエリアに記憶させても良い。
以上述べた、第1実施例、第2実施例の図では、指定アドレス位置に48ビットMACソースアドレス全体を記憶し、その記憶データが記憶されているか確認する例を示したが、48ビットMACソースアドレス全体の代わりに48ビットMACソースアドレスをハッシュ計算により圧縮した8ビット等のハッシュ値を記憶し、その記憶データが記憶されているか確認する方法でもよい。
また、以上述べた、第1実施例、第2実施例の図で示した指定アドレス位置に48ビットMACソースアドレス全体を記憶したその記憶データを消すこともできる。また、48ビットMACソースアドレス全体の代わりに48ビットMACソースアドレスをハッシュ計算により圧縮した8ビット等のハッシュ値を記憶したその記憶データを消去することもできる。
第1実施例、第2実施例では、1連のビット列として、MACソースアドレスまたはMACデスティネーションアドレスを用いる例を示したが、MACソースアドレスまたはMACデスティネーションアドレスの代わりに、IPソースアドレスまたはIPデスティネーションアドレス、固定電話番号ソースアドレスまたは固定電話番号デスティネーションアドレス、携帯電話番号ソースアドレスまたは携帯電話番号デスティネーションアドレス、メールサーバのドメイン名またはWebサーバのドメイン名の各文字をビット列に変換したビット列、人名の各文字をビット列に変換したビット列、ファイル名の各文字をビット列に変換したビット列またはメールサーバのドメイン名またはWebサーバのドメイン名の各文字をビット列に変換したビット列のハッシュ値、人名の各文字をビット列に変換したビット列のハッシュ値、ファイル名の各文字をビット列に変換したビット列のハッシュ値を用いることもできる。ファイル名の各文字をビット列に変換したビット列またはメールサーバのドメイン名またはWebサーバのドメイン名の各文字をビット列に変換したビット列のハッシュ値、人名の各文字をビット列に変換したビット列のハッシュ値、ファイル名の各文字をビット列に変換したビット列のハッシュ値を用いる場合には、前記ハッシュ値の部分ハッシュ値である指定アドレス位置に1連のビット列全体を記憶する代わりに、前記ハッシュ値全体または元のビット列をさらに圧縮した別のハッシュ値を記憶させてもよい。
次に、本発明の第3実施例を図7により説明する。この実施例は、第1実施例、第2実施例で示した本発明の1連のビット列記憶回路をリング伝送路ノードのドロップアドレスメモリに使用した例である。ドロップアドレスメモリは、MACソースアドレスを記憶する1連のビット列記憶回路で構成される。
図7において、80は、リングノード、81、89は、1連のビット列記憶回路としてのアドレス記憶回路、83は0系リング伝送路、84は1系リング伝送路、90は、サーバ、95は、端末、98は、L2スイッチである。以下に動作を説明する。
1連のビット列記憶回路81を2重リング網の各ノード80に置き、そのノード80に接続されるL2スイッチ98は1連のビット列記憶回路89を持ち、そのリングにL2スイッチ98を介して接続されたサーバ90は、自身のMACソースアドレスである1連のビット列をリングノード入口の1連のビット列記憶回路81に記憶させる構成であり、端末95からL2スイッチ98を介して、リングノード80にADDしたパケットは、リング入口の前記1連のビット列記憶回路81に、リングからドロップアドレス用の1連のビット列であるMACソースアドレスを記憶してリングに上がり、リング上のパケットがノードに入力した場合には、そのパケットの持つ1連のビット列であるMACデスティネーションアドレスが、そのノードの1連のビット列記録回路81に記録されている場合には、そのパケットをドロップし、記憶されていない場合には、そのノードをスルーし、リング上に宛先がなく、リングにADDしたノードに戻った場合には、そのパケットは廃棄する動作を行う。
1 第1のメモリ
2 第2のメモリ
3 第3のメモリ
5 受信パケットのMACソースアドレス48ビット
6 MACソースアドレスの分割回路
7 24ビットの第1の分割ソースアドレスで指定される第1メモリの読み出しアドレス8 18ビットの第2の分割ソースアドレスで指定される第2メモリの読み出しアドレス9 18ビットの第3の分割ソースアドレスで指定される第3メモリの読み出しアドレス11 読み出し信号
12 第3メモリの1ビット読み出しデータ(1)
13 第2メモリの1ビット読み出しデータ(0)
14 第1メモリの1ビット読み出しデータ(0)
15 第3メモリの48ビット読み出しデータ(無)
16 第2メモリの48ビット読み出しデータ(無)
20 24ビットの第1の分割ソースアドレスで指定される第1メモリの書き込みアドレス
21 18ビットの第2の分割ソースアドレスで指定される第2メモリの書き込みアドレス
22 18ビットの第3の分割ソースアドレスで指定される第3メモリの書き込みアドレス
23 書き込みデータ1
24 書き込み信号
25 48ビット書き込みデータ
30 受信パケットのMACデスティネーションアドレス48ビット
31 MACデスティネーションアドレスの分割回路
32 24ビットの第1の分割デスティネーションアドレスで指定される第1メモリの読み出しアドレス
33 18ビットの第2の分割デスティネーションアドレスで指定される第2メモリの読み出しアドレス
34 18ビットの第3の分割デスティネーションアドレスで指定される第3メモリの読み出しアドレス
35 読み出し信号
36 第3メモリの1ビット読み出しデータ(1)
37 第2メモリの1ビット読み出しデータ(1)
38 第1メモリの1ビット読み出しデータ(1)
39 第3メモリの48ビット読み出しデータ(無)
40 第2メモリの48ビット読み出しデータ(有)
41 第1のメモリ
42 第2のメモリ
43 第2のメモリ
45 受信パケットのMACソースアドレス48ビット
46 MACソースアドレスの分割回路
47 24ビットの第1の分割ソースアドレスで指定される第1メモリの読み出しアドレス
48 23ビットの第2の分割ソースアドレスで指定される第2メモリの読み出しアドレス
49 1ビットのL=1のデコーダ
50 デコーダ49の出力でメモリ42の選択信号1
51 デコーダ49の出力でメモリ43の選択信号2
52 読み出し信号
53 第2メモリ(43)の1ビット読み出しデータ(0)
54 第2メモリ(42)の1ビット読み出しデータ(0)
55 第1メモリ(41)の1ビット読み出しデータ(0)
56 第2メモリ(43)の48ビット読み出しデータ(無)
57 第2メモリ(42)の48ビット読み出しデータ(無)
60 24ビットの第1の分割ソースアドレスで指定される第1メモリの書き込みアドレス
61 23ビットの第2の分割ソースアドレスで指定される第2メモリの書き込みアドレス
63 書き込みデータ1
62 書き込み信号
64 48ビット書き込みデータ
70 受信パケットのMACデスティネーションアドレス48ビット
71 MACデスティネーションアドレスの分割回路
72 24ビットの第1の分割デスティネーションアドレスで指定される第1メモリの読み出しアドレス
73 23ビットの第2の分割デスティネーションアドレスで指定される第2メモリの読み出しアドレス
74 読み出し信号
75 第2メモリ(43)の1ビット読み出しデータ(0)
76 第2メモリ(42)の1ビット読み出しデータ(1)
77 第1メモリ(41)の1ビット読み出しデータ(1)
78 第2メモリ(43)の48ビット読み出しデータ(無)
79 第2メモリ(42)の48ビット読み出しデータ(有)
80 リングノード
81、89 1連のビット列記憶回路としてのアドレス記憶回路
83 0系リング伝送路
84 1系リング伝送路
90 サーバ
95 端末
98 L2スイッチ
800 行列アドレス
801 MACアドレスデータエリアMA(48ビット)
802 インデックスエリアIA
820 行列アドレス
821 MACアドレスデータエリアMA(48ビット)
822 インデックスエリアIA
900 受信MACアドレス
901 CRC等のハッシュ関数
902 ハッシュ値であるエントリテーブル903のアドレス指定ビット(10ビット)903 エントリテーブル
904 登録MACアドレス(48ビット)
905,906,907,908 比較器
909 比較用MACアドレス(48ビット)
910 OR回路
911 一致検出信号


Claims (13)

  1. 1連のビット列を分割記憶する1連のビット列記憶回路において、
    目的の1連のビット列を1連のビット列記憶回路に記憶する方法は、そのnビットからなる1連のビット列または1連のビット列のハッシュ値の先頭からmビットをmビットアドレスの第1のメモリの指定に用い、次のLビットを2のL乗(L=0,1,2,3,−−−)に展開するデコーダのビットに用い、残りの(n−m−L)ビットを、前記各デコーダ出力で選択される第2から第K(K=2,3,−−−)のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
    第1から第Kのメモリを上記指定アドレスで読んだ場合に、
    どれか一つのメモリのアドレス記憶出力が0の場合に、全メモリについて、前記指定アドレス位置にアドレス記憶データとして1を書き込み、かつ、前記メモリの読み出しでアドレス記憶出力が0であった中の一つのメモリの前記指定アドレス位置に、1連のビット列全体の記憶データとして目的の1連のビット列全体と付加情報または目的の1連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
    一方、アドレス記憶出力が全てのメモリで1であり、かつ、読み出された1連のビット列全体の記憶データとしての1連のビット列全体または1連のビット列の圧縮したハッシュ値が記憶すべき目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値がある場合は、何もせず、無い場合には、目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値が記憶されていないメモリの前記指定アドレス位置に、1連のビット列全体の記憶データとして目的の1連のビット列全体と付加情報または目的の1連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
    目的の1連のビット列が1連のビット列記憶回路に記憶されていることを確認する方法は、そのnビットからなる1連のビット列または1連のビット列のハッシュ値の先頭からmビットをmビットアドレスの第1のメモリの指定に用い、次のLビットを2のL乗(L=0,1,2,3,−−−)に展開するデコーダのビットに用い、残りの(n−m−L)ビットを、前記各デコーダ出力で選択される第2から第K(K=2,3,−−−)のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
    第1から第Kのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が0である場合には、目的の1連のビット列は記憶されていないと判断し、全てのメモリのアドレス記憶出力が1であり、かつ、第1のメモリから第Kのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の1連のビット列全体の記憶データが目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する場合には、目的の1連のビット列が記憶されていると判断し、その一致した目的の1連のビット列または目的の1連のビット列の圧縮したハッシュ値とともに記憶されている付加情報を読み出し、
    一方、全てのメモリのアドレス記憶出力が1であり、かつ、目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する読み出した1連のビット列全体の記憶データがどのメモリ出力にも無い場合には、目的の1連のビット列は記憶されていないと判断する方法であること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路。
  2. 請求項1に記載の1連のビット列を分割記憶する1連のビット列記憶回路おいて、
    目的の1連のビット列全体と付加情報または目的の1連のビット列の圧縮したハッシュ値と付加情報を記憶させるのは、第1のメモリ以外のメモリであること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路。
  3. 請求項1乃至2に記載の1連のビット列を分割記憶する1連のビット列記憶回路おいて、
    第2メモリから第Kメモリのメモリは互いに1連のビット列の指定アドレスビットを1部重複して使用すること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路。
  4. 請求項1乃至3に記載の1連のビット列を分割記憶する1連のビット列記憶回路おいて、
    目的の1連のビット列を1連のビット列記憶回路に記憶する場合、目的の1連のビット列の下位ビット列のみを2度用いて、メモリのアドレス指定を行うこと、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路。
  5. 請求項1乃至4に記載の1連のビット列を分割記憶する1連のビット列記憶回路おいて、
    目的の1連のビット列を1連のビット列記憶回路から消去する方法は、そのnビットからなる1連のビット列または1連のビット列のハッシュ値の先頭からmビットをmビットアドレスの第1のメモリの指定に用い、次のLビットを2のL乗(L=0,1,2,3,−−−)に展開するデコーダのビットに用い、残りの(n−m−L)ビットを、前記各デコーダ出力で選択される第2から第K(K=2,3,−−−)のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
    第1から第Kのメモリを上記指定アドレスで読んだ場合に、全てのメモリのアドレス記憶出力が1であり、かつ、第1のメモリから第Kのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の1連のビット列全体の記憶データが目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する場合に、その目的の1連のビット列全体または目的の1連のビット列の圧縮したハッシュ値と一致する1連のビット列全体の記憶データを消去する方法であること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路
  6. 請求項1乃至5に記載の1連のビット列を分割記憶する1連のビット列記憶回路おいて、
    1連のビット列はIPソースアドレスまたはIPデスティネーションアドレスであること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路。
  7. 請求項1乃至5に記載の1連のビット列を分割記憶する1連のビット列記憶回路おいて、
    1連のビット列は固定電話番号ソースアドレスまたは固定電話番号デスティネーションアドレスであること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路。
  8. 請求項1乃至5に記載の1連のビット列を分割記憶する1連のビット列記憶回路おいて、
    1連のビット列は、スイッチングハブまたはL2スイッチまたはリングノードスイッチに用いられる1連のビット列記憶回路に、1連のビット列として記憶するMACソースアドレスまたはMACデスティネーションアドレスであり、付加情報はポート番号であること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路。
  9. 請求項1乃至5に記載の1連のビット列を分割記憶する1連のビット列記憶回路おいて、
    1連のビット列は携帯電話番号ソースアドレスまたは携帯電話番号デスティネーションアドレスであること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路。
  10. 請求項1乃至5に記載の1連のビット列を分割記憶する1連のビット列記憶回路おいて、
    1連のビット列は、スイッチングハブまたはL2スイッチまたはリングノードスイッチに用いられる1連のビット列記憶回路に、1連のビット列または1連のビット列のハッシュ値として記憶するメールサーバのドメイン名またはWebサーバのドメイン名の各文字をビット列に変換したビット列であり、付加情報はポート番号であること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路。
  11. 請求項1乃至5に記載の1連のビット列を分割記憶する1連のビット列記憶回路おいて、
    1連のビット列は、スイッチングハブまたはL2スイッチまたはリングノードスイッチに用いられる1連のビット列記憶回路に、1連のビット列または1連のビット列のハッシュ値として記憶する人名の各文字をビット列に変換したビット列であり、付加情報はポート番号であること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路。
  12. 請求項1乃至5に記載の1連のビット列を分割記憶する1連のビット列記憶回路おいて、
    1連のビット列は、スイッチングハブまたはL2スイッチまたはリングノードスイッチに用いられる1連のビット列記憶回路に、1連のビット列または1連のビット列のハッシュ値として記憶するファイル名の各文字をビット列に変換したビット列であり、付加情報はポート番号であること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記憶回路。
  13. 請求項1乃至12に記載の1連のビット列を分割記憶する1連のビット列記憶回路を持つリング網において、
    1連のビット列記憶回路を1重または2重リング網の各ノードに置き、そのノードに接続されるスイッチは1連のビット列記憶回路を持ち、端末からそのスイッチを介して、リングノードにADDしたパケットは、リング入口の前記1連のビット列記憶回路に、リングからドロップアドレス用の1連のビット列を記憶してリングに上がり、リング上のパケットがノードに入力した場合には、そのパケットの持つ1連のビット列である宛先アドレスが、そのノードの1連のビット列記録回路に記録されている場合には、そのパケットをドロップし、記憶されていない場合には、そのノードをスルーし、リング上に宛先がなく、リングにADDしたノードに戻った場合には、そのパケットは廃棄すること、
    を特徴とする1連のビット列を分割記憶する1連のビット列記録回路を持つリング網。

JP2013029541A 2013-02-19 2013-02-19 1連のビット列を分割記憶する1連のビット列記憶回路 Withdrawn JP2014158246A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013029541A JP2014158246A (ja) 2013-02-19 2013-02-19 1連のビット列を分割記憶する1連のビット列記憶回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013029541A JP2014158246A (ja) 2013-02-19 2013-02-19 1連のビット列を分割記憶する1連のビット列記憶回路

Publications (1)

Publication Number Publication Date
JP2014158246A true JP2014158246A (ja) 2014-08-28

Family

ID=51578852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013029541A Withdrawn JP2014158246A (ja) 2013-02-19 2013-02-19 1連のビット列を分割記憶する1連のビット列記憶回路

Country Status (1)

Country Link
JP (1) JP2014158246A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618361A (zh) * 2015-01-22 2015-05-13 中国科学院计算技术研究所 一种网络流数据重排序方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618361A (zh) * 2015-01-22 2015-05-13 中国科学院计算技术研究所 一种网络流数据重排序方法
CN104618361B (zh) * 2015-01-22 2017-12-08 中国科学院计算技术研究所 一种网络流数据重排序方法

Similar Documents

Publication Publication Date Title
JP4355188B2 (ja) パケット転送装置
US11563683B2 (en) SRv6 with micro segment identifiers
CN109873760A (zh) 处理路由的方法和装置、以及数据传输的方法和装置
JP2000115243A (ja) パケット中継装置およびマルチキャスト高速化方式
CN110417569A (zh) 一种网络链路故障处理方法和隧道端点设备
CN105227498A (zh) 叠加网络交换机及其使用的方法
JP2014158246A (ja) 1連のビット列を分割記憶する1連のビット列記憶回路
JP2014116854A (ja) セルまたはパケットまたはセルヘッダ付きパケットを転送する網
JP2014120958A (ja) あいまい記録1連のビット列記録回路およびそれを用いたリング網
JP2014116866A (ja) 1連のビット列記録回路およびそれを用いたリング網
JP2014120957A (ja) あいまい記録1連のビット列記録回路およびそれを用いたリング網
JP2014112755A (ja) あいまい記録1連のビット列記録方法
JP2014146897A (ja) 1連のビット列記録回路およびそれを用いたツリー状リング網
JP2014155053A (ja) 1連のビット列記憶回路およびそれを用いたシステム
JP2014146898A (ja) 1連のビット列記録回路およびそれを用いたツリー状リング網
JP2014146899A (ja) 1連のビット列記録回路およびそれを用いたツリー状リング網
JP2014146900A (ja) 1連のビット列記録回路およびそれを用いたツリー状リング網
JP2014155078A (ja) 1連のビット列記憶回路およびそれを用いたシステム
JP2014146902A (ja) 1連のビット列記録回路およびそれを用いたツリー状リング網
JP2014120930A (ja) あいまい記録1連のビット列記録回路およびそれを用いたリング網
JP2014120932A (ja) あいまい記録1連のビット列記録回路およびそれを用いたリング網
JP2014127854A (ja) ドロップアドレスメモリおよびそれを用いたリング網
JP2014127855A (ja) ドロップアドレスメモリおよびそれを用いたリング網
JP2014127860A (ja) ドロップアドレスメモリおよびそれを用いたリング網
JP2014127861A (ja) ドロップアドレスメモリおよびそれを用いたリング網

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20141212