WO2023085267A1 - データ転送装置およびデータ転送方法 - Google Patents

データ転送装置およびデータ転送方法 Download PDF

Info

Publication number
WO2023085267A1
WO2023085267A1 PCT/JP2022/041555 JP2022041555W WO2023085267A1 WO 2023085267 A1 WO2023085267 A1 WO 2023085267A1 JP 2022041555 W JP2022041555 W JP 2022041555W WO 2023085267 A1 WO2023085267 A1 WO 2023085267A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
packet
service
data processing
service function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2022/041555
Other languages
English (en)
French (fr)
Inventor
直樹 三浦
健 坂本
勇輝 有川
猛 伊藤
顕至 田仲
勝 片山
祐太 右近
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to US18/705,352 priority Critical patent/US20250227062A1/en
Publication of WO2023085267A1 publication Critical patent/WO2023085267A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00—Routing or path finding of packets in data switching networks
    • H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00—Routing or path finding of packets in data switching networks
    • H04L45/302—Route determination based on requested QoS
    • H04L45/306—Route determination based on the nature of the carried application
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00—Routing or path finding of packets in data switching networks
    • H04L45/54—Organization of routing tables
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00—Routing or path finding of packets in data switching networks
    • H04L45/74—Address processing for routing
    • H04L45/745—Address table lookup; Address filtering
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00—Traffic control in data switching networks
    • H04L47/10—Flow control; Congestion control
    • H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers

Definitions

  • the present invention relates to a data transfer device and a data transfer method that provide services to users using service function chaining technology.
  • SFC service function chaining
  • Non-Patent Document 2 discloses a video monitoring service combining two types of image processing functions as an image processing service using SFC.
  • an entrance classifier (Classifier) 10 adds a tag to a packet 11 for each user, and a service function forwarder (SFF) 12 based on the tag Forward packet 11 to the appropriate SF.
  • SFF service function forwarder
  • reference numeral 13 denotes a server that implements SF
  • 14 denotes a service chain in which SFs provided to users are linked together.
  • Non-Patent Document 3 proposes SFC using NSH (Network Service Header).
  • NSH Network Service Header
  • the SFF refers to the NSH attached to the packet, and controls the forwarding destination of the packet based on the service path identifier (SPI) and the current location (Service Index: SI) within the service chain.
  • SI Service Index
  • TCP/IP protocol In computer networks, communication using the TCP/IP protocol is the mainstream, but the TCP/IP protocol is for communication between computers and does not consider service chains. If the TCP/IP protocol were to be used to implement the SFC, the destination would have to be rewritten to the next SF after data processing in the SF. This processing causes the SF to consume additional computational resources and further increases the processing delay within the SF, thereby adversely affecting service performance.
  • 10A and 10B are configuration examples of SFC and routing tables using NSH.
  • the current location (SI) within the service chain and the data transfer destination (next hop and output port that is the immediate transfer destination) are registered for each service chain identifier (SPI).
  • SPI service chain identifier
  • the present invention was made to solve the above problems, and aims to provide a data transfer device that can route a new service chain even when the routing table is exhausted.
  • a data transfer device has at least one data processing device configured to perform data processing of a service function on data contained in a received packet, and realizes a service requested by a user.
  • a packet receiver for receiving a packet having a tag containing a service function number unique to the service function constituting a service chain for the purpose and identification information of the service chain; and a data transfer device on the route of the service chain.
  • a transfer control unit for transferring the received packet to the data processing device or other data transfer device under its control based on the registered routing table, wherein the transfer control unit is included in the tag of the received packet.
  • forwarding destination candidates of the packet are acquired from the routing table using the service function number stored therein, and the forwarding destination of the packet is determined based on the identification information of the service chain.
  • the data transfer method 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 has a registered routing table.
  • the data transfer apparatus and data transfer method of the present invention acquire transfer destination candidates of the packet using the service function number added to the received packet, and determine the transfer destination of the packet based on the identification information of the service chain. , so that service chains that use the same service function can be collectively managed. Therefore, even when the routing table is exhausted, it is possible to route a new service chain that uses a known service function.
  • FIG. 1 is a block diagram showing a configuration example of a data processing system using a data transfer device according to an embodiment of the present invention.
  • FIG. 2A is a diagram for explaining the operation of the data transfer device according to the embodiment of the present invention
  • FIG. 2B is a diagram showing a configuration example of a routing table in the data transfer device according to the embodiment of the present invention
  • FIG. 3 is a block diagram showing a configuration example of a data transfer device and a data processing device according to an embodiment of the present invention.
  • FIG. 4 is a flow chart for explaining the operation of the data transfer device according to the embodiment of the present invention.
  • FIG. 5 is a flow chart for explaining the operation of the data processing device under the data transfer device according to the embodiment of the present invention.
  • FIG. 6 is a diagram for explaining the data structure of packets in the data transfer device according to the embodiment of the present invention.
  • FIG. 7 is a block diagram showing a configuration example of a computer that implements the data processing device according to the embodiment of the present invention.
  • FIG. 8 is a diagram for explaining a configuration example of conventional service function chaining.
  • FIG. 9 is a diagram for explaining the data structure of a packet in conventional service function chaining.
  • FIG. 10A is a diagram for explaining the operation of conventional service function chaining.
  • FIG. 10B is a diagram showing a configuration example of a conventional service function chaining routing table.
  • FIG. 1 is a block diagram showing a configuration example 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 for managing information on users who have applied for use of services and for controlling transfer of packets received from users, and one or more data for transferring packets. Transfer devices 2-1 to 2-9, data processing devices 3-1 to 3-13 for performing SF data processing on data contained in received packets, and packets for which all data processing in the service chain has been completed. to the user.
  • the data processing system calculates the route of the service chain necessary for realizing the service requested by the user, transmits the route information to the user management devices 1-1 to 1-3, and transfers the data transfer device 2 on the calculated route.
  • -1 to 2-9 are provided with a communication management device 5 for updating the routing table based on the result of route calculation.
  • the data processing devices 3-1 to 3-13 include CPUs (Central Processing Units), FPGAs (field-programmable gate arrays), GPUs (graphics processing units), ASICs (Application Specific integrated circuits), and the like.
  • CPUs Central Processing Units
  • FPGAs field-programmable gate arrays
  • GPUs graphics processing units
  • ASICs Application Specific integrated circuits
  • a cloud service customized for each user is provided by combining SF realized by the data processing devices 3-1 to 3-13. Specifically, data transfer devices 2-1 to 2-9 communicate with each other, and transfer data packets sent from users to appropriate SFs. When the data processing in the SF is completed, the data packet is transferred to another SF for data processing.
  • a combination of services for realizing the service requested by the user is provided.
  • the communication path that data packets follow is called a service chain.
  • 14 in FIG. 1 is an example of a service chain. If a service chain is used by multiple users at the same time, data will collide in SF, and proper results cannot be guaranteed. Therefore, in the data processing system of this embodiment, the user management devices 1-1 to 1-3 at the entrance manage data packets and control the service chain so that only one user can use it.
  • the user management devices 1-1 to 1-3 also add tags to data packets.
  • Route information consisting of a combination of SFs forming a service chain is described in the tag, and the data transfer devices 2-1 to 2-9 refer to the attached tag to perform packet routing. and transfer the packet toward the SF of the target data processing device.
  • the external transmission devices 4-1 to 4-3 convert the processed data into IP packets and send them back to the user.
  • TCP/IP is used as a global standard for communication outside the data processing system.
  • packet communication using tags is performed within the data processing system that performs service chain routing.
  • the external transmitters 4-1 to 4-3 are used to absorb protocol differences inside and outside the data processing system.
  • the data transfer device of this embodiment refers 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 identification information (UID) of the service chain to determine the transfer destination of the data. to control.
  • the SF number is a unique value assigned to each SF
  • the UID is a value for identifying a user's service chain.
  • the SF number is used to acquire candidates for the data transfer destination (next hop and output port, which is the nearest transfer destination), and the UID is used to narrow down the transfer destination, thereby determining the packet transfer destination.
  • a plurality of UIDs may be collectively defined as a transfer destination.
  • a method of grouping UIDs it is conceivable to group them by a common portion of the UIDs, define a default transfer destination for a plurality of UIDs, or the like, but is not limited to these.
  • FIG. 2A is a diagram for explaining the operation of the data transfer device according to the embodiment of the present invention.
  • both users' service chains include SF1 and SF2, SF number 1 and SF number 2 are described in the route information (destination information) of the tag of the packet.
  • 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 UID can be used to change the transfer destination for each service chain.
  • FIG. 2B is a diagram showing a configuration example of a routing table in the data transfer device according to the embodiment of the present invention.
  • a UID that is service chain identification information and a packet forwarding destination information that is the next hop that is the nearest forwarding destination and the number of the port that outputs the packet.
  • service chains (UID1, UID2) using the same SF (SF1, SF2) are collectively managed.
  • the data transfer device 1 When the data transfer device 1 (2-10) receives a packet whose first SF number is [1], since only the default transfer destination is registered in the routing table, regardless of the UID, from the output port I/F3 Send data to SF1. On the other hand, when a packet with a leading SF number of [2] is received, an output port corresponding to one transfer destination is selected from two transfer destination candidates according to the UID, and the output port is selected from I/F1 or I/F2. Send a packet.
  • the SF number is updated in SF1 after data processing, and the SF number of SF1 that performed data processing is deleted.
  • the SF number at the beginning of the route information (destination information) added to the packet is changed.
  • the data transfer apparatus of this embodiment acquires transfer destination candidates of the packet using the SF number added to the received packet, and determines the transfer destination of the packet based on the identification information of the service chain. Since it is configured as above, it is possible to collectively manage service chains that use the same SF. Therefore, even when the routing table is exhausted, it is possible to route a new service chain that uses a known service function. However, the condition is that the new service chain does not increase the number of forwarding destination candidates.
  • 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.
  • the data transfer device 2-8 is subordinate to data processing devices 3-9 and 3-10 configured to perform data processing of service functions on data contained in received packets. have.
  • the data transfer device 2-8 is composed of a packet reception unit 200, a packet transmission unit 201, a packet analysis unit 202, a transfer control unit 203, and a data communication control unit 204.
  • the packet receiving unit 200 receives packets from the user management device or the data transfer device.
  • a received packet is attached with a tag including a service function number unique to a service function constituting a service chain and identification information of the service chain.
  • the transfer control unit 203 is configured to transfer the received packet to a subordinate data processing device or other data transfer device based on a pre-registered routing table.
  • the routing table is registered in advance in the data transfer device on the route of the service chain.
  • the transfer control unit 203 acquires transfer destination candidates of the packet using the service function number added to the received packet, and determines the transfer destination of the packet from the transfer destination candidates based on the identification information of the service chain.
  • the data processors 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, and a packet It is composed of a creation unit 304 and a tag update unit 305 .
  • FIG. 4 is a flow chart 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 flow chart for explaining the operation of the data processing device under the data transfer device according to the embodiment of the present invention.
  • the packet analyzer 202 analyzes the received packet and extracts the tag header added to the packet. (steps S1-2, S1-3).
  • the SF number the leading SF number is acquired from at least one SF number added to the data, and the acquired UID and SF number are transmitted to the transfer control unit 203 together with the received packet.
  • the transfer control unit 203 searches the routing table using the obtained SF number and obtains a data transfer destination candidate (step S1-4). Then, the acquired transfer destination candidates and the UID of the received packet are compared (step S1-5). ). If there is no matching UID in the routing table, the default transfer destination corresponding to that SF number is obtained (step S1-6).
  • the packet acquisition unit 300 receives a packet from the data transfer device 2-8 (step S2-1), and extracts a payload portion (data to be processed, etc.) from the received packet (step S2-2).
  • the tag information attached to the received data packet is sent to the packet creation unit 304 to packetize the processed data.
  • the data construction unit 301 of the data processing device 3-9 or 3-10 reconstructs the original data by combining the payloads of the multiple data packets acquired by the packet acquisition unit 300 (step S2-3).
  • the data constructing unit 301 performs packet order control, and extracts the processing target data extracted from the plurality of packets. Arrange in the correct order. This packet order control can be performed based on the sequence number included in the tag of the packet.
  • the data constructing unit 301 transmits the reconstructed data that can be processed to the data processing unit 302 .
  • 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 data after completion of the data processing to the packet generation unit 304 (step S2-4).
  • the packet generation unit 304 packetizes the data received from the data processing unit 302 using the tag information attached to the received data packet, and transmits the generated packet to the tag update unit 305 (step S2-5). ).
  • the tag update unit 305 refers to the route information (destination information) of the SF number included in the tag attached to the packet received from the packet creation unit 304, and the SF (data processing device 3-9 or 3-10) is removed from the route of the service chain (step S2-6), and the packet with the updated route information is transmitted to the data transfer device 2-8. (Step S2-7).
  • 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 necessary 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 . This parameter can be used when it is desired to change the processing in the data processing unit for each user (for each UID).
  • the data processing unit 302 uses a parameter corresponding to the UID acquired by the packet acquisition unit 300 among the parameters registered by the register management unit 303 to execute a predetermined service function on the data received from the data construction unit 301. perform data processing;
  • the data transfer device 2-8 When the data transfer device 2-8 receives a processed packet from the data processing device 3-9 or 3-10, the data transfer device 2-8 updates the routing table in the same manner as when the packet is received from the user management device or the data transfer device described above. packet forwarding control based on
  • the packet analysis unit 202 receives the data processing device 3-9 or 3- 10 is analyzed, the UID and SF number are acquired from the tag attached to the packet, and the acquired UID and SF number and the received packet are output to the transfer control unit 203 (step S1-2, S1-3).
  • the transfer control unit 203 searches the routing table using the SF number in the same manner as when the packet is received from the packet receiving unit 200 described above, and acquires data transfer destination candidates. Then, the transfer destination candidate and the UID of the received data are compared, and if there is a matching UID, the transfer destination (next hop and output port as the nearest transfer destination) is acquired from the transfer destination candidate. Otherwise, get the default destination for that SF number.
  • the packet output from the packet analysis unit 202 is sent to the data processing device 3-9 or 3- through the data communication control unit 204 in the same manner as when the packet is received from the packet reception unit 200 described above. 10 or to an adjacent data transfer device via the packet transmission unit 201 .
  • the SF number of the data processing device 3-9 or 3-10 that has completed data processing is removed from the route information of the service chain by updating the tag by the tag updating unit 305, so the processing is completed.
  • a completed data processing device (SF) is never selected as a transfer destination.
  • the data transfer device 2-8 and the data processing devices 3-9 and 3-10 are described as examples, but the data transfer device 2- in FIG. 1 to 2-7 and 2-9 have the same configuration and operation as the data transfer device 2-8. It is similar to devices 3-9 and 3-10.
  • FIG. 6 is a diagram showing a configuration example of a data structure in the data transfer device according to the embodiment of the present invention.
  • Transfer data transferred within the service function chaining system according to the embodiment of the present invention consists of a tag header 407 including protocol information, data attributes, and destination information (route information) and processing target data 403 to be processed. Can be configured.
  • information related to data discarding such as TTL (Time to Live) and header checksum
  • information related to tag header configuration such as data type and header length
  • a UID for identifying a service chain can be set in the data attribute of the tag header 407.
  • SF recognizes the delimiter of the data to be processed. You can set a sequence number that will be used to rearrange to the correct order when the order is changed.
  • At least one destination information is included as service chain route information.
  • the service function numbers (SF numbers) of the destinations forming the service chain are arranged in the order of data processing in the service chain.
  • metadata directed to the SF can be set in the destination information. By setting the metadata length in the destination information, metadata of any length can be set.
  • Metadata is to register or update the parameters of the data processing device (SF) by the register management unit 303 described in FIG.
  • SF data processing device
  • parameters can be registered in each SF according to the service chain by setting the parameters in the metadata of the destination information.
  • 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.
  • the above data may be encapsulated in an Ethernet frame as shown in the configuration example of FIG.
  • multiple SFs can be connected to one port of the data transfer device, and connections exceeding the number of output ports of the data transfer device can be realized.
  • the data transfer devices 2-1 to 2-9 and the data processing devices 3-1 to 3-13 described in this embodiment are a computer having a CPU (or GPU), a storage device and an interface, and these hardware. It can be implemented by a program that controls resources.
  • the computer comprises a CPU 500 (or GPU), a storage device 501 and an interface device 502 .
  • a program for implementing 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 according to the programs stored in the storage device 501 .
  • At least part of the data transfer devices 2-1 to 2-9, data processing devices 3-1 to 3-13, user management devices 1-1 to 1-3, and external transmission devices 4-1 to 4-3 are FPGAs or It may be configured by ASIC.
  • an improvement in processing performance can be expected by executing part of the packet processing and data processing by these hardware.
  • the data transfer apparatus of this embodiment acquires transfer destination candidates of the packet using the service function number added to the received packet, and determines the transfer destination of the packet based on the identification information of the service chain. Therefore, service chains that use the same service function can be collectively managed. Therefore, even when the routing table is exhausted, it is possible to route a new service chain that uses a known service function.
  • 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.
  • a packet receiver 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 and identification information of the service chain;
  • a transfer control unit that transfers a received packet to the data processing device or another data transfer device under its control based on a routing table registered in the data transfer device, wherein the transfer control unit controls the transmission of the received packet;
  • a transfer destination candidate of the packet is obtained from the routing table using the service function number included in the tag, and the transfer destination of the packet is determined based on the identification information of the service chain.
  • the routing table associates the service chain identification information with packet forwarding destination information for each service function number unique to the service function. Registered.
  • the packet includes process target data to be subjected to the data processing and route information of the service chain including at least one of the service function numbers. and the tag containing the identification information of the service chain, wherein the tag is a flag for the service function to recognize the delimiter of the data to be processed, and the tag is used when the order of the data to be processed is changed
  • the route information includes a sequence number for rearranging the data to be processed in the correct order, and the route information arranges the service function numbers in the order of the data processing in the service chain.
  • At least one data processing device configured to perform data processing of a service function on data contained in a received packet is subordinated and registered
  • the step of acquiring the transfer destination information is performed when the data processing is completed in the data processing device when the received packet is transferred to the data processing device under control. Using the updated service function number information of the packet, the transfer destination of the packet is determined.
  • the routing table associates the identification information of the service chain and the forwarding destination information of the packet for each service function number unique to the service function. Registered.
  • the packet includes process target data to be subjected to the data processing and route information of the service chain including at least one of the service function numbers. and the tag including the identification information of the service chain, wherein the tag includes a flag for the service function to recognize the delimiter of the data to be processed, and the tag to indicate when the order of the data to be processed is changed.
  • the route information includes a sequence number for rearranging the data to be processed in the correct order, and the route information arranges the service function numbers in the order of the data processing in the service chain.
  • the present invention can be applied to service function chaining technology.

Landscapes

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

Abstract

データ転送装置(2-1~2-9)は、受信したパケットに含まれるデータに対してサービス機能のデータ処理を行うデータ処理装置(3-1~3-13)を配下に有し、ユーザが要求するサービスを実現するサービスチェインを構成するサービス機能のサービス機能番号とサービスチェインの識別情報を含むタグを有するパケットを受信し、受信したパケットのサービス機能番号を用いてルーティングテーブルからパケットの転送先候補を取得し、サービスチェインの識別情報に基づいてパケットの転送先を決定し、受信したパケットをデータ処理装置(3-1~3-13)またはデータ転送装置(2-1~2-9)に転送する。

Description

データ転送装置およびデータ転送方法
 本願発明は、サービスファンクションチェイニングの技術によってユーザにサービスを提供するデータ転送装置およびデータ転送方法に関するものである。
 エンドツーエンドのサービスを柔軟に提供するため、サービスファンクションチェイニング(Service Function Chaining:SFC)が検討されている(非特許文献1)。SFCは、ネットワーク上に点在するサービス機能(Service Function:SF)を自由に組み合わせる技術であり、SFCを用いることでユーザごとに最適なサービスを提供することができる。
 SFCは主に柔軟なネットワークサービスを実現するために検討されているが、クラウドサービスに対しても有用な技術である。例えば非特許文献2には、SFCを用いた画像処理サービスとして、2種類の画像処理機能を組み合わせた映像監視サービスが開示されている。
 SFCを用いたネットワークでは、図8に示すように入り口の分類器(Classifier)10がユーザごとにパケット11にタグを付加し、サービス機能転送装置(Service Function Forwarder:SFF)12がタグに基づいて適切なSFにパケット11を転送する。図8の13はSFを実現するサーバ、14はユーザに対して提供されるSFを数珠つなぎにしたサービスチェインを表している。SFCにより、ユーザは自身の目的に応じたSFを組み合わせて独自のサービスを構築することができる。
 非特許文献3には、NSH(Network Service Header)を用いたSFCが提案されている.NSHを用いた方式では、図9に示すようなデータ構造を有するヘッダが用いられる。SFFは、パケットに付加されたNSHを参照し、サービスチェイン識別子(Service Path Identifier:SPI)とサービスチェイン内の現在地(Service Index:SI)によりパケットの転送先を制御する。SFでデータ処理を行う度にSIを更新することで、パケットはサービスチェイン内のSFを渡り歩くことができる。
RFC 7665 - Service Function Chaining (SFC) Architecture, Internet Engineering Task Force (IETF), October 2015, <https://datatracker.ietf.org/doc/html/rfc7665> 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> RFC 8300 - Network Service Header (NSH) Internet Engineering Task Force (IETF)、January 2018、<https://datatracker.ietf.org/doc/html/rfc8300)>
 コンピュータネットワークにおいては、TCP/IPプロトコルを利用した通信が主流になっているが、TCP/IPプロトコルはコンピュータ間を通信するためのものであり、サービスチェインについて考慮されていない。仮に、TCP/IPプロトコルを用いてSFCを実現すると、SFにおいてデータ処理を行った後、送り先を次のSFに書き換えなければならない。この処理のためにSFは計算資源を余計に消費し、さらにSF内の処理遅延が増加するためサービス性能に悪影響が生じる。
 一方、NSHを用いたSFCではパケットにサービスチェインに関する情報が付加されており、SFでの送り先情報の書き換えは不要である。図10A、図10Bは、NSHを用いたSFCおよびルーティングテーブルの構成例である。図10Bのルーティングテーブルには、サービスチェイン識別子(SPI)毎にサービスチェイン内の現在地(SI)とデータの転送先(直近の転送先であるネクストホップと出力ポート)が登録されている。図10Bのルーティングテーブルにおいては、サービスチェインごとにルーティング情報を保持する必要があるため、ルーティングテーブルが枯渇した場合には、新規のサービスチェインをルーティングすることができないという問題があった。
 本願発明は、上記課題を解決するためになされたものであり、ルーティングテーブルが枯渇した場合においても新規のサービスチェインをルーティングすることができるデータ転送装置を提供することを目的とする。
 本願発明のデータ転送装置は、受信したパケットに含まれるデータに対してサービス機能のデータ処理を行うように構成された少なくとも1つのデータ処理装置を配下に有し、ユーザが要求するサービスを実現するためのサービスチェインを構成する前記サービス機能に固有のサービス機能番号と、前記サービスチェインの識別情報とを含むタグを有するパケットを受信するパケット受信部と、前記サービスチェインのルート上のデータ転送装置に登録されているルーティングテーブルに基づいて、受信したパケットを配下の前記データ処理装置または他のデータ転送装置に転送する転送制御部とを備え、前記転送制御部は、受信したパケットの前記タグに含まれる前記サービス機能番号を用いて前記ルーティングテーブルからパケットの転送先候補を取得し、前記サービスチェインの前記識別情報に基づいて前記パケットの転送先を決定する。
 また、本願発明のデータ転送方法は、受信したパケットに含まれるデータに対してサービス機能のデータ処理を行うように構成された少なくとも1つのデータ処理装置を配下に有し、登録されているルーティングテーブルに基づいて、受信したパケットを配下の前記データ処理装置または他のデータ転送装置に転送するデータ転送装置におけるデータ転送方法であって、サービスチェインを構成する前記サービス機能に固有のサービス機能番号と前記サービスチェインの識別情報を含むタグを有するパケットを受信するステップと、受信したパケットの前記タグから前記サービスチェインの前記識別情報と前記サービス機能番号を取得するステップと、前記サービス機能番号を用いて前記ルーティングテーブルを検索し、前記パケットの転送先候補を取得するステップと、前記転送先候補と前記サービスチェインの識別情報を比較し、前記サービスチェインの識別情報が一致する転送先候補がある場合には、その転送先候補から転送先情報を取得するステップと、取得した前記転送先情報に基づいてパケットを出力するステップとを含む。
 本願発明のデータ転送装置およびデータ転送方法は、受信したパケットに付加されたサービス機能番号を用いてパケットの転送先候補を取得し、サービスチェインの識別情報に基づいてパケットの転送先を決定するように構成されているので、同じサービス機能を利用するサービスチェインをまとめて管理することができる。そのためルーティングテーブルが枯渇した場合においても、既知のサービス機能を利用する新規のサービスチェインをルーティングすることが可能となる。
図1は、本願発明の実施の形態に係るデータ転送装置を用いたデータ処理システムの構成例を示すブロック図である。 図2Aは、本願発明の実施の形態に係るデータ転送装置の動作を説明するための図である。 図2Bは、本願発明の実施の形態に係るデータ転送装置におけるルーティングテーブルの構成例を示す図である。 図3は、本願発明の実施の形態に係るデータ転送装置とデータ処理装置の構成例を示すブロック図である。 図4は、本願発明の実施の形態に係るデータ転送装置の動作を説明するためのフローチャートである。 図5は、本願発明の実施の形態に係るデータ転送装置の配下のデータ処理装置の動作を説明するためのフローチャートである。 図6は、本願発明の実施の形態に係るデータ転送装置におけるパケットのデータ構造を説明するための図である。 図7は、本願発明の実施の形態に係るデータ処理装置を実現するコンピュータの構成例を示すブロック図である。 図8は、従来のサービスファンクションチェイニングの構成例を説明するための図である。 図9は、従来のサービスファンクションチェイニングにおけるパケットのデータ構造を説明するための図である。 図10Aは、従来のサービスファンクションチェイニングの動作を説明するための図である。 図10Bは、従来のサービスファンクションチェイニングのルーティングテーブルの構成例を示す図である。
 以下、図面を参照して本願発明の実施の形態を説明する。但し、本願発明は、多くの異なる態様で実施することが可能であり、以下に説明する本願発明の実施の形態に限定して解釈すべきではない。
<データ転送装置を用いたデータ処理システム>
 図1は、本願発明の実施の形態に係るデータ転送装置を用いたデータ処理システムの構成例を示すブロック図である。データ処理システムは、サービスの利用を申請したユーザの情報の管理とユーザから受信したパケットの転送制御とを行うユーザ管理装置1-1~1-3と、パケットの転送を行う1乃至複数のデータ転送装置2-1~2-9と、受信したパケットに含まれるデータに対してSFのデータ処理を行うデータ処理装置3-1~3-13と、サービスチェインの全てのデータ処理が完了したパケットをユーザ宛に返送する外部送信装置4-1~4-3とを備えている。
 データ処理システムは、ユーザが要求するサービスの実現に必要なサービスチェインのルートを計算し、ルート情報をユーザ管理装置1-1~1-3に送信すると共に、計算したルート上のデータ転送装置2-1~2-9に登録されているルーティングテーブルを、ルート計算の結果に基づいて更新する通信管理装置5を備えている。
 データ処理装置3-1~3-13としては、CPU(Central Processing Unit)、FPGA(field-programmable gate array)、GPU(graphics processing units)、ASIC(Application Specific integrated circuit)などが含まれる。
 本実施の形態では、データ処理装置3-1~3-13によって実現されるSFを組み合わせてユーザごとにカスタマイズしたクラウドサービスを提供する。具体的には、データ転送装置2-1~2-9間で通信し、ユーザから送られてきたデータパケットを適切なSFに転送する。SFにおけるデータ処理が完了すると、さらに別のSFにデータパケットを転送してデータ処理を行う。これにより、本実施の形態では、ユーザごとに処理内容を変えることで、ユーザが要求するサービスを実現するためのサービスの組み合わせを提供する。
 データパケットが辿る通信経路をサービスチェインと呼ぶ。図1の14はサービスチェインの一例である。サービスチェインを複数のユーザが同時に利用すると、SFでデータが衝突し、適切な結果を保証することができない。そのため、本実施の形態のデータ処理システムでは、入り口のユーザ管理装置1-1~1-3でデータパケットを管理し、サービスチェインを1ユーザしか利用しないように制御している。
 ユーザ管理装置1-1~1-3は、データパケットへのタグ付加も行う。タグには、サービスチェインを構成するSFの組み合わせからなるルート情報(宛先情報)が記載されており、データ転送装置2-1~2-9は、付加されたタグを参照してパケットのルーティングを行い、パケットを目的のデータ処理装置のSFに向けて転送する。
 外部送信装置4-1~4-3は、データ処理済のデータをIPパケット化してユーザに送り返す。データ処理システム外における通信は、TCP/IPが世界標準的に利用されている。一方、サービスチェインのルーティングを行うデータ処理システム内では、タグを用いたパケット通信を行う。外部送信装置4-1~4-3は、データ処理システム内外のプロトコルの違いを吸収するために用いられる。
<データ転送装置における転送制御>
 本実施の形態のデータ転送装置は、パケットの転送データに付加されたサービスチェインを構成するサービス機能のサービス機能番号(SF番号)とサービスチェインの識別情報(UID)を参照してデータの転送先を制御する。SF番号は、各SFに割り当てたユニークな値であり、UIDは、ユーザのサービスチェインを識別するための値である。
 具体的には、SF番号を用いてデータの転送先(直近の転送先であるネクストホップと出力ポート)の候補を取得し、UIDを用いて転送先を絞り込むことで、パケットの転送先を決定する。ここで、複数のUIDをまとめて転送先を定義しても良い。UIDのまとめ方としては、UIDの共通部分でまとめたり、複数のUIDについてデフォルトの転送先を定義したりすること等が考えられるが、それらに限定されるものではない。
 図2Aは、本願発明の実施の形態に係るデータ転送装置の動作を説明するための図である。図2Aでは二人のユーザがSF1とSF2を組み合わせたサービスを利用しており、サービスチェインの識別情報として、一方のユーザのデータにUID=1、他方のユーザのデータにUID=2のタグが付加されている。また、どちらのユーザのサービスチェインもSF1とSF2を含んでいるため、パケットのタグのルート情報(宛先情報)にはSF番号1とSF番号2が記載されている。
 図2Aの例では、データ転送装置1とデータ転送装置2の間の帯域が逼迫しているため、サービスチェイン(UID)ごとに通信経路を変えている。同じサービス機能を利用するサービスチェインがあっても、UIDを利用してサービスチェイン毎に転送先を変えることもできる。
 図2Bは、本願発明の実施の形態に係るデータ転送装置におけるルーティングテーブルの構成例を示す図である。図2Bの構成例では、サービス機能のSF番号毎に、サービスチェインの識別情報であるUIDと、パケットの転送先情報として、直近の転送先であるネクストホップとパケットを出力するポートの番号とが関連付けて登録されている。本実施の形態のルーティングテーブルでは、同じSF(SF1、SF2)を利用するサービスチェイン(UID1、UID2)をまとめて管理している。
 データ転送装置1(2-10)は、先頭のSF番号が[1]のパケットを受信した場合、ルーティングテーブルにデフォルトの転送先しか登録されていないため、UIDに関係なく出力ポートI/F3からSF1に向けてデータを送信する。一方、先頭のSF番号が[2]のパケットを受信した場合には、2つの転送先候補からUIDに応じて1つの転送先に対応する出力ポートを選択し、I/F1もしくはI/F2からパケットを送信する。
 SF1においてデータ処理が行われると、SF番号はデータ処理を行った後にSF1において更新され、データ処理を行ったSF1のSF番号は削除される。これによりパケットに付加されたルート情報(宛先情報)の先頭のSF番号が変更されるので、データ処理後のパケットを受信したデータ転送装置1(2-10)は、受信したパケットを次のSFに送ることができる。
 このように、本実施の形態のデータ転送装置は、受信したパケットに付加されたSF番号を用いてパケットの転送先候補を取得し、サービスチェインの識別情報に基づいてパケットの転送先を決定するように構成されているので、同じSFを利用するサービスチェインをまとめて管理することができる。そのためルーティングテーブルが枯渇した場合においても、既知のサービス機能を利用する新規のサービスチェインをルーティングすることが可能となる。ただし、新規のサービスチェインによって転送先候補が増えないことが条件である。
<データ転送装置、データ処理装置の構成>
 図3はデータ転送装置2-8とデータ処理装置3-9、3-10の構成を示すブロック図である。図3の構成例では、データ転送装置2-8は、受信したパケットに含まれるデータに対してサービス機能のデータ処理を行うように構成されたデータ処理装置3-9、3-10を配下に有している。
 データ転送装置2-8は、パケット受信部200と、パケット送信部201と、パケット解析部202と、転送制御部203と、データ通信制御部204とから構成される。
 パケット受信部200は、ユーザ管理装置またはデータ転送装置からパケットを受信する。受信するパケットには、サービスチェインを構成するサービス機能に固有のサービス機能番号とサービスチェインの識別情報を含むタグが付加されている。
 転送制御部203は、予め登録されているルーティングテーブルに基づいて、受信したパケットを配下のデータ処理装置または他のデータ転送装置に転送するように構成されている。ルーティングテーブルは、サービスチェインのルート上のデータ転送装置に予め登録されている。転送制御部203は、受信したパケットに付加されたサービス機能番号を用いてパケットの転送先候補を取得し、この転送先候補からサービスチェインの識別情報に基づいてパケットの転送先を決定する。
 データ転送装置2-8の配下に接続されたデータ処理装置3-9、3-10は、それぞれパケット取得部300と、データ構築部301と、データ処理部302と、レジスタ管理部303と、パケット作成部304と、タグ更新部305とから構成される。
<データ転送装置、データ処理装置の動作>
 図4は、本願発明の実施の形態に係るデータ転送装置のデータ転送方法の動作を説明するためのフローチャートである。図5は、本願発明の実施の形態に係るデータ転送装置の配下のデータ処理装置の動作を説明するためのフローチャートである。
 図4のフローチャートにおいて、データ転送装置2-8のパケット受信部200がパケットを受信すると(ステップS1-1)、パケット解析部202は、受信したパケットを解析して、パケットに付加されているタグヘッダからUIDとSF番号を取得する(ステップS1-2、S1-3)。SF番号については、データに付加されている少なくとも1のSF番号から先頭のSF番号を取得し、取得したUIDとSF番号を受信したパケットとともに転送制御部203に送信する。
 転送制御部203は、取得したSF番号を用いてルーティングテーブルを検索し、データの転送先候補を取得する(ステップS1-4)。そして、取得した転送先候補と受信したパケットのUIDを比較し(ステップS1-5)、UIDが一致するものがあればその転送先候補から転送先(直近の転送先であるネクストホップと出力ポート)を取得する。ルーティングテーブルにUIDが一致するものがない場合には、そのSF番号に対応するデフォルトの転送先を取得する(ステップS1-6)。
 例えば、図3の構成例では、パケット解析部202から出力されたパケットをデータ通信制御部204経由でデータ処理装置3-9もしくは3-10に転送するか、またはパケット送信部201を介して隣接するデータ転送装置に転送するかを決定する。
 図5のフローチャートにおいて、パケット解析部202から出力されたパケットがデータ通信制御部204介してデータ処理装置3-9もしくは3-10に転送された場合、データ処理装置3-9または3-10のパケット取得部300は、データ転送装置2-8からパケットを受信し(ステップS2-1)、受信したパケットからペイロード部(処理対象データ等)を取り出す(ステップS2-2)。ここで、受信したデータパケットに付加されていたタグの情報は、処理後のデータをパケット化するためにパケット作成部304に送信される。
 データ処理装置3-9または3-10のデータ構築部301は、パケット取得部300において取得された複数のデータパケットのペイロードを組み合わせて元のデータを再構築する(ステップS2-3)。
 ここで、元のデータを構成する到着した複数のパケットの順序が入れ替わっている可能性があるため、データ構築部301は、パケット順序制御を行って、複数のパケットから取り出された処理対象データを正しい順番に並べ替える。このパケット順序制御は、パケットのタグに含まれるシーケンス番号に基づいて行うことができる。データ構築部301は、再構築されデータ処理可能となったデータをデータ処理部302に送信する。
 データ処理部302は、データ構築部301から受信したデータに対して所定のサービス機能のデータ処理を実行し、データ処理完了後のデータをパケット作成部304に送信する(ステップS2-4)。
 パケット作成部304は、受信したデータパケットに付加されていたタグの情報を用いて、データ処理部302から受信したデータをパケット化し、生成したパケットをタグ更新部305に送信する(ステップS2-5)。
 タグ更新部305は、パケット作成部304から受信したパケットに付加されているタグに含まれるSF番号のルート情報(宛先情報)を参照し、データ処理を行ったSF(データ処理装置3-9または3-10内)がサービスチェインのルートから除かれるように、タグに含まれるルート情報を更新して(ステップS2-6)、ルート情報が更新されたパケットをデータ転送装置2-8に送信する(ステップS2-7)。
 図5のフローチャートには明示していないが、データ処理装置3-9または3-10のレジスタ管理部303は、タグデータからのパラメータの取得とデータ処理装置への登録を行う。具体的には、レジスタ管理部303は、ユーザ管理装置から受信パケットのタグを介してSFの処理に必要なユーザ固有のパラメータを取得して、取得したパラメータをデータ処理部302に登録する。このパラメータは、ユーザごと(UIDごと)にデータ処理部における処理を変えたい場合等に用いることができる。
 データ処理部302は、レジスタ管理部303によって登録されたパラメータのうち、パケット取得部300が取得したUIDに対応するパラメータを用いて、データ構築部301から受信したデータに対して所定のサービス機能のデータ処理を実行する。
 データ転送装置2-8は、データ処理装置3-9もしくは3-10からデータ処理済のパケットを受信した場合、上述したユーザ管理装置またはデータ転送装置からパケットを受信した場合と同様にしてルーティングテーブルに基づくパケット転送制御を行う。
 データ通信制御部204を介してデータ処理装置3-9もしくは3-10からデータ処理済のパケットを受信した場合(ステップS1-1)、パケット解析部202は、データ処理装置3-9または3-10から受信したパケットを解析して、パケットに付加されているタグからUIDとSF番号を取得し、取得したUIDとSF番号と受信したパケットを転送制御部203に出力する(ステップS1-2、S1-3)。
 転送制御部203は、上述したパケット受信部200からパケットを受信した場合と同様にして、SF番号を用いてルーティングテーブルを検索し、データの転送先候補を取得する。そして、転送先候補と受信したデータのUIDを比較し、UIDが一致するものがあればその転送先候補から転送先(直近の転送先であるネクストホップと出力ポート)を取得する。それ以外の場合には、そのSF番号に対応するデフォルトの転送先を取得する。
 図3の構成例では、上述したパケット受信部200からパケットを受信した場合と同様にして、パケット解析部202から出力されたパケットをデータ通信制御部204経由でデータ処理装置3-9もしくは3-10に転送するか、またはパケット送信部201を介して隣接するデータ転送装置に転送するかを決定する。ここで、上述したように、タグ更新部305によるタグの更新により、データ処理済のデータ処理装置3-9または3-10のSF番号がサービスチェインのルート情報から除かれているので、処理完了済みのデータ処理装置(SF)が転送先として選択されることはない。
 図3の構成例のように、複数のデータ処理装置3-9、3-10を並列にデータ転送装置2-8に接続すれば、少ないオーバヘッドで各データ処理装置3-9、3-10にアクセスすることが可能である。また、データ処理装置3-9、3-10をデータ転送装置2-8と独立させることで、既存のデータ処理装置3-9、3-10とデータ転送装置2-8との通信を阻害することなく、新たなデータ処理装置の追加と削除が可能である。
 なお、図3、図4、図5の例では、データ転送装置2-8、データ処理装置3-9、3-10を例に挙げて説明しているが、図1のデータ転送装置2-1~2-7、2-9の構成と動作はデータ転送装置2-8と同様であり、データ処理装置3-1~3-8、3-11~3-13の構成と動作はデータ処理装置3-9、3-10と同様である。
<データ構造>
 図6は、本願発明の実施の形態に係るデータ転送装置におけるデータ構造の構成例を示す図である。本願発明の実施の形態に係るサービスファンクションチェイニングシステム内で転送される転送データは、プロトコル情報、データ属性、宛先情報(ルート情報)を含むタグヘッダ407とデータ処理の対象となる処理対象データ403で構成することができる。
 タグヘッダ407のプロトコル情報には、TTL(Time to Live)やヘッダチェックサムなどデータ破棄に関連する情報や、データタイプやヘッダ長などタグヘッダの構成に関する情報を設定することができる。
 タグヘッダ407のデータ属性には、サービスチェインを識別するためのUIDを設定することができる。また、クラウドサービスを利用するユーザは処理対象データを複数のパケットに分割して送ってくることがあるため、SFが処理対象データの区切りを認識するための先頭/末尾フラグと、処理対象データの順番が入れ替わった時に正しい順番に並び替えるために使用するシーケンス番号を設定することができる。
 サービスチェインのルート情報として少なくとも1つの宛先情報(SF)が含まれる。宛先情報には、サービスチェインを構成する宛先のサービス機能番号(SF番号)が、サービスチェインにおけるデータ処理の順番に配置されている。宛先情報には、SF番号に加えて、SFに向けたメタデータを設定することができる。宛先情報にメタデータ長を設定することで、任意の長さのメタデータを設定することができる。
 メタデータの使い方の一つに、図3において説明したレジスタ管理部303によるデータ処理装置(SF)のパラメータの登録や更新が考えられる。複数のサービスチェインがSFを共有している場合、サービスチェインに応じてSFのパラメータを変えたい場合がある。このとき宛先情報のメタデータにパラメータを設定することで、サービスチェインに応じて各SFにパラメータを登録することができる。SFは、タグヘッダのプロトコル情報のデータタイプによってそのデータが処理対象データかパラメータかを判別することができる。
 図6の構成例のように、上記のデータをイーサネットフレームでカプセル化してもよい。イーサネットフレームを利用してL2スイッチを介して通信することで、データ転送装置の1つのポートに複数のSFを接続して、データ転送装置の出力ポート数を超えた接続を実現することができる。
 本実施の形態で説明したデータ転送装置2-1~2-9とデータ処理装置3-1~3-13は、CPU(またはGPU)、記憶装置及びインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。
 このコンピュータの構成例を図7に示す。コンピュータは、CPU500(またはGPU)と、記憶装置501と、インタフェース装置502とを備えている。このようなコンピュータにおいて、本願発明のデータ処理方法を実現させるためのプログラムは、記憶装置501に格納される。各装置のCPU500(またはGPU)は、記憶装置501に格納されたプログラムに従って本実施の形態で説明した処理を実行する。
 データ転送装置2-1~2-9とデータ処理装置3-1~3-13,ユーザ管理装置1-1~1-3,外部送信装置4-1~4-3の少なくとも一部をFPGAもしくはASICによって構成してもよい。特に、パケット処理およびデータ処理の一部をこれらのハードウェアで実行することで処理性能の向上が期待できる。
 このように、本実施の形態のデータ転送装置は、受信したパケットに付加されたサービス機能番号を用いてパケットの転送先候補を取得し、サービスチェインの識別情報に基づいてパケットの転送先を決定するように構成されているので、同じサービスファンクションを利用するサービスチェインをまとめて管理することができる。そのためルーティングテーブルが枯渇した場合においても、既知のサービス機能を利用する新規のサービスチェインをルーティングすることが可能となる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)本発明のデータ転送装置は、受信したパケットに含まれるデータに対してサービス機能のデータ処理を行うように構成された少なくとも1つのデータ処理装置を配下に有し、ユーザが要求するサービスを実現するためのサービスチェインを構成する前記サービス機能に固有のサービス機能番号と、前記サービスチェインの識別情報とを含むタグを有するパケットを受信するパケット受信部と、前記サービスチェインのルート上のデータ転送装置に登録されているルーティングテーブルに基づいて、受信したパケットを配下の前記データ処理装置または他のデータ転送装置に転送する転送制御部とを備え、前記転送制御部は、受信したパケットの前記タグに含まれる前記サービス機能番号を用いて前記ルーティングテーブルからパケットの転送先候補を取得し、前記サービスチェインの前記識別情報に基づいて前記パケットの転送先を決定する。
 (付記2)付記1に記載のデータ転送装置において、前記転送制御部は、受信したパケットを配下の前記データ処理装置に転送した場合に、前記データ処理装置においてデータ処理が完了したパケットの更新された前記サービス機能番号の情報を用いて、前記パケットの転送先を決定する。
 (付記3)付記1または2に記載のデータ転送装置において、前記ルーティングテーブルは、前記サービス機能に固有のサービス機能番号毎に、前記サービスチェインの識別情報と、パケットの転送先情報とが関連付けて登録されている。
 (付記4)付記1から3の何れかに記載のデータ転送装置において、前記パケットは、前記データ処理の対象となる処理対象データと、少なくとも1つの前記サービス機能番号を含む前記サービスチェインのルート情報と、前記サービスチェインの識別情報を含む前記タグを含み、前記タグは、前記サービス機能が前記処理対象データの区切りを認識するためのフラグと、前記処理対象データの順番が入れ替わった場合に、前記処理対象データを正しい順番に並び替えるためのシーケンス番号を含み、前記ルート情報は、前記サービス機能番号が、前記サービスチェインにおける前記データ処理の順番に配置されている。
 (付記5)本発明のデータ転送方法において、受信したパケットに含まれるデータに対してサービス機能のデータ処理を行うように構成された少なくとも1つのデータ処理装置を配下に有し、登録されているルーティングテーブルに基づいて、受信したパケットを配下の前記データ処理装置または他のデータ転送装置に転送するデータ転送装置におけるデータ転送方法であって、サービスチェインを構成する前記サービス機能に固有のサービス機能番号と前記サービスチェインの識別情報を含むタグを有するパケットを受信するステップと、受信したパケットの前記タグから前記サービスチェインの前記識別情報と前記サービス機能番号を取得するステップと、前記サービス機能番号を用いて前記ルーティングテーブルを検索し、前記パケットの転送先候補を取得するステップと、前記転送先候補と前記サービスチェインの識別情報を比較し、前記サービスチェインの識別情報が一致する転送先候補がある場合には、その転送先候補から転送先情報を取得するステップと、取得した前記転送先情報に基づいてパケットを出力するステップとを含む。
 (付記6)付記5に記載のデータ転送方法において、前記転送先情報を取得するステップは、受信したパケットを配下の前記データ処理装置に転送した場合に、前記データ処理装置においてデータ処理が完了したパケットの更新された前記サービス機能番号の情報を用いて、前記パケットの転送先を決定する。
 (付記7)付記5または6に記載のデータ転送方法において、前記ルーティングテーブルは、前記サービス機能に固有のサービス機能番号毎に、前記サービスチェインの識別情報と、パケットの転送先情報とが関連付けて登録されている。
 (付記8)付記5から7の何れかに記載のデータ転送方法において、前記パケットは、前記データ処理の対象となる処理対象データと、少なくとも1つの前記サービス機能番号を含む前記サービスチェインのルート情報と、前記サービスチェインの識別情報を含む前記タグを含み、前記タグは、前記サービス機能が前記処理対象データの区切りを認識するためのフラグと、前記処理対象データの順番が入れ替わった場合に、前記処理対象データを正しい順番に並び替えるためのシーケンス番号を含み、前記ルート情報は、前記サービス機能番号が、前記サービスチェインにおける前記データ処理の順番に配置されている。
 本願発明は、サービスファンクションチェイニング技術に適用することができる。
 1-1~1-3…ユーザ管理装置、2-1~2-12…データ転送装置、3-1~3-15…データ処理装置、4-1~4-6…外部送信装置、5…通信管理装置、6…ロードバランサ、200…パケット受信部、201…パケット送信部、202…パケット解析部、203…転送制御部、204…データ通信制御部、300…パケット取得部、301…データ構築部、302…データ処理部、303…レジスタ管理部、304…パケット作成部、305…タグ更新部。

Claims (8)

  1.  受信したパケットに含まれるデータに対してサービス機能のデータ処理を行うように構成された少なくとも1つのデータ処理装置を配下に有し、
     ユーザが要求するサービスを実現するためのサービスチェインを構成する前記サービス機能に固有のサービス機能番号と、前記サービスチェインの識別情報とを含むタグを有するパケットを受信するパケット受信部と、
     前記サービスチェインのルート上のデータ転送装置に登録されているルーティングテーブルに基づいて、受信したパケットを配下の前記データ処理装置または他のデータ転送装置に転送する転送制御部と
     を備え、
     前記転送制御部は、受信したパケットの前記タグに含まれる前記サービス機能番号を用いて前記ルーティングテーブルからパケットの転送先候補を取得し、前記サービスチェインの前記識別情報に基づいて前記パケットの転送先を決定する
     データ転送装置。
  2.  前記転送制御部は、
     受信したパケットを配下の前記データ処理装置に転送した場合に、前記データ処理装置においてデータ処理が完了したパケットの更新された前記サービス機能番号の情報を用いて、前記パケットの転送先を決定する
     請求項1記載のデータ転送装置。
  3.  前記ルーティングテーブルは、
     前記サービス機能に固有のサービス機能番号毎に、前記サービスチェインの識別情報と、パケットの転送先情報とが関連付けて登録されている
     請求項1または2に記載のデータ転送装置。
  4.  前記パケットは、
     前記データ処理の対象となる処理対象データと、少なくとも1つの前記サービス機能番号を含む前記サービスチェインのルート情報と、前記サービスチェインの識別情報を含む前記タグを含み、
     前記タグは、
     前記サービス機能が前記処理対象データの区切りを認識するためのフラグと、前記処理対象データの順番が入れ替わった場合に、前記処理対象データを正しい順番に並び替えるためのシーケンス番号を含み、
     前記ルート情報は、
     前記サービス機能番号が、前記サービスチェインにおける前記データ処理の順番に配置されている
     請求項1から3の何れか1項に記載のデータ転送装置。
  5.  受信したパケットに含まれるデータに対してサービス機能のデータ処理を行うように構成された少なくとも1つのデータ処理装置を配下に有し、登録されているルーティングテーブルに基づいて、受信したパケットを配下の前記データ処理装置または他のデータ転送装置に転送するデータ転送装置におけるデータ転送方法であって、
     サービスチェインを構成する前記サービス機能に固有のサービス機能番号と前記サービスチェインの識別情報を含むタグを有するパケットを受信するステップと、
     受信したパケットの前記タグから前記サービスチェインの前記識別情報と前記サービス機能番号を取得するステップと、
     前記サービス機能番号を用いて前記ルーティングテーブルを検索し、前記パケットの転送先候補を取得するステップと、
     前記転送先候補と前記サービスチェインの識別情報を比較し、前記サービスチェインの識別情報が一致する転送先候補がある場合には、その転送先候補から転送先情報を取得するステップと、
     取得した前記転送先情報に基づいてパケットを出力するステップと
     を含むデータ転送方法。
  6.  前記転送先情報を取得するステップは、
     受信したパケットを配下の前記データ処理装置に転送した場合に、前記データ処理装置においてデータ処理が完了したパケットの更新された前記サービス機能番号の情報を用いて、前記パケットの転送先を決定する
      請求項5記載のデータ転送方法。
  7.  前記ルーティングテーブルは、
     前記サービス機能に固有のサービス機能番号毎に、前記サービスチェインの識別情報と、パケットの転送先情報とが関連付けて登録されている
     請求項5または6に記載のデータ転送方法。
  8.  前記パケットは、
     前記データ処理の対象となる処理対象データと、少なくとも1つの前記サービス機能番号を含む前記サービスチェインのルート情報と、前記サービスチェインの識別情報を含む前記タグを含み、
     前記タグは、
     前記サービス機能が前記処理対象データの区切りを認識するためのフラグと、前記処理対象データの順番が入れ替わった場合に、前記処理対象データを正しい順番に並び替えるためのシーケンス番号を含み、
     前記ルート情報は、
     前記サービス機能番号が、前記サービスチェインにおける前記データ処理の順番に配置されている
     請求項5から7の何れか1項に記載のデータ転送方法。
PCT/JP2022/041555 2021-11-12 2022-11-08 データ転送装置およびデータ転送方法 Ceased WO2023085267A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/705,352 US20250227062A1 (en) 2021-11-12 2022-11-08 Data transfer device and data transfer method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-184730 2021-11-12
JP2021184730A JP7676294B2 (ja) 2021-11-12 2021-11-12 データ転送装置およびデータ転送方法

Publications (1)

Publication Number Publication Date
WO2023085267A1 true WO2023085267A1 (ja) 2023-05-19

Family

ID=86335740

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/041555 Ceased WO2023085267A1 (ja) 2021-11-12 2022-11-08 データ転送装置およびデータ転送方法

Country Status (3)

Country Link
US (1) US20250227062A1 (ja)
JP (1) JP7676294B2 (ja)
WO (1) WO2023085267A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9967175B2 (en) * 2014-02-14 2018-05-08 Futurewei Technologies, Inc. Restoring service functions after changing a service chain instance path
US9979645B2 (en) * 2015-01-14 2018-05-22 Futurewei Technologies, Inc. Hardware and software methodologies for creating and managing portable service function chains

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FUKUOKA, AKI: "A Service Chain Routing Method under Virtualized CPE/SGW Environments", PROCEEDINGS OF THE 2016 IEICE GENERAL CONFERENCE COMMUNICATION 2; MARCH 15-18, 2016, IEICE, JP, 1 March 2016 (2016-03-01) - 18 March 2016 (2016-03-18), JP, pages 51, XP009545616 *
KONOMI MOCHIZUKI, SHUNSUKE HOMMA, KOJI SUGISONO, HIROFUMI YAMAZAKI, TOSHINORI KIKUCHI, AKEO MASUDA, KENGO NAITO, HIROYUKI KITADA, : "Service Chaining Method to Satisfy the Carrier Requirements for Network Functions Virtualization", IEICE TECHNICAL REPORT, NS, IEICE, JP, vol. 114, no. 206 (NS2014-98), 4 September 2014 (2014-09-04), JP, pages 113 - 118, XP009545606 *

Also Published As

Publication number Publication date
JP7676294B2 (ja) 2025-05-14
US20250227062A1 (en) 2025-07-10
JP2023072287A (ja) 2023-05-24

Similar Documents

Publication Publication Date Title
US10887220B2 (en) Application identifier in service function chain metadata
US8873563B2 (en) Techniques for next-hop optimization
US7420979B2 (en) VLAN server
US9270566B2 (en) Monitoring server load balancing
US11909668B2 (en) Programmable packet data processing system
US9450870B2 (en) System and method for flow management in software-defined networks
CN111107001B (zh) 网络中分段源路由的方法及存储介质
CN107786437B (zh) 报文转发方法及装置
US20130286844A1 (en) Information system, control apparatus, communication method, and program
JP2006506858A (ja) 多数の論理サブ送信システムの機能性を持つ送信システム
JP6544401B2 (ja) パケット転送装置、制御装置、通信システム、通信方法及びプログラム
US10498669B2 (en) Communication system, switch, controller, ancillary data management apparatus, data forwarding method, and program
JP5888338B2 (ja) 通信システムおよび通信方法
WO2015125804A1 (ja) 通信システム、制御装置、通信制御方法、および、プログラム
EP3518113B1 (en) Transfer device for a content distribution system
US9385951B2 (en) Apparatus and method for controlling packet transfer based on registered destination information
JP7676294B2 (ja) データ転送装置およびデータ転送方法
JP7789529B2 (ja) データ処理システムおよびデータ処理方法
US12388676B2 (en) Data transfer device, data processing device and data processing method
US20130188647A1 (en) Computer system fabric switch having a blind route
WO2017207039A1 (en) Software defined networking system for distiguishing packet-in messages
JP2003188936A (ja) パケット処理装置とそのパケット転送方法
CN103098431B (zh) 计算机系统结构交换机
US10715440B1 (en) Distributed next hop resolution
JP2026034958A (ja) データ処理装置、およびデータ処理方法

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18705352

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22892765

Country of ref document: EP

Kind code of ref document: A1

WWP Wipo information: published in national office

Ref document number: 18705352

Country of ref document: US