JP4957604B2 - Communication control device - Google Patents

Communication control device Download PDF

Info

Publication number
JP4957604B2
JP4957604B2 JP2008076256A JP2008076256A JP4957604B2 JP 4957604 B2 JP4957604 B2 JP 4957604B2 JP 2008076256 A JP2008076256 A JP 2008076256A JP 2008076256 A JP2008076256 A JP 2008076256A JP 4957604 B2 JP4957604 B2 JP 4957604B2
Authority
JP
Japan
Prior art keywords
buffer
unit
packet
buffer unit
packets
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
JP2008076256A
Other languages
Japanese (ja)
Other versions
JP2009232244A (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2008076256A priority Critical patent/JP4957604B2/en
Publication of JP2009232244A publication Critical patent/JP2009232244A/en
Application granted granted Critical
Publication of JP4957604B2 publication Critical patent/JP4957604B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、通信制御装置に関し、パケットに対するバッファ部を複数具備する通信制御装置に関する。   The present invention relates to a communication control apparatus, and more particularly to a communication control apparatus including a plurality of buffer units for packets.

パケット転送を行う通信制御装置は、受信したパケットに対してスイッチング処理やルーティング処理等のパケット分析処理を行う。このパケット分析処理により生じる瞬間的な送受信転送レート差を吸収するため、ポート毎に個別のバッファ部を具備する。バッファ部のサイズは、例えば、各ポートの最大転送レートや、最大送受信転送レート差や、ネットワーク装置内での許容遅延(レイテンシ)等に応じて決められる。   The communication control apparatus that performs packet transfer performs packet analysis processing such as switching processing and routing processing on the received packet. In order to absorb an instantaneous transmission / reception transfer rate difference caused by the packet analysis processing, an individual buffer unit is provided for each port. The size of the buffer unit is determined according to, for example, the maximum transfer rate of each port, the maximum transmission / reception transfer rate difference, the allowable delay (latency) in the network device, and the like.

バッファ部を複数有する通信制御装置においては、受信したパケットを複数のバッファ部に振り分けて蓄積し、複数のバッファ部の中から所定のバッファ部を選択して、選択したバッファ部からパケットを取り出して送信する処理を行う必要がある。ここで、バッファ部を用いてパケットを送信する技術としては、ラウンドロビン方式が知られている。ラウンドロビン方式は、各バッファ部を順に(順番に)選択対象とする方式である。したがって、ラウンドロビン方式では、受信したパケットを各バッファ部に順に蓄積するとともに、蓄積されたパケットが各バッファ部から順に取り出されて送信される動作が基本となる。   In a communication control apparatus having a plurality of buffer units, received packets are distributed and stored in a plurality of buffer units, a predetermined buffer unit is selected from the plurality of buffer units, and a packet is extracted from the selected buffer unit. It is necessary to perform processing to send. Here, a round robin method is known as a technique for transmitting a packet using a buffer unit. The round robin method is a method in which each buffer unit is selected (in order). Therefore, in the round robin method, received packets are stored in order in each buffer unit, and the stored packets are sequentially extracted from each buffer unit and transmitted.

このラウンドロビン方式を用いて、パケットを送信する技術は様々開示されている(例えば、特許文献1)。   Various techniques for transmitting packets using this round robin method have been disclosed (for example, Patent Document 1).

特開2000−092070号公報JP 2000-092070 A

しかし、例えば、特許文献1に開示された技術では、バッファ部におけるパケットの廃棄が発生した場合に、パケットの送信の順番が入れ替わってしまうという問題があった。   However, for example, the technique disclosed in Patent Document 1 has a problem in that the packet transmission order is changed when a packet is discarded in the buffer unit.

そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、受信したパケットを各バッファ部に順に蓄積するとともに、蓄積されたパケットが各バッファ部から順に取り出されて送信される場合に、バッファ部におけるパケットの廃棄が発生した場合でも、送信パケットの順番を正常に保つことが可能な通信制御装置を提供することにある。   Therefore, the present invention has been made in view of the above problems, and an object of the present invention is to accumulate received packets in order in each buffer unit, and to retrieve the accumulated packets in order from each buffer unit. Therefore, it is an object of the present invention to provide a communication control apparatus capable of maintaining the order of transmission packets even when packets are discarded in a buffer unit.

上記問題を解決するために、本発明のある観点によれば、入力されたパケットを、入力された順に抜き出し対象に設定して蓄積するバッファ部を複数備えた通信制御装置であって、1又は複数のポートを介してパケットの入力を受け付け、そのパケットを、複数のバッファ部に対して順に振り分けて出力する受信バッファ振分部と、複数のバッファ部におけるパケットの廃棄状態を監視する監視処理を行い、その廃棄状態に基づいて、受信バッファ振分部が入力を受け付けた順に、複数のバッファ部からパケットを抜き出す抜出処理を行い、抜き出したパケットから順に出力する送信バッファ振分部と、を備える通信制御装置が提供される。   In order to solve the above-described problem, according to an aspect of the present invention, there is provided a communication control apparatus including a plurality of buffer units that set and accumulate input packets as extraction targets in the order of input. A receiving buffer distribution unit that receives input of packets through a plurality of ports, and distributes and outputs the packets to a plurality of buffer units in order, and a monitoring process that monitors packet discard states in the plurality of buffer units. A transmission buffer allocating unit that performs extraction processing for extracting packets from the plurality of buffer units in the order in which the reception buffer allocating unit accepts input based on the discard state, and that sequentially outputs the extracted packets. A communication control device is provided.

以上説明したように本発明によれば、受信したパケットを各バッファ部に順に蓄積するとともに、蓄積されたパケットが各バッファ部から順に取り出されて送信される場合に、バッファ部におけるパケットの廃棄が発生した場合でも、送信パケットの順番を正常に保つことが可能な通信制御装置を提供することができる。   As described above, according to the present invention, received packets are stored in order in each buffer unit, and when the stored packets are sequentially extracted from each buffer unit and transmitted, packet discarding in the buffer unit is prevented. Even if it occurs, it is possible to provide a communication control apparatus that can keep the order of transmission packets normal.

以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。   Exemplary embodiments of the present invention will be described below in detail with reference to the accompanying drawings. In addition, in this specification and drawing, about the component which has the substantially same function structure, duplication description is abbreviate | omitted by attaching | subjecting the same code | symbol.

図1は、一般的な通信制御装置(その1)の構成例を示す図である。図1を参照して、一般的な通信制御装置(その1)の構成例について説明する。   FIG. 1 is a diagram illustrating a configuration example of a general communication control apparatus (part 1). A configuration example of a general communication control device (part 1) will be described with reference to FIG.

図1に示すように、一般的な通信制御装置600Aは、各ポートP0〜P9に個別のバッファ部800〜890を具備している。受信ポート振分部700は、受信したパケットをバッファ部800〜890に振り分け、送信ポート振分部900は、バッファ部800〜890に蓄積されたパケットを取り出して送信する。これによって、通信制御装置600Aが行うパケット分析処理により生じる瞬間的な送受信転送レート差を吸収している。   As shown in FIG. 1, a general communication control apparatus 600A includes individual buffer units 800 to 890 at the ports P0 to P9. The reception port distribution unit 700 distributes the received packets to the buffer units 800 to 890, and the transmission port distribution unit 900 extracts and transmits the packets accumulated in the buffer units 800 to 890. As a result, the instantaneous transmission / reception transfer rate difference generated by the packet analysis processing performed by the communication control device 600A is absorbed.

近年は、ネットワークシステムの使用態様が多様化しており、それぞれの使用態様及び、通信状況の変化に応じてバッファサイズを変更できるものが強く望まれている。それらの要望に対応する技術の1つとして、本願発明者は、新たな技術を開発した。   In recent years, usage modes of network systems have been diversified, and there is a strong demand for those in which the buffer size can be changed according to changes in each usage mode and communication status. The inventors of the present application have developed a new technology as one of the technologies corresponding to these demands.

この技術によれば、固定サイズの複数のバッファを用意し、各ポートに割り当てるバッファ量は「ポートのリンク情報」「バッファ内の残りパケットの滞留量」「パケットがバッファ内を通過する時間」に応じて割り当てる固定サイズのバッファ数で動的に決定される。   According to this technology, a plurality of buffers of a fixed size are prepared, and the buffer amount allocated to each port is “port link information”, “retention amount of remaining packets in the buffer”, and “time for packets to pass through the buffer”. It is dynamically determined by the number of fixed-size buffers allocated accordingly.

各ポートから受信したパケットは、割り当てられた複数の固定サイズバッファに1パケット毎、順次処理方法(ラウンドロビン)で格納され、バッファからの送信時には受信時と同様に全バッファからラウンドロビンで1パケットずつ抜き出して送信される。これにより各ポートに割り当てられた転送レート帯域は使用する固定サイズバッファ数によって必然的に決定される。   Packets received from each port are stored in a sequence of processing methods (round robin) for each packet in a plurality of fixed size buffers assigned, and when transmitting from the buffer, one packet is sent from all the buffers in round robin as with reception. It is extracted and sent one by one. As a result, the transfer rate bandwidth assigned to each port is inevitably determined by the number of fixed size buffers to be used.

図2は、一般的な通信制御装置(その2)の構成例を示す図である。図2を参照して、一般的な通信制御装置(その2)の構成例について説明する。   FIG. 2 is a diagram illustrating a configuration example of a general communication control device (part 2). A configuration example of a general communication control apparatus (part 2) will be described with reference to FIG.

図2に示すように、一般的な通信制御装置600Bは、各ポートに個別のバッファ部800〜890を具備している。受信バッファ振分部710は、受信したパケットをバッファ部800〜890に振り分け、送信ポート振分部910は、バッファ部800〜890に蓄積されたパケットを取り出して送信する。   As shown in FIG. 2, a general communication control device 600B includes individual buffer units 800 to 890 at each port. The reception buffer distribution unit 710 distributes the received packets to the buffer units 800 to 890, and the transmission port distribution unit 910 extracts the packets stored in the buffer units 800 to 890 and transmits them.

例えば、10Mbpsのポート10本を処理するために、各ポートに対応した10個のバッファ部800〜890を用いる構成において、バッファ部800〜890の構成はそのままで、100Mbpsのポート1本を処理する場合を考える。受信バッファ振分部710においては、受信した順番に、バッファ部800〜890にパケットを振り分ける。送信バッファ振分部910においては、バッファ部800〜890から順番にパケットを取り出して送信する。   For example, in order to process 10 ports of 10 Mbps, in a configuration using 10 buffer units 800 to 890 corresponding to each port, the configuration of the buffer units 800 to 890 is maintained and one port of 100 Mbps is processed. Think about the case. The reception buffer distribution unit 710 distributes the packets to the buffer units 800 to 890 in the order of reception. In the transmission buffer distribution unit 910, packets are sequentially extracted from the buffer units 800 to 890 and transmitted.

図3は、一般的な通信制御装置(その2)における動作例を示す模式図である。図3を参照して、一般的な通信制御装置(その2)における動作例について説明する。   FIG. 3 is a schematic diagram illustrating an operation example in a general communication control apparatus (part 2). With reference to FIG. 3, the operation example in a general communication control apparatus (the 2) is demonstrated.

図3には、図2に示した通信制御装置(その2)を動作させた場合におけるパケットの流れが模式的に示されている。ここで、各パケットに表示されている番号は、受信するパケットの受信順番を表すために便宜的に付されたもので、パケットの内容とは関わり無い。また、実際のパケットに関係付けられたものではない。実際にはパケットに番号付けを行わないのが一般的である。以下においても、特に明示する場合を除いて同様である。また、分かりやすくするために、受信したパケットが、受信後すぐに送信されるのではなく、バッファ部800〜890内に滞留した後、送信されるものとして図示されている。図3に示すように、パケットは、バッファ部800〜890に順に蓄積されている。   FIG. 3 schematically shows a packet flow when the communication control apparatus (part 2) shown in FIG. 2 is operated. Here, the number displayed on each packet is given for convenience in order to indicate the reception order of the received packets, and is not related to the contents of the packets. Also, it is not related to the actual packet. In practice, the packets are generally not numbered. The same applies to the following unless otherwise specified. For the sake of clarity, the received packet is not transmitted immediately after reception, but is illustrated as being transmitted after staying in the buffer units 800 to 890. As shown in FIG. 3, the packets are sequentially stored in the buffer units 800 to 890.

図4は、一般的な通信制御装置(その2)における動作例を示す模式図である。図4を参照して、一般的な通信制御装置(その2)における動作例について説明する。   FIG. 4 is a schematic diagram illustrating an operation example in a general communication control apparatus (part 2). With reference to FIG. 4, the operation example in a general communication control apparatus (the 2) is demonstrated.

図4においては、図2に示した通信制御装置(その2)を動作させた場合におけるパケットの流れが模式的に示されている。ただし、簡単化のために4つのバッファ部800〜830を用いたラウンドロビンでのパケット処理を示す。   FIG. 4 schematically shows a packet flow when the communication control apparatus (part 2) shown in FIG. 2 is operated. However, for simplification, a round robin packet process using four buffer units 800 to 830 is shown.

図4において、通信制御装置600Bが18個のパケットを受信する場合を例として示している。受信バッファ振分部710においては、パケットの受信順に、バッファ部800からバッファ部830に対してパケットを振り分ける。送信バッファ振分部910においては、各バッファ部800〜830からの送信要求に応えて、順番にパケットを取り出し送信処理を行う。   FIG. 4 shows an example in which the communication control device 600B receives 18 packets. The reception buffer distribution unit 710 distributes the packets from the buffer unit 800 to the buffer unit 830 in the order in which the packets are received. In response to the transmission request from each of the buffer units 800 to 830, the transmission buffer allocating unit 910 sequentially extracts packets and performs transmission processing.

バッファ部800〜830では、受信バッファ振分部710から受け取った順番でパケットを管理し、その順番を保存して、送信バッファ振分部910に送出要求を出す(FIFO(First In First Out)動作)。バッファ部810に着目すれば、1番目、5番目、9番目、13番目、17番目のパケットがバッファに蓄積され、この順番で送出を行う。   The buffer units 800 to 830 manage packets in the order received from the reception buffer allocating unit 710, store the order, and issue a transmission request to the transmission buffer allocating unit 910 (FIFO (First In First Out) operation) ). Focusing on the buffer unit 810, the first, fifth, ninth, thirteenth, and seventeenth packets are accumulated in the buffer, and are transmitted in this order.

図5は、一般的な通信制御装置(その2)における動作例を示す模式図である。図5を参照して、一般的な通信制御装置(その2)における動作例について説明する。   FIG. 5 is a schematic diagram illustrating an operation example in a general communication control apparatus (part 2). With reference to FIG. 5, the operation example in a common communication control apparatus (the 2) is demonstrated.

図5は、5番目のパケットが廃棄されたことを例として示している。廃棄は、例えば、受信バッファ振分部710でのパケット振り分け後、バッファ部810内でのパケット処理(パケット分析による廃棄、バッファオーバフローによる廃棄など)により発生する。図5に示すように、4番目のパケットまでは受信した順番通りに正常に送信される。   FIG. 5 shows an example in which the fifth packet is discarded. The discarding occurs, for example, by packet processing (discarding by packet analysis, discarding by buffer overflow, etc.) in the buffer unit 810 after packet sorting by the reception buffer sorting unit 710. As shown in FIG. 5, up to the fourth packet is normally transmitted in the order received.

図6は、一般的な通信制御装置(その2)における動作例を示す模式図である。図6を参照して、一般的な通信制御装置(その2)における動作例について説明する。   FIG. 6 is a schematic diagram illustrating an operation example in a general communication control apparatus (part 2). With reference to FIG. 6, the operation example in a general communication control apparatus (the 2) is demonstrated.

図6においては、5番目のパケットが廃棄されたことによるバッファ部810内の状態が示されている。5番目のパケットが廃棄されたことにより、バッファ部810内では、1番目のパケットの次が9番目のパケットとなる。送信バッファ振分部910で、ラウンドロビンによる送信を行うと、図6に示す通り、4番目のパケットの後に9番目のパケットが送信される。これがパケットの順序が入れ替わった状態である。さらに、この後もバッファ部810内のパケットは他のバッファ部800、820、830に蓄積されているパケットよりも一巡早く送信されることとなる。バッファ部800〜830内に滞留しているパケットが無くなるまで、この状態は続く。   FIG. 6 shows a state in the buffer unit 810 due to the discard of the fifth packet. Since the fifth packet is discarded, the buffer after the first packet becomes the ninth packet in the buffer unit 810. When transmission by round robin is performed in the transmission buffer allocating unit 910, the ninth packet is transmitted after the fourth packet as shown in FIG. This is a state in which the order of the packets is changed. Further, after that, the packets in the buffer unit 810 are transmitted one round earlier than the packets stored in the other buffer units 800, 820, and 830. This state continues until there are no packets remaining in the buffer units 800 to 830.

理想としては、図6の下部に示すように、5番目のパケットが廃棄されても、その後のパケット順序が入れ替わり無く送信されることが望ましい。一般にIP(Internet Protocol)パケットでは、パケットの順序が入れ替わっても、終端部において復元・組立され、通信自体には支障が無い。また、IP網では一般的にパケットの順序は保障されず、順序が入れ替わること自体は珍しいことではない。しかしながら、特に最近ではIP網内を音声や映像が流れ、その品質制御が重要となってきている。品質制御装置などで優先制御されたパケットの順序が網内で入れ替わることは好ましくない。このため、上記のような一般的な通信制御装置による単純なラウンドロビンでの制御には問題があり、パケットの順序の入れ替えが継続して発生することは避けるべきである。   Ideally, as shown in the lower part of FIG. 6, even if the fifth packet is discarded, it is desirable that the subsequent packet order be transmitted without being changed. In general, in an IP (Internet Protocol) packet, even if the order of the packets is changed, the packet is restored and assembled at the terminal portion, and there is no problem in communication itself. Further, in the IP network, the order of packets is generally not guaranteed, and it is not uncommon for the order to change. However, recently, voice and video have flowed through the IP network, and quality control has become important. It is not preferable that the order of packets whose priority is controlled by a quality control device or the like is changed within the network. For this reason, there is a problem in the simple round robin control by the general communication control device as described above, and it should be avoided that the packet order is continuously changed.

(第1実施形態)
図7は、第1実施形態に係る通信制御装置の構成例を示す模式図である。図7を参照して、第1実施形態に係る通信制御装置の構成例について説明する。
(First embodiment)
FIG. 7 is a schematic diagram illustrating a configuration example of the communication control apparatus according to the first embodiment. A configuration example of the communication control apparatus according to the first embodiment will be described with reference to FIG.

(構成)
第1実施形態に係る通信制御部100Aは、受信バッファ振分部710と、バッファ部300A〜330Aと、送信バッファ振分部400Aとを含んで構成される。
(Constitution)
The communication control unit 100A according to the first embodiment includes a reception buffer distribution unit 710, buffer units 300A to 330A, and a transmission buffer distribution unit 400A.

受信バッファ振分部710は、1又は複数のポート(不図示)を介してパケットの入力を受け付ける。受信バッファ振分部710は、入力を受け付けたパケットを、バッファ部300A〜330Aに対して順に(ラウンドロビン方式で)振り分けて出力する。つまり、受信バッファ振分部710は、上記した一般的な通信制御装置(その2)における受信バッファ振分部710と同様の構成である。   The reception buffer distribution unit 710 receives packet input via one or a plurality of ports (not shown). The reception buffer allocating unit 710 distributes the received packets to the buffer units 300A to 330A in order (in a round robin manner) and outputs the packets. That is, the reception buffer allocating unit 710 has the same configuration as the reception buffer allocating unit 710 in the above-described general communication control apparatus (part 2).

バッファ部300A〜330Aは、入力されたパケットを、入力された順に抜き出し対象に設定して蓄積する。ここでは、バッファ部を4つ備えることとしたが、複数であればいくつであってもよい。第1実施形態においては、バッファ部300A〜330Aのうち、すくなくとも1つは、廃棄したパケットの数を示す廃棄数カウンタをそれぞれの内部に有しており、パケットを廃棄した際には自己の有する廃棄数カウンタをカウントアップする。ここでは、例としてバッファ部810Aが廃棄数カウンタを有する場合について説明するが、バッファ部300A〜330Aのうち、2つ以上のバッファ部が廃棄数カウンタを有することとしてもよい。   The buffer units 300A to 330A set the input packets as extraction targets in the input order and store them. Here, four buffer units are provided. However, any number of buffer units may be used. In the first embodiment, at least one of the buffer units 300A to 330A has a discard number counter indicating the number of discarded packets in each of the buffer units 300A to 330A. Count up the discard counter. Here, a case where the buffer unit 810A has a discard number counter will be described as an example, but two or more buffer units out of the buffer units 300A to 330A may have a discard number counter.

送信バッファ振分部400Aは、廃棄数カウンタを有するバッファ部810Aにおけるパケットの廃棄状態を監視する監視処理を行う。送信バッファ振分部400Aは、この廃棄状態に基づいて、受信バッファ振分部710が入力を受け付けた順に、バッファ部300A〜330Aからパケットを抜き出す抜出処理を行い、抜き出したパケットから順に出力する。   The transmission buffer distribution unit 400A performs a monitoring process for monitoring the packet discard state in the buffer unit 810A having a discard number counter. Based on this discard state, the transmission buffer allocating unit 400A performs extraction processing for extracting packets from the buffer units 300A to 330A in the order in which the reception buffer allocating unit 710 receives input, and outputs the extracted packets in order. .

第1実施形態においては、送信バッファ振分部400Aは、廃棄数カウンタがカウントアップされているか否かを監視することによって、廃棄数カウンタを有するバッファ部310Aの監視処理を行う。また、送信バッファ振分部400Aは、バッファ部300A〜330Aから順にパケットを抜き出すことによって抜出処理を行う際に、廃棄数カウンタがカウントアップされている場合には、廃棄数カウンタを有するバッファ部310Aからのパケットの抜き出しをスキップする。つまり、送信バッファ振分部400Aは、通常のラウンドロビン方式によるパケット取り出し動作に加え、廃棄数カウンタを有するバッファ部310Aから提示された廃棄数カウンタに基づき、バッファ部310Aからのパケットの取り出しをスキップ(飛ばす)する。また、送信バッファ振分部400Aは、抜出処理において、廃棄数カウンタがカウントアップされている場合には、廃棄数カウンタをカウントダウンする処理をさらに行うこととしてもよい。   In the first embodiment, the transmission buffer allocating unit 400A monitors the buffer unit 310A having the discard number counter by monitoring whether or not the discard number counter is counted up. Also, the transmission buffer allocating unit 400A has a discard number counter when the discard number counter is counted up when performing extraction processing by extracting packets sequentially from the buffer units 300A to 330A. The extraction of the packet from 310A is skipped. That is, the transmission buffer allocating unit 400A skips packet extraction from the buffer unit 310A based on the discard number counter presented from the buffer unit 310A having the discard number counter in addition to the normal round robin packet extraction operation. (Skip). In addition, in the extraction process, the transmission buffer sorting unit 400A may further perform a process of counting down the discard number counter when the discard number counter is counted up.

廃棄数カウンタがカウントアップされているか否かについては、例えば、廃棄数カウンタを有するバッファ部310Aから送信バッファ振分部400Aに対し、パケットの送信要求と共に、バッファ部での廃棄数カウンタを提示することとすれば監視できる。   As to whether or not the discard number counter has been counted up, for example, the buffer unit 310A having the discard number counter presents the discard number counter in the buffer unit together with the packet transmission request to the transmission buffer allocating unit 400A. If so, it can be monitored.

受信バッファ振分部710、バッファ部300A〜330A及び送信バッファ振分部400Aは、例えば、CPU(Central Processing Unit)によってメモリに格納されたプログラムが実行されることによって実現される。また、バッファ部300A〜330Aは、例えば、パケット格納用のメモリをそれぞれ有し、そのメモリにパケットが格納されることによってパケットが蓄積される。   The reception buffer allocating unit 710, the buffer units 300A to 330A, and the transmission buffer allocating unit 400A are realized, for example, by executing a program stored in a memory by a CPU (Central Processing Unit). Further, each of the buffer units 300A to 330A has a memory for storing packets, for example, and the packets are stored by storing the packets in the memories.

図8は、第1実施形態に係る通信制御装置の動作例を示す模式図である。図8を参照して、第1実施形態に係る通信制御装置の動作例について説明する。   FIG. 8 is a schematic diagram illustrating an operation example of the communication control apparatus according to the first embodiment. With reference to FIG. 8, an operation example of the communication control apparatus according to the first embodiment will be described.

(動作)
ここでは、受信バッファ振分部710が、受信したパケットをラウンドロビン方式によりパケットをバッファ部に順に振り分けて蓄積する(バッファ部300A、バッファ部310A、バッファ部320A、バッファ部330Aから順にパケットを取り出したら、再び、バッファ部300Aから順にパケットを蓄積する)こととする。また、送信バッファ振分部400Aも、ラウンドロビン方式によりパケットを順に取り出すこととする。また、例として、バッファ部310Aが廃棄数カウンタを有することとする。また、ここでは、廃棄数カウンタの初期値が、0に設定されているものとする。
(Operation)
Here, the reception buffer allocating unit 710 distributes and accumulates the received packets in the buffer unit in order by the round robin method (takes out the packets in order from the buffer unit 300A, the buffer unit 310A, the buffer unit 320A, and the buffer unit 330A). Then, the packets are stored again in order from the buffer unit 300A). In addition, the transmission buffer allocating unit 400A also sequentially extracts packets by the round robin method. Further, as an example, it is assumed that the buffer unit 310A has a discard number counter. Here, it is assumed that the initial value of the discard number counter is set to 0.

バッファ部310Aにてパケット廃棄が発生すると、バッファ部310Aが廃棄数カウンタをカウントアップ(例えば1加算)する。図8に示した例では、バッファ部310Aにて5番目のパケットが廃棄されており、この場合、バッファ部310Aは、自己の有する廃棄数カウンタをカウントアップする(例えば0から1にする)。   When packet discard occurs in the buffer unit 310A, the buffer unit 310A counts up the discard number counter (for example, adds 1). In the example shown in FIG. 8, the fifth packet is discarded in the buffer unit 310A. In this case, the buffer unit 310A counts up its own discard number counter (for example, changes from 0 to 1).

送信バッファ振分部400Aは、バッファ部310Aが有する廃棄数カウンタを監視し、廃棄数カウンタがカウントアップされていると判断すると、バッファ部310Aからのパケット取り出しをスキップする。図8に示した例では、送信バッファ振分部400Aが、バッファ部300Aから4番目のパケットを取り出した後、バッファ部310Aからの9番目のパケットの取り出しをスキップしている。   The transmission buffer allocating unit 400A monitors the discard number counter included in the buffer unit 310A, and if it determines that the discard number counter has been counted up, skips packet extraction from the buffer unit 310A. In the example illustrated in FIG. 8, the transmission buffer allocating unit 400A skips the extraction of the ninth packet from the buffer unit 310A after extracting the fourth packet from the buffer unit 300A.

送信バッファ振分部400Aは、バッファ部310Aからのパケット取り出しをスキップする際に、バッファ部310Aが有する廃棄数カウンタをカウントダウン(例えば1減算)することとしてもよい(例えば1から0にする)。そうすれば、送信バッファ振分部400Aは、バッファ部300Aから8番目のパケットを取り出した後、バッファ部310Aが有する廃棄数カウンタがカウントダウンされていると判断し、バッファ部310Aから9番目のパケットを取り出すことができる。つまり、パケットの廃棄が発生した回数だけ、バッファ部310Aはラウンドロビン方式によるパケット取り出しの過程上でスキップされることとなる。   The transmission buffer allocating unit 400A may count down (for example, subtract 1) from the discard number counter of the buffer unit 310A when skipping packet extraction from the buffer unit 310A (for example, 1 to 0). Then, the transmission buffer allocating unit 400A takes out the eighth packet from the buffer unit 300A, determines that the discard number counter of the buffer unit 310A has been counted down, and determines the ninth packet from the buffer unit 310A. Can be taken out. That is, the buffer unit 310A is skipped in the packet extraction process by the round robin method as many times as the number of packet discards.

(効果)
従来のラウンドロビン方式では、バッファ部が空になる(バッファ部内における滞留パケットが無くなる)まで、送信パケットの順番が前後してしまう現象が継続するのに対し、第1実施形態によれば、廃棄パケットの本来の(廃棄されなかったときの)取り出しのタイミングが来てからは、送信パケットの順番が受信した順番通りに戻る(図7及び図8参照)。
(effect)
In the conventional round robin method, the phenomenon that the order of transmission packets continues until the buffer becomes empty (there are no remaining packets in the buffer), whereas according to the first embodiment, discarding is performed. After the original packet extraction timing (when not discarded) comes, the order of the transmitted packets returns to the order in which they were received (see FIGS. 7 and 8).

第1実施形態では、パケット廃棄のタイミングでスキップされるので、廃棄パケットの本来の(廃棄されなかったときの)取り出しのタイミングが来るまでは、送信パケットの順番の入れ替えが発生するが、従来と比較して、送信パケットの順番の入れ替えが解消するまでの時間が有限であり、全体として入れ替えの発生する頻度が減少することが期待できる。   In the first embodiment, since the packet is skipped at the packet discard timing, the order of the transmitted packets is changed until the original timing (when not discarded) of the discarded packet comes. In comparison, it can be expected that the time until the replacement of the order of transmission packets is finite and the frequency of replacement as a whole decreases.

(第2実施形態)
第1実施形態では、従来よりもパケットの順序入れ替えの頻度が減ることが期待できるが、バッファ輻輳廃棄など受信時のパケット廃棄では、順序入れ替えが増えることも考えられる。そこで、受信時においてパケット廃棄が生じてもパケットの順序入れ替えが発生しない技術を第2実施形態として示す。
(Second Embodiment)
In the first embodiment, it can be expected that the frequency of packet rearrangement is lower than in the conventional case. However, it is also conceivable that the order rearrangement increases in packet discard at the time of reception such as buffer congestion discard. Therefore, a technique in which the packet order is not changed even when packet discard occurs at the time of reception will be described as a second embodiment.

図9は、第2実施形態に係る通信制御装置の構成例を示す模式図である。図9を参照して、第2実施形態に係る通信制御装置の構成例について説明する。   FIG. 9 is a schematic diagram illustrating a configuration example of a communication control apparatus according to the second embodiment. With reference to FIG. 9, the structural example of the communication control apparatus which concerns on 2nd Embodiment is demonstrated.

(構成)
第2実施形態に係る通信制御部100Bは、受信バッファ振分部200と、バッファ部300B〜330Bと、送信バッファ振分部400Bとを含んで構成される。
(Constitution)
The communication control unit 100B according to the second embodiment includes a reception buffer allocating unit 200, buffer units 300B to 330B, and a transmission buffer allocating unit 400B.

受信バッファ振分部200は、1又は複数のポートを介してパケットの入力を受け付けると、入力を受け付けたパケットに対して、入力を受け付けたパケットの序数を示す受信番号を付与する処理をさらに行う。受信バッファ振分部200は、この点において、第1実施形態における受信バッファ振分部710と異なる。付与の方法は、(1)パケットに番号を埋め込む、(2)パケットにオーバーヘッドを付与し、そこに番号を書き込む、(3)パケットとは別に管理用に番号をバッファ部300B〜330Bに渡す、など様々あるが、番号とパケットを一意に対応させることができれば、付与の方法は問わない。   When receiving a packet input via one or a plurality of ports, the reception buffer allocating unit 200 further performs a process of giving a reception number indicating the ordinal number of the received packet to the received packet. . The reception buffer distribution unit 200 is different from the reception buffer distribution unit 710 in the first embodiment in this respect. (1) The number is embedded in the packet, (2) overhead is added to the packet, and the number is written therein. (3) The number is passed to the buffer units 300B to 330B for management separately from the packet. There are various methods, but any number can be used as long as the number and the packet can be uniquely associated.

バッファ部300B〜330Bは、入力されたパケットを、入力された順に抜き出し対象に設定して蓄積する。ここでは、バッファ部を4つ備えることとしたが、複数であればいくつであってもよい。   The buffer units 300B to 330B set and accumulate input packets as extraction targets in the order of input. Here, four buffer units are provided. However, any number of buffer units may be used.

送信バッファ振分部400Bは、バッファ部300B〜330Bが蓄積する先頭パケットに付与されている受信番号を比較することによって監視処理を行う。また、送信バッファ振分部400Bは、受信番号を比較した結果、最も小さい受信番号が付与されたパケットから順に抜き出すことによって抜出処理を行う。   The transmission buffer allocating unit 400B performs a monitoring process by comparing the reception numbers assigned to the top packets stored in the buffer units 300B to 330B. Further, the transmission buffer allocating unit 400B performs extraction processing by sequentially extracting packets with the smallest reception number as a result of comparing the reception numbers.

廃棄数カウンタがカウントアップされているか否かについては、例えば、バッファ部300B〜330Bが送信バッファ振分部400Bに対し、パケットの送信要求と共に、自己が蓄積する先頭パケットに付与されている受信番号を提示することとすれば監視できる。   As to whether or not the discard counter is counted up, for example, the buffer units 300B to 330B send a packet transmission request to the transmission buffer allocating unit 400B and receive number assigned to the first packet stored by itself. Can be monitored.

図10は、第2実施形態に係る通信制御装置の動作例を示す模式図である。図10を参照して、第2実施形態に係る通信制御装置の動作例について説明する。   FIG. 10 is a schematic diagram illustrating an operation example of the communication control apparatus according to the second embodiment. With reference to FIG. 10, an operation example of the communication control apparatus according to the second embodiment will be described.

(動作)
ここでは、第1実施形態と同様に、受信バッファ振分部200が、受信したパケットをラウンドロビン方式によりパケットをバッファ部に順に振り分けて蓄積することとする。また、送信バッファ振分部400Bも、ラウンドロビン方式によりパケットを順に取り出すこととする。また、ここでは、受信番号が0から順番にパケットに付与されるものとする。
(Operation)
Here, as in the first embodiment, it is assumed that the reception buffer sorting unit 200 sorts and stores the received packets in the buffer unit in order by the round robin method. Also, the transmission buffer allocating unit 400B sequentially takes out packets by the round robin method. Here, it is assumed that the reception numbers are assigned to the packets in order from 0.

受信バッファ振分部200では、入力を受け付けたパケットに対して、受信番号を付与する処理を行う。図10に示した例では、バッファ部310Bにて5番目のパケットが廃棄されている。この場合、送信バッファ振分部400Bによって4番目のパケットがバッファ部300Bから取り出された後、バッファ部300Bには8番目、バッファ部310Bには9番目、バッファ部320Bには6番目、バッファ部330Bには7番目のパケットが先頭に蓄積されている。   The reception buffer distribution unit 200 performs a process of assigning a reception number to a packet that has received an input. In the example shown in FIG. 10, the fifth packet is discarded in the buffer unit 310B. In this case, after the fourth packet is extracted from the buffer unit 300B by the transmission buffer allocating unit 400B, the buffer unit 300B is eighth, the buffer unit 310B is ninth, the buffer unit 320B is sixth, and the buffer unit In 330B, the seventh packet is accumulated at the head.

送信バッファ振分部400Bは、バッファ部300B〜330Bが蓄積する先頭パケットに付与されている受信番号を比較した結果、最も小さい受信番号が付与されたパケットから順に抜き出すことによって抜出処理を行う。図10に示した例では、6番目を示す受信番号が最も小さいので、バッファ部320Bから6番目のパケットを取り出す。   The transmission buffer allocating unit 400B performs extraction processing by sequentially extracting the packets with the smallest reception numbers as a result of comparing the reception numbers assigned to the top packets stored in the buffer units 300B to 330B. In the example shown in FIG. 10, since the reception number indicating the sixth is the smallest, the sixth packet is extracted from the buffer unit 320B.

(効果)
第2実施形態によれば、受信時においてパケットが廃棄された場合でも、受信したパケットの順番通りに、パケットが送信される。
(effect)
According to the second embodiment, even when a packet is discarded at the time of reception, the packet is transmitted in the order of the received packet.

(第3実施形態)
第2実施形態では、特にバッファ部の数が増えたときに、送信バッファ振分部のパケット番号比較回路が複雑になる。第3実施形態では、送信バッファ振分部回路を複雑にしない技術を示す。
(Third embodiment)
In the second embodiment, especially when the number of buffer units increases, the packet number comparison circuit of the transmission buffer allocation unit becomes complicated. The third embodiment shows a technique that does not complicate the transmission buffer allocator circuit.

図11は、第3実施形態に係る通信制御装置の構成例を示す模式図である。図11を参照して、第3実施形態に係る通信制御装置の構成例について説明する。   FIG. 11 is a schematic diagram illustrating a configuration example of a communication control apparatus according to the third embodiment. A configuration example of the communication control apparatus according to the third embodiment will be described with reference to FIG.

(構成)
第3実施形態に係る通信制御部100Cは、受信バッファ振分部200と、バッファ部300C〜330Cと、送信バッファ振分部400Cとを含んで構成される。受信バッファ振分部200は、第2実施形態における受信バッファ振分部200と同様の機能を有する。
(Constitution)
A communication control unit 100C according to the third embodiment includes a reception buffer allocating unit 200, buffer units 300C to 330C, and a transmission buffer allocating unit 400C. The reception buffer distribution unit 200 has the same function as the reception buffer distribution unit 200 in the second embodiment.

バッファ部300C〜330Cは、そのうちの1つが第1バッファ部であり、他の1つは第1バッファ部が蓄積するパケットの前に抜き出し対象になるパケットを蓄積する第2バッファ部である。第1バッファ部は、第2バッファ部に対して、自バッファ部が蓄積する先頭パケットに付与されている受信番号を通知する。第2バッファ部は、自バッファ部が蓄積する先頭パケットに付与されている受信番号と、第1バッファ部から通知された受信番号との比較を行う。   One of the buffer units 300C to 330C is a first buffer unit, and the other is a second buffer unit that accumulates packets to be extracted before packets accumulated in the first buffer unit. The first buffer unit notifies the second buffer unit of the reception number assigned to the first packet stored in the own buffer unit. The second buffer unit compares the reception number assigned to the first packet stored in its own buffer unit with the reception number notified from the first buffer unit.

送信バッファ振分部400Cは、第2バッファ部による比較の結果を監視することによって監視処理を行う。また、送信バッファ振分部400Cは、複数のバッファ部から順にパケットを抜き出すことによって抜出処理を行う際に、上記比較の結果によって、第1バッファ部から通知された受信番号の方が小さいと判断した場合には、第2バッファ部からのパケットの抜き出しをスキップする。   The transmission buffer allocating unit 400C performs the monitoring process by monitoring the result of comparison by the second buffer unit. In addition, when the transmission buffer allocating unit 400C performs the extraction process by sequentially extracting packets from a plurality of buffer units, if the reception number notified from the first buffer unit is smaller according to the result of the comparison, If it is determined, the extraction of the packet from the second buffer unit is skipped.

受信番号の通知については、例えば、第1バッファ部が第2バッファ部に対して、パケットの送信要求と共に、自己が蓄積する先頭パケットに付与されている受信番号を提示することとすれば通知できる。   The notification of the reception number can be notified, for example, if the first buffer unit presents the reception number assigned to the first packet stored by itself together with the packet transmission request to the second buffer unit. .

第2バッファ部は、例えば、パケットの送信要求を送信バッファ振分部400Cに送信しないことによって、第1バッファ部から通知された受信番号の方が小さいことを示すこととしてもよい。また、そうすれば、パケットの送信要求を送信バッファ振分部400Cに送信することによって、第2バッファ部が蓄積する先頭パケットに付与されている受信番号の方が小さいことを示すことができる。このようにすれば、送信バッファ振分部400Cにおいて、第2バッファ部による比較の結果を監視することによって監視処理を行うことができる。   For example, the second buffer unit may indicate that the reception number notified from the first buffer unit is smaller by not transmitting a packet transmission request to the transmission buffer allocating unit 400C. In this case, by transmitting a packet transmission request to the transmission buffer allocating unit 400C, it is possible to indicate that the reception number assigned to the first packet stored in the second buffer unit is smaller. In this way, the monitoring process can be performed by monitoring the result of the comparison by the second buffer unit in the transmission buffer allocating unit 400C.

図12は、第3実施形態に係る通信制御装置の動作例を示す模式図である。図12を参照して、第3実施形態に係る通信制御装置の動作例について説明する。   FIG. 12 is a schematic diagram illustrating an operation example of the communication control apparatus according to the third embodiment. With reference to FIG. 12, the operation example of the communication control apparatus which concerns on 3rd Embodiment is demonstrated.

(動作)
ここでは、第2実施形態と同様に、受信バッファ振分部200が、受信したパケットに受信番号を付しながら、ラウンドロビン方式によりパケットをバッファ部に順に振り分けて蓄積することとする。また、送信バッファ振分部400Bも、ラウンドロビン方式によりパケットを順に取り出すこととする。また、ここでは、受信番号が0から順番にパケットに付与されるものとする。また、第1バッファ部がバッファ部320C、第2バッファ部がバッファ部310Cであるとする。
(Operation)
Here, as in the second embodiment, it is assumed that the reception buffer allocating unit 200 sequentially allocates and accumulates packets in the buffer unit by the round robin method while assigning a reception number to the received packet. Also, the transmission buffer allocating unit 400B sequentially takes out packets by the round robin method. Here, it is assumed that the reception numbers are assigned to the packets in order from 0. Further, it is assumed that the first buffer unit is the buffer unit 320C and the second buffer unit is the buffer unit 310C.

受信バッファ振分部200では、入力を受け付けたパケットに対して、受信番号を付与する処理を行う。図12に示した例では、バッファ部310Cにて5番目のパケットが廃棄されている。この場合、送信バッファ振分部400Cによって4番目のパケットがバッファ部300Cから取り出された後、バッファ部300Cには8番目、バッファ部310Cには9番目、バッファ部320Cには6番目、バッファ部330Cには7番目のパケットが先頭に蓄積されている。   The reception buffer distribution unit 200 performs a process of assigning a reception number to a packet that has received an input. In the example shown in FIG. 12, the fifth packet is discarded in the buffer unit 310C. In this case, after the fourth packet is extracted from the buffer unit 300C by the transmission buffer allocating unit 400C, the buffer unit 300C is eighth, the buffer unit 310C is ninth, the buffer unit 320C is sixth, and the buffer unit In 330C, the seventh packet is accumulated at the head.

第1バッファ部であるバッファ部320Cは、第2バッファ部であるバッファ部310Cに自バッファ部が蓄積する先頭パケットに付与されている受信番号を通知する。図12に示した例では、バッファ部320Cには、先頭パケットに6番目のパケットが蓄積されているので、バッファ部320Cは、6番目を示す受信番号をバッファ部310Cに通知する。   The buffer unit 320C, which is the first buffer unit, notifies the buffer number 310C, which is the second buffer unit, of the reception number assigned to the top packet stored in the buffer unit. In the example shown in FIG. 12, since the sixth packet is accumulated in the first packet in the buffer unit 320C, the buffer unit 320C notifies the buffer unit 310C of the reception number indicating the sixth.

バッファ部310Cは、自バッファ部が蓄積する先頭パケットに付与されている受信番号と、バッファ部320Cから通知された受信番号との比較を行う。図12に示した例では、バッファ部310Cに蓄積されている先頭パケットが9番目のパケットであり、バッファ部320から通知された受信番号が6番目であるので、バッファ部320Cから通知された受信番号の方が小さいという比較結果を出す。   The buffer unit 310C compares the reception number assigned to the first packet stored in the buffer unit with the reception number notified from the buffer unit 320C. In the example shown in FIG. 12, since the top packet stored in the buffer unit 310C is the ninth packet and the reception number notified from the buffer unit 320 is the sixth, the reception notified from the buffer unit 320C. The comparison result that the number is smaller is given.

送信バッファ振分部400Cは、バッファ部320Cから通知された受信番号の方が小さいと判断した場合には、バッファ部310Cからのパケットの抜き出しをスキップする。図12に示した例では、上記した比較結果によって、送信バッファ振分部400Cは、バッファ部310Cに蓄積されている先頭パケットである9番目のパケットの抜き出しをスキップし、バッファ部320Cに蓄積されている先頭パケットである6番目のパケットを取り出す。   If the transmission buffer distribution unit 400C determines that the reception number notified from the buffer unit 320C is smaller, the transmission buffer distribution unit 400C skips extraction of the packet from the buffer unit 310C. In the example shown in FIG. 12, according to the above comparison result, the transmission buffer allocating unit 400C skips extraction of the ninth packet that is the first packet stored in the buffer unit 310C, and is stored in the buffer unit 320C. The sixth packet that is the first packet is extracted.

(効果)
この方法により、パケット受信時においてパケットが廃棄された場合でも、受信したパケットの順番通りに、パケットが送信される。
(effect)
With this method, even when a packet is discarded at the time of packet reception, the packet is transmitted in the order of the received packet.

(第3実施形態の変形例)
図13は、第3実施形態の変形例に係る通信制御装置の構成例を示す模式図である。図13を参照して、第3実施形態の変形例に係る通信制御装置の構成例について説明する。
(Modification of the third embodiment)
FIG. 13 is a schematic diagram illustrating a configuration example of a communication control apparatus according to a modification of the third embodiment. With reference to FIG. 13, a configuration example of a communication control apparatus according to a modification of the third embodiment will be described.

(構成)
第3実施形態の変形例に係る通信制御部100Dは、受信バッファ振分部200と、バッファ部300D〜330Dと、送信バッファ振分部400Cとを含んで構成される。受信バッファ振分部200及び送信バッファ振分部400Cは、第3実施形態における受信バッファ振分部200及び送信バッファ振分部400Cと同様の機能を有する。
(Constitution)
The communication control unit 100D according to the modification of the third embodiment includes a reception buffer allocating unit 200, buffer units 300D to 330D, and a transmission buffer allocating unit 400C. The reception buffer distribution unit 200 and the transmission buffer distribution unit 400C have the same functions as the reception buffer distribution unit 200 and the transmission buffer distribution unit 400C in the third embodiment.

バッファ部300C〜330Cは、そのうちの1つが第1バッファ部であり、他の1つは第1バッファ部が蓄積するパケットの前に抜き出し対象になるパケットを蓄積する第2バッファ部であり、他の1つは第2バッファ部が蓄積するパケットの前に抜き出し対象になるパケットを蓄積する第3バッファ部である。第3実施形態と同様に、第1バッファ部は、第2バッファ部に対して、自バッファ部が蓄積する先頭パケットに付与されている受信番号を通知する。なお、第3実施形態においては、第1バッファ部、第2バッファ部及び第3バッファ部はそれぞれ1つずつであるとするが、第1バッファ部、第2バッファ部及び第3バッファ部の組み合わせは、複数が存在していてもよい。   One of the buffer units 300C to 330C is a first buffer unit, and the other is a second buffer unit that accumulates a packet to be extracted before a packet accumulated in the first buffer unit. One is a third buffer unit that accumulates packets to be extracted before packets accumulated in the second buffer unit. Similar to the third embodiment, the first buffer unit notifies the second buffer unit of the reception number assigned to the first packet stored in the buffer unit. In the third embodiment, each of the first buffer unit, the second buffer unit, and the third buffer unit is one, but a combination of the first buffer unit, the second buffer unit, and the third buffer unit. A plurality may exist.

第2バッファ部は、第3実施形態と同様に、自バッファ部が蓄積する先頭パケットに付与されている受信番号と、第1バッファ部から通知された受信番号との比較を行う。比較の結果によって、第1バッファ部から通知された受信番号の方が小さいと判断した場合には、第3バッファ部に対して、第1バッファ部から通知された受信番号を通知する点において、第3実施形態と異なる。   Similar to the third embodiment, the second buffer unit compares the reception number assigned to the first packet stored in the own buffer unit with the reception number notified from the first buffer unit. If it is determined from the comparison result that the reception number notified from the first buffer unit is smaller, the third buffer unit is notified of the reception number notified from the first buffer unit. Different from the third embodiment.

第3バッファ部は、自バッファ部が蓄積する先頭パケットに付与されている受信番号と、第2バッファ部を介して第1バッファ部から通知された受信番号との比較を行う。   The third buffer unit compares the reception number given to the first packet stored in the buffer unit with the reception number notified from the first buffer unit via the second buffer unit.

図14は、第3実施形態の変形例に係る通信制御装置の動作例を示す模式図である。図14を参照して、第3実施形態の変形例に係る通信制御装置の動作例について説明する。   FIG. 14 is a schematic diagram illustrating an operation example of the communication control apparatus according to the modification of the third embodiment. With reference to FIG. 14, the operation example of the communication control apparatus which concerns on the modification of 3rd Embodiment is demonstrated.

(動作)
ここでは、第3実施形態の変形例と同様に、受信バッファ振分部200が、受信したパケットに受信番号を付しながら、ラウンドロビン方式によりパケットをバッファ部に順に振り分けて蓄積することとする。また、送信バッファ振分部400Cも、ラウンドロビン方式によりパケットを順に取り出すこととする。また、ここでは、受信番号が0から順番にパケットに付与されるものとする。また、第1バッファ部がバッファ部320D、第2バッファ部がバッファ部310D、第3バッファ部がバッファ部300Dであるとする。
(Operation)
Here, as in the modification of the third embodiment, the reception buffer allocating unit 200 sequentially allocates and stores the packets in the buffer unit by the round robin method while assigning the reception number to the received packet. . In addition, the transmission buffer allocating unit 400C also sequentially extracts packets by the round robin method. Here, it is assumed that the reception numbers are assigned to the packets in order from 0. Further, it is assumed that the first buffer unit is the buffer unit 320D, the second buffer unit is the buffer unit 310D, and the third buffer unit is the buffer unit 300D.

受信バッファ振分部200では、入力を受け付けたパケットに対して、受信番号を付与する処理を行う。図14に示した例では、バッファ部310Dにて5番目のパケットが廃棄されている。この場合、送信バッファ振分部400Cによって4番目のパケットがバッファ部300Dから取り出された後、バッファ部300Dには8番目、バッファ部310Dには9番目、バッファ部320Dには6番目、バッファ部330Dには7番目のパケットが先頭に蓄積されている。   The reception buffer distribution unit 200 performs a process of assigning a reception number to a packet that has received an input. In the example shown in FIG. 14, the fifth packet is discarded in the buffer unit 310D. In this case, after the fourth packet is extracted from the buffer unit 300D by the transmission buffer allocating unit 400C, the buffer unit 300D is eighth, the buffer unit 310D is ninth, the buffer unit 320D is sixth, and the buffer unit In 330D, the seventh packet is accumulated at the head.

第1バッファ部であるバッファ部320Dは、第2バッファ部であるバッファ部310Dに自バッファ部が蓄積する先頭パケットに付与されている受信番号を通知する。図14に示した例では、バッファ部320Dには、先頭パケットに6番目のパケットが蓄積されているので、バッファ部320Dは、6番目を示す受信番号をバッファ部310Dに通知する。   The buffer unit 320D, which is the first buffer unit, notifies the buffer number 310D, which is the second buffer unit, of the reception number assigned to the first packet stored in the buffer unit. In the example illustrated in FIG. 14, since the sixth packet is accumulated in the first packet in the buffer unit 320D, the buffer unit 320D notifies the buffer unit 310D of the reception number indicating the sixth.

バッファ部310Dは、自バッファ部が蓄積する先頭パケットに付与されている受信番号と、バッファ部320Dから通知された受信番号との比較を行う。図14に示した例では、バッファ部310Dに蓄積されている先頭パケットが9番目のパケットであり、バッファ部320から通知された受信番号が6番目であるので、バッファ部320Dから通知された受信番号の方が小さいという比較結果を出す。バッファ部310Dは、さらに、バッファ部300Dに対して、バッファ部320Dから通知された受信番号を通知する。   The buffer unit 310D compares the reception number given to the first packet stored in the buffer unit with the reception number notified from the buffer unit 320D. In the example illustrated in FIG. 14, the first packet stored in the buffer unit 310D is the ninth packet, and the reception number notified from the buffer unit 320 is the sixth, so the reception notified from the buffer unit 320D is received. The comparison result that the number is smaller is given. The buffer unit 310D further notifies the buffer unit 300D of the reception number notified from the buffer unit 320D.

送信バッファ振分部400Cは、バッファ部320から通知された受信番号の方が小さいと判断した場合には、バッファ部310からのパケットの抜き出しをスキップする。図14に示した例では、上記した比較結果によって、送信バッファ振分部400Cは、バッファ部310Dに蓄積されている先頭パケットである9番目のパケットの抜き出しをスキップし、バッファ部320Dに蓄積されている先頭パケットである6番目のパケットを取り出す。   If the transmission buffer distribution unit 400C determines that the reception number notified from the buffer unit 320 is smaller, the transmission buffer distribution unit 400C skips the extraction of the packet from the buffer unit 310. In the example illustrated in FIG. 14, according to the comparison result described above, the transmission buffer allocating unit 400C skips extraction of the ninth packet that is the first packet stored in the buffer unit 310D, and is stored in the buffer unit 320D. The sixth packet that is the first packet is extracted.

バッファ部300Dは、自バッファ部が蓄積する先頭パケットに付与されている受信番号と、バッファ部310Dを介してバッファ部320Dから通知された受信番号との比較を行う。   The buffer unit 300D compares the reception number given to the first packet stored in the buffer unit with the reception number notified from the buffer unit 320D via the buffer unit 310D.

第3実施形態の変形例によれば、複数のバッファ部で廃棄が発生した場合でもパケット順番が守られる。この場合、バッファ部間の調停が完了すると、最も若い番号を提示しているバッファ部だけが送信バッファ振分部400Cに対し、送信を要求することになり、送信バッファ振分部400Cでのパケット番号比較やラウンドロビンによる調停が不要となるという効果も得られる。   According to the modification of the third embodiment, the packet order is maintained even when discarding occurs in a plurality of buffer units. In this case, when the arbitration between the buffer units is completed, only the buffer unit presenting the smallest number requests transmission to the transmission buffer allocation unit 400C, and the packet in the transmission buffer allocation unit 400C is transmitted. There is also an effect that arbitration by number comparison or round robin becomes unnecessary.

第2、第3実施形態によれば、バッファ部でパケット廃棄が発生しても、廃棄されたパケットを除いて送信パケットの順序が入れ替わることが無い。これは、送信バッファ振分部が単純なラウンドロビン動作ではないことによる。このことにより、受信バッファ振分部もラウンドロビンによる振分以外の方法も採用できることになる。例えば、各バッファの使用量(空容量)や各バッファ内に滞留しているパケット数などを元に、最も余裕のあるバッファを選択することが可能となる。バッファの使用量や滞留パケット数を元にバッファを選択する方法として、第2及び第3実施形態を応用して適用することができる。第2及び第3実施形態で示したパケットの番号の代わりに、バッファの使用量や滞留パケット数を適用すればよい。   According to the second and third embodiments, even when packet discarding occurs in the buffer unit, the order of transmission packets is not changed except for discarded packets. This is because the transmission buffer allocating unit is not a simple round robin operation. As a result, the receiving buffer allocating unit can also adopt a method other than allocating by round robin. For example, it is possible to select a buffer with the most margin based on the usage amount (empty capacity) of each buffer, the number of packets remaining in each buffer, and the like. The second and third embodiments can be applied as a method for selecting a buffer based on the amount of buffer used and the number of staying packets. Instead of the packet numbers shown in the second and third embodiments, the buffer usage and the number of staying packets may be applied.

この方法を適用して、各バッファの状態を考慮してパケットを振り分けることにより、バッファ部の輻輳によるパケットの廃棄を減らす効果が期待できる。   By applying this method and distributing packets in consideration of the state of each buffer, it is possible to expect an effect of reducing packet discard due to buffer congestion.

以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。   The preferred embodiments of the present invention have been described in detail above with reference to the accompanying drawings, but the present invention is not limited to such examples. It is obvious that a person having ordinary knowledge in the technical field to which the present invention pertains can come up with various changes or modifications within the scope of the technical idea described in the claims. Of course, it is understood that these also belong to the technical scope of the present invention.

一般的な通信制御装置(その1)の構成例を示す図である。It is a figure which shows the structural example of a general communication control apparatus (the 1). 一般的な通信制御装置(その2)の構成例を示す図である。It is a figure which shows the structural example of a general communication control apparatus (the 2). 一般的な通信制御装置(その2)における動作例を示す模式図である。It is a schematic diagram which shows the operation example in a common communication control apparatus (the 2). 一般的な通信制御装置(その2)における動作例を示す模式図である。It is a schematic diagram which shows the operation example in a common communication control apparatus (the 2). 一般的な通信制御装置(その2)における動作例を示す模式図である。It is a schematic diagram which shows the operation example in a common communication control apparatus (the 2). 一般的な通信制御装置(その2)における動作例を示す模式図である。It is a schematic diagram which shows the operation example in a common communication control apparatus (the 2). 第1実施形態に係る通信制御装置の構成例を示す模式図である。It is a schematic diagram which shows the structural example of the communication control apparatus which concerns on 1st Embodiment. 第1実施形態に係る通信制御装置の動作例を示す模式図である。It is a schematic diagram which shows the operation example of the communication control apparatus which concerns on 1st Embodiment. 第2実施形態に係る通信制御装置の構成例を示す模式図である。It is a schematic diagram which shows the structural example of the communication control apparatus which concerns on 2nd Embodiment. 第2実施形態に係る通信制御装置の動作例を示す模式図である。It is a schematic diagram which shows the operation example of the communication control apparatus which concerns on 2nd Embodiment. 第3実施形態に係る通信制御装置の構成例を示す模式図である。It is a schematic diagram which shows the structural example of the communication control apparatus which concerns on 3rd Embodiment. 第3実施形態に係る通信制御装置の動作例を示す模式図である。It is a schematic diagram which shows the operation example of the communication control apparatus which concerns on 3rd Embodiment. 第3実施形態の変形例に係る通信制御装置の構成例を示す模式図である。It is a schematic diagram which shows the structural example of the communication control apparatus which concerns on the modification of 3rd Embodiment. 第3実施形態の変形例に係る通信制御装置の動作例を示す模式図である。It is a schematic diagram which shows the operation example of the communication control apparatus which concerns on the modification of 3rd Embodiment.

符号の説明Explanation of symbols

100 通信制御装置
200 受信バッファ振分部
300〜330 バッファ部
400 送信バッファ振分部
600 通信制御装置
700 受信ポート振分部
710 受信バッファ振分部
800〜890 バッファ部
900 送信ポート振分部
910 送信バッファ振分部
DESCRIPTION OF SYMBOLS 100 Communication control apparatus 200 Reception buffer distribution part 300-330 Buffer part 400 Transmission buffer distribution part 600 Communication control apparatus 700 Reception port distribution part 710 Reception buffer distribution part 800-890 Buffer part 900 Transmission port distribution part 910 Transmission Buffer distribution section

Claims (2)

入力されたパケットを、入力された順に抜き出し対象に設定して蓄積するバッファ部を複数備えた通信制御装置であって、
1又は複数のポートを介してパケットの入力を受け付け、当該パケットを、複数の前記バッファ部に対して順に振り分けて出力する受信バッファ振分部と、
前記複数のバッファ部におけるパケットの廃棄状態を監視する監視処理を行い、当該廃棄状態に基づいて、前記受信バッファ振分部が入力を受け付けた順に、前記複数のバッファ部からパケットを抜き出す抜出処理を行い、抜き出したパケットから順に出力する送信バッファ振分部と
を備え
前記複数のバッファ部のうちの1つは第1バッファ部であり、他の1つは当該第1バッファ部が蓄積するパケットの前に抜き出し対象になるパケットを蓄積する第2バッファ部であって、
前記受信バッファ振分部は、
1又は複数のポートを介してパケットの入力を受け付けると、当該パケットに対して、入力を受け付けたパケットの序数を示す受信番号を付与する処理をさらに行い、
前記第1バッファ部は、
前記第2バッファ部に対して、自バッファ部が蓄積する先頭パケットに付与されている受信番号を通知し、
前記第2バッファ部は、
自バッファ部が蓄積する先頭パケットに付与されている受信番号と、前記第1バッファ部から通知された受信番号との比較を行い、
送信バッファ振分部は、
前記比較の結果を監視することによって前記監視処理を行い、前記複数のバッファ部から順にパケットを抜き出すことによって前記抜出処理を行う際に、前記比較の結果によって、前記第1バッファ部から通知された受信番号の方が小さいと判断した場合には、前記第2バッファ部からのパケットの抜き出しをスキップする
ことを特徴とする通信制御装置。
A communication control device comprising a plurality of buffer units for setting and storing input packets in the order of extraction in the order of input,
A reception buffer distribution unit that receives input of a packet via one or a plurality of ports, and distributes and outputs the packet to the plurality of buffer units in order;
Extraction processing for extracting packets from the plurality of buffer units in the order in which the reception buffer allocating unit receives input based on the discard state, performing monitoring processing for monitoring packet discard states in the plurality of buffer units And a transmission buffer distribution unit that outputs the extracted packets in order ,
One of the plurality of buffer units is a first buffer unit, and the other is a second buffer unit that accumulates packets to be extracted before packets accumulated in the first buffer unit. ,
The reception buffer distribution unit
When receiving an input of a packet via one or a plurality of ports, a process of giving a reception number indicating the ordinal number of the received packet to the packet is further performed.
The first buffer unit includes:
Notifying the second buffer unit of the reception number given to the top packet stored in the buffer unit,
The second buffer unit includes:
A comparison is made between the reception number given to the first packet stored in the own buffer unit and the reception number notified from the first buffer unit,
The transmission buffer distribution unit
The monitoring process is performed by monitoring the comparison result, and when the extraction process is performed by sequentially extracting packets from the plurality of buffer units, the first buffer unit is notified of the comparison result. and when the operation determines that the received number is small is characterized by skipping extraction of packets from the second buffer unit, the communication control device.
入力されたパケットを、入力された順に抜き出し対象に設定して蓄積するバッファ部を複数備えた通信制御装置であって、
1又は複数のポートを介してパケットの入力を受け付け、当該パケットを、複数の前記バッファ部に対して順に振り分けて出力する受信バッファ振分部と、
前記複数のバッファ部におけるパケットの廃棄状態を監視する監視処理を行い、当該廃棄状態に基づいて、前記受信バッファ振分部が入力を受け付けた順に、前記複数のバッファ部からパケットを抜き出す抜出処理を行い、抜き出したパケットから順に出力する送信バッファ振分部と
を備え
前記複数のバッファ部のうちの1つは第1バッファ部であり、他の1つは当該第1バッファ部が蓄積するパケットの前に抜き出し対象になるパケットを蓄積する第2バッファ部であり、他の1つは当該第2バッファ部が蓄積するパケットの前に抜き出し対象になるパケットを蓄積する第3バッファ部であって、
前記受信バッファ振分部は、
1又は複数のポートを介してパケットの入力を受け付けると、当該パケットに対して、入力を受け付けたパケットの序数を示す受信番号を付与する処理をさらに行い、
前記第1バッファ部は、
前記第2バッファ部に対して、自バッファ部が蓄積する先頭パケットに付与されている受信番号を通知し、
前記第2バッファ部は、
自バッファ部が蓄積する先頭パケットに付与されている受信番号と、前記第1バッファ部から通知された受信番号との比較を行い、
前記比較の結果によって、前記第1バッファ部から通知された受信番号の方が小さいと判断した場合には、前記第3バッファ部に対して、前記第1バッファ部から通知された当該受信番号を通知し、
前記第3バッファ部は、
自バッファ部が蓄積する先頭パケットに付与されている受信番号と、前記第2バッファ部を介して前記第1バッファ部から通知された受信番号との比較を行い、
送信バッファ振分部は、
前記比較の結果を監視することによって前記監視処理を行い、前記複数のバッファ部から順にパケットを抜き出すことによって前記抜出処理を行う際に、前記比較の結果によって、前記第1バッファ部から通知された受信番号の方が小さいと判断した場合には、前記第3バッファ部からのパケットの抜き出しをスキップする
ことを特徴とする通信制御装置。

A communication control device comprising a plurality of buffer units for setting and storing input packets in the order of extraction in the order of input,
A reception buffer distribution unit that receives input of a packet via one or a plurality of ports, and distributes and outputs the packet to the plurality of buffer units in order;
Extraction processing for extracting packets from the plurality of buffer units in the order in which the reception buffer allocating unit receives input based on the discard state, performing monitoring processing for monitoring packet discard states in the plurality of buffer units And a transmission buffer distribution unit that outputs the extracted packets in order ,
One of the plurality of buffer units is a first buffer unit, and the other is a second buffer unit that accumulates a packet to be extracted before a packet that the first buffer unit accumulates. The other one is a third buffer unit for accumulating packets to be extracted before packets accumulated by the second buffer unit,
The reception buffer distribution unit
When receiving an input of a packet via one or a plurality of ports, a process of giving a reception number indicating the ordinal number of the received packet to the packet is further performed.
The first buffer unit includes:
Notifying the second buffer unit of the reception number given to the top packet stored in the buffer unit,
The second buffer unit includes:
A comparison is made between the reception number given to the first packet stored in the own buffer unit and the reception number notified from the first buffer unit,
If it is determined from the comparison result that the reception number notified from the first buffer unit is smaller, the reception number notified from the first buffer unit is set to the third buffer unit. Notify
The third buffer unit includes:
A comparison is made between the reception number given to the first packet stored in the own buffer unit and the reception number notified from the first buffer unit via the second buffer unit,
The transmission buffer distribution unit
The monitoring process is performed by monitoring the comparison result, and when the extraction process is performed by sequentially extracting packets from the plurality of buffer units, the first buffer unit is notified of the comparison result. and when the operation determines that the received number is small is characterized by skipping extraction of packets from the third buffer unit, a communication control device.

JP2008076256A 2008-03-24 2008-03-24 Communication control device Expired - Fee Related JP4957604B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008076256A JP4957604B2 (en) 2008-03-24 2008-03-24 Communication control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008076256A JP4957604B2 (en) 2008-03-24 2008-03-24 Communication control device

Publications (2)

Publication Number Publication Date
JP2009232244A JP2009232244A (en) 2009-10-08
JP4957604B2 true JP4957604B2 (en) 2012-06-20

Family

ID=41247122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008076256A Expired - Fee Related JP4957604B2 (en) 2008-03-24 2008-03-24 Communication control device

Country Status (1)

Country Link
JP (1) JP4957604B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4294821B2 (en) * 2000-01-26 2009-07-15 株式会社日立製作所 Network relay device
JP4049777B2 (en) * 2003-03-31 2008-02-20 富士通株式会社 Communication apparatus and communication method

Also Published As

Publication number Publication date
JP2009232244A (en) 2009-10-08

Similar Documents

Publication Publication Date Title
CN110493145B (en) Caching method and device
KR101560613B1 (en) Hybrid networking path selection and load balancing
US8331387B2 (en) Data switching flow control with virtual output queuing
CN1689278B (en) Methods and apparatus for network congestion control
US8045454B2 (en) Multimedia data flow dropping
KR100875739B1 (en) Apparatus and method for packet buffer management in IP network system
US20150029860A1 (en) Method and Apparatus for Processing Inbound and Outbound Quanta of Data
US20080063004A1 (en) Buffer allocation method for multi-class traffic with dynamic spare buffering
US10911364B2 (en) Packet processing method and router
US9154441B2 (en) Adaptive buffer allocation management
JP3687501B2 (en) Transmission queue management system and management method for packet switch
US7961744B2 (en) Frame multiplexing device
KR20140125274A (en) Method and apparatus for managing dynamic que in broadcasting system
US7933283B1 (en) Shared memory management
KR100713152B1 (en) Home-network and assignment method of channel thereof
JP2009290297A (en) Communication device and control method for communication device
US6842800B2 (en) System and method for managing configurable buffer sizes
JP4957604B2 (en) Communication control device
US9846658B2 (en) Dynamic temporary use of packet memory as resource memory
US20030172314A1 (en) Timer monitoring apparatus and method
US9847949B1 (en) Arbitrating data packets
JP5191059B2 (en) Buffer circuit and buffer circuit control method
CN114765585B (en) Service quality detection method, message processing method and device
JP2008235988A (en) Frame transfer device
KR102091152B1 (en) Method and apparatus for processing packet using multi-core in hierarchical networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120201

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120305

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

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees