JP2005303356A - 転送処理装置 - Google Patents

転送処理装置 Download PDF

Info

Publication number
JP2005303356A
JP2005303356A JP2004112283A JP2004112283A JP2005303356A JP 2005303356 A JP2005303356 A JP 2005303356A JP 2004112283 A JP2004112283 A JP 2004112283A JP 2004112283 A JP2004112283 A JP 2004112283A JP 2005303356 A JP2005303356 A JP 2005303356A
Authority
JP
Japan
Prior art keywords
unit
external interface
frame
storage unit
transfer
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
JP2004112283A
Other languages
English (en)
Inventor
Toshihiko Nakamura
俊彦 中村
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2004112283A priority Critical patent/JP2005303356A/ja
Priority to US10/999,932 priority patent/US7397816B2/en
Publication of JP2005303356A publication Critical patent/JP2005303356A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Bus Control (AREA)

Abstract

【課題】 資源を節約し、効率を高める。
【解決手段】 外部インタフェース部で外部から受信した所定の構造を有する受信単位データを主制御部を介することなく、該当する転送先記憶部へ、外部インタフェース部から転送する直接記憶転送を実行する転送処理装置において、外部インタフェース部は、外部インタフェース側記憶部と、閾値設定部と、外部インタフェース側制御部とを備え、閾値到達通知を受け取った主制御部は、外部インタフェース側記憶部に記憶されている受信単位データの該当するフィールドの情報を読み取って、受信単位データを転送先記憶部へ転送することの要否を判定し、判定の結果、転送不要とされた受信単位データは転送先記憶部への転送を行う前に廃棄する。
【選択図】 図1

Description

本発明は転送処理装置に関し、例えば、ネットワークから受信したMACフレームを装置内部で転送する場合などに適用して好適なものである。
従来、ネットワークから受信したMACフレームを装置内部で転送する機能を持つフレーム転送装置としては、図2に示す内部構成を持つものがある。
図2に示すフレーム転送装置10では、CPU(中央処理装置)11が各構成要素(12,13も含む)の最終的な制御を行っており、メインメモリ12は当該CPU11が直接、アクセスすることが可能な記憶手段である。
ネットワークインタフェース13は、外部のネットワークNW1からフレームF1を受信すると、DMA(ダイレクトメモリアクセス)転送を行う。DMA転送では、CPU11を介することなく、当該ネットワークインタフェース13がバスBA1経由で当該フレームF1をメインメモリ12へ転送する。したがって、CPU11が他の処理を行っているときでも、メインメモリ12へフレームF1を転送することができ、高速なフレーム転送が可能となる。
メインメモリ12に転送されたあと、そのフレームF1をどのように取り扱うかは、CPU11がメインメモリ12にアクセスして当該フレームF1の各フィールドから読み出した情報に基づいて判断する。例えば、この判断の結果により、当該フレームF1の内容を当該フレーム転送装置10内部で利用したり、他のネットワークインタフェース(図示せず)から外部のネットワーク(NW1とは別なネットワーク)へ送信したり、即座に廃棄したりする。
従来のフレーム転送装置としては、例えば、下記の特許文献1に記載されたものがある。
特開2003−099396号公報
ところが、メインメモリ12へDMA転送したフレームF1が上述した廃棄を行うようなフレームである場合、そのフレームF1の転送のためにバスBA1が使用されることは内部伝送資源の浪費となるし、DMA転送後にCPU11が前記判断を行うことは演算資源の浪費になるため、資源の実質的な利用効率が低いといえる。
例えば、VLAN(バーチャルLAN)が設定されている場合、VLAN−ID(VLAN番号)の値が同じで同じVLANグループに属する送信元から届いたフレームは必要なものなので、自身の内部で利用したり、中継したりするが、VLAN−IDが異なる送信元から届いたフレームは、廃棄することになる。前記フレーム中でVLAN−IDを収容したフィールド(VLANタグ)の位置はIEEE802.1Qの規定で決まっており、MACフレームのフォーマットは、図3(A)および(B)に示すようになるため、フレーム転送装置はそのVLANタグの内容を調べることによってVLAN−IDの値を知ることができる。
あるいは、VLANフレームしか扱わないフレーム転送装置の場合には、そのフレームが、図4に示すような通常のMACフレームでVLANタグが存在しないことをもって、そのフレームの廃棄を決定することもできる。
ブロードキャストの場合にも同様な廃棄が発生し得る。ブロードキャストされたフレーム(ブロードキャストフレーム)は、不特定の全端末を宛先として送信されるフレームであり、例えば、DHCPやARPなど、制御情報の交換などを目的としてLANで多用されるが、自身にとって真に必要な情報を届けるフレームであるか否かは、そのフレームを受信した端末(フレーム転送装置)が宛先MACアドレス以外の情報から判断することになり、自身にとって不要なフレームであると判断した場合には廃棄する。
ただしこのような廃棄を行う場合に生じる前記資源の浪費を抑制するために、単純にネットワークインタフェース13を多機能化してしまうと、ネットワークインタフェース13の回路構成が複雑になり、前記ネットワーク(例えば、NW1)で使用される通信プロトコルが拡張された場合などに回路構成を変更しなければならなくなってしまうから、柔軟性の低下や開発コストの増大を招く。
通常、ネットワークインタフェース13の機能の大部分はハードウエアによって実現する必要があるからである。ネットワークインタフェース13の機能の大部分をハードウエアによって実現する理由は、当該ネットワークインタフェース13の機能はOSI参照モデルの例えばデータリンク層など下位の階層に属するものであるため、この階層での処理はCPU11がソフトウエア的に実行する処理に比べて十分に高速なものとしておかないと、上位の階層の処理のボトルネックとなって、通信アプリケーションのスループットを著しく低下させる可能性が高いからである。
かかる課題を解決するために、本発明では、外部インタフェース部で外部から受信した所定の構造を有する受信単位データを主制御部を介することなく、該当する転送先記憶部へ、前記外部インタフェース部から転送する直接記憶転送を実行する転送処理装置において、前記外部インタフェース部は、(1)前記受信単位データを受信したとき先頭から順番に記憶していく外部インタフェース側記憶部と、(2)当該外部インタフェース側記憶部に記憶された前記受信単位データの先頭からのデータ量に対する閾値を設定する閾値設定部と、(3)前記外部インタフェース側記憶部に記憶された受信単位データの先頭からのデータ量が当該閾値に達したとき、前記主制御部に、所定の閾値到達通知を行う外部インタフェース側制御部とを備え、(4)当該閾値到達通知を受け取った前記主制御部は、前記外部インタフェース側記憶部に記憶されている受信単位データの該当するフィールドの情報を読み取って、当該受信単位データを前記転送先記憶部へ転送することの要否を判定し、判定の結果、転送不要とされた受信単位データは当該転送先記憶部への転送を行う前に廃棄することを特徴とする。
本発明によれば、資源の実質的な利用効率を高め、柔軟性を高めることができる。
(A)実施形態
以下、本発明にかかる転送処理装置をフレーム転送装置に適用した場合を例に、実施形態について説明する。
(A−1)第1の実施形態の構成
本実施形態にかかるフレーム転送装置20の全体構成例を図1に示す。このフレーム転送装置20は、パーソナルコンピュータなどの一部(LANカードも含む)とみることもできるし、レイヤ2スイッチやルータなどの中継装置の一部とみることもできる。ただし中継装置とみた場合には、図示したネットワークインタフェース23以外にも1または複数のネットワークインタフェースが存在することになる。
図1において、当該フレーム転送装置20は、CPU(中央処理装置)21と、メインメモリ22と、ネットワークインタフェース23と、バスBA2とを備えている。
このうちバスBA2は、CPU21と、メインメモリ22と、ネットワークインタフェース23とを接続するために設けられたフレーム転送装置20内部の伝送路である。基本的に、これら3つの構成要素21〜23のあいだを接続する伝送路は当該バスBA2だけであるため、バスBA2は、フレームF2のDMA転送のほかにも各種の目的で利用されることは当然である。
CPU21は当該フレーム転送装置20内の各構成要素(22,23も含む)を最終的に制御する機能を持つ演算装置である。
メインメモリ22は当該CPU21が直接、アクセスすることが可能な主記憶手段である。
当該メインメモリ22には、DMA転送によってネットワークインタフェース23から転送されてきたフレームF2が格納されるほか、各種の制御プログラム(その1つがPR1)なども格納され得る。当該制御プログラムPR1は、当該フレーム転送装置20の起動時などに、図示しないROM(リードオンリーメモリ)やハードディスクなどから当該メインメモリへ読み込まれるものである。
この制御プログラムPR1には、例えば、OSI参照モデルのネットワーク層以上の階層の通信プロトコル(例えば、IPプロトコルなど)を処理するプロトコル処理プログラムも含まれ得る。
ネットワークインタフェース23は、フレーム転送装置20の構成要素21〜23、BA2のうちで唯一、外部のネットワークNW2に直接、接続されたハードウエアであり、必要に応じて、ネットワークNW2から受信した前記フレームF2をメインメモリ22へDMA転送する機能も有する。
当該ネットワークインタフェース23は、図1に示すように、バスインタフェース24と、メモリ25と、制御回路26と、制御レジスタセット27と、受信FIFO部28と、送信FIFO部29と、MAC部30とを備えている。
このうちMAC(メディアアクセスコントロール)部30は、伝送媒体へのアクセス制御を実行する部分で、例えば、OSI参照モデルのデータリンク層に相当する通信プロトコル(例えば、IEEE802.3すなわちCSMA/CDなど)を処理する。
伝送媒体の物理層の仕様の相違はこのMAC部30で吸収される。したがって、本実施形態の構成上、ネットワークNW2の物理層の仕様は特に限定する必要はなく、無線通信などにも対応可能であるが、例えば、前記IEEE802.3を用いる場合などには、通常、有線伝送路(例えば、ツイストペアケーブルなど)が利用される。この場合、当該ネットワークインタフェース23に接続される前記ネットワークNW2は具体的には、このツイストペアケーブルを指す。
2つのFIFO部28,29はともに、先入れ先出しタイプのメモリであり、ここではフレームは書き込まれた順番に読み出される。このうち受信FIFO部28は外部のネットワークNW2からフレーム(前記F2)を受信するときに使用し、送信FIFO部29は外部のネットワークNW2へフレームを送信するときに使用する。ただし本実施形態は受信したフレームの装置20内における転送に関連するものなので、本実施形態の構成上は受信FIFO部28のほうが重要である。
メモリ25は、ネットワークインタフェース30内の記憶資源である。前記フレームF2はまず最初に前記受信FIFO部28に書き込まれ、当該受信FIFO部28から読み出されるときには、読み出されながら当該メモリ25へ書き込まれて行く。そのフレームF2が当該フレーム転送装置20にとって不要なものであると判定された場合、廃棄されることになるが、廃棄されるべきものと判定されたケースでは、できるだけ速やかに廃棄することが各種資源(メモリ25などの記憶資源やバスBA2などの内部伝送資源)の節約の増進につながるため、この廃棄は、1つのフレームF2の一部(例えば、先頭部分)がメモリ25に書き込まれ、残り(例えば、末尾部分)が受信FIFO部28に記憶されている状態でも実行され得る。
フレーム転送装置20の具体的な仕様にも依存するが、1つのフレーム(ここでは、F2)の読み出し(例えば、受信FIFO部28からの読み出し)や、書き込み(例えば、メモリ25への書き込み)は、一例として、バイト単位で実行され得る。
制御回路26はネットワークインタフェース23内の各構成要素24、25、27〜30を制御するプロセッサである。後述する受信閾値情報とメモリ25上に記憶されたフレームF2のデータ量との比較を行うのも、この制御回路26である。
制御レジスタセット27は、制御回路26や前記CPU21によって利用されるレジスタの集合体で、4つのレジスタ27A〜27Dを含む。
すなわち、割り込みイネーブルレジスタ27Aと、割り込みステータスレジスタ27Bと、受信閾値レジスタ27Cと、フレーム処理コマンドレジスタ27Dとを含む。
このうち割り込みイネーブルレジスタ27Aは、CPU21によるプログラムの実行を中断する割り込みを実行してよいか否かを示す制御情報を書き込むためのレジスタである。フレームF2をネットワークインタフェース23からメインメモリ22にDMA転送した場合、その旨を制御回路26からCPU21へ伝える転送完了通知を行ってもよいか否かを示す情報(転送完了通知許可情報)や、メモリ25に書き込まれたフレームF2のデータ量が予め定めた受信閾値に到達したことを制御回路26からCPU21に伝える通知(受信閾値到達通知)を行ってもよいかを示す情報(到達通知許可情報)が、当該割り込みイネーブルレジスタ27Aに設定される。
これらの通知はCPU21に対する割り込みにあたるから、この設定を実行するのは、CPU21である。
割り込みステータスレジスタ27Bは、制御回路26が上述した転送完了通知や受信閾値到達通知を示す情報を設定するためのレジスタである。この設定は制御回路26によって実行され、CPU21によって読み出される。
受信閾値レジスタ27Cは、上述した受信閾値の値を示す情報(受信閾値情報)を設定するレジスタである。この受信閾値情報の設定をどのようにして行うかに関しては様々な変形が可能である。例えば、このフレーム転送装置20を使用するユーザからの指示などに応じてCPU21が行うものであってもよい。当該受信閾値レジスタ27Cに設定された受信閾値情報は、メモリ25上に記憶されたフレームF2のデータ量との比較を行うときに、前記制御回路26によって読み出される。
フレーム処理コマンドレジスタ27Dは、フレームF2の処理に関するCPU21から制御回路26へのコマンドを設定するためのレジスタである。この設定はCPU21が行い、制御回路26が読み出す。このコマンドでは、例えば、フレームF2の廃棄が指示されることもあり、フレームF2のメインメモリ22へのDMA転送が指示されることもある。
前記バスインタフェース24は、ネットワークインタフェース23内の各構成要素(例えば、制御回路26など)とバスBA2とのインタフェースである。バスインタフェース24は、バスBA2の使用権の調停を行う機能などを有する。同時に複数の送信元(例えば、CPU21と制御回路26)が当該バスBA2を利用してデータ(例えば、フレームF2など)を送信すると、衝突によってデータが破壊されてしまうため、このような調停が必要になる。
以下、上記のような構成を有する本実施形態の動作について説明する。ここでは、前記ネットワークインタフェース23がネットワークNW2から、前記フレームF2を受信する場合を例に説明する。
(A−2)第1の実施形態の動作
フレームF2が前記ネットワークNW2からネットワークインタフェース23に受信されると、前記MAC部30による処理を経て、当該フレームF2は受信FIFO部28に書き込まれる。
この時点でメモリ25上に未処理のフレームが存在せず、なおかつ、受信FIFO部28に当該フレームF2より先に書き込まれたフレームが存在しない場合、フレームF2は例えば先頭から1バイトずつ読み出されてメモリ25に書き込まれて行く。
この間、例えば定期的に、前記制御回路26はメモリ25に書き込まれたフレームF2のデータ量を、前記受信閾値レジスタ27Cに設定された受信閾値情報と比較する。そして、比較の結果、データ量が当該受信閾値情報に達していることを検出した場合には、制御回路26は前記受信閾値到達通知を行う。このとき、制御回路26が前記割り込みイネーブルレジスタ27Aなどの設定内容を確認することは当然である。
この受信閾値到達通知を前記バスBA2を介して受け取ったCPU21は、前記メインメモリ22上に格納された制御プログラムPR1に応じたソフトウエア的な処理によってフレームF2の要否を判定する。すなわち、バスBA2経由でメモリ25上のフレームF2の該当フィールドの情報を読み出して、そのフレームF2がフレーム転送装置20にとって必要なものであるか否かを判定し、判定結果に応じたコマンドを制御回路26に通知する。この判定では、上述したようにVLANタグの有無やその内容、ブロードキャストフレームに関する宛先MACアドレス以外の情報の検査などが行われ得る。
フレーム転送装置20にとって必要なフレームとは、自身で利用するフレームか、中継する必要のあるフレームであり、必要でないフレームとは自身で利用する必要もなく、中継の必要もないフレームである。自身で利用するフレームのなかには、上述したDHCPやARPなど、制御情報の交換などを目的としてLANで通信されるフレームであって自身に関係するものと、自身に搭載した通信アプリケーションで使用するユーザデータ(例えば、電子メールやWebなどの通信アプリケーションで通信されるデータ)を収容したフレームがある。ユーザデータを収容したフレームを自身で利用すると判定するのは、当該フレーム転送装置20が上述したパーソナルコンピュータなどの一部に相当する場合である。
いずれにしても、CPU21が当該フレームF2をフレーム転送装置20にとって必要のないフレームであると判定した場合、CPU21はバスBA2経由で前記フレーム処理コマンドレジスタ27Dに、廃棄を指示するコマンドを設定するが、必要なフレームであると判定した場合には、DMA転送を指示するコマンドを設定する。DMA転送には、フレーム転送装置20が複数のネットワークインタフェースを備えている場合には、ネットワークインタフェース23から別なネットワークインタフェースへのフレームF2の転送が含まれていてもよいが、フレーム転送装置20のネットワークインタフェースが当該ネットワークインタフェース23だけであるとすると、DMA転送によるフレームF2の転送先は前記メインメモリ22しかない。
フレーム処理コマンドレジスタ27Dに廃棄を指示するコマンドが設定された場合、そのコマンドを読み出した制御回路27は即座に当該フレームF2を廃棄する。制御回路27が具体的にどのような処理を行うことを廃棄とみなすかについては様々な変形があり得るが、すでに当該フレームF2が書き込まれたメモリ25上の記憶領域を何も書き込まれていない記憶領域として取り扱うことをもって廃棄とすることも簡便である。もちろん、この時点でまだ受信FIFO部28に残っているフレームF2の末尾も同様に取り扱うものであってよい。
このような廃棄が行われた場合、受信FIFO部28やメモリ25などの記憶資源が節約できるだけでなく、フレーム転送装置20にとって不要なフレームをDMA転送することがなくなるため、バスBA2などの内部伝送資源も節約することができるとともに、DMA転送先(ここでは、メインメモリ22)の記憶資源も節約することができる。また、フレームF2がメインメモリ22へDMA転送されなければ、メインメモリ22上に記憶されたフレームF2を処理するために何回も、CPU21がバスBA2経由でメインメモリ22にアクセスする必要がなくなるから、その点でも、内部伝送資源の節約になる。
一方、前記フレーム処理コマンドレジスタ27DにDMA転送を指示するコマンドが設定された場合には、そのコマンドを読み出した制御回路26は、当該フレームF2をネットワークインタフェース23からバスBA2経由でメインメモリ22へDMA転送によって転送する。
フレームF2のメインメモリ22へのDMA転送が完了すると、制御回路26は、前記転送完了通知を行う。
この転送完了通知をバスBA2経由で受け取ったCPU21は、DMA転送によりすでにメインメモリ22に格納されているフレームF2に対し、前記制御プログラムPR1などに応じた処理を実行する。この処理には様々なものがあり得るが、OSI参照モデルのデータリンク層より上位の各階層の通信プロトコル(例えば、IPプロトコル)に応じた処理などを実行して、フレームF2に収容されていた前記ユーザデータを取り出し、Webページや電子メールの内容などをユーザに提示するものであってもよい。
このような処理を実行するためにも、CPU21が何回もメインメモリ22に対してバスBA2経由のアクセス(読み出しや書き込み)を行う必要があることは当然である。
(A−3)第1の実施形態の効果
本実施形態によれば、メインメモリ(22)やメモリ(25)などの記憶資源とバス(BA2)などの内部伝送資源を節約し、資源の実質的な利用効率を高めることができる。
これには、前記受信閾値到達通知によって、フレーム転送装置(20)にとって不要なフレームを早期に廃棄でき、不要なDMA転送を抑止できることが大きく寄与している。
また本実施形態では、受信したフレーム(F2)がフレーム転送装置(20)にとって必要なものであるか否かの判定はCPU(21)が制御プログラム(PR1)に応じたソフトウエア的な処理によって行うため、通信プロトコルが拡張された場合などにも、新たな制御プログラムをインストールすること等で柔軟に対応することができる。
このようなインストールは、すでに設置され運用されている状態のフレーム転送装置(20)に対しても容易に行うことができるほか、新たな製品としてのフレーム転送装置を開発する場合にも、ハードウエア的な設計変更をともなう開発に比べて、はるかに開発コストが低い。
(B)第2の実施形態
以下では、本実施形態が第1の実施形態と相違する点についてのみ説明する。
本実施形態は、第1の実施形態ではCPU21がソフトウエア的に行っていたフレームF2の要否判定に関する処理の少なくとも一部をネットワークインタフェース内の制御回路が実行する点に特徴がある。
(B−1)第2の実施形態の構成および動作
本実施形態にかかるフレーム転送装置40の全体構成例を図5に示す。
図5において、図1と同じ符号21〜25、28〜30、BA2,NW2を付与した各構成要素の機能は第1の実施形態と同じなので、その詳しい説明は省略する。
図5中の制御回路41は前記制御回路26に対応し、制御レジスタセット42は前記制御レジスタセット27に対応するものである。
本実施形態の制御レジスタセット42は、上述したレジスタ27A〜27Dを備えているため、第1の実施形態の制御レジスタセット27と同じ機能を有するが、本実施形態で特徴的な点は、受信したフレームF2の要否判定を制御回路41に実行させるための各種情報を設定する複数のレジスタを有することである。
すなわち、当該制御レジスタセット42は上述したレジスタ27A〜27Dのほか、フレームフィルタ位置レジスタ42Aと、フレームフィルタレジスタ42Bと、フレームフィルタイネーブルレジスタ42Cと、フレームフィルタ処理レジスタ42Dとを備えている。
このうちフレームフィルタ位置レジスタ42Aは、前記要否判定で、フレームF2のどの位置の情報を検査するかを示す情報(フィルタ位置情報)を設定するためのレジスタである。設定はCPU21が実行し、設定されたフィルタ位置情報を読み出して利用するのは、前記制御回路41である。
例えば、図3(A)および(B)に示すTPID(Tag Protocol Identifier)やTCI(Tag Control Information)などが、このフレームフィルタ位置情報によって指定される。なお、TPIDは、MACフレーム(例えば、F2)の先頭から13〜14バイト目に配置され、そのMACフレームがVLANに対応したVLANフレームである場合には、当該TPIDの値が所定値(0x8100)になるので、この値が当該所定値であるか否かを検査することによってVLANフレームであるか否かが分かる。また、VLAN−IDの値を調べるには、当該TPIDにつづくTCIのなかに記述されているVLAN−IDを検査すればよい。
フレームフィルタ処理レジスタ42Dは、フレームに対する処理の内容を示す情報(処理情報)を設定するためのレジスタである。この設定はCPU21が実行し、前記制御回路41が読み出す。具体的な処理情報が示す処理の例としては、後述するフィルタ情報に適合したとき、そのフレーム(ここでは、F2)を当該ネットワークインタフェース23内で廃棄する処理、または、DMA転送する処理などがあり得る。また、このDMA転送で転送先が異なるものは、異なる処理として設定され得る。DMA転送の転送先として、メインメモリ22や他のネットワークインタフェースなどがあり得ることはすでに説明した通りである。
フレームフィルタレジスタ42Cは、前記フレームフィルタ位置レジスタ42Aに設定されたフィルタ位置情報が示すフレームF2上の位置に配置されている情報と比較するべき情報(フィルタ情報)が設定されるレジスタである。このフィルタ情報との比較の結果に応じて、前記処理情報に応じた処理が実行されることになる。
フレームフィルタイネーブルレジスタ42Cは、前記フレームフィルタ処理レジスタ42Dに設定した処理情報に応じた処理の実施の可否を設定するレジスタである。
なお、複数の条件(異なるフィルタ情報と、そのフィルタ情報に適合したフレームをどのように処理するかを示す処理情報などの組み合わせによって決まる条件)を設定するには、これらのレジスタ42A〜43Dを複数セット設けるとよい。
ただし、当該レジスタ42A〜42Dを用いて制御回路41が前記処理情報で指定された処理を実行しなかった場合には、第1の実施形態と同様の処理が行われる。
すなわち、メモリ25に書き込まれたフレームF2のデータ量が前記受信閾値レジスタ27Cに設定された受信閾値情報に到達したときに制御回路41が前記受信閾値到達通知を行い、CPU21による要否判定の結果に応じて、制御回路41が当該フレームF2の処理を実行する。
前記レジスタ42A〜42Dを多数セット設けて、すべてのケースを網羅できるようにすれば、CPU21による処理をまったく行わなくても、受信したすべてのフレーム(その1つが、F2)を適切に処理することが可能であるが、それでは、ネットワークインタフェース24が多機能化して回路構成の複雑化や大規模化を招き、柔軟性の低下や開発コストの増大が生じるため、ここでは、CPU21による要否判定が行われ得る構成としている。
(B−2)第2の実施形態の効果
本実施形態によれば、第1の実施形態の効果とほぼ同等な効果を得ることができる。
加えて、本実施形態では、ネットワークインタフェース(23)内の制御回路(41)が、CPU(21)に替わって、前記処理情報で指定された処理を実行することも少なくないため、CPU(21)の処理能力にかかる負荷を軽減でき、同一の条件下で比較した場合、転送時の遅延時間が短縮されて処理速度を高くすることも可能である。
(C)第3の実施形態
以下では、本実施形態が第1、第2の実施形態と相違する点についてのみ説明する。
本実施形態は、2つのネットワークインタフェースを持つフレーム転送装置に関するものである。
(C−1)第3の実施形態の構成および動作
本実施形態にかかるフレーム転送装置50の全体構成例を図5に示す。このように2つのネットワークインタフェースを持つフレーム転送装置は、具体的には、上述したレイヤ2スイッチやルータなどの中継装置に相当するものである。
図5において、図1と同じ符号21〜30、BA2,NW2を付与した各構成要素の機能は第1の実施形態と同じなので、その詳しい説明は省略する。
前記ネットワークインタフェース23がネットワークNW2と接続されていたのに対し、本実施形態で新たに加わったネットワークインタフェース51はネットワークNW3に接続されている。
ただし、ネットワークインタフェース51の内部構成はネットワークインタフェース23と同じである。
ネットワークNW3は、ネットワークNW2と異なるブロードキャストドメイン(または、異なるサブネット)を示している。NW3とNW2が異なるブロードキャストドメインを示すのは、フレーム転送装置40がレイヤ2スイッチなどの場合であり、NW3とNW2が異なるサブネットを示すのは、フレーム転送装置40がルータなどの場合である。
第1の実施形態でも説明したが、このように複数のネットワークインタフェースが存在する場合、あるネットワークインタフェース(例えば、23)からのフレームF2のDMA転送は、メインメモリ22を転送先とするケースと、他のネットワークインタフェース(ここでは、41)を転送先とするケースがあり得る。
図6の例では、ネットワークインタフェースの数(すなわち、ポートの数)は2つであるが、1つのフレーム転送装置50が、3つ以上のポートを備えていてもよいことは当然である。
(C−2)第3の実施形態の効果
本実施形態では、第1の実施形態と異なる構成のもとで、第1の実施形態の効果と同等な効果を得ることができる。
(D)他の実施形態
上記第1〜第3の実施形態の特徴は、上述したものと異なる組み合わせで複合することも可能である。
例えば、上記第3の実施形態にかかわらず、図6に示す制御レジスタセット27は、図5に示した制御レジスタセット42に置換することも可能である。この場合、前記処理情報に応じた処理をネットワークインタフェース24または51の内部で実行することが可能である。
なお、上記第1〜第3の実施形態でCPU21が設定するものとした各レジスタの情報のうちフレーム転送装置の運用中に変更する必要がほとんどないものは、当該レジスタをEEPROMなどの不揮発性記憶手段で置換し、製造工程などで設定させることも可能である。
本発明は、受信したフレームのフレーム転送装置内における転送に関連するものなので、送信機能を持たない受信専用のフレーム装置にも適用することが可能である。
以上の説明でハードウエア的に実現した機能の大部分はソフトウエア的に実現することが可能であり、ソフトウエア的に実現した機能のほとんどすべてはハードウエア的に実現することが可能である。
第1の実施形態にかかるフレーム転送装置の全体構成例を示す概略図である。 従来のフレーム転送装置の構成を示す概略図である。 VLANフレームのフォーマットを示す概略図である。 通常のMACフレームのフォーマットを示す概略図である。 第2の実施形態にかかるフレーム転送装置の全体構成例を示す概略図である。 第3の実施形態にかかるフレーム転送装置の全体構成例を示す概略図である。
符号の説明
20…フレーム転送装置、21…CPU、22…メインメモリ、23…ネットワークインタフェース、24…バスインタフェース、25…メモリ、26…制御回路、27…制御レジスタセット、28…受信FIFO部、29…送信FIFO部、30…MAC部、BA2…バス、F2…MACフレーム。

Claims (3)

  1. 外部インタフェース部で外部から受信した所定の構造を有する受信単位データを主制御部を介することなく、該当する転送先記憶部へ、前記外部インタフェース部から転送する直接記憶転送を実行する転送処理装置において、
    前記外部インタフェース部は、
    前記受信単位データを受信したとき先頭から順番に記憶していく外部インタフェース側記憶部と、
    当該外部インタフェース側記憶部に記憶された前記受信単位データの先頭からのデータ量に対する閾値を設定する閾値設定部と、
    前記外部インタフェース側記憶部に記憶された受信単位データの先頭からのデータ量が当該閾値に達したとき、前記主制御部に、所定の閾値到達通知を行う外部インタフェース側制御部とを備え、
    当該閾値到達通知を受け取った前記主制御部は、前記外部インタフェース側記憶部に記憶されている受信単位データの該当するフィールドの情報を読み取って、当該受信単位データを前記転送先記憶部へ転送することの要否を判定し、判定の結果、転送不要とされた受信単位データは当該転送先記憶部への転送を行う前に廃棄することを特徴とする転送処理装置。
  2. 請求項1の転送処理装置において、
    前記外部インタフェース部では、
    前記外部インタフェース側制御部が、所定のレジスタの設定内容に応じて、前記外部インタフェース側記憶部で記憶された受信単位データの先頭からのデータ量が、前記閾値に達する前に、当該受信単位データを前記転送先記憶部へ転送することの要否を判定し、判定の結果、転送不要とされた受信単位データは当該転送先記憶部への転送を行う前に廃棄することを特徴とする転送処理装置。
  3. 外部インタフェース部を複数備える場合の請求項2の転送処理装置において、
    前記外部インタフェース側制御部は、
    前記転送先記憶部として、前記主制御部が直接アクセスする主記憶部または他の外部インタフェース部が持つ外部インタフェース側記憶部を選ぶことを特徴とする転送処理装置。
JP2004112283A 2004-04-06 2004-04-06 転送処理装置 Pending JP2005303356A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004112283A JP2005303356A (ja) 2004-04-06 2004-04-06 転送処理装置
US10/999,932 US7397816B2 (en) 2004-04-06 2004-12-01 Relay device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004112283A JP2005303356A (ja) 2004-04-06 2004-04-06 転送処理装置

Publications (1)

Publication Number Publication Date
JP2005303356A true JP2005303356A (ja) 2005-10-27

Family

ID=35060416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004112283A Pending JP2005303356A (ja) 2004-04-06 2004-04-06 転送処理装置

Country Status (2)

Country Link
US (1) US7397816B2 (ja)
JP (1) JP2005303356A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011145770A (ja) * 2010-01-12 2011-07-28 Nec Access Technica Ltd ビデオフレームdma制御システム
CN102437898A (zh) * 2011-12-15 2012-05-02 北京和利时***工程有限公司 高速铁路实时生成应答器报文的***和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633865A (en) * 1995-03-31 1997-05-27 Netvantage Apparatus for selectively transferring data packets between local area networks
US7167927B2 (en) * 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US6067300A (en) * 1998-06-11 2000-05-23 Cabletron Systems, Inc. Method and apparatus for optimizing the transfer of data packets between local area networks
US6167029A (en) * 1998-10-13 2000-12-26 Xaqti Corporation System and method for integrated data flow control
JP3908928B2 (ja) 2001-09-21 2007-04-25 株式会社リコー ネットワークインターフェイス回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011145770A (ja) * 2010-01-12 2011-07-28 Nec Access Technica Ltd ビデオフレームdma制御システム
CN102437898A (zh) * 2011-12-15 2012-05-02 北京和利时***工程有限公司 高速铁路实时生成应答器报文的***和方法

Also Published As

Publication number Publication date
US7397816B2 (en) 2008-07-08
US20050226147A1 (en) 2005-10-13

Similar Documents

Publication Publication Date Title
JP4974078B2 (ja) データ処理装置
US10693781B2 (en) In NIC flow switching
US8174984B2 (en) Managing traffic on virtualized lanes between a network switch and a virtual machine
EP2337305A2 (en) Header processing engine
CN109688058B (zh) 报文处理方法、装置及网络设备
US20140029617A1 (en) Packet processing approach to improve performance and energy efficiency for software routers
JP2016510524A (ja) 通信トラフィック処理アーキテクチャおよび方法
US20080209089A1 (en) Packet-Based Parallel Interface Protocol For A Serial Buffer Having A Parallel Processor Port
KR100425062B1 (ko) 데이터 교환 장치용 내부 통신 프로토콜
CN113709047B (zh) 一种汽车域控制器数据转发***及方法
US9846657B2 (en) Electronic device for packing multiple commands in one compound command frame and electronic device for decoding and executing multiple commands packed in one compound command frame
US20080077724A1 (en) Interrupt coalescing control scheme
EP3563534B1 (en) Transferring packets between virtual machines via a direct memory access device
WO2009096029A1 (ja) パケット処理装置およびパケット処理プログラム
CN106603409B (zh) 一种数据处理***、方法及设备
US20150295860A1 (en) Method and system for remotely configuring an ethernet switch using ethernet packets
JP5957318B2 (ja) ネットワークシステム、情報中継装置、及びパケット配信方法
JP2007027951A (ja) Dmaコントローラおよび通信処理装置
WO2024021801A1 (zh) 报文转发装置及方法、通信芯片及网络设备
JP2005303356A (ja) 転送処理装置
US20020078118A1 (en) Network interface application specific integrated circuit to allow direct attachment for an appliance,such as a printer device
JP6036445B2 (ja) 通信システム、中継装置、通信方法、及びプログラム
JP2004094931A (ja) ネットワークシステムおよびネットワークにおける通信方法
US20230179545A1 (en) Packet forwarding apparatus with buffer recycling and associated packet forwarding method
TWI429230B (zh) 處理資訊系統的方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060731

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081225

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090602