JP4443266B2 - Packet update device - Google Patents
Packet update device Download PDFInfo
- Publication number
- JP4443266B2 JP4443266B2 JP2004058480A JP2004058480A JP4443266B2 JP 4443266 B2 JP4443266 B2 JP 4443266B2 JP 2004058480 A JP2004058480 A JP 2004058480A JP 2004058480 A JP2004058480 A JP 2004058480A JP 4443266 B2 JP4443266 B2 JP 4443266B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- packet
- information
- unit
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明はパケット更新装置に関し、特にパケットの更新処理を行うパケット更新装置に関する。 The present invention relates to a packet update device, and more particularly to a packet update device that performs packet update processing.
ルータは、異なるネットワーク同士を相互に接続し、ノード同士が通信できるようにパケットのやりとりを可能にするネットワーク機器である。ルータにより、LAN(Local Area Network)とLAN、LANとインターネットなどが接続し、広域のネットワークが構築される。 A router is a network device that connects different networks to each other and enables exchange of packets so that nodes can communicate with each other. A router connects a LAN (Local Area Network) and a LAN, and a LAN and the Internet, thereby constructing a wide area network.
ルータは、ネットワーク内を伝送するパケットのネットワークプロトコルを認識し、ヘッダ部を解析して、その宛先情報にもとづいて経路を選択する。従来では、対応するプロトコルを限定した安価なルータ(ダイヤルアップルータ等)が広く用いられていた。 The router recognizes the network protocol of the packet transmitted in the network, analyzes the header portion, and selects a route based on the destination information. In the past, inexpensive routers (such as dial-up routers) with limited protocols were widely used.
一方、近年になって、情報通信ネットワークのマルチメディア化が進むにつれて、1台の装置で様々なプロトコルやパケット形式に対応可能なルータの需要が多くなってきており(プロトコルとは、例えば、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)などのことであり、パケット形式とは、Ethernet(登録商標)やLLC(Logical Link Control)などが該当する)、高機能のマルチプロトコル・ルータの開発が強く望まれている。 On the other hand, in recent years, as information communication networks have become multimedia, there is an increasing demand for routers that can support various protocols and packet formats with a single device (protocols are, for example, TCP (Transmission Control Protocol), UDP (User Datagram Protocol), etc. The packet format corresponds to Ethernet (registered trademark), LLC (Logical Link Control), etc.) Development of high-function multi-protocol routers Is strongly desired.
このようなルータでは、多種多様なパケットの伝送を行うために、装置内部ではパケットの更新処理の機能が特に重要となる。また、1つのハードウェアによる更新処理エンジン(以下、更新処理部と呼ぶ)だけでは多様なパケットの更新処理を行うことは困難であるので、ソフトウェア処理を行うプロセッサ部を装置内にさらに設けることで、ハード側の更新処理部では実行しきれない更新処理を、プロセッサ部側でも処理できるようにしている。 In such a router, in order to transmit a wide variety of packets, the function of packet update processing is particularly important inside the apparatus. In addition, since it is difficult to perform various packet update processing with only one hardware update processing engine (hereinafter referred to as an update processing unit), a processor unit for performing software processing is further provided in the apparatus. The update processing unit that cannot be executed by the hardware update processing unit can also be processed by the processor unit.
図17、図18はパケットの更新処理例を示す図である。図17は更新処理部におけるルーティング処理の更新例を示している。パケット200はL2(レイヤ2)ヘッダ、L3(レイヤ3)ヘッダ、データから構成される。L2ヘッダは、MAC DA(Media Access Control Destination Address)、MAC SA(MAC Source Address)、Frame Typeから構成され、L3ヘッダは、Version、ヘッダ長、TOS(Type Of Service)、Total長、識別番号、Flag、フラグメント・オフセット、TTL(Time To Live)、プロトコル番号、Check-Sum、IP DA、IP SA、Optionから構成される。
17 and 18 are diagrams illustrating an example of packet update processing. FIG. 17 shows an example of updating routing processing in the update processing unit. The
このような構成を持つパケットに対し、ルーティング時に更新処理として変更が行われるフィールドは、MAC DA、MAC SA、TTL、Check Sumである。更新処理された後のパケットは、所定の回線へスイッチングされた後にネットワーク側へ送信される。 The fields that are changed as update processing during routing for packets having such a configuration are MAC DA, MAC SA, TTL, and Check Sum. The packet after the update processing is transmitted to the network side after being switched to a predetermined line.
図18は更新処理部におけるTag削除における更新例を示している。パケット210はL2ヘッダ、L3ヘッダ、データから構成される。L2ヘッダは、MAC DA、MAC SA、Tag識別子、PRI(Primary Rate Interface)、CFI (Canonical Format Identifier)、VLAN ID、Frame Typeから構成される。このような構成を持つパケット210に対し、VLANの更新処理としてTag削除が行われるフィールドは、Tag識別子、PRI、CFI、VLAN IDである。更新処理された後のパケット220は、所定の回線へスイッチングされた後にネットワーク側へ送信される。
FIG. 18 shows an update example in Tag deletion in the update processing unit. The
図19はプロセッサ宛となった際のフィールド情報の付加例を示す図である。更新処理部だけではハードウェアの更新処理を実行できないときに、パケットをプロセッサ宛とし、更新処理部ではフィールド情報を付加する。パケット230はL2ヘッダ、L3ヘッダ、データから構成される。
FIG. 19 is a diagram showing an example of addition of field information when addressed to a processor. When hardware update processing cannot be executed only by the update processing unit, the packet is addressed to the processor, and the update processing unit adds field information. The
このパケット230に対し、プロセッサ宛となったときの更新処理として行う付加には、L2ヘッダに対してあらたに、IPv4-Flag、IPv6-Flag、受信プロトコル、受信パケット形式、プロセッサコード、プロセッサフラグが付加される。更新処理された後のパケット240は、プロセッサ部へ転送され、プロセッサ部で更新処理された後に、所定の回線へスイッチングされてネットワーク側へ送信される。
In addition to the
このように、パケットを構成する各フィールド情報(ヘッダ情報)の変更、削除及びあらたなフィールド情報の追加といった更新処理を行うことで、多様なプロトコルやパケット形式を持つパケットに対してもサポートすることが可能になる。 In this way, it is possible to support packets with various protocols and packet formats by performing update processing such as changing and deleting each field information (header information) constituting the packet and adding new field information. Is possible.
一方、マルチプロトコルに対応した従来のパケット伝送技術としては、パケットにプロトコル情報を格納する補助フィールドを設け、並列処理プロセッサを用いて、個々のプロトコルに適したプログラムによりパケット処理する技術が提案されている(例えば、特許文献1)。
上記で説明したような、ハードウェアによって更新処理の判断・実行を行う更新処理部では、すべてのパケット更新を自身のハードウェアで実行できる場合は図17、図18で示したような処理を行うが、すべてのパケット更新を自身で実行しきれない場合には、プロセッサ部側へも更新処理がまわされることになる。このとき、更新処理部では、図19で上述したようなフィールド情報の付加処理を行って、プロセッサ部側での処理をできるだけ軽減する。 As described above, the update processing unit that performs determination / execution of the update process by hardware performs the processes shown in FIGS. 17 and 18 when all the packet updates can be performed by its own hardware. However, if all the packet updates cannot be executed by themselves, the update processing is also sent to the processor unit side. At this time, the update processing unit performs field information addition processing as described above with reference to FIG. 19 to reduce the processing on the processor unit side as much as possible.
すなわち、パケットの更新処理をプロセッサ部側ですべて実行させるのではなく(図19のパケット240をそのままプロセッサ部へ渡すのではなく)、更新処理部で処理可能な範囲で、ヘッダ部に対してテーブル検索、パケット識別等の処理を行い、その結果得られたフィールド情報をパケット230に付加してパケット240を生成し、これをプロセッサ部へ送信する。
In other words, not all the update processing of the packet is executed on the processor unit side (the
これにより、プロセッサ部においてフィールド情報を取得するためのテーブル検索、パケット識別といった処理が不要となるので、プロセッサ部では、すでに付加されているフィールド情報をもとに、残りの必要な更新処理を即座に進めることが可能になる。 This eliminates the need for processing such as table search and packet identification for acquiring field information in the processor unit, and the processor unit immediately performs the remaining necessary update processing based on the already added field information. It becomes possible to proceed to.
しかし、従来の更新処理部では、更新処理可能なプロトコルやパケット形式は固定的に決まっているので、新しいプロトコルやパケット形式に対応した、あらたなサポートを追加したい場合、それらのサポートに対応したパケット更新に関するフィールド情報の付加処理を行うことができなかった。 However, in the conventional update processing unit, the protocols and packet formats that can be updated are fixed, so if you want to add new support for new protocols and packet formats, you need to add packets that support those support. It was not possible to add the field information related to the update.
この場合、新しいプロトコルやパケット形式を持つパケットは、更新処理部での前処理(フィールド情報の付加処理)が行われずに、プロセッサ部へ直接渡されるので、プロセッサ部において、更新処理部で行ったテーブル検索、パケット識別等の処理が必要となり、プロセッサ部の処理負荷が増大してしまうといった問題があった。 In this case, a packet having a new protocol or packet format is directly passed to the processor unit without being subjected to preprocessing (field information addition processing) in the update processing unit. There is a problem that processing such as table search and packet identification is required, which increases the processing load on the processor unit.
また、1つのルータ装置内では、通常、単一のプロセッサ部と、回線毎に複数の更新処理部とが設けられるが、あらたなサポートを追加するような場合、新しいプロトコルやパケット形式を持つパケットの更新処理は、すべてプロセッサ部へ集中して向かうことになる。このような状態が生じると、プロセッサ部のソフトウェアによって行われる更新処理の負荷が大幅に増大し、処理性能が著しく劣化することになる。 Also, a single router unit is usually provided with a single processor unit and a plurality of update processing units for each line. However, when new support is added, a packet having a new protocol or packet format is provided. All the update processes are concentrated on the processor unit. When such a state occurs, the load of update processing performed by the software of the processor unit is greatly increased, and the processing performance is significantly deteriorated.
一方、上記の従来技術(特開2002−57703号公報)では、マルチプロセッサによる並列処理を行っているが、本来、ハードウェアで高速処理可能な更新処理に対してもソフトウェアですべて処理されるので処理時間がかかり、伝送速度の低下を引き起こし、最適なパケット更新処理を行っているとはいえない。 On the other hand, in the above conventional technique (Japanese Patent Laid-Open No. 2002-57703), parallel processing by a multiprocessor is performed. However, since update processing that can be processed at high speed by hardware is originally processed by software. Processing time is required, causing a decrease in transmission speed, and it cannot be said that optimal packet update processing is performed.
本発明はこのような点に鑑みてなされたものであり、パケット更新処理の内容を柔軟に変更可能とし、多様なプロトコルやパケット形式をサポートして、パケット更新処理の高機能化を図ったパケット更新装置を提供することを目的とする。 The present invention has been made in view of the above points, and is a packet that can flexibly change the contents of packet update processing, supports various protocols and packet formats, and enhances packet update processing functionality. An object is to provide an update device.
上記課題を解決するために、パケットの更新処理を行うパケット更新装置が提供される。このパケット更新装置は、パケットの宛先情報を管理し、かつ上位から更新コードが設定可能な宛先テーブルと、パケットのQoS保証を行うためのフロー情報を管理し、かつ上位から更新コードが設定可能なフローテーブルと、受信したパケットからプロトコル及びパケット形式に関する情報を識別・抽出し、かつ受信パケットに対応するパケット識別コードを生成するパケット識別部と、前記宛先テーブルを検索して、受信パケットの宛先を求める宛先解決部と、前記フローテーブルを検索して、受信パケットのフローを求めるフロー解決部と、パケット識別及びテーブル検索の結果にもとづいて、パケット更新情報を生成し、取得した前記パケット識別コード及び前記更新コードを出力するパケット更新情報生成部と、から構成されるプロトコル処理部と、前記パケット更新情報をテーブル管理する更新情報テーブルと、上位から任意に変更設定可能で、前記更新コードに対応するパケット更新処理内容をテーブル管理する更新処理内容決定テーブルと、前記更新コードをキーに前記更新処理内容決定テーブルを検索して、受信パケットの更新処理内容を決定し、前記パケット識別コードをキーに前記更新情報テーブルを検索して、決定した更新処理内容にもとづく前記パケット更新情報を読み出して受信パケットの更新処理を行い、または前記パケット更新情報の更新内容を変更したい場合は、前記更新コードで決定した更新処理内容で直接、受信パケットの更新処理を行う更新処理部とを備える。 In order to solve the above-described problem, a packet update device that performs packet update processing is provided. This packet updating apparatus manages the destination information of a packet and can set an update code from the upper level, manages the flow information for guaranteeing the QoS of the packet, and can set the update code from the upper level. A flow table, a packet identification unit for identifying and extracting information on the protocol and packet format from the received packet, and generating a packet identification code corresponding to the received packet, and searching the destination table to determine the destination of the received packet A destination resolution unit to be searched; a flow resolution unit to search the flow table to obtain a flow of a received packet; and packet update information based on a result of packet identification and table search, and the acquired packet identification code and A packet update information generation unit that outputs the update code. A protocol processing unit, an update information table for managing the packet update information in a table, an update processing content determination table that can be arbitrarily changed and set from the upper level, and manages the packet update processing content corresponding to the update code, and the update Search the update processing content determination table using the code as a key to determine the update processing content of the received packet, search the update information table using the packet identification code as a key, and the packet based on the determined update processing content An update processing unit that performs update processing of received packets by reading update information, or if it is desired to change the update content of the packet update information, and updates the received packet directly with the update processing content determined by the update code; Is provided.
ここで、更新処理内容決定テーブルは、第1のテーブルと第2のテーブルとを有し、第1のテーブルは、パケット更新をプロセッサによるソフトウェアで行うためのフィールド情報を含み、第2のテーブルは、パケット更新をハードウェア処理で実行するための、更新データの値と、更新データの位置情報とを含み、更新処理部は、宛先解決及びフロー解決時にプロセッサ宛と判断された場合には、プロセッサ側で行われるソフトウェア更新処理の軽減化を図るためのフィールド情報を、第1のテーブルにもとづき抽出して、パケットヘッダにフィールド情報を付加してプロセッサへ宛てて送信し、または、宛先解決及びフロー解決時にプロセッサ宛と判断された場合であっても、プロセッサ側で行われる更新処理をハードウェア処理で実行する際には、第2のテーブルにもとづき、更新データを位置情報が示すパケット挿入位置にハードウェア処理で挿入して、ハードウェア処理で更新処理を完了させる。 Here, the update processing content determination table has a first table and a second table. The first table includes field information for performing packet update by software by the processor, and the second table includes , Including update data value and update data position information for executing packet update by hardware processing, and if the update processing unit is determined to be addressed to the processor at the time of destination resolution and flow resolution, the processor Field information for reducing software update processing performed on the side is extracted based on the first table, field information is added to the packet header and transmitted to the processor, or destination resolution and flow Even if it is determined to be addressed to the processor at the time of resolution, update processing performed on the processor side is executed by hardware processing When that is based on the second table, and inserted in the hardware processing the packet insertion position indicating an update data location information to complete the update processing by hardware processing.
パケット更新装置は、宛先解決及びフロー解決時にプロセッサ宛と判断された場合には、プロセッサ側で行われるソフトウェア更新処理の軽減化を図るためのフィールド情報を、第1のテーブルにもとづき抽出して、パケットヘッダにフィールド情報を付加してプロセッサへ宛てて送信する。また、宛先解決及びフロー解決時にプロセッサ宛と判断された場合であっても、プロセッサ側で行われる更新処理をハードウェア処理で実行する際には、第2のテーブルにもとづき、更新データを位置情報が示すパケット挿入位置にハードウェア処理で挿入して、ハードウェア処理で更新処理を完了させる構成とした。これにより、パケット更新処理をソフトウェアまたはハードウェアのいずれかで柔軟的に対応して処理し、多様なプロトコルやパケット形式をサポートして、パケット更新処理の高機能化を図ることが可能になる。 When it is determined that the packet update device is addressed to the processor at the time of address resolution and flow resolution , the packet update device extracts field information for reducing software update processing performed on the processor side based on the first table, The field information is added to the packet header and transmitted to the processor. Further, even when it is determined that the address is addressed to the processor at the time of address resolution and flow resolution, when update processing performed on the processor side is executed by hardware processing, the update data is stored in the position information based on the second table. Is inserted at the packet insertion position indicated by the hardware process, and the update process is completed by the hardware process. Thus, the packet update process can be flexibly handled by either software or hardware, and various protocols and packet formats can be supported, so that the packet update process can be enhanced.
以下、本発明の実施の形態を図面を参照して説明する。図1はパケット更新装置の原理図である。パケット更新装置10は、宛先テーブルT1、フローテーブルT2、更新情報テーブルT3、更新処理内容決定テーブルT4、プロトコル処理部12、更新処理部14から構成され、パケットの更新処理を行う装置である。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. Figure 1 illustrates the principle of a packet updating apparatus. The packet update device 10 is composed of a destination table T1, a flow table T2, an update information table T3, an update processing content determination table T4, a
パケットの更新処理とは、図17〜図19で上述したように、受信したパケットのヘッダ部に対して、フィールド情報の値を変更・削除したり、あらたなフィールド情報を付加したりして、ヘッダフィールドの情報をあらたな情報に変換する処理のことを意味する。 As described above with reference to FIGS. 17 to 19, the packet update process is performed by changing / deleting the value of field information or adding new field information to the header portion of the received packet. This means the process of converting the header field information into new information.
宛先テーブルT1は、パケットの送信先である宛先情報をテーブル管理する。また、宛先テーブルT1には、上位から更新コード(更新処理時に後述の更新処理内容決定テーブルT4を検索する際に用いるコード)を設定することが可能である。 The destination table T1 performs table management of destination information that is a transmission destination of a packet. In the destination table T1, an update code (a code used when searching an update process content determination table T4 described later at the time of update processing) can be set from the top.
フローテーブルT2は、パケットのQoS(Quality of Service)保証を行うためのフロー情報を管理する。また、フローテーブルT2に対しても、上位から更新コードを設定することが可能である。 The flow table T2 manages flow information for guaranteeing QoS (Quality of Service) of packets. Also, an update code can be set for the flow table T2 from the upper level.
プロトコル処理部12は、パケット識別部12a、宛先解決部12b、フロー解決部12c、パケット更新情報生成部12dから構成される。パケット識別部12aは、受信したパケットからプロトコル及びパケット形式に関する情報を識別・抽出し、かつ受信パケットに一意に対応するパケット識別コードC1を生成する。
The
宛先解決部12bは、受信パケットをどこに出力するかを知るために、宛先テーブルT1を検索して、受信パケットの宛先情報を求める。また、このとき更新コードが宛先テーブルT1に設定されている場合は、宛先情報に対応する更新コードも求める。
In order to know where to output the received packet, the
フロー解決部12cは、宛先解決後、パケットのQoS保証に必要なフロー情報を得るために、フローテーブルT2を検索して、受信パケットのフロー情報を求める。また、このとき更新コードがフローテーブルT2に設定されている場合は、フロー情報に対応する更新コードも求める。
After the destination is resolved, the
パケット更新情報生成部12dは、これらパケット識別及びテーブル検索の結果にもとづいて、パケット更新情報を生成する。また、パケット識別部12aで生成されたパケット識別コードC1と、宛先/フロー解決のいずれかの処理で求められた更新コードC2とを後段の更新処理部14へ出力する。
The packet update
ここで、更新コードには優先順位が付けられており、優先順位の高い方の更新コードをパケット更新情報生成部12dでは選択して更新処理部14へ出力する。例えば、宛先テーブルT1とフローテーブルT2の両方に更新コードが設定されたとき、宛先/フロー解決時には宛先解決部12b、フロー解決部12cのそれぞれで更新コードが取得され、パケット更新情報生成部12dへ2つの更新コードが送信されることになるが、フローテーブルT2に設定された更新コードの方が、宛先テーブルT1に設定された更新コードよりも優先順位が高いとした場合には、フローテーブルT2側の更新コードを選択し、この更新コードC2の送信を行うことにする。
Here, priorities are assigned to the update codes, and the update code having the higher priority is selected by the packet update
更新情報テーブルT3は、パケット更新情報生成部12dから送信されたパケット更新情報を受信してテーブル管理する。更新処理内容決定テーブルT4は、上位から任意に変更設定可能で、更新コードC2に一意に対応するパケット更新処理内容をテーブル管理する。
The update information table T3 receives the packet update information transmitted from the packet update
更新処理部14は、更新コードC2をキーに更新処理内容決定テーブルT4を検索して、受信パケットの更新処理内容を決定する。そして、パケット識別コードC1をキーに更新情報テーブルT3を検索して、決定した更新処理内容にもとづきパケット更新情報を読み出して、受信パケットのヘッダフィールドに対して更新処理を行う。
The
また、このとき、パケット更新情報生成部12dで生成されたパケット更新情報の更新内容を変更したい場合は、更新コードC2で決定した更新処理内容で直接、受信パケットのヘッダフィールドに対して更新処理を行う(パケット更新情報で更新処理をできる場合と、できない場合とで更新処理内容決定テーブルT4のテーブル構成(更新処理内容)は異なるものとなる。詳細は後述する)。
At this time, if it is desired to change the update contents of the packet update information generated by the packet update
次にパケット更新装置10を有するルータ装置について説明する。図2、図3はルータ装置の構成を示す図である。ルータ装置100は、ネットワークインタフェース部110−1〜110−n、パケットスイッチ130、プロセッサ部120から構成される。
Next to the router device having a packet update unit 10 will be described. 2 and 3 are diagrams showing the configuration of the router device. The router device 100 includes network interface units 110-1 to 110-n, a
ネットワークインタフェース部110−1〜110−nは、パケット更新部10aとパケット転送部10bから構成される。パケット更新部10aは、パケット更新装置10に該当し、図1で上述した構成要素の他に、受信I/F11、パケットバッファ13、送信I/F15を含む。また、パケット転送部10bは、パケットスイッチ130から送信されたパケットを受信して、ネットワーク側へ転送するために必要な制御を施し、ネットワーク側へ処理後のパケットを転送する。
The network interface units 110-1 to 110-n include a
パケット更新部10aに対し、受信I/F11は、ネットワークから送信されてきたパケットの受信インタフェース制御を行う。制御後は、プロトコル処理部12及びパケットバッファ13にパケットを送信する。
For the
プロトコル処理部12は、受信パケットのプロトコルやパケット形式を識別し、宛先テーブルT1、フローテーブルT2を検索して、宛先/フロー解決を行い、パケット更新情報を生成し、更新情報テーブルT3へ送信する。また、取得したパケット識別コードC1及び更新コードC2を更新処理部14へ出力する。
The
パケットバッファ13は、プロトコル処理部12で処理が行われている間、受信パケットを格納しておいて時間調整を行う。パケットバッファ13からの読み出しは、プロトコル処理部12にて必要な処理が完了し、更新処理部14へパケット識別コードC1及び更新コードC2を送信するタイミングで、更新処理部14からパケットが読み出されて実行される。
The
更新処理部14は、パケット識別コードC1及び更新コードC2により、更新情報テーブルT3、更新処理内容決定テーブルT4の検索を行って、検索結果にもとづき、パケットバッファ13から読み出した受信パケットに対して、更新処理を実行する。送信I/F15は、更新処理されたパケットをパケットスイッチ130へ送信する。
The
プロセッサ部120は、ルータ装置100内の分散処理を可能とするソフトウェア処理部であって、ネットワークプロセッサ(以下、NP)121とCPU122から構成されて、ネットワークインタフェース部110−1〜110−nだけでは処理できないパケットの更新処理や、その他の監視制御等の処理を行う。例えば、NP121では、IPパケットに特化したソフトウェア処理を行ったり、CPU122では、更新処理の他に監視系パケットのソフトウェア処理を行ったりする。
The processor unit 120 is a software processing unit that enables distributed processing in the router device 100. The processor unit 120 includes a network processor (hereinafter referred to as NP) 121 and a
パケットスイッチ130は、ネットワークインタフェース部110−1〜110−nから送信されてきたパケット、またはプロセッサ部120から送信されたパケットのスイッチングを行う。
The
なお、ネットワークインタフェース部110−1〜110−nだけでパケットの更新処理が完了した更新処理後のパケットは、パケットスイッチ130でスイッチングされた後に該当のネットワークインタフェース部へ送信される。また、ネットワークインタフェース部110−1〜110−nだけでパケットの更新処理が完了しなかったパケット(すなわち、プロセッサ宛のパケット)は、パケットスイッチ130を介してプロセッサ部120へ送信され、プロセッサ部120で更新処理される。そして、更新処理が完了したら、パケットスイッチ130へ渡されて、スイッチングされた後に該当のネットワークインタフェース部へ送信される。
The packet after the update process in which the packet update process is completed only by the network interface units 110-1 to 110-n is switched by the
次に更新情報テーブルT3及び更新処理内容決定テーブルT4のテーブル構成について説明する。図4は更新情報テーブルT3のテーブル構成例を示す図である。更新情報テーブルT3は、プロトコル処理部12で生成されたパケット更新情報を管理するテーブルである。
Next, the table configuration of the update information table T3 and the update process content determination table T4 will be described. FIG. 4 is a diagram showing a table configuration example of the update information table T3. The update information table T3 is a table for managing packet update information generated by the
更新情報テーブルT3には、パケット更新情報として、宛先テーブルT1の検索結果である宛先情報31、フローテーブルT2の検索結果であるフロー情報32、受信パケットから抽出したパケット抽出情報33、受信パケットの識別結果であるパケット識別情報34が記載される。
The update information table T3 includes, as packet update information,
宛先情報31は、例えば、MPLS(Multi-Protocol Label Switcing)パケットに対応した項目の場合、送信ポートNo.、送信パケット形式、MAC DA、送信VID(VID:VLAN ID)、送信Shimラベル(MPLSパケットの4バイトのShimヘッダに埋め込まれるラベル値)からなる。
For example, in the case of an item corresponding to an MPLS (Multi-Protocol Label Switching) packet, the
フロー情報32は、フローNo.、CPUフラグ、CPUコード、NPフラグ、NPコードからなる。フラグ値が1ならその項目に該当し、0なら該当しない。例えば、CPUフラグ=1ならば、現在処理しているパケットは、プロセッサ部120内のCPU122宛のパケットということである。
The
パケット抽出情報33は、L2ヘッダ情報(MACアドレス情報)、L3ヘッダ情報(IPアドレス情報)、受信ポートNo.からなる。パケット識別情報34は、IPv4フラグ、IPv6フラグ、VLANフラグ、Shimフラグからなる。フラグ値が1ならその項目に該当し、0なら該当しない。例えば、IPv4フラグ=1ならば、該当パケットは、IPv4パケットということである。
The
なお、更新処理部14は、受信パケットに関する、上記に示したパケット更新情報を取得する際には、パケット識別コードC1を検索アドレスとして用いて、更新情報テーブルT3を検索して取得する。
When the
図5は更新処理内容決定テーブルT4のテーブル構成例を示す図である。更新処理内容決定テーブルT4は、プロセッサ部120から任意に変更設定可能なパケット更新処理内容を管理するテーブルである。このテーブルは、プロセッサ部120から読み出し/書き込み可能なメモリで構成される(実際には、更新処理内容決定テーブルT4だけでなく、宛先テーブルT1及びフローテーブルT2もプロセッサ部120から読み出し/書き込みが可能である)。図のパケット更新処理内容としては、ここでは、更新変更データ41、フィールド情報付加フラグ42が記載されるものとした例を示している。
FIG. 5 is a diagram showing a table configuration example of the update process content determination table T4. The update processing content determination table T4 is a table for managing packet update processing content that can be arbitrarily changed and set from the processor unit 120. This table is configured by a memory that can be read / written from the processor unit 120 (actually, not only the update processing content determination table T4 but also the destination table T1 and the flow table T2 can be read / written from the processor unit 120. Is). As an example of the packet update processing content in the figure, here, an example is described in which update
更新変更データ41は、送信ポートNo.、送信パケット形式、MAC DA、送信VID、送信Shimラベルからなり、フィールド情報付加フラグ42は、送信ポートフラグ、MAC DAフラグ、送信パケット形式フラグからなる。フラグ値が0ならば該当のフィールド情報の付加は行わず、フラグ値が1ならば該当のフィールド情報の付加を行うことを示す。なお、更新処理部14は、受信パケットに関する、これらの更新処理内容を取得する際は、更新コードC2を検索アドレスとして用いて、更新処理内容決定テーブルT4を検索する。
The
ここで、図5に示す更新処理内容決定テーブルT4の構成で実行されるパケット更新処理を示すと、例えば、受信パケットがMPLSパケットであって、プロセッサ部120宛でなく、Shimラベル値等の変更を行う更新処理を施す場合には、プロセッサ部120は、更新変更データ41に変更したい値を書き込んでおき(更新情報テーブルT3の宛先情報31のデータと同じデータを書き込んでおくことになる)、フィールド情報付加フラグ42の送信ポートフラグ、MAC DAフラグ、送信パケット形式フラグのフラグ値は0とする。
Here, when the packet update process executed in the configuration of the update process content determination table T4 shown in FIG. 5 is shown, for example, the received packet is an MPLS packet and is not addressed to the processor unit 120, and changes such as the Shim label value When performing the update process for performing the above, the processor unit 120 writes a value to be changed in the update change data 41 (the same data as the data of the
すると、受信MPLSパケットのヘッダ部が有している送信ポートNo.、送信パケット形式、MAC DA、送信VID、送信Shimラベルの各フィールド情報は、更新処理部14によって、更新変更データ41に記されている値にそれぞれ変更される。なお、フィールド情報付加フラグ42のフラグ値が1となったときの更新処理例については図15、図16で後述する。
Then, the transmission port No. included in the header part of the received MPLS packet is set. The field information of the transmission packet format, MAC DA, transmission VID, and transmission Shim label is changed to the values described in the
図6は更新処理内容決定テーブルの他のテーブル構成例を示す図である。更新処理内容決定テーブルT4−1は、更新情報テーブルT3記載のパケット更新情報で更新処理を実行できない場合に使用されるテーブルである。更新処理内容決定テーブルT4−1は、更新データの値と、更新データをパケットに付加する際の位置情報とを持ち、位置情報は更新開始位置、更新量、更新フラグから構成される。 FIG. 6 is a diagram showing another table configuration example of the update process content determination table. The update process content determination table T4-1 is a table used when the update process cannot be executed with the packet update information described in the update information table T3. The update process content determination table T4-1 has a value of update data and position information when the update data is added to the packet, and the position information includes an update start position, an update amount, and an update flag.
例えば、更新開始位置=112ビット、更新量=32ビット、更新フラグとして付加フラグが1(更新データを付加する場合にはフラグ値が1)、更新データ=6789Aとすると、図に示すように、パケットヘッダの先頭から112ビットの位置に32ビット分のデータ値6789Aの更新データが付加されることになる。なお、更新処理内容決定テーブルT4−1の具体的な使用例については図15、図16で後述する。 For example, if the update start position is 112 bits, the update amount is 32 bits, the update flag is 1 (the flag value is 1 when update data is added), and the update data is 6789A, as shown in FIG. Update data having a 32-bit data value 6789A is added to the 112-bit position from the beginning of the packet header. A specific usage example of the update processing content determination table T4-1 will be described later with reference to FIGS.
次に具体的な例を用いてパケット更新処理の動作について詳しく説明する。図7はルータ装置が適用されるネットワーク構成を示す図である。ネットワーク1は、端末101、ルータ装置100−1〜100−5、サーバ102から構成される。端末101は、ルータ装置100−1と接続し、ルータ装置100−1は、ルータ装置100−2〜100−4と接続し、ルータ装置100−5はルータ装置100−2〜100−4とサーバ102と接続する。端末101のMACアドレスとIPアドレスを、MAC Address=08.40.30.20.10.00、IP Address=192.168.1.10とする。また、サーバ102のMACアドレスとIPアドレスを、MAC Address=01.00.10.20.30.40、IP Address=140.150.30.100とする。このようなネットワーク環境において、端末101からサーバ102へパケット伝送を行う場合のルータ装置100−1の動作について以降説明する。
Next will be described in detail the operation of the packet update process using a specific example. Figure 7 is a diagram showing a network configuration Le chromatography data system is applied. The
図8はルータ装置100−1の構成を示す図である。ルータ装置100−1は、図2、図3で上述したように、ネットワークインタフェース部110−1〜110−4と、NP121とCPU122を含むプロセッサ部120と、パケットスイッチ130とから構成される。ネットワークインタフェース部110−1は、端末101と接続し、ネットワークインタフェース部110−2〜110−4はそれぞれ、ルータ装置100−2から100−4と接続する。以下、端末101と接続するネットワークインタフェース部110−1の動作を中心に説明する。
FIG. 8 is a diagram illustrating a configuration of the router device 100-1. As described above with reference to FIGS. 2 and 3, the router device 100-1 includes the network interface units 110-1 to 110-4, the processor unit 120 including the
図9はパケット識別部12aの動作を示す図である。ルータ装置100−1のネットワークインタフェース部110−1内のパケット識別部12aは、図2で示した受信I/F11から送信されたパケットP1を受信する。パケットP1のヘッダはL2ヘッダ、L3ヘッダの各フィールドで構成される。
FIG. 9 is a diagram illustrating the operation of the
パケット識別部12aは、パケットP1からパケット抽出情報、パケット識別情報を取得する。また、パケットP1に一意に対応するパケット識別コードを生成する(ここでは、パケット識別コード=100とする)。
The
パケット抽出情報には、L2ヘッダ情報、L3ヘッダ情報、受信ポートNo.があり、L2ヘッダ情報としては、MAC DA=01.00.10.20.30.40(サーバ102のMACアドレス)、MAC SA=08.40.30.20.10.00(端末101のMACアドレス)、Frame Type(受信パケット形式)=0x0800(IPv4)を取得し、L3ヘッダ情報としては、Version=4、IP DA=140.150.30.100(サーバ102のIPアドレス)、IP SA=192.168.1.10(端末101のIPアドレス)、Protocol No.(受信プロトコルNo.)=06(TCP)を取得し、受信ポートNo.=1を取得する。 The packet extraction information includes L2 header information, L3 header information, reception port No. As the L2 header information, MAC DA = 01.00.10.20.30.40 (MAC address of the server 102), MAC SA = 08.40.30.20.10.00 (MAC address of the terminal 101), Frame Type (received packet format) = 0x0800 (IPv4) is acquired, and as L3 header information, Version = 4, IP DA = 140.150.30.100 (IP address of server 102), IP SA = 192.168.1.10 (IP address of terminal 101), Protocol No. (receive) Protocol No.) = 06 (TCP) is acquired, and the receiving port No. = 1 is acquired.
また、パケット識別情報として、IPv4フラグ、IPv6フラグ、VLANフラグ、Shimフラグがあり、ここでのフラグ値は、IPv4フラグ=1で、その他のフラグ値は0である(パケットP1はIPv4パケットであることを示している)。 The packet identification information includes an IPv4 flag, an IPv6 flag, a VLAN flag, and a Shim flag. The flag values here are IPv4 flag = 1 and the other flag values are 0 (packet P1 is an IPv4 packet). It is shown that).
図10は宛先解決部12bの動作を示す図である。宛先解決部12bは、パケット識別部12aで取得されたパケット抽出情報の中のL3ヘッダ情報と受信ポートNo.を宛先検索キーとしてパケットP1の宛先を求める。
FIG. 10 shows the operation of the
宛先解決部12bは、IP Version、IP DA、Protocol、Rx Port(受信ポートNo.)の項目からなるCAM(Content Addressable Memory)を有し、ここではCAMの中で、図9で示したIP Version=4、IP DA=140.150.30.100、Protocol=06、Rx Port=1となる行を見つけ、例えば、そのときの行番号を宛先テーブルT1の検索アドレスとする。
The
宛先テーブルT1は、Tx Port(送信ポートNo.)、Tx形式(送信パケット形式)、MAC DAの項目からなり、宛先解決部12bは、CAMから求めた検索アドレスで宛先テーブルT1を検索する。
The destination table T1 includes items of Tx Port (transmission port No.), Tx format (transmission packet format), and MAC DA, and the
ここでのテーブル検索結果は、送信ポートNo.=2、送信パケット形式=0800(IPv4)、MAC DA=01.00.10.20.30.40(サーバ102のMACアドレス)となっている。 The table search result here is the transmission port number. = 2, transmission packet format = 0800 (IPv4), MAC DA = 01.00.10.20.30.40 (the MAC address of the server 102).
図11はフロー解決部12cの動作を示す図である。フロー解決部12cは、宛先解決部12bで求めた宛先テーブル検索結果と、パケット識別部12aで取得されたパケット抽出情報の中のL3ヘッダ情報及び受信ポートNo.をフロー検索キーとしてパケットP1のフローを求める。
FIG. 11 is a diagram illustrating the operation of the
フロー解決部12cでも図10の検索方法と同様に、CAM(図示せず)を用いてフロー検索キーから検索アドレスを求め、フローテーブルT2を検索する。ここでのテーブル検索結果は、Flow No.=0010、CPU Flag:1、CPU Code=02、NP Flag:0、NP Code=0、更新コード=20となっている。CPUフラグが1であるので、受信パケットP1はプロセッサ部120宛のパケットとなる。なお、ここの例では、更新コードはフローテーブルT2のみに設定され、この更新コードを用いて、更新処理を行うものとする。
Similarly to the search method of FIG. 10, the
次にパケット更新情報生成部12dと更新情報テーブルT3について説明する。パケット更新情報生成部12dは、図9〜図11で上述した各構成部で取得された情報を受信して、パケット更新情報を生成して更新情報テーブルT3へ送信する。また、パケット識別コード=100と更新コード=20を更新処理部14へ送信する。
Next, the packet update
図12は更新情報テーブルT3で管理されるパケット更新情報を示す図である。ここではパケット識別コード=100であるので、テーブルアドレス=100の欄に、パケットP1に関するパケット更新情報が記載されることになる。記載されている内容は上述したので説明は省略する。 FIG. 12 is a diagram showing packet update information managed by the update information table T3. Here, since the packet identification code = 100, the packet update information regarding the packet P1 is described in the column of the table address = 100. Since the contents described above have been described above, the description thereof will be omitted.
次に更新処理部14と更新処理内容決定テーブルT4について説明する。更新処理部14は、フロー解決部12cから送信された更新コード=20で、更新処理内容決定テーブルT4の更新処理内容を検索する。
Next, the
図13は更新処理内容決定テーブルT4に記される更新処理内容を示す図である。更新処理内容決定テーブルT4に設定される更新処理内容は、プロセッサ部120から任意に書き込み可能である。ここでは更新処理内容決定テーブルT4の項目として、更新変更データとフィールド情報付加フラグが設定されている例を示している。 FIG. 13 is a diagram showing the update process contents described in the update process content determination table T4. The update process content set in the update process content determination table T4 can be arbitrarily written from the processor unit 120. Here, an example is shown in which update change data and a field information addition flag are set as items of the update processing content determination table T4.
図の場合、更新変更データには有効値は設定されずに、フィールド情報付加フラグの送信ポートフラグ、MAC DAフラグ、送信パケット形式フラグがすべて1と設定されている。
このように、フィールド情報付加フラグが1となっている場合は、パケット更新処理として、受信パケットに対して、フラグ値1に対応するフィールド情報の付加が施されることになる。したがって、更新処理部14が実行するここでのパケット更新処理は、プロセッサ宛のパケットP1のヘッダに対して、あらたに送信ポートNo.、MAC DA、送信パケット形式のフィールド情報の付加を行うことになる。
In the case of the figure, no valid value is set in the update change data, and the transmission port flag, MAC DA flag, and transmission packet format flag of the field information addition flag are all set to 1.
Thus, when the field information addition flag is 1, the field information corresponding to the
さらにフロー解決処理時に、パケットの送信先がプロセッサ宛と認識された場合には、更新処理部14では、プロセッサ宛パケットに対して、あらかじめ決めておいたフィールド情報のフィールド付加処理を行う。このときに付加されるフィールド情報は、CPU Flag、CPU Code、NP Flag、NP Code、Frame Type(受信パケット形式)、Protocol No.(受信プロトコルNo.)、パケット識別情報(フラグ値)である。
When flow resolution process to further, if the destination of the packet is recognized as addressed processor, the
なお、このような固定的に設定されるフィールド情報の数を多くするほど、プロセッサ部120で行われる負荷は軽減することになるが、後段の処理にはパケットスイッチ130があるために、実際はパケットスイッチ130の所用帯域を越えない程度に必要なフィールド情報を選択してパケットに付加することになる。
Note that as the number of such fixedly set field information is increased, the load performed by the processor unit 120 is reduced. However, since there is the
更新処理部14の動作の流れを示すと、まず、更新コード=20により、更新処理内容決定テーブルT4を検索して、フィールド情報付加フラグの送信ポートフラグ、MAC DAフラグ、送信パケット形式フラグがすべて1となっていることを認識する。
The flow of the operation of the
そして、パケット識別コード=100により、図12に示す更新情報テーブルT3を検索して、更新処理内容該当の送信ポートNo.=2、MAC DA=01.00.10.20.30.40、送信パケット形式=0800(IPv4)を抽出する。また、更新情報テーブルT3の検索時に、CPUフラグ=1なので、プロセッサ宛と認識し、プロセッサ宛パケットに付加すべき上述のフィールド情報も抽出する。 Then, the update information table T3 shown in FIG. = 2, MAC DA = 01.00.10.20.30.40, and transmission packet format = 0800 (IPv4) are extracted. Further, when the update information table T3 is searched, since the CPU flag = 1, it is recognized that it is addressed to the processor, and the above-mentioned field information to be added to the packet addressed to the processor is extracted.
その後、図2で示したパケットバッファ13からパケットP1を読み出し、パケットP1のヘッダ部に、更新処理内容決定テーブルT4にもとづいて抽出したフィールド情報(プロセッサ部120から任意のパケット更新情報が指定されたフィールド情報)と、プロセッサ宛パケット用のフィールド情報(プロセッサ宛パケットとなったときに、あらかじめ付加すべき情報を固定的に設定しておいたフィールド情報)と、を付加してパケットスイッチ130へ送信する。更新処理後のパケットは、パケットスイッチ130を介してプロセッサ部120へ送信される。
Thereafter, the packet P1 is read from the
図14は更新処理前後のパケットフォーマットを示す図である。更新処理前のパケットP1のパケットフォーマットは、ヘッダ部とデータ部からなり、ヘッダ部はL2ヘッダ(MAC DA、MAC SA、Frame Typeを含む)、L3ヘッダから構成される。このパケットP1に対して、更新処理部14は、上述のフィールド付加処理を行ってパケットP1aを生成する。付加されるフィールド情報の値は図に示す値となる。
FIG. 14 shows packet formats before and after the update process. The packet format of the packet P1 before the update process includes a header part and a data part, and the header part includes an L2 header (including MAC DA, MAC SA, and Frame Type) and an L3 header. For this packet P1, the
次にパケット更新処理の他の動作について説明する。図9〜図14で上述した更新処理では、更新情報テーブルT3記載のパケット更新情報で更新処理を行うことができたが、以降では、更新情報テーブルT3記載のパケット更新情報で更新処理を実行できない場合の動作である。 Next, another operation of the packet update process will be described. In the update process described above with reference to FIGS. 9 to 14, the update process can be performed with the packet update information described in the update information table T3. However, the update process cannot be performed with the packet update information described in the update information table T3 thereafter. Is the behavior of the case.
なお、プロトコル処理部12で行われるパケット識別、宛先/フロー解決、パケット更新情報生成の動作と、更新情報テーブルT3の記載内容とについては上述したものと同じであるので、以降では更新処理内容決定テーブルT4と更新処理部14の動作を中心にして説明する。
Note that the packet identification, destination / flow resolution, packet update information generation operations performed by the
図15は更新処理内容決定テーブルに記される更新処理内容を示す図である。更新処理内容決定テーブルT4−1は、更新情報テーブルT3記載のパケット更新情報の更新内容を変更する場合に用いられるテーブルである。更新処理内容決定テーブルT4−1は、更新開始位置=112ビット、更新量=32ビット、付加フラグ:1、変更フラグ:0、削除フラグ:0、更新データ=6789Aと記載されている(これらの項目の意味については図6で上述した)。なお、ここでの更新コードの値は30とする。 FIG. 15 is a diagram showing the update process content described in the update process content determination table. The update process content determination table T4-1 is a table used when changing the update content of the packet update information described in the update information table T3. In the update process content determination table T4-1, update start position = 112 bits, update amount = 32 bits, additional flag: 1, change flag: 0, delete flag: 0, update data = 6789A (these data The meaning of the item is described above with reference to FIG. Here, the value of the update code is 30.
更新処理部14は、更新コード=30をキーにして、更新処理内容決定テーブルT4−1を検索することで、上記の各項目を認識し、これらの更新処理内容にもとづいて、パケットP1に対して必要なフィールド情報の付加を行うことが可能になる。
The
図16は更新処理前後のパケットフォーマットを示す図である。パケットP1に対して、更新処理部14は、図15で上述のフィールド付加処理を行ってShimフラグを有するパケットP1bを生成する。
FIG. 16 shows packet formats before and after the update process. For the packet P1, the
ここで、本来のパケットP1はプロセッサ宛となって、プロセッサ部120でShimフラグが付加されるものであったが、更新処理内容決定テーブルT4−1を用いた更新処理によって、プロセッサ部120によるソフトウェア処理を行わずに、ハードウェア処理だけでShimフラグを付加することができている。 Here, the original packet P1 is addressed to the processor and the Shim flag is added by the processor unit 120. However, the software by the processor unit 120 is updated by the update process using the update process content determination table T4-1. The Shim flag can be added only by hardware processing without performing processing.
このように、更新位置や更新範囲等の項目が記載された更新処理内容決定テーブルT4−1を用いることにより、本来サポートをしていないプロトコルやパケット形式を持ったパケットに対しても更新処理が可能となり、新しいサービスに対応したパケットに対しても容易に更新処理を行うことが可能になる。結果として、プロセッサ部120の処理を行わなくてもハードウェアによる中継処理が可能になる。 In this way, by using the update processing content determination table T4-1 in which items such as update positions and update ranges are described, update processing can be performed even for packets having protocols and packet formats that are not originally supported. This makes it possible to easily update a packet corresponding to a new service. As a result, it is possible to perform relay processing by hardware without performing processing of the processor unit 120.
なお、上記では更新処理内容決定テーブルT4−1を用いた更新処理により、本来プロセッサ宛であったパケットが、プロセッサ宛ではなくなる例を示したが、プロセッサ宛パケットに対して、更新処理内容決定テーブルT4−1を用いた更新処理を行って、さらにプロセッサ部120で処理を行うために、プロセッサ部120へ送信しても構わない(この場合には例えば、Shimフラグの他に固定的にあらかじめ定めた上述のフィールド情報(CPU Code等)も付加されて出力することになる)。 In the above description, an example in which the packet originally destined for the processor is no longer destined for the processor by the update process using the update process content determination table T4-1 has been described. An update process using T4-1 may be performed, and further transmitted to the processor unit 120 for further processing by the processor unit 120 (in this case, for example, in addition to the Shim flag, fixed in advance) In addition, the above-mentioned field information (CPU code, etc.) is also added and output).
以上説明したように、送信するパケットの更新内容をハードウェアにより固定的に設定するのではなく、プロトコル処理の結果を更新コードとして更新処理部14に出力し、更新処理部14がプロセッサ部120から設定可能な更新処理内容決定テーブルT4を検索して、更新内容を決定する構成とした。これにより、あらかじめ決められた更新処理だけでなく、柔軟な更新処理を行うことが可能になる。
As described above, feeding updates Shin packets rather than setting fixedly by hardware, and outputs to the
また、更新処理内容決定テーブルT4は、プロセッサ部120から設定可能なテーブルとすることで、装置の運用中でも更新内容の変更ができ、装置内の負荷状態等に合わせた動的な変更が可能になる。さらに、更新処理内容決定テーブルT4−1は、更新位置や更新範囲等の項目が記載されたテーブル構成とすることにより、新しいサービスに対応したパケットに対しても容易に更新処理を行うことができ、多種多様なネットワークに対応することが可能になる。 In addition, the update process content determination table T4 is a table that can be set from the processor unit 120, so that the update content can be changed even during operation of the apparatus, and dynamic change according to the load state in the apparatus is possible. Become. Furthermore, the update processing content determination table T4-1 can be easily updated even for a packet corresponding to a new service by adopting a table configuration in which items such as an update position and an update range are described. It becomes possible to cope with a wide variety of networks.
(付記1) パケットの更新処理を行うパケット更新装置において、
パケットの宛先情報を管理し、かつ上位から更新コードが設定可能な宛先テーブルと、
パケットのQoS保証を行うためのフロー情報を管理し、かつ上位から更新コードが設定可能なフローテーブルと、
受信したパケットからプロトコル及びパケット形式に関する情報を識別・抽出し、かつ受信パケットに対応するパケット識別コードを生成するパケット識別部と、前記宛先テーブルを検索して、受信パケットの宛先を求める宛先解決部と、前記フローテーブルを検索して、受信パケットのフローを求めるフロー解決部と、パケット識別及びテーブル検索の結果にもとづいて、パケット更新情報を生成し、取得した前記パケット識別コード及び前記更新コードを出力するパケット更新情報生成部と、から構成されるプロトコル処理部と、
前記パケット更新情報をテーブル管理する更新情報テーブルと、
上位から任意に変更設定可能で、前記更新コードに対応するパケット更新処理内容をテーブル管理する更新処理内容決定テーブルと、
前記更新コードをキーに前記更新処理内容決定テーブルを検索して、受信パケットの更新処理内容を決定し、前記パケット識別コードをキーに前記更新情報テーブルを検索して、決定した更新処理内容にもとづく前記パケット更新情報を読み出して受信パケットの更新処理を行い、または前記パケット更新情報の更新内容を変更したい場合は、前記更新コードで決定した更新処理内容で直接、受信パケットの更新処理を行う更新処理部と、
を有することを特徴とするパケット更新装置。
(Supplementary Note 1) In a packet update device that performs packet update processing,
A destination table that manages packet destination information and can set an update code from the top,
A flow table for managing flow information for guaranteeing QoS of a packet and setting an update code from the upper level;
A packet identification unit that identifies and extracts information on the protocol and packet format from the received packet and generates a packet identification code corresponding to the received packet, and a destination resolution unit that searches the destination table and obtains the destination of the received packet And a flow resolution unit that searches the flow table to obtain a flow of the received packet, generates packet update information based on the packet identification and table search results, and obtains the acquired packet identification code and the update code. A protocol processing unit configured to output a packet update information generation unit;
An update information table for managing the packet update information;
An update processing content determination table that can be arbitrarily changed and set from the top, and manages the packet update processing content corresponding to the update code, and
The update processing content determination table is searched using the update code as a key, the update processing content of the received packet is determined, the update information table is searched using the packet identification code as a key, and based on the determined update processing content An update process that reads the packet update information and performs an update process on the received packet, or an update process that directly performs an update process on the received packet with the update process content determined by the update code when it is desired to change the update content of the packet update information And
A packet update device comprising:
(付記2) 前記更新処理部は、宛先解決及びフロー解決時に上位宛と判断された場合には、上位側で行われるソフトウェア更新処理の軽減化を図るためのフィールド情報を、前記更新処理内容決定テーブルにもとづき生成して、パケットヘッダにフィールド情報を付加して上位へ宛てて送信する、または宛先解決及びフロー解決時に上位宛と判断された場合であっても、上位側で行われる更新処理のすべてを前記更新処理内容決定テーブルにもとづき実行して、上位宛のソフトウェア処理をなくして、ハードウェア処理だけで更新処理を完了させることを特徴とする付記1記載のパケット更新装置。
(Additional remark 2) The said update process part determines the said update process content for the field information for reducing the software update process performed by the high-order side, when it is judged that it is addressed to the upper rank at the time of address resolution and flow resolution Generate based on the table, add field information to the packet header and send it to the upper layer, or update processing performed on the upper side even if it is determined that the address is higher when address resolution and flow
(付記3) 前記更新処理内容決定テーブルは、上位から読み出し/書き込み可能なメモリで構成されることを特徴とする付記1記載のパケット更新装置。
(付記4) 前記パケット更新情報の更新内容を変更したい場合は、前記更新処理内容決定テーブルは、更新データの値と、更新データの位置情報と、の項目を持つテーブル構成となることを特徴とする付記1記載のパケット更新装置。
(Additional remark 3) The said update process content determination table is comprised with the memory which can be read / written from upper rank, The packet update apparatus of
(Supplementary Note 4) When the update content of the packet update information is to be changed, the update processing content determination table has a table configuration having items of update data value and update data position information. The packet update apparatus according to
(付記5) パケットの更新処理を行ってパケット・ルーティングを行うルータ装置において、
パケットのソフトウェア処理を行うプロセッサ部と、
パケットの宛先情報を管理し、かつ前記プロセッサ部から更新コードが設定可能な宛先テーブルと、パケットのQoS保証を行うためのフロー情報を管理し、かつ前記プロセッサ部から更新コードが設定可能なフローテーブルと、受信したパケットからプロトコル及びパケット形式に関する情報を識別・抽出し、かつ受信パケットに対応するパケット識別コードを生成するパケット識別部と、前記宛先テーブルを検索して、受信パケットの宛先を求める宛先解決部と、前記フローテーブルを検索して、受信パケットのフローを求めるフロー解決部と、パケット識別及びテーブル検索の結果にもとづいて、パケット更新情報を生成し、取得した前記パケット識別コード及び前記更新コードを出力するパケット更新情報生成部と、から構成されるプロトコル処理部と、前記パケット更新情報をテーブル管理する更新情報テーブルと、前記プロセッサ部から任意に変更設定可能で、前記更新コードに対応するパケット更新処理内容をテーブル管理する更新処理内容決定テーブルと、前記更新コードをキーに前記更新処理内容決定テーブルを検索して、受信パケットの更新処理内容を決定し、前記パケット識別コードをキーに前記更新情報テーブルを検索して、決定した更新処理内容にもとづく前記パケット更新情報を読み出して受信パケットの更新処理を行い、または前記パケット更新情報の更新内容を変更したい場合は、前記更新コードで決定した更新処理内容で直接、受信パケットの更新処理を行う更新処理部と、から構成されるパケット更新部を含み、回線毎に設けられるネットワークインタフェース部と、
前記ネットワークインタフェース部で処理されたパケットまたは前記プロセッサ部で処理されたパケットのスイッチングを行うパケットスイッチと、
を有することを特徴とするルータ装置。
(Supplementary Note 5) In a router device that performs packet routing by performing packet update processing,
A processor unit that performs software processing of packets;
A destination table for managing packet destination information and setting an update code from the processor unit, and a flow table for managing flow information for guaranteeing QoS of a packet and setting an update code from the processor unit A packet identification unit for identifying and extracting information on the protocol and packet format from the received packet and generating a packet identification code corresponding to the received packet; and a destination for searching for the destination of the received packet by searching the destination table And a flow resolution unit that searches the flow table to obtain a flow of the received packet, generates packet update information based on a packet identification and table search result, and obtains the acquired packet identification code and the update A packet update information generation unit that outputs a code. A protocol processing unit, an update information table for managing the packet update information as a table, an update processing content determination table for managing the packet update processing content corresponding to the update code, which can be arbitrarily changed and set from the processor unit, The update processing content determination table is searched using the update code as a key, the update processing content of the received packet is determined, the update information table is searched using the packet identification code as a key, and based on the determined update processing content An update process that reads the packet update information and performs an update process on the received packet, or an update process that directly performs an update process on the received packet with the update process content determined by the update code when it is desired to change the update content of the packet update information A network provided for each line. And-click interface unit,
A packet switch for switching packets processed by the network interface unit or packets processed by the processor unit;
A router device comprising:
(付記6) 前記更新処理部は、宛先解決及びフロー解決時にプロセッサ宛と判断された場合には、前記プロセッサ部で行われるソフトウェア更新処理の軽減化を図るためのフィールド情報を、前記更新処理内容決定テーブルにもとづき生成して、パケットヘッダにフィールド情報を付加して前記プロセッサ部へ宛てて送信する、または宛先解決及びフロー解決時にプロセッサ宛と判断された場合であっても、前記プロセッサ部で行われる更新処理のすべてを前記更新処理内容決定テーブルにもとづき実行して、プロセッサ宛のソフトウェア処理をなくして、ハードウェア処理だけで更新処理を完了させることを特徴とする付記5記載のルータ装置。 (Additional remark 6) When the said update process part is judged to address to a processor at the time of address resolution and flow resolution, the field information for reducing the software update process performed in the said processor part is shown in the said update process content It is generated based on the decision table, field information is added to the packet header and transmitted to the processor unit, or even if it is determined to be addressed to the processor during destination resolution and flow resolution, the processor unit 6. The router device according to appendix 5, wherein all the update processing is executed based on the update processing content determination table, the software processing addressed to the processor is eliminated, and the update processing is completed only by hardware processing.
(付記7) 前記更新処理内容決定テーブルは、前記プロセッサ部から読み出し/書き込み可能なメモリで構成されることを特徴とする付記5記載のルータ装置。
(付記8) 前記パケット更新情報の更新内容を変更したい場合は、前記更新処理内容決定テーブルは、更新データの値と、更新データの位置情報と、の項目を持つテーブル構成となることを特徴とする付記5記載のルータ装置。
(Additional remark 7) The said update process content determination table is comprised with the memory which can be read / written from the said processor part, The router apparatus of Additional remark 5 characterized by the above-mentioned.
(Supplementary Note 8) When the update content of the packet update information is to be changed, the update processing content determination table has a table configuration having items of update data value and update data position information. The router device according to appendix 5.
10 パケット更新装置
12 プロトコル処理部
12a パケット識別部
12b 宛先解決部
12c フロー解決部
12d パケット更新情報生成部
14 更新処理部
T1 宛先テーブル
T2 フローテーブル
T3 更新情報テーブル
T4 更新処理内容決定テーブル
C1 パケット識別コード
C2 更新コード
DESCRIPTION OF SYMBOLS 10
Claims (4)
パケットの宛先情報を管理し、かつ上位から更新コードが設定可能な宛先テーブルと、
パケットのQoS保証を行うためのフロー情報を管理し、かつ上位から更新コードが設定可能なフローテーブルと、
受信したパケットからプロトコル及びパケット形式に関する情報を識別・抽出し、かつ受信パケットに対応するパケット識別コードを生成するパケット識別部と、前記宛先テーブルを検索して、受信パケットの宛先を求める宛先解決部と、前記フローテーブルを検索して、受信パケットのフローを求めるフロー解決部と、パケット識別及びテーブル検索の結果にもとづいて、パケット更新情報を生成し、取得した前記パケット識別コード及び前記更新コードを出力するパケット更新情報生成部と、から構成されるプロトコル処理部と、
前記パケット更新情報をテーブル管理する更新情報テーブルと、
上位から任意に変更設定可能で、前記更新コードに対応するパケット更新処理内容をテーブル管理する更新処理内容決定テーブルと、
前記更新コードをキーに前記更新処理内容決定テーブルを検索して、受信パケットの更新処理内容を決定し、前記パケット識別コードをキーに前記更新情報テーブルを検索して、決定した更新処理内容にもとづく前記パケット更新情報を読み出して受信パケットの更新処理を行い、または前記パケット更新情報の更新内容を変更したい場合は、前記更新コードで決定した更新処理内容で直接、受信パケットの更新処理を行う更新処理部と、
を備え、
前記更新処理内容決定テーブルは、第1のテーブルと第2のテーブルとを有し、
前記第1のテーブルは、パケット更新をプロセッサによるソフトウェアで行うためのフィールド情報を含み、
前記第2のテーブルは、パケット更新をハードウェア処理で実行するための、更新データの値と、前記更新データの位置情報とを含み、
前記更新処理部は、宛先解決及びフロー解決時にプロセッサ宛と判断された場合には、プロセッサ側で行われるソフトウェア更新処理の軽減化を図るための前記フィールド情報を、前記第1のテーブルにもとづき抽出して、パケットヘッダに前記フィールド情報を付加してプロセッサへ宛てて送信し、
または、宛先解決及びフロー解決時にプロセッサ宛と判断された場合であっても、プロセッサ側で行われる更新処理を前記ハードウェア処理で実行する際には、前記第2のテーブルにもとづき、前記更新データを前記位置情報が示すパケット挿入位置に前記ハードウェア処理で挿入して、前記ハードウェア処理で更新処理を完了させる、
ことを特徴とするパケット更新装置。 In a packet update device that performs packet update processing,
A destination table that manages packet destination information and can set an update code from the top,
A flow table for managing flow information for guaranteeing QoS of a packet and setting an update code from the upper level;
A packet identification unit that identifies and extracts information on the protocol and packet format from the received packet and generates a packet identification code corresponding to the received packet, and a destination resolution unit that searches the destination table and obtains the destination of the received packet And a flow resolution unit that searches the flow table to obtain a flow of the received packet, generates packet update information based on the packet identification and table search results, and obtains the acquired packet identification code and the update code. A protocol processing unit configured to output a packet update information generation unit;
An update information table for managing the packet update information;
An update processing content determination table that can be arbitrarily changed and set from the top, and manages the packet update processing content corresponding to the update code, and
The update processing content determination table is searched using the update code as a key, the update processing content of the received packet is determined, the update information table is searched using the packet identification code as a key, and based on the determined update processing content An update process that reads the packet update information and performs an update process on the received packet, or an update process that directly performs an update process on the received packet with the update process content determined by the update code when it is desired to change the update content of the packet update information And
With
The update processing content determination table has a first table and a second table,
The first table includes field information for performing packet update by software by a processor;
The second table includes a value of update data and position information of the update data for performing packet update by hardware processing,
The update processing unit, If it is determined that the addressed processor at destination settlement and flow resolution, the field information for achieving a reduction of the software updating process performed by the processor side, based on said first table extraction and, sending addressed to the processor adds the field information in the packet header,
Alternatively, even when it is determined that the address is addressed to the processor at the time of address resolution and flow resolution, when the update process performed on the processor side is executed by the hardware process, the update data is based on the second table. Is inserted into the packet insertion position indicated by the position information by the hardware process, and the update process is completed by the hardware process.
A packet updating apparatus.
パケットのソフトウェア処理を行うプロセッサ部と、
パケットの宛先情報を管理し、かつ前記プロセッサ部から更新コードが設定可能な宛先テーブルと、パケットのQoS保証を行うためのフロー情報を管理し、かつ前記プロセッサ部から更新コードが設定可能なフローテーブルと、受信したパケットからプロトコル及びパケット形式に関する情報を識別・抽出し、かつ受信パケットに対応するパケット識別コードを生成するパケット識別部と、前記宛先テーブルを検索して、受信パケットの宛先を求める宛先解決部と、前記フローテーブルを検索して、受信パケットのフローを求めるフロー解決部と、パケット識別及びテーブル検索の結果にもとづいて、パケット更新情報を生成し、取得した前記パケット識別コード及び前記更新コードを出力するパケット更新情報生成部と、から構成されるプロトコル処理部と、前記パケット更新情報をテーブル管理する更新情報テーブルと、前記プロセッサ部から任意に変更設定可能で、前記更新コードに対応するパケット更新処理内容をテーブル管理する更新処理内容決定テーブルと、前記更新コードをキーに前記更新処理内容決定テーブルを検索して、受信パケットの更新処理内容を決定し、前記パケット識別コードをキーに前記更新情報テーブルを検索して、決定した更新処理内容にもとづく前記パケット更新情報を読み出して受信パケットの更新処理を行い、または前記パケット更新情報の更新内容を変更したい場合は、前記更新コードで決定した更新処理内容で直接、受信パケットの更新処理を行う更新処理部と、から構成されるパケット更新部を含み、回線毎に設けられるネットワークインタフェース部と、
前記ネットワークインタフェース部で処理されたパケットまたは前記プロセッサ部で処理されたパケットのスイッチングを行うパケットスイッチと、
を備え、
前記更新処理内容決定テーブルは、第1のテーブルと第2のテーブルとを有し、
前記第1のテーブルは、パケット更新を前記プロセッサ部によるソフトウェアで行うためのフィールド情報を含み、
前記第2のテーブルは、パケット更新をハードウェア処理で実行するための、更新データの値と、前記更新データの位置情報とを含み、
前記更新処理部は、宛先解決及びフロー解決時に前記プロセッサ部宛と判断された場合には、前記プロセッサ部で行われるソフトウェア更新処理の軽減化を図るための前記フィールド情報を、前記第1のテーブルにもとづき抽出して、パケットヘッダに前記フィールド情報を付加して前記プロセッサ部へ宛てて送信し、
または、宛先解決及びフロー解決時に前記プロセッサ部宛と判断された場合であっても、前記プロセッサ部で行われる更新処理を前記ハードウェア処理で実行する際には、前記第2のテーブルにもとづき、前記更新データを前記位置情報が示すパケット挿入位置に前記ハードウェア処理で挿入して、前記ハードウェア処理で更新処理を完了させる、
ことを特徴とするルータ装置。 In a router device that performs packet routing by performing packet update processing,
A processor unit that performs software processing of packets;
A destination table for managing packet destination information and setting an update code from the processor unit, and a flow table for managing flow information for guaranteeing QoS of a packet and setting an update code from the processor unit A packet identification unit for identifying and extracting information on the protocol and packet format from the received packet and generating a packet identification code corresponding to the received packet; and a destination for searching for the destination of the received packet by searching the destination table And a flow resolution unit that searches the flow table to obtain a flow of the received packet, generates packet update information based on a packet identification and table search result, and obtains the acquired packet identification code and the update A packet update information generation unit that outputs a code. A protocol processing unit, an update information table for managing the packet update information as a table, an update processing content determination table for managing the packet update processing content corresponding to the update code, which can be arbitrarily changed and set from the processor unit, The update processing content determination table is searched using the update code as a key, the update processing content of the received packet is determined, the update information table is searched using the packet identification code as a key, and based on the determined update processing content An update process that reads the packet update information and performs an update process on the received packet, or an update process that directly performs an update process on the received packet with the update process content determined by the update code when it is desired to change the update content of the packet update information A network provided for each line. And-click interface,
A packet switch for switching packets processed by the network interface unit or packets processed by the processor unit;
With
The update processing content determination table has a first table and a second table,
The first table includes field information for performing packet update by software by the processor unit;
The second table includes a value of update data and position information of the update data for performing packet update by hardware processing,
If the update processing unit is determined to be addressed to the processor unit at the time of destination resolution and flow resolution, the field information for reducing software update processing performed by the processor unit is stored in the first table. Extracted based on the field information added to the packet header and sent to the processor unit,
Or, even when it is determined that the processor unit is addressed at the time of address resolution and flow resolution, when the update process performed by the processor unit is executed by the hardware process, based on the second table, Inserting the update data into the packet insertion position indicated by the position information by the hardware processing, and completing the update processing by the hardware processing;
A router device characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004058480A JP4443266B2 (en) | 2004-03-03 | 2004-03-03 | Packet update device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004058480A JP4443266B2 (en) | 2004-03-03 | 2004-03-03 | Packet update device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005252522A JP2005252522A (en) | 2005-09-15 |
JP4443266B2 true JP4443266B2 (en) | 2010-03-31 |
Family
ID=35032612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004058480A Expired - Fee Related JP4443266B2 (en) | 2004-03-03 | 2004-03-03 | Packet update device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4443266B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5961745B2 (en) * | 2013-02-18 | 2016-08-02 | 日本電信電話株式会社 | Communication device or packet transfer method |
-
2004
- 2004-03-03 JP JP2004058480A patent/JP4443266B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005252522A (en) | 2005-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111095881B (en) | Method and apparatus for segment routing network signaling and packet processing | |
US10063475B2 (en) | Segment routing extension headers | |
JP3717836B2 (en) | Dynamic load balancer | |
WO2021089052A1 (en) | Packet transmission method, proxy node, and storage medium | |
US9319312B2 (en) | Segment routing mapping server for LDP/SR interoperability | |
CN102104541B (en) | Header processing engine | |
CN112787931B (en) | Message transmission method, proxy node and storage medium | |
US7447221B2 (en) | Communication apparatus | |
EP3621250A1 (en) | Seamless segment routing | |
US10164910B2 (en) | Method and apparatus for an information-centric MAC layer | |
CN108632145B (en) | Message forwarding method and leaf node equipment | |
EP2482500A1 (en) | Method for performing dynamic tunnel message forwarding and switch thereof | |
US8009683B2 (en) | IP network system | |
EP3574617B1 (en) | Method and apparatus for managing routing disruptions in a computer network | |
JP2001244957A (en) | Ip router device with tcp terminating function and medium | |
EP3465995A1 (en) | Flow modification including shared context | |
CN105812261A (en) | Message forwarding method and system in information center network | |
JP2022550343A (en) | Method, device and system for forwarding packets in SR network | |
JP6098192B2 (en) | Address generator | |
WO2019160005A1 (en) | Path information transmission device, path information transmission method and path information transmission program | |
JP4111968B2 (en) | Tunneling method and tunneling apparatus for multicasting | |
WO2024001701A1 (en) | Data processing method, apparatus and system | |
JP2007067515A (en) | Lan switch, mac address learning method, and program | |
JP4599429B2 (en) | Communication system and communication method | |
JP4443266B2 (en) | Packet update device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090526 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090915 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091027 |
|
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: 20100112 |
|
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: 20100112 |
|
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: 20130122 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130122 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140122 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |