WO2009157138A1 - Communication protocol processing method and communication terminal - Google Patents

Communication protocol processing method and communication terminal Download PDF

Info

Publication number
WO2009157138A1
WO2009157138A1 PCT/JP2009/002454 JP2009002454W WO2009157138A1 WO 2009157138 A1 WO2009157138 A1 WO 2009157138A1 JP 2009002454 W JP2009002454 W JP 2009002454W WO 2009157138 A1 WO2009157138 A1 WO 2009157138A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
received packet
network address
associative memory
memory
Prior art date
Application number
PCT/JP2009/002454
Other languages
French (fr)
Japanese (ja)
Inventor
平重喜
横井伸浩
江端智一
中野隆裕
森拓郎
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to JP2010517687A priority Critical patent/JP5038496B2/en
Publication of WO2009157138A1 publication Critical patent/WO2009157138A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping

Definitions

  • the present invention relates to a communication protocol processing method and a communication protocol processing circuit for a communication terminal, which can efficiently process a communication protocol, and a technique effective when applied to a communication terminal.
  • a process that links received packets to communication information held in the communication terminal that is, a long processing time is generally required.
  • a typical method for forming a communication information table in a RAM (Random Access Memory), which is a general memory, and searching for a registration corresponding to a received packet from the table linear search or a table ordering tree And table hashing. If the number of registered tables is N, these methods asymptotically require processing times proportional to N, log N, and 1 to N, respectively.
  • an increase in processing time exceeding the linearity with respect to an increase in the number of communication partners means consumption of electric energy exceeding the linearity, so that improvement is also desired from the viewpoint of energy efficiency.
  • An object of the present invention is to provide a technique for speeding up a process of searching for a registration corresponding to a received packet from communication information when a communication terminal communicates with many other parties.
  • the processor sets a network address and a communication service number of the terminal itself and a communication partner in the associative memory, and the processor
  • the associative memory is provided with a step of performing a data search by giving the destination extracted from the received packet, the network address of the transmission source, and the communication service number. Further, the processor determines a memory area corresponding to the received packet from the data search result, stores the reception target data extracted from the received packet in the corresponding memory area, and the processor And a step of determining a process corresponding to the received packet to achieve a high speed search process.
  • a communication protocol processing method is a communication protocol processing in a communication terminal (10) having an associative memory (16) and a processor (11) capable of accessing the associative memory. It is said to be a method.
  • the processor sets the network address and communication service number of the terminal itself and the communication partner in the associative memory (S17 to S19), and the processor receives the associative memory from the associative memory.
  • a step (802 to 807) for performing a data search by giving a destination extracted from the packet, a network address of the transmission source, and a communication service number.
  • the processor determines a memory area corresponding to the received packet from the result obtained by the data search, and stores the reception target data extracted from the received packet in the corresponding memory area (809). And a step in which the processor determines a process corresponding to the received packet (S808 to S810).
  • the processor sets the network address and communication service number of the terminal itself and the communication partner in the associative memory, and the processor transmits the destination extracted from the received packet and the transmission to the associative memory.
  • a data search is performed by giving an original network address and a communication service number, and further, the processor determines a memory area corresponding to the received packet from the result obtained by the data search and extracts it from the received packet.
  • the reception target data is stored in the corresponding memory area. This achieves a high-speed processing for searching for registration corresponding to the received packet from the communication information when the communication terminal communicates with many other parties.
  • the processor is connected to the network address of the terminal itself and the communication partner. And a network data registration number and a communication service number are set in the associative memory, and the processor provides the associative memory with the destination and source network address extracted from the received packet, and the first data Performing a search. Further, the processor determines a registration number of the extracted destination and the network address of the transmission source from the result obtained in the first data search, and the determined destination and the transmission source for the associative memory.
  • a second data search by providing a registration number of the network address, a destination extracted from the received packet, and a communication service number of the transmission source, and a result obtained by the processor in the second data search Determining a memory area corresponding to the received packet, and storing data to be received extracted from the received packet in the corresponding memory area.
  • the processor includes a step of determining a process corresponding to the received packet.
  • the processor is connected to the network address of the terminal itself and the communication partner. And setting the communication service number in the associative memory, and the processor performing a data search by providing the address, the network address of the transmission source extracted from the received packet, and the communication service number to the associative memory.
  • the processor further includes a step of determining a process corresponding to the received packet.
  • a communication terminal is configured including the associative memory (16) and a communication protocol processing circuit (91) that performs communication protocol processing with reference to information in the associative memory
  • the communication protocol processing circuit A setting unit (91A) capable of setting the network address and communication service number of the communication terminal itself and the communication partner in the associative memory, the destination extracted from the received packet, the network address of the transmission source, and the communication service for the associative memory
  • a search unit (91E) for searching for a number and a result obtained by the data search determine a memory area corresponding to the received packet, and the reception target data extracted from the received packet is stored in the corresponding memory area.
  • a storage unit (91E) for storing and a processing unit (91E) for determining a process corresponding to the received packet are included.
  • a communication terminal is configured including the associative memory (16) and a communication protocol processing circuit (91) that performs communication protocol processing with reference to information in the associative memory
  • the communication protocol processing circuit The network address of the communication terminal itself and the communication partner, the setting unit that can set the network address registration number and the communication service number in the associative memory, and the address and source network address extracted from the received packet for the associative memory
  • a first search unit for performing a first data search. Further, a registration number of the extracted destination and source network address is determined from the result obtained in the first data search, and the determined destination and source network address are determined with respect to the associative memory.
  • a second search unit that performs a second data search by giving a registration number, a destination extracted from the received packet, and a communication service number of the transmission source, and a result obtained by the second data search, the received packet And a storage unit for storing the reception target data extracted from the received packet in the corresponding memory region and a processing unit for determining a process corresponding to the received packet.
  • the communication protocol processing circuit includes: A setting unit that sets the network address and communication service number of the communication terminal itself and the communication partner in the associative memory, and the data extracted by giving the address and source network address and communication service number extracted from the received packet to the associative memory. And a search unit to perform. Further, from the result obtained by the data search, a first memory area corresponding to the received packet is determined, a reference unit for referring to the data of the determined first memory area, and the reference obtained. A storage unit for determining a second memory area corresponding to the received packet from the data and storing the reception target data extracted from the received packet in the corresponding second memory area; and a process corresponding to the received packet And a processing unit for determining
  • FIG. 1 shows a configuration example of a communication terminal according to an embodiment of the present invention.
  • the communication terminal 10 shown in FIG. 1 is not particularly limited, but is connected to the first communication partner 21, the second communication partner 22, and the third communication partner 23 via the communication network 30, so that the communication terminal 10 Mutual data communication between them is possible.
  • the communication terminal 10 is configured as follows.
  • the communication terminal 10 includes a microprocessor (also simply referred to as “processor”) 11, a peripheral interface 12, a network interface 14, a general memory 15, and an associative memory (Content Addressable Memory; CAM) 16.
  • processor also simply referred to as “processor”
  • peripheral interface 12 a peripheral interface 12
  • network interface 14 a general memory 15
  • associative memory Content Addressable Memory
  • CAM Content Addressable Memory
  • the microprocessor 11, the peripheral interface 12, the network interface 14, the general memory 15, and the associative memory 16 are coupled to each other via a common bus 17 so that signals can be exchanged.
  • the processor 11 controls the overall operation of the communication terminal 10 by executing predetermined software (program).
  • the software executed by the processor 11 manages device drivers and system resources for providing an application with an interface abstracted by controlling specific hardware, and manages the exchange of hardware and software components. Included are kernels and applications that are software designed for specific purposes.
  • the kernel includes communication protocol processing software.
  • the peripheral interface 12 mediates exchange of various information between the magnetic disk drive 13 and the processor 11.
  • a magnetic disk which is a storage medium, is mounted on the magnetic disk drive 13.
  • Various programs and various data are stored in the magnetic disk.
  • the network interface 14 mediates input / output of various information performed between the communication terminal 10 and the communication network 30.
  • data can be written by giving an address and data.
  • data corresponding to the address can be read.
  • an address matching the data can be searched.
  • As a bit field there are a binary associative memory (Binary CAM) that allows only logical values “0” and “1”, and a ternary associative memory (Ternary CAM) that allows don't care in a data field.
  • the ternary associative memory is simply referred to as an associative memory, and a data field that is not specified is searched as don't care.
  • the associative memory 16 stores communication information data 161.
  • the general memory 15 is a non-associative memory, for example, a RAM (Random Access Memory) that can be randomly accessed by the processor 11.
  • the general memory 15 is provided with an address and data and can write data, and is provided with an address and can read corresponding data.
  • the general memory 15 stores software data 151, working data 152, and communication information data 153.
  • FIG. 2 shows the relationship between the storage area allocation in the associative memory 16 and the storage area allocation in the general memory 15.
  • the maximum data search width of the associative memory 16 and the registered size of the related information on the general memory 16 are respectively stored in the associative memory 16 and the general memory 15. The amount of data is allocated.
  • the general memory 15 and the associative memory 16 are assigned their own network address areas 201 and 301, communication partner network address areas 202 and 302, and communication service status areas 203 and 303 so as to correspond to each other.
  • the network address of itself (here, the communication terminal 10) is registered in the own network address area 301 of the associative memory 16, and the own network address related information on the general memory 15 is stored in the corresponding own network address area 201 of the general memory 15. Is registered.
  • the network address of the communication partner here, communication partners 21, 22, and 23
  • the general memory 15 stores the network address in the communication partner network address area 202 corresponding thereto.
  • the communication partner network address related information above is registered.
  • the communication service state is registered in the communication service state area 303 of the associative memory 16, and the communication state related information in the general memory 15 is registered in the communication service state area 203 corresponding to the communication service state in the general memory 15.
  • the network address means an IP (Internet Protocol) address.
  • a communication information table is formed by areas corresponding to each other between the general memory 15 and the associative memory 16. In the communication protocol processing in the communication terminal 10, the communication information table is searched. Data to be searched is assigned to the associative memory 16. If the amount of data is less than the data search width of the associative memory, the data not to be searched may be allocated to the associative memory 16 together. Further, the remaining data that is not a search target is allocated to the general memory 15. If the amount of data to be registered is sufficient for the allocation of the associative memory 16, the allocation to the general memory 15 is unnecessary.
  • the Nth registration data is stored at a memory address calculated by the following equation.
  • the registration number N of the stored registration data can be obtained.
  • FIG. 3 shows assignment of fields related to registration data on the associative memory 16.
  • the field means a position indicating each attribute in the registration data.
  • the maximum registration number in the own network address area is 4 (registration numbers 1 to 4)
  • the maximum registration number in the communication partner network address area is 7 (registration numbers 1 to 7)
  • the maximum number of registrations in the communication service state area is 11 (registration numbers 1 to 11).
  • the own network address area 301 stores own network address information
  • the communication partner network address area 302 stores communication partner network address information
  • the communication service state area 303 stores communication service state information.
  • These pieces of information include “area identification information”, “valid flag”, “search target”, and “others” feeds in order from the left side of the page.
  • the area identification information field in its own network address area 301 is set to “1”
  • the area identification information field in the communication partner network address area 302 is set to “2”
  • the area identification information field in the communication service status area 303 By setting “3” to “3”, the region can be identified.
  • the valid flag in each information is “1”
  • the registration information is valid, and when it is “0”, the registration information is invalid.
  • the search subject field in the own network address area 301 includes an own network address field and a reference number field.
  • the search subject field in the communication partner network address area 302 includes a communication partner network address field and a reference number field.
  • the search subject field in the communication service status area 303 includes a self network address registration number field 303-1, a communication partner network address registration number field 303-2, a self service number field 303-3, a communication partner service.
  • a number field 303-4 is included.
  • the own network address registration number field 303-1 the registration number of the own network address is stored.
  • the other party network address registration number field 303-2 the registration number of the other party network address is stored.
  • the own service number is stored in 303-3, and the communication partner service number is stored in the communication partner service number field 303-4.
  • the service number means a port number of TCP (Transmission Control Protocol) or UDP (User Datagram Protocol).
  • information that should be provided in accordance with each table in processing the communication protocol can be appropriately assigned.
  • the communication service status table in addition to information indicating the communication status with the communication partner (connection status, transmission sequence number, reception response number, etc. in the case of the TCP protocol), reference or reception as transmission data
  • the memory address, the original area size, and the transferred size of the working data area on the general memory 15 where the data is extracted and stored can be assigned.
  • assign the application identification number (process number), the identification number in the application, the last processing time, the time to be processed next, the registration number to be processed immediately before and the registration number to be processed next, etc. Can do.
  • a time to be processed next assigned to the communication status area 303 is allocated on the associative memory 16, a value indicating the communication status area in the area identification information field, a value indicating validity in the valid flag field, and a time field to be processed next. If the current time is given to the search, the communication information to be processed at present corresponds to the search result, and it is possible to perform the processing. If there are a plurality of hits, processing may be performed continuously on them. If there is no match, search again at the next time. In order to prevent the time from passing while processing is performed, a counter that increases by 1 when a pseudo time, that is, an order to be processed next and an instruction is given, may be used instead of the actual time. Good.
  • a logical queue is formed in the order of processing. Thereby, the registration number to be processed next can be known without searching the associative memory. These are merely examples, and the registration number to be processed next can be grasped elsewhere.
  • each field between each region may be different.
  • the area identification information fields of the associative memory are aligned to some extent so that each table can be distinguished.
  • the area identification information fields of the own network address table and the communication partner network address table are each 2 bits, their field positions are aligned, and the respective values are “00” and “01”.
  • the left 1 bit which is 0 in the other table, is set to 1 as the area identification information field, and the remaining 1 bit is the valid flag. It is used as a field. Even in this case, in the data search with respect to the associative memory 16, it is possible to distinguish and search each table.
  • FIG. 4 shows a communication information (table) initialization procedure by the kernel 112.
  • the network address area, the communication partner network address area, and the communication service status area are allocated to the associative memory 16 and the general memory 15 respectively, and the same across the associative memory 16 and the general memory 15.
  • the name area is regarded as a table (S41). That is, the own network address table is formed by the own network address area of the associative memory 16 and the general memory 15, and the communication partner network address table is formed by the communication partner network address area of the associative memory 16 and the general memory 15.
  • the communication service state table is formed by the communication service state area between the memory 16 and the general memory 15.
  • the area identification information field in the associative memory 16 is set with area identification information enabling identification of the area, and the valid flag field is set with a value indicating invalidity (S42).
  • FIG. 5 shows a registration procedure to each table (own network address table, communication partner network address table, communication service state table) by the kernel 112 given the registration target data.
  • registration in the own network address table is performed as follows.
  • the number of registrations in the own network address table is 1 or more (S501). In this determination, if it is determined that the registered number of the own network address table is 1 or more, the area identification information of the own network address table, a value indicating validity, and the search target data are given to the associative memory 16. Data search is performed (S502). Then, as a result of the search in step S502, it is determined whether or not the corresponding data exists (S503). In this determination, if it is determined that the corresponding data does not exist, the number of registered network address tables is checked (S504).
  • step S504 if it is determined that the registered number of the own network address table is less than the maximum number of the table, the area identification information and invalidity of the table are indicated to the associative memory 16.
  • Data search is performed by giving a value (S505).
  • the area identification information of the table a value indicating validity and search target data are set in the search result address (S506).
  • data that is not the search target is set for the address of the general memory corresponding to the registration number obtained from the search result of the associative memory 16 (S507).
  • the number of registrations in the own network address table is increased by 1, the fact of registration and the registration number derived from the search result address are returned to the reading source (S508), and the registration procedure according to this flowchart is terminated.
  • step S501 If it is determined in step S501 that the number of registrations in the table is not 1 or more, that is, 0, an area corresponding to the registration number 1 in the associative memory 16 is stored. Information, a value indicating validity, and search target data are set (S511). Then, data that is not a search target is set for the address corresponding to the registration number 1 in the general memory 15 (S512). Then, the registration number of the own network address table is increased by 1, the fact of registration and the registration number 1 are returned to the reading source (S513), and the registration procedure according to this flowchart is terminated.
  • step S503 if it is determined in step S503 that the corresponding data exists, the fact that the data has been registered and the registration number derived from the search result address are returned to the reading source (S509). ), The registration procedure according to this flowchart is completed.
  • step S504 If it is determined in step S504 that the number of registrations in the table has reached the maximum number, the fact that it can no longer be registered is returned to the caller (S510), and registration according to this flowchart is performed. The procedure is finished.
  • the registration to the own network address table by the kernel 112 to which the registration target data is given has been described, but the registration to other tables, that is, the communication partner network address table and the communication service state table is performed in the same manner.
  • the kernel 112 registers one or a plurality of own network addresses in the own network address table after the communication information initialization procedure.
  • One specific method for deriving the value of its own network address uses a predetermined fixed value as the static network address.
  • the other method uses a communication protocol processing software as a dynamic network address to inquire the network that a network address is to be generated, receives a response transmission from another device, and receives the response from the received packet. It uses its value to generate its own network address.
  • the reference number field is set to zero. Information registered by the above procedure can be deleted by the following procedure.
  • FIG. 6 shows a registration deletion procedure from each table (own network address table, communication partner network address table, communication service state table) by the kernel 112 given the registration deletion target number.
  • registration deletion from the own network address table is performed as follows.
  • the number of registered network address tables is 1 or more (S61). In this determination, when it is determined that the number of registrations in the network address table is 1 or more, data is referred to the associative memory 16 address obtained from the registration deletion target number (S62). Then, as a result of the data reference in step S62, it is determined whether the valid flag is valid or invalid (S63). In this determination, if it is determined that the valid flag is valid, the area identification information in the network address table and a value indicating invalidity are set for the address of the associative memory obtained from the registration deletion target number. (S64). Then, the number of registrations in the own network address table is reduced by 1, and the fact that the registration has been deleted is returned to the caller (S65), and the registration deletion procedure according to this flowchart is terminated.
  • step S61 if it is determined that the number of registered network address tables is not 1 or more, that is, 0, or in the determination in step S63, the validity flag is invalid. If it is determined, the registration deletion procedure according to this flowchart is terminated without deleting the registration.
  • the registration deletion from the own network address table has been described above, the registration deletion from other tables, that is, the communication partner network address table and the communication service status table is performed in the same manner.
  • FIG. 7 shows a transmission processing procedure by the kernel 112 when an application identification number, a transmission target communication service state registration number, and transmission target data are given.
  • step S71 data is referenced from the address of the communication service state area in the associative memory 16 and the general memory 15 corresponding to the transmission target communication service state registration number (S71). Then, as a result of the data reference in step S71, it is determined whether the valid flag is valid or invalid (S72). In this determination, if it is determined that the status of the valid flag is valid, it is determined whether the application identification number is the same as or different from the given application identification number as a result of the data reference in step S71. Is performed (S73). If it is determined in step S73 that the application identification number is the same as the given application identification number, the self-network address area of the associative memory 16 corresponding to the referenced self-network address registration number is determined.
  • the own network address is referred to from the address 301 (S74).
  • the communication partner network address is referenced from the address of the communication partner network address area 302 in the associative memory 16 corresponding to the referenced communication partner network address registration number (S75).
  • a transmission packet is generated from the referenced data and the transmission target data, and is transmitted to the communication partner via the network 30 (S76).
  • the communication information in each table is updated as necessary (S77), the transmitted fact is returned to the caller (S78), and the transmission process according to this flowchart is terminated.
  • it is determined that the determination in step S72 that the state of the valid flag is invalid, or in the determination in step S73 it is determined that the application identification number is different from the given application identification number. In this case, after the fact that the transmission is invalid is returned to the caller (S79), the transmission process according to this flowchart is terminated.
  • FIG. 8 shows a reception protocol processing procedure by the kernel 112.
  • the packet When a packet is received by the communication terminal 10 via the network 30, the packet is analyzed, and a destination, a network address of a transmission source, and a service number are extracted (S801). Then, the associative memory 16 is provided with region identification information in the own network address table, a value indicating validity, and a destination (own candidate) network address, and a data search is performed (S802).
  • step S802 it is determined whether or not the corresponding data exists (S803). In this determination, if it is determined that the corresponding data exists, the area identification information of the communication partner network address table, the value indicating validity, and the transmission source (communication partner) network address are stored in the associative memory 16. Given this, a data search is performed (S804). Then, as a result of the data search in step S804, it is determined whether or not the corresponding data exists (S805). In this determination, if it is determined that the corresponding data exists, the area identification information of the communication service state table and the value indicating validity are registered in the associative memory 16 and the own network address obtained by the search.
  • the number, the communication partner network address number, the destination (self candidate), and the service number of the transmission source (communication partner) are given, and data search is performed (S806). Then, as a result of the data search in step S806, it is determined whether or not the corresponding data exists (S807). In this determination, if it is determined that the corresponding data exists, the reception target data is extracted from the reception packet as necessary, and is written in the general memory 15 and passed to the application 113 (S808). . Moreover, the communication information of the communication information table of each table is updated as needed (S809). Further, if necessary, the process is passed to the corresponding application 113 (S810), and the reception protocol process according to this flowchart is terminated.
  • step S803 If it is determined in step S803 that the corresponding data does not exist, the corresponding processing is performed as necessary (S811), and then the reception protocol processing according to this flowchart is terminated. .
  • step S805 If it is determined in step S805 that no corresponding data exists, a new communication service is started from the network address and service number of the destination (self candidate), the transmission source (communication partner) It is determined whether or not (S812, S813). In this determination, when it is determined that a new communication service is started, the reference field for registering the own network address is incremented by 1, and the transmission source network address is registered in the communication partner network address table as the reference number 1. (S815). Then, after the network address registration number and the service number of itself and the communication partner are registered in the communication service state table (S816), the process proceeds to step S808.
  • step S813 If it is determined in step S813 that the new communication service is not started, the process proceeds to step S811.
  • step S807 if it is determined in step S807 that there is no corresponding data, a new communication service is started from the network address and service number of the destination (self candidate), the transmission source (communication partner). It is determined whether or not to perform (S817, S818). If it is determined in this determination that a new communication service is to be started, the own network address registration and the communication partner network address reference field are incremented by one (S819), and the network address registration number of itself and the communication partner is increased. And the service number are registered in the communication service state table (S820), the process proceeds to step S808. If it is determined in step S817 or S818 that a new communication service is not started, the process proceeds to step S811.
  • reception protocol processing it is possible to achieve the processing for searching the registration corresponding to the received packet from the communication information at high speed.
  • the data field to be searched is close to the data search width of the associative memory per one, and even if a set of such data fields is the original search object, It was shown that it was feasible.
  • the network address and service number of the communication partner and the communication partner determine the communication service, that is, the search target, but when performing communication with IPv6 (IP Version 6) using TCP, the IPv6 address is 128 bits and the TCP port
  • IPv6 IP Version 6
  • the number is 16 bits and the set to be searched is 288 bits
  • the associative memory currently implemented has a data search width of 144 bits at most. Even if such an associative memory is used, this example can be implemented.
  • the processor 11 sets the network address and communication service number of the terminal itself and the communication partner in the associative memory, and the processor 11 stores the destination extracted from the received packet and the network address of the transmission source in the associative memory.
  • a data search is performed by giving a communication service number.
  • the processor 11 determines a memory area corresponding to the received packet from the result obtained by the data search, and receives the reception target data extracted from the received packet. Store in the corresponding memory area.
  • FIG. 9 shows another configuration example of the communication terminal according to the embodiment of the present invention.
  • the communication terminal 10 shown in FIG. 9 is greatly different from that shown in FIG. 1 in that a communication protocol processing circuit 91 is provided, and the communication protocol processing circuit 91 performs communication protocol processing. Is a point. In the communication terminal 10 shown in FIG. 9, the communication protocol processing is performed by the communication protocol processing circuit 91. As a result, the communication protocol processing by the kernel 112 is not performed.
  • the communication protocol processing circuit 91 can be constituted by a CPU or a logic gate.
  • General memories 15A and 15B are provided, and software data 252 and working data 152 are stored in the general memory 15A.
  • Communication information data 153 is stored in the general memory 15B.
  • the associative memory 16 and the general memory 15B are coupled to the communication protocol processing circuit 91.
  • the communication protocol processing circuit 91 includes an initialization unit 91A, a registration processing unit 91B, a registration deletion processing unit 91C, a transmission processing unit 91D, and a reception processing unit 91E.
  • the initialization unit 91A performs initialization processing according to a procedure similar to the procedure shown in FIG.
  • the registration processing unit 91B performs the registration process according to the same procedure as that shown in FIG.
  • the registration deletion processing unit 91C performs the registration deletion processing according to the same procedure as shown in FIG.
  • the transmission processing unit 91D performs transmission processing according to the same procedure as shown in FIG.
  • the reception processing unit 91E performs reception processing according to the same procedure as shown in FIG.
  • the communication protocol processing circuit 91 which is a circuit dedicated to communication protocol processing, is provided separately from the processor 11, the processing load on the processor 11 can be reduced.
  • step S802, S804, and S806 are required.
  • step S802, S804, and S806 are required.
  • field assignment shown in FIG. 10 since necessary data can be obtained by one data search, it is possible to speed up the search.
  • a relatively small number of registrations for example, the own network address table, are allocated on the general memory in the first embodiment without using an associative memory, and a register is allocated and searched for in the second embodiment. May be.
  • Data link address table so-called ARP (Address Resolution Protocol) table, routing table, IPv4 (IP Version 4) table, IPv6 table, encrypted communication information table for communication partner IP address, service reception table (passive communication service number table), multi A table showing the relationship between communication information and memory segments and processor numbers in memory terminals and multiprocessor terminals, a table showing the relationship between memory segments and processor numbers and applications, and a plurality of associative memories may be used.
  • ARP Address Resolution Protocol
  • routing table IPv4 (IP Version 4) table
  • IPv6 table IPv6 table
  • encrypted communication information table for communication partner IP address for communication partner IP address
  • service reception table passive communication service number table
  • multi A table showing the relationship between communication information and memory segments and processor numbers in memory terminals and multiprocessor terminals
  • a table showing the relationship between memory segments and processor numbers and applications
  • a plurality of associative memories may be used.
  • a data search for that table is performed for each of those associative memories, and the results of the search are not found
  • the communication protocol processing method, communication protocol processing circuit, and communication terminal of the present invention include authentication and communication data conversion (content conversion) on a network including a server device, a PC (Personal Computer), and an AV (Audio / Visual) device. Can be used for network compatible devices such as proxy devices and gateway devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

The speed of processing to search for registration applicable to received packets from communication information is increased. The method has steps (S17‑S19), wherein a processor sets network addresses and communication service numbers of a terminal and the other communicating end in an associative memory, and steps (802‑807), wherein said processor provides the network addresses and communication service numbers of the destination and the transmission source extracted from received packet to the associative memory and searches the data. There is also a step (809), wherein said processor determines the memory region corresponding to said received packet from said data search result and stores the data being received that were extracted from said received packet in said corresponding memory region, and steps (S808‑S810), wherein said processor determines the processing corresponding to said received packet. In this way, the speed of search processing can be increased.

Description

通信プロトコル処理方法及び通信端末Communication protocol processing method and communication terminal
 本発明は、通信プロトコルを効率的に処理することを可能とする、通信端末向けの通信プロトコル処理方法及び通信プロトコル処理回路、並びに通信端末に適用して有効な技術に関するものである。 The present invention relates to a communication protocol processing method and a communication protocol processing circuit for a communication terminal, which can efficiently process a communication protocol, and a technique effective when applied to a communication terminal.
 1台の通信端末が同時に通信可能な相手の数を大きくする訴求がある。例えば、100台のクライアントに同時に応対するサービスを構築する場合、10台のクライアントに同時に応対可能なサーバであれば10台が必要であるが、100台以上のクライアントに同時に応対可能なサーバであれば1台で十分である。 There is an appeal to increase the number of partners with whom one communication terminal can communicate simultaneously. For example, when building a service that can simultaneously handle 100 clients, 10 servers are required if the server can simultaneously respond to 10 clients, but any server that can simultaneously respond to 100 or more clients can be used. One is enough.
 通信端末が多くの相手と通信する場合、受信されるパケットを、通信端末内部で保持する通信情報に結び付ける処理、すなわち検索に大きな処理時間を要するのが通例である。例えば、一般的なメモリとされるRAM(Random Access Memory)に通信情報のテーブルを形成し、そのテーブルから受信パケットに該当する登録を検索する代表的な方法として、線形探索や、テーブルの順序付けツリー化や、テーブルのハッシュ化がある。テーブルの登録数をNとおくと、それらの方法は漸近的にそれぞれ、N、log N、1~Nに比例する処理時間を要する。 When a communication terminal communicates with many other parties, a process that links received packets to communication information held in the communication terminal, that is, a long processing time is generally required. For example, as a typical method for forming a communication information table in a RAM (Random Access Memory), which is a general memory, and searching for a registration corresponding to a received packet from the table, linear search or a table ordering tree And table hashing. If the number of registered tables is N, these methods asymptotically require processing times proportional to N, log N, and 1 to N, respectively.
 通信処理における検索時間を高速化する技術として、分割された受信パケットの断片番号を連想メモリに登録し、再組み立てするために断片番号順に連想メモリから検索する技術が知られている(例えば特許文献1参照)。 As a technique for speeding up a search time in communication processing, a technique is known in which fragment numbers of divided received packets are registered in an associative memory and searched from the associative memory in order of the fragment numbers for reassembly (for example, Patent Documents). 1).
特開2007-274056公報JP 2007-274056 A
 上記従来技術について本願発明者が検討したところ、通信端末が多くの相手と通信する場合に、通信情報から受信パケットに該当する登録を検索する処理に時間がかかり、そのことが、多くの通信相手との間の通信に支障を与える虞のあることが見いだされた。例えば通信端末がより多くの相手と通信する場合には、通信相手の増加分だけの処理が線形的に増えるだけでなく、通信端末内部で保持する通信情報から受信パケットに該当する登録を検索する処理の1回当たりの処理時間も増え、これらは積となって処理時間に影響を及ぼす。その結果、その通信端末が行うべき処理が切迫し、通信性能が低減したり、より多くの相手と通信すること自体が困難になったりし、ひいては通信の上で提供されるサービスの実現が困難になる。更に、通信相手の増加分に対して線形を超える処理時間の増加は、線形を超える電力量の消費を意味するため、エネルギー効率の点からも、その改善が望まれる。 When the inventor of the present application examined the above-described conventional technology, when the communication terminal communicates with many other parties, it takes time to search for registration corresponding to the received packet from the communication information. It has been found that there is a risk of interfering with the communication. For example, when the communication terminal communicates with a larger number of other parties, not only the processing corresponding to the increase in the number of communication partners increases linearly, but also the registration corresponding to the received packet is searched from the communication information held in the communication terminal. The processing time per process also increases, and these become products and affect the processing time. As a result, the processing to be performed by the communication terminal is imminent, the communication performance is reduced, or it is difficult to communicate with a larger number of other parties, and as a result, it is difficult to realize a service provided on the communication. become. Furthermore, an increase in processing time exceeding the linearity with respect to an increase in the number of communication partners means consumption of electric energy exceeding the linearity, so that improvement is also desired from the viewpoint of energy efficiency.
 本発明の目的は、通信端末が多くの相手と通信する場合に、通信情報から受信パケットに該当する登録を検索する処理を高速化するための技術を提供することにある。 An object of the present invention is to provide a technique for speeding up a process of searching for a registration corresponding to a received packet from communication information when a communication terminal communicates with many other parties.
 本発明の上記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
 本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。 A typical one of the inventions disclosed in the present application will be briefly described as follows.
 すなわち、連想メモリと、プロセッサとを有する通信端末における通信プロトコル処理方法において、上記プロセッサが、端末自身と通信相手のネットワークアドレスと通信サービス番号を上記連想メモリに設定するステップと、上記プロセッサが、上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号を与えてデータ検索を行うステップとを設ける。さらに、上記プロセッサが、上記データ検索結果から、上記受信パケットに対応するメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応するメモリ領域に格納するステップと、上記プロセッサが、上記受信パケットに対応する処理を決定するステップとを設け、検索処理の高速化を達成する。 That is, in a communication protocol processing method in a communication terminal having an associative memory and a processor, the processor sets a network address and a communication service number of the terminal itself and a communication partner in the associative memory, and the processor The associative memory is provided with a step of performing a data search by giving the destination extracted from the received packet, the network address of the transmission source, and the communication service number. Further, the processor determines a memory area corresponding to the received packet from the data search result, stores the reception target data extracted from the received packet in the corresponding memory area, and the processor And a step of determining a process corresponding to the received packet to achieve a high speed search process.
 本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。 The following is a brief description of the effects obtained by the representative inventions disclosed in the present application.
 すなわち、通信端末が多くの相手と通信する場合に、通信情報から受信パケットに該当する登録を検索する処理を高速化するための技術を提供することができる。 That is, when the communication terminal communicates with many other parties, it is possible to provide a technique for speeding up the process of searching for registration corresponding to the received packet from the communication information.
本発明の実施の形態にかかる通信端末の構成例ブロック図である。It is a block diagram of a configuration example of a communication terminal according to an embodiment of the present invention. 上記通信端末に含まれる連想メモリと一般メモリにおける記憶領域の割り当ての関係説明図である。It is an explanatory view of the relationship between allocation of storage areas in the content addressable memory and the general memory included in the communication terminal. 上記通信端末に含まれる連想メモリ上の登録データに関するフィールドの割り当てについての説明図である。It is explanatory drawing about allocation of the field regarding the registration data on the content addressable memory contained in the said communication terminal. 上記通信端末における初期化手順のフローチャートである。It is a flowchart of the initialization procedure in the said communication terminal. 上記通信端末における登録手順のフローチャートである。It is a flowchart of the registration procedure in the said communication terminal. 上記通信端末における登録削除手順のフローチャートである。It is a flowchart of the registration deletion procedure in the said communication terminal. 上記通信端末における送信処理手順のフローチャートである。It is a flowchart of the transmission processing procedure in the said communication terminal. 上記通信端末における受信プロトコル処理手順のフローチャートである。It is a flowchart of the reception protocol processing procedure in the said communication terminal. 本発明の実施の形態にかかる通信端末の別の構成例ブロック図である。It is another structural example block diagram of the communication terminal concerning embodiment of this invention. 本発明の実施の形態にかかる通信端末の別の構成例における連想メモリ上の登録データに関するフィールドの割り当ての説明図である。It is explanatory drawing of allocation of the field regarding the registration data on the content addressable memory in another example of a structure of the communication terminal concerning embodiment of this invention.
 10 通信端末
 11 プロセッサ
 12 周辺インタフェース
 13 磁気ディスクドライブ
 14 ネットワークインタフェース
 15,15A,15B 一般メモリ
 16 連想メモリ
 21,22,23 通信相手
 91 通信プロトコル処理回路
 301 自身ネットワークアドレス領域
 302 通信相手ネットワーク
 303 通信サービス状態領域
DESCRIPTION OF SYMBOLS 10 Communication terminal 11 Processor 12 Peripheral interface 13 Magnetic disk drive 14 Network interface 15, 15A, 15B General memory 16 Associative memory 21, 22, 23 Communication partner 91 Communication protocol processing circuit 301 Self network address area 302 Communication partner network 303 Communication service state region
 1.代表的な実施の形態
 先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
1. Representative Embodiment First, an outline of a typical embodiment of the invention disclosed in the present application will be described. The reference numerals in the drawings referred to with parentheses in the outline description of the representative embodiments merely exemplify what are included in the concept of the components to which the reference numerals are attached.
 〔1〕本発明の代表的な実施の形態に係る通信プロトコル処理方法は、連想メモリ(16)と、上記連想メモリにアクセス可能なプロセッサ(11)とを有する通信端末(10)における通信プロトコル処理方法とされる。この通信プロトコル処理方法では、上記プロセッサが、端末自身と通信相手のネットワークアドレスと通信サービス番号を上記連想メモリに設定するステップ(S17~S19)と、上記プロセッサが、上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号を与えてデータ検索を行うステップ(802~807)とを含む。さらに、上記プロセッサが、上記データ検索で得られた結果から、上記受信パケットに対応するメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応するメモリ領域に格納するステップ(809)と、上記プロセッサが、上記受信パケットに対応する処理を決定するステップ(S808~S810)とを含む。 [1] A communication protocol processing method according to a typical embodiment of the present invention is a communication protocol processing in a communication terminal (10) having an associative memory (16) and a processor (11) capable of accessing the associative memory. It is said to be a method. In this communication protocol processing method, the processor sets the network address and communication service number of the terminal itself and the communication partner in the associative memory (S17 to S19), and the processor receives the associative memory from the associative memory. And a step (802 to 807) for performing a data search by giving a destination extracted from the packet, a network address of the transmission source, and a communication service number. Further, the processor determines a memory area corresponding to the received packet from the result obtained by the data search, and stores the reception target data extracted from the received packet in the corresponding memory area (809). And a step in which the processor determines a process corresponding to the received packet (S808 to S810).
 上記の構成によれば、上記プロセッサが、端末自身と通信相手のネットワークアドレスと通信サービス番号を上記連想メモリに設定し、上記プロセッサが、上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号を与えてデータ検索を行い、さらに、上記プロセッサが、上記データ検索で得られた結果から、上記受信パケットに対応するメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応するメモリ領域に格納する。このことが、通信端末が多くの相手と通信する場合に、通信情報から受信パケットに該当する登録を検索する処理の高速化を達成する。 According to the above configuration, the processor sets the network address and communication service number of the terminal itself and the communication partner in the associative memory, and the processor transmits the destination extracted from the received packet and the transmission to the associative memory. A data search is performed by giving an original network address and a communication service number, and further, the processor determines a memory area corresponding to the received packet from the result obtained by the data search and extracts it from the received packet. The reception target data is stored in the corresponding memory area. This achieves a high-speed processing for searching for registration corresponding to the received packet from the communication information when the communication terminal communicates with many other parties.
 〔2〕また、連想メモリ(16)と、上記連想メモリにアクセス可能なプロセッサ(11)とを有する通信端末(10)における通信プロトコル処理方法では、上記プロセッサが、端末自身と通信相手のネットワークアドレスとネットワークアドレスの登録番号と通信サービス番号を上記連想メモリに設定するステップと、上記プロセッサが、上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスを与えて第1のデータ検索を行うステップとを含む。さらに、上記プロセッサが、上記第1のデータ検索で得られた結果から、上記抽出した宛先と送信元のネットワークアドレスの登録番号を決定し、上記連想メモリに対して、上記決定した宛先と送信元のネットワークアドレスの登録番号と上記受信パケットから抽出した宛先と送信元の通信サービス番号を与えて第2のデータ検索を行うステップと、上記プロセッサが、上記第2のデータ検索で得られた結果から、上記受信パケットに対応するメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応するメモリ領域に格納するステップとを含む。そして、上記プロセッサが、上記受信パケットに対応する処理を決定するステップを含む。 [2] Further, in the communication protocol processing method in the communication terminal (10) having the associative memory (16) and the processor (11) capable of accessing the associative memory, the processor is connected to the network address of the terminal itself and the communication partner. And a network data registration number and a communication service number are set in the associative memory, and the processor provides the associative memory with the destination and source network address extracted from the received packet, and the first data Performing a search. Further, the processor determines a registration number of the extracted destination and the network address of the transmission source from the result obtained in the first data search, and the determined destination and the transmission source for the associative memory. A second data search by providing a registration number of the network address, a destination extracted from the received packet, and a communication service number of the transmission source, and a result obtained by the processor in the second data search Determining a memory area corresponding to the received packet, and storing data to be received extracted from the received packet in the corresponding memory area. The processor includes a step of determining a process corresponding to the received packet.
 かかる構成においても、上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号を与えてデータ検索を行うことで、通信端末が多くの相手と通信する場合に、通信情報から受信パケットに該当する登録を検索する処理の高速化を達成することができる。 Even in such a configuration, when the communication terminal communicates with many other parties by performing a data search by giving the destination extracted from the received packet, the network address of the transmission source, and the communication service number to the associative memory, It is possible to speed up the process of searching for registration corresponding to the received packet from the communication information.
 〔3〕さらに、連想メモリ(16)と、上記連想メモリにアクセス可能なプロセッサ(11)とを有する通信端末(10)における通信プロトコル処理方法では、上記プロセッサが、端末自身と通信相手のネットワークアドレスと通信サービス番号を上記連想メモリに設定するステップと、上記プロセッサが、受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号を上記連想メモリに与えてデータ検索を行うステップとを含む。また、上記プロセッサが、上記データ検索で得られた結果から、上記受信パケットに対応する第1のメモリ領域を決定し、上記決定した第1のメモリ領域のデータを参照するステップと、上記プロセッサが、上記参照で得られたデータから、上記受信パケットに対応する第2のメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応する第2のメモリ領域に格納するステップとを含む。さらに上記プロセッサが、上記受信パケットに対応する処理を決定するステップを含む。 [3] Further, in a communication protocol processing method in a communication terminal (10) having an associative memory (16) and a processor (11) that can access the associative memory, the processor is connected to the network address of the terminal itself and the communication partner. And setting the communication service number in the associative memory, and the processor performing a data search by providing the address, the network address of the transmission source extracted from the received packet, and the communication service number to the associative memory. A step in which the processor determines a first memory area corresponding to the received packet from a result obtained by the data search and refers to data in the determined first memory area; Determining a second memory area corresponding to the received packet from the data obtained by the reference, and storing the reception target data extracted from the received packet in the corresponding second memory area. . The processor further includes a step of determining a process corresponding to the received packet.
 〔4〕連想メモリ(16)と、上記連想メモリの情報を参照して通信プロトコル処理を行う通信プロトコル処理回路(91)とを含んで通信端末が構成されるとき、上記通信プロトコル処理回路は、通信端末自身と通信相手のネットワークアドレスと通信サービス番号を上記連想メモリに設定可能な設定部(91A)と、上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号をデータ検索する検索部(91E)と、上記データ検索で得られた結果から、上記受信パケットに対応するメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応するメモリ領域に格納する格納部(91E)と、上記受信パケットに対応する処理を決定する処理部(91E)とを含む。 [4] When a communication terminal is configured including the associative memory (16) and a communication protocol processing circuit (91) that performs communication protocol processing with reference to information in the associative memory, the communication protocol processing circuit A setting unit (91A) capable of setting the network address and communication service number of the communication terminal itself and the communication partner in the associative memory, the destination extracted from the received packet, the network address of the transmission source, and the communication service for the associative memory A search unit (91E) for searching for a number and a result obtained by the data search determine a memory area corresponding to the received packet, and the reception target data extracted from the received packet is stored in the corresponding memory area. A storage unit (91E) for storing and a processing unit (91E) for determining a process corresponding to the received packet are included.
 〔5〕連想メモリ(16)と、上記連想メモリの情報を参照して通信プロトコル処理を行う通信プロトコル処理回路(91)とを含んで通信端末が構成されるとき、上記通信プロトコル処理回路は、通信端末自身と通信相手のネットワークアドレスとネットワークアドレスの登録番号と通信サービス番号を上記連想メモリに設定可能な設定部と、上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスを与えて第1のデータ検索を行う第1の検索部とを含む。また、上記第1のデータ検索で得られた結果から、上記抽出した宛先と送信元のネットワークアドレスの登録番号を決定し、上記連想メモリに対して、上記決定した宛先と送信元のネットワークアドレスの登録番号と上記受信パケットから抽出した宛先と送信元の通信サービス番号を与えて第2のデータ検索を行う第2の検索部と、上記第2のデータ検索で得られた結果から、上記受信パケットに対応するメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応するメモリ領域に格納する格納部と上記受信パケットに対応する処理を決定する処理部とを含む。 [5] When a communication terminal is configured including the associative memory (16) and a communication protocol processing circuit (91) that performs communication protocol processing with reference to information in the associative memory, the communication protocol processing circuit The network address of the communication terminal itself and the communication partner, the setting unit that can set the network address registration number and the communication service number in the associative memory, and the address and source network address extracted from the received packet for the associative memory And a first search unit for performing a first data search. Further, a registration number of the extracted destination and source network address is determined from the result obtained in the first data search, and the determined destination and source network address are determined with respect to the associative memory. A second search unit that performs a second data search by giving a registration number, a destination extracted from the received packet, and a communication service number of the transmission source, and a result obtained by the second data search, the received packet And a storage unit for storing the reception target data extracted from the received packet in the corresponding memory region and a processing unit for determining a process corresponding to the received packet.
 〔6〕連想メモリ(16)と、上記連想メモリの情報を参照して通信プロトコル処理を行う通信プロトコル処理回路(91)とを含んで通信端末が構成されるとき、上記通信プロトコル処理回路は、通信端末自身と通信相手のネットワークアドレスと通信サービス番号を上記連想メモリに設定する設定部と、受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号を上記連想メモリに与えてデータ検索を行う検索部とを含む。また、上記データ検索で得られた結果から、上記受信パケットに対応する第1のメモリ領域を決定し、上記決定した第1のメモリ領域のデータを参照する参照部と、上記参照で得られたデータから、上記受信パケットに対応する第2のメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応する第2のメモリ領域に格納する格納部と、上記受信パケットに対応する処理を決定する処理部とを含む。 [6] When a communication terminal is configured including the associative memory (16) and a communication protocol processing circuit (91) that performs communication protocol processing with reference to information in the associative memory, the communication protocol processing circuit includes: A setting unit that sets the network address and communication service number of the communication terminal itself and the communication partner in the associative memory, and the data extracted by giving the address and source network address and communication service number extracted from the received packet to the associative memory. And a search unit to perform. Further, from the result obtained by the data search, a first memory area corresponding to the received packet is determined, a reference unit for referring to the data of the determined first memory area, and the reference obtained. A storage unit for determining a second memory area corresponding to the received packet from the data and storing the reception target data extracted from the received packet in the corresponding second memory area; and a process corresponding to the received packet And a processing unit for determining
 2.実施の形態の説明
 次に、実施の形態について更に詳述する。
2. Next, the embodiment will be described in more detail.
 <実施の形態1>
 図1には、本発明の実施の形態にかかる通信端末の構成例が示される。
<Embodiment 1>
FIG. 1 shows a configuration example of a communication terminal according to an embodiment of the present invention.
 図1に示される通信端末10は、特に制限されないが、通信ネットワーク30を介して第1通信相手21、第2通信相手22、第3通信相手23に結合されることで、それら通信相手との間で相互にデータ通信が可能とされる。通信端末10は以下のように構成される。 The communication terminal 10 shown in FIG. 1 is not particularly limited, but is connected to the first communication partner 21, the second communication partner 22, and the third communication partner 23 via the communication network 30, so that the communication terminal 10 Mutual data communication between them is possible. The communication terminal 10 is configured as follows.
 通信端末10は、マイクロプロセッサ(単に「プロセッサ」とも称する)11、周辺インタフェース12、ネットワークインタフェース14、一般メモリ15、及び連想メモリ(Content Addressable Memory;CAM)16とを含む。マイクロプロセッサ11、周辺インタフェース12、ネットワークインタフェース14、一般メモリ15、及び連想メモリ16は、共通バス17を介して相互に信号のやり取りが可能に結合される。 The communication terminal 10 includes a microprocessor (also simply referred to as “processor”) 11, a peripheral interface 12, a network interface 14, a general memory 15, and an associative memory (Content Addressable Memory; CAM) 16. The microprocessor 11, the peripheral interface 12, the network interface 14, the general memory 15, and the associative memory 16 are coupled to each other via a common bus 17 so that signals can be exchanged.
 上記プロセッサ11は、所定のソフトウェア(プログラム)を実行することによって、この通信端末10の全体的な動作制御を司る。上記プロセッサ11で実行されるソフトウェアには、特定ハードウェアを制御することによって抽象化したインタフェースをアプリケーションに提供するためのデバイスドライバ、システムのリソースを管理し、ハードウェアとソフトウェアコンポーネントのやりとりを管理するカーネル、及び特定の目的のために設計されたソフトウェアであるアプリケーションが含まれる。上記カーネルには通信プロトコル処理ソフトウェアが含まれる。 The processor 11 controls the overall operation of the communication terminal 10 by executing predetermined software (program). The software executed by the processor 11 manages device drivers and system resources for providing an application with an interface abstracted by controlling specific hardware, and manages the exchange of hardware and software components. Included are kernels and applications that are software designed for specific purposes. The kernel includes communication protocol processing software.
 上記周辺インタフェース12は、磁気ディスクドライブ13とプロセッサ11との間で各種情報のやり取りを仲介する。磁気ディスクドライブ13には、記憶媒体である磁気ディスクが装着される。磁気ディスクには、各種プログラムや各種データが格納される。 The peripheral interface 12 mediates exchange of various information between the magnetic disk drive 13 and the processor 11. A magnetic disk, which is a storage medium, is mounted on the magnetic disk drive 13. Various programs and various data are stored in the magnetic disk.
 上記ネットワークインタフェース14は、通信端末10と通信ネットワーク30との間で行われる各種情報の入出力を仲介する。 The network interface 14 mediates input / output of various information performed between the communication terminal 10 and the communication network 30.
 上記連想メモリ16は、アドレスとデータが与えられることでデータの書き込みが可能とされる。また、アドレスが与えられることで、当該アドレスに対応するデータの読み出しが可能とされる。さらにデータが与えられることで、当該データと一致するアドレスの検索が可能とされる。ビットフィールドとして、論理値“0”,“1”の値のみを許容する2値連想メモリ(Binary CAM)と、データフィールドにドントケアを許す3値連想メモリ(Ternary CAM)がある。本例では、3値連想メモリのことを単に連想メモリと呼び、明示しないデータフィールドはドントケアとして検索される。本例においてこの連想メモリ16には、通信情報データ161が格納される。 In the associative memory 16, data can be written by giving an address and data. In addition, when an address is given, data corresponding to the address can be read. Further, when data is given, an address matching the data can be searched. As a bit field, there are a binary associative memory (Binary CAM) that allows only logical values “0” and “1”, and a ternary associative memory (Ternary CAM) that allows don't care in a data field. In this example, the ternary associative memory is simply referred to as an associative memory, and a data field that is not specified is searched as don't care. In this example, the associative memory 16 stores communication information data 161.
 上記一般メモリ15は、非連想メモリであり、例えば上記プロセッサ11によってランダムアクセス可能なRAM(Random Access Memory)とされる。この一般メモリ15は、アドレスとデータが与えられてデータの書き込みが可能とされ、アドレスが与えられて対応するデータの読み出しが可能とされる。この一般メモリ15には、ソフトウェアデータ151、ワーキングデータ152、通信情報データ153が格納される。 The general memory 15 is a non-associative memory, for example, a RAM (Random Access Memory) that can be randomly accessed by the processor 11. The general memory 15 is provided with an address and data and can write data, and is provided with an address and can read corresponding data. The general memory 15 stores software data 151, working data 152, and communication information data 153.
 図2には、上記連想メモリ16における記憶領域の割り当てと、上記一般メモリ15における記憶領域の割り当てとの関係が示される。 FIG. 2 shows the relationship between the storage area allocation in the associative memory 16 and the storage area allocation in the general memory 15.
 カーネル112における通信プロトコル処理ソフトウェアがプロセッサ11で実行されることにより、連想メモリ16と一般メモリ15とにそれぞれ連想メモリ16の最大のデータ検索幅と、一般メモリ16上のその関連情報の登録サイズのデータ量が割り当てられる。 When the communication protocol processing software in the kernel 112 is executed by the processor 11, the maximum data search width of the associative memory 16 and the registered size of the related information on the general memory 16 are respectively stored in the associative memory 16 and the general memory 15. The amount of data is allocated.
 一般メモリ15及び連想メモリ16には、それら間で互いに対応するように、自身ネットワークアドレス領域201,301、通信相手ネットワークアドレス領域202,302、及び通信サービス状態領域203,303が割り当てられる。連想メモリ16の自身ネットワークアドレス領域301には自身(ここでは通信端末10)のネットワークアドレスが登録され、一般メモリ15においてそれに対応する自身ネットワークアドレス領域201には一般メモリ15上の自身ネットワークアドレス関連情報が登録される。連想メモリ16の通信相手ネットワークアドレス領域302には通信相手(ここでは通信相手21,22,23)のネットワークアドレスが登録され、一般メモリ15においてそれに対応する通信相手ネットワークアドレス領域202には一般メモリ15上の通信相手ネットワークアドレス関連情報が登録される。連想メモリ16の通信サービス状態領域303には、通信サービス状態が登録され、一般メモリ15においてそれに対応する通信サービス状態領域203には一般メモリ15上の通信状態関連情報が登録される。ここで、ネットワークアドレスとは、IP(Internet Protocol)アドレスを意味する。そして、一般メモリ15と連想メモリ16との間で互いに対応する領域によって通信情報テーブルが形成される。この通信端末10における通信プロトコル処理においては、上記通信情報テーブルの検索が行われる。検索の対象となるデータは、連想メモリ16に割り当てられる。そのデータ量が連想メモリのデータ検索幅未満であれば、検索の対象ではないデータを合わせて連想メモリ16に割り当ててもよい。また、検索の対象ではない残りのデータは一般メモリ15に割り当てられる。登録するデータ量が連想メモリ16の割り当てで十分であれば、一般メモリ15への割り当ては不要である。 The general memory 15 and the associative memory 16 are assigned their own network address areas 201 and 301, communication partner network address areas 202 and 302, and communication service status areas 203 and 303 so as to correspond to each other. The network address of itself (here, the communication terminal 10) is registered in the own network address area 301 of the associative memory 16, and the own network address related information on the general memory 15 is stored in the corresponding own network address area 201 of the general memory 15. Is registered. The network address of the communication partner (here, communication partners 21, 22, and 23) is registered in the communication partner network address area 302 of the associative memory 16, and the general memory 15 stores the network address in the communication partner network address area 202 corresponding thereto. The communication partner network address related information above is registered. The communication service state is registered in the communication service state area 303 of the associative memory 16, and the communication state related information in the general memory 15 is registered in the communication service state area 203 corresponding to the communication service state in the general memory 15. Here, the network address means an IP (Internet Protocol) address. A communication information table is formed by areas corresponding to each other between the general memory 15 and the associative memory 16. In the communication protocol processing in the communication terminal 10, the communication information table is searched. Data to be searched is assigned to the associative memory 16. If the amount of data is less than the data search width of the associative memory, the data not to be searched may be allocated to the associative memory 16 together. Further, the remaining data that is not a search target is allocated to the general memory 15. If the amount of data to be registered is sufficient for the allocation of the associative memory 16, the allocation to the general memory 15 is unnecessary.
 連想メモリ16及び一般メモリ15において、N番目の登録データは、次式によって算出されるメモリアドレスに格納される。 In the associative memory 16 and the general memory 15, the Nth registration data is stored at a memory address calculated by the following equation.
 すなわち、連想メモリ16においては、「連想メモリ上のその領域のメモリオフセットアドレス+(N-1)×連想メモリのデータ検索幅~連想メモリ上のその領域のメモリオフセットアドレス+N×連想メモリのデータ検索幅-1」によって得られるメモリアドレスに格納される。 That is, in the associative memory 16, “memory offset address of the area in the associative memory + (N−1) × data search width of the associative memory−memory offset address of the area in the associative memory + N × data search of the associative memory Stored in the memory address obtained by "width-1".
 また、一般メモリ15においては、「一般メモリ上のその領域のメモリオフセットアドレス+(N-1)×一般メモリ上のその関連情報の登録サイズ~一般メモリ上のその領域のメモリオフセットアドレス+N×一般メモリ上のその関連情報の登録サイズ-1」によって得られるメモリアドレスに格納される。 Further, in the general memory 15, “memory offset address of the area in the general memory + (N−1) × registered size of the related information in the general memory to memory offset address of the area in the general memory + N × general It is stored in the memory address obtained by “the registered size-1” of the related information on the memory.
 尚、連想メモリのデータ検索によって得られたメモリアドレスを、上述の式で逆算すれば、格納されている登録データの登録番号Nを求めることができる。 Incidentally, if the memory address obtained by the data search of the associative memory is back-calculated by the above formula, the registration number N of the stored registration data can be obtained.
 図3には、連想メモリ16上の登録データに関するフィールドの割り当てが示される。ここでフィールドとは、登録データ内の各属性を示す位置を意味する。 FIG. 3 shows assignment of fields related to registration data on the associative memory 16. Here, the field means a position indicating each attribute in the registration data.
 図3において、特に制限されないが、自身ネットワークアドレス領域における最大登録数は4(登録番号1~4)とされ、通信相手ネットワークアドレス領域における最大登録数は7(登録番号1~7)とされ、通信サービス状態領域における最大登録数は11(登録番号1~11)とされる。 In FIG. 3, although not particularly limited, the maximum registration number in the own network address area is 4 (registration numbers 1 to 4), the maximum registration number in the communication partner network address area is 7 (registration numbers 1 to 7), The maximum number of registrations in the communication service state area is 11 (registration numbers 1 to 11).
 自身ネットワークアドレス領域301には自身ネットワークアドレス情報が格納され、通信相手ネットワークアドレス領域302には通信相手ネットワークアドレス情報が格納され、通信サービス状態領域303には通信サービス状態情報が格納される。これらの情報は、紙面上左側から順に「領域識別情報」、「有効フラグ」、「検索対象」、「その他」の各フィードを含む。特に制限されないが、自身ネットワークアドレス領域301における領域識別情報フィールドは「1」とされ、通信相手ネットワークアドレス領域302における領域識別情報フィールドは「2」とされ、通信サービス状態領域303における領域識別情報フィールドは「3」とされることで、領域識別が可能とされる。上記各情報における有効フラグが「1」の場合に登録情報が有効とされ、「0」の場合に登録情報が無効とされる。 The own network address area 301 stores own network address information, the communication partner network address area 302 stores communication partner network address information, and the communication service state area 303 stores communication service state information. These pieces of information include “area identification information”, “valid flag”, “search target”, and “others” feeds in order from the left side of the page. Although not particularly limited, the area identification information field in its own network address area 301 is set to “1”, the area identification information field in the communication partner network address area 302 is set to “2”, and the area identification information field in the communication service status area 303 By setting “3” to “3”, the region can be identified. When the valid flag in each information is “1”, the registration information is valid, and when it is “0”, the registration information is invalid.
 自身ネットワークアドレス領域301における検索主対象フィールドには、自身ネットワークアドレスフィールド、及び参照数フィールドが含まれる。通信相手ネットワークアドレス領域302における検索主対象フィールドには、通信相手ネットワークアドレスフィールド、及び参照数フィールドが含まれる。これに対して、通信サービス状態領域303における検索主対象フィールドには、自身ネットワークアドレス登録番号フィールド303-1、通信相手ネットワークアドレス登録番号フィールド303-2、自身サービス番号フィールド303-3、通信相手サービス番号フィールド303-4が含まれる。自身ネットワークアドレス登録番号フィールド303-1には、自身ネットワークアドレスの登録番号が格納され、通信相手ネットワークアドレス登録番号フィールド303-2には、通信相手ネットワークアドレスの登録番号が格納され、自身サービス番号フィールド303-3には、自身サービス番号が格納され、通信相手サービス番号フィールド303-4には、通信相手サービス番号が格納される。ここで、サービス番号とは、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)のポート番号を意味する。 The search subject field in the own network address area 301 includes an own network address field and a reference number field. The search subject field in the communication partner network address area 302 includes a communication partner network address field and a reference number field. On the other hand, the search subject field in the communication service status area 303 includes a self network address registration number field 303-1, a communication partner network address registration number field 303-2, a self service number field 303-3, a communication partner service. A number field 303-4 is included. In the own network address registration number field 303-1, the registration number of the own network address is stored. In the other party network address registration number field 303-2, the registration number of the other party network address is stored. The own service number is stored in 303-3, and the communication partner service number is stored in the communication partner service number field 303-4. Here, the service number means a port number of TCP (Transmission Control Protocol) or UDP (User Datagram Protocol).
 上記各領域301~303におけるその他のフィールドには、通信プロトコルを処理する上でそれぞれのテーブルに合わせて持たせたほうがよい情報を適宜に割り当てることができる。例えば通信サービス状態テーブルのその他のフィールドには、通信相手との通信状態を示す情報(TCPプロトコルの場合は接続状態や送信シーケンス番号や受信応答番号等)の他に、送信データとして参照したり受信データを抽出して格納したりする一般メモリ15上のワーキングデータ領域のメモリアドレスや元領域サイズや転送済サイズを割り当てることができる。また、アプリケーションの識別番号(プロセス番号)やそのアプリケーション内の識別番号、最終処理時刻や、次に処理するべき時刻や、直前に処理するべき登録番号と次に処理するべき登録番号等を割り当てることができる。 In other fields in the above-described areas 301 to 303, information that should be provided in accordance with each table in processing the communication protocol can be appropriately assigned. For example, in the other fields of the communication service status table, in addition to information indicating the communication status with the communication partner (connection status, transmission sequence number, reception response number, etc. in the case of the TCP protocol), reference or reception as transmission data The memory address, the original area size, and the transferred size of the working data area on the general memory 15 where the data is extracted and stored can be assigned. Also, assign the application identification number (process number), the identification number in the application, the last processing time, the time to be processed next, the registration number to be processed immediately before and the registration number to be processed next, etc. Can do.
 通信状態領域303に割り当てる次に処理するべき時刻を連想メモリ16上に割り当て、領域識別情報フィールドに通信状態領域を示す値と、有効フラグフィールドに有効を示す値と、次に処理すべき時刻フィールドに現在時刻を与えて検索すると、現在処理するべき通信情報が検索結果として該当し、それに対する処理を行うことが可能となる。複数該当した場合は、それらに対して連続して処理を行えばよい。該当が無ければ、次の時刻になってから再検索すればよい。尚、処理を行う間に時刻が経過するのを防止するために、実際の時刻に替えて、擬似的な時刻、すなわち次に処理するべき順番と指示を与えると1増加するカウンタを用いてもよい。 A time to be processed next assigned to the communication status area 303 is allocated on the associative memory 16, a value indicating the communication status area in the area identification information field, a value indicating validity in the valid flag field, and a time field to be processed next. If the current time is given to the search, the communication information to be processed at present corresponds to the search result, and it is possible to perform the processing. If there are a plurality of hits, processing may be performed continuously on them. If there is no match, search again at the next time. In order to prevent the time from passing while processing is performed, a counter that increases by 1 when a pseudo time, that is, an order to be processed next and an instruction is given, may be used instead of the actual time. Good.
 直前に処理するべき登録番号と次に処理するべき登録番号を通信状態テーブルに割り当てると、処理を行う順番に並んだ論理的なキューを成す。それにより、連想メモリへの検索なしに、次に処理するべき登録番号を知ることができる。これらは一例であり、次に処理するべき登録番号の把握は他にも実施可能である。 When a registration number to be processed immediately before and a registration number to be processed next are assigned to the communication state table, a logical queue is formed in the order of processing. Thereby, the registration number to be processed next can be known without searching the associative memory. These are merely examples, and the registration number to be processed next can be grasped elsewhere.
 尚、各領域間のそれぞれのフィールドの位置は異なってもよい。連想メモリの領域識別情報フィールドをある程度揃えて、各テーブルを区別可能とすれば、他に制限はない。例えば、自身ネットワークアドレステーブルと通信相手ネットワークアドレステーブルの領域識別情報フィールドをそれぞれ2ビットとし、それらのフィールド位置を揃え、それぞれの値を「00」と「01」とする。また、通信状態テーブルの同じフィールドの位置の2ビットのうち、他のテーブルでは値が0である左の1ビットのみを領域識別情報フィールドとして値を1とし、残りの右の1ビットは有効フラグフィールドとして用いる等である。このようにしても、連想メモリ16に対するデータ検索において、各テーブルを区別して検索可能である。 In addition, the position of each field between each region may be different. There are no other restrictions as long as the area identification information fields of the associative memory are aligned to some extent so that each table can be distinguished. For example, the area identification information fields of the own network address table and the communication partner network address table are each 2 bits, their field positions are aligned, and the respective values are “00” and “01”. Of the 2 bits at the same field in the communication status table, only the left 1 bit, which is 0 in the other table, is set to 1 as the area identification information field, and the remaining 1 bit is the valid flag. It is used as a field. Even in this case, in the data search with respect to the associative memory 16, it is possible to distinguish and search each table.
 図4には、カーネル112による通信情報(テーブル)初期化手順が示される。 FIG. 4 shows a communication information (table) initialization procedure by the kernel 112.
 先ず、図2に示されるように、連想メモリ16と一般メモリ15とにそれぞれ自身ネットワークアドレス領域、通信相手ネットワークアドレス領域、通信サービス状態領域を割り当て、連想メモリ16と一般メモリ15とにまたがった同一名称領域をテーブルとみなす(S41)。つまり、連想メモリ16と一般メモリ15との自身ネットワークアドレス領域によって自身ネットワークアドレステーブルが形成され、連想メモリ16と一般メモリ15との通信相手ネットワークアドレス領域によって通信相手ネットワークアドレステーブルが形成され、連想メモリ16と一般メモリ15との通信サービス状態領域によって通信サービス状態テーブルが形成される。 First, as shown in FIG. 2, the network address area, the communication partner network address area, and the communication service status area are allocated to the associative memory 16 and the general memory 15 respectively, and the same across the associative memory 16 and the general memory 15. The name area is regarded as a table (S41). That is, the own network address table is formed by the own network address area of the associative memory 16 and the general memory 15, and the communication partner network address table is formed by the communication partner network address area of the associative memory 16 and the general memory 15. The communication service state table is formed by the communication service state area between the memory 16 and the general memory 15.
 次に、連想メモリ16における領域識別情報フィールドには、領域の識別を可能とする領域識別情報が設定され、有効フラグフィールドには無効を示す値が設定される(S42)。 Next, the area identification information field in the associative memory 16 is set with area identification information enabling identification of the area, and the valid flag field is set with a value indicating invalidity (S42).
 そして、自身ネットワークアドレス、通信相手ネットワークアドレス、通信サービス状態のそれぞれのテーブルの登録数が「0」に設定される(S43)。一般メモリ15におけるワーキングデータ152も「0」にされる。 Then, the registered number of each table of its own network address, communication partner network address, and communication service status is set to “0” (S43). The working data 152 in the general memory 15 is also set to “0”.
 以上により、本フローチャートに従った初期化手順が終了される。 Thus, the initialization procedure according to this flowchart is completed.
 図5には、登録対象データが与えられたカーネル112による各テーブル(自身ネットワークアドレステーブル、通信相手ネットワークアドレステーブル、通信サービス状態テーブル)への登録手順が示される。例えば自身ネットワークアドレステーブルへの登録は次のように行われる。 FIG. 5 shows a registration procedure to each table (own network address table, communication partner network address table, communication service state table) by the kernel 112 given the registration target data. For example, registration in the own network address table is performed as follows.
 先ず、自身ネットワークアドレステーブルの登録数が1以上であるか否かの判別が行われる(S501)。この判別において、自身ネットワークアドレステーブルの登録数が1以上であると判断された場合には、連想メモリ16に対して、自身ネットワークアドレステーブルの領域識別情報と有効を示す値と検索対象データを与えてデータの検索が行われる(S502)。そして、上記ステップS502の検索の結果、該当するデータが存在するか否かの判別が行われる(S503)。この判別において、該当するデータが存在しない、と判断された場合には、自身ネットワークアドレステーブルの登録数がチェックされる(S504)。上記ステップS504の判別において、自身ネットワークアドレステーブルの登録数は、そのテーブルの最大数未満である、と判断された場合には、連想メモリ16に対して、そのテーブルの領域識別情報と無効を示す値を与えてデータ検索が行われる(S505)。そして、上記ステップS505の検索結果の連想メモリ16のアドレスに対して、検索結果アドレスにそのテーブルの領域識別情報と有効を示す値と検索対象データが設定される(S506)。その後、連想メモリ16の検索結果から得られる登録番号に対応する一般メモリのアドレスに対して、検索対象ではないデータが設定される(S507)。そして、自身ネットワークアドレステーブルの登録数を1増やし、登録した事実と、検索結果アドレスから導出される登録番号を、読み出し元に返され(S508)、本フローチャートによる登録手順が終了される。 First, it is determined whether or not the number of registrations in the own network address table is 1 or more (S501). In this determination, if it is determined that the registered number of the own network address table is 1 or more, the area identification information of the own network address table, a value indicating validity, and the search target data are given to the associative memory 16. Data search is performed (S502). Then, as a result of the search in step S502, it is determined whether or not the corresponding data exists (S503). In this determination, if it is determined that the corresponding data does not exist, the number of registered network address tables is checked (S504). In the determination in step S504, if it is determined that the registered number of the own network address table is less than the maximum number of the table, the area identification information and invalidity of the table are indicated to the associative memory 16. Data search is performed by giving a value (S505). Then, with respect to the address of the associative memory 16 of the search result in step S505, the area identification information of the table, a value indicating validity and search target data are set in the search result address (S506). Thereafter, data that is not the search target is set for the address of the general memory corresponding to the registration number obtained from the search result of the associative memory 16 (S507). Then, the number of registrations in the own network address table is increased by 1, the fact of registration and the registration number derived from the search result address are returned to the reading source (S508), and the registration procedure according to this flowchart is terminated.
 また、上記ステップS501の判別において、そのテーブルの登録数は1以上ではない、すなわち、0である、と判断された場合には、連想メモリ16における登録番号1に対応するアドレスに対して、領域情報と有効を示す値と検索対象データが設定される(S511)。そして、一般メモリ15における登録番号1に対応するアドレスに対して、検索対象ではないデータが設定される(S512)。そして、自身ネットワークアドレステーブルの登録数を1増やし、登録した事実と、登録番号1が読み出し元に返され(S513)、本フローチャートによる登録手順が終了される。 If it is determined in step S501 that the number of registrations in the table is not 1 or more, that is, 0, an area corresponding to the registration number 1 in the associative memory 16 is stored. Information, a value indicating validity, and search target data are set (S511). Then, data that is not a search target is set for the address corresponding to the registration number 1 in the general memory 15 (S512). Then, the registration number of the own network address table is increased by 1, the fact of registration and the registration number 1 are returned to the reading source (S513), and the registration procedure according to this flowchart is terminated.
 さらに、上記ステップS503の判別において、該当するデータが存在する、と判断された場合には、登録済であった事実と、検索結果アドレスから導出される登録番号が読み出し元に返されて(S509)、本フローチャートによる登録手順が終了される。 Furthermore, if it is determined in step S503 that the corresponding data exists, the fact that the data has been registered and the registration number derived from the search result address are returned to the reading source (S509). ), The registration procedure according to this flowchart is completed.
 そして、上記ステップS504の判別において、そのテーブルの登録数は最大数に達している、と判断された場合には、これ以上登録できない事実を呼び出し元に返されて(S510)、本フローチャートによる登録手順が終了される。 If it is determined in step S504 that the number of registrations in the table has reached the maximum number, the fact that it can no longer be registered is returned to the caller (S510), and registration according to this flowchart is performed. The procedure is finished.
 以上、登録対象データが与えられたカーネル112による自身ネットワークアドレステーブルへの登録について説明したが、他のテーブル、すなわち、通信相手ネットワークアドレステーブル、通信サービス状態テーブルへの登録も同様に行われる。 As described above, the registration to the own network address table by the kernel 112 to which the registration target data is given has been described, but the registration to other tables, that is, the communication partner network address table and the communication service state table is performed in the same manner.
 このようにカーネル112は、通信情報の初期化手順の後で、1または複数の自身のネットワークアドレスを自身ネットワークアドレステーブルに登録する。自身のネットワークアドレスの値を導出する具体的な方法の一つは、静的なネットワークアドレスとして、予め定められた固定の値を用いる。他の方法は、動的なネットワークアドレスとして、通信プロトコル処理ソフトウェアの働きにより、ネットワークアドレスを生成したい旨をネットワークに対して問い合わせ、それに対する他の機器からの応答送信を受信し、その受信パケットから得られる値を利用して自身のネットワークアドレスを生成する。この登録において、参照数フィールドは0に設定する。また、上記の手順によって登録された情報は、以下の手順により削除することができる。 Thus, the kernel 112 registers one or a plurality of own network addresses in the own network address table after the communication information initialization procedure. One specific method for deriving the value of its own network address uses a predetermined fixed value as the static network address. The other method uses a communication protocol processing software as a dynamic network address to inquire the network that a network address is to be generated, receives a response transmission from another device, and receives the response from the received packet. It uses its value to generate its own network address. In this registration, the reference number field is set to zero. Information registered by the above procedure can be deleted by the following procedure.
 図6には、登録削除対象番号を与えられたカーネル112による各テーブル(自身ネットワークアドレステーブル、通信相手ネットワークアドレステーブル、通信サービス状態テーブル)からの登録削除手順が示される。例えば自身ネットワークアドレステーブルからの登録削除は次のように行われる。 FIG. 6 shows a registration deletion procedure from each table (own network address table, communication partner network address table, communication service state table) by the kernel 112 given the registration deletion target number. For example, registration deletion from the own network address table is performed as follows.
 先ず、自身ネットワークアドレステーブルの登録数は1以上であるか否かの判別が行われる(S61)。この判別において、自身ネットワークアドレステーブルの登録数が1以上であると判断された場合には、登録削除対象番号から得られる連想メモリ16アドレスに対して、データが参照される(S62)。そして、上記ステップS62でのデータ参照の結果、有効フラグの状態が有効か無効かの判別が行われる(S63)。この判別において、有効フラグは有効である、と判断された場合には、登録削除対象番号から得られる連想メモリのアドレスに対して、自身ネットワークアドレステーブルの領域識別情報と無効を示す値が設定される(S64)。そして、自身ネットワークアドレステーブルの登録数を1減らし、登録削除した事実が呼び出し元に返され(S65)、本フローチャートによる登録削除手順が終了される。 First, it is determined whether or not the number of registered network address tables is 1 or more (S61). In this determination, when it is determined that the number of registrations in the network address table is 1 or more, data is referred to the associative memory 16 address obtained from the registration deletion target number (S62). Then, as a result of the data reference in step S62, it is determined whether the valid flag is valid or invalid (S63). In this determination, if it is determined that the valid flag is valid, the area identification information in the network address table and a value indicating invalidity are set for the address of the associative memory obtained from the registration deletion target number. (S64). Then, the number of registrations in the own network address table is reduced by 1, and the fact that the registration has been deleted is returned to the caller (S65), and the registration deletion procedure according to this flowchart is terminated.
 また、上記ステップS61の判別において、自身ネットワークアドレステーブルの登録数が1以上ではない、すなわち、0である、と判断された場合や、上記ステップS63の判別において、有効フラグは無効である、と判断された場合には、登録削除が行われることなく、本フローチャートによる登録削除手順が終了される。 In the determination in step S61, if it is determined that the number of registered network address tables is not 1 or more, that is, 0, or in the determination in step S63, the validity flag is invalid. If it is determined, the registration deletion procedure according to this flowchart is terminated without deleting the registration.
 以上、自身ネットワークアドレステーブルからの登録削除について説明したが、他のテーブル、すなわち、通信相手ネットワークアドレステーブル、通信サービス状態テーブルからの登録削除も同様に行われる。 Although the registration deletion from the own network address table has been described above, the registration deletion from other tables, that is, the communication partner network address table and the communication service status table is performed in the same manner.
 図7には、アプリケーション識別番号と送信対象通信サービス状態登録番号と送信対象データが与えられた場合のカーネル112による送信処理手順が示される。 FIG. 7 shows a transmission processing procedure by the kernel 112 when an application identification number, a transmission target communication service state registration number, and transmission target data are given.
 先ず、送信対象通信サービス状態登録番号に対応する連想メモリ16及び一般メモリ15における通信サービス状態領域のアドレスから、データが参照される(S71)。そして、上記ステップS71でのデータ参照の結果、有効フラグの状態が有効か無効化の判別が行われる(S72)。この判別において、有効フラグの状態は有効である、と判断された場合には、上記ステップS71でのデータ参照の結果、アプリケーション識別番号は、与えられたアプリケーション識別番号と同じか、異なるかの判別が行われる(S73)。上記ステップS73の判別において、アプリケーション識別番号は、与えられたアプリケーション識別番号と同じである、と判断された場合には、参照した自身ネットワークアドレス登録番号に対応する連想メモリ16の自身ネットワークアドレス領域のアドレス301から自身ネットワークアドレスが参照される(S74)。そして、参照した通信相手ネットワークアドレス登録番号に対応する連想メモリ16における通信相手ネットワークアドレス領域302のアドレスから、通信相手ネットワークアドレスが参照される(S75)。その後、参照したデータと送信対象データとから送信パケットが生成され、それがネットワーク30を介して通信相手に送信される(S76)。そして、必要に応じて各テーブルの通信情報が更新され(S77)、送信した事実を呼び出し元に返され(S78)、本フローチャートによる送信処理が終了される。また、上記ステップS72の判別において、有効フラグの状態が無効である、と判断された場合や、上記ステップS73の判別において、アプリケーション識別番号は、与えられたアプリケーション識別番号と異なる、と判断された場合には、送信は無効である事実が呼び出し元に返された後(S79)、本フローチャートによる送信処理が終了される。 First, data is referenced from the address of the communication service state area in the associative memory 16 and the general memory 15 corresponding to the transmission target communication service state registration number (S71). Then, as a result of the data reference in step S71, it is determined whether the valid flag is valid or invalid (S72). In this determination, if it is determined that the status of the valid flag is valid, it is determined whether the application identification number is the same as or different from the given application identification number as a result of the data reference in step S71. Is performed (S73). If it is determined in step S73 that the application identification number is the same as the given application identification number, the self-network address area of the associative memory 16 corresponding to the referenced self-network address registration number is determined. The own network address is referred to from the address 301 (S74). Then, the communication partner network address is referenced from the address of the communication partner network address area 302 in the associative memory 16 corresponding to the referenced communication partner network address registration number (S75). Thereafter, a transmission packet is generated from the referenced data and the transmission target data, and is transmitted to the communication partner via the network 30 (S76). Then, the communication information in each table is updated as necessary (S77), the transmitted fact is returned to the caller (S78), and the transmission process according to this flowchart is terminated. Further, when it is determined in the determination in step S72 that the state of the valid flag is invalid, or in the determination in step S73, it is determined that the application identification number is different from the given application identification number. In this case, after the fact that the transmission is invalid is returned to the caller (S79), the transmission process according to this flowchart is terminated.
 図8には、カーネル112による受信プロトコル処理手順が示される。 FIG. 8 shows a reception protocol processing procedure by the kernel 112.
 ネットワーク30を介して通信端末10でパケットが受信されると、当該パケットが解析され、宛先と送信元のネットワークアドレスとサービス番号が抽出される(S801)。そして、連想メモリ16に対して、自身ネットワークアドレステーブルの領域識別情報と有効を示す値と宛先(自身候補)ネットワークアドレスが与えられて、データ検索が行われる(S802)。 When a packet is received by the communication terminal 10 via the network 30, the packet is analyzed, and a destination, a network address of a transmission source, and a service number are extracted (S801). Then, the associative memory 16 is provided with region identification information in the own network address table, a value indicating validity, and a destination (own candidate) network address, and a data search is performed (S802).
 そして、上記ステップS802でのデータ検索の結果、該当するデータが存在するか否かの判別が行われる(S803)。この判別において、該当するデータが存在する、と判断された場合には、連想メモリ16に対して、通信相手ネットワークアドレステーブルの領域識別情報と有効を示す値と送信元(通信相手)ネットワークアドレスが与えられて、データ検索が行われる(S804)。そして、上記ステップS804のデータ検索の結果、該当するデータが存在するか否かの判別が行われる(S805)。この判別において、該当するデータが存在する、と判断された場合には、連想メモリ16に対して、通信サービス状態テーブルの領域識別情報と有効を示す値と、検索で得られた自身ネットワークアドレス登録番号と通信相手ネットワークアドレス番号と、宛先(自身候補)と送信元(通信相手)のサービス番号が与えられて、データ検索が行われる(S806)。そして、上記ステップS806のデータ検索の結果、該当するデータが存在するか否かの判別が行われる(S807)。この判別において、該当するデータが存在する、と判断された場合には、必要に応じて受信パケットから受信対象データが抽出され、それが一般メモリ15に書き込まれてアプリケーション113に渡される(S808)。また、必要に応じて、各テーブルの通信情報テーブルの通信情報が更新される(S809)。さらに、必要に応じて、対応するアプリケーション113に処理が渡され(S810)、本フローチャートによる受信プロトコル処理が終了される。 Then, as a result of the data search in step S802, it is determined whether or not the corresponding data exists (S803). In this determination, if it is determined that the corresponding data exists, the area identification information of the communication partner network address table, the value indicating validity, and the transmission source (communication partner) network address are stored in the associative memory 16. Given this, a data search is performed (S804). Then, as a result of the data search in step S804, it is determined whether or not the corresponding data exists (S805). In this determination, if it is determined that the corresponding data exists, the area identification information of the communication service state table and the value indicating validity are registered in the associative memory 16 and the own network address obtained by the search. The number, the communication partner network address number, the destination (self candidate), and the service number of the transmission source (communication partner) are given, and data search is performed (S806). Then, as a result of the data search in step S806, it is determined whether or not the corresponding data exists (S807). In this determination, if it is determined that the corresponding data exists, the reception target data is extracted from the reception packet as necessary, and is written in the general memory 15 and passed to the application 113 (S808). . Moreover, the communication information of the communication information table of each table is updated as needed (S809). Further, if necessary, the process is passed to the corresponding application 113 (S810), and the reception protocol process according to this flowchart is terminated.
 また、上記ステップS803の判別において、該当するデータが存在しない、と判断された場合には、必要に応じて対応する処理が行われた(S811)後に、本フローチャートによる受信プロトコル処理が終了される。 If it is determined in step S803 that the corresponding data does not exist, the corresponding processing is performed as necessary (S811), and then the reception protocol processing according to this flowchart is terminated. .
 上記ステップS805の判別において、該当するデータが存在しない、と判断された場合には、宛先(自身候補)と送信元(通信相手)のネットワークアドレスとサービス番号から、新たな通信サービスを開始するか否かの判別が行われる(S812,S813)。この判別において、新たな通信サービスを開始すると判断された場合には、自身ネットワークアドレスの登録の参照フィールドが1増やされ、送信元ネットワークアドレスが、参照数1として通信相手ネットワークアドレステーブルに登録される(S815)。そして、自身と通信相手のネットワークアドレス登録番号とサービス番号が通信サービス状態テーブルに登録された(S816)後、上記ステップS808の処理に遷移される。 If it is determined in step S805 that no corresponding data exists, a new communication service is started from the network address and service number of the destination (self candidate), the transmission source (communication partner) It is determined whether or not (S812, S813). In this determination, when it is determined that a new communication service is started, the reference field for registering the own network address is incremented by 1, and the transmission source network address is registered in the communication partner network address table as the reference number 1. (S815). Then, after the network address registration number and the service number of itself and the communication partner are registered in the communication service state table (S816), the process proceeds to step S808.
 また、上記ステップS813の判別において、新たな通信サービスを開始しないと判断された場合には、上記ステップS811の処理に遷移される。 If it is determined in step S813 that the new communication service is not started, the process proceeds to step S811.
 さらに、上記ステップS807の判別において、該当するデータが存在しない、と判断された場合には、宛先(自身候補)と送信元(通信相手)のネットワークアドレスとサービス番号から、新たな通信サービスを開始するか否かの判別が行われる(S817,S818)。この判別において、新たな通信サービスを開始する、と判断された場合には、自身ネットワークアドレスの登録と通信相手ネットワークアドレスの参照フィールドが1増やされ(S819)、自身と通信相手のネットワークアドレス登録番号とサービス番号が通信サービス状態テーブルに登録された(S820)後、上記ステップS808の処理に遷移される。また、上記ステップS817,S818の判別において、新たな通信サービスを開始しない、と判断された場合には、上記ステップS811に遷移される。 Further, if it is determined in step S807 that there is no corresponding data, a new communication service is started from the network address and service number of the destination (self candidate), the transmission source (communication partner). It is determined whether or not to perform (S817, S818). If it is determined in this determination that a new communication service is to be started, the own network address registration and the communication partner network address reference field are incremented by one (S819), and the network address registration number of itself and the communication partner is increased. And the service number are registered in the communication service state table (S820), the process proceeds to step S808. If it is determined in step S817 or S818 that a new communication service is not started, the process proceeds to step S811.
 上記の受信プロトコル処理によれば、通信情報から受信パケットに該当する登録を検索する処理を高速に達成可能となる。 According to the above reception protocol processing, it is possible to achieve the processing for searching the registration corresponding to the received packet from the communication information at high speed.
 また、上記の受信プロトコル処理によれば、検索対象のデータフィールドが一つあたり連想メモリのデータ検索幅に近く、そのようなデータフィールド複数を組にしたものが本来の検索対象であっても、実施可能であることを示した。例えば、自身と通信相手のネットワークアドレスとサービス番号が通信サービスを決定するすなわち検索対象となるが、IPv6(IP Version 6)とTCPによる通信を行う場合は、IPv6アドレスは128ビットであり、TCPポート番号は16ビットであり、検索対象となる組は288ビットであるのに対して、現在実現されている連想メモリはせいぜい144ビットのデータ検索幅が多い。そのような連想メモリを用いても、本例は実施可能である。 Further, according to the above reception protocol processing, the data field to be searched is close to the data search width of the associative memory per one, and even if a set of such data fields is the original search object, It was shown that it was feasible. For example, the network address and service number of the communication partner and the communication partner determine the communication service, that is, the search target, but when performing communication with IPv6 (IP Version 6) using TCP, the IPv6 address is 128 bits and the TCP port The number is 16 bits and the set to be searched is 288 bits, whereas the associative memory currently implemented has a data search width of 144 bits at most. Even if such an associative memory is used, this example can be implemented.
 上記例によれば、以下の作用効果を得ることができる。 According to the above example, the following effects can be obtained.
 上記プロセッサ11が、端末自身と通信相手のネットワークアドレスと通信サービス番号を上記連想メモリに設定し、上記プロセッサ11が、上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号を与えてデータ検索を行い、さらに、上記プロセッサ11が、上記データ検索で得られた結果から、上記受信パケットに対応するメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応するメモリ領域に格納する。このような処理手順により、通信端末が多くの相手と通信する場合に、通信情報から受信パケットに該当する登録を検索する処理を高速に達成可能となる。それにより、通信性能の向上や通信可能な相手数の増加が図れ、ひいては通信の上で提供されるサービスの拡充が図れる。また、通信端末のプロセッサの処理負荷や共有バスのアクセス負荷の低減が可能となり、通信端末が提供する通信以外のサービスや低消費電力化も図れる。 The processor 11 sets the network address and communication service number of the terminal itself and the communication partner in the associative memory, and the processor 11 stores the destination extracted from the received packet and the network address of the transmission source in the associative memory. A data search is performed by giving a communication service number. Further, the processor 11 determines a memory area corresponding to the received packet from the result obtained by the data search, and receives the reception target data extracted from the received packet. Store in the corresponding memory area. With such a processing procedure, when the communication terminal communicates with many other parties, it is possible to achieve a process for searching for a registration corresponding to the received packet from the communication information at high speed. As a result, communication performance can be improved and the number of communicable parties can be increased, and as a result, services provided through communication can be expanded. In addition, the processing load of the processor of the communication terminal and the access load of the shared bus can be reduced, and services other than communication provided by the communication terminal and low power consumption can be achieved.
 <実施の形態2>
 図9には、本発明の実施の形態にかかる通信端末の別の構成例が示される。
<Embodiment 2>
FIG. 9 shows another configuration example of the communication terminal according to the embodiment of the present invention.
 図9に示される通信端末10が、図1に示されるのと大きくことなるのは、通信プロトコル処理回路91が設けられ、この通信プロトコル処理回路91によって通信プロトコル処理が行われるようになっている点である。そして、図9に示される通信端末10においては、通信プロトコル処理回路91によって通信プロトコル処理が行われる結果、カーネル112による信プロトコル処理は行われない。 The communication terminal 10 shown in FIG. 9 is greatly different from that shown in FIG. 1 in that a communication protocol processing circuit 91 is provided, and the communication protocol processing circuit 91 performs communication protocol processing. Is a point. In the communication terminal 10 shown in FIG. 9, the communication protocol processing is performed by the communication protocol processing circuit 91. As a result, the communication protocol processing by the kernel 112 is not performed.
 上記通信プロトコル処理回路91は、CPUや論理ゲートによって構成することができる。一般メモリ15A,15Bが設けられ、一般メモリ15Aには、ソフトウェアデータ252やワーキングデータ152が格納される。一般メモリ15Bには、通信情報データ153が格納される。連想メモリ16と一般メモリ15Bとが通信プロトコル処理回路91に結合される。通信プロトコル処理回路91は、初期化手段91A、登録処理手段91B、登録削除処理手段91C、送信処理手段91D、及び受信処理手段91Eを含む。初期化手段91Aは、図4に示される手順と同様の手順により初期化処理を行う。登録処理手段91Bは、図5に示される手順と同様の手順により登録処理を行う。登録削除処理手段91Cは、図6に示されるのと同様の手順により登録削除処理を行う。送信処理手段91Dは、図7に示されるのと同様の手順により送信処理を行う。受信処理手段91Eは、図8に示されるのと同様の手順により受信処理を行う。 The communication protocol processing circuit 91 can be constituted by a CPU or a logic gate. General memories 15A and 15B are provided, and software data 252 and working data 152 are stored in the general memory 15A. Communication information data 153 is stored in the general memory 15B. The associative memory 16 and the general memory 15B are coupled to the communication protocol processing circuit 91. The communication protocol processing circuit 91 includes an initialization unit 91A, a registration processing unit 91B, a registration deletion processing unit 91C, a transmission processing unit 91D, and a reception processing unit 91E. The initialization unit 91A performs initialization processing according to a procedure similar to the procedure shown in FIG. The registration processing unit 91B performs the registration process according to the same procedure as that shown in FIG. The registration deletion processing unit 91C performs the registration deletion processing according to the same procedure as shown in FIG. The transmission processing unit 91D performs transmission processing according to the same procedure as shown in FIG. The reception processing unit 91E performs reception processing according to the same procedure as shown in FIG.
 図9に示される構成によれば、プロセッサ11とは別に、通信プロトコル処理専用の回路である通信プロトコル処理回路91を有することから、プロセッサ11における処理の負担軽減を図ることができる。 According to the configuration shown in FIG. 9, since the communication protocol processing circuit 91, which is a circuit dedicated to communication protocol processing, is provided separately from the processor 11, the processing load on the processor 11 can be reduced.
 <実施の形態3>
 図1や図9に示される構成において、連想メモリ16の構成上、登録可能なデータ幅を十分に広くとれる場合には、連想メモリ16上の登録データに関するフィールドの割り当てを、図10に示されるようにすると良い。図10に示されるフィールド割り当て例によれば、有効フラグ、検索対象、その他の順に割り当てられる。そして上記検索対象として、自身と通信相手のネットワークアドレスと、自身と通信相手のサービス番号が割り当てられる。このようにすれば、各登録番号に対して、それに対応する有効フラグ、検索対象、その他が割り当てられているため、連想メモリ16を用いたデータ検索回数の低減を図ることができる。すなわち、図3に示されるフィールドの割り当ての場合、例えば受信プロトコル処理においては、図8に示されるように、3回の検索(テップS802,S804,S806)が必要とされるのに対して、図10に示されるフィールドの割り当ての場合、1回のデータ検索で、必要なデータを得ることができるので、検索の高速化を図ることができる。
<Embodiment 3>
In the configuration shown in FIG. 1 or FIG. 9, when the registerable data width can be sufficiently wide due to the configuration of the associative memory 16, the field assignment for the registered data in the associative memory 16 is shown in FIG. It is good to do so. According to the field assignment example shown in FIG. 10, the valid flag, the search target, and others are assigned in this order. Then, as the search target, the network address of the communication partner and the service number of the communication partner are allocated. In this way, each registration number is assigned a valid flag, a search target, and the like corresponding thereto, so that the number of data searches using the associative memory 16 can be reduced. That is, in the case of field assignment shown in FIG. 3, for example, in the reception protocol processing, as shown in FIG. 8, three searches (steps S802, S804, and S806) are required. In the case of field assignment shown in FIG. 10, since necessary data can be obtained by one data search, it is possible to speed up the search.
 以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 Although the invention made by the present inventor has been specifically described above, the present invention is not limited thereto, and it goes without saying that various changes can be made without departing from the scope of the invention.
 例えば、登録数が比較的少ないもの、例えば自身ネットワークアドレステーブルは、連想メモリを用いずに、実施の形態1では一般メモリ上に割り当て、実施の形態2ではレジスタを設けてそこに割り当て、検索してもよい。 For example, a relatively small number of registrations, for example, the own network address table, are allocated on the general memory in the first embodiment without using an associative memory, and a register is allocated and searched for in the second embodiment. May be.
 データリンクアドレステーブル所謂ARP(Address Resolution Protocol)テーブル、ルーティングテーブル、IPv4(IP Version 4)テーブル、IPv6テーブル、通信相手IPアドレスに対する暗号通信情報テーブル、サービス受付テーブル(受動的通信サービス番号テーブル)、マルチメモリ端末やマルチプロセッサ端末における通信情報とメモリセグメントやプロセッサ番号の関係をテーブル化したもの、及びメモリセグメントやプロセッサ番号とアプリケーションの関係をテーブル化したもの、更に、複数の連想メモリを用いてもよい。その場合、一つのテーブルが複数の連想メモリにまたがる場合は、そのテーブルに対するデータ検索をそれらの連想メモリそれぞれに対して行い、検索したそれぞれの結果を総じて、該当が無いか、1件の該当が有るかを得る。また、一つのテーブルだけが割り当てられる連想メモリには、領域識別情報フィールドが不要となる。 Data link address table so-called ARP (Address Resolution Protocol) table, routing table, IPv4 (IP Version 4) table, IPv6 table, encrypted communication information table for communication partner IP address, service reception table (passive communication service number table), multi A table showing the relationship between communication information and memory segments and processor numbers in memory terminals and multiprocessor terminals, a table showing the relationship between memory segments and processor numbers and applications, and a plurality of associative memories may be used. . In that case, when one table spans multiple associative memories, a data search for that table is performed for each of those associative memories, and the results of the search are not found or there is no match. Get what you have. Further, the associative memory to which only one table is allocated does not require the area identification information field.
 以上の説明では主として本発明者によってなされた発明をその背景となった利用分野である通信端末に適用した場合について説明したが、本発明はそれに限定されるものではない。 In the above description, the case where the invention made by the present inventor is mainly applied to the communication terminal which is the field of use behind the present invention has been described. However, the present invention is not limited thereto.
 本発明の通信プロトコル処理方法及び通信プロトコル処理回路並びに通信端末は、サーバ装置やPC(Personal Computer)やAV(Audio/Visual)機器をはじめとして、ネットワーク上で認証や通信サービスのデータ変換(コンテンツ変換)を行うプロキシ装置やゲートウェイ装置等の、ネットワーク対応機器に利用可能である。 The communication protocol processing method, communication protocol processing circuit, and communication terminal of the present invention include authentication and communication data conversion (content conversion) on a network including a server device, a PC (Personal Computer), and an AV (Audio / Visual) device. Can be used for network compatible devices such as proxy devices and gateway devices.

Claims (6)

  1.  連想メモリと、上記連想メモリにアクセス可能なプロセッサと、を有する通信端末における通信プロトコル処理方法であって、
     上記プロセッサが、端末自身と通信相手のネットワークアドレスと通信サービス番号を上記連想メモリに設定するステップと、
     上記プロセッサが、上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号を与えてデータ検索を行うステップと、
     上記プロセッサが、上記データ検索で得られた結果から、上記受信パケットに対応するメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応するメモリ領域に格納するステップと、
     上記プロセッサが、上記受信パケットに対応する処理を決定するステップと、を含むことを特徴とする通信プロトコル処理方法。
    A communication protocol processing method in a communication terminal having an associative memory and a processor capable of accessing the associative memory,
    The processor sets the network address and communication service number of the terminal itself and the communication partner in the associative memory;
    The processor performs a data search with respect to the associative memory by giving a destination extracted from a received packet, a network address of a transmission source, and a communication service number;
    The processor determines a memory area corresponding to the received packet from the result obtained by the data search, and stores the reception target data extracted from the received packet in the corresponding memory area;
    And a step of determining the processing corresponding to the received packet by the processor.
  2.  連想メモリと、上記連想メモリにアクセス可能なプロセッサと、を有する通信端末における通信プロトコル処理方法であって、
     上記プロセッサが、端末自身と通信相手のネットワークアドレスとネットワークアドレスの登録番号と通信サービス番号を上記連想メモリに設定するステップと、
     上記プロセッサが、上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスを与えて第1のデータ検索を行うステップと、
     上記プロセッサが、上記第1のデータ検索で得られた結果から、上記抽出した宛先と送信元のネットワークアドレスの登録番号を決定し、上記連想メモリに対して、上記決定した宛先と送信元のネットワークアドレスの登録番号と上記受信パケットから抽出した宛先と送信元の通信サービス番号を与えて第2のデータ検索を行うステップと、
     上記プロセッサが、上記第2のデータ検索で得られた結果から、上記受信パケットに対応するメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応するメモリ領域に格納するステップと、
     上記プロセッサが、上記受信パケットに対応する処理を決定するステップと、を含むことを特徴とする通信プロトコル処理方法。
    A communication protocol processing method in a communication terminal having an associative memory and a processor capable of accessing the associative memory,
    The processor sets the network address of the terminal itself and the communication partner, the registration number of the network address, and the communication service number in the associative memory;
    The processor provides the content addressable memory with a destination extracted from a received packet and a network address of a transmission source to perform a first data search;
    The processor determines a registration number of the extracted destination and source network address from the result obtained in the first data search, and determines the destination and source network determined in the associative memory. Performing a second data search by providing a registration number of the address, a destination extracted from the received packet, and a communication service number of the transmission source;
    The processor determines a memory area corresponding to the received packet from the result obtained in the second data search, and stores the reception target data extracted from the received packet in the corresponding memory area;
    And a step of determining the processing corresponding to the received packet by the processor.
  3.  連想メモリと、上記連想メモリにアクセス可能なプロセッサと、を有する通信端末における通信プロトコル処理方法であって、
     上記プロセッサが、端末自身と通信相手のネットワークアドレスと通信サービス番号を上記連想メモリに設定するステップと、
     上記プロセッサが、受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号を上記連想メモリに与えてデータ検索を行うステップと、
     上記プロセッサが、上記データ検索で得られた結果から、上記受信パケットに対応する第1のメモリ領域を決定し、上記決定した第1のメモリ領域のデータを参照するステップと、
     上記プロセッサが、上記参照で得られたデータから、上記受信パケットに対応する第2のメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応する第2のメモリ領域に格納するステップと、
     上記プロセッサが、上記受信パケットに対応する処理を決定するステップと、を含むことを特徴とする通信プロトコル処理方法。
    A communication protocol processing method in a communication terminal having an associative memory and a processor capable of accessing the associative memory,
    The processor sets the network address and communication service number of the terminal itself and the communication partner in the associative memory;
    The processor provides the associative memory with the destination extracted from the received packet, the network address of the transmission source and the communication service number, and performs a data search;
    The processor determines a first memory area corresponding to the received packet from the result obtained by the data search, and refers to the data of the determined first memory area;
    The processor determines a second memory area corresponding to the received packet from the data obtained by the reference, and stores the reception target data extracted from the received packet in the corresponding second memory area. When,
    And a step of determining the processing corresponding to the received packet by the processor.
  4.  連想メモリと、上記連想メモリの情報を参照して通信プロトコル処理を行う通信プロトコル処理回路と、を含む通信端末であって、
     上記通信プロトコル処理回路は、通信端末自身と通信相手のネットワークアドレスと通信サービス番号を上記連想メモリに設定可能な設定部と、
     上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号をデータ検索する検索部と、
     上記データ検索で得られた結果から、上記受信パケットに対応するメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応するメモリ領域に格納する格納部と、
     上記受信パケットに対応する処理を決定する処理部と、を含むことを特徴とする通信端末。
    A communication terminal including an associative memory and a communication protocol processing circuit that performs communication protocol processing with reference to information in the associative memory,
    The communication protocol processing circuit includes a setting unit capable of setting a network address and a communication service number of the communication terminal itself and a communication partner in the associative memory,
    A search unit that searches the associative memory for data extracted from a destination extracted from a received packet, a network address of a transmission source, and a communication service number;
    A storage unit that determines a memory area corresponding to the received packet from the result obtained by the data search, and stores reception target data extracted from the received packet in the corresponding memory area;
    And a processing unit for determining a process corresponding to the received packet.
  5.  連想メモリと、上記連想メモリの情報を参照して通信プロトコル処理を行う通信プロトコル処理回路と、を含む通信端末であって、
     上記通信プロトコル処理回路は、通信端末自身と通信相手のネットワークアドレスとネットワークアドレスの登録番号と通信サービス番号を上記連想メモリに設定可能な設定部と、
     上記連想メモリに対して、受信パケットから抽出した宛先と送信元のネットワークアドレスを与えて第1のデータ検索を行う第1の検索部と、
     上記第1のデータ検索で得られた結果から、上記抽出した宛先と送信元のネットワークアドレスの登録番号を決定し、上記連想メモリに対して、上記決定した宛先と送信元のネットワークアドレスの登録番号と上記受信パケットから抽出した宛先と送信元の通信サービス番号を与えて第2のデータ検索を行う第2の検索部と、
     上記第2のデータ検索で得られた結果から、上記受信パケットに対応するメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応するメモリ領域に格納する格納部と、
     上記受信パケットに対応する処理を決定する処理部と、を含むことを特徴とする通信端末。
    A communication terminal including an associative memory and a communication protocol processing circuit that performs communication protocol processing with reference to information in the associative memory,
    The communication protocol processing circuit includes a setting unit capable of setting a network address of a communication terminal itself and a communication partner, a network address registration number, and a communication service number in the content addressable memory,
    A first search unit that performs a first data search by giving a destination extracted from a received packet and a network address of a transmission source to the associative memory;
    From the result obtained in the first data search, a registration number of the extracted destination and source network address is determined, and the determined destination and source network address registration number is stored in the associative memory. And a second search unit that performs a second data search by giving a destination extracted from the received packet and a communication service number of the transmission source,
    A storage unit for determining a memory area corresponding to the received packet from the result obtained in the second data search, and storing reception target data extracted from the received packet in the corresponding memory area;
    And a processing unit for determining a process corresponding to the received packet.
  6.  連想メモリと、上記連想メモリの情報を参照して通信プロトコル処理を行う通信プロトコル処理回路と、を含む通信端末であって、
     上記通信プロトコル処理回路は、通信端末自身と通信相手のネットワークアドレスと通信サービス番号を上記連想メモリに設定する設定部と、
     受信パケットから抽出した宛先と送信元のネットワークアドレスと通信サービス番号を上記連想メモリに与えてデータ検索を行う検索部と、
     上記データ検索で得られた結果から、上記受信パケットに対応する第1のメモリ領域を決定し、上記決定した第1のメモリ領域のデータを参照する参照部と、
     上記参照で得られたデータから、上記受信パケットに対応する第2のメモリ領域を決定し、上記受信パケットから抽出した受信対象データを上記対応する第2のメモリ領域に格納する格納部と、
     上記受信パケットに対応する処理を決定する処理部と、を含むことを特徴とする通信端末。
    A communication terminal including an associative memory and a communication protocol processing circuit that performs communication protocol processing with reference to information in the associative memory,
    The communication protocol processing circuit is configured to set a network address and a communication service number of the communication terminal itself and a communication partner in the associative memory;
    A search unit for performing a data search by giving a destination address extracted from a received packet, a network address of a transmission source, and a communication service number to the associative memory;
    A reference unit that determines a first memory area corresponding to the received packet from a result obtained by the data search, and refers to data of the determined first memory area;
    A storage unit for determining a second memory area corresponding to the received packet from the data obtained by the reference, and storing the reception target data extracted from the received packet in the corresponding second memory area;
    And a processing unit for determining a process corresponding to the received packet.
PCT/JP2009/002454 2008-06-25 2009-06-02 Communication protocol processing method and communication terminal WO2009157138A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010517687A JP5038496B2 (en) 2008-06-25 2009-06-02 Communication protocol processing method and communication terminal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008165586 2008-06-25
JP2008-165586 2008-06-25

Publications (1)

Publication Number Publication Date
WO2009157138A1 true WO2009157138A1 (en) 2009-12-30

Family

ID=41444211

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/002454 WO2009157138A1 (en) 2008-06-25 2009-06-02 Communication protocol processing method and communication terminal

Country Status (2)

Country Link
JP (1) JP5038496B2 (en)
WO (1) WO2009157138A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10145453A (en) * 1996-11-15 1998-05-29 Nippon Telegr & Teleph Corp <Ntt> Method and device for processing communication protocol
JP2007274056A (en) * 2006-03-30 2007-10-18 Oki Electric Ind Co Ltd Datagram reassembling apparatus
JP2008118298A (en) * 2006-11-01 2008-05-22 Yokogawa Electric Corp Traffic measuring apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10145453A (en) * 1996-11-15 1998-05-29 Nippon Telegr & Teleph Corp <Ntt> Method and device for processing communication protocol
JP2007274056A (en) * 2006-03-30 2007-10-18 Oki Electric Ind Co Ltd Datagram reassembling apparatus
JP2008118298A (en) * 2006-11-01 2008-05-22 Yokogawa Electric Corp Traffic measuring apparatus

Also Published As

Publication number Publication date
JPWO2009157138A1 (en) 2011-12-08
JP5038496B2 (en) 2012-10-03

Similar Documents

Publication Publication Date Title
CN108449282B (en) Load balancing method and device
EP2965486B1 (en) Low latency server-side redirection of udp-based transport protocols traversing a client-side nat-firewall
US7594031B2 (en) Network address selection
US20200228433A1 (en) Computer-readable recording medium including monitoring program, programmable device, and monitoring method
US10771342B2 (en) Encoding and verifying network intents for stateful networks
AU2020307540B2 (en) Securing communications between services in a cluster using load balancing systems and methods
US11606301B2 (en) Verifying intents in stateful networks using atomic address objects
US10348692B2 (en) Method and apparatus for anonymous access and control of a service node
WO2012053162A1 (en) Name-database server, name-resolution system, entry-search method, and entry-search program
JP2010074353A (en) Information processor, information processing system, and program
US7437474B2 (en) Proxy-less packet routing between private and public address realms
US11489810B2 (en) Intelligently routing a response packet along a same connection as a request packet
CN104144231B (en) Method and device for processing DNS query request
CN104506450A (en) Media resource feedback method and device
CN111131539B (en) Message forwarding method and device
US9882868B1 (en) Domain name system network traffic management
CN109246016B (en) Cross-VXLAN message processing method and device
TWI735633B (en) Data transmission method, equipment, device and system
JP5038496B2 (en) Communication protocol processing method and communication terminal
Marx et al. Context-aware IPv6 address hopping
CN113905013A (en) Method for realizing IP address transparent transmission facing cluster network
Rosa et al. A Hash-Free method for FIB and LNPM in ICN programmable data planes
Kuroda et al. STUN-based connection sequence through symmetric NATs for TCP connection
Bukhari et al. Reducing virtual machine migration delay using SCTP
US20230060132A1 (en) Coordinating data packet processing between kernel space and user space

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09769848

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010517687

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09769848

Country of ref document: EP

Kind code of ref document: A1