JP3508057B2 - レイヤ3スイッチ - Google Patents
レイヤ3スイッチInfo
- Publication number
- JP3508057B2 JP3508057B2 JP37208499A JP37208499A JP3508057B2 JP 3508057 B2 JP3508057 B2 JP 3508057B2 JP 37208499 A JP37208499 A JP 37208499A JP 37208499 A JP37208499 A JP 37208499A JP 3508057 B2 JP3508057 B2 JP 3508057B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- unit
- cpu
- switch
- address
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
特にネットワーク分野におけるレイヤ3スイッチの制御
方式の改良に関する。
て説明する。図3に、一般的なレイヤ3スイッチの構成
図を示す。レイヤ3スイッチとは、IP(Internet Pr
otocol)パケットおよびIPX(Internetwork Packet
Exchange)パケット等のレイヤ3(ネットワーク層)
のアドレスを持つパケット(図4のパケットフォーマッ
ト参照)を、高速にスイッ チングし、サブネット(例
えばサブネットAおよびサブネットB)間を中継するネ
ットワーク中継装置である。レイヤ3スイッチが開発さ
れる以前におけるレイヤ3パケットのスイッチングは、
ルータ内のソフトウェア処理により行われていた。これ
に対し、レイヤ3スイッチは、ルータと同等の機能を持
ち、更にスイッチング処理を専用ASICによりハードウ
ェア化することにより、スイッチング動作を高速に行う
ことを可能とする。
C(Media Access Control:媒体アクセス制御)アドレ
スとは、Ethernetにおけるデータリンク層のアドレスの
ことである。IPアドレスとは、TCP/IPプロトコ
ルで通信を行うためのユニークなアドレスである。ARP
(Address Resolution Protocol:アドレス解決プロ
トコル)とは、宛先IPアドレスから宛先MACアドレス
を見つけ出すプロトコルである。
しながら説明する。この従来技術は、PHY(Physical L
ayer Protocol:物理層プロトコル)300、MAC31
0、アドレス解決部320、サーチメモリ330、スイ
ッチエンジン340、パケットメモリ350、CPU36
0およびメインメモリ370より構成される。ここで、
アドレス解決部320は、パケット制御部321、アド
レス検索部322、CPU割込部323および割込要因レ
ジスタ324を含んでいる。スイッチエンジン340
は、スイッチ制御部341およびパケットメモリ制御部
342を含んでいる。また、CPU360は、処理装置3
61、割込検出部362およびDMA(DirectMemory Acc
ess)転送部363を含んでいる。メインメモリ370
には、パケット格納エリア371がある。更に、パケッ
ト制御部321、パケットメモリ制御部342、DMA転
送部363、処理装置361およびパケット格納エリア
371は、CPUインタフェース380により相互接続さ
れている。CPU割込部323および割込検出部362も
相互接続されている。また、パケット制御部321およ
びスイッチ制御部341は、スイッチインタフェース3
90により接続され、ネットワークから送られてきたパ
ケットのスイッチング処理を行う。サーチメモリ330
は、アドレス検索部322に接続されている。パケット
メモリ350は、パケット制御部342に接続されてい
る。
を受信した場合に、パケットをシリアルデータからパラ
レルデータへ変換する。また、送信の場合には、パラレ
ルデータからシリアルデータへ変換してネットワークへ
送信する。MAC310は、パケットデータのエラーチェ
ック等を行う。アドレス解決部320において、パケッ
ト制御部321は、MAC310とのインタフェース制
御、スイッチインタフェース制御、アドレス検索指示お
よびCPU割込指示を行う。アドレス検索部322は、サ
ーチメモリ330のアドレス検索を行う。CPU割込部3
23は、アドレス解決部320において検出するCPU
宛パケット、宛先不明パケット等の割込要因をCPU36
0へ送る。割込要因レジスタ324には、割込要因が格
納されている。
チ制御部341は、スイッチインタフェース制御、CPU
インタフェース制御およびスイッチ制御を行う。パケッ
ト制御部342は、パケットメモリ350の制御を行
う。このパケットメモリ350には、受信したパケット
が格納されている。CPU360において、処理装置36
1はCPUインタフェースの制御およびDMA転送指示を行
う。割込検出部362は、CPU360に対する割込を検
出する。DMA転送部363は、パケットメモリ330お
よびメインメモリ370間のDMA転送を行う。
び図6のフローチャートを参照して説明する。ネットワ
ークからパケットを受信すると(ステップ400)、PH
Y300からMAC310を介して、アドレス解決部320
のパケット制御部321が受信する(ステップ401)。
アドレス解決部320のパケット制御部321をスイッ
チインタフェース390を介してスイッチエンジン34
0に転送する。このスイッチエンジン340に送られた
パケットは、スイッチ制御部341に送られ、パケット
メモリ制御部342によりパケットメモリ350に格納
される(ステップ402)。これと同時に、パケット制
御部321は、受信したパケットの宛先IPアドレスがサ
ーチメモリ330に登録されているか検索させるために
アドレス検索部322に指示する。そこで、アドレス検
索部322は、サーチメモリ330に宛先IPアドレスが
既に登録されているか否か検索する(ステップ40
3)。
Pアドレスが検出されるとステップ413で装置宛のパ
ケット(RIP、OSPF等のルータ間でやりとりされ
るプロトコルパケット)であるか、「CPU宛パケット」
(以下、「CPU宛パケット」という)か判断する。また
検索結果がサーチメモリ330には登録されていない場
合には、アドレス検索部322は「宛先不明パケット検
出」(以下、「宛先不明パケット」という)としてパケ
ット制御部321に通知する(ステップ404)。パケ
ット制御部321は、CPU割込部323に対してCPU割込
を要求する。CPU割込部323は、CPU360に割込を発
生させる(ステップ405)。
割込を認識すると、処理装置361に通知する。処理装
置361は、DMA転送部363に対してパケットメモリ
350に格納されているパケットを、メインメモリ37
0内のパケット格納エリア371に格納するために、DM
A転送を起動し実行させる(ステップ406)。DMA転送
が完了するとDMA転送部363は、処理装置361に完
了通知する。次に、処理装置361は、アドレス解決部
320の割込要因レジスタ324を読み出し(リード)
して、受信パケットが「CPU宛パケット」であるか「宛
先不明パケット」であるかを調べる(ステップ407、
408)。
ト」と判定された場合には、CPU360は、ARP処理を行
い宛先IPアドレスに対応する宛先MACアドレスを入手す
る(ステップ409)。パケット格納エリア371内に
ある宛先MACアドレス、発信元MACアドレスの書き換えを
行う(ステップ410)。書き換え後、CPU360は、
パケットをパケットメモリ350に転送して格納する
(ステップ411)。そして、パケットメモリ350か
ら該当する送信ポートに対してパケットを出力する(ス
テップ412)。
CPUへの割込は、「宛先IPアドレスがルータ自身のも
の。即ちCPU処理を必要とするパケット(CPU宛パケッ
ト)」の場合と、「アドレス検索を行い該当する宛先IP
アドレスがなく、CPU360にARP処理を依頼する(宛先
不明パケット)」為に割込を行う場合の2種類に大別さ
れる。受信パケットが、「CPU宛パケット」の場合に
は、パケットの全てのデータをメインメモリ370に転
送する必要があるのに対して、「宛先不明パケット」場
合には、受信パケットの全てのデータを転送する必要は
なく、ヘッダ部分の64Byteがあれば十分である。しか
し、従来技術では、CPU割込要因に関係なく全てのパケ
ットをメインメモリ370に転送していた。
「宛先不明パケット」であり、「CPU宛パケット」の発
生頻度と比較して非常に高い。その為、パケットの全デ
ータをメインメモリ370に転送する時間が無駄になる
問題が発生する。また、レイヤ3スイッチの性能指標の
1つである「アドレス学習性能(1秒間に何件の新規ア
ドレスを学習できるかを示す性能)」を著しく低下させ
る要因ともなっていた。また、メインメモリへの不必要
なデータ転送のために、パケットメモリ350のアクセ
ス回数を増加させ、ひいてはレイヤ3スイッチング性能
を低下させる要因となっていた。
パケットがアドレス検索により登録されていない宛先IP
パケット、即ち「宛先不明パケット」を受信した場合に
は、アドレス書き換えに必要なデータのみをメインメモ
リに転送することにより無駄なデータ転送を削減し、ア
ドレス学習性能向上を図るレイヤ3スイッチを提供する
ことである。
複数のMAC、アドレス解決部、サーチメモリ、スイッチ
エンジン、パケットメモリ、メインメモリおよびこれら
とCPUインタフェースを介して相互接続されたCPUで構成
され、アドレス解決部は、パケット制御部、サーチメモ
リに接続されたアドレス検索部およびCPUに割込をかけ
るCPU割込部を含むレイヤ3スイッチであって、アドレ
ス解決部は、パケット制御部に接続され且つ受信パケッ
トのヘッダ部を格納する受信バッファと、パケット制御
部およびCPUインタフェース間に接続され、受信バッフ
ァからのパケットデータをメインメモリへDMA転送するD
MA転送部を含む。
ッファは、受信パケットのヘッダ部分の64Byteを格納
する。CPUは、処理部と、アドレス解決部のCPU割込部に
接続された割込検出部と、この割込検出部から転送され
たパケットのIPアドレスを調べる割込検査部とを含む。
また、メインメモリは、パケット格納エリアに加えて、
パケット判定エリアを有し、パケット格納エリアに格納
されたパケットがCPU宛パケットか宛先不明パケットか
を表示する。更に、スイッチエンジンは、スイッチイン
タフェースを介してアドレス解決部のパケット制御部に
接続されたスイッチ制御部と、パケットメモリに接続さ
れたパケットメモリ制御部とを含む。
の他の目的、特徴および利点を明確にすべく、添付図を
参照して、本発明によるレイヤ3スイッチの好適実施形
態例を詳細に説明する。
ッチの好適実施形態例の構成図を示す。このレイヤ3ス
イッチは、PHY500、MAC510、アドレス解決部52
0、サーチメモリ530、スイッチエンジン540、パ
ケットメモリ550、CPU560およびメインメモリ5
70により構成されている。アドレス解決部520は、
パケット制御部521、アドレス検索部522、CPU割
込部523、DMA転送部524および受信バッファ52
5を含んでいる。スイッチエンジン540は、スイッチ
制御部541およびパケットメモリ制御部542を含ん
でいる。CPU560は、処理部561、割込検出部56
2および割込データ検査部563を含んでいる。また、
メインメモリ570は、パケット格納エリア571およ
びパケット判別エリア572を含んでいる。パケット制
御部521、DMA転送部524、スイッチ制御部54
1、処理部561、割込データ検出部562およびメイ
ンメモリ570は、CPUインタフェース580により相
互接続されている。また、パケット制御部521および
スイッチ制御部541は、スイッチインタフェース59
0に接続されている。更に、サーチメモリ530はアド
レス検索部522に接続され、パケットメモリ550は
パケットメモリ制御部542に接続されている。また、
CPU割込部523は、割込検出部562に接続されてい
る。
されているアドレス解決部520、スイッチエンジン5
40、CPU560およびメインメモリ570を、CPU56
0が処理するためのインタフェースである。スイッチイ
ンタフェース590は、これに接続されるアドレス解決
部520およびスイッチエンジン540によって、ネッ
トワークから送られてきたパケットのスイッチング処理
を行うためのインタフェースである。
る。PHY500は、ネットワークからのパケットを受信
した場合には、このパケットをシリアルデータからパラ
レルデータに変換する。一方、送信の場合には、パラレ
ルデータからシリアルデータへ変換してネットワーク上
に送信する。MAC510は、パケットデータのエラーチ
ェック等を行う。
制御部521は、MAC510からのパケットとのインタ
フェースの制御、アドレス検索部522へのアドレス検
索の指示およびアドレス検索部522からのアドレス検
索の結果で「宛先不明アドレス」であるか「CPU宛パケ
ット」であるかのDMA転送部524への通知を行う。ア
ドレス検索部522は、サーチメモリ530を制御し、
受信パケットの宛先IPアドレスの検索を行い、検索結果
をパケット制御部521に通知する。CPU割込部523
は、CPU560へ割込を行う。DMA転送部524は、受信
パケットが「CPU宛パケット」の場合にはパケットメモ
リ550から、「宛先不明パケット」の場合には受信バ
ッファ525からパケットデータをメインメモリ570
へDMA転送する。受信バッファ525は、受信パケット
のヘッダ部分の64Byteを格納するバッファである。
スイッチ制御部541は、スイッチインタフェース59
0の制御、パケットのスイッチング制御およびCPUイン
タフェース580の制御を行う。パケットメモリ制御部
542は、パケットメモリ550の制御を行う。パケッ
トメモリ550は、受信したパケットが一時格納されて
いる領域である。
インタフェース580の制御、ARP処理およびアドレス
の書き換えを行う。割込検出部562は、アドレス解決
部520からの割込を検出し、割込データ検査部563
に検査を指示する。割込データ検査部563 は、割込
検出部562から指示され転送されたパケットの宛先IP
アドレスがアドレス解決によりサーチメモリ530に登
録されていなかった場合又はCPU560宛の宛先IPアド
レスのパケットであるか否かを調べる。また、メインメ
モリ570において、パケット格納エリア571は、CP
U560で処理が必要なパケットが格納されているエリ
アである。パケット判別エリア572は、パケット格納
エリア571に格納されたパケットが「CPU宛パケッ
ト」であるか「宛先不明パケット」であるかを表示す
る。
実施形態例の動作を、図2のフローチャートを参照して
説明する。ネットワークからパケットを受信すると(ス
テップ600)、このパケットは、PHY500からMAC5
10を介しアドレス解決部520に送られる(ステップ
601)。そこで、パケット制御部521は、パケット
のヘッダ部分の64Byteを受信バッファ525に格納す
る(ステップ602)。次に、受信パケットの宛先IP
アドレスのアドレス検索をアドレス検索部522に指示
する。同時に、パケットはスイッチインタフェース59
0を介してスイッチ制御部541に転送される。スイッ
チ制御部541に渡されたパケットは、パケットメモリ
制御部542によりパケットメモリ550に格納される
(ステップ603)。アドレス検索部522によるサー
チメモリ530の検索の結果をパケット制御部521に
通知する(ステップ604)。この検索の結果、宛先I
Pアドレスがサーチメモリ530に登録されていない、
即ち「宛先不明のパケット」の場合(ステップ605)
には、パケット制御部521はDMA転送部524を起動
する。そこで、DMA転送部524は、受信バッファ52
5格納されているパケットヘッダの64Byteをメインメ
モリ570のパケット格納エリア571に転送する(ス
テップ606)。
致し且つこの宛先IPアドレスが装置宛(ステップ61
4)の場合には、パケットメモリ550に格納されてい
るパケットをメインメモリ570内のパケット格納エリ
ア571にDMA転送する(ステップ615)。この転送
が終了すると、DMA転送部524は、パケット制御部5
21に完了割込をする。パケット制御部521は、メイ
ンメモリ570のパケット判別エリア572に割込要因
を格納して、CPU割込部523にCPU560への割込を指
示する。CPU割込部523は、CPU560の割込検出部5
62へ割込を行う(ステップ607)。割込を検出した
割込検出部562は、割込データ検査部563にDMA転
送されたデータが「宛先不明パケット」か「CPU宛パケ
ット」であるかを調べるように指示する(ステップ60
8)。
09)には、CPU560の処理部561は、ARP処理を行
う(ステップ610)。このARP処理後、CPU560は、
ARPによって入手した宛先MACアドレスおよび発信元MAC
アドレスに基づきパケット格納エリア571のヘッダ部
分の宛先MACアドレスおよび発信元MACアドレスの書き換
えを行う(ステップ611)。書き換え後、このパケッ
トヘッダ64Byteをパケットメモリ550に格納されて
いるパケットのヘッダ64Byteに上書きする。スイッチ
制御部541は、64Byteのパケットをパケットメモリ
制御部542に渡し、パケットメモリ550に格納され
る(ステップ612)。スイッチ制御部541は、パケ
ットメモリ550に格納されているパケットを、宛先IP
アドレスがつながっている該当ポートに送信する(ステ
ップ613)。
適実施形態例の構成および動作を詳述した。しかし、斯
かる実施形態例は、本発明の単なる例示に過ぎず、何ら
本発明を限定するものではないことに留意されたい。本
発明の要旨を逸脱することなく種々の変形変更が可能で
あること、当業者には容易に理解できよう。
イッチによれば、次の如き実用上の顕著な効果が得られ
る。受信したパケットの宛先IPアドレスがアドレス解決
により、サーチメモリに登録されていない(「宛先不明
パケット」)場合には、ルーティング処理のためにアド
レスの書き換えするため、メインメモリにパケットデー
タを転送する場合、アドレス解決部の内のDMA転送機能
により、ルーティングを行うために、MACアドレスの書
き換えに必要なバイト数のパケットデータをCPUを介さ
ずメインメモリに直接転送することを可能とする。従っ
て、無駄なデータ転送をなくすことができ、アドレス学
習性能が向上し且つ無駄なデータ転送によりパケットメ
モリのアクセス回数を削減することよりスイッチング性
能の低下を阻止することが可能である。
例の構成図である。
ーチャートである。
る。
ャートである。
Claims (5)
- 【請求項1】複数の物理層プロトコル(PHY)、複数の
媒体アクセス制御(MAC)、該MACに接続されたアドレス
解決部、該アドレス解決部に接続されたサーチメモリ、
スイッチエンジン、該スイッチエンジンに接続されたパ
ケットメモリ、受信パケットを格納するメインメモリお
よびCPUインタフェースを介して相互接続されたCPUを備
え、前記アドレス解決部は、パケット制御部、前記サー
チメモリに接続されたアドレス検索部および前記CPUに
割込をかけるCPU割込部を含むレイヤ3スイッチにおい
て、 前記アドレス解決部は、前記パケット制御部に接続され
且つ前記受信パケットのヘッダ部分を格納する受信バッ
ファと、前記パケット制御部および前記CPUインタフェ
ース間に接続され、前記受信バッファからパケットデー
タを前記メインメモリへDMA転送するDMA転送部を更に含
むことを特徴とするレイヤ3スイッチ。 - 【請求項2】前記受信バッファは、前記受信パケットの
ヘッダ部分の64Byteを格納することを特徴とする請求
項1に記載のレイヤ3スイッチ。 - 【請求項3】前記CPUは、処理部と、前記アドレス解決
部の前記CPU割込部に接続された割込検出部と、該割込
検出部から転送されたパケットのIPアドレスを調べる割
込データ検査部とを含むことを特徴とする請求項1又は
2に記載のレイヤ3スイッチ。 - 【請求項4】前記メインメモリは、パケット格納エリア
に加えてパケット判定エリアを有し、前記パケット格納
エリアに格納されたパケットがCPU宛パケットか宛先不
明パケットかを表示することを特徴とする請求項1、2
又は3に記載のレイヤ3スイッチ。 - 【請求項5】前記スイッチエンジンは、スイッチインタ
フェースを介して前記アドレス解決部の前記パケット制
御部に接続されたスイッチ制御部と、前記パケットメモ
リに接続されたパケットメモリ制御部とを含むことを特
徴とする請求項1乃至4のいずれかに記載のレイヤ3ス
イッチ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37208499A JP3508057B2 (ja) | 1999-12-28 | 1999-12-28 | レイヤ3スイッチ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37208499A JP3508057B2 (ja) | 1999-12-28 | 1999-12-28 | レイヤ3スイッチ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001189729A JP2001189729A (ja) | 2001-07-10 |
JP3508057B2 true JP3508057B2 (ja) | 2004-03-22 |
Family
ID=18499827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37208499A Expired - Fee Related JP3508057B2 (ja) | 1999-12-28 | 1999-12-28 | レイヤ3スイッチ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3508057B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009088622A (ja) * | 2007-09-27 | 2009-04-23 | Oki Semiconductor Co Ltd | バッファメモリを有するパケット転送装置および方法 |
-
1999
- 1999-12-28 JP JP37208499A patent/JP3508057B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001189729A (ja) | 2001-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8059680B2 (en) | Offload system, method, and computer program product for processing network communications associated with a plurality of ports | |
US6674769B1 (en) | Simultaneous searching of layer 3 policy filter and policy cache in a network switch port | |
US6308218B1 (en) | Address look-up mechanism in a multi-port bridge for a local area network | |
US5940597A (en) | Method and apparatus for periodically updating entries in a content addressable memory | |
JP4685254B2 (ja) | データ通信スイッチ用の優先順位リマッピング | |
EP2019360B1 (en) | Data processing apparatus and data transfer method | |
US20050171937A1 (en) | Memory efficient hashing algorithm | |
KR100798926B1 (ko) | 패킷 스위치 시스템에서의 패킷 포워딩 장치 및 방법 | |
JPH05219064A (ja) | フレーム転送方法及びブリッジ装置 | |
JPH11261649A (ja) | データ処理装置及びそれを適用したルータ・ブリッジ | |
JP2004222229A (ja) | ルータとそのパケット伝送方法 | |
US7248584B2 (en) | Network packet processing | |
JP3545858B2 (ja) | ネットワーク間接続装置及び情報検索装置 | |
US20040081150A1 (en) | Manufacture and method for accelerating network address translation | |
JP3508057B2 (ja) | レイヤ3スイッチ | |
JP3132426B2 (ja) | 高速lanスイッチング制御方法とそのシステム | |
JP3376941B2 (ja) | ルータ装置 | |
JP2790550B2 (ja) | ゲートウェイ装置 | |
JP4029708B2 (ja) | ルータ装置、及び転送制御方法 | |
JP3662618B2 (ja) | マルチプロトコルアドレス検索用連想メモリおよびその検索方法 | |
JP2005333220A (ja) | ネットワークノード装置 | |
TWI830350B (zh) | 用於路由資料封包的方法及電子設備 | |
TWI825293B (zh) | 應用在網路裝置中的電路 | |
JP4079764B2 (ja) | ルータ装置 | |
JPH06224918A (ja) | Lan間接続装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20031211 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090109 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090109 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100109 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |