JP3735755B2 - Packet communication device - Google Patents

Packet communication device Download PDF

Info

Publication number
JP3735755B2
JP3735755B2 JP2001355198A JP2001355198A JP3735755B2 JP 3735755 B2 JP3735755 B2 JP 3735755B2 JP 2001355198 A JP2001355198 A JP 2001355198A JP 2001355198 A JP2001355198 A JP 2001355198A JP 3735755 B2 JP3735755 B2 JP 3735755B2
Authority
JP
Japan
Prior art keywords
packet
transfer
communication
transmission
priority
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
Application number
JP2001355198A
Other languages
Japanese (ja)
Other versions
JP2003158523A (en
Inventor
有田  裕
康弘 中塚
泰夫 渡邊
系 大内
慶裕 田中
利喜 金井
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2001355198A priority Critical patent/JP3735755B2/en
Priority to TW091133137A priority patent/TWI227616B/en
Priority to US10/298,520 priority patent/US20030095560A1/en
Priority to CNB021527369A priority patent/CN1309224C/en
Publication of JP2003158523A publication Critical patent/JP2003158523A/en
Application granted granted Critical
Publication of JP3735755B2 publication Critical patent/JP3735755B2/en
Priority to US12/010,762 priority patent/US7814223B2/en
Priority to US12/873,893 priority patent/US8423661B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、パケット通信装置に係り、特に、複数の通信対象とパケットの送受信および複数の通信対象間で相互に情報の授受を行うための転送用パケットを自動転送するに好適なパケット通信装置に関する。
【0002】
【従来の技術】
パケットを用いた通信装置として、イサーネット(Ethernet)をベースにIP(Internet Protocol)を用いて音声データをやり取りするIP電話などに使用されたものが知られている。この種のパケット通信装置は、CPU、2つのイサーネットコントローラ、転送制御回路、メモリなどを備えて構成されており、一方のイサーネットコントローラをイサーネットを介してHUB(ハブ)に接続し、他方のイサーネットコントローラをイサーネットを介してPC(パーソナルコンピュータ)に接続し、HUBとPCとを通信装置を介して接続することにより、HUBから敷くイサーネットケーブルの本数を削減する方式が採用されている。このパケット通信装置においては、各イサーネットを介して受信したパケットの宛先が通信装置のときには受信したパケットをそのまま処理し、それ以外の宛先のパケットに対しては、宛先を判断して、必要なときには他方のイサーネットにそのパケットを転送するようになっている。これにより、この種のパケット通信装置においては、HUBから送信されたPC宛の受信メールやインターネット情報などのパケットをPC側のイサーネットに転送するとともに、PC側からの送信メールやインターネットアクセスなどのパケットをHUB側に転送し、且つ、受話器から入力された音声を音声データとして送信するとともに受信した音声データを音声としてスピーカから出力したりして、電話機能を実現することができる。この場合、HUB側のイサーネットに接続されたイサーネットコントローラが送信するパケットとして、パケット通信装置がIP電話として送信するための音声データによる送信パケットと、PCから送信された送信パケットの2つが存在するので、HUB側のイサーネットコントローラは送信パケットと転送パケットとを調停するためのアービトレーション処理が必要である。
【0003】
この場合、IP電話ではリアルタイム性が要求される音声データをやり取りするため、PC側から送信されたパケットよりも音声データによるパケットを優先して送信する必要がある。そのため、転送パケットよりも送信パケットが優先して送信されるが、IP電話では、もともと10〜20msに1パケット程度送信するだけで、送信するパケットの量は少なく、比較的リアルタイム性の少ないPC側からのパケットを転送することに支障がでることはない。ただし、PC側からのパケットの量が多くなったときには、転送用パケットを保持するための転送用バッファがオーバーフローを起こすことがある。
【0004】
そこで、特開平5−316147号公報に記載されているように、優先順位ごとに送信するパケットを保持するバッファを設け、各バッファに保持されたパケットを等差級数的に送信するノードをリング状に接続することにより、優先順位の高いパケット(送信パケット)を優先的に送信するとともに、優先順位の低いパケット(転送パケット)にも送信の機会を与えることで、送信用バッファのオーバーフローを防止する構成を採用することもできる。
【0005】
【発明が解決しようとする課題】
従来技術においては、パケット通信装置をIP電話の代わりに、映像を送るIPテレビ電話に適応した場合については十分に配慮されておらず、パケット通信装置をIPテレビ電話に適応したときには転送バッファがオーバーフローを起こす恐れがある。
【0006】
すなわち、IPテレビ電話では、従来のIP電話での音声データに加えて、データ量の多い映像データを送受信するため、送受信するパケットの量が増加する。ところが、IPテレビ電話では、PC側からのパケットの転送よりも、IPテレビ電話が送信する送信パケットを優先して送信するため、PC側からのパケットの転送が滞り、PC側からのパケットを一時的に保持する転送バッファがオーバーフローを起こし、パケットの欠損が発生する。パケットの欠損が発生した場合、正確な情報を得るためにパケットが再送されるので、イサーネットの通信効率の低下を招くことになる。
【0007】
一方、近年、PCがやり取りするインターネットサービスにも、電子メールやホームページアクセスなどのアクセス時間に制限のないものに加えて、最近では、ストリーミングと呼ばれるビデオやインターネットテレビや中継など、通信にリアルタイム性が要求されるインターネットサービスが増加している。このようなサービスに対応するためには、PCが送信したパケットを一括りにはできず、それぞれのサービスが要求するリアルタイム性に応じてパケットごとに優先順位を管理するQoS(Quality of Service)をサポートする必要がでてきている。
【0008】
ところが、従来技術のように、バッファのオーバーフローによるパケット欠損が検出できず、また、パケットに対して固定された優先順位が設定されていたのでは、常に変化するサービスに対して優先度を割り振ることは不可能である。
【0009】
本発明の第1の課題は、転送用バッファ手段のオーバーフローを防止することができるパケット通信装置およびパケット通信モジュールを提供することにある。
【0010】
本発明の第2の課題は、サービスのリアルタイム性に対応することができるパケット通信装置およびパケット通信システムを提供することにある。
【0011】
【課題を解決するための手段】
前記第1の課題を解決するために、本発明は、複数の通信対象とパケットの送信および受信を行う複数の通信手段と、前記複数の通信手段が送信するためのパケットを生成するとともに前記複数の通信手段が受信したパケットを処理するパケット生成処理手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記転送用パケットであると判定したときには前記受信パケットを転送用バッファ手段に出力するとともに、前記パケット生成処理手段の生成によるパケットと前記転送用バッファ手段に保持された転送用パケットのうち一方のパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する転送制御手段とを備え、前記転送制御手段は、前記転送用バッファ手段の使用率が閾値を超えたときには前記転送用パケットに対する優先順位を前記生成によるパケットよりも高くして、前記生成によるパケットに優先して前記転送用パケットを前記指定の通信手段に出力してなるパケット通信装置を構成したものである。
【0012】
前記パケット通信装置を構成するに際しては、前記転送制御手段に、前記複数の通信手段の受信による受信パケットが前記パケット生成処理手段で処理すべきパケットか前記転送用パケットであるか否かを判定し、この判定結果にしたがって前記受信パケットを前記パケット生成処理手段または転送用パケット手段に出力する機能を付加することができる。
【0013】
前記各パケット通信装置を構成するに際しては、以下の要素を付加することができる。
【0014】
(1)前記転送制御手段は、前記パケット生成処理手段で設定可能な優先順位用レジスタを備え、前記優先順位用レジスタには前記転送用バッファ手段の使用率に関する優先順位変更用閾値が設定されてなる。
【0015】
(2)前記転送制御手段は、前記転送用バッファ手段の使用率がフロー制御用閾値を超えたときには転送元の通信対象に対応した指定の通信手段に対してフロー制御用パケットを出力してなる。
【0016】
(3)前記複数の通信手段の受信による受信パケットを一時保持する受信用バッファ手段を備え、前記転送制御手段は、前記受信用バッファ手段の使用率がフロー制御用閾値を超えたときには送信元の通信対象に対応した指定の通信手段に対してフロー制御用パケットを出力してなる。
【0017】
(4)前記パケット生成処理手段で設定可能なフロー制御用レジスタを備え、前記フロー制御用レジスタには前記転送用バッファ手段または前記受信用バッファ手段の使用率に関するフロー制御用閾値が設定されてなる。
【0018】
また、パケット通信モジュールを構成するに際しては、複数の通信対象とパケットの送信および受信を行う複数の通信手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記転送用パケットであると判定したときには前記受信パケットを転送用バッファ手段に出力するとともに、送信用パケットと前記転送用バッファ手段に保持された転送用パケットのうち一方のパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する転送制御手段とを備え、前記転送制御手段は、前記転送用バッファ手段の使用率が閾値を超えたときには前記転送用パケットに対する優先順位を前記送信用パケットよりも高くして、前記送信用パケットに優先して前記転送用パケットを前記指定の通信手段に出力してなるものを用いることができる。
【0019】
前記パケット通信モジュールを構成するに際しては、以下の要素を付加することができる。
【0020】
(1)前記転送制御手段は、前記パケット生成処理手段で設定可能な優先順位用レジスタを備え、前記優先順位用レジスタには前記転送用バッファ手段の使用率に関する優先順位変更用閾値が設定されてなる。
【0021】
前記第2の課題を解決するために、本発明は、IPアドレスとその補助アドレスであるポートを含むパケットの送信および受信を複数の通信対象と行う複数の通信手段と、前記パケットのリアルタイム性に関する優先順位を前記IPアドレスと前記ポートの組み合わせに従って判定する優先順位判定手段と、前記リアルタイム性に関する優先順位に対応づけて送信用パケットを保持する複数の送信用バッファ手段と、前記複数の送信用バッファ手段に保持された送信用パケットのうち一番優先順位の高いパケットを前記優先順位判定手段の判定結果に従って選択して送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する優先パケット選択手段とを備えてなるパケット通信装置を構成したものである。
【0022】
前記パケット通信装置を構成するに際しては、転送制御手段に、前記複数の通信手段の受信による受信パケットが前記パケット生成処理手段で処理すべきパケットか前記転送用パケットであるか否かを判定し、この判定結果にしたがって前記受信パケットを前記パケット生成処理手段または転送用バッファ手段に出力する機能を付加することができる。
【0023】
前記各パケット通信装置を構成するに際しては、以下の要素を付加することができる。
【0024】
(1)前記優先パケット選択手段は、前記複数の送信用バッファ手段のうちいずれかの送信用バッファ手段の使用率が閾値を超えたときには、当該送信用バッファ手段に保持されたパケットを他のパケットに優先して前記指定の通信手段に出力してなる。
【0025】
(2)前記優先パケット選択手段は、前記パケット生成処理手段で設定可能なレジスタを備え、前記レジスタには前記転送用バッファ手段の使用率に関する閾値が設定されてなる。
【0026】
また、本発明は、IPアドレスとその補助アドレスであるポートを含むパケットの送信および受信を行う複数のパケット通信装置と、前記複数のパケット通信装置間で送受信されるパケットのリアルタイム性に関する優先順位を前記IPアドレスと前記ポートの組み合わせに従って決定する優先順位制御部とを備え、前記複数のパケット通信装置は互いに直列に接続されてなるパケット通信システムを構成したものである。
【0027】
前記パケット通信システムを構成するに際しては、前記複数のパケット通信装置として、前記パケット通信装置のうちIPアドレスとその補助アドレスであるポートを含むパケットの送受信を行うものを用いることができる。
【0028】
前記した手段によれば、転送用パケットの転送に優先して送信用パケットを送信しているときに、転送用バッファ手段の使用率が閾値を超えたときには転送用パケットに対する優先度を送信用パケット(生成によるパケット)よりも高くして、送信用パケットに優先して転送用パケットを指定の通信手段に出力するようにしているため、転送用バッファ手段のオーバーフローを防止することができる。
【0029】
この場合、転送用バッファ手段の使用率が閾値以下になったときには、送信用パケットが優先して送信されるため、送信用パケットの送信効率が低下するのを抑制することができる。
【0030】
また、受信パケットが転送用パケットであるか否かを判定するときに、受信パケットに付されたアドレス(MACアドレス)を基に判定することで、パケット生成処理手段の負荷を軽減することができる。
【0031】
一方、IPアドレスとその補助アドレスであるポートを含むパケットの送受信を行っているときに、パケットのリアルタイム性の要求にしたがって、送受信されるパケットの優先順位をIPアドレスとポートの組合わせにしたがって決定するようにしているため、刻一刻と変化するサービスの内容に追従してパケットを送受信することができ、リアルタイム性を確保することができる。
【0032】
すなわち、複数の送信用バッファ手段に保持された送信用パケットのうち一番優先順位の高いパケットを優先順位判定手段の判定結果にしたがって選択し、選択したパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力することで、リアルタイム性を確保することができる。
【0033】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。図1は、本発明の一実施形態を示すパケット通信装置のブロック構成図、図2は本発明に係るパケット通信装置を2チャネルイサーネット(Channel Ethernet)網に適応したときのパケット通信システムのブロック構成図である。図2において、パケット通信装置としての2チャネルイサーネット通信装置800は、2チャネル分の通信路(通信手段)を備えており、各チャネルの通信路はそれぞれPHY(Physical layer transceiver)810a、810bを介してイサーネット820a、820bにそれぞれ接続されている。各イサーネット820a、820bには、PC(パーソナルコンピュータ)などで構成されるイサーネット通信装置830a、830bが接続されている。各イサーネット820a、820bはそれぞれ独立に動作可能に構成されており、各イサーネット通信装置830a、830bは、イサーネット820a、820bを介して、規格IEEE802.3およびIEEE802.1Q/Dにしたがったイサーネットパケット(以下パケットと称する。)を送受信することにより、装置間で通信ができるようになっている。通信装置830aと通信装置830bとの間でパケットの送受信を行うときには、イサーネット820a、イサーネット通信装置800、イサーネット820bを介して行われる。この場合、2チャネルイサーネット通信装置800は、パケットの送受信を行うとともに、イサーネット820a、820b間におけるパケットの転送を行う機能を備えており、これにより、通信装置830aと通信装置830bとの間で2チャネルイサーネット通信装置800を介して通信を行うことができる。
【0034】
2チャネルイサーネット通信装置800を複数台互いに接続するに際しては、図3に示すように、イサーネットを介して互いに直列に接続すれば、図4に示すように、HUBを介して各通信装置800を接続する場合に比べて配線長を大幅に削減することができる。
【0035】
以下、2チャネルイサーネット通信装置800の具体的構成について説明する。2チャネルイサーネット通信装置800は、図1に示すように、CPU1と、メモリ2と、2チャネルイサーネット通信モジュール(以下、2チャネル通信モジュールと称する。)4と、それらを互いに接続するバス3から構成されている。2チャネル通信モジュール4は、バスI/F(インターフェース)回路400、2つのバッファ100a、100b、2つのイサーネットMAC(MediaAccess Control)300a、300b、転送判定回路200を備えて構成されており、MAC300aはPHY810a、イサーネット820aを介してイサーネット装置830aに接続され、イサーネット装置830aとパケットの送受信を行うようになっている。すなわち、MAC300aは、PHY810a、イサーネット820aを介して、通信対象としてのイサーネット装置830aとパケットの送受信を行う通信手段として構成されている。
【0036】
一方、MAC800bはPHY810b、イサーネット820bを介してイサーネット装置830bに接続され、イサーネット装置830bとパケットの送受信を行うようになっている。すなわち、MAC300bは、PHY810b、イサーネット820bを介して、イサーネット装置830bを通信対象としてパケットの送受信を行う通信手段として構成されている。
【0037】
この場合、MAC300a、300bが送受信するパケットは、2チャネル通信モジュール4および2チャネル通信装置800では、送信、受信、転送の3種類のパケットに分類される。そこで、以下、混乱を避けるために、2チャネル通信装置800および2チャネル通信モジュール4がパケットを送受信する場合を送信(送信する)、受信(受信する)、送受信と呼び、MAC300a、300bがパケットを送受信することをパケットの送出(送出する)、受取(受け取る)、送受と呼ぶことにする。
【0038】
メモリ2には、図5に示すように、CPU1が実行するプログラム20a、プログラム20aの実行状態を保持するワークエリア20b、2チャネル通信装置800がイサーネット820a、(820b)へ送信するためのパケットを保持する送信ディスクリプタ21a、(21b)、イサーネット820a、(820b)から受信したパケットを保持する受信ディスクリプタ22a、(22b)を備えて構成されている。
【0039】
一方、CPU1は、バス3を介して、メモリ2および2チャネル通信モジュール4にアクセスし、メモリ2に書き込まれたプログラム20aを実行し、2チャネル通信モジュール4の状態(レジスタ)をアクセスし、メモリ2内の受信ディスクリプタ22a、22bにそれぞれ保持された受信パケットを読み込んで処理するとともに、送信パケットを生成し、生成した送信パケットをメモリ2内の送信ディスクリプタ21a、21bに書き込むように構成されている。すなわちCPU1は、MAC300a、300bが送信するための送信パケットを生成するとともに、MAC300a、300bが受信したパケットを処理するパケット生成処理手段として構成されている。
【0040】
図6に、バスI/F回路400、バッファ100a、100bおよび転送判定回路200の具体的構成を示す。バスI/F回路400は、入出力バッファ440、セレクタ430、入出力バッファ440およびセレクタ430を制御する制御回路410、レジスタ420を備えて構成されており、セレクタ430は、バッファ100a、100bの受信FIFO(First In First Out)110a、110bの出力によるパケットを選択し、選択したパケットを入出力バッファ440に出力するようになっている。入出力バッファ440はバス3からのパケットをバッファ100a、100bの送信FIFO120a、120bに出力するように構成されている。すなわち、制御回路410は、メモリ2内にある送信ディスクリプタ21a、21bを監視し、CPU1により、送信ディスクリプタ21a、21bにパケットが登録されたときには、入出力バッファ440を入力状態として、送信ディスクリプタ21a、(21b)に登録されたパケットをバス3を介して送信FIFO120a、(120b)に転送する。同様に、制御回路410は、受信FIFO110a、110bを監視し、転送判定回路200を介して受信FIFO110a、110bにパケットが書き込まれたときには、入出力バッファ440を出力状態とし、セレクタ430に受信FIFO110a、110bの出力によるパケットを選択させ、選択されたパケットをバス3を介してメモリ2内の受信ディスクリプタ22a、22bに転送する。
【0041】
バッファ100a、100bは、それぞれ受信したパケットを一時的に保持する受信FIFO110a、110b、送信するパケットを一時的に保持する送信FIFOを120a、120bを備えているとともに、MAC300aとMAC300bとの間でパケットを転送するために使用する転送FIFO130a、130bを備えて構成されている。すなわち、転送FIFO130a、130bは、イサーネット装置830aと830bとの間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段として構成されており、転送FIFO130aにはイサーネット装置830aからイサーネット装置830bに転送するための転送用パケットが保持され、転送FIFO130bには、イサーネット装置830bからイサーネット装置830aに転送するための転送用パケットが保持されるようになっている。
【0042】
転送判定回路200は、セレクタ210a、210bと、バッファ100a、100bを制御するための制御回路220a、220bと、転送判定回路200の状態を保持するレジスタ230a、230bと、MAC300a、300bが受け取ったパケットを2チャネル通信装置800および2チャネル通信モジュール4が受信するかあるいは他方のMAC300aまたは300bに転送するか否かの判定情報を保持するCAM(Content Addressable Memory)240a、240bと、送信FIFO120aと転送FIFO130bからのパケットのうちいずれかのパケットを選択してMAC300aに出力するセレクタ210aと、送信FIFO120bと転送FIFO130aからのパケットのうちいずれかのパケットを選択してMAC300bへ出力するセレクタ210bとを備えて構成されている。
【0043】
レジスタ230a、230bは、図7に示すように、6本のレジスタR2301〜2306から構成されている。レジスタR2301は、MAC300a、300bが受け取ったパケットの宛先MACアドレスがCAM240a、240bに未登録だった場合の処理(受信、転送、受信&転送、破棄)を設定するレジスタである。レジスタ2302は、通常時、MAC300a、(300b)が送出するパケットを送信FIFO120a、120bか転送FIFO130a、130bのどちらを優先するかを設定するレジスタであり、普通は送信FIFO120a、120bを選択する。レジスタR2303、R2304は、優先切替を行う送信FIFO120a、120b、転送FIFO130a、130bの使用率の閾値(優先順位変更用閾値)を設定するレジスタである。レジスタR2305、R2306は、フロー制御を発動する受信FIFO120a、120b、転送FIFO130a、130bの使用率の閾値(フロー制御用閾値)を設定するレジスタである。レジスタR2303〜R2306における閾値は0〜100%まで選択可能であり、0%が指定されたときには無効設定となる。また、各閾値はCPU1によって設定されるようになっている。
【0044】
CAM240a、240bは連想メモリと呼ばれる特殊メモリで構成されており、図8に示すように、各エントリには各MACアドレスと、それに対応して受信、転送、受信&転送、破棄するかの処理情報およびワークエリアが設けられ、アドレスの代わりにMACアドレスを入力として、入力MACアドレスと一致するMACアドレスを持つエントリの当該処理情報を出力するようになっている。また、ワークエリアはCPU1が、エントリの更新を行う際に使用する。また、複数のエントリでMACアドレスの一致が発生した場合、index番号が1番若いエントリの処理番号を出力する。このCAM240a、240bのエントリの設定および更新はCPU1により実行される。
【0045】
上記構成によるCAM240a、240bは、MAC300a、300bが受け取ったパケットをそのパケットの宛先MACアドレスから受信、転送、受信&転送、破棄のいずれかを判定するために使用されるようになっている。すなわち、図2に示す通信システムが構築された際には、イサーネット装置830a、イサーネット装置830b、2チャネルイサーネット通信装置800に対してそれぞれ各装置固有のアドレスとしてMACアドレスが設定される。このため、イサーネット装置830aから送信されたパケットの宛先MACアドレスがイサーネット装置830bの宛先MACアドレスであるときには2チャネルイサーネット装置800が受信したパケットはイサーネット装置830bへ転送する転送用パケットであることが分かる。またイサーネット装置830aから送信されたパケットの宛先MACアドレスが2チャネルイサーネット通信装置800に対する宛先MACアドレスのときには2チャネルイサーネット通信装置800が受信すべきパケットであると判定することができる。
【0046】
例えば、index0のMACアドレスが2チャネルイサーネット通信装置800に入力されたときには、このパケットはイサーネット装置830aまたはイサーネット装置830bに転送すべきパケットであると判定され、indexNに対応したMACアドレスのパケットを受信したときには、2チャネルイサーネット通信装置800が受信すべきパケットであると判定することができる。この際、一致するMACアドレスを持つエントリがなかった場合は、レジスタR2301により、受信、転送、受信&転送、破棄のいずれかを設定することになる。
【0047】
上記構成による転送判定回路200において、制御回路220a、220bは、受信FIFO110a、110b、送信FIFO120a、120bおよび転送FIFO130a、130bの使用率を常にチェックし、フロー制御の発動、図9に示すように、セレクタ210a、210bの切替およびMAC300a、300bが受け取ったパケットを受信、転送、受信&転送、破棄するか否かを決定するようになっている。
【0048】
まず、フロー制御を発動するに際しては、受信FIFO110a、110bの使用率がレジスタR2305で指定された閾値を越えたときまたは転送FIFO130a、130bの使用率が同じくレジスタR2306で指定された閾値を越えた場合に、MAC300a、300bに対してフロー制御用のパケットを送信させるようになっている。フロー制御用のパケットが送信されると、MAC300a、300bが受け取るパケット数が2チャネル通信装置800の受信および転送処理できるパケット数を上回り、MAC300が受け取ったパケットを処理できずに、破棄されることを防ぐ。すなわち、2チャネル通信装置800が受信および転送処理できるパケットの数が、MAC300a300bが受け取るパケットの数を超えた場合、パケットの送信元に対してパケットの送信を一時的に控えさせることで、パケットの破棄を防ぐことができる。
【0049】
次に、制御回路220a、220bは、送信FIFO220a、220b、転送FIFO130a、130bの使用率を監視し、セレクタ210a、210bの切替を制御する。通常時、すなわち送信FIFO120a、120bの使用率がレジスタR2303で指定された閾値以下の場合および転送FIFO130a、130bの使用率がレジスタR2304で指定された閾値以下の場合、レジスタR2302で指定されたFIFOの出力によるパケットがセレクタ210a、210bによって選択される。一方、送信FIFO120a、120bの使用率のみがレジスタR2303で指定された閾値を越えた場合、送信FIFO120a、120bの出力によるパケットがセレクタ210a、210bによって選択される。逆に、転送FIFO130a、130bの使用率のみがレジスタR2304で指定された閾値を越えた場合、転送FIFO130a、130bの出力によるパケットがセレクタ210a、210bによって選択される。これにより、レジスタR2302が送信FIFO120a、120bを優先すると設定されている場合、送信ディスクレプタ21a、21bから送信FIFO120a、120bへの送信パケットの転送が多いため、すなわち送信パケットが優先して送信されるため、転送パケットの送出が滞り、転送FIFO130a、130bのオーバーフローの発生を防ぐことができる。
【0050】
また、制御回路220a、(220b)は、MAC300a、(300b)が受け取ったパケットの宛先MACアドレスCAN240a、(240b)に問い合わせ、受信、転送、受信&転送、破棄するか否かを判定する。受信する場合には、受信FIFO110a、(110b)に、転送する場合には、転送FIFO130a、(130b)に、受信&転送する場合には受信FIFO110a、(110b)と転送FIFO130a、(130b)の両方にそれぞれMAC300a、(300b)が受け取ったパケットを書き込む。破棄する場合は、受信FIFO110a、(110b)、転送FIFO130a、(130b)のいずれにも当該パケットを書き込まずそのまま破棄する。
【0051】
次に、パケットの送信処理を図10にしたがって説明する。2チャネル通信装置800および2チャネル通信モジュール4において、パケットの送信を行うに際しては、2チャネル通信モジュール4がCPU1の起動を受けたときに、バスI/F回路400の制御回路410の制御により、メモリ2にある送信ディスクリプタ21a、(21b)から送信パケットを読み出し、送信FIFO120a、(120b)に書き込み、当該パケットデータを送信FIFO120a、(120b)から読み出してイサーネット820a、(820b)に送出する。
【0052】
次に、パケットの受信および転送処理は、図11に示すように、MAC300a、(300b)がパケットを受け取ると、転送判定回路200がパケットの宛先MACアドレスを調べ、受信すべきパケットか転送すべきパケットかを判断する。受信すべきパケットであると判断したときには、当該パケットを受信FIFO110a、(110b)に書き込む。これを受けてバスI/F回路400が受信FIFO110a、(110b)から当該パケットを読み出し、このパケットをバス3を介してメモリ2内の受信ディスクリプタ22a、(22b)に書き込む。
【0053】
一方、パケットを転送する場合には、転送判定回路200は、MAC300a、(300b)が受け取ったパケットを転送FIFO130a、(130b)に書き込む。それを受けて、MAC300b、(300a)は転送FIFO130a、(130b)から当該パケットを読み出し、イサーネット820b、(820a)にそれぞれ送出する。
【0054】
ここで、MAC300a、(300b)が送出するパケットは送信FIFO120a、(120b)と転送FIFO130b、(130a)からのパケットであり、転送判定回路200はこのどちらのFIFOのパケットを優先して送出するかのアービトレーションを行う。通常、送信FIFO120a、120b内のパケットが優先して送出されるが、送信ディスクリプタ21a、21bから送信FIFO120a、120bに次々とパケットが転送されると、送信FIFO120a、120b内のパケットが優先して送信されるため、転送FIFO130a、130b内のパケットの送出が滞り、フロー制御の発動や、転送バッファのオーバーフローが発生し、イサーネット820a、820bの通信効率が低下することになる。
【0055】
そこで、本実施形態における転送制御回路200は、送信FIFO120a、120bと転送FIFO130a、130bの使用率を常に監視して、転送FIFO130a、130bの使用率が予め定められた閾値(優先順位変更用閾値)を超えた場合は、転送FIFO130b、(130a)内のパケットを送信FIFO120a、(120b)内のパケットに優先して送出することで、転送FIFO130a、130bのオーバーフローを回避し、イサーネット820a、820bの通信効率の低下を防ぐこととしている。
【0056】
すなわち、転送判定回路200とバスI/F回路400は、転送FIFO130a、130bの使用率が閾値(優先順位変更用閾値)を超えたときには転送FIFO130a、130bに対する優先順位をCPU1の生成による送信パケットよりも高くして、送信パケットに優先して転送用パケットを指定のMAC300aまたはMAC300bに出力する転送制御手段として構成されている。
【0057】
このように、本実施形態によれば、転送FIFO130a、130bの使用率が閾値を超えたときには転送パケットに対する優先順位を送信パケットよりも高くして、送信パケットに優先して転送用パケットを指定の通信手段に出力するようにしているため、転送FIFO130a、130bのオーバーフローを回避し、イサーネット820a、820bの通信効率の低下を防止することができる。
【0058】
以上の処理により、2チャネル通信モジュール4はパケットの送信、受信、転送処理を実現することができる。
【0059】
次に、本発明に係るパケット通信装置をIP電話に適応したときのパケット通信システムの実施形態を図12にしたがって説明する。
【0060】
IP電話8000aは、2つのイサーネット820a、820bに接続されており、一方のイサーネット820aはインターネットやイントラネットに接続されているHUB8100に接続され、他方のイサーネット820bはイサーネット通信装置830としてのPCに接続されている。HUB8100はインターネットやイントラネットなどのWAN(Wide Area Network)を介して、IP電話8000bと、ホームページデータを保持しているデータセンサ8200に接続されている。
【0061】
IP電話8000は、その内部に2チャネル通信装置800、2つのPHY810a、810b、受話器8010、アナログ信号である音声入力信号をディジタル信号に変換するA/D変換器8020、その逆にディジタル信号をアナログ信号である音声出力信号に変換するD/A変換器8030備えて構成されている。受話器8010は、音声をアナログ信号に変換するマイク8011と、アナログ信号である音声出力信号を音声に変換するスピーカ8012を備えて構成されている。
【0062】
IP電話8000aとIP電話8000bとの間の通話は以下のようにして行われる。IP電話8000aのマイク8011より入力された音声は、A/D変換器8020によりディジタル信号に変換されて2チャネル通信装置800に入力される。2チャネル通信装置800内のCPU1は、ディジタル信号を音声パケットに変換し、送信パケットとして、MAC300aからイサーネット820aに送信する。イサーネット820aに送信されたパケットは、HUB8100aからWANを通って相手側のIP電話8000bに送られる。相手側のIP電話8000bは、IP電話8000aが送信した音声パケットを受信すると、2チャネル通信装置800内のCPU1で、受信した音声パケットを音声データに変換してD/A変換器8030に出力する。この音声データはD/A変換器8030によりアナログ信号である音声信号に変換され、スピーカ8012から音声として出力される。IP電話8000bからIP電話8000aに対する通信処理も同様に行われ、IP電話8000aとIP電話8000bとの間で通話が実現する。
【0063】
次に、IP電話8000aを介して接続されたPC830がデータセンタ8200にあるホームページを読み込む処理は以下のように行われる。PC830がウェブブラウザを用いて、ホームページを表示する場合には、表示するホームページのURLの情報を持ったパケットがイサーネット820bに送信される。このパケットを2チャネル通信装置800のMAC300bが受信すると、このパケットの宛先のMACアドレスはIP電話8000宛ではないため、MAC300aからイサーネット820aに転送される。転送されたパケットは、HUB8100を通り、WANを介してデータセンタ8200に到着する。データセンタ8200ではPC830が送信したパケットからURL情報を読み出し、対応するホームページの情報をパケット化して送信する。データセンタ8200から送信されたパケットは、WANを介してHUB8100に到着したあとイサーネット820aを介して2チャネル通信装置800内のMAC300aに受け取られる。このとき2チャネル通信装置800内の転送判定回路200は、データセンタ8200から送信したパケットの宛先MACアドレスを検索してPC830宛であると判定したときには、このパケットをイサーネット820bに転送する。PC830がパケットを受信すると、PC830では受け取ったパケットからホームページデータを取り出し、ウェブブラウザに表示する。以上の処理によりIP電話8000およびPC830との間で通信が行われることになる。
【0064】
次に、本発明の他の実施形態を図13にしたがって説明する。本実施形態は、図2に示す2チャネルイサーネット通信装置800の代わりに、2チャネルイサーネット通信装置850をパケット通信装置として用いたものである。本実施形態においては、2チャネルイサーネット通信装置850とイサーネット通信装置830a、830bとが送受信するパケットは、そのパケットが属するサービスによりリアルタイム性の要求の程度が異なることを考慮し、このサービスにしたがって送信パケットの優先順位を決定することとしている。すなわち、サービスはIPアドレスとその補助アドレスであるポートとの組合わせにより区別できるため、本実施形態においては、IPアドレスとポートとの組合わせにしたがってリアルタイム性の要求の高いものから優先順位を割り振ることとしている。2チャネル通信装置850は、この優先順位にしたがって、送信および転送するパケットの順位を決定することで、各サービスが要求するリアルタイム性(QoS)を実現することとしている。
【0065】
2チャネルイサーネット通信装置850は、パケット生成処理手段としてのCPU1と、プログラムなどを記憶するメモリ2と、2チャネル通信モジュール4とを備えて構成されており、各部がバス3を介して接続されている。
【0066】
2チャネル通信モジュール4は、バス3を介してCPU1およびメモリ2とデータの授受を行うバスI/F回路450と、送信、受信および転送パケットを保持するバッファ150a、150bと、パケットの送出および受取を行うMAC300a、300bと、MAC300a、300bが受け取ったパケットを受信するか転送するかを判定する転送判定回路250と、MAC300a、300bがパケットを送出するに際して、バッファ150a、150bに保持されている送信および転送パケット対する優先順位をIPアドレスとポートとの組合わせから判定する優先順位判定回路500から構成されている。
【0067】
2チャネルイサーネット通信装置850、イサーネット通信装置830a、830bに対する優先順位を決定するに際しては、例えば、いずれかの通信装置を優先順位制御部として用い、この優先順位制御部でIPアドレスとポートとの組合わせにしたがって優先順位をサービスごとに随時決定し、この決定にしたがった優先順位を各通信装置に送信することとしている。
【0068】
バッファ150a、150bは、図14に示すように、受信FIFO160と、転送するパケットを一時的に保持する転送FIFO165、N個の送信および転送パケットを保持する送出FIFO170−1〜NおよびN個の送出FIFO170の出力を選択するセレクタ180から構成されている。なお、送出FIFO170の優先順位は送出FIFO170−1が1番高く、送出FIFO170−Nが1番低く設定されている。各バッファ150a、150bは、バスI/F回路450とは、受信FIFO160の出力190と、転送FIFO165の出力191と、送出FIFO170−1〜Nへの入力192とで接続され、転送判定回路250とは、受信FIFO160への入力195、転送FIFO165への入力196、送出FIFO170−1〜Nの出力を選択するセレクタ180の出力197およびセレクタ180の選択制御信号198とで接続されている。
【0069】
ここで、バッファ150a、150b内の受信、転送、送出FIFOをそれぞれ受信FIFO160a、160b、転送FIFO165a、165b、送出FIFO170−1〜Na、170−1〜Nbと呼ぶこととする。この場合、送出FIFOはリアルタイム性に関する優先順位に対応づけて送信用パケットを保持する送信用バッファ手段を構成することになる。
【0070】
優先順位判定回路500は、図15に示すように、2つのCAN510a、510bおよびレジスタ520a、520bから構成されている。各CAN510a、510bは、図16に示すように、各エントリにはIPアドレスがIPv4(バージョン4:32ビット)またはIPv6(バージョン6:128ビット)かを示す情報と、IPアドレスとポートとの組合わせと、それに対応して送出FIFO170−1〜Nのうちどの送出FIFOに転送するかを示す優先度情報およびワークエリアが設定されており、アドレスの代わりにIPアドレスとポートとの組合わせを入力として、この入力と一致する入力IPアドレスとポートの組合わせを持つエントリの優先度情報を出力するようになっている。またワークエリアはCPU1がエントリの更新を行う際に使用する。また複数のエントリでIPアドレスとポートとの組合わせの一致が発生した場合、index番号が1番若いエントリの情報を出力する。またこの優先度判定回路500のエントリの設定および更新はCPU1により設定される。
【0071】
一方、レジスタ520a、520bは、図17に示すように、3本のレジスタR5201、R5202、R5203から構成されている。レジスタR5201は、CPU1により設定され、バスI/F回路450からの問い合わせのあったIPアドレスとポートの組合わせがCAM510に登録されていなかった場合の出力値を保持する。また、その際のIPアドレスをレジスタR5202に、ポートをレジスタR5203に保持し、CPU1にCAM510の更新要求を割込みとして出力する。
【0072】
バスI/F回路450は、入出力バッファ440、制御回路460、セレクタ481、482a、482bを備えて構成されている。制御回路460は、メモリ2内の送信ディスクリプタ21a、21bと、転送FIFO165a、165bと、受信FIFO160a、160bをそれぞれ監視し、CPU1により送信ディスクリプタ21a、21bにパケットが登録されたことを検出したときには、入出力バッファ440を入力状態とし、バス3を介して、送信ディスクリプタ21a、21b内のパケットを読み出す。このあと読み出したパケットのうちIPアドレスとポートとの組合わせから、CAM510a、510bにバッファ150a、150b内の送出FIFO170−1〜Na、bに転送するか否かを問い合わせ、セレクタ482a、482bを入出力バッファ440側に切替て、入出力バッファ440から出力されたパケットを、CAM510a、510bにより定められた送出FIFO170a、170bに転送する。同様に、制御回路460は、転送判定回路250により転送FIFO165a、165bにパケットが転送されたことを確認すると、優先順位判定回路500に当該パケットのIPアドレスとポートとの組合わせから、送出FIFO170−1〜Na、bに転送するか否かを問い合わせ、セレクタ482a、482bを転送FIFO165b、160a側に切替て、転送FIFO165b、165aからのパケットをCAM510a、510bにより定められた転送FIFO170a、170bに転送する。
【0073】
さらに、転送判定250により、MAC300a、300bが受け取ったパケットが受信FIFO160a、160bに転送されると、制御回路460は、入出力バッファ440を出力状態として、セレクタ481を受信FIFO160a、160bの出力190a、190bを選択させ、選択したパケットをバス3を介して、メモリ2内の受信ディスクリプタ22a、22bに転送する。
【0074】
一方、転送判定回路250は、図19に示すように、制御回路260a、260b、レジスタ270a、270b、CAM280a、280bを備えて構成されている。制御回路260a、260bは、MAC300a、300bが受け取ったパケットをCAM280a、280bに問い合わせ、受信、転送、受信&転送および破棄するか否かを判定するとともに、バッファ150a、150b内のセレクタ180を制御するようになっている。CAM280a、280bには、MAC300a、300bが受け取ったパケットを受信、転送、受信&転送、破棄するかの情報を保持するように構成されている。
【0075】
具体的には、レジスタ270a、270bは、図20に示すように、3本のレジスタR2701、R2702、R27003を備えて構成されている。レジスタR2701には、MAC300a、300bが受け取ったパケットの宛先MACアドレスがCAM280a、280bに未登録だった際に、受信、転送、受信&転送、破棄することをが設定されている。レジスタR2702には、優先切替を行う送出FIFO170−1〜Na、b共通の使用率の各閾値が設定されている。レジスタR2703には、フロー制御を発動する送出FIFO170−1〜Na、b共通の使用率の閾値が設定されている。各閾値は0〜100%まで選択可能であり、0%の指定時は無効設定となる。
【0076】
各制御回路260a、260bは、N個の送出FIFO170−1〜Nの使用率を監視し、送出FIFO170−1〜Nの使用率がレジスタ2702に保持された閾値以下の場合は、優先度の1番高いパケットを保持している送出FIFO170の出力を選択するための制御信号198をセレクタ180に出力する。一方、送出FIFO170の使用率がレジスタR2702に設定された閾値を超えている場合は、閾値を越えている送出FIFO170の出力を選択するための選択信号198をセレクタ180に出力する。
【0077】
また、同様に、送出FIFO170−1〜Na、bの使用率が1つでもレジスタR2703に保持された閾値(フロー制御用の閾値)を越えている場合は、フロー制御用のパケットをMAC300a、300bを介してイサーネット820a、820bに出力させる。
【0078】
これにより、通常時は、送出FIFO170−1〜Nに保持されているパケットをMAC300a、300bに送出させるとともに、送出FIFO170のオーバーフローを防ぐことができる。
【0079】
またMAC300a、300bが受け取ったパケットの宛先MACアドレスをCAM280a、280bに問い合わせ、受信、転送、受信&転送および破棄するか否かを判定し、受信する場合は受信FIFO160a、160bに、転送する場合は、転送FIFO165a、165bに、受信&転送する場合は、受信FIFO160a、160bと転送FIFO165a、165bの両方に転送する。また破棄する場合には、受信FIFO160a、160bと転送FIFO165a、165bのどちらにも転送しない。
【0080】
次に、2チャネル通信装置800の動作を説明する。まず、パケットの送信処理を行うに際しては、図21に示すように、2チャネル通信モジュール4は、メモリ2内の送信ディスクリプタ21a、21bを監視し、CPU1が送信ディスクリプタ21a、21bにパケットを書き込むと、バスI/F回路450は送信ディスクリプタ21a、21bから送信パケットを読み出し、このパケットのIPアドレスおよびポートとの組合わせから優先順位判定回路500にパケットの優先順位を問い合わせ、その優先順位に対応する送出FIFO170a、170bに転送する。次に、転送判定回路250は、送出FIFO170−1〜Na、bから1番優先度の高いパケットをMAC300a、300bに転送し、このパケットをイサーネット820aまたはイサーネット820bに送信する。図21の例では、送信パケットのIPアドレスが3で、ポートが5の場合、その優先順位が2であるため、送出FIFO170−2aに転送する。また送出FIFO170−1aは空であるため、このパケットが1番優先度の高いパケットとなり、イサーネット820aに送信される。
【0081】
次に、受信および転送処理は、図22に示すように、MAC300a、(300b)がパケットを受け取ると、転送判定回路250がパケットの宛先MACアドレスを調べ、受信するか転送するかを判断する。転送判定回路250が受信すると判断したときには、このパケットを受信FIFO160a、(160b)に書き込む。それを受けてバスI/F回路450が受信FIFO160a、(160b)からパケットを読み出し、バス3を介してメモリ2内の受信ディスクリプタ22a、(22b)に書き込む。
【0082】
一方、転送する場合は、転送判定回路250は、MAC300a、(300b)が受け取ったパケットを転送FIFO165a、(165b)に書き込む。それを受けて、バスI/F回路450は、転送FIFO165a、(165b)からパケットを読み出し、転送順位判定回路500より、パケットのIPアドレスとポートとの組合わせからパケットの優先順位を問い合わせ、その優先順位に対応する送出FIFO170b、(170a)に転送する。次に、転送判定回路250は、送出FIFO170−1〜Nb、(a)から1番優先度の高いパケットをMAC300b、(300a)に転送し、このパケットをイサーネット820b、(820a)に送信する。図22の例では、転送パケットのIPアドレス=2、ポート=1であり、その優先順位は1である。そのため、MAC300aが受け取った転送パケットは、転送FIFO165aに転送されたあと、バスI/F回路450により送出FIFO170−1bに転送され、MAC300bからイサーネット820bに出力される。
【0083】
これにより、優先度の高いパケットが送信および転送されるため、リアルタイム性が要求されるサービスのパケットが優先的に送信され、QoSを実現することが可能になる。
【0084】
また、本方式では、CPU1が優先度判定回路500に優先順位を登録するため、優先順位の設定がリアルタイムで自動的に行うことが可能であり、ユーザが優先順位の割り振りなどの難しい設定を行う必要はない。
【0085】
また、2チャネル通信装置800が受信および転送処理できるパケットの処理数をMAC300a、300bが受け取るパケット数を超えた場合、パケットの送信元に対してパケットの送信を一時的に控えさせるためのフロー制御が発動され、パケット処理数が受信処理数を超えるのを防ぎ、パケットが破棄されるのを防止することができる。なお、フロー制御を用いずに、パケットの破棄が発生すると、破棄されたパケットの再送を要求するパケットがイサーネット820a、820bに出力されるため、余計なパケットがイサーネット820a、820b上に送信され、イサーネット820a、820bの効率低下を起こすことになる。
【0086】
一方、転送判定回路250は、N個の送出FIFO170−1〜Nのいずれかのパケットを選択してMAC300a、300bに送出させるかのアービトレーション処理を行う。通常は、優先度の高いパケットから優先して送出するが、特定の送出FIFOにパケットが集中し、それ以下の優先度のパケットが滞ると、フロー制御の発動や、送出FIFOのオーバーフローが発生し、イサーネット820a、820bの通信効率が低下してしまう。
【0087】
そこで、転送判定回路250は、送出FIFO170−1〜Nの使用率を常に監視して、転送FIFO130の使用率が予め設定された閾値(優先順位変更用閾値)を超えた場合は、閾値を超えた送出FIFO170内のパケットを優先して送出することで、イサーネット820a、820bの通信効率の低下を防止するようになっている。すなわち、転送判定回路250は、バスI/F回路450とともに、バッファ150a、150bに保持された送信用パケットのうち1番優先順位の高いパケットを優先度判定回路500の判定結果にしたがって選択して送信先または転送先の通信対象(イサーネット820a、820b)に対応した指定の通信手段(MAC300a、300b)に優先的に出力する優先パケット選択手段を構成するようになっている。
【0088】
さらに転送判定回路250は、MAC300a、300bの受け取ったパケットがCPU1で処理すべきパケットか転送用パケットであるか否かを判定し、この判定結果にしたがって受け取ったパケットを受信FIFO160a、bを介してメモリ2または転送FIFO165a、bを介して送出FIFO170−1〜Nに出力するとともに、バスI/F回路450は、CPU1の処理によるパケットを送信用バッファ手段としての送出FIFO170−1〜Nに出力する転送制御手段として構成されている。
【0089】
なお、MAC300a、300bはIPアドレスとポートを含むパケットの送受信を行う通信手段を構成することになる。
【0090】
前記実施形態においては、CPU1からのパケット送信と2つのイサーネット820a、820b間のパケットの送信とのアービトレーションにおいて、転送用バッファの使用率に閾値を設け、バッファの使用率が閾値を超えたときには、転送用バッファの優先順位を高くするようにしたため、フロー制御の発動や転送用バッファのオーバーフローを防止し、イサーネットの通信効率を向上させることができる。
【0091】
また、IPアドレスとポートとの組合わせにしたがって優先順位を設定し、この優先順位にしたがってパケットを送信および転送するようにしたため、QoSを実現することができる。さらに優先順位ごとに送信および転送パケットを保持する送出用のバッファの使用率に閾値を設け、バッファの使用率が閾値を超えたときには、その閾値を超えた送出用のバッファの優先順位を高くすることにより、フロー制御の発動や送出用のバッファのオーバーフローを防ぎ、イサーネットの通信効率を向上させることができる。
【0092】
また、本発明に係るパケット通信装置はIP電話に限らず、IPテレビ電話に適用することもできる。
【0093】
【発明の効果】
以上説明したように、本発明によれば、転送用パケットの転送に優先して送信用パケットを送信しているときに、転送用バッファ手段の使用率が閾値を超えたときには転送用パケットに対する優先度を送信用パケットよりも高くして、送信用パケットに優先して転送用パケットを指定の通信手段に出力するようにしているため、転送用バッファ手段のオーバーフローを防止することができる。
【0094】
また、本発明によれば、IPアドレスとその補助アドレスであるポートを含むパケットの送受信を行っているときに、パケットのリアルタイム性の要求にしたがって、送受信されるパケットの優先順位をIPアドレスとポートの組合わせにしたがって決定するようにしているため、刻一刻と変化するサービスの内容に追従してパケットを送受信することができ、リアルタイム性を確保することができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態を示す2チャネルイサーネット通信装置のブロック構成図である。
【図2】本発明に係る2チャネルイサーネット通信装置を用いた通信ネットワークのブロック構成図である。
【図3】2チャネルイサーネット通信装置を複数台直列接続したときのシステム構成図である。
【図4】複数のイサーネット通信装置をHUBに接続したときのシステム構成図である。
【図5】メモリのブロック構成図である。
【図6】バスI/F回路、バッファ、転送判定回路のブロック構成図である。
【図7】レジスタの構成図である。
【図8】CAMの構成図である。
【図9】転送判定回路内のセレクタの選択条件を説明するための図である。
【図10】パケットの送信処理を説明するためのフローチャートである。
【図11】パケットの受信・転送処理を説明するためのフローチャートである。
【図12】2チャネルイサーネット通信装置をIP電話に適応したときの通信システムの構成図である。
【図13】本発明の第2実施形態を示す2チャネルイサーネット通信装置のブロック構成図である。
【図14】バッファのブロック構成図である。
【図15】優先順位判定回路のブロック構成図である。
【図16】CAMの構成説明図である。
【図17】レジスタの構成説明図である。
【図18】バスI/F回路のブロック構成図である。
【図19】転送判定回路のブロック構成図である。
【図20】レジスタの構成説明図である。
【図21】パケットの送信処理を説明するためのフローチャートである。
【図22】パケットの受信・転送処理を説明するためのフローチャートである。
【符号の説明】
1 CPU
2 メモリ
3 バス
4 2チャネル通信モジュール
100a、100b バッファ
110a、110b 受信FIFO
120a、120b 送信FIFO
130a、130b 転送FIFO
200 転送判定回路
300a、300b イサーネットMAC
400 バスI/F回路
810a、810b PHY
820a、820b イサーネット
150a、150b バッファ
250 転送判定回路
450 バスI/F回路
300a、300b イサーネットMAC
450 バスI/F回路
500 優先度判定回路
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a packet communication apparatus, and more particularly, to a packet communication apparatus suitable for automatically transferring a packet for transfer for transmitting / receiving a packet to / from a plurality of communication objects and exchanging information between the plurality of communication objects. .
[0002]
[Prior art]
2. Description of the Related Art As a communication device using a packet, a communication device used for an IP phone or the like that exchanges voice data using IP (Internet Protocol) based on Ethernet is known. This type of packet communication apparatus includes a CPU, two Ethernet controllers, a transfer control circuit, a memory, and the like. One Ethernet controller is connected to a HUB (hub) via the Ethernet, and the other Ethernet controller is connected. Is connected to a PC (personal computer) via an Ethernet, and the HUB and PC are connected via a communication device, thereby reducing the number of Ethernet cables laid from the HUB. In this packet communication device, when the destination of the packet received via each Ethernet is the communication device, the received packet is processed as it is, and for other destination packets, the destination is determined, and when necessary, The packet is transferred to the other Ethernet. As a result, in this type of packet communication device, packets such as received mail and Internet information transmitted from the HUB to the PC are transferred to the Ethernet on the PC side, and packets such as outgoing mail and Internet access from the PC side are transferred. Can be transferred to the HUB side, the voice input from the receiver can be transmitted as voice data, and the received voice data can be output as voice from the speaker, thereby realizing a telephone function. In this case, there are two packets transmitted by the Ethernet controller connected to the Ethernet on the HUB side: a transmission packet based on voice data for the packet communication device to transmit as an IP phone, and a transmission packet transmitted from the PC. The Ethernet controller on the HUB side needs arbitration processing to arbitrate the transmission packet and the transfer packet.
[0003]
In this case, since voice data that requires real-time property is exchanged in the IP phone, it is necessary to prioritize and send packets based on voice data over packets sent from the PC side. Therefore, the transmission packet is transmitted with priority over the transfer packet, but the IP phone originally transmits only about one packet in 10 to 20 ms, and the amount of packets to be transmitted is small, and the PC side with relatively little real-time property There is no problem in transferring the packet from. However, when the amount of packets from the PC side increases, the transfer buffer for holding the transfer packets may overflow.
[0004]
Therefore, as described in JP-A-5-316147, a buffer for holding packets to be transmitted for each priority order is provided, and nodes that transmit packets held in the respective buffers in an arithmetic series are ring-shaped. By connecting to, packets with high priority (transmission packets) are sent preferentially, and packets with low priority (transfer packets) are also given a chance to prevent transmission buffer overflow. A configuration can also be adopted.
[0005]
[Problems to be solved by the invention]
In the prior art, the case where the packet communication device is adapted to an IP videophone for sending video instead of an IP phone is not sufficiently considered, and the transfer buffer overflows when the packet communication device is adapted to an IP videophone. There is a risk of causing.
[0006]
That is, in the IP videophone, video data having a large amount of data is transmitted and received in addition to the audio data in the conventional IP telephone, so that the amount of packets to be transmitted and received increases. However, in the IP videophone, since the transmission packet transmitted by the IP videophone is given priority over the packet transfer from the PC side, the packet transfer from the PC side is delayed, and the packet from the PC side is temporarily suspended. The transfer buffer that is held in an overflow causes an overflow and a packet loss occurs. When packet loss occurs, the packet is retransmitted in order to obtain accurate information, leading to a decrease in Ethernet communication efficiency.
[0007]
On the other hand, in recent years, Internet services exchanged by PCs are not limited in access time such as e-mail and homepage access. Recently, communication such as video called streaming, Internet TV, and relay has become real-time. The demand for Internet services is increasing. In order to support such services, packets sent by PCs cannot be bundled, and QoS (Quality of Service) that manages the priority for each packet according to the real-time property required by each service. Need to support.
[0008]
However, unlike the prior art, packet loss due to buffer overflow cannot be detected, and if a fixed priority is set for the packet, a priority is assigned to a constantly changing service. Is impossible.
[0009]
A first object of the present invention is to provide a packet communication device and a packet communication module capable of preventing overflow of a transfer buffer means.
[0010]
The second object of the present invention is to provide a packet communication apparatus and a packet communication system that can cope with the real-time nature of service.
[0011]
[Means for Solving the Problems]
In order to solve the first problem, the present invention generates a plurality of communication means for transmitting and receiving packets with a plurality of communication objects, a packet for transmission by the plurality of communication means, and the plurality of communication means. A packet generation processing means for processing a packet received by the communication means, a transfer buffer means for holding a transfer packet for exchanging information between the plurality of communication objects, and a plurality of communication means When it is determined that the received packet is the transfer packet, the received packet is output to the transfer buffer means, and the packet generated by the packet generation processing means and the transfer packet held in the transfer buffer means A transfer system that preferentially outputs one of the packets to a designated communication means corresponding to the destination or destination communication target. And the transfer control means sets the priority for the transfer packet higher than the packet by the generation when the usage rate of the transfer buffer means exceeds a threshold, and gives priority to the packet by the generation. A packet communication device configured to output the transfer packet to the designated communication means.
[0012]
When configuring the packet communication device, the transfer control means determines whether a received packet received by the plurality of communication means is a packet to be processed by the packet generation processing means or the transfer packet. A function of outputting the received packet to the packet generation processing means or the transfer packet means according to the determination result can be added.
[0013]
In configuring each of the packet communication devices, the following elements can be added.
[0014]
(1) The transfer control means includes a priority order register that can be set by the packet generation processing means, and a priority order change threshold value regarding a usage rate of the transfer buffer means is set in the priority order register. Become.
[0015]
(2) The transfer control means outputs a flow control packet to a designated communication means corresponding to a transfer source communication target when the usage rate of the transfer buffer means exceeds a flow control threshold. .
[0016]
(3) A reception buffer means for temporarily holding a received packet by reception of the plurality of communication means is provided, and the transfer control means is configured to transmit the transmission source when the usage rate of the reception buffer means exceeds a flow control threshold value. A flow control packet is output to a designated communication means corresponding to the communication target.
[0017]
(4) A flow control register that can be set by the packet generation processing unit is provided, and a flow control threshold value regarding a use rate of the transfer buffer unit or the reception buffer unit is set in the flow control register. .
[0018]
Also, when configuring a packet communication module, a plurality of communication means for transmitting and receiving packets with a plurality of communication objects, and a transfer packet for exchanging information between the plurality of communication objects are held. And a transfer buffer means that outputs the received packet to the transfer buffer means when it is determined that a received packet received by the plurality of communication means is the transfer packet, and a transmission packet and the transfer buffer means Transfer control means for preferentially outputting one of the transfer packets held in the transmission destination or a designated communication means corresponding to the communication target of the transfer destination, and the transfer control means includes the transfer packet When the usage rate of the buffer means exceeds the threshold, the priority for the transfer packet is higher than that of the transmission packet. Te, the transfer packet with priority to the transmission packet can be used which is formed by an output to the designated communication means.
[0019]
In configuring the packet communication module, the following elements can be added.
[0020]
(1) The transfer control means includes a priority order register that can be set by the packet generation processing means, and a priority order change threshold value regarding a usage rate of the transfer buffer means is set in the priority order register. Become.
[0021]
In order to solve the second problem, the present invention relates to a plurality of communication means for performing transmission and reception of a packet including an IP address and a port which is an auxiliary address thereof as a plurality of communication targets, and a real-time property of the packet. Priority determining means for determining priority according to the combination of the IP address and the port, a plurality of transmission buffer means for holding transmission packets in association with the priority relating to the real-time property, and the plurality of transmission buffers The packet having the highest priority among the transmission packets held in the means is selected according to the determination result of the priority determination means and preferentially output to the designated communication means corresponding to the communication target of the transmission destination or transfer destination A packet communication device comprising a priority packet selection means.
[0022]
When configuring the packet communication device, the transfer control means determines whether the received packet received by the plurality of communication means is a packet to be processed by the packet generation processing means or the transfer packet, A function of outputting the received packet to the packet generation processing means or the transfer buffer means according to the determination result can be added.
[0023]
In configuring each of the packet communication devices, the following elements can be added.
[0024]
(1) When the usage rate of any one of the plurality of transmission buffer units exceeds a threshold, the priority packet selection unit determines that the packet held in the transmission buffer unit is another packet Is output to the designated communication means in preference to.
[0025]
(2) The priority packet selection means includes a register that can be set by the packet generation processing means, and a threshold value relating to a usage rate of the transfer buffer means is set in the register.
[0026]
Further, the present invention provides a plurality of packet communication devices that transmit and receive packets including an IP address and a port that is an auxiliary address thereof, and priorities relating to real-time properties of packets transmitted and received between the plurality of packet communication devices. A priority control unit that determines the combination according to the combination of the IP address and the port, and the plurality of packet communication devices constitute a packet communication system connected in series with each other.
[0027]
In configuring the packet communication system, the packet communication apparatus that transmits and receives packets including an IP address and a port that is an auxiliary address thereof can be used as the plurality of packet communication apparatuses.
[0028]
According to the above-described means, when the transmission packet is transmitted prior to the transfer of the transfer packet, when the usage rate of the transfer buffer means exceeds the threshold, the priority for the transfer packet is set to the transmission packet. Since the transfer packet is output to the designated communication means in preference to the transmission packet, the overflow of the transfer buffer means can be prevented.
[0029]
In this case, since the transmission packet is preferentially transmitted when the usage rate of the transfer buffer means becomes equal to or less than the threshold value, it is possible to suppress a decrease in transmission efficiency of the transmission packet.
[0030]
Further, when determining whether or not the received packet is a transfer packet, the load on the packet generation processing means can be reduced by determining based on the address (MAC address) attached to the received packet. .
[0031]
On the other hand, when a packet including an IP address and a port that is an auxiliary address is being transmitted / received, the priority of packets to be transmitted / received is determined according to the combination of the IP address and the port according to the request for real-time property of the packet. Therefore, packets can be transmitted and received following the contents of services that change every moment, and real-time performance can be ensured.
[0032]
That is, the packet having the highest priority among the transmission packets held in the plurality of transmission buffer units is selected according to the determination result of the priority determination unit, and the selected packet is set as the communication target of the transmission destination or the transfer destination. Real-time performance can be ensured by outputting preferentially to the corresponding designated communication means.
[0033]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block configuration diagram of a packet communication apparatus showing an embodiment of the present invention. FIG. 2 is a block configuration of a packet communication system when the packet communication apparatus according to the present invention is applied to a two-channel Ethernet network. FIG. In FIG. 2, a two-channel Ethernet communication device 800 as a packet communication device includes communication channels (communication means) for two channels, and the communication channels for each channel pass through PHYs (Physical layer transceivers) 810a and 810b, respectively. Are connected to Ethernets 820a and 820b, respectively. Connected to each Ethernet 820a, 820b is an Ethernet communication device 830a, 830b composed of a personal computer (PC) or the like. Each Ethernet 820a, 820b is configured to be able to operate independently, and each Ethernet communication device 830a, 830b is connected to the Ethernet packet (in accordance with the standards IEEE 802.3 and IEEE 802.1Q / D) via the Ethernet 820a, 820b. Communication between devices is made possible by transmitting and receiving (hereinafter referred to as a packet). Packets are transmitted and received between the communication device 830a and the communication device 830b via the Ethernet 820a, the Ethernet communication device 800, and the Ethernet 820b. In this case, the 2-channel Ethernet communication device 800 has a function of transmitting and receiving packets and transferring a packet between the Ethernets 820a and 820b, whereby 2 between the communication device 830a and the communication device 830b. Communication can be performed via the channel Ethernet communication device 800.
[0034]
When two or more 2-channel Ethernet communication devices 800 are connected to each other, as shown in FIG. 3, if they are connected in series via Ethernet, the communication devices 800 are connected via HUB as shown in FIG. Compared with the case, the wiring length can be greatly reduced.
[0035]
Hereinafter, a specific configuration of the 2-channel Ethernet communication device 800 will be described. As shown in FIG. 1, the 2-channel Ethernet communication apparatus 800 includes a CPU 1, a memory 2, a 2-channel Ethernet communication module (hereinafter referred to as a 2-channel communication module) 4, and a bus 3 that connects them to each other. Has been. The two-channel communication module 4 includes a bus I / F (interface) circuit 400, two buffers 100a and 100b, two Ethernet MACs (MediaAccess Control) 300a and 300b, and a transfer determination circuit 200. The MAC 300a It is connected to the Ethernet device 830a via the PHY 810a and the Ethernet 820a, and transmits and receives packets to and from the Ethernet device 830a. That is, the MAC 300a is configured as a communication unit that transmits and receives packets to and from the Ethernet device 830a as a communication target via the PHY 810a and the Ethernet 820a.
[0036]
On the other hand, the MAC 800b is connected to the Ethernet device 830b via the PHY 810b and the Ethernet 820b, and transmits and receives packets to and from the Ethernet device 830b. That is, the MAC 300b is configured as a communication unit that transmits and receives packets to the Ethernet device 830b as a communication target via the PHY 810b and the Ethernet 820b.
[0037]
In this case, the packets transmitted and received by the MACs 300a and 300b are classified into three types of packets of transmission, reception, and transfer in the 2-channel communication module 4 and the 2-channel communication device 800. Therefore, hereinafter, in order to avoid confusion, the case where the 2-channel communication device 800 and the 2-channel communication module 4 transmit / receive a packet is referred to as transmission (transmission), reception (reception), transmission / reception, and the MACs 300a and 300b Transmission / reception is referred to as packet transmission (transmission), reception (reception), and transmission / reception.
[0038]
In the memory 2, as shown in FIG. 5, a program 20a to be executed by the CPU 1, a work area 20b for holding the execution state of the program 20a, and a packet for the two-channel communication device 800 to transmit to the Ethernets 820a and 820b. Transmission descriptors 21a and (21b) to be held and reception descriptors 22a and (22b) to hold packets received from the Ethernets 820a and 820b are configured.
[0039]
On the other hand, the CPU 1 accesses the memory 2 and the 2-channel communication module 4 via the bus 3, executes the program 20a written in the memory 2, accesses the state (register) of the 2-channel communication module 4, and 2 is configured to read and process the received packets held in the reception descriptors 22a and 22b in the memory 2, generate a transmission packet, and write the generated transmission packets in the transmission descriptors 21a and 21b in the memory 2, respectively. . That is, the CPU 1 is configured as a packet generation processing unit that generates a transmission packet for transmission by the MACs 300a and 300b and processes a packet received by the MACs 300a and 300b.
[0040]
FIG. 6 shows specific configurations of the bus I / F circuit 400, the buffers 100a and 100b, and the transfer determination circuit 200. The bus I / F circuit 400 includes an input / output buffer 440, a selector 430, a control circuit 410 that controls the input / output buffer 440 and the selector 430, and a register 420. The selector 430 receives the buffers 100a and 100b. Packets output from FIFOs (First In First Out) 110 a and 110 b are selected, and the selected packets are output to the input / output buffer 440. The input / output buffer 440 is configured to output packets from the bus 3 to the transmission FIFOs 120a and 120b of the buffers 100a and 100b. That is, the control circuit 410 monitors the transmission descriptors 21a and 21b in the memory 2, and when a packet is registered in the transmission descriptors 21a and 21b by the CPU 1, the input / output buffer 440 is set in the input state and the transmission descriptor 21a, The packet registered in (21b) is transferred to the transmission FIFO 120a, (120b) via the bus 3. Similarly, the control circuit 410 monitors the reception FIFOs 110a and 110b, and when a packet is written to the reception FIFOs 110a and 110b via the transfer determination circuit 200, the input / output buffer 440 is set in the output state, and the selector 430 receives the reception FIFO 110a, The packet by the output of 110b is selected, and the selected packet is transferred to the reception descriptors 22a and 22b in the memory 2 via the bus 3.
[0041]
Each of the buffers 100a and 100b includes reception FIFOs 110a and 110b that temporarily hold received packets and transmission FIFOs 120a and 120b that temporarily hold packets to be transmitted, and packets between the MAC 300a and the MAC 300b. Are provided with transfer FIFOs 130a and 130b used to transfer. In other words, the transfer FIFOs 130a and 130b are configured as transfer buffer means for holding transfer packets for mutually transmitting and receiving information between the Ethernet devices 830a and 830b, and the transfer FIFO 130a includes the transfer FIFOs 130a and 130b. A transfer packet for transfer to the Ethernet device 830b is held, and a transfer packet for transfer from the Ethernet device 830b to the Ethernet device 830a is held in the transfer FIFO 130b.
[0042]
The transfer determination circuit 200 includes selectors 210a and 210b, control circuits 220a and 220b for controlling the buffers 100a and 100b, registers 230a and 230b for holding the state of the transfer determination circuit 200, and packets received by the MACs 300a and 300b. Are received by the 2-channel communication device 800 and the 2-channel communication module 4 or are transferred to the other MAC 300a or 300b. CAM (Content Addressable Memory) 240a, 240b, transmission FIFO 120a, and transfer FIFO 130b Any one of the packets from the selector 210a that selects and outputs to the MAC 300a, and any of the packets from the transmission FIFO 120b and the transfer FIFO 130a Packet selects and is configured by a selector 210b to be output to MAC300b.
[0043]
The registers 230a and 230b are composed of six registers R2301 to 2306 as shown in FIG. The register R2301 is a register for setting processing (reception, transfer, reception & transfer, discard) when the destination MAC address of the packet received by the MAC 300a, 300b is not registered in the CAM 240a, 240b. The register 2302 is a register that sets which of the transmission FIFOs 120a and 120b or the transfer FIFOs 130a and 130b has priority for the packet transmitted by the MAC 300a (300b) in the normal state, and normally selects the transmission FIFOs 120a and 120b. Registers R2303 and R2304 are registers for setting threshold values (priority change threshold values) of the usage rates of the transmission FIFOs 120a and 120b and the transfer FIFOs 130a and 130b that perform priority switching. The registers R2305 and R2306 are registers for setting threshold values (flow control threshold values) of the usage rates of the reception FIFOs 120a and 120b and the transfer FIFOs 130a and 130b that activate flow control. The threshold values in the registers R2303 to R2306 can be selected from 0 to 100%. When 0% is specified, the threshold value is invalid. Each threshold value is set by the CPU 1.
[0044]
The CAMs 240a and 240b are configured by special memories called associative memories. As shown in FIG. 8, each entry has a MAC address and processing information indicating whether reception, transfer, reception & transfer, or discarding is associated with each MAC address. In addition, a work area is provided, and a MAC address is input instead of an address, and the processing information of an entry having a MAC address that matches the input MAC address is output. The work area is used when the CPU 1 updates entries. When the MAC address matches in a plurality of entries, the process number of the entry with the smallest index number is output. Setting and updating of the entries of the CAMs 240a and 240b are executed by the CPU 1.
[0045]
The CAMs 240a and 240b configured as described above are used to determine whether a packet received by the MAC 300a or 300b is received, transferred, received & transferred, or discarded from the destination MAC address of the packet. That is, when the communication system shown in FIG. 2 is constructed, MAC addresses are set as addresses unique to each of the Ethernet devices 830a, 830b, and the 2-channel Ethernet communication device 800, respectively. Therefore, when the destination MAC address of the packet transmitted from the Ethernet device 830a is the destination MAC address of the Ethernet device 830b, the packet received by the 2-channel Ethernet device 800 is a transfer packet transferred to the Ethernet device 830b. . Further, when the destination MAC address of the packet transmitted from the Ethernet device 830a is the destination MAC address for the 2-channel Ethernet communication device 800, it can be determined that the packet is to be received by the 2-channel Ethernet communication device 800.
[0046]
For example, when the MAC address of index0 is input to the 2-channel Ethernet communication device 800, the packet is determined to be a packet to be transferred to the Ethernet device 830a or the Ethernet device 830b, and a packet with a MAC address corresponding to indexN is received. When it is determined that the packet is to be received by the 2-channel Ethernet communication device 800, it can be determined. At this time, if there is no entry having a matching MAC address, one of reception, transfer, reception & transfer, and discard is set by the register R2301.
[0047]
In the transfer determination circuit 200 configured as described above, the control circuits 220a and 220b always check the usage rates of the reception FIFOs 110a and 110b, the transmission FIFOs 120a and 120b, and the transfer FIFOs 130a and 130b, and the flow control is activated, as shown in FIG. Switching between the selectors 210a and 210b and whether the packets received by the MACs 300a and 300b are received, transferred, received & transferred, or discarded are determined.
[0048]
First, when invoking flow control, when the usage rate of the reception FIFOs 110a and 110b exceeds the threshold value specified by the register R2305 or when the usage rate of the transfer FIFOs 130a and 130b also exceeds the threshold value specified by the register R2306 In addition, a packet for flow control is transmitted to the MACs 300a and 300b. When flow control packets are transmitted, the number of packets received by the MACs 300a and 300b exceeds the number of packets that can be received and transferred by the two-channel communication device 800, and the packets received by the MAC 300 cannot be processed and are discarded. prevent. That is, when the number of packets that can be received and transferred by the two-channel communication device 800 exceeds the number of packets received by the MAC 300a300b, the packet transmission source is temporarily refrained from transmitting the packet, Discard can be prevented.
[0049]
Next, the control circuits 220a and 220b monitor the usage rates of the transmission FIFOs 220a and 220b and the transfer FIFOs 130a and 130b, and control the switching of the selectors 210a and 210b. In normal times, that is, when the usage rate of the transmission FIFOs 120a and 120b is less than or equal to the threshold value specified by the register R2303 and when the usage rate of the transfer FIFOs 130a and 130b is less than or equal to the threshold value specified by the register R2304, the FIFO specified by the register R2302 The output packet is selected by the selectors 210a and 210b. On the other hand, when only the usage rates of the transmission FIFOs 120a and 120b exceed the threshold value specified by the register R2303, the packets output from the transmission FIFOs 120a and 120b are selected by the selectors 210a and 210b. On the other hand, when only the usage rate of the transfer FIFOs 130a and 130b exceeds the threshold value specified by the register R2304, the packets output from the transfer FIFOs 130a and 130b are selected by the selectors 210a and 210b. As a result, when the register R2302 is set to give priority to the transmission FIFOs 120a and 120b, the transmission packets are often transferred from the transmission descriptors 21a and 21b to the transmission FIFOs 120a and 120b, that is, the transmission packets are transmitted with priority. Therefore, transmission of transfer packets is delayed, and overflow of the transfer FIFOs 130a and 130b can be prevented.
[0050]
In addition, the control circuits 220a and 220b inquire the destination MAC address CAN 240a and 240b of the packet received by the MAC 300a and 300b, and determine whether to receive, transfer, receive & transfer, or discard. When receiving, transfer to receive FIFO 110a, (110b), when transferring, transfer FIFO 130a, (130b), when receiving & transferring, both receive FIFO 110a, (110b) and transfer FIFO 130a, (130b) The packets received by the MAC 300a and (300b) are written in When discarding the packet, the packet is not written to any of the reception FIFOs 110a and 110b and the transfer FIFOs 130a and 130b, and is discarded as it is.
[0051]
Next, packet transmission processing will be described with reference to FIG. In the 2-channel communication device 800 and the 2-channel communication module 4, when the packet is transmitted, when the 2-channel communication module 4 receives the activation of the CPU 1, the control by the control circuit 410 of the bus I / F circuit 400 The transmission packet is read from the transmission descriptors 21a and (21b) in the memory 2, written to the transmission FIFOs 120a and (120b), the packet data is read from the transmission FIFOs 120a and (120b), and sent to the Ethernets 820a and 820b.
[0052]
Next, in the packet reception and transfer process, as shown in FIG. 11, when the MAC 300a, (300b) receives the packet, the transfer determination circuit 200 checks the destination MAC address of the packet and transfers the packet to be received. Determine if it is a packet. When it is determined that the packet is to be received, the packet is written in the reception FIFOs 110a and 110b. In response to this, the bus I / F circuit 400 reads the packet from the reception FIFOs 110a and 110b, and writes the packet to the reception descriptors 22a and 22b in the memory 2 via the bus 3.
[0053]
On the other hand, when transferring a packet, the transfer determination circuit 200 writes the packet received by the MACs 300a and (300b) in the transfer FIFOs 130a and (130b). In response, the MACs 300b and 300a read the packets from the transfer FIFOs 130a and 130b and send them to the Ethernets 820b and 820a, respectively.
[0054]
Here, the packets sent by the MACs 300a and (300b) are packets from the transmission FIFOs 120a and (120b) and the transfer FIFOs 130b and (130a). Which of the FIFO packets the transfer determination circuit 200 gives priority to send? Arbitration. Normally, packets in the transmission FIFOs 120a and 120b are sent with priority. However, when packets are sequentially transferred from the transmission descriptors 21a and 21b to the transmission FIFOs 120a and 120b, the packets in the transmission FIFOs 120a and 120b are sent with priority. As a result, transmission of packets in the transfer FIFOs 130a and 130b is delayed, flow control is triggered and transfer buffer overflow occurs, and the communication efficiency of the Ethernets 820a and 820b decreases.
[0055]
Therefore, the transfer control circuit 200 in this embodiment constantly monitors the usage rates of the transmission FIFOs 120a and 120b and the transfer FIFOs 130a and 130b, and the usage rate of the transfer FIFOs 130a and 130b is a predetermined threshold (priority change threshold). Is exceeded, the packets in the transfer FIFOs 130b and (130a) are preferentially transmitted over the packets in the transmission FIFOs 120a and (120b), so that the overflow of the transfer FIFOs 130a and 130b is avoided and the communication of the Ethernets 820a and 820b is performed. The reduction in efficiency is to be prevented.
[0056]
That is, the transfer determination circuit 200 and the bus I / F circuit 400 give priority to the transfer FIFOs 130a and 130b based on the transmission packet generated by the CPU 1 when the usage rate of the transfer FIFOs 130a and 130b exceeds the threshold (priority change threshold). The transfer control means is configured to output the transfer packet to the designated MAC 300a or MAC 300b in preference to the transmission packet.
[0057]
As described above, according to the present embodiment, when the usage rate of the transfer FIFOs 130a and 130b exceeds the threshold, the transfer packet is given higher priority than the transmission packet, and the transfer packet is designated in preference to the transmission packet. Since the data is output to the communication means, the overflow of the transfer FIFOs 130a and 130b can be avoided, and the communication efficiency of the Ethernets 820a and 820b can be prevented from being lowered.
[0058]
With the above processing, the two-channel communication module 4 can realize packet transmission, reception, and transfer processing.
[0059]
Next, an embodiment of a packet communication system when the packet communication apparatus according to the present invention is applied to an IP telephone will be described with reference to FIG.
[0060]
The IP phone 8000a is connected to two Ethernets 820a and 820b, one Ethernet 820a is connected to the HUB 8100 connected to the Internet or an intranet, and the other Ethernet 820b is connected to a PC as the Ethernet communication device 830. ing. The HUB 8100 is connected to an IP phone 8000b and a data sensor 8200 holding homepage data via a WAN (Wide Area Network) such as the Internet or an intranet.
[0061]
The IP phone 8000 includes a two-channel communication device 800, two PHYs 810a and 810b, a receiver 8010, an A / D converter 8020 that converts an analog voice input signal into a digital signal, and vice versa. A D / A converter 8030 for converting the signal into an audio output signal is provided. The receiver 8010 includes a microphone 8011 that converts voice into an analog signal, and a speaker 8012 that converts a voice output signal, which is an analog signal, into voice.
[0062]
A call between IP phone 8000a and IP phone 8000b is performed as follows. Voice inputted from the microphone 8011 of the IP phone 8000a is converted into a digital signal by the A / D converter 8020 and inputted to the two-channel communication apparatus 800. The CPU 1 in the two-channel communication device 800 converts the digital signal into a voice packet and transmits it as a transmission packet from the MAC 300a to the Ethernet 820a. The packet transmitted to the Ethernet 820a is sent from the HUB 8100a through the WAN to the other party's IP phone 8000b. When the other party's IP phone 8000b receives the voice packet transmitted by IP phone 8000a, CPU 1 in 2-channel communication apparatus 800 converts the received voice packet into voice data and outputs the voice data to D / A converter 8030. . This audio data is converted into an audio signal which is an analog signal by the D / A converter 8030 and output from the speaker 8012 as audio. Communication processing from IP phone 8000b to IP phone 8000a is performed in the same manner, and a call is realized between IP phone 8000a and IP phone 8000b.
[0063]
Next, a process in which the PC 830 connected via the IP phone 8000a reads a home page in the data center 8200 is performed as follows. When the PC 830 displays a home page using a web browser, a packet having information on the URL of the home page to be displayed is transmitted to the Ethernet 820b. When this packet is received by the MAC 300b of the two-channel communication apparatus 800, the destination MAC address of this packet is not addressed to the IP phone 8000, and is transferred from the MAC 300a to the Ethernet 820a. The transferred packet passes through the HUB 8100 and arrives at the data center 8200 via the WAN. In the data center 8200, the URL information is read from the packet transmitted by the PC 830, and the corresponding home page information is packetized and transmitted. The packet transmitted from the data center 8200 arrives at the HUB 8100 via the WAN and then is received by the MAC 300a in the two-channel communication device 800 via the Ethernet 820a. At this time, when the transfer determination circuit 200 in the two-channel communication device 800 searches for the destination MAC address of the packet transmitted from the data center 8200 and determines that the packet is addressed to the PC 830, the transfer determination circuit 200 transfers the packet to the Ethernet 820b. When the PC 830 receives the packet, the PC 830 extracts homepage data from the received packet and displays it on the web browser. Through the above processing, communication is performed between the IP phone 8000 and the PC 830.
[0064]
Next, another embodiment of the present invention will be described with reference to FIG. In this embodiment, a 2-channel Ethernet communication device 850 is used as a packet communication device instead of the 2-channel Ethernet communication device 800 shown in FIG. In the present embodiment, packets transmitted and received by the 2-channel Ethernet communication device 850 and the Ethernet communication devices 830a and 830b are transmitted according to this service, considering that the degree of real-time request varies depending on the service to which the packet belongs. The priority of packets is decided. In other words, since services can be distinguished by a combination of an IP address and a port which is an auxiliary address, in this embodiment, priority is assigned in accordance with a combination of an IP address and a port from a request having a high real-time property. I am going to do that. The two-channel communication device 850 determines the order of packets to be transmitted and transferred according to this priority order, thereby realizing the real-time property (QoS) required by each service.
[0065]
The 2-channel Ethernet communication device 850 includes a CPU 1 as a packet generation processing unit, a memory 2 for storing a program, and the like, and a 2-channel communication module 4, and each unit is connected via a bus 3. Yes.
[0066]
The two-channel communication module 4 includes a bus I / F circuit 450 that exchanges data with the CPU 1 and the memory 2 via the bus 3, buffers 150a and 150b that hold transmission, reception, and transfer packets, and transmission and reception of packets. MAC 300a and 300b, MAC 300a and 300b transfer determination circuit 250 for determining whether to receive or transfer the packet, and MAC 300a and 300b send packets held in buffers 150a and 150b when sending packets And a priority order determination circuit 500 that determines the priority order of the transfer packet from the combination of the IP address and the port.
[0067]
When determining priorities for the two-channel Ethernet communication device 850 and the Ethernet communication devices 830a and 830b, for example, one of the communication devices is used as a priority control unit, and the priority control unit uses a combination of an IP address and a port. The priority order is determined as needed for each service according to the match, and the priority order according to this determination is transmitted to each communication device.
[0068]
As shown in FIG. 14, the buffers 150a and 150b include a reception FIFO 160, a transfer FIFO 165 that temporarily holds a packet to be transferred, N transmissions and transmission FIFOs 170-1 to N that hold transfer packets and N transmissions. The selector 180 selects the output of the FIFO 170. Note that the priority of the sending FIFO 170 is set to be the highest for the sending FIFO 170-1 and the lowest for the sending FIFO 170-N. Each of the buffers 150 a and 150 b is connected to the bus I / F circuit 450 by an output 190 of the reception FIFO 160, an output 191 of the transfer FIFO 165, and an input 192 to the transmission FIFOs 170-1 to 170 -N. Are connected by an input 195 to the reception FIFO 160, an input 196 to the transfer FIFO 165, an output 197 of the selector 180 for selecting the output of the transmission FIFOs 170-1 to 170-N, and a selection control signal 198 of the selector 180.
[0069]
Here, the reception, transfer, and transmission FIFOs in the buffers 150a and 150b are referred to as reception FIFOs 160a and 160b, transfer FIFOs 165a and 165b, transmission FIFOs 170-1 to Na, and 170-1 to Nb, respectively. In this case, the transmission FIFO constitutes a transmission buffer means for holding a transmission packet in association with the priority relating to the real-time property.
[0070]
As shown in FIG. 15, the priority determination circuit 500 includes two CANs 510a and 510b and registers 520a and 520b. As shown in FIG. 16, each CAN 510a, 510b has a combination of information indicating whether an IP address is IPv4 (version 4: 32 bits) or IPv6 (version 6: 128 bits), and an IP address and a port. Priority information and work area indicating which one of the sending FIFOs 170-1 to N is to be forwarded and the work area are set correspondingly, and a combination of IP address and port is input instead of the address The priority information of an entry having a combination of an input IP address and a port that matches this input is output. The work area is used when the CPU 1 updates an entry. When the combination of the IP address and the port is matched in a plurality of entries, the information of the entry with the smallest index number is output. The entry setting and updating of the priority determination circuit 500 are set by the CPU 1.
[0071]
On the other hand, the registers 520a and 520b are composed of three registers R5201, R5202 and R5203 as shown in FIG. The register R5201 is set by the CPU 1 and holds an output value when the combination of the IP address and the port inquired from the bus I / F circuit 450 is not registered in the CAM 510. In addition, the IP address at that time is stored in the register R5202, the port is stored in the register R5203, and an update request for the CAM 510 is output to the CPU 1 as an interrupt.
[0072]
The bus I / F circuit 450 includes an input / output buffer 440, a control circuit 460, and selectors 481, 482a and 482b. The control circuit 460 monitors the transmission descriptors 21a and 21b, the transfer FIFOs 165a and 165b, and the reception FIFOs 160a and 160b in the memory 2, respectively. When the CPU 1 detects that a packet is registered in the transmission descriptors 21a and 21b, The input / output buffer 440 is set to the input state, and the packets in the transmission descriptors 21a and 21b are read through the bus 3. Thereafter, from the combination of the IP address and port in the read packet, the CAM 510a, 510b is inquired whether to transfer to the sending FIFO 170-1 to Na, b in the buffer 150a, 150b, and the selectors 482a, 482b are input. Switching to the output buffer 440 side, the packet output from the input / output buffer 440 is transferred to the sending FIFOs 170a and 170b defined by the CAMs 510a and 510b. Similarly, when the control circuit 460 confirms that the packet has been transferred to the transfer FIFOs 165a and 165b by the transfer determination circuit 250, the control circuit 460 sends the combination of the IP address and port of the packet to the transmission FIFO 170- 1 to inquire whether transfer to Na, b, switch selectors 482a and 482b to transfer FIFOs 165b and 160a, and transfer packets from transfer FIFOs 165b and 165a to transfer FIFOs 170a and 170b defined by CAMs 510a and 510b .
[0073]
Further, when the packet received by the MACs 300a and 300b is transferred to the reception FIFOs 160a and 160b by the transfer determination 250, the control circuit 460 sets the input / output buffer 440 to the output state and sets the selector 481 to the outputs 190a and 160b of the reception FIFOs 160a and 160b. 190b is selected, and the selected packet is transferred to the reception descriptors 22a and 22b in the memory 2 via the bus 3.
[0074]
On the other hand, the transfer determination circuit 250 includes control circuits 260a and 260b, registers 270a and 270b, and CAMs 280a and 280b as shown in FIG. The control circuits 260a and 260b inquire the packets received by the MACs 300a and 300b to the CAMs 280a and 280b, determine whether to receive, transfer, receive & transfer, and discard them, and control the selector 180 in the buffers 150a and 150b. It is like that. The CAMs 280a and 280b are configured to hold information on whether the packets received by the MACs 300a and 300b are received, transferred, received & transferred, or discarded.
[0075]
Specifically, as shown in FIG. 20, the registers 270a and 270b include three registers R2701, R2702, and R27003. The register R2701 is set to receive, transfer, receive & transfer, and discard when the destination MAC address of the packet received by the MAC 300a or 300b is not registered in the CAM 280a or 280b. In the register R2702, threshold values of the usage rates common to the sending FIFOs 170-1 to Na and b for performing priority switching are set. In the register R2703, a threshold value of the usage rate is set in common for the sending FIFOs 170-1 to Na and b that activate the flow control. Each threshold can be selected from 0 to 100%, and becomes invalid when 0% is specified.
[0076]
Each control circuit 260a, 260b monitors the usage rate of the N transmission FIFOs 170-1 to 170-N, and when the usage rate of the transmission FIFOs 170-1 to N is equal to or lower than the threshold value held in the register 2702, the priority level is 1 A control signal 198 for selecting the output of the transmission FIFO 170 holding the highest packet is output to the selector 180. On the other hand, when the usage rate of the sending FIFO 170 exceeds the threshold set in the register R2702, a selection signal 198 for selecting the output of the sending FIFO 170 exceeding the threshold is output to the selector 180.
[0077]
Similarly, if the usage rate of one of the sending FIFOs 170-1 to Na, b exceeds the threshold (threshold for flow control) held in the register R2703, the flow control packet is transferred to the MAC 300a, 300b. To the Ethernets 820a and 820b.
[0078]
As a result, normally, packets held in the transmission FIFOs 170-1 to 170-N can be transmitted to the MACs 300a and 300b, and an overflow of the transmission FIFO 170 can be prevented.
[0079]
Also, the MAC addresses of the packets received by the MACs 300a and 300b are inquired of the CAMs 280a and 280b to determine whether to receive, transfer, receive & transfer, and discard. When receiving, transfer to the receiving FIFOs 160a and 160b. In the case of receiving and transferring to the transfer FIFOs 165a and 165b, the data is transferred to both the reception FIFOs 160a and 160b and the transfer FIFOs 165a and 165b. In the case of discarding, the data is not transferred to any of the reception FIFOs 160a and 160b and the transfer FIFOs 165a and 165b.
[0080]
Next, the operation of the two-channel communication device 800 will be described. First, when performing packet transmission processing, as shown in FIG. 21, the 2-channel communication module 4 monitors the transmission descriptors 21a and 21b in the memory 2, and the CPU 1 writes the packet into the transmission descriptors 21a and 21b. The bus I / F circuit 450 reads the transmission packet from the transmission descriptors 21a and 21b, inquires the priority determination circuit 500 about the priority of the packet from the combination of the IP address and port of the packet, and corresponds to the priority. Transfer to sending FIFO 170a, 170b. Next, the transfer determination circuit 250 transfers the packet having the highest priority from the sending FIFOs 170-1 to Na, b to the MACs 300a, 300b, and transmits this packet to the Ethernet 820a or the Ethernet 820b. In the example of FIG. 21, when the IP address of the transmission packet is 3 and the port is 5, the priority is 2, so the packet is transferred to the transmission FIFO 170-2a. Further, since the transmission FIFO 170-1a is empty, this packet becomes a packet having the highest priority and is transmitted to the Ethernet 820a.
[0081]
Next, in the reception and transfer process, as shown in FIG. 22, when the MAC 300a, (300b) receives a packet, the transfer determination circuit 250 checks the destination MAC address of the packet and determines whether to receive or transfer the packet. When the transfer determination circuit 250 determines that the packet is received, the packet is written in the reception FIFOs 160a and 160b. In response to this, the bus I / F circuit 450 reads the packet from the reception FIFOs 160a and (160b) and writes the packet to the reception descriptors 22a and (22b) in the memory 2 via the bus 3.
[0082]
On the other hand, when transferring, the transfer determination circuit 250 writes the packet received by the MACs 300a and (300b) into the transfer FIFOs 165a and 165b. In response to this, the bus I / F circuit 450 reads the packet from the transfer FIFOs 165a and 165b, inquires the packet priority from the combination of the packet IP address and the port, from the transfer order determination circuit 500, The data is transferred to the sending FIFO 170b (170a) corresponding to the priority order. Next, the transfer determination circuit 250 transfers the packet having the highest priority from the transmission FIFOs 170-1 to Nb, (a) to the MACs 300b, 300a, and transmits the packets to the Ethernets 820b, 820a. In the example of FIG. 22, the IP address of the transfer packet = 2, the port = 1, and the priority is 1. Therefore, the transfer packet received by the MAC 300a is transferred to the transfer FIFO 165a, then transferred to the transmission FIFO 170-1b by the bus I / F circuit 450, and output from the MAC 300b to the Ethernet 820b.
[0083]
As a result, a packet having a high priority is transmitted and transferred, so that a packet of a service that requires real-time property is transmitted preferentially, and QoS can be realized.
[0084]
Further, in this method, since the CPU 1 registers the priority order in the priority determination circuit 500, the priority order can be automatically set in real time, and the user makes difficult settings such as priority assignment. There is no need.
[0085]
In addition, when the number of packets that can be received and transferred by the two-channel communication device 800 exceeds the number of packets received by the MACs 300a and 300b, flow control for temporarily refraining the packet transmission source from the packet transmission source Is activated to prevent the number of packet processing from exceeding the number of reception processing, and to prevent the packet from being discarded. Note that when packet discard occurs without using flow control, a packet requesting retransmission of the discarded packet is output to the Ethernets 820a and 820b, so that an extra packet is transmitted on the Ethernets 820a and 820b. The efficiency of Ethernet 820a and 820b will be reduced.
[0086]
On the other hand, the transfer determination circuit 250 performs an arbitration process of selecting any one of the N transmission FIFOs 170-1 to 170-N and transmitting the selected packet to the MACs 300a and 300b. Normally, packets are sent with priority from higher priority packets. However, if packets are concentrated in a specific output FIFO and packets with lower priority are delayed, flow control is triggered and the output FIFO overflows. The communication efficiency of the Ethernets 820a and 820b is reduced.
[0087]
Therefore, the transfer determination circuit 250 constantly monitors the usage rate of the transmission FIFOs 170-1 to 170-N, and exceeds the threshold when the usage rate of the transfer FIFO 130 exceeds a preset threshold (priority change threshold). By preferentially sending the packet in the send FIFO 170, the communication efficiency of the Ethernets 820a and 820b is prevented from being lowered. That is, the transfer determination circuit 250 selects, together with the bus I / F circuit 450, a packet having the highest priority among the transmission packets held in the buffers 150a and 150b according to the determination result of the priority determination circuit 500. A priority packet selection unit that preferentially outputs to a designated communication unit (MAC 300a, 300b) corresponding to a communication target (Ethernet 820a, 820b) of a transmission destination or a transfer destination is configured.
[0088]
Further, the transfer determination circuit 250 determines whether the packet received by the MAC 300a, 300b is a packet to be processed by the CPU 1 or a transfer packet, and the received packet is received via the reception FIFO 160a, b according to the determination result. The bus I / F circuit 450 outputs a packet generated by the processing of the CPU 1 to the sending FIFOs 170-1 to 170-N as the transmission buffer means while outputting to the sending FIFOs 170-1 to 170-N via the memory 2 or the transfer FIFOs 165a and 165b. It is configured as transfer control means.
[0089]
Note that the MACs 300a and 300b constitute communication means for transmitting and receiving packets including an IP address and a port.
[0090]
In the embodiment, in the arbitration between the packet transmission from the CPU 1 and the packet transmission between the two Ethernets 820a and 820b, a threshold is provided for the transfer buffer usage rate, and when the buffer usage rate exceeds the threshold value, Since the priority of the transfer buffer is increased, it is possible to prevent the flow control from being activated and the transfer buffer overflow, and to improve the communication efficiency of the Ethernet.
[0091]
Since priority is set according to the combination of the IP address and the port, and packets are transmitted and transferred according to this priority, QoS can be realized. Furthermore, a threshold is set for the usage rate of the transmission buffer that holds transmission and transfer packets for each priority, and when the buffer usage rate exceeds the threshold, the priority of the transmission buffer that exceeds the threshold is increased. As a result, it is possible to prevent the flow control from being activated and the transmission buffer from overflowing and improve the communication efficiency of the Ethernet.
[0092]
The packet communication apparatus according to the present invention is not limited to an IP phone but can be applied to an IP video phone.
[0093]
【The invention's effect】
As described above, according to the present invention, when a transmission packet is transmitted with priority over transfer of the transfer packet, priority is given to the transfer packet when the usage rate of the transfer buffer means exceeds a threshold value. Since the degree of transmission is set higher than that of the transmission packet and the transfer packet is output to the designated communication means in preference to the transmission packet, overflow of the transfer buffer means can be prevented.
[0094]
Further, according to the present invention, when a packet including an IP address and a port which is an auxiliary address is transmitted / received, the priority order of the transmitted / received packet is set according to the request for the real-time property of the packet. Therefore, the packet can be transmitted / received following the contents of the service that changes every moment, and real-time performance can be ensured.
[Brief description of the drawings]
FIG. 1 is a block configuration diagram of a two-channel Ethernet communication device showing a first embodiment of the present invention.
FIG. 2 is a block diagram of a communication network using a 2-channel Ethernet communication device according to the present invention.
FIG. 3 is a system configuration diagram when a plurality of 2-channel Ethernet communication devices are connected in series.
FIG. 4 is a system configuration diagram when a plurality of Ethernet communication devices are connected to a HUB.
FIG. 5 is a block configuration diagram of a memory.
FIG. 6 is a block configuration diagram of a bus I / F circuit, a buffer, and a transfer determination circuit.
FIG. 7 is a configuration diagram of a register.
FIG. 8 is a configuration diagram of a CAM.
FIG. 9 is a diagram for explaining a selection condition of a selector in the transfer determination circuit.
FIG. 10 is a flowchart for explaining packet transmission processing;
FIG. 11 is a flowchart for explaining packet reception / transfer processing;
FIG. 12 is a configuration diagram of a communication system when the 2-channel Ethernet communication device is adapted to an IP phone.
FIG. 13 is a block configuration diagram of a two-channel Ethernet communication device showing a second embodiment of the present invention.
FIG. 14 is a block configuration diagram of a buffer.
FIG. 15 is a block diagram of a priority determination circuit.
FIG. 16 is a diagram illustrating the configuration of a CAM.
FIG. 17 is a diagram illustrating the configuration of a register.
FIG. 18 is a block configuration diagram of a bus I / F circuit.
FIG. 19 is a block configuration diagram of a transfer determination circuit.
FIG. 20 is an explanatory diagram of a configuration of a register.
FIG. 21 is a flowchart for explaining packet transmission processing;
FIG. 22 is a flowchart for explaining packet reception / transfer processing;
[Explanation of symbols]
1 CPU
2 memory
3 Bus
4 2-channel communication module
100a, 100b buffer
110a, 110b Receive FIFO
120a, 120b Transmission FIFO
130a, 130b Transfer FIFO
200 Transfer decision circuit
300a, 300b Ethernet MAC
400 Bus I / F circuit
810a, 810b PHY
820a, 820b Ethernet
150a, 150b buffer
250 Transfer decision circuit
450 Bus I / F circuit
300a, 300b Ethernet MAC
450 Bus I / F circuit
500 Priority judgment circuit

Claims (14)

複数の通信対象とパケットの送信および受信を行う複数の通信手段と、前記複数の通信手段が送信するためのパケットを生成するとともに前記複数の通信手段が受信したパケットを処理するパケット生成処理手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記転送用パケットであると判定したときには前記受信パケットを転送用バッファ手段に出力するとともに、前記パケット生成処理手段の生成によるパケットと前記転送用バッファ手段に保持された転送用パケットのうち一方のパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する転送制御手段とを備え、前記転送制御手段は、前記転送用バッファ手段の使用率が閾値を超えたときには前記転送用パケットに対する優先順位を前記生成によるパケットよりも高くして、前記生成によるパケットに優先して前記転送用パケットを前記指定の通信手段に出力してなるパケット通信装置。A plurality of communication means for transmitting and receiving packets with a plurality of communication targets; a packet generation processing means for generating a packet for transmission by the plurality of communication means and processing a packet received by the plurality of communication means; When it is determined that the transfer buffer means for holding a transfer packet for exchanging information between the plurality of communication objects, and the received packet received by the plurality of communication means is the transfer packet The received packet is output to the transfer buffer unit, and one of the packets generated by the packet generation processing unit and the transfer packet held in the transfer buffer unit is set as a communication target of a transmission destination or a transfer destination Transfer control means for outputting preferentially to the corresponding designated communication means, wherein the transfer control means When the usage rate of the buffer means exceeds a threshold, the priority for the transfer packet is set higher than the packet by the generation, and the transfer packet is output to the designated communication means in preference to the packet by the generation A packet communication device. 複数の通信対象とパケットの送信および受信を行う複数の通信手段と、前記複数の通信手段が送信するためのパケットを生成するとともに前記複数の通信手段が受信したパケットを処理するパケット生成処理手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記パケット生成処理手段で処理すべきパケットか前記転送用パケットであるか否かを判定し、この判定結果に従って前記受信パケットを前記パケット生成処理手段または転送用バッファ手段に出力するとともに、前記パケット生成処理手段の生成によるパケットと前記転送用バッファ手段に保持された転送用パケットのうち一方のパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する転送制御手段とを備え、前記転送制御手段は、前記転送用バッファ手段の使用率が優先順位変更用閾値を超えたときには前記転送用パケットに対する優先順位を前記生成によるパケットよりも高くして、前記生成によるパケットに優先して前記転送用パケットを前記指定の通信手段に出力してなるパケット通信装置。A plurality of communication means for transmitting and receiving packets with a plurality of communication objects; a packet generation processing means for generating a packet for transmission by the plurality of communication means and processing a packet received by the plurality of communication means; A transfer buffer means for holding a transfer packet for exchanging information between the plurality of communication objects; and a packet to be processed by the packet generation processing means for a received packet received by the plurality of communication means Whether the packet is a transfer packet or not, and outputs the received packet to the packet generation processing means or the transfer buffer means according to the determination result, and the packet generated by the packet generation processing means and the transfer packet One of the transfer packets held in the buffer means is sent to the destination or destination Transfer control means for preferentially outputting to a designated communication means corresponding to an elephant, and the transfer control means is adapted for the transfer packet when the usage rate of the transfer buffer means exceeds a priority change threshold. A packet communication apparatus configured to output a transfer packet to the designated communication unit with a priority higher than that of the packet generated by the generation and giving priority to the packet generated by the generation. 請求項1または2に記載のパケット通信装置において、前記転送制御手段は、前記パケット生成処理手段で設定可能な優先順位用レジスタを備え、前記優先順位用レジスタには前記転送用バッファ手段の使用率に関する優先順位変更用閾値が設定されてなることを特徴とするパケット通信装置。3. The packet communication apparatus according to claim 1, wherein the transfer control unit includes a priority order register that can be set by the packet generation processing unit, and the priority order register includes a usage rate of the transfer buffer unit. A packet communication apparatus, wherein a priority order change threshold is set. 請求項1、2または3のうちいずれか1項に記載のパケット通信装置において、前記転送制御手段は、前記転送用バッファ手段の使用率がフロー制御用閾値を超えたときには転送元の通信対象に対応した指定の通信手段に対してフロー制御用パケットを出力してなるパケット通信装置。4. The packet communication device according to claim 1, wherein the transfer control unit sets a transfer source communication target when the usage rate of the transfer buffer unit exceeds a flow control threshold value. 5. A packet communication apparatus that outputs a flow control packet to a corresponding designated communication means. 請求項1、2または3のうちいずれか1項に記載のパケット通信装置において、前記複数の通信手段の受信による受信パケットを一時保持する受信用バッファ手段を備え、前記転送制御手段は、前記受信用バッファ手段の使用率がフロー制御用閾値を超えたときには送信元の通信対象に対応した指定の通信手段に対してフロー制御用パケットを出力してなるパケット通信装置。4. The packet communication device according to claim 1, further comprising: a reception buffer unit that temporarily holds a reception packet by reception of the plurality of communication units, wherein the transfer control unit includes the reception control unit. A packet communication device that outputs a flow control packet to a designated communication means corresponding to a communication target of a transmission source when the usage rate of the buffer means exceeds a flow control threshold. 請求項4または5に記載のパケット通信装置において、前記転送制御手段は、前記パケット生成処理手段で設定可能なフロー制御用レジスタを備え、前記フロー制御用レジスタには前記転送用バッファ手段または前記受信用バッファ手段の使用率に関するフロー制御用閾値が設定されてなることを特徴とするパケット通信装置。6. The packet communication apparatus according to claim 4, wherein the transfer control unit includes a flow control register that can be set by the packet generation processing unit, and the flow control register includes the transfer buffer unit or the reception unit. A packet communication apparatus, characterized in that a flow control threshold value relating to the usage rate of the buffer means is set. IPアドレスとその補助アドレスであるポートを含むパケットの送信および受信を複数の通信対象と行う複数の通信手段と、前記パケットのリアルタイム性に関する優先順位を前記IPアドレスと前記ポートの組み合わせに従って判定する優先順位判定手段と、前記リアルタイム性に関する優先順位に対応づけて送信用パケットを保持する複数の送信用バッファ手段と、前記複数の送信用バッファ手段に保持された送信用パケットのうち一番優先順位の高いパケットを前記優先順位判定手段の判定結果に従って選択して送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する優先パケット選択手段とを備えてなるパケット通信装置。A plurality of communication means for performing transmission and reception of a packet including an IP address and a port which is an auxiliary address thereof as a plurality of communication targets, and a priority for determining a priority order of the packet in real time according to a combination of the IP address and the port An order determination means, a plurality of transmission buffer means for holding transmission packets in association with the priorities relating to the real-time property, and the highest priority among the transmission packets held in the plurality of transmission buffer means A packet communication apparatus comprising: priority packet selection means for selecting a high packet according to the determination result of the priority order determination means and preferentially outputting to a designated communication means corresponding to a communication target of a transmission destination or a transfer destination. 請求項7に記載のパケット通信装置において、前記複数の通信手段が送信するためのパケットを生成するとともに前記複数の通信手段が受信したパケットを処理するパケット生成処理手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記パケット生成処理手段で処理すべきパケットか前記転送用パケットであるか否かを判定し、この判定結果に従って前記受信パケットを前記パケット生成処理手段または転送用バッファ手段に出力するとともに、前記パケット生成処理手段の生成によるパケットを前記送信用バッファ手段に出力する転送制御手段とを備え、前記優先パケット選択手段は、前記転送用バッファ手段に保持された転送用パケットをその優先順位に従って指定の送信用バッファ手段に出力してなることを特徴とするパケット通信装置。8. The packet communication device according to claim 7, wherein a packet generation processing means for generating a packet to be transmitted by the plurality of communication means and processing a packet received by the plurality of communication means; and between the plurality of communication targets And a transfer buffer means for holding a transfer packet for mutually transferring information, and a received packet received by the plurality of communication means is a packet to be processed by the packet generation processing means or the transfer packet Transfer control for determining whether or not and outputting the received packet to the packet generation processing means or transfer buffer means according to the determination result, and outputting the packet generated by the packet generation processing means to the transmission buffer means And the priority packet selection means is held in the transfer buffer means. Packet communication apparatus characterized by comprising outputs the transmission packet to the transmission buffer means specified in accordance with the priority. 請求項7または8に記載のパケット通信装置において、前記優先パケット選択手段は、前記複数の送信用バッファ手段のうちいずれかの送信用バッファ手段の使用率が閾値を超えたときには、当該送信用バッファ手段に保持されたパケットを他のパケットに優先して前記指定の通信手段に出力してなることを特徴とするパケット通信装置。9. The packet communication device according to claim 7 or 8, wherein the priority packet selection unit is configured to transmit the priority buffer when the usage rate of any one of the plurality of transmission buffer units exceeds a threshold value. A packet communication apparatus characterized in that a packet held in the means is output to the designated communication means in preference to other packets. 請求項9に記載のパケット通信装置において、前記優先パケット選択手段は、前記パケット生成処理手段で設定可能なレジスタを備え、前記レジスタには前記転送用バッファ手段の使用率に関する閾値が設定されてなることを特徴とするパケット通信装置。10. The packet communication apparatus according to claim 9, wherein the priority packet selection means includes a register that can be set by the packet generation processing means, and a threshold for the usage rate of the transfer buffer means is set in the register. A packet communication apparatus. IPアドレスとその補助アドレスであるポートを含むパケットの送信および受信を行う複数のパケット通信装置と、前記複数のパケット通信装置間で送受信されるパケットのリアルタイム性に関する優先順位を前記IPアドレスと前記ポートの組み合わせに従って決定する優先順位制御部とを備え、前記複数のパケット通信装置は互いに直列に接続されてなるパケット通信システム。A plurality of packet communication devices that perform transmission and reception of packets including an IP address and a port that is an auxiliary address thereof, and priorities regarding the real-time property of packets transmitted and received between the plurality of packet communication devices. And a priority control unit that determines the combination according to the combination, and the plurality of packet communication devices are connected in series with each other. 請求項11に記載のパケット通信システムにおいて、前記複数のパケット通信装置は、請求項7、8、9、10のうちいずれか1項に記載のパケット通信装置で構成されてなることを特徴とするパケット通信システム。12. The packet communication system according to claim 11, wherein the plurality of packet communication devices are configured by the packet communication device according to any one of claims 7, 8, 9, and 10. Packet communication system. 複数の通信対象とパケットの送信および受信を行う複数の通信手段と、前記複数の通信対象間で相互に情報の授受を行うための転送用パケットを保持する転送用バッファ手段と、前記複数の通信手段の受信による受信パケットが前記転送用パケットであると判定したときには前記受信パケットを転送用バッファ手段に出力するとともに、送信用パケットと前記転送用バッファ手段に保持された転送用パケットのうち一方のパケットを送信先または転送先の通信対象に対応した指定の通信手段に優先的に出力する転送制御手段とを備え、前記転送制御手段は、前記転送用バッファ手段の使用率が閾値を超えたときには前記転送用パケットに対する優先順位を前記送信用パケットよりも高くして、前記送信用パケットに優先して前記転送用パケットを前記指定の通信手段に出力してなるパケット通信モジュール。A plurality of communication means for transmitting and receiving packets with a plurality of communication objects; a transfer buffer means for holding a transfer packet for exchanging information between the plurality of communication objects; and the plurality of communications When it is determined that the received packet received by the means is the transfer packet, the received packet is output to the transfer buffer means, and one of the transmission packet and the transfer packet held in the transfer buffer means is output. A transfer control unit that preferentially outputs a packet to a designated communication unit corresponding to a communication target of a transmission destination or a transfer destination, and the transfer control unit, when the usage rate of the transfer buffer unit exceeds a threshold value The transfer packet has a higher priority than the transmission packet, and has priority over the transmission packet. Packet communication module comprising outputting to the designated communication means. 請求項13に記載のパケット通信モジュールにおいて、前記転送制御手段は、前記パケット生成処理手段で設定可能な優先順位用レジスタを備え、前記優先順位用レジスタには前記転送用バッファ手段の使用率に関する優先順位変更用閾値が設定されてなることを特徴とするパケット通信モジュール。14. The packet communication module according to claim 13, wherein the transfer control means includes a priority order register that can be set by the packet generation processing means, and the priority order register has a priority relating to a usage rate of the transfer buffer means. A packet communication module, wherein a threshold for changing rank is set.
JP2001355198A 2001-11-20 2001-11-20 Packet communication device Expired - Fee Related JP3735755B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2001355198A JP3735755B2 (en) 2001-11-20 2001-11-20 Packet communication device
TW091133137A TWI227616B (en) 2001-11-20 2002-11-12 Packet communication device, packet communication system, packet communication module, data processor and data transmission system
US10/298,520 US20030095560A1 (en) 2001-11-20 2002-11-19 Packet communication device, packet communication system, packet communication module, data processor, and data transfer system
CNB021527369A CN1309224C (en) 2001-11-20 2002-11-20 Message package communication device, system and module, data processor and transport system
US12/010,762 US7814223B2 (en) 2001-11-20 2008-01-29 Packet communication device, packet communication system, packet communication system, packet communication module, data processor, and data transfer system
US12/873,893 US8423661B2 (en) 2001-11-20 2010-09-01 Packet communication device, packet communication system, packet communication module, data processor, and data transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001355198A JP3735755B2 (en) 2001-11-20 2001-11-20 Packet communication device

Publications (2)

Publication Number Publication Date
JP2003158523A JP2003158523A (en) 2003-05-30
JP3735755B2 true JP3735755B2 (en) 2006-01-18

Family

ID=19166937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001355198A Expired - Fee Related JP3735755B2 (en) 2001-11-20 2001-11-20 Packet communication device

Country Status (1)

Country Link
JP (1) JP3735755B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5113453B2 (en) * 2007-08-24 2013-01-09 Juki株式会社 Serial communication device
JP5375320B2 (en) * 2009-05-08 2013-12-25 富士通株式会社 COMMUNICATION CONTROL METHOD, COMMUNICATION SYSTEM AND COMMUNICATION DEVICE
KR101025674B1 (en) 2010-02-03 2011-03-30 엘에스산전 주식회사 Device for switching a dual port ethernet
JPWO2016163015A1 (en) * 2015-04-09 2017-11-30 三菱電機株式会社 Communication relay device and air conditioning cooling / heating system
JP6378158B2 (en) * 2015-11-12 2018-08-22 Necプラットフォームズ株式会社 Concentrator and method

Also Published As

Publication number Publication date
JP2003158523A (en) 2003-05-30

Similar Documents

Publication Publication Date Title
US7814223B2 (en) Packet communication device, packet communication system, packet communication system, packet communication module, data processor, and data transfer system
US6434153B1 (en) Packet communication system with QoS control function
US10432556B1 (en) Enhanced audio video bridging (AVB) methods and apparatus
US7620745B2 (en) Transferring data between a memory and peripheral units employing direct memory access control
US8838782B2 (en) Network protocol processing system and network protocol processing method
JP3807614B2 (en) Packet order control method in multilink communication system
JP3735755B2 (en) Packet communication device
US7016302B1 (en) Apparatus and method for controlling queuing of data at a node on a network
Rahmani et al. A novel network architecture for in-vehicle audio and video communication
JP3891945B2 (en) Packet communication device
JP4741401B2 (en) Information transfer device
JP3693594B2 (en) Router device
JP3460080B2 (en) Distributed management communication method and apparatus
JP5617625B2 (en) Data relay apparatus and communication priority control method
JP4692406B2 (en) RELAY COMMUNICATION SYSTEM, RELAY APPARATUS, SESSION BAND CONTROL METHOD USED FOR THEM AND PROGRAM
JP3890423B2 (en) Distributed management communication method and apparatus
JPH0366243A (en) Bus broadcast type packet switchboard
JP2005012468A (en) Bidirectional packet transfer system and packet transfer route setting method
JP5069276B2 (en) Function distributed packet transfer system and message processing method
JP2010153950A (en) Priority control device, packet communication system, priority control method used therefor and program thereof
JPH07143122A (en) Traffic control system
JP2008252413A (en) Priority control system, priority control apparatus, priority control method used for them, and its program
JP2002271401A (en) Network quality control system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050912

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: 20050920

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051011

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: 20081104

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091104

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111104

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111104

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111104

Year of fee payment: 6

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: 20111104

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121104

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121104

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131104

Year of fee payment: 8

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees