WO2011096127A1 - パケット転送処理装置、方法及びプログラム - Google Patents
パケット転送処理装置、方法及びプログラム Download PDFInfo
- Publication number
- WO2011096127A1 WO2011096127A1 PCT/JP2010/071460 JP2010071460W WO2011096127A1 WO 2011096127 A1 WO2011096127 A1 WO 2011096127A1 JP 2010071460 W JP2010071460 W JP 2010071460W WO 2011096127 A1 WO2011096127 A1 WO 2011096127A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet
- search
- search condition
- timer
- entry area
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Definitions
- the present invention relates to a packet transfer processing apparatus, method, and program for performing packet transfer processing using a packet filtering function, such as a router used in an IP (Internet Protocol) network.
- a packet filtering function such as a router used in an IP (Internet Protocol) network.
- a LAN Local Area Network
- the LAN is connected to an external network via the Internet or the like to perform packet transfer.
- confidential information such as personal information may be leaked or altered due to unauthorized access from the external network. It is a difficult issue.
- a packet transfer processing device such as a router that relays and transfers packets between a LAN and an external network is provided with a packet filtering function.
- the packet filtering function determines whether or not to allow passage of the packet by comparing the input packet with a preset filtering rule.
- the filtering rule is defined by communication parameters used for packet transfer, for example, a source address, a destination address, a protocol, a source port number, and a destination port number.
- a specific search circuit there is a circuit that compares a communication parameter of a received packet with a filtering rule by using a plurality of rule comparison units in parallel.
- this circuit distributes and inputs the communication parameters of the received packet to a rule comparison unit that has completed processing among a plurality of rule comparison units.
- this filtering rule is supplied to all the rule comparison units.
- Each time the rule comparison unit compares each filtering rule sequentially read from the search table each time a communication parameter of the received packet is input.
- this filtering rule is output as a search result.
- the filtering rule with the highest priority is output as a search result (see, for example, Patent Document 1).
- the CPU has a 32-bit architecture
- searching for a free area in the search table only 32 search table entry areas can be checked at a time. Since the entry area of the search table is as large as 2048, for example, a large number of processing steps and time are still required when the CPU searches for an empty area of the search table.
- one aspect of the present invention provides a search table having a plurality of entry areas for storing a plurality of packet search conditions, and communication parameters of the received packets each time a packet is received.
- a search processing unit that compares each of the plurality of packet search conditions stored in the search table and outputs a search result corresponding to the packet search condition that matches the communication parameter, and the received packet based on the search result
- a transfer processing unit that performs transfer or discard processing of the information, and information that sets whether the packet search condition is valid or invalid in association with each of the plurality of packet search conditions stored in the search table
- a valid management table to be stored; a timer corresponding to each of the plurality of entry areas; and the valid set valid A timer management unit that starts a time counting operation by the timer every time a packet whose communication parameter matches a packet search condition corresponding to information on the management table is received or each time the information is written to the valid management table And a time-out management table for storing information indicating whether the timer is operating or time
- the control unit can detect an empty entry area in the search table based on the information stored in the timeout management table, and a new entry is detected in the detected empty entry area. Search conditions can be stored.
- a block including a bit position indicating that the timer has timed out is selected from a bit position indicating that the timer has timed out in the selected block, and belongs to the selected group Bit data is read from the bit area of the timeout register, and an entry area corresponding to the timer that has timed out is detected based on the read bit data.
- the memory when the timer times out, includes a memory for sequentially storing identification information of entry areas of the search table corresponding to the timer that has timed out, and the control unit detects the empty entry area.
- the identification information of the entry area is read from the memory in the order of storage order, and the entry area represented by the read identification information is set as the empty entry area.
- identification information indicating the entry area in which the packet search condition is stored is sequentially stored in the memory.
- the entry area can be easily specified. Therefore, it is possible to specify an empty entry area in a short time with fewer processing steps without searching the entry area of the search table or the bit area of the timeout register.
- each packet search condition in which the packet is transferred between the first interface and the second interface and stored in the search table includes the first search condition, the second search condition, and the second search condition.
- the search processing unit includes a communication parameter of the first packet and the first search condition when the received packet is the first packet received by the first interface. And the third search condition set, and if the communication parameter of the first packet matches the first search condition and the third search condition set, the search result is output,
- the received packet is a second packet received by the second interface
- the communication parameter of the second packet, the second search condition, and the third packet Comparing the set of search conditions, and outputs the search results if the communication parameters of the second packet matches the set of the second search condition and the third search condition.
- a search result is output if the communication parameter of the received packet matches the set of the first search condition and the third search condition.
- a search result is output if the communication parameter of the received packet matches the set of the second search condition and the third search condition. For this reason, the search table can be searched bidirectionally. Therefore, the entry area of the search table can be reduced, and the memory capacity of the search table is reduced.
- the search processing unit when the received packet is the first packet, sets the second search condition as a communication parameter after conversion by network address port conversion for the first packet. If the received packet is the second packet, the first search condition is output as a communication parameter after conversion by network address port conversion for the second packet.
- the second search condition when a packet is received by the first interface, the second search condition is output as a communication parameter after conversion by network address port conversion.
- the first search condition is output as a communication parameter after conversion by network address port conversion. Therefore, network address port conversion can be realized without increasing the number of entry areas in the search table or increasing packet search conditions stored in the entry area of the search table.
- packets are transferred between the first interface and the second interface, and each packet search condition stored in the search table includes a first search condition, a second search condition, and a second search condition.
- the search processing unit includes a communication parameter of the received packet and the first parameter regardless of whether the received packet is received by the first interface or the second interface. Comparing one search condition and the third search condition set, comparing the communication parameter of the received packet with the second search condition and the third search condition set, and The parameter matches the set of the first search condition and the third search condition, or the communication parameter is the second search condition and the If a match to the third search condition set, and outputs the search results.
- the communication parameter of the received packet matches the set of the first search condition and the third search condition, or the communication parameter of the received packet is the set of the second search condition and the third search condition. If it matches, the search result is output. Therefore, the search table can be searched bidirectionally without determining which interface the packet is received on. Therefore, the entry area of the search table can be reduced, and the memory capacity of the search table is reduced. Also, the number of packet search conditions can be halved compared to the case where the search table is searched according to the interface from which the packet is received. Therefore, this is particularly effective when the number of required packet search conditions is large.
- the search processing unit performs network address port conversion on the received packet if the communication parameter of the received packet matches the set of the first search condition and the third search condition.
- the second search condition is output as a communication parameter after conversion, and if the communication parameter matches the set of the second search condition and the third search condition, the first communication parameter is converted as the first communication parameter after conversion. Output the search condition.
- the second search condition is output as the communication parameter after conversion by network address port conversion. Further, if the communication parameter matches the set of the second search condition and the third search condition, the first search condition is output as the converted communication parameter. Therefore, network address port conversion can be realized without increasing the number of entry areas in the search table or increasing packet search conditions stored in the entry area of the search table.
- each of the packet search conditions for IPv4 is stored in one entry area
- each of the packet search conditions for IPv6 is stored in two entry areas in the search table
- the packet search conditions for IPv6 include the first search condition, the second search condition, and the third parameter respectively corresponding to the first parameter, the second parameter, and the third parameter of the communication parameter of the IPv6 packet.
- the first search condition and the third search condition are stored in an even-numbered entry area
- the second search condition is stored in an odd-numbered entry area.
- the third search condition is stored, and the search processing unit determines whether the received packet is an IPv4 packet or the IPv6 packet. Serial compare with each or each packet search conditions for the IPv6 packet search conditions for IPv4 and the communication parameters of the received packet.
- each packet search condition for IPv4 stored in one entry area is compared with the communication parameter of the received IPv4 packet.
- each packet search condition for IPv6 stored in the two entry areas is compared with the communication parameter of the received IPv6 packet.
- the set of the first parameter and the third parameter is compared with the set of the first search condition and the third search condition stored in the even-numbered entry area.
- the set of the second parameter and the third parameter is compared with the set of the second search condition and the third search condition stored in the odd-numbered entry area.
- IPv4 packets and IPv6 packets are mixed, it is possible to store the packet search conditions for IPv4 and the packet search conditions for IPv6 on the same search table. For this reason, the memory capacity of the entire search table can be reduced and the memory capacity of the search table can be optimized compared to the case where the search table for IPv4 packets and the search table for IPv6 packets are provided separately.
- the search processing unit compares the communication parameter of the received packet with a packet search condition of the even-numbered entry area, and outputs a first comparison result;
- a second comparison unit that compares the communication parameter with the packet search condition of the odd-numbered entry area and outputs a second comparison result; and based on the first comparison result and the second comparison result
- a determination unit that determines whether or not a packet search condition that matches the communication parameter is searched, and when the received packet is the IPv4 packet, the determination unit includes the first comparison result and the If at least one of the second comparison results indicates a match, it is determined that a packet search condition matching the communication parameter has been found, and the received packet is determined.
- the first comparison unit compares the packet search condition of the even-numbered entry area with the set of the first parameter and the third parameter, and the even-numbered packet.
- the packet search condition of the entry area of the second entry is compared with the set of the second parameter and the third parameter
- the second comparison unit compares the packet search condition of the odd-numbered entry area and the first parameter.
- the third parameter set, and the packet search condition of the odd-numbered entry area is compared with the second parameter and the third parameter set.
- the packet search condition of the th entry area matches the set of the first parameter and the third parameter, and the odd number
- the packet search condition of the entry area matches the set of the second parameter and the third parameter, or the packet search condition of the odd-numbered entry area matches the first parameter and the third parameter. If the packet search condition of the even-numbered entry area matches the set of the second parameter and the third parameter, the packet search condition that matches the communication parameter is found. judge.
- the communication parameter of the received packet matches the packet search condition of the even-numbered entry area, or the communication parameter matches the packet search condition of the odd-numbered entry area. If so, it is determined that a packet search condition matching the communication parameter has been searched.
- the packet search condition of the even-numbered entry area matches the set of the first parameter and the third parameter
- the packet search condition of the odd-numbered entry area is the first. 2 or the third parameter set, or the packet search condition of the odd-numbered entry area matches the first parameter and the third parameter set, and the even-numbered entry area If the packet search condition matches the set of the second parameter and the third parameter, it is determined that the packet search condition that matches the communication parameter has been searched.
- the search table can be searched using a circuit common to the IPv4 packet and the IPv6 packet.
- the search for the even-numbered entry areas and the search for the odd-numbered entry areas are performed in parallel, a high-speed search can be realized.
- Another aspect of the present invention is a packet transfer processing method corresponding to the above-described packet transfer processing device. Still another aspect of the present invention is a packet transfer processing program for causing a computer to execute such a packet transfer processing method.
- control unit can detect the end of the communication period reliably and efficiently. Thereby, it becomes possible to effectively manage the validity / invalidity of the search rule in the search table, and the packet transfer processing device, method, and program capable of further effectively using the limited search table entry area Can be provided.
- FIG. 2 is a block diagram illustrating a configuration of a search unit and a search table of the packet transfer processing device illustrated in FIG. 1.
- 3 is a flowchart showing a processing procedure and processing contents when the timer management unit shown in FIG. 2 holds a valid bit of a valid management table.
- 3 is a flowchart showing a processing procedure and processing contents when the timer management unit shown in FIG. 2 changes a valid bit of a valid management table to an invalid bit.
- 5 is a flowchart showing a processing procedure and processing contents for requesting the start of decrement for the bit change processing shown in FIG. 4.
- FIG. 3 is a diagram illustrating a configuration of a totaling register provided in the timeout management table illustrated in FIG. 2 together with an entry timeout register.
- FIG. 2 is a block diagram illustrating a first configuration example of a search unit and a search table of a packet transfer processing device when a FIFO memory is provided in the search unit illustrated in FIG. 1. It is a block diagram which shows the 2nd structural example of the search part and search table of a packet transmission processing apparatus when a FIFO memory is provided in the search part shown in FIG. It is a figure which shows the 1st structural example of the entry search table in 2nd Embodiment of this invention. It is a figure which shows the 2nd structural example of the entry search table in 2nd Embodiment of this invention.
- FIG. 1 is a block diagram showing the configuration of a packet transfer processing apparatus according to the first embodiment of the present invention.
- the packet transfer processing apparatus includes a packet transfer unit 10 and a control unit 20 including a central processing unit (CPU) connected to the packet transfer unit 10 via a bus 30.
- CPU central processing unit
- the packet transfer unit 10 includes a frame reception unit 1, a buffer management unit 2, a packet buffer 3, a parser 4, a search table 5, a search unit 6, a QoS (Quality of Service) unit 7, a frame generation unit 8, and a frame transmission unit 9. Prepare. These processing units are integrated, and the packet transfer unit 10 is configured by one LSI (Large Scale Integration).
- the packet transfer unit 10 receives a reception packet input from a reception interface (not shown) for each frame by the frame reception unit 1, stores the received packet in the packet buffer 3 through the buffer management unit 2, and stores it in the parser 4. Supply.
- the parser 4 analyzes the header of the supplied received packet, and searches for a communication parameter inserted in the header, that is, a source IP address, a destination IP address, a source port number, a destination port number, and a protocol. Are used as job information to the search unit 6.
- the search unit 6 sequentially compares the communication parameters of the received packet given as JOB information from the parser 4 with a plurality of search conditions (packet search conditions) stored in the search table 5 in advance, and the search conditions matching the communication parameters are found. If found, information representing a search result corresponding to the search condition is read from the search table 5 and supplied to the QoS unit 7.
- the QoS unit 7 determines whether the received packet is a passing target or a discarding target based on the information indicating the supplied search result. If the received packet is to be discarded as a result of this determination, the QoS unit 7 gives a deletion instruction to the buffer management unit 2 to delete the corresponding packet from the packet buffer 3 and deletes the JOB information. On the other hand, if the received packet is a passing target, the QoS unit 7 accumulates the JOB information in a queue (not shown) according to the quality class obtained from the JOB information. When the packet transmission opportunity is obtained by the scheduling process, the QoS unit 7 supplies the transmission frame information to the frame generation unit 8.
- the frame generation unit 8 reads the corresponding packet from the packet buffer 3 via the buffer management unit 2, rewrites the MAC (Media Access Control) address, IP address, and the like of the header of this packet, and then sends it to the frame transmission unit 9. Output.
- the frame transmission unit 9 outputs the supplied packet to a transmission-side line interface (not shown).
- FIG. 2 is a block diagram showing their configuration.
- the search table 5 includes an effective management table 51, an entry search table 52, and an entry result table 53.
- the entry search table 52 has 2048 entry areas as an example, and search conditions are stored in these entry areas under the control of the control unit 20, respectively.
- the search conditions include, for example, a source IP address, a destination IP address, a source port number, a destination port number, a UDP (User Datagram Protocol), and a TCP used for packet filtering, network address port translation (NAPT) search, and route cache search. It is represented by a protocol such as (Transmission Control Protocol).
- a protocol such as (Transmission Control Protocol).
- search conditions in addition to these, an IP address / port number designated by a mask or prefix to be used for route search, an ICMP (Internet Control Message Protocol) code number, and presence / absence of fragment packet information are used. Also good. In short, any information can be applied as long as it is information for identifying a packet.
- the protocol name (tcp, udp) corresponding to the protocol number is shown for easy understanding, but the protocol number is actually stored. The same applies to the entry search table shown in the drawings described below.
- the valid management table 51 has 2048 valid bit areas corresponding to the entry areas of the entry search table 52. In these valid bit areas, valid / invalid bits (valid / invalid) indicating whether the search condition stored in the entry area of the entry search table 52 is valid or invalid under the control of the control unit 20, respectively. Flag) is stored.
- FIG. 2 illustrates a case where the valid bit is “1” and the invalid bit is “0”.
- the entry result table 53 is provided with 2048 pass / discard bit areas and a translation address area corresponding to each entry area of the entry search table 52.
- a pass / discard bit designating whether to pass or discard the packet is stored in the pass / discard bit area.
- the translation address area stores a translation address for translating the header address when the received packet is passed. Note that storage processing of the pass / discard bit and the translation address to the pass / discard bit area and the translation address area is also performed under the control of the control unit 20.
- the search unit 6 includes a search processing unit 61, a timer management unit 62, an update timer management unit 63, an update timer management table 64, a management timer register table 65, and a timeout management table 66.
- the search processing unit 61 selects the search condition corresponding to the effective bit area in which the effective bit “1” is set on the effective management table 51 and the received packet among the plurality of search conditions stored in the entry search table 52.
- the communication parameters are sequentially compared, and when a search condition matching the communication parameter is found, a process of reading out and outputting the pass / discard bit and the translation address corresponding to the search condition from the entry result table 53 is executed.
- the update timer management unit 63 uses the counter 642 provided in the update timer management table 64 to count the system clock, and every time the count value reaches the value stored in the timer value register 641 of the update timer management table 64. In addition, a decrement request is output to the timer management unit 62.
- the management timer register table 65 includes a management timer register 651 and a management timer threshold register 652.
- the management timer register 651 is provided with 2048 timer register areas corresponding to the entry areas of the entry search table 52, and the timer count values are stored in these timer register areas.
- the management timer threshold register 652 stores the maximum count value (timeout value) of the timer.
- the timer management unit 62 uses a timer to monitor whether the search condition stored in the entry search table 52 is in use, and has a function of performing the following processing. (1) When the valid bit “1” is set on the valid management table 51, the maximum count value of the management timer threshold register 652 is set in the timer register area corresponding to the search condition corresponding to the valid bit area. A process of decrementing the count value of the timer register area each time a decrement request is output from the update timer management unit 63.
- 3 to 5 are flowcharts showing the processing procedure and processing contents of the timer management unit 62.
- the timer management unit 62 monitors access to the search condition in which the valid bit “1” is set in the corresponding valid bit area in step S51, and in step S52, from the search processing unit 61.
- the output of valid search results is monitored. In this state, for example, it is assumed that “1” or “0” is written in the effective management table 51 with the start of communication, or an effective search result is notified from the search processing unit 61.
- the timer management unit 62 shifts the processing to step S53, determines whether or not the management timer register table 65 is accessible, and waits until the access becomes possible if the access is impossible. In this state, when the decrement processing of the timer value of the management timer register 651 is completed and the management timer register table 65 can be accessed, the timer management unit 62 shifts the processing to step S54, and the corresponding management timer register 651.
- the timer value set in the management timer register 651 described above is written as “1” or “0” in the effective management table 51 during the timer timing period described later, or an effective search from the search processing unit 61. This is also done when the result is notified. That is, each time “1” or “0” is written in the corresponding effective bit area of the effective management table 51, or a valid search result is notified from the search processing unit 61, the timer starts counting from the beginning. Try again.
- the update timer management unit 63 first resets the counter 642 as shown in FIG. 5, and then starts counting the system clock using the counter 642 in step S71, and the count value is stored in the timer value register 641. It is monitored in step S72 whether or not the value has been reached. When the count value of the counter 642 reaches the timer value “133000000” of the timer value register 641, the update timer management unit 63 outputs a decrement request to the timer management unit 62 in step S73. Thereafter, the processing from step S71 to step S73 is repeated. Accordingly, the update timer management unit 63 outputs a decrement request at a time interval determined by the timer value and the system clock cycle. For example, if the system clock is 133 MHz and the timer value is “133000000”, the update timer management unit 63 outputs a decrement request every second.
- the timer manager 62 executes a timer value decrement process, that is, a timer timing process as follows. That is, as shown in FIG. 4, the timer management unit 62 first initializes the entry number of the management timer register 651 to “0” in step S61, and then in step S62, the entry number is the maximum value “2047” +1. It is determined whether or not “2048” has been reached.
- the timer management unit 62 shifts the process to step S66, and it is still timed in the area of the corresponding entry timeout register 661 of the timeout management table 66. “0” is stored.
- the timer management unit 62 increments (+1) the entry number in step S68 and returns the processing to step S62. Then, the decrement process of the timer with the entry number “1” is executed in steps S62 to S66 and step S68. Thereafter, similarly, the timer management unit 62 repeats the decrement processing of the timer value corresponding to each entry number in steps S62 to S66 and step S68 until the entry number exceeds “2047” which is the maximum value in step S62. Execute. When the entry number exceeds “2047”, the timer management unit 62 ends the decrement process.
- the timer management unit 62 detects that the timer value has become “ ⁇ 1” in step S65, the timer management unit 62 regards this as a timeout, and sets the corresponding timer value in the management timer register 651 to “0” in step S67. Further, information “1” indicating that the timer has timed out is stored in the corresponding entry timeout register 661 in the timeout management table 66.
- the control unit 20 changes the valid bit area of the valid management table 51 based on the information stored in the entry timeout register 661 of the timeout management table 66, that is, information indicating whether the timer is timing or timed out. Execute the process. At the same time, the control unit 20 detects a free entry area from the entry search table 52 and executes a process of setting a search condition for new communication in this free entry area.
- timeout aggregation registers 672-0 and 672-1 the logical sum data output from the logical sum circuits 671-0 to 671-31 and the logical sum circuits 671-32 to 671-63 respectively belonging to the block. Is memorized.
- the block division of the logical sum circuit 671 the number of bits of logical sum data in each block is determined according to the architecture of the CPU of the control unit 20. For example, if the CPU is a 32-bit architecture, the logical sum circuit 671 is divided so that 32 pieces are one block.
- the control unit 20 writes a search condition necessary for new communication in the entry area detected as the empty entry area in the entry search table 52. At the same time, the control unit 20 writes the pass / discard information and the conversion address in an area corresponding to the entry area in the entry result table 53. Further, the control unit 20 writes the valid bit “1” in the valid bit area corresponding to the entry area in the valid management table 51.
- the number of the entry area corresponding to the timer that has timed out is managed using a first in first out (FIFO) memory. That is, as shown in FIG. 6B, the FIFO memory 68 is provided in the timeout management table 66 ′ of the search unit 6 ′. Alternatively, as shown in FIG. 6C, a FIFO memory 68 is provided in the search unit 6 ′′ independently of the timeout management table 66. The timer management unit 62 times out when the timer times out. The number (identification information) of the entry area corresponding to the timer is stored in the FIFO memory 68.
- FIFO first in first out
- a timer for monitoring the usage time is provided in the management timer register 651 corresponding to each entry area of the entry search table 52.
- every time “1” or “0” is written in the effective management table 51 or a valid search result is notified from the search processing unit 61, the timer counts. To start.
- information indicating that the time-out has occurred is stored in the corresponding register area of the time-out management table 66.
- FIG. 7A shows a configuration example of an entry search table corresponding to bidirectional search.
- a packet is transferred between two interfaces, and each interface is described as interface 0 / interface 1.
- the entry search table and the like will be described using the symbols shown in FIG.
- the search processing unit 61 uses the destination IP address / source IP address / destination port number included in the header of the received packet.
- the transmission source port number / protocol number is compared with the IP address 3 / IP address 2 / port number 3 / port number 2 / protocol number stored in the entry search table 52 as a search condition.
- the QoS unit 7 determines processing for the received packet in accordance with the pass / discard information stored in the entry result table 53 in association with the search condition that matches the communication parameter.
- IP address 1 / port number 1 is used as the source IP address / source port number after NAPT conversion. In this way, the entry area of the entry search table 52 can be further reduced, and the memory capacity can be reduced.
- the sub-comparing unit 6121 matches the destination IPv6 address / destination port number / protocol number of the received packet with the even-numbered search condition, and the sub-comparing unit 6122 sends the source IPv6 address of the received packet.
- the determination circuit 6123 determines that the communication parameter of the received packet matches the search condition.
- the received packet received by the frame reception unit 1 is sent to the frame generation unit 8 via the parser 4 and the search unit 6.
- the frame generation unit 8 discards the received packet.
- the frame generation unit 8 performs processing such as generating a packet in which the MAC address and IP address of the header of the received packet are rewritten.
- the frame generation unit 8 stores the generated packet in the packet buffer 3 via the buffer management unit 2 and outputs transmission frame information to the QoS unit 7.
- each part which comprises the packet transfer processing apparatus mentioned above is comprised with the computer system provided with memory, CPU, etc. besides the form implement
- These functions may be realized by loading and executing the above.
- the program may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read into a computer system and executed.
- the computer system mentioned here includes hardware such as an operating system and peripheral devices.
- the computer-readable recording medium is a portable medium such as a flexible disk, a magneto-optical disk, a ROM (Read Only Memory), a CD (Compact Disk) -ROM, or a storage device such as a hard disk built in the computer system.
- the program may be a program for realizing a part of the functions described above.
- the program may be a program that can realize the above-described function in combination with a program already recorded in a computer system, a so-called differential program.
- the types and configurations of the tables provided in the search table, the processing procedures and processing contents of the search unit and timer management unit, and the like can be variously modified and implemented without departing from the scope of the present invention.
- the present invention is not limited to the above-described embodiments as they are, and can be embodied by modifying the components without departing from the scope of the invention in the implementation stage.
- Various modifications can be made by appropriately combining a plurality of constituent elements disclosed in the above embodiments. For example, some components may be deleted from all the components shown in each embodiment. Furthermore, you may combine suitably the component covering different embodiment.
- the present invention can be used in, for example, a router used in an IP network. According to the present invention, the end of the communication period can be detected reliably and efficiently. Therefore, it is possible to effectively manage the validity / invalidity of the search rule in the search table, and to use the limited entry area of the search table more effectively.
- Timer value register 642.
- management timer register table 651 ... management timer register, 652 ... management timer threshold register, 66, 66 '... timeout management table, 661 ... Entry timeout register, 67 ... Aggregate register, 671-0, 671-1,671-31, 671-32, 671-63 ... OR circuit, 672-0,672-1 ... Timeout aggregation register, 68 ... FIFO memory.
Abstract
Description
本願は、2010年2月4日に日本へ出願された特願2010-023251号に対して優先権を主張し、その内容をここに援用する。
すなわち、通常はパケットを廃棄し必要なパケットのみ通過させる場合の検索ルールは、常に有効である必要は無く通信の開始から終了まで有効であればよい。そこで、検索テーブルに記憶された各検索ルールに対しそれぞれ各検索ルールの有効/無効を示す有効フラグを用意する。そして、通信開始時にCPU(Central Processing Unit)が検索テーブルに検索ルールを設定したときに、対応する有効フラグを“1”に設定して当該検索ルールを有効とする。一方、通信が終了すると上記有効フラグを“0”にリセットし、以後この検索ルールが使用されないようにして次の検索ルールの追加に備える。この状態で、新たに通信を開始する場合には、“0”に設定されている有効フラグに対応する検索ルール、つまり有効でないエントリを検索し、この使われていない検索ルールの代わりに新たな検索ルールを検索テーブルに設定する。このようにすると、検索テーブルのエントリの内容が動的に変更されることになり、少ないメモリ領域でより多くのパケットの検索が可能となる。
第1の態様では、前記タイムアウト管理テーブルは、前記検索テーブルの各エントリ領域に対応付けて設けられた複数のビット領域を有し、前記タイマが計時動作中であるかタイムアウトしたかを表すビットデータを、前記複数のビット領域のうち、前記タイマに対応するビット領域に記憶するタイムアウトレジスタと、前記タイムアウトレジスタの前記複数のビット領域を分割した複数のグループに対応付けて設けられ、各グループに含まれる複数のビット領域に記憶されたビットデータの論理和データを出力する複数の論理和回路と、前記複数の論理和回路を、前記制御部のプロセッサが同時に処理可能なビット数ずつ分割した複数のブロックに対応付けて設けられ、各ブロックに含まれる論理和回路から出力される論理和データを記憶する複数の集約レジスタとを備え、前記制御部は、前記空きのエントリ領域を検出する際に、前記集約レジスタに記憶された前記論理和データをもとに前記タイマがタイムアウトしたことを示すビットを含むブロックを選択し、前記選択されたブロック内における前記タイマがタイムアウトしたことを示すビットの位置から前記タイマがタイムアウトしたことを示すビットの位置を含むグループを選択し、前記選択されたグループに属する前記タイムアウトレジスタのビット領域からビットデータを読み出し、読み出した前記ビットデータをもとにタイムアウトした前記タイマに対応するエントリ領域を検出する。
さらに、この発明のさらに別の観点は、かかるパケット転送処理方法をコンピュータに実行させるためのパケット転送処理プログラムである。
(第1の実施形態)
図1は、この発明の第1の実施形態に係わるパケット転送処理装置の構成を示すブロック図である。このパケット転送処理装置は、パケット転送部10と、このパケット転送部10に対しバス30を介して接続される中央処理ユニット(CPU;Central Processing Unit)を備えた制御部20とを備えている。
先ず検索テーブル5は、有効管理テーブル51と、エントリ検索テーブル52と、エントリ結果テーブル53とを備えている。エントリ検索テーブル52は、一例として2048個のエントリ領域を有し、これらのエントリ領域にそれぞれ制御部20の制御の下で検索条件が記憶される。
なお、図2に示したエントリ検索テーブルでは、理解を容易にするために、プロトコル番号に対応したプロトコルの名称(tcp,udp)を示してあるが、実際にはプロトコル番号が格納される。このことは、これ以降に説明する図中に示されたエントリ検索テーブルについても同様である。
検索処理部61は、上記エントリ検索テーブル52に記憶されている複数の検索条件のうち、有効管理テーブル51上で有効ビット“1”が設定された有効ビット領域に対応する検索条件と受信パケットの通信パラメータとを順次比較し、通信パラメータと一致する検索条件が見つかると、当該検索条件に対応する通過/廃棄ビット及び変換アドレスをエントリ結果テーブル53から読み出して出力する処理を、実行する。
(1) 有効管理テーブル51上で有効ビット“1”が設定されたとき、有効ビット領域に対応した検索条件に対応するタイマレジスタ領域に、管理タイマ閾値レジスタ652の最大カウント値をセットし、上記更新タイマ管理部63からデクリメント要求が出力されるごとに上記タイマレジスタ領域のカウント値をデクリメントする処理。
タイマ管理部62は、図3に示すようにステップS51において、対応する有効ビット領域に有効ビット“1”が設定されている検索条件に対するアクセスを監視すると共に、ステップS52において検索処理部61からの有効な検索結果の出力を監視している。この状態で、例えば通信開始に伴い有効管理テーブル51に“1”又は“0”が書き込まれるか、或いは検索処理部61から有効な検索結果が通知されたとする。
第1の構成及び方法は、タイムアウト管理テーブル66に集計レジスタを設け、制御部20がこの集計レジスタの出力をもとに空きエントリ領域を特定するものである。図6Aは、この場合における集計レジスタ67の構成をエントリタイムアウトレジスタ661とともに示す回路図である。
すなわち、図6Bに示したように、検索部6′のタイムアウト管理テーブル66′内にFIFOメモリ68が設けられる。あるいは、図6Cに示したように、タイムアウト管理テーブル66とは独立して検索部6"内にFIFOメモリ68が設けられる。そして、タイマ管理部62は、タイマがタイムアウトしたときに、このタイムアウトしたタイマに対応するエントリ領域の番号(識別情報)を上記FIFOメモリ68に記憶させる。
次に、この発明の第2の実施形態として、エントリ検索テーブルのメモリ容量を削減するための実施形態を説明する。
第2の実施形態は、NAPT(Network Address Port translation)やパケットフィルタリングを行う場合のエントリ検索テーブルに対する検索処理を、双方向検索により行うようにしたものである。
NAPTの場合には、IPアドレス2/IPアドレス3,ポート番号2/ポート番号3が、NAPT変換後の宛先IPアドレス/送信元IPアドレス/宛先ポート番号/送信元ポート番号として使われる。
このようにエントリ検索テーブル52のエントリ領域に記憶された検索条件に対し双方向に検索することで、エントリ検索テーブル52のエントリ領域を減らす。これにより、エントリ検索テーブル52のメモリ容量を削減することができる。
インタフェース0で受信されたパケットのヘッダに含まれる通信パラメータと一致する検索条件をエントリ検索テーブル52から検索する場合、検索処理部61は、受信されたパケットのヘッダに含まれる宛先IPアドレス/送信元IPアドレス/宛先ポート番号/送信元ポート番号/プロトコル番号を、エントリ検索テーブル52に検索条件として記憶されたIPアドレス1/IPアドレス0/ポート番号1/ポート番号0/プロトコル番号と比較する。
この場合も、先に述べた図7Aの場合と同様に、QoS部7は、通信パラメータと一致した検索条件に対応付けてエントリ結果テーブル53に記憶されている通過/廃棄情報に従い、当該受信パケットの動作を決定する。
NAPTの場合には、IPアドレス2/ポート番号2がNAPT変換後の宛先IPアドレス/宛先ポート番号として使われる。
このようにすることで、エントリ検索テーブル52のエントリ領域をさらに減らして、メモリ容量を削減することができる。
例えば、受信されたパケットのヘッダに通信パラメータとして挿入された宛先IPアドレス/送信元IPアドレス/宛先ポート番号/送信元ポート番号/プロトコル番号を、検索条件A(エントリ検索テーブル52のIPアドレス0/IPアドレス1/ポート番号0/ポート番号1/プロトコル番号)、及び検索条件B(エントリ検索テーブル52のIPアドレス3/IPアドレス2/ポート番号3/ポート番号2/プロトコル番号)とそれぞれ比較する。
これらはいずれも、通信パラメータと検索条件の比較を行う比較部の回路規模を増大させる。しかし、検索ルール数(エントリ検索テーブル52の総エントリ数)を1/2にすることが可能になるので、必要とされる検索条件の数が多い場合に特に有効である。
一方、IPv6の場合は、指定すべきアドレス長が非常に長い。この場合には、2個のエントリ領域を使うことによって、エントリ検索テーブル52のメモリ容量を削減することができる。
例えば、図8の下側に示すようにIPv6用のエントリ検索テーブルを構成する。すなわち、二つのエントリ領域に含まれるIPアドレス0/IPアドレス1/IPアドレス2/ポート番号0/ポート番号1の領域を使って、送信元IPv6アドレスおよび宛先IPv6アドレスを設定する。また、二つのエントリ領域に含まれるポート番号2の領域を使って、送信元ポート番号および宛先ポート番号を設定する。さらに、二つのエントリ領域に含まれるプロトコル番号の領域を使って、プロトコル番号を設定する。これにより、IPv6パケットの送信元IPv6アドレス/宛先IPv6アドレス/送信元ポート番号/宛先ポート番号/プロトコル番号を設定することが可能となる。
このように構成することで、IPv6パケットとIPv4パケットが混在する場合でも、エントリ検索テーブル52のメモリ容量の最適化が図れる。
なお、この発明は上記実施形態に限定されるものではない。例えば、パケット転送部10の構成として、図10にパケット転送部10′として示すように、検索部6から出力された検索結果をフレーム生成部8に供給し、このフレーム生成部8から出力された送出フレーム情報をQoS部7に供給するものであってもよい。
要するにこの発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の変形を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
Claims (13)
- 複数のパケット検索条件を記憶する複数のエントリ領域を有する検索テーブルと、
パケットが受信されるごとに、前記受信したパケットの通信パラメータを前記検索テーブルに記憶された前記複数のパケット検索条件とそれぞれ比較し、前記通信パラメータに一致するパケット検索条件に対応した検索結果を出力する検索処理部と、
前記検索結果に基づいて前記受信したパケットの転送又は廃棄処理を行う転送処理部と、
前記検索テーブルに記憶された前記複数のパケット検索条件の各々に対応付けて、前記パケット検索条件が有効であるか無効であるかを設定する情報を記憶する有効管理テーブルと、
前記複数のエントリ領域の各々に対応したタイマと、
有効に設定された前記有効管理テーブル上の情報に対応するパケット検索条件と通信パラメータが一致するパケットが受信されるごと、または、前記有効管理テーブルに前記情報が書き込まれるごとに、前記タイマにより計時動作を開始するタイマ管理部と、
前記タイマごとに、前記タイマが計時動作中であるかタイムアウトしたかを表す情報を記憶するタイムアウト管理テーブルと、
前記タイマの計時時間が予め設定したタイムアウト時間を超えたとき、前記タイマがタイムアウトしたことを表す情報を前記タイムアウト管理テーブルに記憶させると共に、前記有効管理テーブルに記憶された前記情報のうち、タイムアウトした前記タイマに対応する情報を有効から無効に変更する有効無効管理部と、
通信開始時に、前記タイムアウト管理テーブルに記憶された前記情報をもとに前記検索テーブル中の空きのエントリ領域を検出し、前記検出された空きのエントリ領域に前記通信に必要なパケット検索条件を記憶させる制御部と
を具備するパケット転送処理装置。 - 前記タイムアウト管理テーブルは、
前記検索テーブルの各エントリ領域に対応付けて設けられた複数のビット領域を有し、前記タイマが計時動作中であるかタイムアウトしたかを表すビットデータを、前記複数のビット領域のうち、前記タイマに対応するビット領域に記憶するタイムアウトレジスタと、
前記タイムアウトレジスタの前記複数のビット領域を分割した複数のグループに対応付けて設けられ、各グループに含まれる複数のビット領域に記憶されたビットデータの論理和データを出力する複数の論理和回路と、
前記複数の論理和回路を、前記制御部のプロセッサが同時に処理可能なビット数ずつ分割した複数のブロックに対応付けて設けられ、各ブロックに含まれる論理和回路から出力される論理和データを記憶する複数の集約レジスタと
を備え、
前記制御部は、前記空きのエントリ領域を検出する際に、前記集約レジスタに記憶された前記論理和データをもとに前記タイマがタイムアウトしたことを示すビットを含むブロックを選択し、前記選択されたブロック内における前記タイマがタイムアウトしたことを示すビットの位置から前記タイマがタイムアウトしたことを示すビットの位置を含むグループを選択し、前記選択されたグループに属する前記タイムアウトレジスタのビット領域からビットデータを読み出し、読み出した前記ビットデータをもとにタイムアウトした前記タイマに対応するエントリ領域を検出する
請求項1記載のパケット転送処理装置。 - 前記タイマがタイムアウトしたときに、タイムアウトした前記タイマに対応する前記検索テーブルのエントリ領域の識別情報を順次記憶するメモリを備え、
前記制御部は、前記空きのエントリ領域を検出する際に、前記メモリから記憶順序の早い順に前記エントリ領域の識別情報を読み出し、読み出した前記識別情報により表されるエントリ領域を前記空きのエントリ領域とする
請求項1記載のパケット転送処理装置。 - パケットが第1のインタフェースと第2のインタフェースとの間で転送され、
前記検索テーブルに記憶される各パケット検索条件は、第1の検索条件,第2の検索条件および第3の検索条件を含み、
前記検索処理部は、
前記受信したパケットが前記第1のインタフェースで受信された第1のパケットである場合、前記第1のパケットの通信パラメータと前記第1の検索条件および前記第3の検索条件の組とを比較し、前記第1のパケットの前記通信パラメータが前記第1の検索条件および前記第3の検索条件の組に一致すれば前記検索結果を出力し、
前記受信したパケットが前記第2のインタフェースで受信された第2のパケットである場合、前記第2のパケットの通信パラメータと前記第2の検索条件および前記第3の検索条件の組とを比較し、前記第2のパケットの前記通信パラメータが前記第2の検索条件および前記第3の検索条件の組に一致すれば前記検索結果を出力する
請求項1~3のいずれか1項に記載のパケット転送処理装置。 - 前記検索処理部は、前記受信したパケットが前記第1のパケットである場合、前記第1のパケットに対するネットワークアドレスポート変換による変換後の通信パラメータとして前記第2の検索条件を出力し、前記受信したパケットが前記第2のパケットである場合、前記第2のパケットに対するネットワークアドレスポート変換による変換後の通信パラメータとして前記第1の検索条件を出力する
請求項4記載のパケット転送処理装置。 - パケットが第1のインタフェースと第2のインタフェースとの間で転送され、
前記検索テーブルに記憶される各パケット検索条件は、第1の検索条件,第2の検索条件および第3の検索条件を含み、
前記検索処理部は、前記受信したパケットが前記第1のインタフェースで受信されたか前記第2のインタフェースで受信されたかによらず、前記受信したパケットの通信パラメータと前記第1の検索条件および前記第3の検索条件の組とを比較するとともに、前記受信したパケットの前記通信パラメータと前記第2の検索条件および前記第3の検索条件の組とを比較し、前記通信パラメータが、前記第1の検索条件および前記第3の検索条件の組に一致するか、または、前記通信パラメータが前記第2の検索条件および前記第3の検索条件の組に一致すれば、前記検索結果を出力する
請求項1~3のいずれか1項に記載のパケット転送処理装置。 - 前記検索処理部は、前記受信したパケットの通信パラメータが前記第1の検索条件および前記第3の検索条件の組に一致すれば、前記受信したパケットに対するネットワークアドレスポート変換による変換後の通信パラメータとして前記第2の検索条件を出力し、前記通信パラメータが前記第2の検索条件および前記第3の検索条件の組に一致すれば、前記変換後の通信パラメータとして前記第1の検索条件を出力する
請求項6記載のパケット転送処理装置。 - 前記検索テーブルには、IPv4用のパケット検索条件の各々が1個のエントリ領域上に記憶され、IPv6用のパケット検索条件の各々が2個のエントリ領域上に記憶され、
前記IPv6用のパケット検索条件は、IPv6のパケットの通信パラメータが有する第1のパラメータ,第2のパラメータおよび第3のパラメータにそれぞれ対応した第1の検索条件,第2の検索条件および第3の検索条件を有し、前記2個のエントリ領域のうち、偶数番目のエントリ領域に前記第1の検索条件および前記第3の検索条件が記憶され、奇数番目のエントリ領域に前記第2の検索条件および前記第3の検索条件が記憶され、
前記検索処理部は、前記受信したパケットがIPv4のパケットか前記IPv6のパケットかに応じて、前記IPv4用のパケット検索条件の各々または前記IPv6用のパケット検索条件の各々と前記受信したパケットの前記通信パラメータとを比較する
請求項1~7のいずれか1項に記載のパケット転送処理装置。 - 前記検索処理部は、
前記受信したパケットの前記通信パラメータと前記偶数番目のエントリ領域のパケット検索条件とを比較して第1の比較結果を出力する第1の比較部と、
前記通信パラメータと前記奇数番目のエントリ領域のパケット検索条件とを比較して第2の比較結果を出力する第2の比較部と、
前記第1の比較結果および前記第2の比較結果に基づいて、前記通信パラメータに一致するパケット検索条件が検索されたかどうか判定する判定部と
を備え、
前記受信したパケットが前記IPv4のパケットである場合、
前記判定部は、前記第1の比較結果および前記第2の比較結果の少なくとも一つが一致を示していれば、前記通信パラメータに一致するパケット検索条件が検索されたと判定し、
前記受信したパケットが前記IPv6のパケットである場合、
前記第1の比較部は、前記偶数番目のエントリ領域のパケット検索条件と前記第1のパラメータおよび前記第3のパラメータの組とを比較するとともに、前記偶数番目のエントリ領域のパケット検索条件と前記第2のパラメータおよび前記第3のパラメータの組とを比較し、
前記第2の比較部は、前記奇数番目のエントリ領域のパケット検索条件と前記第1のパラメータおよび前記第3のパラメータの組とを比較するとともに、前記奇数番目のエントリ領域のパケット検索条件と前記第2のパラメータおよび前記第3のパラメータの組とを比較し、
前記判定部は、前記偶数番目のエントリ領域のパケット検索条件が前記第1のパラメータおよび前記第3のパラメータの組に一致し、かつ、前記奇数番目のエントリ領域のパケット検索条件が前記第2のパラメータおよび前記第3のパラメータの組に一致するか、または、前記奇数番目のエントリ領域のパケット検索条件が前記第1のパラメータおよび前記第3のパラメータの組に一致し、かつ、前記偶数番目のエントリ領域のパケット検索条件が前記第2のパラメータおよび前記第3のパラメータの組に一致すれば、前記通信パラメータに一致するパケット検索条件が検索されたと判定する
請求項8記載のパケット転送処理装置。 - 複数のパケット検索条件を検索テーブルの複数のエントリ領域に記憶する検索テーブル記憶過程と、
パケットが受信されるごとに、前記受信したパケットの通信パラメータを前記検索テーブルに記憶された前記複数のパケット検索条件とそれぞれ比較し、前記通信パラメータに一致するパケット検索条件に対応した検索結果を出力する検索処理過程と、
前記検索結果に基づいて前記受信したパケットの転送又は廃棄処理を行う転送処理過程と、
前記検索テーブルに記憶された前記複数のパケット検索条件の各々に対応付けて、前記パケット検索条件が有効であるか無効であるかを設定する情報を有効管理テーブルに記憶する有効管理テーブル記憶過程と
前記複数のエントリ領域の各々について、有効に設定された前記有効管理テーブル上の情報に対応するパケット検索条件と通信パラメータが一致するパケットが受信されるごと、または、前記有効管理テーブルに前記情報が書き込まれるごとに、対応するタイマにより計時動作を開始する計時過程と、
前記タイマが計時動作中のとき計時中であることを表す情報をタイムアウト管理テーブルに記憶させ、前記タイマの計時時間が予め設定したタイムアウト時間を超えたとき、前記タイマがタイムアウトしたことを表す情報を前記タイムアウト管理テーブルに記憶させるタイムアウト管理テーブル記憶過程と、
前記タイマの前記計時時間が前記タイムアウト時間を超えたとき、前記有効管理テーブルに記憶された前記情報のうち、タイムアウトした前記タイマに対応する情報を有効から無効に変更する有効管理テーブル変更過程と、
通信開始時に、前記タイムアウト管理テーブルに記憶された前記情報をもとに前記検索テーブル中の空きのエントリ領域を検出し、前記検出された空きのエントリ領域に前記通信に必要なパケット検索条件を記憶させる検索条件記憶過程と
を具備するパケット転送処理方法。 - 前記タイムアウト管理テーブル記憶過程は、
前記タイマが計時動作中であるかタイムアウトしたかを表すビットデータを、前記検索テーブルの各エントリ領域に対応付けて設けられたタイムアウトレジスタの複数のビット領域のうち、前記タイマに対応するビット領域に記憶させるタイムアウトレジスタ記憶過程と、
前記タイムアウトレジスタの前記複数のビット領域を複数のグループに分割し、グループごとに各グループに含まれる複数のビット領域に記憶されたビットデータの論理和データを求める論理和データ算出過程と、
求められた複数の論理和データを、プロセッサが同時に処理可能なビット数ずつ複数のブロックに分割し、ブロックごとに各ブロックに含まれる論理和データを集約レジスタに集約して記憶させる集約過程と
を備え、
前記検索条件記憶過程は、
前記空きのエントリ領域を検出する際に、前記集約レジスタに記憶された前記論理和データをもとに前記タイマがタイムアウトしたことを示すビットを含むブロックを選択するブロック選択過程と、
前記選択されたブロック内における前記タイマがタイムアウトしたことを示すビットの位置から前記タイマがタイムアウトしたことを示すビットの位置を含むグループを選択するグループ選択過程と、
前記選択されたグループに属する前記タイムアウトレジスタのビット領域からビットデータを読み出し、読み出した前記ビットデータをもとにタイムアウトした前記タイマに対応するエントリ領域を検出するエントリ領域検出過程と
を備える
請求項10記載のパケット転送処理方法。 - 前記タイマがタイムアウトしたときに、タイムアウトした前記タイマに対応する前記検索テーブルのエントリ領域の識別情報をメモリに順次記憶させる識別情報記憶過程を備え、
前記検索条件記憶過程は、前記空きのエントリ領域を検出する際に、前記メモリから記憶順序の早い順に前記エントリ領域の識別情報を読み出し、読み出した前記識別情報により表されるエントリ領域を前記空きのエントリ領域とする
請求項10記載のパケット転送処理方法。 - 請求項10~12のいずれか1項に記載のパケット転送処理方法をコンピュータに実行させるパケット転送処理プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011552665A JP5389193B2 (ja) | 2010-02-04 | 2010-12-01 | パケット転送処理装置、方法及びプログラム |
US13/575,062 US8902756B2 (en) | 2010-02-04 | 2010-12-01 | Packet transfer processing device, packet transfer processing method, and packet transfer processing program |
CN201080062742.7A CN102812675B (zh) | 2010-02-04 | 2010-12-01 | 分组转送处理装置、方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010023251 | 2010-02-04 | ||
JP2010-023251 | 2010-02-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011096127A1 true WO2011096127A1 (ja) | 2011-08-11 |
Family
ID=44355149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/071460 WO2011096127A1 (ja) | 2010-02-04 | 2010-12-01 | パケット転送処理装置、方法及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8902756B2 (ja) |
JP (1) | JP5389193B2 (ja) |
CN (1) | CN102812675B (ja) |
WO (1) | WO2011096127A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4861539B1 (ja) * | 2010-06-02 | 2012-01-25 | パナソニック株式会社 | 通信制御装置およびパケットフィルタリング方法 |
JP2013161122A (ja) * | 2012-02-01 | 2013-08-19 | Canon Inc | データ処理装置、情報処理方法、及びプログラム |
KR20190002712A (ko) | 2016-06-23 | 2019-01-08 | 미쓰비시덴키 가부시키가이샤 | 침입 검지 장치 및 기억 매체에 저장된 침입 검지 프로그램 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006085374A1 (ja) * | 2005-02-10 | 2006-08-17 | Fujitsu Limited | 通信装置 |
JP2007166514A (ja) * | 2005-12-16 | 2007-06-28 | Nippon Telegr & Teleph Corp <Ntt> | 通信処理装置及び通信処理方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI246285B (en) * | 2002-02-08 | 2005-12-21 | Matsushita Electric Ind Co Ltd | Gateway apparatus and its controlling method |
JP3936883B2 (ja) * | 2002-04-08 | 2007-06-27 | 株式会社日立製作所 | フロー検出装置およびフロー検出機能を備えたパケット転送装置 |
US20040167897A1 (en) * | 2003-02-25 | 2004-08-26 | International Business Machines Corporation | Data mining accelerator for efficient data searching |
US7792133B2 (en) * | 2003-05-29 | 2010-09-07 | Nec Corporation | Packet relay device and packet method, and program |
JP4341413B2 (ja) * | 2003-07-11 | 2009-10-07 | 株式会社日立製作所 | 統計収集装置を備えたパケット転送装置および統計収集方法 |
JP4365672B2 (ja) * | 2003-12-04 | 2009-11-18 | 株式会社日立製作所 | パケット通信ノード装置 |
CN100568851C (zh) | 2005-12-31 | 2009-12-09 | 北京航空航天大学 | 一种防火墙分组过滤的方法 |
JP4137948B2 (ja) * | 2006-02-14 | 2008-08-20 | 日本電信電話株式会社 | パケット通過制御装置及びパケット通過制御方法 |
JP4881829B2 (ja) * | 2007-10-03 | 2012-02-22 | 株式会社日立製作所 | パケット転送システム |
JP4663761B2 (ja) * | 2008-06-20 | 2011-04-06 | アラクサラネットワークス株式会社 | パケット中継装置 |
JP2010211388A (ja) * | 2009-03-09 | 2010-09-24 | Canon Inc | 検索装置及び検索方法 |
US8514714B2 (en) * | 2009-10-06 | 2013-08-20 | Electronics And Telecommunications Research Institute | Device and method for providing forwarding information and QOS information in flow based network environment |
-
2010
- 2010-12-01 WO PCT/JP2010/071460 patent/WO2011096127A1/ja active Application Filing
- 2010-12-01 US US13/575,062 patent/US8902756B2/en active Active
- 2010-12-01 CN CN201080062742.7A patent/CN102812675B/zh not_active Expired - Fee Related
- 2010-12-01 JP JP2011552665A patent/JP5389193B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006085374A1 (ja) * | 2005-02-10 | 2006-08-17 | Fujitsu Limited | 通信装置 |
JP2007166514A (ja) * | 2005-12-16 | 2007-06-28 | Nippon Telegr & Teleph Corp <Ntt> | 通信処理装置及び通信処理方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4861539B1 (ja) * | 2010-06-02 | 2012-01-25 | パナソニック株式会社 | 通信制御装置およびパケットフィルタリング方法 |
JP2013161122A (ja) * | 2012-02-01 | 2013-08-19 | Canon Inc | データ処理装置、情報処理方法、及びプログラム |
US9952653B2 (en) | 2012-02-01 | 2018-04-24 | Canon Kabushiki Kaisha | Data processing apparatus, information processing method, and storage medium |
KR20190002712A (ko) | 2016-06-23 | 2019-01-08 | 미쓰비시덴키 가부시키가이샤 | 침입 검지 장치 및 기억 매체에 저장된 침입 검지 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
CN102812675B (zh) | 2015-05-13 |
JP5389193B2 (ja) | 2014-01-15 |
JPWO2011096127A1 (ja) | 2013-06-10 |
US8902756B2 (en) | 2014-12-02 |
US20120294311A1 (en) | 2012-11-22 |
CN102812675A (zh) | 2012-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7787442B2 (en) | Communication statistic information collection apparatus | |
US9727508B2 (en) | Address learning and aging for network bridging in a network processor | |
TWI406133B (zh) | 資料處理設備及資料傳送方法 | |
EP1570361B1 (en) | Method and apparatus for performing network processing functions | |
US7924868B1 (en) | Internet protocol (IP) router residing in a processor chipset | |
US9596182B2 (en) | Controlling non-congestion controlled flows | |
US10778721B1 (en) | Hash-based ACL lookup offload | |
US8094670B1 (en) | Method and apparatus for performing network processing functions | |
US9356844B2 (en) | Efficient application recognition in network traffic | |
US10708272B1 (en) | Optimized hash-based ACL lookup offload | |
Shi et al. | NDN-DPDK: NDN forwarding at 100 Gbps on commodity hardware | |
KR20080083828A (ko) | 상태기반 패킷필터링 장치 및 그 장치에서의 테이블 관리방법 | |
US7188250B1 (en) | Method and apparatus for performing network processing functions | |
JP2017143344A (ja) | パケット伝送装置,制御装置,及びパケット伝送制御方法 | |
JP5389193B2 (ja) | パケット転送処理装置、方法及びプログラム | |
Raumer et al. | Performance exploration of software-based packet processing systems | |
JP4263718B2 (ja) | 通信処理装置及び通信処理方法 | |
US9716673B2 (en) | Packet storage method and packet storage apparatus | |
KR100864889B1 (ko) | Tcp 상태 기반 패킷 필터 장치 및 그 방법 | |
JP2008085886A (ja) | パケット処理装置、パケット処理方法及びパケット処理プログラム | |
JP4340646B2 (ja) | 通信処理回路、通信処理方法 | |
JP5036752B2 (ja) | インタネットワーク装置、及び、ローカルアドレス及び各ローカルアドレスと共に用いられるローカルアドレス内通信ポート番号と、グローバルアドレス及び各グローバルアドレスと共に用いられるグローバルアドレス内通信ポート番号とを相互に変換する方法 | |
JP5581995B2 (ja) | メッセージ受信装置およびマイクロコントローラ | |
JP4350713B2 (ja) | データ転送装置およびデータ転送方法 | |
JP2006174233A (ja) | パケット処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080062742.7 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10845258 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011552665 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13575062 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10845258 Country of ref document: EP Kind code of ref document: A1 |