JP3671360B2 - Packet router processor - Google Patents
Packet router processor Download PDFInfo
- Publication number
- JP3671360B2 JP3671360B2 JP26387496A JP26387496A JP3671360B2 JP 3671360 B2 JP3671360 B2 JP 3671360B2 JP 26387496 A JP26387496 A JP 26387496A JP 26387496 A JP26387496 A JP 26387496A JP 3671360 B2 JP3671360 B2 JP 3671360B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- line
- unit
- units
- line corresponding
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、通信システムの中で経路情報に関するプロトコル処理と、経路情報に基づきデータパケットの転送処理を行うパケットルータ処理装置(以下、「ルータ処理装置」という)に関する。
【0002】
【従来の技術】
一般に、ルータ処理装置においては、大別して、
(1)経路情報に関するプロトコル処理
(2)データパケットの転送処理
が行われる。
従来のルータ処理装置において、上記(1)の経路情報に関するプロトコル処理は、以下のように行われる。
(a)回線対応部で経路情報の交換を行う相手ホストから、通信回線を介して経路情報のパケットを受信する。
(b)経路情報に関するプロトコル処理を行う。
なお、従来、経路情報用のプロトコルとしては、BGP,OSPF,RIPなどが利用されてきた。参考文献:西田著TCP/IPインターネットワーキング(ISBN4-915778-23-1)等。
(c)プロトコルの処理結果を経路情報格納テーブルに反映させる。
【0003】
また、従来のルータ処理装置において、上記(2)のデータパケットの転送処理は、以下のように行われる。
(d)回線対応部で通信回線上のデータパケットを受信し、そのデータパケットのヘッダ部分を抽出する。ヘッダ部分には、宛先アドレスと送出元アドレスとが格納されている。
(e)宛先をキーとして経路情報格納テーブルから検索処理を行い、そのエントリに格納されているゲートウェイアドレスなどの情報を得て、データパケットの送出先を決定する。
(f)送出先のアドレスから、リンクレイヤのアドレスへの変換処理を行う。もし、経路情報格納テーブル上にリンクレイヤのアドレスがない場合には、ARP(Address Resolution Protocol)などを利用してリンクレイヤのアドレスを得る。参考文献:上記。
(g)上で得た送出先のリンクレイヤのアドレスを宛先として、データパケットを送出する。
【0004】
【発明が解決しようとする課題】
従来のルータ処理装置は、図7に示すような構成を有する。図7において、1はプロトコル処理部、2〜5は回線対応部で、11〜14が各回線対応部2〜5単位の通信回線である。なお、ここでは、プロトコル処理部1,回線対応部2〜5が同一バス上に接続され、相互に転送を行うものとする。このルータ処理装置では、個々の回線対応部では、データパケットの転送先を決定するために、プロトコル処理部1で、集中的に管理される経路情報格納テーブルを用いて検索処理を行うために、以下のような問題点があった。
【0005】
(1)検索処理が終了するまで、データパケットの転送制御に関する処理が遅延する。
(2)複数の回線対応部からの検索要求を同時に処理する場合、特定の回線対応部の検索処理にCPU時間をとられ、他の検索処理などが不定期に遅延することがある。特に、この問題は、接続された複数の回線がFDDI,B−ISDNのように高速になると、顕著になる。
(3)経路情報の検索処理を行う部分に検索要求が入力するたびに割り込みが発生し、割り込み処理にCPU時間をとられ、システム全体のリアルタイム性が下がる。接続された複数の回線がFDDI,B−ISDNのように高速になると、1つのパケット間隔が短くなるため特に顕著になる。
【0006】
また、検索結果を各回線対応部が保有するキャッシュテーブルの中に入れて、頻繁に検索処理要求が起きないようにする例もあるが、これにも、以下のような問題があった。
(4)キャッシュテーブルの内容とプロトコル処理部で管理している最新の経路情報とが食い違い、一致させるために特別なメッセージを頻繁に飛ばす必要がある。このメッセージの送受は、回線対応部の台数が増える毎に増加し、プロトコル処理部での管理が大変になると共に、プロトコル処理部のCPU使用率の増大を招く。
【0007】
また、出力側の回線対応部においては、以下のような問題も生じる。
(5)出力側の回線対応部においては、宛先アドレスをリンクレイヤのアドレスに変換する処理や、リンクレイヤのアドレスを獲得する処理が必要になるため、変換処理にCPU時間が取られる。また、この処理のために、出力側の回線対応部にデータパケットを蓄積してから転送するために、遅延が発生する上、バッファも大量に必要になる。
【0008】
更に、図7に示したような同一バス接続の構成例では、以下のような問題も生じる。
(6)複数の回線対応部が同時に転送処理を行う場合には、バスの競合により、
1つの転送処理のみが行われ、他の転送処理がブロックされる。
図8に、上記(1)の方法における動作例を示す。図8上では、縦方向が時間の経過を示しており、それぞれの縦線が各部での動作経過時間を示す。以下、回線対応部2に、連続してデータパケットの入力がある場合の動作を説明する。
【0009】
1つ目のデータパケットの転送処理では、通信回線から回線対応部2にデータパケット▲1▼が入力され、そのヘッダ情報を基に、プロトコル処理部1に対して該当する宛先に対する検索要求が発行される。
プロトコル処理部1の検索処理部では、経路情報テーブルの中から上述の該当する宛先がどの回線対応部に転送すべきものかを検索する。検索結果は、検索応答として、検索要求を発行した回線対応部に転送される。
検索結果が回線対応部3であるという結果を受け取った回線対応部2は、バスを介して該当するデータパケットを出力側の回線対応部3に転送する。
【0010】
出力側の回線対応部3では、受け取ったデータパケットのリンクレイヤのアドレスをテーブル上から検索する。ここで、もし、テーブル上にない場合には、ARP(Address Resolution Protocol)などを使用して、回線上にブロードキャストパケットを送出して、戻ってきた返答パケットを解析してリンクレイヤのアドレスを得る。リンクレイヤのアドレスが確定すると、そのアドレスを宛先としてデータパケットを回線上に出力処理する。
以後、同様に、2つ目のデータパケットを処理する。
【0011】
上述の通り、従来のルータ処理装置は、入力側の回線対応部でプロトコル処理部からの経路情報の検索結果が得られない限り、出力側の回線対応部への転送ができなかったり、出力時にリンクレイヤのアドレスに変換するための処理が必要で、高速なデータパケットの転送処理速度を得るのが難かしかった。
図9に、2つの回線対応部2,4に同時にデータパケット入力があった場合を示す。回線対応部2および4では、入力されたデータパケットの宛先フィールドを抽出して、それぞれ、プロトコル処理部に対して検索要求を発行する。
【0012】
このとき、回線対応部2から発行された検索要求▲1▼が少し早く到着したとすると、検索処理▲1▼が先に行われ、検索応答▲1▼が回線対応部2に返された後に、検索要求▲2▼が受け付けられるために、結果として、回線対応部4の検索応答▲2▼は遅延する。
回線対応部2は、検索応答▲1▼を受けて回線対応部3への転送処理を行い、回線対応部3は、宛先リンクレイヤアドレスの変換と回線への出力処理を行う。回線対応部4は、検索応答▲2▼を受けて、回線対応部5への転送処理を行い、回線対応部5は、宛先リンクレイヤアドレスの変換と回線への出力処理を行う。
【0013】
このように、従来のルータ処理装置では、複数の回線対応部からの検索要求を同時に処理する場合に、特定の回線対応部の検索処理が他の検索処理を遅延させるため、システム全体のスループットが上がらないという問題があった。
本発明は上記事情に鑑みてなされたもので、その目的とするところは、従来の技術における上述の如き問題を解消して、収容回線数の増加,転送回線容量の増大,経路情報交換先の増加を行っても、個々のデータパケットの転送処理の能力に影響を及ぼさないルータ処理装置を提供することにある。
【0014】
【課題を解決するための手段】
本発明の上述の目的は、通信回線上のデータパケットを受け取り、また、通信回線上にデータパケットを送出する複数の回線対応部と、経路情報に関するプロトコルデータの処理を行う複数のプロトコル処理部と、前記各部の相互間を結合し、リンクレイヤのアドレスに基づき転送処理を行うスイッチ部とを有するルータ処理装置であって、前記回線対応部の入力側には、前記プロトコル処理部においてプロトコルデータの処理を行った結果から得られた外部アドレス情報と、前記スイッチ部で使用されるリンクレイヤアドレス情報との対応付けを行う変換テーブルを有し、前記各部の相互間でメッセージの授受を行うメッセージ転送手段と、前記回線対応部相互間でデータパケットの授受を行うデータ転送手段とを有し、前記各回線対応部が独立に、通信回線から入力されたデータパケットの外部アドレスの宛先情報を、前記変換テーブルを使って宛先のリンクレイヤアドレス情報に変換し、前記スイッチ部を経由して直接転送することを特徴とするルータ処理装置によって達成される。
【0015】
【発明の実施の形態】
本発明に係るルータ処理装置においては、ルータ処理装置の経路情報制御とデータパケットの転送制御に関する処理を、以下のように実現する。
まず、経路情報に関するプロトコル処理は、以下の各部で機能を分担する。
(1)回線対応部:通信回線のアクセスを行い、他のルータ処理装置とデータを送受する
(2)プロトコル処理部:経路情報に関するプロトコル処理を行う
(3)回線対応部:得られた最新の経路情報を各回線対応部内の変換テーブルに反映する
【0016】
上述の経路情報のプロトコル処理は、回線対応部で経路情報パケットを受信した後にその情報をメッセージ転送手段を使って、プロトコル処理部に転送し、そこで、経路情報のプロトコル処理が実行される。その結果得られた経路情報の更新データをメッセージ転送手段を使って、該当する回線対応部に送付し、各回線対応部では、得られた経路情報とスイッチ部で使用されるリンクレイヤアドレス情報の対応付けを行う変換テーブルを生成する。
【0017】
また、請求項2に係る装置では、上述の変換テーブルのインデックスとして、ホストアドレスを含む宛先アドレス,ホストアドレスを含む送出元アドレス,アプリケーション種別情報,使用プロトコルの情報またはこの組み合わせを指定可能に構成している。請求項3に係る装置では、変換テーブルの変換値に出力許可/禁止を出力可能に構成している。
【0018】
これらの変換テーブルを生成した後に、データパケットの転送制御に関する処理は、以下の各部で機能を分担する。
(1)通信回線に接続された回線対応部
(2)回線対応部の入力側に設けられた、経路情報とリンクレイヤアドレスを変換する変換テーブル
(3)スイッチ部
【0019】
回線対応部で、データパケットを受信した後に、ヘッダ部分の宛先アドレスを抽出し、宛先アドレスから宛先装置に該当するリンクレイヤアドレスに変換するために、変換テーブルを参照する。宛先のリンクレイヤアドレスが決まると、スイッチ部に対してデータ転送手段を使って、データパケットを転送する。スイッチ部では、宛先のリンクレイヤアドレスを持つ装置に対してデータパケットの送出を行う。
また、請求項3に係る装置では、変換結果が出力許可であった場合には転送を行い、出力禁止であった場合には、転送を行わない。
【0020】
以下、本発明の実施例を図面に基づいてより詳細に説明する。
図1は、本発明の一実施例に係るルータ処理装置の構成図である。ここでは、プロトコル処理部が2つ、回線対応部が4つの場合を例に挙げる。
図中、1はプロトコル処理部、2〜5は回線対応部で、11〜14が各回線対応部2〜5単位の通信回線である。また、6はリンクレイヤのスイッチングが可能なスイッチ部、7〜10は各回線対応部2〜5内に備えられている変換テーブルを示している。なお、この変換テーブル7〜10は、通常のメモリなどを使って構成できる。
【0021】
上述のスイッチ部6は、Ethernet switch,FDDI switch,ATM switch,HIPPI switch,Fiber channel switchなどで構成可能である。
プロトコル処理部1,回線対応部2〜5の各モジュール相互間では、メッセージの転送を行うことが可能であり、回線対応部2〜5相互間では、データパケットの授受を行うデータ転送が可能である。プロトコル処理部1,回線対応部2〜5の各モジュールは、プロセッサにスイッチ部のインタフェースを備えた、汎用のワークステーション,パソコン(パーソナルコンピュータ)などで実現することが可能である。
【0022】
なお、上述の通信回線11〜14としては、FDDI,Ether,ATM,HIPPI,Fiber channelなどの通信回線を用いる。
上述のメッセージの転送を行う手段は、通常のマルチプロセッサ間のメッセージパッシングの機構を使うことで実現でき、データ転送手段は、DMA転送などの手段を利用することが可能である。
次に、図2を用いて、実際の経路情報制御およびデータ転送制御の方法を説明する。
【0023】
図2で使用している外部アドレスは、IP(Internet Protocol)準拠の 32bitのアドレス体系を持つものとする。以下で用いる/16の記法は、ネットマスクのビット長を示すもので、/16ならネットワーク部分が16ビットを示す。これは、ネットマスク255.255.0.0と同じ意味である。
図2の構成では、ホスト装置15のIPアドレスは 10.0.0.5/24であり、ホスト装置16のIPアドレスは 10.0.1.6/24である。
【0024】
それぞれの回線対応部にもIPアドレスが付与される。回線対応部2が 10.0.0.1/24、回線対応部3が 10.0.1.1/24、回線対応部4が 10.0.2.1/24、回線対応部5が 10.0.3.1/24のアドレスを持つ。
図2中、17,18は外部に接続された外部ルータ装置(経路情報交換ノード)を示し、IPアドレスは、外部ルータ装置17の通信回線13に接続された側が 10.0.2.2/24、ホスト19と接続され側が 172.16.7.1/16、外部ルータ装置18の通信回線14に接続された側が 10.0.3.3/24、ホスト20と接続され側が192.186.1.11/24である。
【0025】
図2中の19,20はそれぞれ外部ルータ装置17,18の先に接続されたホストで、そのIPアドレスは、ホスト19が172.167.7.8/16、ホスト20が192.168.1.3/24である。
また、スイッチ部6に接続された装置には、それぞれリンクレイヤアドレスが付与され、回線対応部2がアドレス200、ホスト装置15がアドレス201、回線対応部3がアドレス300、ホスト装置16がアドレス301、回線対応部4がアドレス400、外部ルータ装置17がアドレス401、回線対応部5がアドレス500、外部ルータ装置18がアドレス501、また、プロトコル処理部がアドレス999を割り当てている。
【0026】
まず、図2に基づいて、経路情報制御方法を説明する。ここでは、本実施例に係るルータ処理装置が、外部ルータ装置17,18と経路情報の交換を行う方法を説明する。経路情報のプロトコル処理は、プロトコル処理部1で行い、外部ルータ装置17,18からの経路情報は、通信回線13,14を介して回線対応部4,5で受信し、その情報をメッセージ転送手段を使って、スイッチ部6経由でプロトコル処理部1に転送する。プロトコル処理部1では、BGPやOSPFなどの経路情報プロトコル処理が行われる。プロトコル処理部1は、複数台を並列構成にして負荷の低減を図ることも可能である。
【0027】
図3は、上述の動作の結果得られた、本実施例に示すルータ処理装置のプロトコル処理部1で管理する経路情報の一例を示すものである。ここに示す例では、ネットワークアドレス,ネットマスク,ゲートウェイアドレス(中継アドレス),属性などを管理している。外部ルータ装置17から 172.16.0.0/16の経路情報がプロトコル処理部1に転送され、外部ルータ装置18からは192.168.1.0/24の経路情報がプロトコル処理部1に転送され、図3のテーブル上に反映されている。
図3では、本実施例に示すルータ処理装置に接続されたネットワークとして、回線対応部2に接続された10.0.0.0/24,回線対応部3に接続された10.0.1.0/24,回線対応部4に接続された10.0.2.0/24,回線対応部5に接続された10.0.3.0/24の情報がテーブル上に記述されている。
【0028】
上述の処理の結果、経路情報の更新が確認されると、図2のプロトコル処理部1は、メッセージ転送手段を使って、スイッチ部6経由で、各回線対応部2〜5に更新データを伝える。この更新データを受信した回線対応部では、変換テーブル7〜10のエントリの追加/削除などの再生処理を行う。
図4は、経路情報のデータを基に構成された変換テーブルの一例を示すものである。図4に示すように、宛先ネットワークアドレス,宛先ネットマスク,ゲートウェイアドレス(送出中継アドレス)や送出先のリンクレイヤアドレスから構成される。ネットマスクがない場合は、32bit すべてのIPアドレスの比較が必要なアドレスを示す。
【0029】
次に、このように生成された変換テーブルを使用したデータパケット転送制御の動作を、図2を使って説明する。図2において、ホスト装置15からホスト装置16に転送が行われる場合を説明する。
ホスト装置15から送出された宛先が10.0.1.6のデータパケットは、回線11を介して、回線対応部2に入力される。回線対応部2では、図4に示した変換テーブルを使って、インデックスとして、宛先10.0.1.6を指定する。図4からわかる通り、宛先10.0.1.6は、32ビットすべての比較を行う対象であり、リンクレイヤアドレス301に変換可能である。
【0030】
回線対応部2では、アドレス301を指定してスイッチ部6にデータパケットを送出する。その結果、回線対応部3経由でデータパケットがデータパケットが回線12に出力さる。回線12上に接続されたホスト装置16は、自分宛リンクレイヤのアドレスを持つデータパケットであため、それを受信する。このようにして、一連のデータパケット転送処理が実行できる。
更に、図2において、外部ルータに接続されたホスト19からホスト20に転送が行われる場合を示す。
【0031】
ホスト19から送出された、宛先が 192.168.1.3のデータパケットは、外部ルータ装置17でフォワードされて通信回線13を介してルータ処理装置の回線対応部4に入力される。回線対応部4では、図4に示す変換テーブル9を使って、インデックスとして、宛先 192.168.1.3を指定する。
この場合は、この変換テーブル9に書かれたネットワークマスクをかけることによって、32bitのなかで どの部分がテーブル上にあるネットワーク部かを抽出する。その結果、192.168.1.0のエントリ部分のマスクが255.255.255.0であるため、そのマスクを192.168.1.3に適用すると、192.168.1.0が得られて、このエントリと一致したことを示す。
【0032】
そのエントリから、ゲートウェイアドレスが10.0.3.3であることと、そのリンクレイヤのアドレスとして501を変換値として取り出すことができる。回線対応部4では、上述のアドレス501を指定して、スイッチ部6にデータパケットを送出する。その結果、回線対応部5経由でデータパケットが回線14に出力される。回線14上に接続された外部ルータ装置18は、上述のパケットが自分宛リンクレイヤのアドレスを持つデータパケットであるため、これを受信して内部に取り込み、宛先アドレスを解析して、ホスト20にフォワードする。このようにして、一連のデータパケット転送処理が実行できる。
【0033】
図5に、本実施例における動作例を示す。図5は、図8と同様に、縦方向が時間の経過を示しており、それぞれの縦線が各部での動作経過時間を示す。以下、連続してホスト装置15からホスト装置16に対してデータパケットの転送がある場合の動作を説明する。
まず、予め、プロトコル処理部1において、経路情報制御が行われて、その結果に基づいて回線対応部2の変換テーブル7の初期化や生成が行われているものとする。
【0034】
1つ目のデータパケットの転送処理では、回線対応部2にデータパケット▲1▼がホスト装置15から入力され、そのヘッダ情報の宛先IPアドレスをインデックスにして、変換テーブルによりホスト装置16のリンクレイヤアドレスへの変換を行う。そのリンクレイヤアドレスを持つホスト装置16に対して、スイッチ部6経由でデータパケットが回線対応部3経由で直接転送される。
【0035】
2つ目のデータパケットの転送処理も同様に行われるが、回線対応部2内で独立して送出先が決定できるため、パイプライン的に連続動作が可能である。
なお、回線対応部2からホスト装置16へのデータパケットの転送処理▲1▼は、DMAで行われるために、データパケットの入力処理▲2▼と並行して行うことも可能である。
【0036】
次に、図6を用いて、本実施例における並列動作例を示す。図6も、図5,図8と同様に、縦方向が時間の経過を示しており、それぞれの縦線が各部での動作経過時間を示す。以下、連続してホスト装置15からホスト装置16に対してデータパケットの転送がある場合と、ホスト19からホスト20に対してデータパケットの転送が同時に発生した場合の動作を説明する。
ここでも、図5に示した例と同様に、予め、プロトコル処理部1において、経路情報制御が行われて、その結果に基づいて回線対応部2の変換テーブル7の初期化や生成が行われているものとする。
【0037】
本実施例における並列動作は、2つの回線対応部2,4に同時にデータパケット入力があった場合を示す。回線対応部2および4では、入力されたデータパケットの宛先フィールドを抽出して、同時に変換テーブルにより、出力するリンクレイヤアドレスを決定する。この結果、回線対応部2はホスト装置16に対して転送処理▲1▼を行い、回線対応部4は外部ルータ装置18に対して、転送処理▲2▼を行う。この2つの転送処理は、ノンブロック構成のスイッチ部6のメカニズムにより、同時に転送可能である。
【0038】
このように、複数の回線対応部からの出力処理が並列に行えることで、システム全体のスループットを上げることが可能である。
また、請求項2に基づく変換テーブルでは、図4に示す宛先情報の他、送出元アドレスやプロトコル種別などをインデックスとして変換可能に構成したので、よりきめ細かい変換制御が可能になる。更に、請求項2に基づく変換テーブルでは、変換値として回線対応部のポートアドレスの他に、出力許可/禁止を変換値として取り出すことも可能である。
なお、上記各実施例は本発明の一例を示したものであり、本発明はこれらに限定されるべきものではないことは言うまでもないことである。
【0039】
【発明の効果】
以上、詳細に説明した如く、本発明によれば、収容回線数の増加,転送回線容量の増大,経路情報交換先の増加を行っても、個々のデータパケットの転送処理の能力に影響を及ぼさないルータ処理装置を実現できるという顕著な効果を奏するものである。
より具体的には、発明が解決しようとする課題の項に記載した課題をすべて解決し、実用上非常に有効なルータ処理装置を実現できるものである。
【図面の簡単な説明】
【図1】本発明の一実施例に係るルータ処理装置の構成図である。
【図2】実施例に係るルータ処理装置における、経路情報制御およびデータ転送制御の方法を説明する図である。
【図3】実施例に係るルータ処理装置における、プロトコル処理部で管理する経路情報を説明する図である。
【図4】実施例に係るルータ処理装置における、変換テーブルの構成を説明する図である。
【図5】実施例に係るルータ処理装置の動作を説明する図(その1)である。
【図6】実施例に係るルータ処理装置の動作を説明する図(その2)である。
【図7】従来のルータ処理装置の構成図である。
【図8】従来のルータ処理装置の動作を説明する図(その1)である。
【図9】従来のルータ処理装置の動作を説明する図(その2)である。
【符号の説明】
1 プロトコル処理部
2〜5 回線対応部
6 スイッチ部
7〜10 変換テーブル
11〜14 通信回線
15,16,19,20 ホスト装置
17,18 外部ルータ装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a protocol processing related to route information in a communication system and a packet router processing device (hereinafter referred to as “router processing device”) that performs a data packet transfer process based on the route information.
[0002]
[Prior art]
Generally, in a router processing device, roughly divided,
(1) Protocol processing related to route information
(2) Data packet transfer processing is performed.
In the conventional router processing apparatus, the protocol processing relating to the route information (1) is performed as follows.
(a) A path information packet is received via a communication line from a partner host that exchanges path information in the line corresponding unit.
(b) Perform protocol processing related to route information.
Conventionally, BGP, OSPF, RIP, or the like has been used as a protocol for route information. References: Nishida, TCP / IP internetworking (ISBN4-915778-23-1), etc.
(c) The protocol processing result is reflected in the path information storage table.
[0003]
In the conventional router processing apparatus, the data packet transfer process (2) is performed as follows.
(d) The data corresponding unit receives the data packet on the communication line and extracts the header portion of the data packet. In the header part, a destination address and a transmission source address are stored.
(e) A search process is performed from the path information storage table using the destination as a key, information such as a gateway address stored in the entry is obtained, and a transmission destination of the data packet is determined.
(f) A conversion process from the destination address to the link layer address is performed. If there is no link layer address on the route information storage table, the link layer address is obtained using ARP (Address Resolution Protocol) or the like. Reference: Above.
(g) A data packet is transmitted with the destination link layer address obtained above as a destination.
[0004]
[Problems to be solved by the invention]
A conventional router processing apparatus has a configuration as shown in FIG. In FIG. 7, 1 is a protocol processing unit, 2 to 5 are line correspondence units, and 11 to 14 are communication lines in units of 2 to 5 units. Here, it is assumed that the
[0005]
(1) Processing related to data packet transfer control is delayed until the search processing is completed.
(2) When processing search requests from a plurality of line corresponding units at the same time, it takes CPU time to search for a specific line corresponding unit, and other search processes may be delayed irregularly. In particular, this problem becomes conspicuous when a plurality of connected lines become high speed like FDDI and B-ISDN.
(3) Every time a search request is input to the part that performs the search processing of route information, an interrupt is generated, CPU time is taken for the interrupt processing, and the real-time property of the entire system is lowered. When a plurality of connected lines become high-speed like FDDI, B-ISDN, one packet interval is shortened, which becomes particularly remarkable.
[0006]
In addition, there is an example in which search results are placed in a cache table held by each line correspondence unit so that frequent search processing requests do not occur, but this also has the following problems.
(4) The contents of the cache table and the latest route information managed by the protocol processing unit are inconsistent and it is necessary to frequently skip special messages in order to match. This message transmission / reception increases as the number of line-corresponding units increases, which makes management by the protocol processing unit difficult and increases the CPU usage rate of the protocol processing unit.
[0007]
In addition, the following problems also occur in the line correspondence section on the output side.
(5) In the line corresponding unit on the output side, a process for converting the destination address into a link layer address and a process for acquiring the link layer address are required. Therefore, CPU time is taken for the conversion process. In addition, for this processing, since data packets are accumulated and transferred to the output line correspondence unit, a delay occurs and a large amount of buffers are required.
[0008]
Furthermore, in the configuration example of the same bus connection as shown in FIG.
(6) When multiple line compatible units perform transfer processing simultaneously, due to bus contention,
Only one transfer process is performed and the other transfer processes are blocked.
FIG. 8 shows an operation example in the method (1). In FIG. 8, the vertical direction indicates the passage of time, and each vertical line indicates the elapsed operation time in each part. Hereinafter, an operation in the case where data packets are continuously input to the
[0009]
In the first data packet transfer process, the data packet {circle over (1)} is input from the communication line to the
The search processing unit of the
The
[0010]
The output
Thereafter, similarly, the second data packet is processed.
[0011]
As described above, the conventional router processing device cannot transfer to the output-side line correspondence unit unless the route information search result from the protocol processing unit is obtained in the input-side line correspondence unit, A process for converting to a link layer address is required, and it is difficult to obtain a high data packet transfer processing speed.
FIG. 9 shows a case where data packets are input simultaneously to the two line
[0012]
At this time, if the search request (1) issued from the
The
[0013]
As described above, in the conventional router processing apparatus, when a search request from a plurality of line corresponding units is processed at the same time, the search process of a specific line corresponding unit delays other search processes, so that the throughput of the entire system is reduced. There was a problem of not going up.
The present invention has been made in view of the above circumstances. The object of the present invention is to solve the above-mentioned problems in the prior art, increase the number of accommodated lines, increase the capacity of transfer lines, and change the route information exchange destination. It is an object of the present invention to provide a router processing apparatus that does not affect the transfer processing capability of individual data packets even if the increase is made.
[0014]
[Means for Solving the Problems]
The above-described object of the present invention is to receive a data packet on a communication line, send a data packet on the communication line, a plurality of line corresponding units, and a plurality of protocol processing units to process protocol data related to route information. A router processing unit that couples the units to each other and performs transfer processing based on a link layer address, and the protocol processing unit receives protocol data at the input side of the line corresponding unit. Message transfer having a conversion table for associating external address information obtained from the result of processing with link layer address information used in the switch unit, and exchanging messages between the units Means and data transfer means for transferring data packets between the line corresponding parts, each line corresponding part Independently, the destination information of the external address of the data packet input from the communication line is converted into the link layer address information of the destination using the conversion table, and directly transferred via the switch unit Achieved by a router processor.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
In the router processing apparatus according to the present invention, the processing related to the routing information control and data packet transfer control of the router processing apparatus is realized as follows.
First, the protocol processing related to route information shares functions with the following units.
(1) Line correspondence part: Accesses the communication line and sends / receives data to / from other router processing devices.
(2) Protocol processing unit: Performs protocol processing related to route information
(3) Line correspondence unit: Reflects the latest route information obtained in the conversion table in each line correspondence unit.
In the above-described protocol processing of route information, after the route information packet is received by the line corresponding unit, the information is transferred to the protocol processing unit using the message transfer means, and the protocol processing of the route information is executed there. The update data of the route information obtained as a result is sent to the corresponding line corresponding unit using the message transfer means, and each line corresponding unit transmits the obtained route information and the link layer address information used in the switch unit. A conversion table for associating is generated.
[0017]
Further, the apparatus according to
[0018]
After generating these conversion tables, the processing related to data packet transfer control shares the functions of the following units.
(1) Line corresponding part connected to communication line
(2) Conversion table provided on the input side of the line interface to convert route information and link layer address
(3) Switch part [0019]
After receiving the data packet, the line corresponding unit extracts the destination address in the header portion, and refers to the conversion table in order to convert the destination address into a link layer address corresponding to the destination device. When the link layer address of the destination is determined, the data packet is transferred to the switch unit using the data transfer means. The switch unit transmits a data packet to a device having a destination link layer address.
The apparatus according to
[0020]
Hereinafter, embodiments of the present invention will be described in more detail with reference to the drawings.
FIG. 1 is a configuration diagram of a router processing apparatus according to an embodiment of the present invention. Here, a case where there are two protocol processing units and four line corresponding units will be described as an example.
In the figure, 1 is a protocol processing unit, 2 to 5 are line corresponding units, and 11 to 14 are communication lines in units of 2 to 5 units.
[0021]
The above-described
It is possible to transfer messages between the modules of the
[0022]
Note that as the above-described
The means for transferring the message described above can be realized by using a normal message passing mechanism between multiprocessors, and the data transfer means can use means such as DMA transfer.
Next, actual path information control and data transfer control methods will be described with reference to FIG.
[0023]
It is assumed that the external address used in FIG. 2 has a 32-bit address system compliant with IP (Internet Protocol). The notation of / 16 used below indicates the bit length of the netmask, and if it is / 16, the network portion indicates 16 bits. This has the same meaning as the netmask 255.255.0.0.
In the configuration of FIG. 2, the IP address of the
[0024]
An IP address is also assigned to each line corresponding unit. The
In FIG. 2,
[0025]
In FIG. 2, 19 and 20 are hosts connected to the ends of the
Each of the devices connected to the
[0026]
First, a route information control method will be described with reference to FIG. Here, a method in which the router processing apparatus according to the present embodiment exchanges route information with the
[0027]
FIG. 3 shows an example of route information managed by the
In FIG. 3, as a network connected to the router processing apparatus shown in this embodiment, 10.0.0.0/24 connected to the
[0028]
As a result of the above processing, when the update of the route information is confirmed, the
FIG. 4 shows an example of a conversion table configured based on route information data. As shown in FIG. 4, it is composed of a destination network address, a destination netmask, a gateway address (outgoing relay address), and a destination link layer address. When there is no netmask, it indicates an address that needs to be compared with all IP addresses of 32 bits.
[0029]
Next, the operation of data packet transfer control using the conversion table generated in this way will be described with reference to FIG. In FIG. 2, a case where transfer from the
The data packet with the destination 10.0.1.6 sent from the
[0030]
The
Further, FIG. 2 shows a case where transfer is performed from the
[0031]
The data packet sent from the
In this case, by applying the network mask written in the conversion table 9, it is extracted which part of the 32 bits is the network part on the table. As a result, since the mask of the entry portion of 192.168.1.0 is 255.255.255.0, when this mask is applied to 192.168.1.3, 192.168.1.0 is obtained, indicating that it matches this entry.
[0032]
From the entry, the gateway address is 10.0.3.3, and the
[0033]
FIG. 5 shows an operation example in the present embodiment. In FIG. 5, as in FIG. 8, the vertical direction indicates the passage of time, and each vertical line indicates the operation elapsed time in each part. The operation when data packets are continuously transferred from the
First, it is assumed that route information control is performed in advance in the
[0034]
In the transfer processing of the first data packet, the data packet {circle around (1)} is input from the
[0035]
The transfer processing of the second data packet is performed in the same manner. However, since the transmission destination can be determined independently within the
Since the data packet transfer process (1) from the
[0036]
Next, the parallel operation example in a present Example is shown using FIG. 6, as in FIGS. 5 and 8, the vertical direction indicates the passage of time, and each vertical line indicates the operation elapsed time in each part. Hereinafter, an operation when data packets are continuously transferred from the
Here, as in the example shown in FIG. 5, the routing information control is performed in advance in the
[0037]
The parallel operation in the present embodiment shows a case where data packet inputs are simultaneously made to the two
[0038]
In this way, output processing from a plurality of line corresponding units can be performed in parallel, so that the throughput of the entire system can be increased.
In addition, since the conversion table according to
In addition, each said Example showed an example of this invention, and it cannot be overemphasized that this invention should not be limited to these.
[0039]
【The invention's effect】
As described above in detail, according to the present invention, an increase in the number of accommodated lines, an increase in transfer line capacity, and an increase in the number of routing information exchange destinations do not affect the transfer processing capability of individual data packets. There is a remarkable effect that it is possible to realize a router processing device that is not present.
More specifically, it is possible to solve all the problems described in the section of the problem to be solved by the invention and to realize a router processing apparatus that is very effective in practice.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a router processing apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a route information control method and a data transfer control method in the router processing apparatus according to the embodiment.
FIG. 3 is a diagram illustrating route information managed by a protocol processing unit in the router processing apparatus according to the embodiment.
FIG. 4 is a diagram illustrating the configuration of a conversion table in the router processing apparatus according to the embodiment.
FIG. 5 is a diagram (part 1) for explaining the operation of the router processing apparatus according to the embodiment;
FIG. 6 is a diagram (part 2) for explaining the operation of the router processing apparatus according to the embodiment.
FIG. 7 is a configuration diagram of a conventional router processing apparatus.
FIG. 8 is a diagram (part 1) for explaining the operation of a conventional router processing apparatus;
FIG. 9 is a diagram (part 2) for explaining the operation of the conventional router processing apparatus;
[Explanation of symbols]
DESCRIPTION OF
Claims (3)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26387496A JP3671360B2 (en) | 1996-10-04 | 1996-10-04 | Packet router processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26387496A JP3671360B2 (en) | 1996-10-04 | 1996-10-04 | Packet router processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10112726A JPH10112726A (en) | 1998-04-28 |
| JP3671360B2 true JP3671360B2 (en) | 2005-07-13 |
Family
ID=17395449
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP26387496A Expired - Fee Related JP3671360B2 (en) | 1996-10-04 | 1996-10-04 | Packet router processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3671360B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6199137B1 (en) * | 1999-01-05 | 2001-03-06 | Lucent Technolgies, Inc. | Method and device for controlling data flow through an IO controller |
| WO2012086068A1 (en) * | 2010-12-24 | 2012-06-28 | 株式会社日立製作所 | Computer system and routing control method |
| JP5728088B2 (en) * | 2011-06-29 | 2015-06-03 | 株式会社日立製作所 | Input / output control device and frame processing method of input / output control device |
-
1996
- 1996-10-04 JP JP26387496A patent/JP3671360B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH10112726A (en) | 1998-04-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6683885B1 (en) | Network relaying apparatus and network relaying method | |
| US6650642B1 (en) | Network relaying apparatus and network relaying method capable of high-speed routing and packet transfer | |
| Aweya | IP router architectures: an overview | |
| US5434863A (en) | Internetworking apparatus for connecting plural network systems and communication network system composed of plural network systems mutually connected | |
| KR100438632B1 (en) | Virtual path-based static routing | |
| EP1002397B1 (en) | A highly integrated multi-layer switch element architecture | |
| US7075889B2 (en) | Packet protection technique | |
| US20110235643A1 (en) | Redirect checking in a network device | |
| JP3113742B2 (en) | Internetwork equipment | |
| US7177310B2 (en) | Network connection apparatus | |
| US6212185B1 (en) | Multiple network address resolution | |
| JPH11112577A (en) | LAN system interconnection system and network service system | |
| US5434855A (en) | Method and apparatus for selective interleaving in a cell-switched network | |
| US6658003B1 (en) | Network relaying apparatus and network relaying method capable of high-speed flow detection | |
| CA2341939C (en) | Label request packet transmission method, packet transfer network and method thereof, and packet transfer device | |
| JPH10303965A (en) | Routing method in router device | |
| JP3671360B2 (en) | Packet router processor | |
| US6671277B1 (en) | Network relaying apparatus and network relaying method capable of high quality transfer of packets under stable service quality control | |
| KR100258264B1 (en) | Layer 3 routing method and device using Ethernet switch | |
| JP3243633B2 (en) | Packet router processing equipment | |
| JP3352073B2 (en) | Internetwork equipment | |
| JP3239836B2 (en) | Router device and transmission route setting method | |
| US7110397B1 (en) | Packet transfer apparatus | |
| JP3435130B2 (en) | Internetwork equipment | |
| JP3475192B2 (en) | Internetwork equipment and router |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041227 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050107 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050218 |
|
| 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: 20050325 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20050325 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050407 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |