Data transfer device and data transfer method
The data transfer device and method address the issues of computational resource consumption and routing table exhaustion in SFC networks by using service function numbers and identification information to manage and route service chains efficiently.
Patent Information
- Application Number
- JP2021184730
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-11-12
- Publication Date
- 2025-05-14
- Estimated Expiration
- 2041-11-12
AI Technical Summary
In networks using Service Function Chaining (SFC) with the TCP/IP protocol, the process of rewriting destination information after data processing in Service Functions (SF) consumes computational resources and increases processing delay, negatively impacting service performance. Additionally, in SFCs using Network Service Header (NSH), the routing table can become exhausted, preventing new service chains from being routed.
A data transfer device and method that utilize a packet receiving unit and a transfer control unit to manage service chains by acquiring candidate packet transfer destinations using the service function number from the packet tag and determining destinations based on service chain identification information, even when the routing table is exhausted.
This solution enables efficient management and routing of new service chains that use known service functions, even when the routing table is full, thereby maintaining service performance and flexibility.
Smart Images

Figure 0007676294000001 
Figure 0007676294000002 
Figure 0007676294000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a data transfer device and a data transfer method for providing a service to a user by using a service function chaining technique. [Background technology]
[0002] In order to flexibly provide end-to-end services, Service Function Chaining (SFC) is being considered (Non-Patent Document 1). SFC is a technology that freely combines service functions (SFs) scattered across a network, and by using SFC, it is possible to provide optimal services for each user.
[0003] Although SFC is being considered mainly to realize flexible network services, it is also a useful technology for cloud services. For example, Non-Patent Document 2 discloses a video surveillance service that combines two types of image processing functions as an image processing service using SFC.
[0004] In a network using SFC, as shown in Fig. 8, a classifier 10 at the inlet adds a tag to packets 11 for each user, and a service function forwarder (SFF) 12 forwards the packets 11 to an appropriate SF based on the tag. In Fig. 8, 13 represents a server that realizes the SF, and 14 represents a service chain that links together SFs provided to users. SFC allows users to build their own unique services by combining SFs that suit their own purposes.
[0005] Non-Patent Document 3 proposes an SFC using a Network Service Header (NSH). In the method using the NSH, a header with a data structure as shown in Fig. 9 is used. The SFF refers to the NSH added to the packet and controls the forwarding destination of the packet based on the service chain identifier (Service Path Identifier: SPI) and the current location in the service chain (Service Index: SI). By updating the SI every time data processing is performed in an SF, a packet can traverse SFs in the service chain. [Prior art documents] [Non-patent literature]
[0006] [Non-Patent Document 1] RFC 7665 - Service Function Chaining (SFC) Architecture, Internet Engineering Task Force (IETF), October 2015,<https: / / datatracker.ietf.org / doc / html / rfc7665> [Non-Patent Document 2] Yuta UKON, Koji YAMAZAKI, Koyo NITTA, “Real-Time Image Processing Based on Service Function Chaining Using CPU-FPGA Architecture”, IEICE Transactions on Communications, Vol. E103-B, No. 1, pp. 11-19, 2020,<https: / / search.ieice.org / bin / summary.php?id=e103-b_1_11> [Non-Patent Document 3] RFC 8300 - Network Service Header (NSH) Internet Engineering Task Force (IETF), January 2018,<https: / / datatracker.ietf.org / doc / html / rfc8300)> Summary of the Invention [Problem to be solved by the invention]
[0007] In computer networks, communication using the TCP / IP protocol is mainstream, but the TCP / IP protocol is designed for communication between computers and does not take service chains into consideration. If SFC is realized using the TCP / IP protocol, after data processing in an SF, the destination must be rewritten to the next SF. This processing requires the SF to consume additional computing resources, and the processing delay within the SF increases, adversely affecting service performance.
[0008] On the other hand, in an SFC using an NSH, information about the service chain is added to the packet, and there is no need to rewrite the destination information in the SF. Figures 10A and 10B show configuration examples of an SFC using an NSH and a routing table. In the routing table in Figure 10B, the current location (SI) in the service chain and the data forwarding destination (the next hop, which is the nearest forwarding destination, and the output port) are registered for each service chain identifier (SPI). In the routing table in Figure 10B, since it is necessary to hold routing information for each service chain, there is a problem that if the routing table is exhausted, it is not possible to route a new service chain.
[0009] The present invention has been made to solve the above-mentioned problems, and has an object to provide a data transfer device that is capable of routing a new service chain even when the routing table is exhausted. [Means for solving the problem]
[0010] The data transfer device of the present invention has at least one data processing device configured to perform data processing of a service function on data contained in a received packet, and is equipped with a packet receiving unit that receives a packet having a tag including a service function number unique to the service function that constitutes a service chain for realizing a service requested by a user and identification information of the service chain, and a transfer control unit that transfers the received packet to the data processing device or another data transfer device under its control based on a routing table registered in a data transfer device on the route of the service chain, and the transfer control unit obtains candidate transfer destinations for the packet from the routing table using the service function number included in the tag of the received packet, and determines the transfer destination of the packet based on the identification information of the service chain.
[0011] In addition, in one configuration example of the data transfer device of the present invention, when the transfer control unit transfers a received packet to the subordinate data processing device, it determines the transfer destination of the packet using information on the updated service function number of the packet for which data processing has been completed in the data processing device.
[0012] In addition, in one configuration example of the data transfer device of the present invention, the routing table registers the service chain identification information and packet forwarding destination information in association with each other for each service function number unique to the service function.
[0013] Furthermore, in one configuration example of the data transfer device of the present invention, the packet includes data to be processed that is the subject of the data processing, route information of the service chain including at least one of the service function numbers, and the tag including identification information of the service chain, the tag including a flag for the service function to recognize the delimitation of the data to be processed and a sequence number for rearranging the data to be processed in the correct order when the order of the data to be processed is changed, and the route information has the service function numbers arranged in the order of the data processing in the service chain.
[0014] In addition, the data transfer method of the present invention is a data transfer method in a data transfer device that has at least one data processing device configured to perform data processing of a service function on data contained in a received packet, and transfers the received packet to the subordinate data processing device or another data transfer device based on a registered routing table, and includes the steps of receiving a packet having a tag including a service function number unique to the service function that constitutes a service chain and identification information of the service chain, obtaining the identification information of the service chain and the service function number from the tag of the received packet, searching the routing table using the service function number to obtain a candidate destination for the packet, comparing the candidate destination with the identification information of the service chain, and if there is a candidate destination whose identification information of the service chain matches, obtaining destination information from the candidate destination, and outputting the packet based on the obtained destination information.
[0015] In addition, in one configuration example of the data processing method of the present invention, the step of acquiring the destination information determines the destination of the packet when the received packet is transferred to the subordinate data processing device, using information on the updated service function number of the packet for which data processing has been completed in the data processing device.
[0016] In one configuration example of the data processing method of the present invention, the routing table registers, for each service function number unique to the service function, identification information of the service chain and packet forwarding destination information in association with each other.
[0017] In addition, in one configuration example of the data processing method of the present invention, the packet includes target data to be processed, route information of the service chain including at least one of the service function numbers, and the tag including identification information of the service chain, the tag including a flag for the service function to recognize the delimitation of the target data to be processed and a sequence number for rearranging the target data to be processed in the correct order when the order of the target data to be processed is changed, and the route information includes the service function numbers arranged in the order of the data processing in the service chain. Effect of the Invention
[0018] The data transfer device and data transfer method of the present invention are configured to obtain packet transfer destination candidates using the service function number added to a received packet and determine the packet transfer destination based on the service chain identification information, so that service chains using the same service function can be managed together. Therefore, even if the routing table is exhausted, it is possible to route a new service chain using a known service function. [Brief description of the drawings]
[0019] [Figure 1] FIG. 1 is a block diagram showing an example of the configuration of a data processing system using a data transfer device according to an embodiment of the present invention. [Figure 2A] FIG. 2A is a diagram for explaining the operation of the data transfer device according to the embodiment of the present invention. [Figure 2B] FIG. 2B is a diagram showing an example of the configuration of a routing table in the data transfer device according to the embodiment of the present invention. [Diagram 3] FIG. 3 is a block diagram showing an example of the configuration of a data transfer device and a data processing device according to an embodiment of the present invention. [Figure 4] FIG. 4 is a flowchart illustrating the operation of the data transfer device according to the embodiment of the present invention. [Diagram 5] FIG. 5 is a flowchart for explaining the operation of the data processing device under the control of the data transfer device according to the embodiment of the present invention. [Figure 6] FIG. 6 is a diagram for explaining the data structure of a packet in the data transfer device according to the embodiment of the present invention. [Figure 7] FIG. 7 is a block diagram showing an example of the configuration of a computer that realizes a data processing device according to an embodiment of the present invention. [Figure 8] FIG. 8 is a diagram for explaining an example of a configuration of conventional service function chaining. [Figure 9] FIG. 9 is a diagram for explaining the data structure of a packet in conventional service function chaining. [Figure 10A] FIG. 10A is a diagram for explaining the operation of conventional service function chaining. [Figure 10B] FIG. 10B is a diagram showing an example of the configuration of a routing table for conventional service function chaining. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. However, the present invention can be embodied in many different forms, and should not be construed as being limited to the embodiment of the present invention described below.
[0021] <Data processing system using a data transfer device> 1 is a block diagram showing an example of the configuration of a data processing system using a data transfer device according to an embodiment of the present invention. The data processing system includes user management devices 1-1 to 1-3 that manage information of users who have applied to use a service and control the transfer of packets received from the users, one or more data transfer devices 2-1 to 2-9 that transfer packets, data processing devices 3-1 to 3-13 that perform SF data processing on data included in the received packets, and external transmission devices 4-1 to 4-3 that return packets to users after all data processing in the service chain has been completed.
[0022] The data processing system includes a communication management device 5 that calculates the route of a service chain required to realize a service requested by a user, transmits route information to user management devices 1-1 to 1-3, and updates the routing tables registered in data transfer devices 2-1 to 2-9 on the calculated route based on the results of the route calculation.
[0023] The data processing devices 3-1 to 3-13 include central processing units (CPUs), field-programmable gate arrays (FPGAs), graphics processing units (GPUs), application specific integrated circuits (ASICs), and the like.
[0024] In this embodiment, a cloud service customized for each user is provided by combining SFs realized by data processing devices 3-1 to 3-13. Specifically, communication is performed between data transfer devices 2-1 to 2-9, and a data packet sent from a user is transferred to an appropriate SF. When data processing in an SF is completed, the data packet is further transferred to another SF for data processing. As a result, in this embodiment, by changing the processing content for each user, a combination of services is provided to realize a service requested by the user.
[0025] The communication path that a data packet follows is called a service chain. 14 in FIG. 1 is an example of a service chain. If multiple users use the service chain simultaneously, data will collide at SF, and appropriate results cannot be guaranteed. For this reason, in the data processing system of this embodiment, data packets are managed by user management devices 1-1 to 1-3 at the entrance, and the service chain is controlled so that only one user can use it.
[0026] The user management devices 1-1 to 1-3 also add tags to data packets. The tags contain route information (destination information) consisting of a combination of SFs that make up a service chain, and the data transfer devices 2-1 to 2-9 refer to the added tags to route the packets and transfer the packets to the SFs of the destination data processing devices.
[0027] The external transmitting devices 4-1 to 4-3 packetize the processed data into IP packets and send them back to the user. TCP / IP is used as a global standard for communications outside the data processing system. Meanwhile, within the data processing system that performs service chain routing, packet communications using tags are performed. The external transmitting devices 4-1 to 4-3 are used to absorb differences in protocols inside and outside the data processing system.
[0028] <Transfer control in data transfer device> The data transfer device of this embodiment controls the data transfer destination by referring to the service function number (SF number) of the service function constituting the service chain added to the transfer data of the packet and the service chain identification information (UID). The SF number is a unique value assigned to each SF, and the UID is a value for identifying the service chain of the user.
[0029] Specifically, the SF number is used to obtain candidates for the data destination (the next hop, which is the nearest destination, and the output port), and the UID is used to narrow down the destinations, thereby determining the destination of the packet. Here, multiple UIDs may be grouped together to define the destination. Methods for grouping UIDs include grouping by the common part of the UID, or defining a default destination for multiple UIDs, but are not limited to these.
[0030] Fig. 2A is a diagram for explaining the operation of a data transfer device according to an embodiment of the present invention. In Fig. 2A, two users use a service that combines SF1 and SF2, and as service chain identification information, a tag with UID=1 is added to the data of one user, and a tag with UID=2 is added to the data of the other user. In addition, since the service chains of both users include SF1 and SF2, SF number 1 and SF number 2 are written in the route information (destination information) of the packet tag.
[0031] 2A, the communication path is changed for each service chain (UID) because the bandwidth between data transfer device 1 and data transfer device 2 is tight. Even if there are service chains that use the same service function, the transfer destination can be changed for each service chain by using the UID.
[0032] Fig. 2B is a diagram showing an example of the configuration of a routing table in a data transfer device according to an embodiment of the present invention. In the example of Fig. 2B, for each SF number of a service function, a UID, which is identification information of a service chain, and a next hop, which is the nearest forwarding destination, and a port number for outputting the packet are registered in association with each other as forwarding destination information of the packet. In the routing table of this embodiment, service chains (UID1, UID2) that use the same SF (SF1, SF2) are managed together.
[0033] When the data transfer device 1 (2-10) receives a packet with the first SF number [1], it transmits the data from output port I / F3 to SF1 regardless of the UID because only the default destination is registered in the routing table. On the other hand, when it receives a packet with the first SF number [2], it selects an output port corresponding to one of the two destination candidates according to the UID, and transmits the packet from I / F1 or I / F2.
[0034] When data processing is performed in SF1, the SF number is updated in SF1 after the data processing is performed, and the SF number of SF1 that performed the data processing is deleted. As a result, the SF number at the beginning of the route information (destination information) added to the packet is changed, so that the data transfer device 1 (2-10) that receives the packet after data processing can send the received packet to the next SF.
[0035] In this way, the data transfer device of this embodiment is configured to obtain a candidate destination of the packet using the SF number added to the received packet and to determine the destination of the packet based on the identification information of the service chain, so that service chains using the same SF can be managed together. Therefore, even if the routing table is exhausted, it is possible to route a new service chain using a known service function. However, the condition is that the number of candidate destinations does not increase due to the new service chain.
[0036] <Configuration of data transfer device and data processing device> Fig. 3 is a block diagram showing the configuration of the data transfer device 2-8 and the data processing devices 3-9 and 3-10. In the configuration example of Fig. 3, the data transfer device 2-8 has subordinate data processing devices 3-9 and 3-10 configured to perform data processing of service functions on data included in received packets.
[0037] The data transfer device 2 - 8 includes a packet receiving unit 200 , a packet transmitting unit 201 , a packet analyzing unit 202 , a transfer control unit 203 , and a data communication control unit 204 .
[0038] The packet receiving unit 200 receives a packet from a user management device or a data transfer device. A tag including a service function number unique to a service function constituting a service chain and identification information of the service chain is added to the received packet.
[0039] The transfer control unit 203 is configured to transfer the received packet to a subordinate data processing device or another data transfer device based on a preregistered routing table. The routing table is preregistered in a data transfer device on the route of the service chain. The transfer control unit 203 acquires candidate transfer destinations of the packet using the service function number added to the received packet, and determines the transfer destination of the packet from the candidate transfer destinations based on the identification information of the service chain.
[0040] The data processing devices 3-9 and 3-10 connected under the data transfer device 2-8 each include a packet acquisition unit 300, a data construction unit 301, a data processing unit 302, a register management unit 303, a packet creation unit 304, and a tag update unit 305.
[0041] <Operation of data transfer device and data processing device> Fig. 4 is a flowchart for explaining the operation of the data transfer method of the data transfer device according to the embodiment of the present invention. Fig. 5 is a flowchart for explaining the operation of the data processing device under the data transfer device according to the embodiment of the present invention.
[0042] 4, when the packet receiver 200 of the data transfer device 2-8 receives a packet (step S1-1), the packet analyzer 202 analyzes the received packet and acquires a UID and SF number from the tag header added to the packet (steps S1-2, S1-3). As for the SF number, the packet analyzer 202 acquires the first SF number from at least one SF number added to the data, and transmits the acquired UID and SF number to the transfer controller 203 together with the received packet.
[0043] The transfer control unit 203 searches the routing table using the acquired SF number to acquire data transfer destination candidates (step S1-4). Then, it compares the acquired transfer destination candidates with the UID of the received packet (step S1-5), and if there is a match, it acquires the transfer destination (the next hop and output port that is the nearest transfer destination) from the transfer destination candidate. If there is no match in the routing table with the UID, it acquires the default transfer destination corresponding to that SF number (step S1-6).
[0044] For example, in the configuration example of FIG. 3, it is determined whether the packet output from the packet analysis unit 202 is to be transferred to the data processing device 3-9 or 3-10 via the data communication control unit 204, or to an adjacent data transfer device via the packet transmission unit 201.
[0045] 5, when the packet output from the packet analysis unit 202 is transferred to the data processing device 3-9 or 3-10 via the data communication control unit 204, the packet acquisition unit 300 of the data processing device 3-9 or 3-10 receives the packet from the data transfer device 2-8 (step S2-1) and extracts the payload portion (data to be processed, etc.) from the received packet (step S2-2). Here, the tag information added to the received data packet is sent to the packet creation unit 304 to packetize the processed data.
[0046] The data constructing unit 301 of the data processing device 3-9 or 3-10 combines the payloads of the multiple data packets acquired by the packet acquiring unit 300 to reconstruct the original data (step S2-3).
[0047] Since the order of the multiple packets that make up the original data may be out of order, the data construction unit 301 performs packet order control to rearrange the data to be processed that has been extracted from the multiple packets in the correct order. This packet order control can be performed based on the sequence number included in the packet tag. The data construction unit 301 transmits the reconstructed data that can be processed to the data processing unit 302.
[0048] The data processing unit 302 executes data processing of a predetermined service function on the data received from the data construction unit 301, and transmits the processed data to the packet creation unit 304 (step S2-4).
[0049] The packet creation unit 304 uses the tag information added to the received data packet to packetize the data received from the data processing unit 302, and transmits the generated packet to the tag update unit 305 (step S2-5).
[0050] The tag update unit 305 refers to the route information (destination information) of the SF number included in the tag added to the packet received from the packet creation unit 304, updates the route information included in the tag so that the SF that performed the data processing (inside the data processing device 3-9 or 3-10) is removed from the route of the service chain (step S2-6), and transmits the packet with the updated route information to the data transfer device 2-8 (step S2-7).
[0051] Although not shown in the flowchart of Fig. 5, the register management unit 303 of the data processing device 3-9 or 3-10 acquires parameters from the tag data and registers them in the data processing device. Specifically, the register management unit 303 acquires user-specific parameters required for SF processing from the user management device via the tag of the received packet, and registers the acquired parameters in the data processing unit 302. These parameters can be used when it is desired to change the processing in the data processing unit for each user (for each UID), etc.
[0052] The data processing unit 302 executes data processing of a specified service function on the data received from the data construction unit 301 using a parameter corresponding to the UID acquired by the packet acquisition unit 300, among the parameters registered by the register management unit 303.
[0053] When the data transfer device 2-8 receives a processed packet from the data processing device 3-9 or 3-10, it performs packet transfer control based on the routing table in the same manner as when it receives a packet from the user management device or data transfer device described above.
[0054] When a data-processed packet is received from the data processing device 3-9 or 3-10 via the data communication control unit 204 (step S1-1), the packet analysis unit 202 analyzes the packet received from the data processing device 3-9 or 3-10, obtains the UID and SF number from the tag attached to the packet, and outputs the obtained UID and SF number and the received packet to the transfer control unit 203 (steps S1-2, S1-3).
[0055] The transfer control unit 203 searches the routing table using the SF number to acquire data transfer destination candidates in the same manner as when a packet is received from the packet receiving unit 200 described above. Then, the transfer destination candidates are compared with the UID of the received data, and if there is a match in the UID, the transfer destination (the next hop and output port that is the nearest transfer destination) is acquired from the transfer destination candidate. Otherwise, the default transfer destination corresponding to the SF number is acquired.
[0056] 3, in the same manner as when a packet is received from the packet receiving unit 200 described above, it is determined whether the packet output from the packet analyzing unit 202 should be transferred to the data processing device 3-9 or 3-10 via the data communication control unit 204, or to an adjacent data transfer device via the packet transmitting unit 201. Here, as described above, the SF number of the data processing device 3-9 or 3-10 that has completed data processing has been removed from the route information of the service chain by updating the tag by the tag updating unit 305, so that a data processing device (SF) that has completed processing is not selected as the transfer destination.
[0057] 3, if multiple data processors 3-9, 3-10 are connected in parallel to the data transfer device 2-8, it is possible to access each of the data processors 3-9, 3-10 with little overhead. Also, by making the data processors 3-9, 3-10 independent of the data transfer device 2-8, it is possible to add or remove new data processors without disrupting communication between the existing data processors 3-9, 3-10 and the data transfer device 2-8.
[0058] In the examples of Figures 3, 4, and 5, data transfer device 2-8 and data processing devices 3-9 and 3-10 are used as examples. However, the configuration and operation of data transfer devices 2-1 to 2-7 and 2-9 in Figure 1 are similar to that of data transfer device 2-8, and the configuration and operation of data processing devices 3-1 to 3-8 and 3-11 to 3-13 are similar to that of data processing devices 3-9 and 3-10.
[0059] <Data Structure> 6 is a diagram showing an example of the data structure in the data transfer device according to the embodiment of the present invention. The transfer data transferred within the service function chaining system according to the embodiment of the present invention can be composed of a tag header 407 including protocol information, data attributes, and destination information (route information), and processing target data 403 that is the target of data processing.
[0060] In the protocol information of the tag header 407, information related to data discard, such as TTL (Time to Live) and header checksum, and information related to the configuration of the tag header, such as data type and header length, can be set.
[0061] A UID for identifying a service chain can be set in the data attribute of the tag header 407. In addition, since a user who uses a cloud service may send data to be processed divided into multiple packets, a head / tail flag for the SF to recognize the boundaries of the data to be processed and a sequence number used to rearrange the data to be processed in the correct order when the order of the data to be processed is changed can be set.
[0062] At least one piece of destination information (SF) is included as route information for the service chain. In the destination information, the service function numbers (SF numbers) of the destinations that make up the service chain are arranged in the order of data processing in the service chain. In addition to the SF numbers, metadata for the SFs can be set in the destination information. By setting the metadata length in the destination information, metadata of any length can be set.
[0063] One possible use of metadata is to register and update parameters of a data processing device (SF) by the register management unit 303 described in Fig. 3. When multiple service chains share an SF, it may be necessary to change the parameters of the SF depending on the service chain. In this case, by setting the parameters in the metadata of the destination information, it is possible to register the parameters in each SF depending on the service chain. The SF can determine whether the data is data to be processed or a parameter based on the data type of the protocol information in the tag header.
[0064] The above data may be encapsulated in an Ethernet frame, as in the configuration example in Fig. 6. By using an Ethernet frame to communicate via an L2 switch, multiple SFs can be connected to one port of a data transfer device, making it possible to realize connections that exceed the number of output ports of the data transfer device.
[0065] The data transfer devices 2-1 to 2-9 and data processing devices 3-1 to 3-13 described in this embodiment can be realized by a computer equipped with a CPU (or GPU), a storage device, and an interface, and a program that controls these hardware resources.
[0066] An example of the configuration of this computer is shown in Fig. 7. The computer includes a CPU 500 (or GPU), a storage device 501, and an interface device 502. In such a computer, a program for realizing the data processing method of the present invention is stored in the storage device 501. The CPU 500 (or GPU) of each device executes the processing described in this embodiment in accordance with the program stored in the storage device 501.
[0067] At least a part of the data transfer devices 2-1 to 2-9, the data processing devices 3-1 to 3-13, the user management devices 1-1 to 1-3, and the external transmission devices 4-1 to 4-3 may be configured using FPGA or ASIC. In particular, by executing a part of the packet processing and data processing using these hardware, it is expected that the processing performance will be improved.
[0068] In this way, the data transfer device of this embodiment is configured to obtain packet forwarding destination candidates using the service function number added to the received packet and to determine the packet forwarding destination based on the service chain identification information, so that service chains that use the same service function can be managed together. Therefore, even if the routing table is exhausted, it is possible to route a new service chain that uses a known service function. [Industrial Applicability]
[0069] The present invention can be applied to a service function chaining technology. [Explanation of symbols]
[0070] 1-1 to 1-3...user management devices, 2-1 to 2-12...data transfer devices, 3-1 to 3-15...data processing devices, 4-1 to 4-6...external transmitting devices, 5...communication management device, 6...load balancer, 200...packet receiving unit, 201...packet transmitting unit, 202...packet analysis unit, 203...transfer control unit, 204...data communication control unit, 300...packet acquisition unit, 301...data construction unit, 302...data processing unit, 303...register management unit, 304...packet creation unit, 305...tag update unit.
Claims
1. at least one data processing device configured to perform data processing of a service function on data included in a received packet; a packet receiving unit for receiving a packet having a tag including a service function number unique to the service function constituting a service chain for realizing a service requested by a user and identification information of the service chain; a transfer control unit that transfers a received packet to the subordinate data processing device or another data transfer device based on a routing table registered in the data transfer device on the route of the service chain; Equipped with The transfer control unit acquires a transfer destination candidate of the packet from the routing table using the service function number included in the tag of the received packet, and determines a transfer destination of the packet based on the identification information of the service chain. Data transfer device.
2. The transfer control unit When a received packet is transferred to the subordinate data processing device, the transfer destination of the packet is determined using information on the updated service function number of the packet whose data processing has been completed in the data processing device.
2. The data transfer device according to claim 1.
3. The routing table includes: Identification information of the service chain and forwarding destination information of a packet are registered in association with each other for each service function number unique to the service function.
3. The data transfer device according to claim 1.
4. The packet comprises: the tag includes processing target data that is a target of the data processing, route information of the service chain that includes at least one of the service function numbers, and identification information of the service chain; The tag is a flag for the service function to recognize a delimiter of the data to be processed, and a sequence number for rearranging the data to be processed in a correct order when the order of the data to be processed is changed; The route information is The service function numbers are arranged in the order of the data processing in the service chain.
4. The data transfer device according to claim 1.
5. A data transfer method in a data transfer device having at least one data processing device configured to perform data processing of a service function on data included in a received packet, the data transfer device transferring a received packet to the data processing device or another data transfer device based on a registered routing table, comprising: receiving a packet having a tag including a service function number unique to the service functions constituting a service chain and identification information of the service chain; obtaining the identification information of the service chain and the service function number from the tag of the received packet; searching the routing table using the service function number to obtain a candidate forwarding destination for the packet; comparing the identification information of the transfer destination candidate with the identification information of the service chain, and if there is a transfer destination candidate having the same identification information of the service chain, acquiring transfer destination information from the transfer destination candidate; outputting a packet based on the acquired forwarding destination information; A data transfer method including:
6. The step of acquiring the forwarding destination information includes: When a received packet is transferred to the subordinate data processing device, the transfer destination of the packet is determined using information on the updated service function number of the packet whose data processing has been completed in the data processing device.
6. The data transfer method according to claim 5.
7. The routing table includes: Identification information of the service chain and forwarding destination information of a packet are registered in association with each other for each service function number unique to the service function.
7. The data transfer method according to claim 5.
8. The packet comprises: the tag includes processing target data that is a target of the data processing, route information of the service chain that includes at least one of the service function numbers, and identification information of the service chain; The tag is a flag for the service function to recognize a delimiter of the data to be processed, and a sequence number for rearranging the data to be processed in a correct order when the order of the data to be processed is changed; The route information is The service function numbers are arranged in the order of the data processing in the service chain. The data transfer method according to any one of claims 5 to 7.